@templatical/media-library 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/chunks/de-DfD_hnV5.js +2 -0
- package/dist/cdn/chunks/de-DfD_hnV5.js.map +1 -0
- package/dist/cdn/chunks/en-DJUYNOeL.js +2 -0
- package/dist/cdn/chunks/en-DJUYNOeL.js.map +1 -0
- package/dist/cdn/chunks/icons-Ccy3Ecl_.js +2 -0
- package/dist/cdn/chunks/icons-Ccy3Ecl_.js.map +1 -0
- package/dist/cdn/media-library.css +1 -0
- package/dist/cdn/media-library.js +17 -0
- package/dist/cdn/media-library.js.map +1 -0
- package/dist/de-BULkjF_s.js +87 -0
- package/dist/en-ivlOqPuR.js +87 -0
- package/dist/templatical-media-library.css +2 -1
- package/dist/templatical-media-library.js +3025 -3405
- package/dist/templatical-media-library.umd.cjs +4 -4
- package/package.json +13 -9
- package/dist/de-1v2LO7XG.js +0 -89
- package/dist/en-mipcUdaJ.js +0 -89
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
(function(q,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@templatical/core/cloud"),require("vue"),require("lucide-vue-next"),require("vue-advanced-cropper"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","@templatical/core/cloud","vue","lucide-vue-next","vue-advanced-cropper","@vueuse/core"],L):(q=typeof globalThis<"u"?globalThis:q||self,L(q.TemplaticalMediaLibrary={},q.TemplaticalCoreCloud,q.Vue,q.LucideVueNext,q.VueAdvancedCropper,q.VueUseCore))})(this,(function(q,L,e,V,Le,te){"use strict";class ke{constructor(o){this.authManager=o}get projectId(){return this.authManager.projectId}get tenantSlug(){return this.authManager.tenantSlug}get baseParams(){return{project:this.projectId,tenant:this.tenantSlug}}async request(o,l={}){const a=await this.authManager.authenticatedFetch(o,{...l,headers:{"Content-Type":"application/json",Accept:"application/json",...l.headers}});if(!a.ok){const i=await a.json().catch(()=>({message:`HTTP error ${a.status}`}));throw new Error(i.message)}return a.status===204?void 0:(await a.json()).data}async browseMedia(o){const l=new URLSearchParams;o.folder_id&&l.set("folder_id",o.folder_id),o.search&&l.set("search",o.search),o.category&&l.set("category",o.category),o.sort&&l.set("sort",o.sort),o.cursor&&l.set("cursor",o.cursor);const a=l.toString(),r=`${L.buildUrl(L.API_ROUTES["media.browse"],this.baseParams)}${a?`?${a}`:""}`,i=await this.authManager.authenticatedFetch(r,{headers:{Accept:"application/json"}});if(!i.ok){const d=await i.json().catch(()=>({message:`HTTP error ${i.status}`}));throw new Error(d.message)}return i.json()}async uploadMedia(o,l){const a=new FormData;a.append("file",o),l&&a.append("folder_id",l);const r=L.buildUrl(L.API_ROUTES["media.upload"],this.baseParams),i=await this.authManager.authenticatedFetch(r,{method:"POST",headers:{Accept:"application/json"},body:a});if(!i.ok){const m=await i.json().catch(()=>({message:`HTTP error ${i.status}`}));throw new Error(m.message)}return(await i.json()).data}async updateMedia(o,l,a){return this.request(L.buildUrl(L.API_ROUTES["media.update"],{...this.baseParams,media:o}),{method:"PUT",body:JSON.stringify({filename:l,alt_text:a})})}async deleteMedia(o){return this.request(L.buildUrl(L.API_ROUTES["media.delete"],this.baseParams),{method:"POST",body:JSON.stringify({ids:o})})}async moveMedia(o,l){return this.request(L.buildUrl(L.API_ROUTES["media.move"],this.baseParams),{method:"POST",body:JSON.stringify({ids:o,folder_id:l})})}async getMediaFolders(){return this.request(L.buildUrl(L.API_ROUTES["folders.index"],this.baseParams))}async createMediaFolder(o,l){return this.request(L.buildUrl(L.API_ROUTES["folders.store"],this.baseParams),{method:"POST",body:JSON.stringify({name:o,parent_id:l??null})})}async renameMediaFolder(o,l){return this.request(L.buildUrl(L.API_ROUTES["folders.update"],{...this.baseParams,mediaFolder:o}),{method:"PUT",body:JSON.stringify({name:l})})}async deleteMediaFolder(o){return this.request(L.buildUrl(L.API_ROUTES["folders.destroy"],{...this.baseParams,mediaFolder:o}),{method:"DELETE"})}async checkMediaUsage(o){const l=await this.authManager.authenticatedFetch(L.buildUrl(L.API_ROUTES["media.checkUsage"],this.baseParams),{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({ids:o})});if(!l.ok){const a=await l.json().catch(()=>({message:`HTTP error ${l.status}`}));throw new Error(a.message)}return l.json()}async getFrequentlyUsed(){return this.request(L.buildUrl(L.API_ROUTES["media.frequentlyUsed"],this.baseParams))}async importFromUrl(o,l){return this.request(L.buildUrl(L.API_ROUTES["media.importFromUrl"],this.baseParams),{method:"POST",body:JSON.stringify({url:o,folder_id:l??null})})}async replaceMedia(o,l){const a=new FormData;a.append("file",l);const r=L.buildUrl(L.API_ROUTES["media.replace"],{...this.baseParams,media:o}),i=await this.authManager.authenticatedFetch(r,{method:"POST",headers:{Accept:"application/json"},body:a});if(!i.ok){const m=await i.json().catch(()=>({message:`HTTP error ${i.status}`}));throw new Error(m.message)}return(await i.json()).data}}function ye(t){if(!t.projectId)throw new Error("projectId is required for useMediaLibrary");const o=new ke(t.authManager),l=e.ref([]),a=e.ref([]),r=e.ref(null),i=e.ref("files"),d=e.ref(""),m=e.ref(null),p=e.ref("newest"),g=e.ref(!1),u=e.ref(!1),x=e.ref(!1),k=e.ref(null),C=e.ref(null),n=e.ref(new Set),f=e.ref(null),B=e.ref([]),s=e.ref({}),v=e.ref(!1),M=e.ref([]),U=e.ref(!1),c=e.ref(null),W=e.ref(!1),P=e.ref(null),D=e.ref(!1),R=e.ref(null),O=e.ref(null);async function A(){var h;g.value=!0;try{const y=await o.browseMedia({folder_id:d.value?void 0:r.value,search:d.value||void 0,category:m.value||void 0,sort:p.value!=="newest"?p.value:void 0});l.value=y.data,k.value=y.meta.next_cursor,x.value=!!y.meta.next_cursor}catch(y){(h=t.onError)==null||h.call(t,y)}finally{g.value=!1}}async function Z(){var h;if(!(!x.value||!k.value||g.value)){g.value=!0;try{const y=await o.browseMedia({folder_id:d.value?void 0:r.value,search:d.value||void 0,category:m.value||void 0,sort:p.value!=="newest"?p.value:void 0,cursor:k.value});l.value=[...l.value,...y.data],k.value=y.meta.next_cursor,x.value=!!y.meta.next_cursor}catch(y){(h=t.onError)==null||h.call(t,y)}finally{g.value=!1}}}async function z(h){d.value=h,await A()}async function I(h){m.value=h,await A()}async function H(h){p.value=h,await A()}async function J(h){i.value="files",r.value=h,d.value="",n.value=new Set,f.value=null,await A()}async function Q(){i.value="frequently-used",r.value=null,d.value="",n.value=new Set,f.value=null,await se()}async function G(h){var y;u.value=!0;try{const N=await o.uploadMedia(h,r.value);return l.value=[N,...l.value],N}catch(N){return(y=t.onError)==null||y.call(t,N),null}finally{u.value=!1}}async function j(h){var y;u.value=!0,C.value={current:0,total:h.length};try{for(let N=0;N<h.length;N++){C.value={current:N+1,total:h.length};try{const S=await o.uploadMedia(h[N],r.value);l.value=[S,...l.value]}catch(S){(y=t.onError)==null||y.call(t,S)}}}finally{u.value=!1,C.value=null}}async function X(h){var y;if(n.value.size!==0)try{const N=await o.moveMedia([...n.value],h);if(r.value===null){const S=new Map(N.map(T=>[T.id,T]));l.value=l.value.map(T=>S.get(T.id)??T)}else l.value=l.value.filter(S=>!n.value.has(S.id));n.value=new Set,f.value=null}catch(N){(y=t.onError)==null||y.call(t,N)}}async function le(h,y,N){var S,T;try{const ee=await o.updateMedia(h,y,N);l.value=l.value.map(De=>De.id===h?ee:De),((S=f.value)==null?void 0:S.id)===h&&(f.value=ee)}catch(ee){(T=t.onError)==null||T.call(t,ee)}}async function pe(){var h;if(n.value.size!==0)try{await o.deleteMedia([...n.value]),l.value=l.value.filter(y=>!n.value.has(y.id)),B.value=B.value.filter(y=>!n.value.has(y.id)),n.value=new Set,f.value=null}catch(y){(h=t.onError)==null||h.call(t,y)}}async function se(){var h;try{B.value=await o.getFrequentlyUsed()}catch(y){(h=t.onError)==null||h.call(t,y)}}async function oe(){var h;if(n.value.size===0)return!1;M.value=[...n.value];try{const y=await o.checkMediaUsage(M.value);s.value=y.data;const N=Object.values(y.data).some(S=>S.template_count>0);return v.value=!0,N}catch(y){return(h=t.onError)==null||h.call(t,y),!1}}async function re(){var h;if(v.value=!1,M.value.length!==0)try{await o.deleteMedia(M.value),l.value=l.value.filter(y=>!M.value.includes(y.id)),B.value=B.value.filter(y=>!M.value.includes(y.id)),n.value=new Set,f.value=null,M.value=[],s.value={}}catch(y){(h=t.onError)==null||h.call(t,y)}}function w(){v.value=!1,M.value=[],s.value={}}async function E(h){var y;U.value=!0,c.value=null;try{const N=await o.importFromUrl(h,r.value);return l.value=[N,...l.value],N}catch(N){return c.value=N instanceof Error?N.message:"Import failed",(y=t.onError)==null||y.call(t,N),null}finally{U.value=!1}}function F(h){const y=new Set(n.value);y.has(h)?y.delete(h):y.add(h),n.value=y}function Y(){n.value=new Set,f.value=null}function ce(h){f.value=h,n.value=new Set([h.id])}async function ae(){var h;try{a.value=await o.getMediaFolders()}catch(y){(h=t.onError)==null||h.call(t,y)}}async function b(h,y){var N;try{const S=await o.createMediaFolder(h,y);return await ae(),S}catch(S){return(N=t.onError)==null||N.call(t,S),null}}function _(h,y){for(const N of h){if(N.id===y)return N;if(N.children){const S=_(N.children,y);if(S)return S}}return null}async function de(h,y){var N;try{await o.renameMediaFolder(h,y),await ae()}catch(S){(N=t.onError)==null||N.call(t,S)}}async function $(h){var y;try{const N=_(a.value,h),S=(N==null?void 0:N.parent_id)??null;await o.deleteMediaFolder(h),r.value===h&&(r.value=S),await ae(),await A()}catch(N){(y=t.onError)==null||y.call(t,N)}}async function me(h){var y;R.value=h,P.value=null;try{const N=await o.checkMediaUsage([h.id]);O.value=N.data[h.id]??null,D.value=!0}catch(N){(y=t.onError)==null||y.call(t,N)}}function ue(){D.value=!1,R.value=null,O.value=null,P.value=null}async function be(h){var y,N;if(!R.value)return null;W.value=!0,P.value=null;try{const S=await o.replaceMedia(R.value.id,h);return l.value=l.value.map(T=>T.id===S.id?S:T),B.value=B.value.map(T=>T.id===S.id?S:T),((y=f.value)==null?void 0:y.id)===S.id&&(f.value=S),D.value=!1,R.value=null,O.value=null,S}catch(S){return P.value=S instanceof Error?S.message:"Replace failed",(N=t.onError)==null||N.call(t,S),null}finally{W.value=!1}}async function Oo(h,y){var N,S;try{const T=await o.replaceMedia(h,y);return l.value=l.value.map(ee=>ee.id===T.id?T:ee),B.value=B.value.map(ee=>ee.id===T.id?T:ee),((N=f.value)==null?void 0:N.id)===T.id&&(f.value=T),T}catch(T){return(S=t.onError)==null||S.call(t,T),null}}return{items:l,folders:a,currentFolderId:r,viewMode:i,searchQuery:d,categoryFilter:m,sortOption:p,isLoading:g,isUploading:u,uploadProgress:C,hasMore:x,selectedItems:n,previewItem:f,frequentlyUsedItems:B,deleteUsageInfo:s,showDeleteWarning:v,loadItems:A,loadMore:Z,search:z,filterByCategory:I,sortBy:H,navigateToFolder:J,showFrequentlyUsed:Q,uploadFile:G,uploadFiles:j,moveSelected:X,updateFile:le,deleteSelected:pe,isImportingFromUrl:U,importFromUrlError:c,importFromUrl:E,toggleSelection:F,clearSelection:Y,selectItem:ce,loadFolders:ae,createFolder:b,renameFolder:de,deleteFolder:$,findFolderInTree:_,loadFrequentlyUsed:se,checkUsageBeforeDelete:oe,confirmDelete:re,cancelDelete:w,isReplacing:W,replaceError:P,showReplaceWarning:D,pendingReplaceItem:R,replaceUsageInfo:O,checkUsageBeforeReplace:me,cancelReplace:ue,replaceFile:be,replaceMediaDirectly:Oo}}function K(t){const o=t??e.inject("translations"),l=e.isRef(o)?o.value:o;function a(r,i){return r.replace(/\{(\w+)\}/g,(d,m)=>m in i?String(i[m]):`{${m}}`)}return{t:l,format:a}}const Ie={key:0,class:"tpl:flex tpl:items-center tpl:gap-1 tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},ze=["onClick"],Ue={key:1,style:{color:"var(--tpl-text)"}},xe=e.defineComponent({__name:"MediaBreadcrumb",props:{folders:{},currentFolderId:{}},emits:["navigate"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=e.computed(()=>{if(!l.currentFolderId)return[];const m=[];return d(l.folders,l.currentFolderId,m),m});function d(m,p,g){for(const u of m){if(u.id===p)return g.push(u),!0;if(u.children&&d(u.children,p,g))return g.unshift(u),!0}return!1}return(m,p)=>i.value.length>0?(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("button",{class:"tpl:transition-colors tpl:duration-150 tpl:hover:underline",style:{color:"var(--tpl-primary)"},onClick:p[0]||(p[0]=g=>a("navigate",null))},e.toDisplayString(e.unref(r).mediaLibrary.allFiles),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(g,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.id},[e.createVNode(e.unref(V.ChevronRight),{size:12,"stroke-width":2}),u<i.value.length-1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:transition-colors tpl:duration-150 tpl:hover:underline",style:{color:"var(--tpl-primary)"},onClick:x=>a("navigate",g.id)},e.toDisplayString(g.name),9,ze)):(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(g.name),1))],64))),128))])):e.createCommentVNode("",!0)}});function ne(){const t=e.inject("planConfig"),o=e.computed(()=>{var x;return((x=t.config.value)==null?void 0:x.media)??null}),l=e.computed(()=>{var x;return((x=o.value)==null?void 0:x.use_media_library)??!0}),a=e.computed(()=>{var x;return((x=o.value)==null?void 0:x.categories)??null}),r=e.computed(()=>a.value?Object.values(a.value).flatMap(x=>x.mime_types):[]),i=e.computed(()=>r.value.join(",")),d=e.computed(()=>{var x;return((x=o.value)==null?void 0:x.max_file_size)??0});function m(x,k){return a.value?!k||k.length===0?r.value.includes(x):k.some(C=>{var n;return(n=a.value[C])==null?void 0:n.mime_types.includes(x)}):!1}function p(x){var k;return a.value?((k=a.value.images)==null?void 0:k.mime_types.includes(x))??!1:!1}function g(x){if(!a.value)return null;for(const[k,C]of Object.entries(a.value))if(C.mime_types.includes(x))return k;return null}const u=e.computed(()=>a.value?Object.keys(a.value):[]);return{isMediaLibraryEnabled:l,allAcceptedMimeTypes:r,allAcceptedInputString:i,maxFileSize:d,availableCategories:u,isAcceptedMimeType:m,isImageMimeType:p,getCategoryForMimeType:g}}const Te={free:void 0,square:1,landscape43:4/3,landscape169:16/9,original:void 0};function Pe(t){return t==="image/png"?{mimeType:"image/png",quality:1}:t==="image/gif"?{mimeType:"image/png",quality:1}:t==="image/webp"?{mimeType:"image/webp",quality:.92}:{mimeType:"image/jpeg",quality:.92}}function je(t,o,l){const a=t.width,r=t.height;if(!o&&!l)return t;let i=a,d=r;if(o&&a>o&&(i=o,d=Math.round(r*(o/a))),l&&d>l&&(d=l,i=Math.round(i*(l/(r*(o?o/a:1))))),i===a&&d===r)return t;const m=document.createElement("canvas");m.width=i,m.height=d;const p=m.getContext("2d");return p&&(p.imageSmoothingEnabled=!0,p.imageSmoothingQuality="high",p.drawImage(t,0,0,i,d)),m}function Re(t,o,l){return new Promise((a,r)=>{t.toBlob(i=>{if(!i){r(new Error("Failed to create blob from canvas"));return}const d=l.mimeType.split("/")[1],p=`${o.replace(/\.[^.]+$/,"")}.${d}`,g=new File([i],p,{type:l.mimeType});a(g)},l.mimeType,l.quality)})}function Ae(t,o,l,a){let r=t,i=o;if(l&&r>l){const d=l/r;r=l,i=Math.round(i*d)}if(a&&i>a){const d=a/i;i=a,r=Math.round(r*d)}return{width:r,height:i}}const Oe={class:"tpl:shrink-0 tpl:p-5 tpl:pb-4"},qe={class:"tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},We={class:"tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto tpl:px-5"},Ke={key:0,class:"tpl:mb-4"},Ge={class:"tpl:relative tpl:mb-3 tpl:overflow-hidden tpl:rounded-md tpl:border",style:{"border-color":"var(--tpl-border)",height:"300px","background-color":"var(--tpl-bg)"}},He={class:"tpl:space-y-3"},Ze={class:"tpl:mb-1.5 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},Je={class:"tpl:flex tpl:flex-wrap tpl:gap-1.5"},Xe=["onClick"],Qe={class:"tpl:flex tpl:gap-3"},Ye={class:"tpl:flex-1"},et={class:"tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},tt={class:"tpl:font-normal",style:{color:"var(--tpl-text-dim)"}},lt={class:"tpl:relative"},rt=["value","placeholder"],ot={class:"tpl:absolute tpl:top-1/2 tpl:right-2.5 tpl:-translate-y-1/2 tpl:text-xs",style:{color:"var(--tpl-text-dim)"}},at={class:"tpl:flex-1"},nt={class:"tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},it={class:"tpl:font-normal",style:{color:"var(--tpl-text-dim)"}},st={class:"tpl:relative"},ct=["value","placeholder"],dt={class:"tpl:absolute tpl:top-1/2 tpl:right-2.5 tpl:-translate-y-1/2 tpl:text-xs",style:{color:"var(--tpl-text-dim)"}},pt={key:0,class:"tpl:flex tpl:items-center tpl:gap-1 tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},mt={class:"tpl:font-medium",style:{color:"var(--tpl-text)"}},ft={class:"tpl:mb-3"},ut={class:"tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},yt=["autofocus"],gt={key:1,class:"tpl:mb-4"},ht={class:"tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},bt=["placeholder"],kt={class:"tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2 tpl:p-5 tpl:pt-4"},xt=["disabled"],wt=e.defineComponent({__name:"MediaEditModal",props:{visible:{type:Boolean},item:{}},emits:["save","close"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=r.mediaLibrary,{isImageMimeType:d}=ne(),m=e.ref(""),p=e.ref(""),g=e.ref(null),u=e.ref("free"),x=e.ref(void 0),k=e.ref(void 0),C=e.ref(""),n=e.ref(""),f=e.ref(void 0),B=e.ref(null),s=e.ref(!1),v=e.ref(!1),M=e.ref(!1),U=e.computed(()=>l.item?["image/jpeg","image/png","image/webp","image/gif"].includes(l.item.mime_type):!1),c=e.computed(()=>u.value==="original"?f.value:Te[u.value]),W=e.computed(()=>B.value?Ae(B.value.width,B.value.height,x.value,k.value):null);e.watch(()=>l.visible,z=>{z&&l.item&&(m.value=l.item.filename,p.value=l.item.alt_text||"",u.value="free",x.value=void 0,k.value=void 0,C.value="",n.value="",f.value=void 0,B.value=null,s.value=!1,M.value=!1,l.item.width&&l.item.height&&(f.value=l.item.width/l.item.height))});function P(z){z.coordinates&&(B.value={width:Math.round(z.coordinates.width),height:Math.round(z.coordinates.height)},M.value=!0)}function D(){var z,I;s.value=!0,!f.value&&((z=l.item)!=null&&z.width)&&((I=l.item)!=null&&I.height)&&(f.value=l.item.width/l.item.height)}function R(z){const I=z.target.value;C.value=I,x.value=I&&parseInt(I,10)||void 0}function O(z){const I=z.target.value;n.value=I,k.value=I&&parseInt(I,10)||void 0}async function A(){const z=m.value.trim();if(!z||!l.item||v.value)return;const I=d(l.item.mime_type);let H;if(U.value&&g.value&&M.value){v.value=!0;try{const{canvas:J}=g.value.getResult();if(J){const Q=je(J,x.value,k.value),G=Pe(l.item.mime_type);H={file:await Re(Q,l.item.filename,G)}}}catch{v.value=!1;return}v.value=!1}a("save",l.item.id,z,I?p.value:void 0,H),a("close")}function Z(z){z.key==="Enter"&&!v.value&&(z.preventDefault(),A()),z.key==="Escape"&&a("close")}return(z,I)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>{var H,J,Q,G;return[t.visible&&t.item?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center",style:{"background-color":"var(--tpl-overlay)"},onClick:I[3]||(I[3]=e.withModifiers(j=>a("close"),["self"])),onKeydown:Z},[e.createElementVNode("div",{class:e.normalizeClass(["tpl:mx-4 tpl:flex tpl:max-h-[90vh] tpl:w-full tpl:flex-col tpl:overflow-hidden tpl:rounded-lg tpl:shadow-xl",U.value?"tpl:max-w-2xl":"tpl:max-w-sm"]),style:{"background-color":"var(--tpl-bg-elevated)"}},[e.createElementVNode("div",Oe,[e.createElementVNode("h3",qe,e.toDisplayString(e.unref(r).mediaLibrary.editFile),1)]),e.createElementVNode("div",We,[U.value?(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("div",Ge,[e.createVNode(e.unref(Le.Cropper),{ref_key:"cropperRef",ref:g,src:t.item.url,"stencil-props":{aspectRatio:c.value},class:"tpl:h-full tpl:w-full","background-class":"tpl-cropper-background",onChange:P,onReady:D},null,8,["src","stencil-props"])]),e.createElementVNode("div",He,[e.createElementVNode("div",null,[e.createElementVNode("label",Ze,e.toDisplayString(e.unref(r).mediaLibrary.cropAspectRatio),1),e.createElementVNode("div",Je,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(["free","square","landscape43","landscape169","original"],j=>e.createElementVNode("button",{key:j,type:"button",class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:e.normalizeStyle({borderColor:u.value===j?"var(--tpl-primary)":"var(--tpl-border)",backgroundColor:u.value===j?"var(--tpl-primary-light)":"var(--tpl-bg)",color:u.value===j?"var(--tpl-primary)":"var(--tpl-text)"}),onClick:X=>u.value=j},e.toDisplayString(e.unref(i)[`crop${j.charAt(0).toUpperCase()}${j.slice(1)}`]),13,Xe)),64))])]),e.createElementVNode("div",Qe,[e.createElementVNode("div",Ye,[e.createElementVNode("label",et,[e.createTextVNode(e.toDisplayString(e.unref(r).mediaLibrary.cropMaxWidth)+" ",1),e.createElementVNode("span",tt,e.toDisplayString(e.unref(r).mediaLibrary.cropOptional),1)]),e.createElementVNode("div",lt,[e.createElementVNode("input",{value:C.value,type:"number",min:"1",class:"tpl:w-full tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-8 tpl:pl-3 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:((J=(H=B.value)==null?void 0:H.width)==null?void 0:J.toString())||"",onInput:R},null,40,rt),e.createElementVNode("span",ot,e.toDisplayString(e.unref(r).mediaLibrary.cropPixels),1)])]),e.createElementVNode("div",at,[e.createElementVNode("label",nt,[e.createTextVNode(e.toDisplayString(e.unref(r).mediaLibrary.cropMaxHeight)+" ",1),e.createElementVNode("span",it,e.toDisplayString(e.unref(r).mediaLibrary.cropOptional),1)]),e.createElementVNode("div",st,[e.createElementVNode("input",{value:n.value,type:"number",min:"1",class:"tpl:w-full tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-8 tpl:pl-3 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:((G=(Q=B.value)==null?void 0:Q.height)==null?void 0:G.toString())||"",onInput:O},null,40,ct),e.createElementVNode("span",dt,e.toDisplayString(e.unref(r).mediaLibrary.cropPixels),1)])])]),W.value?(e.openBlock(),e.createElementBlock("div",pt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).mediaLibrary.cropOutputSize)+": ",1),e.createElementVNode("span",mt,e.toDisplayString(W.value.width)+" x "+e.toDisplayString(W.value.height)+" "+e.toDisplayString(e.unref(r).mediaLibrary.cropPixels),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",ft,[e.createElementVNode("label",ut,e.toDisplayString(e.unref(r).mediaLibrary.fileName),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":I[0]||(I[0]=j=>m.value=j),type:"text",class:"tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},autofocus:!U.value},null,8,yt),[[e.vModelText,m.value]])]),e.unref(d)(t.item.mime_type)?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("label",ht,e.toDisplayString(e.unref(r).mediaLibrary.altText),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":I[1]||(I[1]=j=>p.value=j),type:"text",class:"tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:e.unref(r).mediaLibrary.altTextPlaceholder},null,8,bt),[[e.vModelText,p.value]])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",kt,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},onClick:I[2]||(I[2]=j=>a("close"))},e.toDisplayString(e.unref(r).mediaLibrary.cancel),1),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50",style:{background:`linear-gradient(
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@templatical/core/cloud`),require(`vue`),require(`@lucide/vue`),require(`vue-advanced-cropper`),require(`@vueuse/core`)):typeof define==`function`&&define.amd?define([`exports`,`@templatical/core/cloud`,`vue`,`@lucide/vue`,`vue-advanced-cropper`,`@vueuse/core`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.TemplaticalMediaLibrary={},e.TemplaticalCoreCloud,e.Vue,e.LucideVue,e.VueAdvancedCropper,e.VueUseCore))})(this,function(e,t,n,r,i,a){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var o=Object.defineProperty,s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,t)=>{let n={};for(var r in e)o(n,r,{get:e[r],enumerable:!0});return t||o(n,Symbol.toStringTag,{value:`Module`}),n},l=class{constructor(e){this.authManager=e}get projectId(){return this.authManager.projectId}get tenantSlug(){return this.authManager.tenantSlug}get baseParams(){return{project:this.projectId,tenant:this.tenantSlug}}async request(e,t={}){let n=await this.authManager.authenticatedFetch(e,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}});if(!n.ok){let e=await n.json().catch(()=>({message:`HTTP error ${n.status}`}));throw Error(e.message,{cause:e})}if(n.status!==204)return(await n.json()).data}async browseMedia(e){let n=new URLSearchParams;e.folder_id&&n.set(`folder_id`,e.folder_id),e.search&&n.set(`search`,e.search),e.category&&n.set(`category`,e.category),e.sort&&n.set(`sort`,e.sort),e.cursor&&n.set(`cursor`,e.cursor);let r=n.toString(),i=`${(0,t.buildUrl)(t.API_ROUTES[`media.browse`],this.baseParams)}${r?`?${r}`:``}`,a=await this.authManager.authenticatedFetch(i,{headers:{Accept:`application/json`}});if(!a.ok){let e=await a.json().catch(()=>({message:`HTTP error ${a.status}`}));throw Error(e.message,{cause:e})}return a.json()}async uploadMedia(e,n){let r=new FormData;r.append(`file`,e),n&&r.append(`folder_id`,n);let i=(0,t.buildUrl)(t.API_ROUTES[`media.upload`],this.baseParams),a=await this.authManager.authenticatedFetch(i,{method:`POST`,headers:{Accept:`application/json`},body:r});if(!a.ok){let e=await a.json().catch(()=>({message:`HTTP error ${a.status}`}));throw Error(e.message,{cause:e})}return(await a.json()).data}async updateMedia(e,n,r){return this.request((0,t.buildUrl)(t.API_ROUTES[`media.update`],{...this.baseParams,media:e}),{method:`PUT`,body:JSON.stringify({filename:n,alt_text:r})})}async deleteMedia(e){return this.request((0,t.buildUrl)(t.API_ROUTES[`media.delete`],this.baseParams),{method:`POST`,body:JSON.stringify({ids:e})})}async moveMedia(e,n){return this.request((0,t.buildUrl)(t.API_ROUTES[`media.move`],this.baseParams),{method:`POST`,body:JSON.stringify({ids:e,folder_id:n})})}async getMediaFolders(){return this.request((0,t.buildUrl)(t.API_ROUTES[`folders.index`],this.baseParams))}async createMediaFolder(e,n){return this.request((0,t.buildUrl)(t.API_ROUTES[`folders.store`],this.baseParams),{method:`POST`,body:JSON.stringify({name:e,parent_id:n??null})})}async renameMediaFolder(e,n){return this.request((0,t.buildUrl)(t.API_ROUTES[`folders.update`],{...this.baseParams,mediaFolder:e}),{method:`PUT`,body:JSON.stringify({name:n})})}async deleteMediaFolder(e){return this.request((0,t.buildUrl)(t.API_ROUTES[`folders.destroy`],{...this.baseParams,mediaFolder:e}),{method:`DELETE`})}async checkMediaUsage(e){let n=await this.authManager.authenticatedFetch((0,t.buildUrl)(t.API_ROUTES[`media.checkUsage`],this.baseParams),{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({ids:e})});if(!n.ok){let e=await n.json().catch(()=>({message:`HTTP error ${n.status}`}));throw Error(e.message,{cause:e})}return n.json()}async getFrequentlyUsed(){return this.request((0,t.buildUrl)(t.API_ROUTES[`media.frequentlyUsed`],this.baseParams))}async importFromUrl(e,n){return this.request((0,t.buildUrl)(t.API_ROUTES[`media.importFromUrl`],this.baseParams),{method:`POST`,body:JSON.stringify({url:e,folder_id:n??null})})}async replaceMedia(e,n){let r=new FormData;r.append(`file`,n);let i=(0,t.buildUrl)(t.API_ROUTES[`media.replace`],{...this.baseParams,media:e}),a=await this.authManager.authenticatedFetch(i,{method:`POST`,headers:{Accept:`application/json`},body:r});if(!a.ok){let e=await a.json().catch(()=>({message:`HTTP error ${a.status}`}));throw Error(e.message,{cause:e})}return(await a.json()).data}};function u(e){if(!e.projectId)throw Error(`projectId is required for useMediaLibrary`);let t=new l(e.authManager),r=(0,n.ref)([]),i=(0,n.ref)([]),a=(0,n.ref)(null),o=(0,n.ref)(`files`),s=(0,n.ref)(``),c=(0,n.ref)(null),u=(0,n.ref)(`newest`),d=(0,n.ref)(!1),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.ref)(null),h=(0,n.ref)(null),g=(0,n.ref)(new Set),_=(0,n.ref)(null),v=(0,n.ref)([]),y=(0,n.ref)({}),b=(0,n.ref)(!1),x=(0,n.ref)([]),S=(0,n.ref)(!1),C=(0,n.ref)(null),w=(0,n.ref)(!1),T=(0,n.ref)(null),E=(0,n.ref)(!1),D=(0,n.ref)(null),O=(0,n.ref)(null);async function k(){d.value=!0;try{let e=await t.browseMedia({folder_id:s.value?void 0:a.value,search:s.value||void 0,category:c.value||void 0,sort:u.value===`newest`?void 0:u.value});r.value=e.data,m.value=e.meta.next_cursor,p.value=!!e.meta.next_cursor}catch(t){e.onError?.(t)}finally{d.value=!1}}async function A(){if(!(!p.value||!m.value||d.value)){d.value=!0;try{let e=await t.browseMedia({folder_id:s.value?void 0:a.value,search:s.value||void 0,category:c.value||void 0,sort:u.value===`newest`?void 0:u.value,cursor:m.value});r.value=[...r.value,...e.data],m.value=e.meta.next_cursor,p.value=!!e.meta.next_cursor}catch(t){e.onError?.(t)}finally{d.value=!1}}}async function j(e){s.value=e,await k()}async function M(e){c.value=e,await k()}async function N(e){u.value=e,await k()}async function P(e){o.value=`files`,a.value=e,s.value=``,g.value=new Set,_.value=null,await k()}async function F(){o.value=`frequently-used`,a.value=null,s.value=``,g.value=new Set,_.value=null,await L()}async function I(n){f.value=!0;try{let e=await t.uploadMedia(n,a.value);return r.value=[e,...r.value],e}catch(t){return e.onError?.(t),null}finally{f.value=!1}}async function ee(n){f.value=!0,h.value={current:0,total:n.length};try{for(let i=0;i<n.length;i++){h.value={current:i+1,total:n.length};try{r.value=[await t.uploadMedia(n[i],a.value),...r.value]}catch(t){e.onError?.(t)}}}finally{f.value=!1,h.value=null}}async function te(n){if(g.value.size!==0)try{let e=await t.moveMedia([...g.value],n);if(a.value===null){let t=new Map(e.map(e=>[e.id,e]));r.value=r.value.map(e=>t.get(e.id)??e)}else r.value=r.value.filter(e=>!g.value.has(e.id));g.value=new Set,_.value=null}catch(t){e.onError?.(t)}}async function ne(n,i,a){try{let e=await t.updateMedia(n,i,a);r.value=r.value.map(t=>t.id===n?e:t),_.value?.id===n&&(_.value=e)}catch(t){e.onError?.(t)}}async function re(){if(g.value.size!==0)try{await t.deleteMedia([...g.value]),r.value=r.value.filter(e=>!g.value.has(e.id)),v.value=v.value.filter(e=>!g.value.has(e.id)),g.value=new Set,_.value=null}catch(t){e.onError?.(t)}}async function L(){try{v.value=await t.getFrequentlyUsed()}catch(t){e.onError?.(t)}}async function ie(){if(g.value.size===0)return!1;x.value=[...g.value];try{let e=await t.checkMediaUsage(x.value);y.value=e.data;let n=Object.values(e.data).some(e=>e.template_count>0);return b.value=!0,n}catch(t){return e.onError?.(t),!1}}async function ae(){if(b.value=!1,x.value.length!==0)try{await t.deleteMedia(x.value),r.value=r.value.filter(e=>!x.value.includes(e.id)),v.value=v.value.filter(e=>!x.value.includes(e.id)),g.value=new Set,_.value=null,x.value=[],y.value={}}catch(t){e.onError?.(t)}}function oe(){b.value=!1,x.value=[],y.value={}}async function se(n){S.value=!0,C.value=null;try{let e=await t.importFromUrl(n,a.value);return r.value=[e,...r.value],e}catch(t){return C.value=t instanceof Error?t.message:`Import failed`,e.onError?.(t),null}finally{S.value=!1}}function ce(e){let t=new Set(g.value);t.has(e)?t.delete(e):t.add(e),g.value=t}function le(){g.value=new Set,_.value=null}function ue(e){_.value=e,g.value=new Set([e.id])}async function R(){try{i.value=await t.getMediaFolders()}catch(t){e.onError?.(t)}}async function de(n,r){try{let e=await t.createMediaFolder(n,r);return await R(),e}catch(t){return e.onError?.(t),null}}function z(e,t){for(let n of e){if(n.id===t)return n;if(n.children){let e=z(n.children,t);if(e)return e}}return null}async function fe(n,r){try{await t.renameMediaFolder(n,r),await R()}catch(t){e.onError?.(t)}}async function pe(n){try{let e=z(i.value,n)?.parent_id??null;await t.deleteMediaFolder(n),a.value===n&&(a.value=e),await R(),await k()}catch(t){e.onError?.(t)}}async function me(n){D.value=n,T.value=null;try{O.value=(await t.checkMediaUsage([n.id])).data[n.id]??null,E.value=!0}catch(t){e.onError?.(t)}}function B(){E.value=!1,D.value=null,O.value=null,T.value=null}async function V(n){if(!D.value)return null;w.value=!0,T.value=null;try{let e=await t.replaceMedia(D.value.id,n);return r.value=r.value.map(t=>t.id===e.id?e:t),v.value=v.value.map(t=>t.id===e.id?e:t),_.value?.id===e.id&&(_.value=e),E.value=!1,D.value=null,O.value=null,e}catch(t){return T.value=t instanceof Error?t.message:`Replace failed`,e.onError?.(t),null}finally{w.value=!1}}async function H(n,i){try{let e=await t.replaceMedia(n,i);return r.value=r.value.map(t=>t.id===e.id?e:t),v.value=v.value.map(t=>t.id===e.id?e:t),_.value?.id===e.id&&(_.value=e),e}catch(t){return e.onError?.(t),null}}return{items:r,folders:i,currentFolderId:a,viewMode:o,searchQuery:s,categoryFilter:c,sortOption:u,isLoading:d,isUploading:f,uploadProgress:h,hasMore:p,selectedItems:g,previewItem:_,frequentlyUsedItems:v,deleteUsageInfo:y,showDeleteWarning:b,loadItems:k,loadMore:A,search:j,filterByCategory:M,sortBy:N,navigateToFolder:P,showFrequentlyUsed:F,uploadFile:I,uploadFiles:ee,moveSelected:te,updateFile:ne,deleteSelected:re,isImportingFromUrl:S,importFromUrlError:C,importFromUrl:se,toggleSelection:ce,clearSelection:le,selectItem:ue,loadFolders:R,createFolder:de,renameFolder:fe,deleteFolder:pe,findFolderInTree:z,loadFrequentlyUsed:L,checkUsageBeforeDelete:ie,confirmDelete:ae,cancelDelete:oe,isReplacing:w,replaceError:T,showReplaceWarning:E,pendingReplaceItem:D,replaceUsageInfo:O,checkUsageBeforeReplace:me,cancelReplace:B,replaceFile:V,replaceMediaDirectly:H}}function d(e){let t=e??(0,n.inject)(`translations`),r=(0,n.isRef)(t)?t.value:t;function i(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):`{${n}}`)}return{t:r,format:i}}var f={key:0,class:`tpl:flex tpl:items-center tpl:gap-1 tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},p=[`onClick`],m={key:1,style:{color:`var(--tpl-text)`}},h=(0,n.defineComponent)({__name:`MediaBreadcrumb`,props:{folders:{},currentFolderId:{}},emits:[`navigate`],setup(e,{emit:t}){let i=e,a=t,{t:o}=d(),s=(0,n.computed)(()=>{if(!i.currentFolderId)return[];let e=[];return c(i.folders,i.currentFolderId,e),e});function c(e,t,n){for(let r of e){if(r.id===t)return n.push(r),!0;if(r.children&&c(r.children,t,n))return n.unshift(r),!0}return!1}return(e,t)=>s.value.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,f,[(0,n.createElementVNode)(`button`,{class:`tpl:transition-colors tpl:duration-150 tpl:hover:underline`,style:{color:`var(--tpl-primary)`},onClick:t[0]||=e=>a(`navigate`,null)},(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.allFiles),1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(s.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:e.id},[(0,n.createVNode)((0,n.unref)(r.ChevronRight),{size:12,"stroke-width":2}),t<s.value.length-1?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:transition-colors tpl:duration-150 tpl:hover:underline`,style:{color:`var(--tpl-primary)`},onClick:t=>a(`navigate`,e.id)},(0,n.toDisplayString)(e.name),9,p)):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,m,(0,n.toDisplayString)(e.name),1))],64))),128))])):(0,n.createCommentVNode)(``,!0)}});function g(){let e=(0,n.inject)(`planConfig`),t=(0,n.computed)(()=>e.config.value?.media??null),r=(0,n.computed)(()=>t.value?.use_media_library??!0),i=(0,n.computed)(()=>t.value?.categories??null),a=(0,n.computed)(()=>i.value?Object.values(i.value).flatMap(e=>e.mime_types):[]),o=(0,n.computed)(()=>a.value.join(`,`)),s=(0,n.computed)(()=>t.value?.max_file_size??0);function c(e,t){return i.value?!t||t.length===0?a.value.includes(e):t.some(t=>i.value[t]?.mime_types.includes(e)):!1}function l(e){return i.value?i.value.images?.mime_types.includes(e)??!1:!1}function u(e){if(!i.value)return null;for(let[t,n]of Object.entries(i.value))if(n.mime_types.includes(e))return t;return null}return{isMediaLibraryEnabled:r,allAcceptedMimeTypes:a,allAcceptedInputString:o,maxFileSize:s,availableCategories:(0,n.computed)(()=>i.value?Object.keys(i.value):[]),isAcceptedMimeType:c,isImageMimeType:l,getCategoryForMimeType:u}}var _={free:void 0,square:1,landscape43:4/3,landscape169:16/9,original:void 0};function v(e){return e===`image/png`||e===`image/gif`?{mimeType:`image/png`,quality:1}:e===`image/webp`?{mimeType:`image/webp`,quality:.92}:{mimeType:`image/jpeg`,quality:.92}}function y(e,t,n){let r=e.width,i=e.height;if(!t&&!n)return e;let a=r,o=i;if(t&&r>t&&(a=t,o=Math.round(t/r*i)),n&&o>n&&(o=n,a=Math.round(a*(n/(i*(t?t/r:1))))),a===r&&o===i)return e;let s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`);return c&&(c.imageSmoothingEnabled=!0,c.imageSmoothingQuality=`high`,c.drawImage(e,0,0,a,o)),s}function b(e,t,n){return new Promise((r,i)=>{e.toBlob(e=>{if(!e){i(Error(`Failed to create blob from canvas`));return}let a=n.mimeType.split(`/`)[1],o=`${t.replace(/\.[^.]+$/,``)}.${a}`;r(new File([e],o,{type:n.mimeType}))},n.mimeType,n.quality)})}function x(e,t,n,r){let i=e,a=t;if(n&&i>n){let e=n/i;i=n,a=Math.round(a*e)}if(r&&a>r){let e=r/a;a=r,i=Math.round(i*e)}return{width:i,height:a}}var S=[`data-tpl-theme`],C={class:`tpl:shrink-0 tpl:p-5 tpl:pb-4`},w={class:`tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},T={class:`tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto tpl:px-5`},E={key:0,class:`tpl:mb-4`},D={class:`tpl:relative tpl:mb-3 tpl:overflow-hidden tpl:rounded-md tpl:border`,style:{"border-color":`var(--tpl-border)`,height:`300px`,"background-color":`var(--tpl-bg)`}},O={class:`tpl:space-y-3`},k={class:`tpl:mb-1.5 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},A={class:`tpl:flex tpl:flex-wrap tpl:gap-1.5`},j=[`onClick`],M={class:`tpl:flex tpl:gap-3`},N={class:`tpl:flex-1`},P={class:`tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},F={class:`tpl:font-normal`,style:{color:`var(--tpl-text-dim)`}},I={class:`tpl:relative`},ee=[`value`,`placeholder`],te={class:`tpl:absolute tpl:top-1/2 tpl:right-2.5 tpl:-translate-y-1/2 tpl:text-xs`,style:{color:`var(--tpl-text-dim)`}},ne={class:`tpl:flex-1`},re={class:`tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},L={class:`tpl:font-normal`,style:{color:`var(--tpl-text-dim)`}},ie={class:`tpl:relative`},ae=[`value`,`placeholder`],oe={class:`tpl:absolute tpl:top-1/2 tpl:right-2.5 tpl:-translate-y-1/2 tpl:text-xs`,style:{color:`var(--tpl-text-dim)`}},se={key:0,class:`tpl:flex tpl:items-center tpl:gap-1 tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},ce={class:`tpl:font-medium`,style:{color:`var(--tpl-text)`}},le={class:`tpl:mb-3`},ue={class:`tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},R=[`autofocus`],de={key:1,class:`tpl:mb-4`},z={class:`tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},fe=[`placeholder`],pe={class:`tpl:flex tpl:shrink-0 tpl:justify-end tpl:gap-2 tpl:p-5 tpl:pt-4`},me=[`disabled`],B=(0,n.defineComponent)({__name:`MediaEditModal`,props:{visible:{type:Boolean},item:{}},emits:[`save`,`close`],setup(e,{emit:t}){let r=e,a=t,{t:o}=d(),s=(0,n.inject)(`tplUiTheme`),c=o.mediaLibrary,{isImageMimeType:l}=g(),u=(0,n.ref)(``),f=(0,n.ref)(``),p=(0,n.ref)(null),m=(0,n.ref)(`free`),h=(0,n.ref)(void 0),B=(0,n.ref)(void 0),V=(0,n.ref)(``),H=(0,n.ref)(``),U=(0,n.ref)(void 0),W=(0,n.ref)(null),G=(0,n.ref)(!1),K=(0,n.ref)(!1),q=(0,n.ref)(!1),J=(0,n.computed)(()=>r.item?[`image/jpeg`,`image/png`,`image/webp`,`image/gif`].includes(r.item.mime_type):!1),he=(0,n.computed)(()=>m.value===`original`?U.value:_[m.value]),Y=(0,n.computed)(()=>W.value?x(W.value.width,W.value.height,h.value,B.value):null);(0,n.watch)(()=>r.visible,e=>{e&&r.item&&(u.value=r.item.filename,f.value=r.item.alt_text||``,m.value=`free`,h.value=void 0,B.value=void 0,V.value=``,H.value=``,U.value=void 0,W.value=null,G.value=!1,q.value=!1,r.item.width&&r.item.height&&(U.value=r.item.width/r.item.height))});function ge(e){e.coordinates&&(W.value={width:Math.round(e.coordinates.width),height:Math.round(e.coordinates.height)},q.value=!0)}function _e(){G.value=!0,!U.value&&r.item?.width&&r.item?.height&&(U.value=r.item.width/r.item.height)}function ve(e){let t=e.target.value;V.value=t,h.value=t&&parseInt(t,10)||void 0}function ye(e){let t=e.target.value;H.value=t,B.value=t&&parseInt(t,10)||void 0}async function X(){let e=u.value.trim();if(!e||!r.item||K.value)return;let t=l(r.item.mime_type),n;if(J.value&&p.value&&q.value){K.value=!0;try{let{canvas:e}=p.value.getResult();if(e){let t=y(e,h.value,B.value),i=v(r.item.mime_type);n={file:await b(t,r.item.filename,i)}}}catch{K.value=!1;return}K.value=!1}a(`save`,r.item.id,e,t?f.value:void 0,n),a(`close`)}function be(e){e.key===`Enter`&&!K.value&&(e.preventDefault(),X()),e.key===`Escape`&&a(`close`)}return(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[e.visible&&e.item?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-tpl-theme":(0,n.unref)(s),class:`tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center`,style:{"background-color":`var(--tpl-overlay)`},onClick:r[3]||=(0,n.withModifiers)(e=>a(`close`),[`self`]),onKeydown:be},[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`tpl:mx-4 tpl:flex tpl:max-h-[90vh] tpl:w-full tpl:flex-col tpl:overflow-hidden tpl:rounded-lg tpl:shadow-xl`,J.value?`tpl:max-w-2xl`:`tpl:max-w-sm`]),style:{"background-color":`var(--tpl-bg-elevated)`}},[(0,n.createElementVNode)(`div`,C,[(0,n.createElementVNode)(`h3`,w,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.editFile),1)]),(0,n.createElementVNode)(`div`,T,[J.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,E,[(0,n.createElementVNode)(`div`,D,[(0,n.createVNode)((0,n.unref)(i.Cropper),{ref_key:`cropperRef`,ref:p,src:e.item.url,"stencil-props":{aspectRatio:he.value},class:`tpl:h-full tpl:w-full`,"background-class":`tpl-cropper-background`,onChange:ge,onReady:_e},null,8,[`src`,`stencil-props`])]),(0,n.createElementVNode)(`div`,O,[(0,n.createElementVNode)(`div`,null,[(0,n.createElementVNode)(`label`,k,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropAspectRatio),1),(0,n.createElementVNode)(`div`,A,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)([`free`,`square`,`landscape43`,`landscape169`,`original`],e=>(0,n.createElementVNode)(`button`,{key:e,type:`button`,class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({borderColor:m.value===e?`var(--tpl-primary)`:`var(--tpl-border)`,backgroundColor:m.value===e?`var(--tpl-primary-light)`:`var(--tpl-bg)`,color:m.value===e?`var(--tpl-primary)`:`var(--tpl-text)`}),onClick:t=>m.value=e},(0,n.toDisplayString)((0,n.unref)(c)[`crop${e.charAt(0).toUpperCase()}${e.slice(1)}`]),13,j)),64))])]),(0,n.createElementVNode)(`div`,M,[(0,n.createElementVNode)(`div`,N,[(0,n.createElementVNode)(`label`,P,[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropMaxWidth)+` `,1),(0,n.createElementVNode)(`span`,F,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropOptional),1)]),(0,n.createElementVNode)(`div`,I,[(0,n.createElementVNode)(`input`,{value:V.value,type:`number`,min:`1`,class:`tpl:w-full tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-8 tpl:pl-3 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:W.value?.width?.toString()||``,onInput:ve},null,40,ee),(0,n.createElementVNode)(`span`,te,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropPixels),1)])]),(0,n.createElementVNode)(`div`,ne,[(0,n.createElementVNode)(`label`,re,[(0,n.createTextVNode)((0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropMaxHeight)+` `,1),(0,n.createElementVNode)(`span`,L,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropOptional),1)]),(0,n.createElementVNode)(`div`,ie,[(0,n.createElementVNode)(`input`,{value:H.value,type:`number`,min:`1`,class:`tpl:w-full tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-8 tpl:pl-3 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:W.value?.height?.toString()||``,onInput:ye},null,40,ae),(0,n.createElementVNode)(`span`,oe,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropPixels),1)])])]),Y.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,se,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropOutputSize)+`: `,1),(0,n.createElementVNode)(`span`,ce,(0,n.toDisplayString)(Y.value.width)+` x `+(0,n.toDisplayString)(Y.value.height)+` `+(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cropPixels),1)])):(0,n.createCommentVNode)(``,!0)])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,le,[(0,n.createElementVNode)(`label`,ue,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.fileName),1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>u.value=e,type:`text`,class:`tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},autofocus:!J.value},null,8,R),[[n.vModelText,u.value]])]),(0,n.unref)(l)(e.item.mime_type)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,de,[(0,n.createElementVNode)(`label`,z,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.altText),1),(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>f.value=e,type:`text`,class:`tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:(0,n.unref)(o).mediaLibrary.altTextPlaceholder},null,8,fe),[[n.vModelText,f.value]])])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,pe,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},onClick:r[2]||=e=>a(`close`)},(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cancel),1),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50`,style:{background:`linear-gradient(
|
|
2
2
|
135deg,
|
|
3
3
|
var(--tpl-primary),
|
|
4
4
|
var(--tpl-primary-hover)
|
|
5
|
-
)`},disabled:v.value,onClick:A},e.toDisplayString(v.value?e.unref(r).mediaLibrary.saving:e.unref(r).mediaLibrary.saveChanges),9,xt)])],2)],32)):e.createCommentVNode("",!0)]}),_:1})]))}}),ge=(t,o)=>{const l=t.__vccOpts||t;for(const[a,r]of o)l[a]=r;return l},we=ge(wt,[["__scopeId","data-v-4d303952"]]),Et={key:1,class:"tpl:size-4 tpl:shrink-0"},_t={key:0,class:"tpl:truncate"},Nt={key:3,class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:gap-0.5 tpl:opacity-0 tpl:transition-opacity tpl:group-hover:opacity-100"},Ct=["title"],Bt=["title"],Vt={key:0},Ft=["placeholder"],St=5,vt=e.defineComponent({__name:"MediaFolderTreeNode",props:{folder:{},currentFolderId:{},depth:{}},emits:["navigate","createFolder","renameFolder","deleteFolder"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=e.ref(!1),d=e.ref(!1),m=e.ref(""),p=e.ref(!1),g=e.ref(""),u=e.computed(()=>{var P;return(((P=l.folder.children)==null?void 0:P.length)??0)>0}),x=e.computed(()=>l.depth<St-1),k=e.computed(()=>l.currentFolderId===l.folder.id),C=e.computed(()=>!l.currentFolderId||!l.folder.children?!1:f(l.folder.children,l.currentFolderId)),n=e.computed(()=>i.value||C.value);function f(P,D){for(const R of P)if(R.id===D||R.children&&f(R.children,D))return!0;return!1}function B(){i.value=!i.value}function s(){d.value=!0,m.value=l.folder.name}function v(){const P=m.value.trim();P&&P!==l.folder.name&&a("renameFolder",l.folder.id,P),d.value=!1,m.value=""}function M(){d.value=!1,m.value=""}function U(){p.value=!0,g.value="",i.value=!0}function c(){g.value.trim()&&a("createFolder",g.value.trim(),l.folder.id),p.value=!1,g.value=""}function W(){p.value=!1,g.value=""}return(P,D)=>{const R=e.resolveComponent("MediaFolderTreeNode",!0);return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:"tpl:group tpl:flex tpl:w-full tpl:items-center tpl:gap-1 tpl:py-1.5 tpl:pr-2 tpl:text-left tpl:text-xs tpl:transition-all tpl:duration-150",style:e.normalizeStyle({paddingLeft:`${t.depth*16+8}px`,backgroundColor:k.value?"var(--tpl-bg-active)":"transparent",color:k.value?"var(--tpl-primary)":"var(--tpl-text)"})},[u.value||p.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:size-4 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors",onClick:e.withModifiers(B,["stop"])},[e.createVNode(e.unref(V.ChevronRight),{class:e.normalizeClass(["tpl:transition-transform tpl:duration-150",{"tpl:rotate-90":n.value}]),size:10,"stroke-width":2},null,8,["class"])])):(e.openBlock(),e.createElementBlock("span",Et)),e.createElementVNode("button",{class:"tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-1.5",onClick:D[0]||(D[0]=O=>a("navigate",t.folder.id))},[e.createVNode(e.unref(V.Folder),{class:"tpl:shrink-0",size:14,"stroke-width":1.5}),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",_t,e.toDisplayString(t.folder.name),1))]),d.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,"onUpdate:modelValue":D[1]||(D[1]=O=>m.value=O),type:"text",class:"tpl:min-w-0 tpl:flex-1 tpl:rounded tpl:border tpl:px-1.5 tpl:py-0.5 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-primary)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},autofocus:"",onKeydown:[e.withKeys(v,["enter"]),e.withKeys(M,["escape"])],onBlur:v,onClick:D[2]||(D[2]=e.withModifiers(()=>{},["stop"]))},null,544)),[[e.vModelText,m.value]]):e.createCommentVNode("",!0),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Nt,[x.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors",title:e.unref(r).mediaLibrary.addSubfolder,onClick:e.withModifiers(U,["stop"])},[e.createVNode(e.unref(V.Plus),{size:12,"stroke-width":2})],8,Ct)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors",title:e.unref(r).mediaLibrary.renameFolder,onClick:e.withModifiers(s,["stop"])},[e.createVNode(e.unref(V.Pencil),{size:12,"stroke-width":2})],8,Bt),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors",onClick:D[3]||(D[3]=e.withModifiers(O=>a("deleteFolder",t.folder.id),["stop"]))},[e.createVNode(e.unref(V.Trash2),{size:12,"stroke-width":2,style:{color:"var(--tpl-danger)"}})])]))],4),n.value?(e.openBlock(),e.createElementBlock("div",Vt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.folder.children,O=>(e.openBlock(),e.createBlock(R,{key:O.id,folder:O,"current-folder-id":t.currentFolderId,depth:t.depth+1,onNavigate:D[4]||(D[4]=A=>a("navigate",A)),onCreateFolder:D[5]||(D[5]=(A,Z)=>a("createFolder",A,Z)),onRenameFolder:D[6]||(D[6]=(A,Z)=>a("renameFolder",A,Z)),onDeleteFolder:D[7]||(D[7]=A=>a("deleteFolder",A))},null,8,["folder","current-folder-id","depth"]))),128)),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({paddingLeft:`${(t.depth+1)*16+8}px`}),class:"tpl:py-1.5 tpl:pr-2"},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":D[8]||(D[8]=O=>g.value=O),type:"text",class:"tpl:w-full tpl:rounded tpl:border tpl:px-2 tpl:py-1 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-primary)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:e.unref(r).mediaLibrary.subfolderName,autofocus:"",onKeydown:[e.withKeys(c,["enter"]),e.withKeys(W,["escape"])],onBlur:c},null,40,Ft),[[e.vModelText,g.value]])],4)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])}}}),$t={class:"tpl:flex tpl:h-full tpl:flex-col tpl:overflow-y-auto"},Mt={key:0,class:"tpl:px-3 tpl:py-2"},Dt=["placeholder"],Ee=e.defineComponent({__name:"MediaFolderTree",props:{folders:{},currentFolderId:{},viewMode:{},hasFrequentlyUsed:{type:Boolean}},emits:["navigate","createFolder","renameFolder","deleteFolder","showFrequentlyUsed"],setup(t,{emit:o}){const l=o,{t:a}=K(),r=e.ref(!1),i=e.ref("");function d(){r.value=!0,i.value=""}function m(){i.value.trim()&&l("createFolder",i.value.trim()),r.value=!1,i.value=""}function p(){r.value=!1,i.value=""}return(g,u)=>(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("button",{class:"tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:e.normalizeStyle({backgroundColor:t.viewMode==="files"&&t.currentFolderId===null?"var(--tpl-bg-active)":"transparent",color:t.viewMode==="files"&&t.currentFolderId===null?"var(--tpl-primary)":"var(--tpl-text)"}),onClick:u[0]||(u[0]=x=>l("navigate",null))},[e.createVNode(e.unref(V.File),{size:14,"stroke-width":1.5}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).mediaLibrary.allFiles),1)],4),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.folders,x=>(e.openBlock(),e.createBlock(vt,{key:x.id,folder:x,"current-folder-id":t.currentFolderId,depth:0,onNavigate:u[1]||(u[1]=k=>l("navigate",k)),onCreateFolder:u[2]||(u[2]=(k,C)=>l("createFolder",k,C)),onRenameFolder:u[3]||(u[3]=(k,C)=>l("renameFolder",k,C)),onDeleteFolder:u[4]||(u[4]=k=>l("deleteFolder",k))},null,8,["folder","current-folder-id"]))),128)),r.value?(e.openBlock(),e.createElementBlock("div",Mt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[5]||(u[5]=x=>i.value=x),type:"text",class:"tpl:w-full tpl:rounded tpl:border tpl:px-2 tpl:py-1 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-primary)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:e.unref(a).mediaLibrary.folderName,autofocus:"",onKeydown:[e.withKeys(m,["enter"]),e.withKeys(p,["escape"])],onBlur:m},null,40,Dt),[[e.vModelText,i.value]])])):e.createCommentVNode("",!0),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:1,class:"tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:transition-all tpl:duration-150",style:{color:"var(--tpl-text-muted)"},onClick:d},[e.createVNode(e.unref(V.Plus),{size:14,"stroke-width":1.5}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).mediaLibrary.newFolder),1)])),u[7]||(u[7]=e.createElementVNode("div",{class:"tpl:flex-1"},null,-1)),t.hasFrequentlyUsed?(e.openBlock(),e.createElementBlock("button",{key:2,class:"tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:border-t tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:e.normalizeStyle({borderColor:"var(--tpl-border)",backgroundColor:t.viewMode==="frequently-used"?"var(--tpl-bg-active)":"transparent",color:t.viewMode==="frequently-used"?"var(--tpl-primary)":"var(--tpl-text)"}),onClick:u[6]||(u[6]=x=>l("showFrequentlyUsed"))},[e.createVNode(e.unref(V.Star),{size:14,"stroke-width":1.5}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).mediaLibrary.frequentlyUsed),1)],4)):e.createCommentVNode("",!0)]))}}),Lt={class:"tpl:flex tpl:aspect-square tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"},he=e.defineComponent({__name:"MediaFileIcon",props:{mimeType:{}},setup(t){const o=t,l={"application/pdf":{label:"PDF",color:"#dc2626",bgColor:"#fef2f2",icon:"document"},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{label:"DOC",color:"#2563eb",bgColor:"#eff6ff",icon:"document"},"application/msword":{label:"DOC",color:"#2563eb",bgColor:"#eff6ff",icon:"document"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{label:"XLS",color:"#16a34a",bgColor:"#f0fdf4",icon:"document"},"application/vnd.ms-excel":{label:"XLS",color:"#16a34a",bgColor:"#f0fdf4",icon:"document"},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{label:"PPT",color:"#ea580c",bgColor:"#fff7ed",icon:"document"},"application/vnd.ms-powerpoint":{label:"PPT",color:"#ea580c",bgColor:"#fff7ed",icon:"document"},"text/csv":{label:"CSV",color:"#16a34a",bgColor:"#f0fdf4",icon:"document"},"text/plain":{label:"TXT",color:"#6b7280",bgColor:"#f9fafb",icon:"document"},"video/mp4":{label:"MP4",color:"#9333ea",bgColor:"#faf5ff",icon:"video"},"video/quicktime":{label:"MOV",color:"#9333ea",bgColor:"#faf5ff",icon:"video"},"video/webm":{label:"WEBM",color:"#9333ea",bgColor:"#faf5ff",icon:"video"},"audio/mpeg":{label:"MP3",color:"#0d9488",bgColor:"#f0fdfa",icon:"audio"},"audio/wav":{label:"WAV",color:"#0d9488",bgColor:"#f0fdfa",icon:"audio"},"audio/ogg":{label:"OGG",color:"#0d9488",bgColor:"#f0fdfa",icon:"audio"}},a={label:"FILE",color:"#6b7280",bgColor:"#f9fafb",icon:"document"},r=e.computed(()=>l[o.mimeType]??a);return(i,d)=>(e.openBlock(),e.createElementBlock("div",Lt,[r.value.icon==="document"?(e.openBlock(),e.createElementBlock("svg",{key:0,width:"60",height:"60",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",style:e.normalizeStyle({color:r.value.color})},[...d[0]||(d[0]=[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"},null,-1),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"},null,-1),e.createElementVNode("line",{x1:"8",y1:"13",x2:"16",y2:"13"},null,-1),e.createElementVNode("line",{x1:"8",y1:"17",x2:"12",y2:"17"},null,-1)])],4)):r.value.icon==="video"?(e.openBlock(),e.createElementBlock("svg",{key:1,width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",style:e.normalizeStyle({color:r.value.color})},[...d[1]||(d[1]=[e.createElementVNode("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"},null,-1),e.createElementVNode("polygon",{points:"10,8 16,12 10,16",fill:"currentColor",stroke:"none"},null,-1)])],4)):(e.openBlock(),e.createElementBlock("svg",{key:2,width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",style:e.normalizeStyle({color:r.value.color})},[...d[2]||(d[2]=[e.createElementVNode("path",{d:"M9 18V5l12-2v13"},null,-1),e.createElementVNode("circle",{cx:"6",cy:"18",r:"3"},null,-1),e.createElementVNode("circle",{cx:"18",cy:"16",r:"3"},null,-1)])],4)),e.createElementVNode("span",{class:"tpl:text-xs tpl:font-bold tpl:tracking-wider",style:e.normalizeStyle({color:r.value.color})},e.toDisplayString(r.value.label),5)]))}}),It={class:"tpl:p-4"},zt={key:1,class:"tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:py-16"},Ut={class:"tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},Tt={key:2,class:"tpl:grid tpl:grid-cols-4 tpl:gap-3"},Pt=["onClick"],jt={class:"tpl:aspect-square"},Rt=["src","alt"],At={class:"tpl:px-2 tpl:py-1.5"},Ot={class:"tpl:truncate tpl:text-[10px] tpl:font-medium",style:{color:"var(--tpl-text)"}},qt={class:"tpl:flex tpl:justify-between tpl:text-[9px]",style:{color:"var(--tpl-text-muted)"}},Wt={key:0},Kt={class:"tpl:absolute tpl:top-1.5 tpl:left-1.5 tpl:flex tpl:gap-1 tpl:opacity-0 tpl:transition-opacity tpl:duration-150 tpl:group-hover:opacity-100"},Gt=["title","onClick"],Ht=["title","onClick"],Zt={key:0,class:"tpl:absolute tpl:top-1.5 tpl:right-1.5 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white",style:{"background-color":"var(--tpl-primary)"}},Jt={key:3,class:"tpl:flex tpl:flex-col tpl:gap-1"},Xt=["onClick"],Qt={class:"tpl:size-10 tpl:shrink-0 tpl:overflow-hidden tpl:rounded",style:{"background-color":"var(--tpl-bg-hover)"}},Yt=["src","alt"],el={key:1,class:"tpl-list-icon tpl:size-full"},tl={class:"tpl:min-w-0 tpl:flex-1"},ll={class:"tpl:truncate tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text)"}},rl={class:"tpl:text-[10px]",style:{color:"var(--tpl-text-muted)"}},ol={class:"tpl:flex tpl:gap-1 tpl:opacity-0 tpl:transition-opacity tpl:duration-150 tpl:group-hover:opacity-100"},al=["title","onClick"],nl=["title","onClick"],il={key:0,class:"tpl:flex tpl:size-5 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white",style:{"background-color":"var(--tpl-primary)"}},sl={key:4,class:"tpl:flex tpl:justify-center tpl:py-4"},_e=ge(e.defineComponent({__name:"MediaGrid",props:{items:{},selectedIds:{},isLoading:{type:Boolean},hasMore:{type:Boolean},accept:{},layout:{}},emits:["select","toggle","loadMore","edit","replace"],setup(t,{emit:o}){const l=t,a=o,{isAcceptedMimeType:r,isImageMimeType:i}=ne();function d(k){return!l.accept||l.accept.length===0?!0:r(k.mime_type,l.accept)}function m(k){a("select",k)}const{t:p}=K(),g=e.ref(null);te.useIntersectionObserver(g,([{isIntersecting:k}])=>{k&&l.hasMore&&!l.isLoading&&a("loadMore")},{threshold:.1});function u(k){return k<1024?`${k} B`:k<1024*1024?`${(k/1024).toFixed(1)} KB`:`${(k/(1024*1024)).toFixed(1)} MB`}function x(k){return new Date(k).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}return(k,C)=>(e.openBlock(),e.createElementBlock("div",It,[t.isLoading&&t.items.length===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(t.layout==="list"?"tpl:flex tpl:flex-col tpl:gap-1":"tpl:grid tpl:grid-cols-4 tpl:gap-3")},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,n=>e.createElementVNode("div",{key:n,class:e.normalizeClass(["tpl-pulse tpl:rounded-lg",t.layout==="list"?"tpl:h-12":"tpl:aspect-square"]),style:{"background-color":"var(--tpl-bg-hover)"}},null,2)),64))],2)):t.items.length===0?(e.openBlock(),e.createElementBlock("div",zt,[e.createVNode(e.unref(V.File),{class:"tpl:mb-3",size:40,"stroke-width":1,style:{color:"var(--tpl-text-dim)"}}),e.createElementVNode("p",Ut,e.toDisplayString(e.unref(p).mediaLibrary.noFiles),1)])):t.layout!=="list"?(e.openBlock(),e.createElementBlock("div",Tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass(["tpl-media-item tpl:group tpl:relative tpl:overflow-hidden tpl:rounded-lg tpl:border-2 tpl:transition-all tpl:duration-150",["tpl:cursor-pointer",!d(n)&&!t.selectedIds.has(n.id)?"tpl:opacity-60":"",t.selectedIds.has(n.id)?"tpl-media-item--selected":""]]),style:e.normalizeStyle({borderColor:t.selectedIds.has(n.id)?"var(--tpl-primary)":"transparent",backgroundColor:!d(n)&&!t.selectedIds.has(n.id)?"var(--tpl-bg)":"var(--tpl-bg-hover)"}),onClick:f=>m(n)},[e.createElementVNode("div",jt,[e.unref(i)(n.mime_type)?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.small_url||n.url,alt:n.filename,class:"tpl:size-full tpl:object-cover",loading:"lazy"},null,8,Rt)):(e.openBlock(),e.createBlock(he,{key:1,"mime-type":n.mime_type},null,8,["mime-type"]))]),e.createElementVNode("div",At,[e.createElementVNode("p",Ot,e.toDisplayString(n.filename),1),e.createElementVNode("p",qt,[e.createElementVNode("span",null,e.toDisplayString(u(n.size)),1),e.unref(i)(n.mime_type)&&n.width&&n.height?(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(n.width)+"×"+e.toDisplayString(n.height),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Kt,[e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white",style:{"background-color":"rgba(0, 0, 0, 0.6)"},title:e.unref(p).mediaLibrary.editFile,onClick:e.withModifiers(f=>a("edit",n),["stop"])},[e.createVNode(e.unref(V.Pencil),{size:11,"stroke-width":2})],8,Gt),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white",style:{"background-color":"rgba(0, 0, 0, 0.6)"},title:e.unref(p).mediaLibrary.replaceFile,onClick:e.withModifiers(f=>a("replace",n),["stop"])},[e.createVNode(e.unref(V.RefreshCw),{size:11,"stroke-width":2})],8,Ht)]),t.selectedIds.has(n.id)?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(e.unref(V.Check),{size:12,"stroke-width":3})])):e.createCommentVNode("",!0)],14,Pt))),128))])):(e.openBlock(),e.createElementBlock("div",Jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,class:e.normalizeClass(["tpl-media-list-item tpl:group tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-150",[!d(n)&&!t.selectedIds.has(n.id)?"tpl:opacity-60":""]]),style:e.normalizeStyle({backgroundColor:t.selectedIds.has(n.id)?"var(--tpl-bg-hover)":"transparent"}),onClick:f=>m(n)},[e.createElementVNode("div",Qt,[e.unref(i)(n.mime_type)?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.small_url||n.url,alt:n.filename,class:"tpl:size-full tpl:object-cover",loading:"lazy"},null,8,Yt)):(e.openBlock(),e.createElementBlock("div",el,[e.createVNode(he,{"mime-type":n.mime_type},null,8,["mime-type"])]))]),e.createElementVNode("div",tl,[e.createElementVNode("p",ll,e.toDisplayString(n.filename),1),e.createElementVNode("p",rl,[e.createTextVNode(e.toDisplayString(u(n.size))+" · "+e.toDisplayString(x(n.created_at))+" ",1),e.unref(i)(n.mime_type)&&n.width&&n.height?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" · "+e.toDisplayString(n.width)+"×"+e.toDisplayString(n.height),1)],64)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ol,[e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded",style:{color:"var(--tpl-text-muted)"},title:e.unref(p).mediaLibrary.editFile,onClick:e.withModifiers(f=>a("edit",n),["stop"])},[e.createVNode(e.unref(V.Pencil),{size:12,"stroke-width":2})],8,al),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded",style:{color:"var(--tpl-text-muted)"},title:e.unref(p).mediaLibrary.replaceFile,onClick:e.withModifiers(f=>a("replace",n),["stop"])},[e.createVNode(e.unref(V.RefreshCw),{size:12,"stroke-width":2})],8,nl)]),t.selectedIds.has(n.id)?(e.openBlock(),e.createElementBlock("div",il,[e.createVNode(e.unref(V.Check),{size:12,"stroke-width":3})])):e.createCommentVNode("",!0)],14,Xt))),128))])),e.createElementVNode("div",{ref_key:"sentinelRef",ref:g,class:"tpl:h-4"},null,512),t.isLoading&&t.items.length>0?(e.openBlock(),e.createElementBlock("div",sl,[e.createVNode(e.unref(V.Loader2),{class:"tpl-spinner",size:20,"stroke-width":2,style:{color:"var(--tpl-primary)"}})])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-1c1258ec"]]),cl={class:"tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-lg tpl:p-5 tpl:shadow-xl",style:{"background-color":"var(--tpl-bg-elevated)"}},dl={class:"tpl:mb-4 tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},pl={class:"tpl:mb-3"},ml=["placeholder","disabled"],fl={key:0,class:"tpl:mb-3 tpl:text-xs",style:{color:"var(--tpl-danger)"}},ul={class:"tpl:flex tpl:justify-end tpl:gap-2"},yl=["disabled"],gl=["disabled"],hl={key:0,class:"tpl:flex tpl:items-center tpl:gap-1.5"},bl={key:1},Ne=e.defineComponent({__name:"MediaImportUrlModal",props:{visible:{type:Boolean},isImporting:{type:Boolean},error:{}},emits:["import","close"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=e.ref("");e.watch(()=>l.visible,g=>{g&&(i.value="")});function d(){const g=i.value.trim();!g||l.isImporting||a("import",g)}function m(){l.isImporting||a("close")}function p(g){g.key==="Enter"&&(g.preventDefault(),d()),g.key==="Escape"&&m()}return(g,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center",style:{"background-color":"var(--tpl-overlay)"},onClick:e.withModifiers(m,["self"]),onKeydown:p},[e.createElementVNode("div",cl,[e.createElementVNode("h3",dl,e.toDisplayString(e.unref(r).mediaLibrary.importFromUrl),1),e.createElementVNode("div",pl,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=x=>i.value=x),type:"url",class:"tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:e.unref(r).mediaLibrary.importUrlPlaceholder,disabled:t.isImporting,autofocus:""},null,8,ml),[[e.vModelText,i.value]])]),t.error?(e.openBlock(),e.createElementBlock("p",fl,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),e.createElementVNode("div",ul,[e.createElementVNode("button",{class:e.normalizeClass(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",{"tpl:cursor-not-allowed tpl:opacity-50":t.isImporting}]),style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},disabled:t.isImporting,onClick:m},e.toDisplayString(e.unref(r).mediaLibrary.cancel),11,yl),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50",style:{background:`linear-gradient(
|
|
5
|
+
)`},disabled:K.value,onClick:X},(0,n.toDisplayString)(K.value?(0,n.unref)(o).mediaLibrary.saving:(0,n.unref)(o).mediaLibrary.saveChanges),9,me)])],2)],40,S)):(0,n.createCommentVNode)(``,!0)]),_:1})]))}}),V=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},H=V(B,[[`__scopeId`,`data-v-bd5f2e31`]]),U={key:1,class:`tpl:size-4 tpl:shrink-0`},W={key:0,class:`tpl:truncate`},G={key:3,class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:gap-0.5 tpl:opacity-0 tpl:transition-opacity tpl:group-hover:opacity-100`},K=[`title`],q=[`title`],J={key:0},he=[`placeholder`],Y=5,ge=(0,n.defineComponent)({__name:`MediaFolderTreeNode`,props:{folder:{},currentFolderId:{},depth:{}},emits:[`navigate`,`createFolder`,`renameFolder`,`deleteFolder`],setup(e,{emit:t}){let i=e,a=t,{t:o}=d(),s=(0,n.ref)(!1),c=(0,n.ref)(!1),l=(0,n.ref)(``),u=(0,n.ref)(!1),f=(0,n.ref)(``),p=(0,n.computed)(()=>(i.folder.children?.length??0)>0),m=(0,n.computed)(()=>i.depth<Y-1),h=(0,n.computed)(()=>i.currentFolderId===i.folder.id),g=(0,n.computed)(()=>!i.currentFolderId||!i.folder.children?!1:v(i.folder.children,i.currentFolderId)),_=(0,n.computed)(()=>s.value||g.value);function v(e,t){for(let n of e)if(n.id===t||n.children&&v(n.children,t))return!0;return!1}function y(){s.value=!s.value}function b(){c.value=!0,l.value=i.folder.name}function x(){let e=l.value.trim();e&&e!==i.folder.name&&a(`renameFolder`,i.folder.id,e),c.value=!1,l.value=``}function S(){c.value=!1,l.value=``}function C(){u.value=!0,f.value=``,s.value=!0}function w(){f.value.trim()&&a(`createFolder`,f.value.trim(),i.folder.id),u.value=!1,f.value=``}function T(){u.value=!1,f.value=``}return(t,i)=>{let s=(0,n.resolveComponent)(`MediaFolderTreeNode`,!0);return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,null,[(0,n.createElementVNode)(`div`,{class:`tpl:group tpl:flex tpl:w-full tpl:items-center tpl:gap-1 tpl:py-1.5 tpl:pr-2 tpl:text-left tpl:text-xs tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({paddingLeft:`${e.depth*16+8}px`,backgroundColor:h.value?`var(--tpl-bg-active)`:`transparent`,color:h.value?`var(--tpl-primary)`:`var(--tpl-text)`})},[p.value||u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:size-4 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors`,onClick:(0,n.withModifiers)(y,[`stop`])},[(0,n.createVNode)((0,n.unref)(r.ChevronRight),{class:(0,n.normalizeClass)([`tpl:transition-transform tpl:duration-150`,{"tpl:rotate-90":_.value}]),size:10,"stroke-width":2},null,8,[`class`])])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,U)),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-1.5`,onClick:i[0]||=t=>a(`navigate`,e.folder.id)},[(0,n.createVNode)((0,n.unref)(r.Folder),{class:`tpl:shrink-0`,size:14,"stroke-width":1.5}),c.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,W,(0,n.toDisplayString)(e.folder.name),1))]),c.value?(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`input`,{key:2,"onUpdate:modelValue":i[1]||=e=>l.value=e,type:`text`,class:`tpl:min-w-0 tpl:flex-1 tpl:rounded tpl:border tpl:px-1.5 tpl:py-0.5 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-primary)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},autofocus:``,onKeydown:[(0,n.withKeys)(x,[`enter`]),(0,n.withKeys)(S,[`escape`])],onBlur:x,onClick:i[2]||=(0,n.withModifiers)(()=>{},[`stop`])},null,544)),[[n.vModelText,l.value]]):(0,n.createCommentVNode)(``,!0),c.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,G,[m.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors`,title:(0,n.unref)(o).mediaLibrary.addSubfolder,onClick:(0,n.withModifiers)(C,[`stop`])},[(0,n.createVNode)((0,n.unref)(r.Plus),{size:12,"stroke-width":2})],8,K)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors`,title:(0,n.unref)(o).mediaLibrary.renameFolder,onClick:(0,n.withModifiers)(b,[`stop`])},[(0,n.createVNode)((0,n.unref)(r.Pencil),{size:12,"stroke-width":2})],8,q),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded tpl:transition-colors`,onClick:i[3]||=(0,n.withModifiers)(t=>a(`deleteFolder`,e.folder.id),[`stop`])},[(0,n.createVNode)((0,n.unref)(r.Trash2),{size:12,"stroke-width":2,style:{color:`var(--tpl-danger)`}})])]))],4),_.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,J,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.folder.children,t=>((0,n.openBlock)(),(0,n.createBlock)(s,{key:t.id,folder:t,"current-folder-id":e.currentFolderId,depth:e.depth+1,onNavigate:i[4]||=e=>a(`navigate`,e),onCreateFolder:i[5]||=(e,t)=>a(`createFolder`,e,t),onRenameFolder:i[6]||=(e,t)=>a(`renameFolder`,e,t),onDeleteFolder:i[7]||=e=>a(`deleteFolder`,e)},null,8,[`folder`,`current-folder-id`,`depth`]))),128)),u.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,style:(0,n.normalizeStyle)({paddingLeft:`${(e.depth+1)*16+8}px`}),class:`tpl:py-1.5 tpl:pr-2`},[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":i[8]||=e=>f.value=e,type:`text`,class:`tpl:w-full tpl:rounded tpl:border tpl:px-2 tpl:py-1 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-primary)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:(0,n.unref)(o).mediaLibrary.subfolderName,autofocus:``,onKeydown:[(0,n.withKeys)(w,[`enter`]),(0,n.withKeys)(T,[`escape`])],onBlur:w},null,40,he),[[n.vModelText,f.value]])],4)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)])}}}),_e={class:`tpl:flex tpl:h-full tpl:flex-col tpl:overflow-y-auto`},ve={key:0,class:`tpl:px-3 tpl:py-2`},ye=[`placeholder`],X=(0,n.defineComponent)({__name:`MediaFolderTree`,props:{folders:{},currentFolderId:{},viewMode:{},hasFrequentlyUsed:{type:Boolean}},emits:[`navigate`,`createFolder`,`renameFolder`,`deleteFolder`,`showFrequentlyUsed`],setup(e,{emit:t}){let i=t,{t:a}=d(),o=(0,n.ref)(!1),s=(0,n.ref)(``);function c(){o.value=!0,s.value=``}function l(){s.value.trim()&&i(`createFolder`,s.value.trim()),o.value=!1,s.value=``}function u(){o.value=!1,s.value=``}return(t,d)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_e,[(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({backgroundColor:e.viewMode===`files`&&e.currentFolderId===null?`var(--tpl-bg-active)`:`transparent`,color:e.viewMode===`files`&&e.currentFolderId===null?`var(--tpl-primary)`:`var(--tpl-text)`}),onClick:d[0]||=e=>i(`navigate`,null)},[(0,n.createVNode)((0,n.unref)(r.File),{size:14,"stroke-width":1.5}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.allFiles),1)],4),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.folders,t=>((0,n.openBlock)(),(0,n.createBlock)(ge,{key:t.id,folder:t,"current-folder-id":e.currentFolderId,depth:0,onNavigate:d[1]||=e=>i(`navigate`,e),onCreateFolder:d[2]||=(e,t)=>i(`createFolder`,e,t),onRenameFolder:d[3]||=(e,t)=>i(`renameFolder`,e,t),onDeleteFolder:d[4]||=e=>i(`deleteFolder`,e)},null,8,[`folder`,`current-folder-id`]))),128)),o.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ve,[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":d[5]||=e=>s.value=e,type:`text`,class:`tpl:w-full tpl:rounded tpl:border tpl:px-2 tpl:py-1 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-primary)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:(0,n.unref)(a).mediaLibrary.folderName,autofocus:``,onKeydown:[(0,n.withKeys)(l,[`enter`]),(0,n.withKeys)(u,[`escape`])],onBlur:l},null,40,ye),[[n.vModelText,s.value]])])):(0,n.createCommentVNode)(``,!0),o.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:transition-all tpl:duration-150`,style:{color:`var(--tpl-text-muted)`},onClick:c},[(0,n.createVNode)((0,n.unref)(r.Plus),{size:14,"stroke-width":1.5}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.newFolder),1)])),d[7]||=(0,n.createElementVNode)(`div`,{class:`tpl:flex-1`},null,-1),e.hasFrequentlyUsed?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:2,class:`tpl:flex tpl:w-full tpl:items-center tpl:gap-2 tpl:border-t tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({borderColor:`var(--tpl-border)`,backgroundColor:e.viewMode===`frequently-used`?`var(--tpl-bg-active)`:`transparent`,color:e.viewMode===`frequently-used`?`var(--tpl-primary)`:`var(--tpl-text)`}),onClick:d[6]||=e=>i(`showFrequentlyUsed`)},[(0,n.createVNode)((0,n.unref)(r.Star),{size:14,"stroke-width":1.5}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.frequentlyUsed),1)],4)):(0,n.createCommentVNode)(``,!0)]))}}),be={class:`tpl:flex tpl:aspect-square tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2`},Z=(0,n.defineComponent)({__name:`MediaFileIcon`,props:{mimeType:{}},setup(e){let t=e,r={"application/pdf":{label:`PDF`,color:`#dc2626`,bgColor:`#fef2f2`,icon:`document`},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{label:`DOC`,color:`#2563eb`,bgColor:`#eff6ff`,icon:`document`},"application/msword":{label:`DOC`,color:`#2563eb`,bgColor:`#eff6ff`,icon:`document`},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{label:`XLS`,color:`#16a34a`,bgColor:`#f0fdf4`,icon:`document`},"application/vnd.ms-excel":{label:`XLS`,color:`#16a34a`,bgColor:`#f0fdf4`,icon:`document`},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{label:`PPT`,color:`#ea580c`,bgColor:`#fff7ed`,icon:`document`},"application/vnd.ms-powerpoint":{label:`PPT`,color:`#ea580c`,bgColor:`#fff7ed`,icon:`document`},"text/csv":{label:`CSV`,color:`#16a34a`,bgColor:`#f0fdf4`,icon:`document`},"text/plain":{label:`TXT`,color:`#6b7280`,bgColor:`#f9fafb`,icon:`document`},"video/mp4":{label:`MP4`,color:`#9333ea`,bgColor:`#faf5ff`,icon:`video`},"video/quicktime":{label:`MOV`,color:`#9333ea`,bgColor:`#faf5ff`,icon:`video`},"video/webm":{label:`WEBM`,color:`#9333ea`,bgColor:`#faf5ff`,icon:`video`},"audio/mpeg":{label:`MP3`,color:`#0d9488`,bgColor:`#f0fdfa`,icon:`audio`},"audio/wav":{label:`WAV`,color:`#0d9488`,bgColor:`#f0fdfa`,icon:`audio`},"audio/ogg":{label:`OGG`,color:`#0d9488`,bgColor:`#f0fdfa`,icon:`audio`}},i={label:`FILE`,color:`#6b7280`,bgColor:`#f9fafb`,icon:`document`},a=(0,n.computed)(()=>r[t.mimeType]??i);return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,be,[a.value.icon===`document`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:0,width:`60`,height:`60`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,style:(0,n.normalizeStyle)({color:a.value.color})},[...t[0]||=[(0,n.createElementVNode)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`},null,-1),(0,n.createElementVNode)(`polyline`,{points:`14 2 14 8 20 8`},null,-1),(0,n.createElementVNode)(`line`,{x1:`8`,y1:`13`,x2:`16`,y2:`13`},null,-1),(0,n.createElementVNode)(`line`,{x1:`8`,y1:`17`,x2:`12`,y2:`17`},null,-1)]],4)):a.value.icon===`video`?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:1,width:`40`,height:`40`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,style:(0,n.normalizeStyle)({color:a.value.color})},[...t[1]||=[(0,n.createElementVNode)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),(0,n.createElementVNode)(`polygon`,{points:`10,8 16,12 10,16`,fill:`currentColor`,stroke:`none`},null,-1)]],4)):((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:2,width:`40`,height:`40`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,style:(0,n.normalizeStyle)({color:a.value.color})},[...t[2]||=[(0,n.createElementVNode)(`path`,{d:`M9 18V5l12-2v13`},null,-1),(0,n.createElementVNode)(`circle`,{cx:`6`,cy:`18`,r:`3`},null,-1),(0,n.createElementVNode)(`circle`,{cx:`18`,cy:`16`,r:`3`},null,-1)]],4)),(0,n.createElementVNode)(`span`,{class:`tpl:text-xs tpl:font-bold tpl:tracking-wider`,style:(0,n.normalizeStyle)({color:a.value.color})},(0,n.toDisplayString)(a.value.label),5)]))}}),xe={class:`tpl:p-4`},Se={key:1,class:`tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:py-16`},Ce={class:`tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},we={key:2,class:`tpl:grid tpl:grid-cols-4 tpl:gap-3`},Te=[`onClick`],Ee={class:`tpl:aspect-square`},De=[`src`,`alt`],Oe={class:`tpl:px-2 tpl:py-1.5`},ke={class:`tpl:truncate tpl:text-[10px] tpl:font-medium`,style:{color:`var(--tpl-text)`}},Ae={class:`tpl:flex tpl:justify-between tpl:text-[9px]`,style:{color:`var(--tpl-text-muted)`}},je={key:0},Me={class:`tpl:absolute tpl:top-1.5 tpl:left-1.5 tpl:flex tpl:gap-1 tpl:opacity-0 tpl:transition-opacity tpl:duration-150 tpl:group-hover:opacity-100`},Ne=[`title`,`onClick`],Pe=[`title`,`onClick`],Fe={key:0,class:`tpl:absolute tpl:top-1.5 tpl:right-1.5 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white`,style:{"background-color":`var(--tpl-primary)`}},Ie={key:3,class:`tpl:flex tpl:flex-col tpl:gap-1`},Le=[`onClick`],Re={class:`tpl:size-10 tpl:shrink-0 tpl:overflow-hidden tpl:rounded`,style:{"background-color":`var(--tpl-bg-hover)`}},ze=[`src`,`alt`],Be={key:1,class:`tpl-list-icon tpl:size-full`},Ve={class:`tpl:min-w-0 tpl:flex-1`},He={class:`tpl:truncate tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text)`}},Ue={class:`tpl:text-[10px]`,style:{color:`var(--tpl-text-muted)`}},We={class:`tpl:flex tpl:gap-1 tpl:opacity-0 tpl:transition-opacity tpl:duration-150 tpl:group-hover:opacity-100`},Ge=[`title`,`onClick`],Ke=[`title`,`onClick`],qe={key:0,class:`tpl:flex tpl:size-5 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white`,style:{"background-color":`var(--tpl-primary)`}},Je={key:4,class:`tpl:flex tpl:justify-center tpl:py-4`},Ye=V((0,n.defineComponent)({__name:`MediaGrid`,props:{items:{},selectedIds:{},isLoading:{type:Boolean},hasMore:{type:Boolean},accept:{},layout:{}},emits:[`select`,`toggle`,`loadMore`,`edit`,`replace`],setup(e,{emit:t}){let i=e,o=t,{isAcceptedMimeType:s,isImageMimeType:c}=g();function l(e){return!i.accept||i.accept.length===0?!0:s(e.mime_type,i.accept)}function u(e){o(`select`,e)}let{t:f}=d(),p=(0,n.ref)(null);(0,a.useIntersectionObserver)(p,([{isIntersecting:e}])=>{e&&i.hasMore&&!i.isLoading&&o(`loadMore`)},{threshold:.1});function m(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function h(e){return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}return(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xe,[e.isLoading&&e.items.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)(e.layout===`list`?`tpl:flex tpl:flex-col tpl:gap-1`:`tpl:grid tpl:grid-cols-4 tpl:gap-3`)},[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(8,t=>(0,n.createElementVNode)(`div`,{key:t,class:(0,n.normalizeClass)([`tpl-pulse tpl:rounded-lg`,e.layout===`list`?`tpl:h-12`:`tpl:aspect-square`]),style:{"background-color":`var(--tpl-bg-hover)`}},null,2)),64))],2)):e.items.length===0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Se,[(0,n.createVNode)((0,n.unref)(r.File),{class:`tpl:mb-3`,size:40,"stroke-width":1,style:{color:`var(--tpl-text-dim)`}}),(0,n.createElementVNode)(`p`,Ce,(0,n.toDisplayString)((0,n.unref)(f).mediaLibrary.noFiles),1)])):e.layout===`list`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ie,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.items,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.id,class:(0,n.normalizeClass)([`tpl-media-list-item tpl:group tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:transition-all tpl:duration-150`,[!l(t)&&!e.selectedIds.has(t.id)?`tpl:opacity-60`:``]]),style:(0,n.normalizeStyle)({backgroundColor:e.selectedIds.has(t.id)?`var(--tpl-bg-hover)`:`transparent`}),onClick:e=>u(t)},[(0,n.createElementVNode)(`div`,Re,[(0,n.unref)(c)(t.mime_type)?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:t.small_url||t.url,alt:t.filename,class:`tpl:size-full tpl:object-cover`,loading:`lazy`},null,8,ze)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Be,[(0,n.createVNode)(Z,{"mime-type":t.mime_type},null,8,[`mime-type`])]))]),(0,n.createElementVNode)(`div`,Ve,[(0,n.createElementVNode)(`p`,He,(0,n.toDisplayString)(t.filename),1),(0,n.createElementVNode)(`p`,Ue,[(0,n.createTextVNode)((0,n.toDisplayString)(m(t.size))+` · `+(0,n.toDisplayString)(h(t.created_at))+` `,1),(0,n.unref)(c)(t.mime_type)&&t.width&&t.height?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createTextVNode)(` · `+(0,n.toDisplayString)(t.width)+`×`+(0,n.toDisplayString)(t.height),1)],64)):(0,n.createCommentVNode)(``,!0)])]),(0,n.createElementVNode)(`div`,We,[(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded`,style:{color:`var(--tpl-text-muted)`},title:(0,n.unref)(f).mediaLibrary.editFile,onClick:(0,n.withModifiers)(e=>o(`edit`,t),[`stop`])},[(0,n.createVNode)((0,n.unref)(r.Pencil),{size:12,"stroke-width":2})],8,Ge),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded`,style:{color:`var(--tpl-text-muted)`},title:(0,n.unref)(f).mediaLibrary.replaceFile,onClick:(0,n.withModifiers)(e=>o(`replace`,t),[`stop`])},[(0,n.createVNode)((0,n.unref)(r.RefreshCw),{size:12,"stroke-width":2})],8,Ke)]),e.selectedIds.has(t.id)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,qe,[(0,n.createVNode)((0,n.unref)(r.Check),{size:12,"stroke-width":3})])):(0,n.createCommentVNode)(``,!0)],14,Le))),128))])):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,we,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.items,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.id,class:(0,n.normalizeClass)([`tpl-media-item tpl:group tpl:relative tpl:overflow-hidden tpl:rounded-lg tpl:border-2 tpl:transition-all tpl:duration-150`,[`tpl:cursor-pointer`,!l(t)&&!e.selectedIds.has(t.id)?`tpl:opacity-60`:``,e.selectedIds.has(t.id)?`tpl-media-item--selected`:``]]),style:(0,n.normalizeStyle)({borderColor:e.selectedIds.has(t.id)?`var(--tpl-primary)`:`transparent`,backgroundColor:!l(t)&&!e.selectedIds.has(t.id)?`var(--tpl-bg)`:`var(--tpl-bg-hover)`}),onClick:e=>u(t)},[(0,n.createElementVNode)(`div`,Ee,[(0,n.unref)(c)(t.mime_type)?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:t.small_url||t.url,alt:t.filename,class:`tpl:size-full tpl:object-cover`,loading:`lazy`},null,8,De)):((0,n.openBlock)(),(0,n.createBlock)(Z,{key:1,"mime-type":t.mime_type},null,8,[`mime-type`]))]),(0,n.createElementVNode)(`div`,Oe,[(0,n.createElementVNode)(`p`,ke,(0,n.toDisplayString)(t.filename),1),(0,n.createElementVNode)(`p`,Ae,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(m(t.size)),1),(0,n.unref)(c)(t.mime_type)&&t.width&&t.height?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,je,(0,n.toDisplayString)(t.width)+`×`+(0,n.toDisplayString)(t.height),1)):(0,n.createCommentVNode)(``,!0)])]),(0,n.createElementVNode)(`div`,Me,[(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white`,style:{"background-color":`rgba(0, 0, 0, 0.6)`},title:(0,n.unref)(f).mediaLibrary.editFile,onClick:(0,n.withModifiers)(e=>o(`edit`,t),[`stop`])},[(0,n.createVNode)((0,n.unref)(r.Pencil),{size:11,"stroke-width":2})],8,Ne),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-white`,style:{"background-color":`rgba(0, 0, 0, 0.6)`},title:(0,n.unref)(f).mediaLibrary.replaceFile,onClick:(0,n.withModifiers)(e=>o(`replace`,t),[`stop`])},[(0,n.createVNode)((0,n.unref)(r.RefreshCw),{size:11,"stroke-width":2})],8,Pe)]),e.selectedIds.has(t.id)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Fe,[(0,n.createVNode)((0,n.unref)(r.Check),{size:12,"stroke-width":3})])):(0,n.createCommentVNode)(``,!0)],14,Te))),128))])),(0,n.createElementVNode)(`div`,{ref_key:`sentinelRef`,ref:p,class:`tpl:h-4`},null,512),e.isLoading&&e.items.length>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Je,[(0,n.createVNode)((0,n.unref)(r.LoaderCircle),{class:`tpl-spinner`,size:20,"stroke-width":2,style:{color:`var(--tpl-primary)`}})])):(0,n.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-9db961d1`]]),Xe=[`data-tpl-theme`],Ze={class:`tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-lg tpl:p-5 tpl:shadow-xl`,style:{"background-color":`var(--tpl-bg-elevated)`}},Qe={class:`tpl:mb-4 tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},$e={class:`tpl:mb-3`},et=[`placeholder`,`disabled`],tt={key:0,class:`tpl:mb-3 tpl:text-xs`,style:{color:`var(--tpl-danger)`}},nt={class:`tpl:flex tpl:justify-end tpl:gap-2`},rt=[`disabled`],it=[`disabled`],at={key:0,class:`tpl:flex tpl:items-center tpl:gap-1.5`},ot={key:1},st=(0,n.defineComponent)({__name:`MediaImportUrlModal`,props:{visible:{type:Boolean},isImporting:{type:Boolean},error:{}},emits:[`import`,`close`],setup(e,{emit:t}){let i=e,a=t,{t:o}=d(),s=(0,n.inject)(`tplUiTheme`),c=(0,n.ref)(``);(0,n.watch)(()=>i.visible,e=>{e&&(c.value=``)});function l(){let e=c.value.trim();!e||i.isImporting||a(`import`,e)}function u(){i.isImporting||a(`close`)}function f(e){e.key===`Enter`&&(e.preventDefault(),l()),e.key===`Escape`&&u()}return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[e.visible?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-tpl-theme":(0,n.unref)(s),class:`tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center`,style:{"background-color":`var(--tpl-overlay)`},onClick:(0,n.withModifiers)(u,[`self`]),onKeydown:f},[(0,n.createElementVNode)(`div`,Ze,[(0,n.createElementVNode)(`h3`,Qe,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.importFromUrl),1),(0,n.createElementVNode)(`div`,$e,[(0,n.withDirectives)((0,n.createElementVNode)(`input`,{"onUpdate:modelValue":i[0]||=e=>c.value=e,type:`url`,class:`tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:(0,n.unref)(o).mediaLibrary.importUrlPlaceholder,disabled:e.isImporting,autofocus:``},null,8,et),[[n.vModelText,c.value]])]),e.error?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,tt,(0,n.toDisplayString)(e.error),1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,nt,[(0,n.createElementVNode)(`button`,{class:(0,n.normalizeClass)([`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,{"tpl:cursor-not-allowed tpl:opacity-50":e.isImporting}]),style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},disabled:e.isImporting,onClick:u},(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.cancel),11,rt),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50`,style:{background:`linear-gradient(
|
|
6
6
|
135deg,
|
|
7
7
|
var(--tpl-primary),
|
|
8
8
|
var(--tpl-primary-hover)
|
|
9
|
-
)`},disabled:!i.value.trim()||t.isImporting,onClick:d},[t.isImporting?(e.openBlock(),e.createElementBlock("span",hl,[e.createVNode(e.unref(V.Loader2),{class:"tpl:animate-spin",size:12,"stroke-width":2}),e.createTextVNode(" "+e.toDisplayString(e.unref(r).mediaLibrary.importing),1)])):(e.openBlock(),e.createElementBlock("span",bl,e.toDisplayString(e.unref(r).mediaLibrary.import),1))],8,gl)])])],32)):e.createCommentVNode("",!0)]),_:1})]))}}),kl={class:"tpl:max-h-56 tpl:overflow-y-auto tpl:py-1"},xl=["disabled","onClick"],wl={class:"tpl:truncate"},El={key:0,class:"tpl:shrink-0",style:{color:"var(--tpl-text-dim)"}},Ce=e.defineComponent({__name:"MediaMovePicker",props:{folders:{},currentFolderId:{}},emits:["select","close"],setup(t,{emit:o}){const l=o,{t:a}=K(),r=e.ref(null);function i(d,m=0){var g;const p=[];for(const u of d)p.push({id:u.id,name:u.name,depth:m}),(g=u.children)!=null&&g.length&&p.push(...i(u.children,m+1));return p}return te.onClickOutside(r,()=>{l("close")}),(d,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"pickerRef",ref:r,class:"tpl:absolute tpl:bottom-full tpl:left-0 tpl:z-10 tpl:mb-2 tpl:w-56 tpl:overflow-hidden tpl:rounded-lg tpl:border tpl:shadow-lg",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg-elevated)"}},[e.createElementVNode("div",kl,[t.currentFolderId!==null?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:w-full tpl:items-center tpl:gap-1.5 tpl:px-3 tpl:py-1.5 tpl:text-left tpl:text-xs tpl:transition-colors tpl:duration-100",style:{color:"var(--tpl-text)"},onClick:m[0]||(m[0]=p=>l("select",null))},[e.createVNode(e.unref(V.File),{class:"tpl:shrink-0",size:14,"stroke-width":1.5}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).mediaLibrary.moveToRoot),1)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(t.folders),p=>(e.openBlock(),e.createElementBlock("button",{key:p.id,class:"tpl:flex tpl:w-full tpl:items-center tpl:gap-1.5 tpl:py-1.5 tpl:pr-3 tpl:text-left tpl:text-xs tpl:transition-colors tpl:duration-100",style:e.normalizeStyle({paddingLeft:`${p.depth*16+12}px`,color:p.id===t.currentFolderId?"var(--tpl-text-dim)":"var(--tpl-text)",opacity:p.id===t.currentFolderId?.5:1}),disabled:p.id===t.currentFolderId,onClick:g=>l("select",p.id)},[e.createVNode(e.unref(V.Folder),{class:"tpl:shrink-0",size:14,"stroke-width":1.5}),e.createElementVNode("span",wl,e.toDisplayString(p.name),1),p.id===t.currentFolderId?(e.openBlock(),e.createElementBlock("span",El,e.toDisplayString(e.unref(a).mediaLibrary.currentFolder),1)):e.createCommentVNode("",!0)],12,xl))),128))])],512))}}),_l={class:"tpl:flex tpl:items-center tpl:gap-3"},Nl=["src","alt"],Cl={key:1,class:"tpl:flex tpl:size-10 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:overflow-hidden tpl:rounded",style:{border:"1px solid var(--tpl-border)"}},Bl={class:"tpl:min-w-0 tpl:flex-1"},Vl={class:"tpl:truncate tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text)"}},Fl={class:"tpl:mt-0.5 tpl:text-[10px]",style:{color:"var(--tpl-text-muted)"}},Sl={key:2,class:"tpl:shrink-0"},vl={class:"tpl:block tpl:text-[10px]",style:{color:"var(--tpl-text-muted)"}},$l=["value"],Ml=["value"],Be=ge(e.defineComponent({__name:"MediaPreviewPanel",props:{item:{},folders:{},selectedConversion:{}},emits:["update:selectedConversion"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),{isImageMimeType:i}=ne(),d=e.computed(()=>{if(!k.value||!l.item.conversions_generated)return[];const f=[];return l.item.small_url&&f.push({value:"small",label:r.mediaLibrary.conversionSmall,url:l.item.small_url}),l.item.medium_url&&f.push({value:"medium",label:r.mediaLibrary.conversionMedium,url:l.item.medium_url}),l.item.large_url&&f.push({value:"large",label:r.mediaLibrary.conversionLarge,url:l.item.large_url}),f.push({value:"original",label:r.mediaLibrary.conversionOriginal,url:l.item.url}),f}),m=e.computed(()=>k.value&&d.value.length>1),p=e.computed(()=>{if(!k.value)return null;switch(l.selectedConversion){case"small":return l.item.small_url||l.item.url;case"medium":return l.item.medium_url||l.item.url;case"large":return l.item.large_url||l.item.url;default:return l.item.url}});function g(f){const B=f.target;a("update:selectedConversion",B.value)}function u(f,B,s=[]){for(const v of f){const M=[...s,v.name];if(v.id===B)return M;if(v.children){const U=u(v.children,B,M);if(U)return U}}return null}const x=e.computed(()=>{if(!l.item.folder_id||!l.folders)return null;const f=u(l.folders,l.item.folder_id);return f?f.join("/"):null}),k=e.computed(()=>i(l.item.mime_type));function C(f){return f<1024?`${f} B`:f<1024*1024?`${(f/1024).toFixed(1)} KB`:`${(f/(1024*1024)).toFixed(1)} MB`}function n(f){return new Date(f).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}return(f,B)=>(e.openBlock(),e.createElementBlock("div",_l,[k.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:p.value??void 0,alt:t.item.alt_text||t.item.filename,class:"tpl:size-10 tpl:shrink-0 tpl:rounded tpl:object-cover",style:{border:"1px solid var(--tpl-border)"}},null,8,Nl)):(e.openBlock(),e.createElementBlock("div",Cl,[e.createVNode(he,{"mime-type":t.item.mime_type,class:"tpl-preview-icon"},null,8,["mime-type"])])),e.createElementVNode("div",Bl,[e.createElementVNode("p",Vl,e.toDisplayString(t.item.filename),1),e.createElementVNode("p",Fl,[e.createTextVNode(e.toDisplayString(C(t.item.size))+" · "+e.toDisplayString(n(t.item.created_at))+" ",1),k.value&&t.item.width&&t.item.height?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" · "+e.toDisplayString(t.item.width)+"×"+e.toDisplayString(t.item.height)+"px ",1)],64)):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[B[0]||(B[0]=e.createTextVNode(" · ",-1)),e.createVNode(e.unref(V.Folder),{class:"tpl:mb-px tpl:inline",size:9,"stroke-width":2}),e.createTextVNode(" "+e.toDisplayString(x.value),1)],64)):e.createCommentVNode("",!0)]),k.value?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["tpl:mt-0.5 tpl:truncate tpl:text-[10px] tpl:italic",{"tpl:invisible":!t.item.alt_text}]),style:{color:"var(--tpl-text-dim)"}},e.toDisplayString(t.item.alt_text||" "),3)):e.createCommentVNode("",!0)]),m.value?(e.openBlock(),e.createElementBlock("div",Sl,[e.createElementVNode("label",vl,e.toDisplayString(e.unref(r).mediaLibrary.conversionLabel),1),e.createElementVNode("select",{class:"tpl:mt-0.5 tpl:rounded-md tpl:border tpl:py-1 tpl:pr-6 tpl:pl-2 tpl:text-xs tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},value:t.selectedConversion,onChange:g},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,s=>(e.openBlock(),e.createElementBlock("option",{key:s.value,value:s.value},e.toDisplayString(s.label),9,Ml))),128))],40,$l)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-3c9c60c7"]]),Dl={class:"tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-lg tpl:p-5 tpl:shadow-xl",style:{"background-color":"var(--tpl-bg-elevated)"}},Ll={class:"tpl:mb-2 tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},Il={class:"tpl:mb-2 tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},zl={key:0,class:"tpl:mb-3 tpl:text-xs",style:{color:"var(--tpl-warning)"}},Ul={class:"tpl:mb-3 tpl:rounded tpl:border tpl:p-2",style:{"border-color":"var(--tpl-border)"}},Tl={class:"tpl:truncate tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text)"}},Pl={class:"tpl:mb-4"},jl={class:"tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text-muted)"}},Rl=["accept"],Al={key:1,class:"tpl:mb-3 tpl:text-xs",style:{color:"var(--tpl-danger)"}},Ol={class:"tpl:flex tpl:justify-end tpl:gap-2"},ql=["disabled"],Wl=["disabled"],Ve=e.defineComponent({__name:"MediaReplaceModal",props:{visible:{type:Boolean},item:{},usageInfo:{},isReplacing:{type:Boolean},error:{}},emits:["replace","close"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=e.ref(null),d=e.ref(null),m=e.computed(()=>{if(!l.item)return"";const C=l.item.filename.split(".");return C.length>1?C[C.length-1].toLowerCase():""}),p=e.computed(()=>m.value?`.${m.value}`:"*"),g=e.computed(()=>{var C;return(((C=l.usageInfo)==null?void 0:C.template_count)??0)>0});e.watch(()=>l.visible,C=>{C||(d.value=null,i.value&&(i.value.value=""))});function u(C){const n=C.target;n.files&&n.files.length>0&&(d.value=n.files[0])}function x(){d.value&&a("replace",d.value)}function k(C){C.key==="Escape"&&a("close")}return(C,n)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>[t.visible&&t.item?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center",style:{"background-color":"var(--tpl-overlay)"},onClick:n[1]||(n[1]=e.withModifiers(f=>a("close"),["self"])),onKeydown:k},[e.createElementVNode("div",Dl,[e.createElementVNode("h3",Ll,e.toDisplayString(e.unref(r).mediaLibrary.replaceWarningTitle),1),e.createElementVNode("p",Il,e.toDisplayString(e.unref(r).mediaLibrary.replaceWarningMessage.replace("{extension}",`.${m.value}`)),1),g.value?(e.openBlock(),e.createElementBlock("p",zl,e.toDisplayString(e.unref(r).mediaLibrary.replaceWarningUsageNote.replace("{count}",t.usageInfo.template_count.toString())),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Ul,[e.createElementVNode("p",Tl,e.toDisplayString(t.item.filename),1)]),e.createElementVNode("div",Pl,[e.createElementVNode("label",jl,e.toDisplayString(e.unref(r).mediaLibrary.replaceSelectFile),1),e.createElementVNode("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:p.value,class:"tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},onChange:u},null,40,Rl)]),t.error?(e.openBlock(),e.createElementBlock("p",Al,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Ol,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},disabled:t.isReplacing,onClick:n[0]||(n[0]=f=>a("close"))},e.toDisplayString(e.unref(r).mediaLibrary.cancel),9,ql),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50",style:{background:`linear-gradient(
|
|
9
|
+
)`},disabled:!c.value.trim()||e.isImporting,onClick:l},[e.isImporting?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,at,[(0,n.createVNode)((0,n.unref)(r.LoaderCircle),{class:`tpl:animate-spin`,size:12,"stroke-width":2}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.importing),1)])):((0,n.openBlock)(),(0,n.createElementBlock)(`span`,ot,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.import),1))],8,it)])])],40,Xe)):(0,n.createCommentVNode)(``,!0)]),_:1})]))}}),ct={class:`tpl:max-h-56 tpl:overflow-y-auto tpl:py-1`},lt=[`disabled`,`onClick`],ut={class:`tpl:truncate`},dt={key:0,class:`tpl:shrink-0`,style:{color:`var(--tpl-text-dim)`}},ft=(0,n.defineComponent)({__name:`MediaMovePicker`,props:{folders:{},currentFolderId:{}},emits:[`select`,`close`],setup(e,{emit:t}){let i=t,{t:o}=d(),s=(0,n.ref)(null);function c(e,t=0){let n=[];for(let r of e)n.push({id:r.id,name:r.name,depth:t}),r.children?.length&&n.push(...c(r.children,t+1));return n}return(0,a.onClickOutside)(s,()=>{i(`close`)}),(t,a)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`pickerRef`,ref:s,class:`tpl:absolute tpl:bottom-full tpl:left-0 tpl:z-10 tpl:mb-2 tpl:w-56 tpl:overflow-hidden tpl:rounded-lg tpl:border tpl:shadow-lg`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg-elevated)`}},[(0,n.createElementVNode)(`div`,ct,[e.currentFolderId===null?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:w-full tpl:items-center tpl:gap-1.5 tpl:px-3 tpl:py-1.5 tpl:text-left tpl:text-xs tpl:transition-colors tpl:duration-100`,style:{color:`var(--tpl-text)`},onClick:a[0]||=e=>i(`select`,null)},[(0,n.createVNode)((0,n.unref)(r.File),{class:`tpl:shrink-0`,size:14,"stroke-width":1.5}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.moveToRoot),1)])),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c(e.folders),t=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:t.id,class:`tpl:flex tpl:w-full tpl:items-center tpl:gap-1.5 tpl:py-1.5 tpl:pr-3 tpl:text-left tpl:text-xs tpl:transition-colors tpl:duration-100`,style:(0,n.normalizeStyle)({paddingLeft:`${t.depth*16+12}px`,color:t.id===e.currentFolderId?`var(--tpl-text-dim)`:`var(--tpl-text)`,opacity:t.id===e.currentFolderId?.5:1}),disabled:t.id===e.currentFolderId,onClick:e=>i(`select`,t.id)},[(0,n.createVNode)((0,n.unref)(r.Folder),{class:`tpl:shrink-0`,size:14,"stroke-width":1.5}),(0,n.createElementVNode)(`span`,ut,(0,n.toDisplayString)(t.name),1),t.id===e.currentFolderId?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,dt,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.currentFolder),1)):(0,n.createCommentVNode)(``,!0)],12,lt))),128))])],512))}}),pt={class:`tpl:flex tpl:items-center tpl:gap-3`},mt=[`src`,`alt`],ht={key:1,class:`tpl:flex tpl:size-10 tpl:shrink-0 tpl:items-center tpl:justify-center tpl:overflow-hidden tpl:rounded`,style:{border:`1px solid var(--tpl-border)`}},gt={class:`tpl:min-w-0 tpl:flex-1`},_t={class:`tpl:truncate tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text)`}},vt={class:`tpl:mt-0.5 tpl:text-[10px]`,style:{color:`var(--tpl-text-muted)`}},yt={key:2,class:`tpl:shrink-0`},bt={class:`tpl:block tpl:text-[10px]`,style:{color:`var(--tpl-text-muted)`}},xt=[`value`],St=[`value`],Ct=V((0,n.defineComponent)({__name:`MediaPreviewPanel`,props:{item:{},folders:{},selectedConversion:{}},emits:[`update:selectedConversion`],setup(e,{emit:t}){let i=e,a=t,{t:o}=d(),{isImageMimeType:s}=g(),c=(0,n.computed)(()=>{if(!h.value||!i.item.conversions_generated)return[];let e=[];return i.item.small_url&&e.push({value:`small`,label:o.mediaLibrary.conversionSmall,url:i.item.small_url}),i.item.medium_url&&e.push({value:`medium`,label:o.mediaLibrary.conversionMedium,url:i.item.medium_url}),i.item.large_url&&e.push({value:`large`,label:o.mediaLibrary.conversionLarge,url:i.item.large_url}),e.push({value:`original`,label:o.mediaLibrary.conversionOriginal,url:i.item.url}),e}),l=(0,n.computed)(()=>h.value&&c.value.length>1),u=(0,n.computed)(()=>{if(!h.value)return null;switch(i.selectedConversion){case`small`:return i.item.small_url||i.item.url;case`medium`:return i.item.medium_url||i.item.url;case`large`:return i.item.large_url||i.item.url;default:return i.item.url}});function f(e){let t=e.target;a(`update:selectedConversion`,t.value)}function p(e,t,n=[]){for(let r of e){let e=[...n,r.name];if(r.id===t)return e;if(r.children){let n=p(r.children,t,e);if(n)return n}}return null}let m=(0,n.computed)(()=>{if(!i.item.folder_id||!i.folders)return null;let e=p(i.folders,i.item.folder_id);return e?e.join(`/`):null}),h=(0,n.computed)(()=>s(i.item.mime_type));function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function v(e){return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}return(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,pt,[h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`img`,{key:0,src:u.value??void 0,alt:e.item.alt_text||e.item.filename,class:`tpl:size-10 tpl:shrink-0 tpl:rounded tpl:object-cover`,style:{border:`1px solid var(--tpl-border)`}},null,8,mt)):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ht,[(0,n.createVNode)(Z,{"mime-type":e.item.mime_type,class:`tpl-preview-icon`},null,8,[`mime-type`])])),(0,n.createElementVNode)(`div`,gt,[(0,n.createElementVNode)(`p`,_t,(0,n.toDisplayString)(e.item.filename),1),(0,n.createElementVNode)(`p`,vt,[(0,n.createTextVNode)((0,n.toDisplayString)(_(e.item.size))+` · `+(0,n.toDisplayString)(v(e.item.created_at))+` `,1),h.value&&e.item.width&&e.item.height?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createTextVNode)(` · `+(0,n.toDisplayString)(e.item.width)+`×`+(0,n.toDisplayString)(e.item.height)+`px `,1)],64)):(0,n.createCommentVNode)(``,!0),m.value?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[i[0]||=(0,n.createTextVNode)(` · `,-1),(0,n.createVNode)((0,n.unref)(r.Folder),{class:`tpl:mb-px tpl:inline`,size:9,"stroke-width":2}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(m.value),1)],64)):(0,n.createCommentVNode)(``,!0)]),h.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,{key:0,class:(0,n.normalizeClass)([`tpl:mt-0.5 tpl:truncate tpl:text-[10px] tpl:italic`,{"tpl:invisible":!e.item.alt_text}]),style:{color:`var(--tpl-text-dim)`}},(0,n.toDisplayString)(e.item.alt_text||`\xA0`),3)):(0,n.createCommentVNode)(``,!0)]),l.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,yt,[(0,n.createElementVNode)(`label`,bt,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.conversionLabel),1),(0,n.createElementVNode)(`select`,{class:`tpl:mt-0.5 tpl:rounded-md tpl:border tpl:py-1 tpl:pr-6 tpl:pl-2 tpl:text-xs tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},value:e.selectedConversion,onChange:f},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(c.value,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e.value,value:e.value},(0,n.toDisplayString)(e.label),9,St))),128))],40,xt)])):(0,n.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-060e36cd`]]),wt=[`data-tpl-theme`],Tt={class:`tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-lg tpl:p-5 tpl:shadow-xl`,style:{"background-color":`var(--tpl-bg-elevated)`}},Et={class:`tpl:mb-2 tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},Dt={class:`tpl:mb-2 tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},Ot={key:0,class:`tpl:mb-3 tpl:text-xs`,style:{color:`var(--tpl-warning)`}},kt={class:`tpl:mb-3 tpl:rounded tpl:border tpl:p-2`,style:{"border-color":`var(--tpl-border)`}},At={class:`tpl:truncate tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text)`}},jt={class:`tpl:mb-4`},Mt={class:`tpl:mb-1 tpl:block tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text-muted)`}},Nt=[`accept`],Pt={key:1,class:`tpl:mb-3 tpl:text-xs`,style:{color:`var(--tpl-danger)`}},Ft={class:`tpl:flex tpl:justify-end tpl:gap-2`},It=[`disabled`],Lt=[`disabled`],Rt=(0,n.defineComponent)({__name:`MediaReplaceModal`,props:{visible:{type:Boolean},item:{},usageInfo:{},isReplacing:{type:Boolean},error:{}},emits:[`replace`,`close`],setup(e,{emit:t}){let r=e,i=t,{t:a}=d(),o=(0,n.inject)(`tplUiTheme`),s=(0,n.ref)(null),c=(0,n.ref)(null),l=(0,n.computed)(()=>{if(!r.item)return``;let e=r.item.filename.split(`.`);return e.length>1?e[e.length-1].toLowerCase():``}),u=(0,n.computed)(()=>l.value?`.${l.value}`:`*`),f=(0,n.computed)(()=>(r.usageInfo?.template_count??0)>0);(0,n.watch)(()=>r.visible,e=>{e||(c.value=null,s.value&&(s.value.value=``))});function p(e){let t=e.target;t.files&&t.files.length>0&&(c.value=t.files[0])}function m(){c.value&&i(`replace`,c.value)}function h(e){e.key===`Escape`&&i(`close`)}return(t,r)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[e.visible&&e.item?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-tpl-theme":(0,n.unref)(o),class:`tpl tpl:fixed tpl:inset-0 tpl:z-[10000] tpl:flex tpl:items-center tpl:justify-center`,style:{"background-color":`var(--tpl-overlay)`},onClick:r[1]||=(0,n.withModifiers)(e=>i(`close`),[`self`]),onKeydown:h},[(0,n.createElementVNode)(`div`,Tt,[(0,n.createElementVNode)(`h3`,Et,(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.replaceWarningTitle),1),(0,n.createElementVNode)(`p`,Dt,(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.replaceWarningMessage.replace(`{extension}`,`.${l.value}`)),1),f.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Ot,(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.replaceWarningUsageNote.replace(`{count}`,e.usageInfo.template_count.toString())),1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,kt,[(0,n.createElementVNode)(`p`,At,(0,n.toDisplayString)(e.item.filename),1)]),(0,n.createElementVNode)(`div`,jt,[(0,n.createElementVNode)(`label`,Mt,(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.replaceSelectFile),1),(0,n.createElementVNode)(`input`,{ref_key:`fileInputRef`,ref:s,type:`file`,accept:u.value,class:`tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},onChange:p},null,40,Nt)]),e.error?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,Pt,(0,n.toDisplayString)(e.error),1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Ft,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},disabled:e.isReplacing,onClick:r[0]||=e=>i(`close`)},(0,n.toDisplayString)((0,n.unref)(a).mediaLibrary.cancel),9,It),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white tpl:transition-all tpl:duration-150 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50`,style:{background:`linear-gradient(
|
|
10
10
|
135deg,
|
|
11
11
|
var(--tpl-primary),
|
|
12
12
|
var(--tpl-primary-hover)
|
|
13
|
-
)`},disabled:!d.value||t.isReplacing,onClick:x},e.toDisplayString(t.isReplacing?e.unref(r).mediaLibrary.replacing:e.unref(r).mediaLibrary.replace),9,Wl)])])],32)):e.createCommentVNode("",!0)]),_:1})]))}}),Kl={key:0,class:"tpl:flex tpl:items-center tpl:gap-2"},Gl={class:"tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},Hl={class:"tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},Zl={class:"tpl:mt-1 tpl:text-[10px]",style:{color:"var(--tpl-text-dim)"}},Fe=e.defineComponent({__name:"MediaUploadZone",props:{isUploading:{type:Boolean},uploadProgress:{}},emits:["upload"],setup(t,{emit:o}){const l=o,{t:a,format:r}=K(),{allAcceptedMimeTypes:i,allAcceptedInputString:d,maxFileSize:m}=ne(),p=e.ref();function g(n){const f=[];for(const B of Array.from(n))i.value.includes(B.type)&&B.size<=m.value&&f.push(B);return f}function u(n){const f=g(n);f.length&&l("upload",f)}const{isOverDropZone:x}=te.useDropZone(p,{onDrop:n=>{n!=null&&n.length&&u(n)}}),{open:k,onChange:C}=te.useFileDialog({accept:d.value,multiple:!0});return C(n=>{n!=null&&n.length&&u(n)}),(n,f)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropZoneRef",ref:p,class:e.normalizeClass(["tpl-upload-zone tpl:flex tpl:cursor-pointer tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-lg tpl:border-2 tpl:border-dashed tpl:p-5 tpl:text-center tpl:transition-all tpl:duration-150",e.unref(x)?"tpl-upload-zone-active":""]),style:{"border-color":"var(--tpl-border-light)","background-color":"var(--tpl-bg)"},onClick:f[0]||(f[0]=B=>e.unref(k)())},[t.isUploading?(e.openBlock(),e.createElementBlock("div",Kl,[e.createVNode(e.unref(V.Loader2),{class:"tpl-spinner",size:20,"stroke-width":2,style:{color:"var(--tpl-primary)"}}),e.createElementVNode("span",Gl,e.toDisplayString(t.uploadProgress&&t.uploadProgress.total>1?e.unref(r)(e.unref(a).mediaLibrary.uploadingProgress,{current:t.uploadProgress.current,total:t.uploadProgress.total}):e.unref(a).mediaLibrary.uploading),1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(V.Upload),{class:"tpl:mb-2",size:24,"stroke-width":1.5,style:{color:"var(--tpl-text-dim)"}}),e.createElementVNode("p",Hl,e.toDisplayString(e.unref(a).mediaLibrary.dropOrClick),1),e.createElementVNode("p",Zl,e.toDisplayString(e.unref(a).mediaLibrary.acceptedFormats),1)],64))],2))}}),Jl=["width","height","viewBox"],Xl=["cx","cy","r","stroke-width"],Ql=["cx","cy","r","stroke-width","stroke","stroke-dasharray","stroke-dashoffset"],Yl={key:0,class:"tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:-translate-x-1/2 tpl:rounded-md tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:whitespace-nowrap tpl:shadow-lg",style:{"background-color":"var(--tpl-text)",color:"var(--tpl-bg-elevated)"}},Se=e.defineComponent({__name:"StorageProgressRing",props:{usedBytes:{},limitBytes:{},size:{}},setup(t){const o=t,{t:l,format:a}=K(),r=e.ref(!1),i=e.computed(()=>o.size??24),d=e.computed(()=>Math.max(2,i.value/8)),m=e.computed(()=>(i.value-d.value)/2),p=e.computed(()=>2*Math.PI*m.value),g=e.computed(()=>o.limitBytes<=0?0:Math.min(100,o.usedBytes/o.limitBytes*100)),u=e.computed(()=>p.value-g.value/100*p.value),x=e.computed(()=>g.value>=95?"var(--tpl-danger)":g.value>=75?"var(--tpl-warning, #f59e0b)":"var(--tpl-primary)");function k(v){if(v===0)return"0 B";const M=1024,U=["B","KB","MB","GB"],c=Math.floor(Math.log(v)/Math.log(M)),W=v/Math.pow(M,c),P=c>=2?1:0;return`${W.toFixed(P)} ${U[c]}`}const C=e.computed(()=>k(o.usedBytes)),n=e.computed(()=>k(o.limitBytes)),f=e.computed(()=>Math.max(0,o.limitBytes-o.usedBytes)),B=e.computed(()=>k(f.value)),s=e.computed(()=>a(l.mediaLibrary.storageTooltip,{used:C.value,total:n.value,remaining:B.value}));return(v,M)=>(e.openBlock(),e.createElementBlock("div",{class:"tpl:relative tpl:inline-flex tpl:cursor-help tpl:items-center tpl:justify-center",onMouseenter:M[0]||(M[0]=U=>r.value=!0),onMouseleave:M[1]||(M[1]=U=>r.value=!1)},[(e.openBlock(),e.createElementBlock("svg",{width:i.value,height:i.value,class:"tpl:-rotate-90",viewBox:`0 0 ${i.value} ${i.value}`},[e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:m.value,fill:"none","stroke-width":d.value,style:{stroke:"var(--tpl-border)"}},null,8,Xl),e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:m.value,fill:"none","stroke-width":d.value,stroke:x.value,"stroke-linecap":"round","stroke-dasharray":p.value,"stroke-dashoffset":u.value,class:"tpl:transition-all tpl:duration-300 tpl:ease-out"},null,8,Ql)],8,Jl)),e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0 tpl:translate-y-1","enter-to-class":"tpl:opacity-100 tpl:translate-y-0","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100 tpl:translate-y-0","leave-to-class":"tpl:opacity-0 tpl:translate-y-1"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",Yl,[e.createTextVNode(e.toDisplayString(s.value)+" ",1),M[2]||(M[2]=e.createElementVNode("div",{class:"tpl:absolute tpl:-top-1 tpl:left-1/2 tpl:size-2 tpl:-translate-x-1/2 tpl:rotate-45",style:{"background-color":"var(--tpl-text)"}},null,-1))])):e.createCommentVNode("",!0)]),_:1})],32))}}),er={class:"tpl-media-modal tpl-scale-in tpl:flex tpl:flex-col tpl:overflow-hidden tpl:rounded-[var(--tpl-radius-lg)]",style:{width:"900px",height:"650px","max-width":"95vw","max-height":"90vh","background-color":"var(--tpl-bg-elevated)",border:"1px solid var(--tpl-border)","box-shadow":"var(--tpl-shadow-xl)"}},tr={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-5 tpl:py-3.5",style:{"border-color":"var(--tpl-border)"}},lr={class:"tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},rr={class:"tpl:flex tpl:items-center tpl:gap-3"},or={class:"tpl:relative"},ar=["value","placeholder"],nr={class:"tpl:flex tpl:min-h-0 tpl:flex-1 tpl:overflow-hidden"},ir={key:0,class:"tpl:flex tpl:w-48 tpl:shrink-0 tpl:flex-col tpl:border-r",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)"}},sr={class:"tpl:flex tpl:min-w-0 tpl:flex-1 tpl:flex-col"},cr={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-4 tpl:py-2.5",style:{"border-color":"var(--tpl-border)"}},dr={class:"tpl:flex tpl:items-center tpl:gap-2"},pr=["title"],mr={key:1,class:"tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text)"}},fr={class:"tpl:flex tpl:rounded-md tpl:p-0.5",style:{border:"1px solid var(--tpl-border)","background-color":"var(--tpl-bg)"}},ur=["title"],yr=["title"],gr={class:"tpl:flex tpl:items-center tpl:gap-2"},hr=["value"],br={value:""},kr=["value"],xr=["value"],wr={value:"newest"},Er={value:"oldest"},_r={value:"name_asc"},Nr={value:"name_desc"},Cr={value:"size_asc"},Br={value:"size_desc"},Vr={class:"tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto"},Fr={key:0,class:"tpl:px-4 tpl:pt-3"},Sr={class:"tpl-scale-in tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-[var(--tpl-radius-lg)] tpl:p-5",style:{"background-color":"var(--tpl-bg-elevated)","box-shadow":"var(--tpl-shadow-xl)"}},vr={class:"tpl:mb-2 tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},$r={key:0,class:"tpl:mb-4 tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},Mr={key:1,class:"tpl:mb-4 tpl:max-h-32 tpl:overflow-y-auto tpl:rounded tpl:border tpl:p-2",style:{"border-color":"var(--tpl-border)"}},Dr={class:"tpl:font-medium"},Lr={style:{color:"var(--tpl-text-muted)"}},Ir={class:"tpl:flex tpl:justify-end tpl:gap-2"},zr={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-t tpl:px-5 tpl:py-3",style:{"border-color":"var(--tpl-border)"}},Ur={class:"tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-3"},Tr={class:"tpl:flex tpl:items-center tpl:gap-5"},Pr={key:0,class:"tpl:flex tpl:items-center tpl:gap-2"},jr={key:1,class:"tpl:relative"},Rr={class:"tpl:flex tpl:items-center tpl:gap-2"},Ar=["disabled"],Or=e.defineComponent({__name:"MediaLibraryModal",props:{visible:{type:Boolean},accept:{}},emits:["close","select"],setup(t,{emit:o}){const l=t,a=o,{t:r}=K(),i=e.inject("authManager"),d=e.inject("projectId"),m=e.computed(()=>d.value),p=e.inject("planConfig"),g=e.computed(()=>p.hasFeature("media_folders")),u=e.computed(()=>p.hasFeature("import_from_url")),x=e.computed(()=>{var b;return((b=p.config.value)==null?void 0:b.storage.used_bytes)??0}),k=e.computed(()=>{var b;return((b=p.config.value)==null?void 0:b.storage.limit_bytes)??0}),{isAcceptedMimeType:C,availableCategories:n}=ne(),f={images:()=>r.mediaLibrary.filterImages,documents:()=>r.mediaLibrary.filterDocuments,videos:()=>r.mediaLibrary.filterVideos,audio:()=>r.mediaLibrary.filterAudio};function B(b){var _;return((_=f[b])==null?void 0:_.call(f))??b}const s=e.ref("grid"),v=e.ref(!1),M=e.ref(""),U=e.ref("original"),c=ye({projectId:m.value,authManager:i}),W=e.computed(()=>{const b=c.previewItem.value;if(!b)return null;switch(U.value){case"small":return b.small_url||b.url;case"medium":return b.medium_url||b.url;case"large":return b.large_url||b.url;default:return b.url}}),P=e.computed(()=>c.frequentlyUsedItems.value.length>0),D=e.computed(()=>c.viewMode.value==="frequently-used"?c.frequentlyUsedItems.value:c.items.value),R=e.computed(()=>Object.values(c.deleteUsageInfo.value).some(b=>b.template_count>0));e.watch(()=>l.visible,b=>{b?(c.loadItems(),c.loadFrequentlyUsed()):(c.clearSelection(),c.cancelDelete(),c.cancelReplace(),M.value="",c.categoryFilter.value=null,c.sortOption.value="newest",c.viewMode.value="files",X.value=null,re.value=!1,U.value="original")}),e.watch(v,b=>{b&&g.value&&c.loadFolders()}),e.watch(()=>{var b;return(b=c.previewItem.value)==null?void 0:b.id},()=>{U.value="original"});const O=te.useDebounceFn(b=>{c.search(b)},300);function A(b){M.value=b,O(b)}function Z(b){b.key==="Escape"&&a("close")}async function z(b){await c.uploadFiles(b)}function I(b){c.selectItem(b)}function H(){var b;return c.previewItem.value?(b=l.accept)!=null&&b.length?C(c.previewItem.value.mime_type,l.accept):!0:!1}function J(){if(H()){const b=c.previewItem.value,_={...b,url:W.value||b.url};a("select",_),a("close")}}async function Q(b,_){await c.createFolder(b,_)}async function G(b,_){await c.renameFolder(b,_)}async function j(b){await c.deleteFolder(b)}const X=e.ref(null);function le(b){X.value=b}async function pe(b,_,de,$){$&&await c.replaceMediaDirectly(b,$.file),await c.updateFile(b,_,de),X.value=null}const{copy:se,copied:oe}=te.useClipboard({copiedDuring:2e3,legacy:!0}),re=e.ref(!1);async function w(b){await c.importFromUrl(b)&&(re.value=!1)}const E=e.ref(!1);async function F(b){E.value=!1,await c.moveSelected(b)}async function Y(){await c.checkUsageBeforeDelete()}function ce(b){c.checkUsageBeforeReplace(b)}async function ae(b){await c.replaceFile(b)}return te.useEventListener(document,"keydown",Z),(b,_)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:duration-200","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:duration-150","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>{var de;return[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl tpl-media-overlay tpl:fixed tpl:inset-0 tpl:z-[9999]",onClick:_[17]||(_[17]=e.withModifiers($=>a("close"),["self"]))},[e.createElementVNode("div",er,[e.createElementVNode("div",tr,[e.createElementVNode("h2",lr,e.toDisplayString(e.unref(r).mediaLibrary.title),1),e.createElementVNode("div",rr,[e.createVNode(Se,{"used-bytes":x.value,"limit-bytes":k.value,size:22},null,8,["used-bytes","limit-bytes"]),e.createElementVNode("div",or,[e.createElementVNode("input",{value:M.value,type:"text",class:"tpl:w-52 tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-xs tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:outline-none tpl:focus:shadow-[var(--tpl-ring)]",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:e.unref(r).mediaLibrary.searchPlaceholder,onInput:_[0]||(_[0]=$=>A($.target.value))},null,40,ar),e.createVNode(e.unref(V.Search),{class:"tpl:absolute tpl:top-1/2 tpl:left-2.5 tpl:-translate-y-1/2",size:13,"stroke-width":2,style:{color:"var(--tpl-text-dim)"}})]),e.createElementVNode("button",{class:"tpl:flex tpl:size-7 tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150",style:{color:"var(--tpl-text-muted)"},onClick:_[1]||(_[1]=$=>a("close"))},[e.createVNode(e.unref(V.X),{size:18,"stroke-width":2})])])]),e.createElementVNode("div",nr,[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition-all tpl:duration-200 tpl:ease-out","enter-from-class":"tpl:-ml-48 tpl:opacity-0","enter-to-class":"tpl:ml-0 tpl:opacity-100","leave-active-class":"tpl:transition-all tpl:duration-150 tpl:ease-in","leave-from-class":"tpl:ml-0 tpl:opacity-100","leave-to-class":"tpl:-ml-48 tpl:opacity-0"},{default:e.withCtx(()=>[g.value&&v.value?(e.openBlock(),e.createElementBlock("div",ir,[e.createVNode(Ee,{folders:e.unref(c).folders.value,"current-folder-id":e.unref(c).currentFolderId.value,"view-mode":e.unref(c).viewMode.value,"has-frequently-used":P.value,onNavigate:e.unref(c).navigateToFolder,onCreateFolder:Q,onRenameFolder:G,onDeleteFolder:j,onShowFrequentlyUsed:e.unref(c).showFrequentlyUsed},null,8,["folders","current-folder-id","view-mode","has-frequently-used","onNavigate","onShowFrequentlyUsed"])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",sr,[e.createElementVNode("div",cr,[e.createElementVNode("div",dr,[g.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:v.value?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:v.value?"var(--tpl-bg)":"transparent",border:v.value?"1px solid var(--tpl-border)":"1px solid transparent"}),title:v.value?e.unref(r).mediaLibrary.hideFolders:e.unref(r).mediaLibrary.showFolders,onClick:_[2]||(_[2]=$=>v.value=!v.value)},[e.createVNode(e.unref(V.PanelLeft),{size:16,"stroke-width":2})],12,pr)):e.createCommentVNode("",!0),e.unref(c).viewMode.value==="frequently-used"?(e.openBlock(),e.createElementBlock("span",mr,e.toDisplayString(e.unref(r).mediaLibrary.frequentlyUsed),1)):(e.openBlock(),e.createBlock(xe,{key:2,folders:e.unref(c).folders.value,"current-folder-id":e.unref(c).currentFolderId.value,onNavigate:e.unref(c).navigateToFolder},null,8,["folders","current-folder-id","onNavigate"])),e.createElementVNode("div",fr,[e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:s.value==="grid"?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:s.value==="grid"?"var(--tpl-bg-elevated)":"transparent"}),title:e.unref(r).mediaLibrary.viewGrid,onClick:_[3]||(_[3]=$=>s.value="grid")},[e.createVNode(e.unref(V.Grid2x2),{size:14,"stroke-width":2})],12,ur),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:s.value==="list"?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:s.value==="list"?"var(--tpl-bg-elevated)":"transparent"}),title:e.unref(r).mediaLibrary.viewList,onClick:_[4]||(_[4]=$=>s.value="list")},[e.createVNode(e.unref(V.List),{size:14,"stroke-width":2})],12,yr)])]),e.createElementVNode("div",gr,[e.unref(n).length>1?(e.openBlock(),e.createElementBlock("select",{key:0,class:"tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},value:e.unref(c).categoryFilter.value??"",onChange:_[5]||(_[5]=$=>e.unref(c).filterByCategory($.target.value||null))},[e.createElementVNode("option",br,e.toDisplayString(e.unref(r).mediaLibrary.filterAll),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),$=>(e.openBlock(),e.createElementBlock("option",{key:$,value:$},e.toDisplayString(B($)),9,kr))),128))],40,hr)):e.createCommentVNode("",!0),e.createElementVNode("select",{class:"tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},value:e.unref(c).sortOption.value,onChange:_[6]||(_[6]=$=>e.unref(c).sortBy($.target.value))},[e.createElementVNode("option",wr,e.toDisplayString(e.unref(r).mediaLibrary.sortNewest),1),e.createElementVNode("option",Er,e.toDisplayString(e.unref(r).mediaLibrary.sortOldest),1),e.createElementVNode("option",_r,e.toDisplayString(e.unref(r).mediaLibrary.sortNameAsc),1),e.createElementVNode("option",Nr,e.toDisplayString(e.unref(r).mediaLibrary.sortNameDesc),1),e.createElementVNode("option",Cr,e.toDisplayString(e.unref(r).mediaLibrary.sortSizeAsc),1),e.createElementVNode("option",Br,e.toDisplayString(e.unref(r).mediaLibrary.sortSizeDesc),1)],40,xr)])]),e.createElementVNode("div",Vr,[e.unref(c).viewMode.value==="files"?(e.openBlock(),e.createElementBlock("div",Fr,[e.createVNode(Fe,{"is-uploading":e.unref(c).isUploading.value,"upload-progress":e.unref(c).uploadProgress.value,onUpload:z},null,8,["is-uploading","upload-progress"]),u.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:mt-2 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-dashed tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text-muted)","background-color":"var(--tpl-bg)"},onClick:_[7]||(_[7]=$=>re.value=!0)},[e.createVNode(e.unref(V.Link),{size:14,"stroke-width":2}),e.createTextVNode(" "+e.toDisplayString(e.unref(r).mediaLibrary.importFromUrl),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createVNode(_e,{items:D.value,"selected-ids":e.unref(c).selectedItems.value,"is-loading":e.unref(c).isLoading.value,"has-more":e.unref(c).viewMode.value==="files"&&e.unref(c).hasMore.value,accept:t.accept,layout:s.value,onSelect:I,onToggle:e.unref(c).toggleSelection,onLoadMore:e.unref(c).loadMore,onEdit:le,onReplace:ce},null,8,["items","selected-ids","is-loading","has-more","accept","layout","onToggle","onLoadMore"])])])]),e.createVNode(Ne,{visible:re.value,"is-importing":e.unref(c).isImportingFromUrl.value,error:e.unref(c).importFromUrlError.value,onImport:w,onClose:_[8]||(_[8]=$=>re.value=!1)},null,8,["visible","is-importing","error"]),e.createVNode(we,{visible:!!X.value,item:X.value,onSave:pe,onClose:_[9]||(_[9]=$=>X.value=null)},null,8,["visible","item"]),e.createVNode(Ve,{visible:e.unref(c).showReplaceWarning.value,item:e.unref(c).pendingReplaceItem.value,"usage-info":e.unref(c).replaceUsageInfo.value,"is-replacing":e.unref(c).isReplacing.value,error:e.unref(c).replaceError.value,onReplace:ae,onClose:e.unref(c).cancelReplace},null,8,["visible","item","usage-info","is-replacing","error","onClose"]),e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>[e.unref(c).showDeleteWarning.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-lg)]",style:{"background-color":"var(--tpl-overlay)","backdrop-filter":"blur(8px)","-webkit-backdrop-filter":"blur(8px)"},onClick:_[12]||(_[12]=e.withModifiers((...$)=>e.unref(c).cancelDelete&&e.unref(c).cancelDelete(...$),["self"]))},[e.createElementVNode("div",Sr,[e.createElementVNode("h3",vr,e.toDisplayString(e.unref(r).mediaLibrary.deleteWarningTitle),1),e.createElementVNode("p",{class:e.normalizeClass(["tpl:text-xs",R.value?"tpl:mb-2":"tpl:mb-4"]),style:{color:"var(--tpl-text-muted)"}},e.toDisplayString(e.unref(r).mediaLibrary.deleteWarningMessage),3),R.value?(e.openBlock(),e.createElementBlock("p",$r,e.toDisplayString(e.unref(r).mediaLibrary.deleteWarningUsageNote),1)):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("div",Mr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c).deleteUsageInfo.value,($,me)=>{var ue;return e.openBlock(),e.createElementBlock("div",{key:me,class:"tpl:text-xs",style:{color:"var(--tpl-text)"}},[$.template_count>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Dr,e.toDisplayString(((ue=D.value.find(be=>be.id===me))==null?void 0:ue.filename)||me),1),e.createElementVNode("span",Lr," - "+e.toDisplayString(e.unref(r).mediaLibrary.usedInTemplates.replace("{count}",$.template_count.toString())),1)],64)):e.createCommentVNode("",!0)])}),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ir,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},onClick:_[10]||(_[10]=(...$)=>e.unref(c).cancelDelete&&e.unref(c).cancelDelete(...$))},e.toDisplayString(e.unref(r).mediaLibrary.cancel),1),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-danger)",color:"var(--tpl-danger)","background-color":"var(--tpl-danger-light)"},onClick:_[11]||(_[11]=(...$)=>e.unref(c).confirmDelete&&e.unref(c).confirmDelete(...$))},e.toDisplayString(R.value?e.unref(r).mediaLibrary.deleteAnyway:e.unref(r).mediaLibrary.confirmDelete),1)])])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",zr,[e.createElementVNode("div",Ur,[e.unref(c).previewItem.value?(e.openBlock(),e.createBlock(Be,{key:0,"selected-conversion":U.value,"onUpdate:selectedConversion":_[13]||(_[13]=$=>U.value=$),item:e.unref(c).previewItem.value,folders:e.unref(c).folders.value},null,8,["selected-conversion","item","folders"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Tr,[e.unref(c).selectedItems.value.size>0?(e.openBlock(),e.createElementBlock("div",Pr,[e.unref(c).previewItem.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:e.normalizeStyle({borderColor:e.unref(oe)?"var(--tpl-success)":"var(--tpl-border)",color:e.unref(oe)?"var(--tpl-success)":"var(--tpl-text)",backgroundColor:"var(--tpl-bg)"}),onClick:_[14]||(_[14]=$=>e.unref(se)(W.value))},[e.unref(oe)?(e.openBlock(),e.createBlock(e.unref(V.Check),{key:1,size:12,"stroke-width":2})):(e.openBlock(),e.createBlock(e.unref(V.Copy),{key:0,size:12,"stroke-width":2})),e.createTextVNode(" "+e.toDisplayString(e.unref(oe)?e.unref(r).mediaLibrary.copied:e.unref(r).mediaLibrary.copyUrl),1)],4)):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",jr,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},onClick:_[15]||(_[15]=$=>E.value=!E.value)},e.toDisplayString(e.unref(r).mediaLibrary.moveSelected),1),E.value?(e.openBlock(),e.createBlock(Ce,{key:0,folders:e.unref(c).folders.value,"current-folder-id":e.unref(c).currentFolderId.value,onSelect:F,onClose:_[16]||(_[16]=$=>E.value=!1)},null,8,["folders","current-folder-id"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Rr,[e.unref(c).selectedItems.value.size>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-danger)",color:"var(--tpl-danger)","background-color":"var(--tpl-danger-light)"},onClick:Y},e.toDisplayString(e.unref(r).mediaLibrary.deleteSelected),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:px-4 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50",style:{"background-color":"var(--tpl-primary)",color:"var(--tpl-bg)"},disabled:!H(),onClick:J},e.toDisplayString((de=t.accept)!=null&&de.length?e.unref(r).mediaLibrary.selectImage:e.unref(r).mediaLibrary.selectFile),9,Ar)])])])])])):e.createCommentVNode("",!0)]}),_:1})]))}});function qr(){const t=e.inject("onRequestMedia"),o=e.inject("planConfig"),l=e.ref(!1),a=e.computed(()=>!!t&&o.hasFeature("pluggable_media"));async function r(i){if(!t)return null;l.value=!0;try{return await t(i??{})}finally{l.value=!1}}return{isPluggableMediaEnabled:a,isRequesting:l,requestMedia:r}}const Wr={class:"tpl tpl:flex tpl:flex-col tpl:overflow-hidden tpl:rounded-[var(--tpl-radius-lg)]",style:{width:"100%",height:"100%","background-color":"var(--tpl-bg-elevated)",border:"1px solid var(--tpl-border)"}},Kr={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-5 tpl:py-3.5",style:{"border-color":"var(--tpl-border)"}},Gr={class:"tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},Hr={class:"tpl:flex tpl:items-center tpl:gap-3"},Zr={class:"tpl:relative"},Jr=["value","placeholder"],Xr={class:"tpl:flex tpl:min-h-0 tpl:flex-1 tpl:overflow-hidden"},Qr={key:0,class:"tpl:flex tpl:w-48 tpl:shrink-0 tpl:flex-col tpl:border-r",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)"}},Yr={class:"tpl:flex tpl:min-w-0 tpl:flex-1 tpl:flex-col"},eo={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-4 tpl:py-2.5",style:{"border-color":"var(--tpl-border)"}},to={class:"tpl:flex tpl:items-center tpl:gap-2"},lo=["title"],ro={key:1,class:"tpl:text-xs tpl:font-medium",style:{color:"var(--tpl-text)"}},oo={class:"tpl:flex tpl:rounded-md tpl:p-0.5",style:{border:"1px solid var(--tpl-border)","background-color":"var(--tpl-bg)"}},ao=["title"],no=["title"],io={class:"tpl:flex tpl:items-center tpl:gap-2"},so=["value"],co={value:""},po=["value"],mo=["value"],fo={value:"newest"},uo={value:"oldest"},yo={value:"name_asc"},go={value:"name_desc"},ho={value:"size_asc"},bo={value:"size_desc"},ko={class:"tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto"},xo={key:0,class:"tpl:px-4 tpl:pt-3"},wo={class:"tpl-scale-in tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-[var(--tpl-radius-lg)] tpl:p-5",style:{"background-color":"var(--tpl-bg-elevated)","box-shadow":"var(--tpl-shadow-xl)"}},Eo={class:"tpl:mb-2 tpl:text-sm tpl:font-semibold",style:{color:"var(--tpl-text)"}},_o={key:0,class:"tpl:mb-4 tpl:text-xs",style:{color:"var(--tpl-text-muted)"}},No={key:1,class:"tpl:mb-4 tpl:max-h-32 tpl:overflow-y-auto tpl:rounded tpl:border tpl:p-2",style:{"border-color":"var(--tpl-border)"}},Co={class:"tpl:font-medium"},Bo={style:{color:"var(--tpl-text-muted)"}},Vo={class:"tpl:flex tpl:justify-end tpl:gap-2"},Fo={class:"tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-t tpl:px-5 tpl:py-3",style:{"border-color":"var(--tpl-border)"}},So={class:"tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-3"},vo={class:"tpl:flex tpl:items-center tpl:gap-5"},$o={key:0,class:"tpl:flex tpl:items-center tpl:gap-2"},Mo={key:1,class:"tpl:relative"},Do={class:"tpl:flex tpl:items-center tpl:gap-2"},Lo=["disabled"],Io=e.defineComponent({__name:"MediaLibrary",props:{authManager:{},projectId:{},planConfig:{},translations:{},onSelect:{type:Function},onError:{type:Function}},emits:["ready"],setup(t,{emit:o}){const l=t,a=o,r=e.computed(()=>l.translations);e.provide("translations",l.translations),e.provide("authManager",l.authManager),e.provide("projectId",e.computed(()=>l.projectId));const i=e.ref(l.planConfig);e.provide("planConfig",{config:i,isLoading:e.ref(!1),hasFeature:w=>l.planConfig.features[w]??!1,features:e.computed(()=>l.planConfig.features),fetchConfig:async()=>{}});const d=e.computed(()=>l.planConfig.features.media_folders??!1),m=e.computed(()=>l.planConfig.features.import_from_url??!1),p=e.computed(()=>l.planConfig.storage.used_bytes??0),g=e.computed(()=>l.planConfig.storage.limit_bytes??0),{availableCategories:u}=ne(),x={images:()=>r.value.mediaLibrary.filterImages,documents:()=>r.value.mediaLibrary.filterDocuments,videos:()=>r.value.mediaLibrary.filterVideos,audio:()=>r.value.mediaLibrary.filterAudio};function k(w){var E;return((E=x[w])==null?void 0:E.call(x))??w}const C=e.ref("grid"),n=e.ref(!1),f=e.ref(""),B=e.ref("original"),s=ye({projectId:l.projectId,authManager:l.authManager,onError:l.onError}),v=e.computed(()=>{const w=s.previewItem.value;if(!w)return null;switch(B.value){case"small":return w.small_url||w.url;case"medium":return w.medium_url||w.url;case"large":return w.large_url||w.url;default:return w.url}}),M=e.computed(()=>s.frequentlyUsedItems.value.length>0),U=e.computed(()=>s.viewMode.value==="frequently-used"?s.frequentlyUsedItems.value:s.items.value),c=e.computed(()=>Object.values(s.deleteUsageInfo.value).some(w=>w.template_count>0));e.watch(n,w=>{w&&d.value&&s.loadFolders()}),e.watch(()=>{var w;return(w=s.previewItem.value)==null?void 0:w.id},()=>{B.value="original"});const W=te.useDebounceFn(w=>{s.search(w)},300);function P(w){f.value=w,W(w)}async function D(w){await s.uploadFiles(w)}function R(w){s.selectItem(w)}function O(){var F;if(!s.previewItem.value)return;const w=s.previewItem.value,E={...w,url:v.value||w.url};(F=l.onSelect)==null||F.call(l,E)}async function A(w,E){await s.createFolder(w,E)}async function Z(w,E){await s.renameFolder(w,E)}async function z(w){await s.deleteFolder(w)}const I=e.ref(null);function H(w){I.value=w}async function J(w,E,F,Y){Y&&await s.replaceMediaDirectly(w,Y.file),await s.updateFile(w,E,F),I.value=null}const{copy:Q,copied:G}=te.useClipboard({copiedDuring:2e3,legacy:!0}),j=e.ref(!1);async function X(w){await s.importFromUrl(w)&&(j.value=!1)}const le=e.ref(!1);async function pe(w){le.value=!1,await s.moveSelected(w)}async function se(){await s.checkUsageBeforeDelete()}function oe(w){s.checkUsageBeforeReplace(w)}async function re(w){await s.replaceFile(w)}return e.onMounted(()=>{s.loadItems(),s.loadFrequentlyUsed(),a("ready")}),(w,E)=>(e.openBlock(),e.createElementBlock("div",Wr,[e.createElementVNode("div",Kr,[e.createElementVNode("h2",Gr,e.toDisplayString(r.value.mediaLibrary.title),1),e.createElementVNode("div",Hr,[e.createVNode(Se,{"used-bytes":p.value,"limit-bytes":g.value,size:22},null,8,["used-bytes","limit-bytes"]),e.createElementVNode("div",Zr,[e.createElementVNode("input",{value:f.value,type:"text",class:"tpl:w-52 tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-xs tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:outline-none tpl:focus:shadow-[var(--tpl-ring)]",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},placeholder:r.value.mediaLibrary.searchPlaceholder,onInput:E[0]||(E[0]=F=>P(F.target.value))},null,40,Jr),e.createVNode(e.unref(V.Search),{class:"tpl:absolute tpl:top-1/2 tpl:left-2.5 tpl:-translate-y-1/2",size:13,"stroke-width":2,style:{color:"var(--tpl-text-dim)"}})])])]),e.createElementVNode("div",Xr,[e.createVNode(e.Transition,{"enter-active-class":"tpl:transition-all tpl:duration-200 tpl:ease-out","enter-from-class":"tpl:-ml-48 tpl:opacity-0","enter-to-class":"tpl:ml-0 tpl:opacity-100","leave-active-class":"tpl:transition-all tpl:duration-150 tpl:ease-in","leave-from-class":"tpl:ml-0 tpl:opacity-100","leave-to-class":"tpl:-ml-48 tpl:opacity-0"},{default:e.withCtx(()=>[d.value&&n.value?(e.openBlock(),e.createElementBlock("div",Qr,[e.createVNode(Ee,{folders:e.unref(s).folders.value,"current-folder-id":e.unref(s).currentFolderId.value,"view-mode":e.unref(s).viewMode.value,"has-frequently-used":M.value,onNavigate:e.unref(s).navigateToFolder,onCreateFolder:A,onRenameFolder:Z,onDeleteFolder:z,onShowFrequentlyUsed:e.unref(s).showFrequentlyUsed},null,8,["folders","current-folder-id","view-mode","has-frequently-used","onNavigate","onShowFrequentlyUsed"])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Yr,[e.createElementVNode("div",eo,[e.createElementVNode("div",to,[d.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:n.value?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:n.value?"var(--tpl-bg)":"transparent",border:n.value?"1px solid var(--tpl-border)":"1px solid transparent"}),title:n.value?r.value.mediaLibrary.hideFolders:r.value.mediaLibrary.showFolders,onClick:E[1]||(E[1]=F=>n.value=!n.value)},[e.createVNode(e.unref(V.PanelLeft),{size:16,"stroke-width":2})],12,lo)):e.createCommentVNode("",!0),e.unref(s).viewMode.value==="frequently-used"?(e.openBlock(),e.createElementBlock("span",ro,e.toDisplayString(r.value.mediaLibrary.frequentlyUsed),1)):(e.openBlock(),e.createBlock(xe,{key:2,folders:e.unref(s).folders.value,"current-folder-id":e.unref(s).currentFolderId.value,onNavigate:e.unref(s).navigateToFolder},null,8,["folders","current-folder-id","onNavigate"])),e.createElementVNode("div",oo,[e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:C.value==="grid"?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:C.value==="grid"?"var(--tpl-bg-elevated)":"transparent"}),title:r.value.mediaLibrary.viewGrid,onClick:E[2]||(E[2]=F=>C.value="grid")},[e.createVNode(e.unref(V.Grid2x2),{size:14,"stroke-width":2})],12,ao),e.createElementVNode("button",{class:"tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150",style:e.normalizeStyle({color:C.value==="list"?"var(--tpl-primary)":"var(--tpl-text-muted)",backgroundColor:C.value==="list"?"var(--tpl-bg-elevated)":"transparent"}),title:r.value.mediaLibrary.viewList,onClick:E[3]||(E[3]=F=>C.value="list")},[e.createVNode(e.unref(V.List),{size:14,"stroke-width":2})],12,no)])]),e.createElementVNode("div",io,[e.unref(u).length>1?(e.openBlock(),e.createElementBlock("select",{key:0,class:"tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},value:e.unref(s).categoryFilter.value??"",onChange:E[4]||(E[4]=F=>e.unref(s).filterByCategory(F.target.value||null))},[e.createElementVNode("option",co,e.toDisplayString(r.value.mediaLibrary.filterAll),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),F=>(e.openBlock(),e.createElementBlock("option",{key:F,value:F},e.toDisplayString(k(F)),9,po))),128))],40,so)):e.createCommentVNode("",!0),e.createElementVNode("select",{class:"tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none",style:{"border-color":"var(--tpl-border)","background-color":"var(--tpl-bg)",color:"var(--tpl-text)"},value:e.unref(s).sortOption.value,onChange:E[5]||(E[5]=F=>e.unref(s).sortBy(F.target.value))},[e.createElementVNode("option",fo,e.toDisplayString(r.value.mediaLibrary.sortNewest),1),e.createElementVNode("option",uo,e.toDisplayString(r.value.mediaLibrary.sortOldest),1),e.createElementVNode("option",yo,e.toDisplayString(r.value.mediaLibrary.sortNameAsc),1),e.createElementVNode("option",go,e.toDisplayString(r.value.mediaLibrary.sortNameDesc),1),e.createElementVNode("option",ho,e.toDisplayString(r.value.mediaLibrary.sortSizeAsc),1),e.createElementVNode("option",bo,e.toDisplayString(r.value.mediaLibrary.sortSizeDesc),1)],40,mo)])]),e.createElementVNode("div",ko,[e.unref(s).viewMode.value==="files"?(e.openBlock(),e.createElementBlock("div",xo,[e.createVNode(Fe,{"is-uploading":e.unref(s).isUploading.value,"upload-progress":e.unref(s).uploadProgress.value,onUpload:D},null,8,["is-uploading","upload-progress"]),m.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:mt-2 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-dashed tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text-muted)","background-color":"var(--tpl-bg)"},onClick:E[6]||(E[6]=F=>j.value=!0)},[e.createVNode(e.unref(V.Link),{size:14,"stroke-width":2}),e.createTextVNode(" "+e.toDisplayString(r.value.mediaLibrary.importFromUrl),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createVNode(_e,{items:U.value,"selected-ids":e.unref(s).selectedItems.value,"is-loading":e.unref(s).isLoading.value,"has-more":e.unref(s).viewMode.value==="files"&&e.unref(s).hasMore.value,layout:C.value,onSelect:R,onToggle:e.unref(s).toggleSelection,onLoadMore:e.unref(s).loadMore,onEdit:H,onReplace:oe},null,8,["items","selected-ids","is-loading","has-more","layout","onToggle","onLoadMore"])])])]),e.createVNode(Ne,{visible:j.value,"is-importing":e.unref(s).isImportingFromUrl.value,error:e.unref(s).importFromUrlError.value,onImport:X,onClose:E[7]||(E[7]=F=>j.value=!1)},null,8,["visible","is-importing","error"]),e.createVNode(we,{visible:!!I.value,item:I.value,onSave:J,onClose:E[8]||(E[8]=F=>I.value=null)},null,8,["visible","item"]),e.createVNode(Ve,{visible:e.unref(s).showReplaceWarning.value,item:e.unref(s).pendingReplaceItem.value,"usage-info":e.unref(s).replaceUsageInfo.value,"is-replacing":e.unref(s).isReplacing.value,error:e.unref(s).replaceError.value,onReplace:re,onClose:e.unref(s).cancelReplace},null,8,["visible","item","usage-info","is-replacing","error","onClose"]),e.createVNode(e.Transition,{"enter-active-class":"tpl:transition tpl:ease-out tpl:duration-150","enter-from-class":"tpl:opacity-0","enter-to-class":"tpl:opacity-100","leave-active-class":"tpl:transition tpl:ease-in tpl:duration-100","leave-from-class":"tpl:opacity-100","leave-to-class":"tpl:opacity-0"},{default:e.withCtx(()=>[e.unref(s).showDeleteWarning.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-lg)]",style:{"background-color":"rgba(0, 0, 0, 0.5)","backdrop-filter":"blur(8px)","-webkit-backdrop-filter":"blur(8px)"},onClick:E[11]||(E[11]=e.withModifiers((...F)=>e.unref(s).cancelDelete&&e.unref(s).cancelDelete(...F),["self"]))},[e.createElementVNode("div",wo,[e.createElementVNode("h3",Eo,e.toDisplayString(r.value.mediaLibrary.deleteWarningTitle),1),e.createElementVNode("p",{class:e.normalizeClass(["tpl:text-xs",c.value?"tpl:mb-2":"tpl:mb-4"]),style:{color:"var(--tpl-text-muted)"}},e.toDisplayString(r.value.mediaLibrary.deleteWarningMessage),3),c.value?(e.openBlock(),e.createElementBlock("p",_o,e.toDisplayString(r.value.mediaLibrary.deleteWarningUsageNote),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("div",No,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).deleteUsageInfo.value,(F,Y)=>{var ce;return e.openBlock(),e.createElementBlock("div",{key:Y,class:"tpl:text-xs",style:{color:"var(--tpl-text)"}},[F.template_count>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Co,e.toDisplayString(((ce=U.value.find(ae=>ae.id===Y))==null?void 0:ce.filename)||Y),1),e.createElementVNode("span",Bo," - "+e.toDisplayString(r.value.mediaLibrary.usedInTemplates.replace("{count}",F.template_count.toString())),1)],64)):e.createCommentVNode("",!0)])}),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Vo,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},onClick:E[9]||(E[9]=(...F)=>e.unref(s).cancelDelete&&e.unref(s).cancelDelete(...F))},e.toDisplayString(r.value.mediaLibrary.cancel),1),e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-danger)",color:"var(--tpl-danger)","background-color":"var(--tpl-danger-light)"},onClick:E[10]||(E[10]=(...F)=>e.unref(s).confirmDelete&&e.unref(s).confirmDelete(...F))},e.toDisplayString(c.value?r.value.mediaLibrary.deleteAnyway:r.value.mediaLibrary.confirmDelete),1)])])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Fo,[e.createElementVNode("div",So,[e.unref(s).previewItem.value?(e.openBlock(),e.createBlock(Be,{key:0,"selected-conversion":B.value,"onUpdate:selectedConversion":E[12]||(E[12]=F=>B.value=F),item:e.unref(s).previewItem.value,folders:e.unref(s).folders.value},null,8,["selected-conversion","item","folders"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",vo,[e.unref(s).selectedItems.value.size>0?(e.openBlock(),e.createElementBlock("div",$o,[e.unref(s).previewItem.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:e.normalizeStyle({borderColor:e.unref(G)?"var(--tpl-success)":"var(--tpl-border)",color:e.unref(G)?"var(--tpl-success)":"var(--tpl-text)",backgroundColor:"var(--tpl-bg)"}),onClick:E[13]||(E[13]=F=>e.unref(Q)(v.value))},[e.unref(G)?(e.openBlock(),e.createBlock(e.unref(V.Check),{key:1,size:12,"stroke-width":2})):(e.openBlock(),e.createBlock(e.unref(V.Copy),{key:0,size:12,"stroke-width":2})),e.createTextVNode(" "+e.toDisplayString(e.unref(G)?r.value.mediaLibrary.copied:r.value.mediaLibrary.copyUrl),1)],4)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",Mo,[e.createElementVNode("button",{class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-border)",color:"var(--tpl-text)","background-color":"var(--tpl-bg)"},onClick:E[14]||(E[14]=F=>le.value=!le.value)},e.toDisplayString(r.value.mediaLibrary.moveSelected),1),le.value?(e.openBlock(),e.createBlock(Ce,{key:0,folders:e.unref(s).folders.value,"current-folder-id":e.unref(s).currentFolderId.value,onSelect:pe,onClose:E[15]||(E[15]=F=>le.value=!1)},null,8,["folders","current-folder-id"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Do,[e.unref(s).selectedItems.value.size>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",style:{"border-color":"var(--tpl-danger)",color:"var(--tpl-danger)","background-color":"var(--tpl-danger-light)"},onClick:se},e.toDisplayString(r.value.mediaLibrary.deleteSelected),1)):e.createCommentVNode("",!0),t.onSelect?(e.openBlock(),e.createElementBlock("button",{key:1,class:"tpl:cursor-pointer tpl:rounded-md tpl:px-4 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50",style:{"background-color":"var(--tpl-primary)",color:"var(--tpl-bg)"},disabled:!e.unref(s).previewItem.value,onClick:O},e.toDisplayString(r.value.mediaLibrary.selectFile),9,Lo)):e.createCommentVNode("",!0)])])])]))}}),zo=(t,o,l)=>{const a=t[o];return a?typeof a=="function"?a():Promise.resolve(a):new Promise((r,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+o+(o.split("/").length!==l?". Note that variables only represent file names one level deep.":""))))})},Uo=["en","de"];function To(t){return t.split("-")[0].toLowerCase()}async function Po(t){const o=To(t),l=Uo.includes(o)?o:"en";return(await zo(Object.assign({"./locales/de.ts":()=>Promise.resolve().then(()=>Ro),"./locales/en.ts":()=>Promise.resolve().then(()=>Ao)}),`./locales/${l}.ts`,3)).default}let ie=null;const ve=e.ref(null);async function $e(t){const o=typeof t.container=="string"?document.querySelector(t.container):t.container;if(!o)throw new Error(`Container element not found: ${t.container}`);ie&&fe();const l=L.createSdkAuthManager(t.auth,t.onError);await l.initialize();const r=await new L.ApiClient(l).fetchConfig(),i=await Po(t.locale??"en");return Me(o,t.theme),new Promise((d,m)=>{try{ie=e.createApp({setup(){const p=()=>{d({setTheme:u=>Me(o,u),unmount:fe})};return()=>e.h(Io,{authManager:l,projectId:l.projectId,planConfig:r,translations:i,onSelect:t.onSelect,onError:t.onError,ref:ve,onReady:p})}}),ie.mount(o)}catch(p){m(p)}})}function fe(){ie&&(ie.unmount(),ie=null,ve.value=null)}function Me(t,o){o&&(o.primaryColor&&t.style.setProperty("--tpl-primary",o.primaryColor),o.borderRadius!==void 0&&(t.style.setProperty("--tpl-radius",`${o.borderRadius}px`),t.style.setProperty("--tpl-radius-sm",`${Math.max(0,o.borderRadius-3)}px`),t.style.setProperty("--tpl-radius-lg",`${o.borderRadius+4}px`)))}const jo={init:$e,unmount:fe};typeof window<"u"&&(window.TemplaticalMedia=jo);const Ro=Object.freeze(Object.defineProperty({__proto__:null,default:{mediaLibrary:{title:"Medienbibliothek",searchPlaceholder:"Dateien suchen...",allFiles:"Alle Dateien",filterAll:"Alle Typen",filterImages:"Bilder",filterDocuments:"Dokumente",filterVideos:"Videos",filterAudio:"Audio",newFolder:"Neuer Ordner",folderName:"Ordnername",noFiles:"Keine Dateien gefunden",dropOrClick:"Dateien hierher ziehen oder klicken zum Hochladen",acceptedFormats:"Bilder, PDF, Video, Audio, Dokumente (max. 10 MB)",uploading:"Wird hochgeladen...",uploadingProgress:"{current} von {total} wird hochgeladen...",selectImage:"Bild auswählen",selectFile:"Datei auswählen",deleteSelected:"Löschen",copyUrl:"URL kopieren",copied:"Kopiert!",browseMedia:"Medienbibliothek durchsuchen",renameFolder:"Ordner umbenennen",addSubfolder:"Unterordner hinzufügen",subfolderName:"Unterordnername",sortNewest:"Neueste zuerst",sortOldest:"Älteste zuerst",sortNameAsc:"Name A-Z",sortNameDesc:"Name Z-A",sortSizeAsc:"Kleinste zuerst",sortSizeDesc:"Größte zuerst",moveSelected:"Verschieben",moveToRoot:"Alle Dateien",currentFolder:"(aktuell)",confirmDelete:"Bestätigen?",renameFile:"Umbenennen",editFile:"Datei bearbeiten",fileName:"Dateiname",altText:"Alternativtext",altTextPlaceholder:"Bildbeschreibung für Barrierefreiheit",saveChanges:"Speichern",cancel:"Abbrechen",frequentlyUsed:"Häufig verwendet",deleteWarningTitle:"Datei löschen",deleteWarningMessage:"Sind Sie sicher? Diese Aktion kann nicht rückgängig gemacht werden.",deleteWarningUsageNote:"Die folgenden Dateien werden in Vorlagen verwendet. Das Löschen kann diese Vorlagen beschädigen.",deleteAnyway:"Löschen",usedInTemplates:"In {count} Vorlage(n) verwendet",viewGrid:"Rasteransicht",viewList:"Listenansicht",showFolders:"Ordner anzeigen",hideFolders:"Ordner ausblenden",importFromUrl:"Von URL importieren",importUrlPlaceholder:"https://example.com/image.jpg",import:"Importieren",importing:"Wird importiert...",importError:"Import von URL fehlgeschlagen",conversionLabel:"Groesse",conversionOriginal:"Original",conversionSmall:"Klein (150px)",conversionMedium:"Mittel (600px)",conversionLarge:"Gross (1200px)",replaceFile:"Datei ersetzen",replaceWarningTitle:"Datei ersetzen",replaceWarningMessage:"Sie sind dabei, diese Datei zu ersetzen. Die Ersatzdatei muss dieselbe Dateierweiterung haben ({extension}).",replaceWarningUsageNote:"Diese Datei wird in {count} Vorlage(n) verwendet. Das Ersetzen aktualisiert alle Verweise.",replaceSelectFile:"Ersatzdatei auswählen",replace:"Ersetzen",replacing:"Wird ersetzt...",replaceError:"Ersetzen der Datei fehlgeschlagen",saving:"Wird gespeichert...",cropAspectRatio:"Seitenverhältnis",cropFree:"Frei",cropSquare:"1:1",cropLandscape43:"4:3",cropLandscape169:"16:9",cropOriginal:"Original",cropMaxWidth:"Max. Breite",cropMaxHeight:"Max. Höhe",cropOutputSize:"Ausgabegröße",cropPixels:"px",cropOptional:"(optional)",storageTooltip:"{used} von {total} verwendet ({remaining} verfügbar)"}}},Symbol.toStringTag,{value:"Module"})),Ao=Object.freeze(Object.defineProperty({__proto__:null,default:{mediaLibrary:{title:"Media Library",searchPlaceholder:"Search files...",allFiles:"All Files",filterAll:"All Types",filterImages:"Images",filterDocuments:"Documents",filterVideos:"Videos",filterAudio:"Audio",newFolder:"New Folder",folderName:"Folder name",noFiles:"No files found",dropOrClick:"Drop files here or click to upload",acceptedFormats:"Images, PDF, Video, Audio, Documents (max 10MB)",uploading:"Uploading...",uploadingProgress:"Uploading {current} of {total}...",selectImage:"Select Image",selectFile:"Select File",deleteSelected:"Delete",copyUrl:"Copy URL",copied:"Copied!",browseMedia:"Browse Media Library",renameFolder:"Rename folder",addSubfolder:"Add subfolder",subfolderName:"Subfolder name",sortNewest:"Newest First",sortOldest:"Oldest First",sortNameAsc:"Name A-Z",sortNameDesc:"Name Z-A",sortSizeAsc:"Smallest First",sortSizeDesc:"Largest First",moveSelected:"Move",moveToRoot:"All Files",currentFolder:"(current)",confirmDelete:"Confirm?",renameFile:"Rename",editFile:"Edit File",fileName:"Filename",altText:"Alt Text",altTextPlaceholder:"Describe this image for accessibility",saveChanges:"Save",cancel:"Cancel",frequentlyUsed:"Frequently Used",deleteWarningTitle:"Delete File",deleteWarningMessage:"Are you sure? This action is irreversible.",deleteWarningUsageNote:"The following files are used in templates. Deleting them may break those templates.",deleteAnyway:"Delete",usedInTemplates:"Used in {count} template(s)",viewGrid:"Grid view",viewList:"List view",showFolders:"Show folders",hideFolders:"Hide folders",importFromUrl:"Import from URL",importUrlPlaceholder:"https://example.com/image.jpg",import:"Import",importing:"Importing...",importError:"Failed to import from URL",conversionLabel:"Size",conversionOriginal:"Original",conversionSmall:"Small (150px)",conversionMedium:"Medium (600px)",conversionLarge:"Large (1200px)",replaceFile:"Replace File",replaceWarningTitle:"Replace File",replaceWarningMessage:"You are about to replace this file. The replacement must have the same file extension ({extension}).",replaceWarningUsageNote:"This file is used in {count} template(s). Replacing it will update all references.",replaceSelectFile:"Select replacement file",replace:"Replace",replacing:"Replacing...",replaceError:"Failed to replace file",saving:"Saving...",cropAspectRatio:"Aspect Ratio",cropFree:"Free",cropSquare:"1:1",cropLandscape43:"4:3",cropLandscape169:"16:9",cropOriginal:"Original",cropMaxWidth:"Max Width",cropMaxHeight:"Max Height",cropOutputSize:"Output Size",cropPixels:"px",cropOptional:"(optional)",storageTooltip:"{used} of {total} used ({remaining} remaining)"}}},Symbol.toStringTag,{value:"Module"}));q.MediaApiClient=ke,q.MediaLibraryModal=Or,q.init=$e,q.unmount=fe,q.useI18n=K,q.useMediaCategories=ne,q.useMediaLibrary=ye,q.useMediaPicker=qr,Object.defineProperty(q,Symbol.toStringTag,{value:"Module"})}));
|
|
13
|
+
)`},disabled:!c.value||e.isReplacing,onClick:m},(0,n.toDisplayString)(e.isReplacing?(0,n.unref)(a).mediaLibrary.replacing:(0,n.unref)(a).mediaLibrary.replace),9,Lt)])])],40,wt)):(0,n.createCommentVNode)(``,!0)]),_:1})]))}}),zt={key:0,class:`tpl:flex tpl:items-center tpl:gap-2`},Bt={class:`tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},Vt={class:`tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},Ht={class:`tpl:mt-1 tpl:text-[10px]`,style:{color:`var(--tpl-text-dim)`}},Ut=(0,n.defineComponent)({__name:`MediaUploadZone`,props:{isUploading:{type:Boolean},uploadProgress:{}},emits:[`upload`],setup(e,{emit:t}){let i=t,{t:o,format:s}=d(),{allAcceptedMimeTypes:c,allAcceptedInputString:l,maxFileSize:u}=g(),f=(0,n.ref)();function p(e){let t=[];for(let n of Array.from(e))c.value.includes(n.type)&&n.size<=u.value&&t.push(n);return t}function m(e){let t=p(e);t.length&&i(`upload`,t)}let{isOverDropZone:h}=(0,a.useDropZone)(f,{onDrop:e=>{e?.length&&m(e)}}),{open:_,onChange:v}=(0,a.useFileDialog)({accept:l.value,multiple:!0});return v(e=>{e?.length&&m(e)}),(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`dropZoneRef`,ref:f,class:(0,n.normalizeClass)([`tpl-upload-zone tpl:flex tpl:cursor-pointer tpl:flex-col tpl:items-center tpl:justify-center tpl:rounded-lg tpl:border-2 tpl:border-dashed tpl:p-5 tpl:text-center tpl:transition-all tpl:duration-150`,(0,n.unref)(h)?`tpl-upload-zone-active`:``]),style:{"border-color":`var(--tpl-border-light)`,"background-color":`var(--tpl-bg)`},onClick:i[0]||=e=>(0,n.unref)(_)()},[e.isUploading?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,zt,[(0,n.createVNode)((0,n.unref)(r.LoaderCircle),{class:`tpl-spinner`,size:20,"stroke-width":2,style:{color:`var(--tpl-primary)`}}),(0,n.createElementVNode)(`span`,Bt,(0,n.toDisplayString)(e.uploadProgress&&e.uploadProgress.total>1?(0,n.unref)(s)((0,n.unref)(o).mediaLibrary.uploadingProgress,{current:e.uploadProgress.current,total:e.uploadProgress.total}):(0,n.unref)(o).mediaLibrary.uploading),1)])):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createVNode)((0,n.unref)(r.Upload),{class:`tpl:mb-2`,size:24,"stroke-width":1.5,style:{color:`var(--tpl-text-dim)`}}),(0,n.createElementVNode)(`p`,Vt,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.dropOrClick),1),(0,n.createElementVNode)(`p`,Ht,(0,n.toDisplayString)((0,n.unref)(o).mediaLibrary.acceptedFormats),1)],64))],2))}}),Wt=[`width`,`height`,`viewBox`],Gt=[`cx`,`cy`,`r`,`stroke-width`],Kt=[`cx`,`cy`,`r`,`stroke-width`,`stroke`,`stroke-dasharray`,`stroke-dashoffset`],qt={key:0,class:`tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:-translate-x-1/2 tpl:rounded-md tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:whitespace-nowrap tpl:shadow-lg`,style:{"background-color":`var(--tpl-text)`,color:`var(--tpl-bg-elevated)`}},Jt=(0,n.defineComponent)({__name:`StorageProgressRing`,props:{usedBytes:{},limitBytes:{},size:{}},setup(e){let t=e,{t:r,format:i}=d(),a=(0,n.ref)(!1),o=(0,n.computed)(()=>t.size??24),s=(0,n.computed)(()=>Math.max(2,o.value/8)),c=(0,n.computed)(()=>(o.value-s.value)/2),l=(0,n.computed)(()=>2*Math.PI*c.value),u=(0,n.computed)(()=>t.limitBytes<=0?0:Math.min(100,t.usedBytes/t.limitBytes*100)),f=(0,n.computed)(()=>l.value-u.value/100*l.value),p=(0,n.computed)(()=>u.value>=95?`var(--tpl-danger)`:u.value>=75?`var(--tpl-warning, #f59e0b)`:`var(--tpl-primary)`);function m(e){if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t)),i=e/t**+r,a=+(r>=2);return`${i.toFixed(a)} ${n[r]}`}let h=(0,n.computed)(()=>m(t.usedBytes)),g=(0,n.computed)(()=>m(t.limitBytes)),_=(0,n.computed)(()=>Math.max(0,t.limitBytes-t.usedBytes)),v=(0,n.computed)(()=>m(_.value)),y=(0,n.computed)(()=>i(r.mediaLibrary.storageTooltip,{used:h.value,total:g.value,remaining:v.value}));return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:`tpl:relative tpl:inline-flex tpl:cursor-help tpl:items-center tpl:justify-center`,onMouseenter:t[0]||=e=>a.value=!0,onMouseleave:t[1]||=e=>a.value=!1},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{width:o.value,height:o.value,class:`tpl:-rotate-90`,viewBox:`0 0 ${o.value} ${o.value}`},[(0,n.createElementVNode)(`circle`,{cx:o.value/2,cy:o.value/2,r:c.value,fill:`none`,"stroke-width":s.value,style:{stroke:`var(--tpl-border)`}},null,8,Gt),(0,n.createElementVNode)(`circle`,{cx:o.value/2,cy:o.value/2,r:c.value,fill:`none`,"stroke-width":s.value,stroke:p.value,"stroke-linecap":`round`,"stroke-dasharray":l.value,"stroke-dashoffset":f.value,class:`tpl:transition-all tpl:duration-300 tpl:ease-out`},null,8,Kt)],8,Wt)),(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0 tpl:translate-y-1`,"enter-to-class":`tpl:opacity-100 tpl:translate-y-0`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100 tpl:translate-y-0`,"leave-to-class":`tpl:opacity-0 tpl:translate-y-1`},{default:(0,n.withCtx)(()=>[a.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,qt,[(0,n.createTextVNode)((0,n.toDisplayString)(y.value)+` `,1),t[2]||=(0,n.createElementVNode)(`div`,{class:`tpl:absolute tpl:-top-1 tpl:left-1/2 tpl:size-2 tpl:-translate-x-1/2 tpl:rotate-45`,style:{"background-color":`var(--tpl-text)`}},null,-1)])):(0,n.createCommentVNode)(``,!0)]),_:1})],32))}});function Yt(e){let{library:t,canUseMediaFolders:r,translations:i}=e;function o(){return`value`in i&&typeof i.value==`object`?i.value:i}let s=(0,n.ref)(`grid`),c=(0,n.ref)(!1),l=(0,n.ref)(``),u=(0,n.ref)(`original`),d=(0,n.ref)(null),f=(0,n.ref)(!1),p=(0,n.ref)(!1),m=(0,n.computed)(()=>{let e=t.previewItem.value;if(!e)return null;switch(u.value){case`small`:return e.small_url||e.url;case`medium`:return e.medium_url||e.url;case`large`:return e.large_url||e.url;default:return e.url}}),h=(0,n.computed)(()=>t.frequentlyUsedItems.value.length>0),g=(0,n.computed)(()=>t.viewMode.value===`frequently-used`?t.frequentlyUsedItems.value:t.items.value),_=(0,n.computed)(()=>Object.values(t.deleteUsageInfo.value).some(e=>e.template_count>0)),v={images:()=>o().mediaLibrary.filterImages,documents:()=>o().mediaLibrary.filterDocuments,videos:()=>o().mediaLibrary.filterVideos,audio:()=>o().mediaLibrary.filterAudio};function y(e){return v[e]?.()??e}(0,n.watch)(c,e=>{e&&r.value&&t.loadFolders()}),(0,n.watch)(()=>t.previewItem.value?.id,()=>{u.value=`original`});let b=(0,a.useDebounceFn)(e=>{t.search(e)},300);function x(e){l.value=e,b(e)}let{copy:S,copied:C}=(0,a.useClipboard)({copiedDuring:2e3,legacy:!0});async function w(e){await t.uploadFiles(e)}function T(e){t.selectItem(e)}async function E(e,n){await t.createFolder(e,n)}async function D(e,n){await t.renameFolder(e,n)}async function O(e){await t.deleteFolder(e)}function k(e){d.value=e}async function A(e,n,r,i){i&&await t.replaceMediaDirectly(e,i.file),await t.updateFile(e,n,r),d.value=null}async function j(e){await t.importFromUrl(e)&&(f.value=!1)}async function M(e){p.value=!1,await t.moveSelected(e)}async function N(){await t.checkUsageBeforeDelete()}function P(e){t.checkUsageBeforeReplace(e)}async function F(e){await t.replaceFile(e)}function I(){t.clearSelection(),t.cancelDelete(),t.cancelReplace(),l.value=``,t.categoryFilter.value=null,t.sortOption.value=`newest`,t.viewMode.value=`files`,d.value=null,f.value=!1,u.value=`original`}return{layoutMode:s,showSidebar:c,searchInput:l,selectedConversion:u,editingItem:d,showImportUrlModal:f,showMovePicker:p,selectedUrl:m,hasFrequentlyUsed:h,displayItems:g,hasUsedFiles:_,copy:S,copied:C,getCategoryLabel:y,handleSearchInput:x,handleUpload:w,handleSelect:T,handleCreateFolder:E,handleRenameFolder:D,handleDeleteFolder:O,handleEditItem:k,handleEditSave:A,handleImportFromUrl:j,handleMoveToFolder:M,handleDeleteClick:N,handleReplaceItem:P,handleReplaceFile:F,resetUI:I}}var Xt=[`data-tpl-theme`],Zt={class:`tpl-media-modal tpl-scale-in tpl:flex tpl:flex-col tpl:overflow-hidden tpl:rounded-[var(--tpl-radius-lg)]`,style:{width:`900px`,height:`650px`,"max-width":`95vw`,"max-height":`90vh`,"background-color":`var(--tpl-bg-elevated)`,border:`1px solid var(--tpl-border)`,"box-shadow":`var(--tpl-shadow-xl)`}},Qt={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-5 tpl:py-3.5`,style:{"border-color":`var(--tpl-border)`}},$t={class:`tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},en={class:`tpl:flex tpl:items-center tpl:gap-3`},tn={class:`tpl:relative`},nn=[`value`,`placeholder`],rn={class:`tpl:flex tpl:min-h-0 tpl:flex-1 tpl:overflow-hidden`},an={key:0,class:`tpl:flex tpl:w-48 tpl:shrink-0 tpl:flex-col tpl:border-r`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`}},on={class:`tpl:flex tpl:min-w-0 tpl:flex-1 tpl:flex-col`},sn={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-4 tpl:py-2.5`,style:{"border-color":`var(--tpl-border)`}},cn={class:`tpl:flex tpl:items-center tpl:gap-2`},ln=[`title`],un={key:1,class:`tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text)`}},dn={class:`tpl:flex tpl:rounded-md tpl:p-0.5`,style:{border:`1px solid var(--tpl-border)`,"background-color":`var(--tpl-bg)`}},fn=[`title`],pn=[`title`],mn={class:`tpl:flex tpl:items-center tpl:gap-2`},hn=[`value`],gn={value:``},_n=[`value`],vn=[`value`],yn={value:`newest`},bn={value:`oldest`},xn={value:`name_asc`},Sn={value:`name_desc`},Cn={value:`size_asc`},wn={value:`size_desc`},Tn={class:`tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto`},En={key:0,class:`tpl:px-4 tpl:pt-3`},Dn={class:`tpl-scale-in tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-[var(--tpl-radius-lg)] tpl:p-5`,style:{"background-color":`var(--tpl-bg-elevated)`,"box-shadow":`var(--tpl-shadow-xl)`}},On={class:`tpl:mb-2 tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},kn={key:0,class:`tpl:mb-4 tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},An={key:1,class:`tpl:mb-4 tpl:max-h-32 tpl:overflow-y-auto tpl:rounded tpl:border tpl:p-2`,style:{"border-color":`var(--tpl-border)`}},jn={class:`tpl:font-medium`},Mn={style:{color:`var(--tpl-text-muted)`}},Nn={class:`tpl:flex tpl:justify-end tpl:gap-2`},Pn={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-t tpl:px-5 tpl:py-3`,style:{"border-color":`var(--tpl-border)`}},Fn={class:`tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-3`},In={class:`tpl:flex tpl:items-center tpl:gap-5`},Ln={key:0,class:`tpl:flex tpl:items-center tpl:gap-2`},Rn={key:1,class:`tpl:relative`},zn={class:`tpl:flex tpl:items-center tpl:gap-2`},Bn=[`disabled`],Vn=(0,n.defineComponent)({__name:`MediaLibraryModal`,props:{visible:{type:Boolean},accept:{}},emits:[`close`,`select`],setup(e,{emit:t}){let i=e,o=t,{t:s}=d(),c=(0,n.inject)(`tplUiTheme`),l=(0,n.inject)(`authManager`),f=(0,n.inject)(`projectId`),p=(0,n.computed)(()=>f.value),m=(0,n.inject)(`planConfig`),_=(0,n.computed)(()=>m.hasFeature(`media_folders`)),v=(0,n.computed)(()=>m.hasFeature(`import_from_url`)),y=(0,n.computed)(()=>m.config.value?.storage.used_bytes??0),b=(0,n.computed)(()=>m.config.value?.storage.limit_bytes??0),{isAcceptedMimeType:x,availableCategories:S}=g(),C=u({projectId:p.value,authManager:l}),w=Yt({library:C,canUseMediaFolders:_,translations:s});(0,n.watch)(()=>i.visible,e=>{e?(C.loadItems(),C.loadFrequentlyUsed()):w.resetUI()});function T(e){e.key===`Escape`&&o(`close`)}(0,a.useEventListener)(document,`keydown`,T);function E(){return C.previewItem.value?i.accept?.length?x(C.previewItem.value.mime_type,i.accept):!0:!1}function D(){if(E()){let e=C.previewItem.value;o(`select`,{...e,url:w.selectedUrl.value||e.url}),o(`close`)}}return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:`body`},[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:duration-200`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:duration-150`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[e.visible?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,"data-tpl-theme":(0,n.unref)(c),class:`tpl tpl-media-overlay tpl:fixed tpl:inset-0 tpl:z-[9999]`,onClick:i[18]||=(0,n.withModifiers)(e=>o(`close`),[`self`])},[(0,n.createElementVNode)(`div`,Zt,[(0,n.createElementVNode)(`div`,Qt,[(0,n.createElementVNode)(`h2`,$t,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.title),1),(0,n.createElementVNode)(`div`,en,[(0,n.createVNode)(Jt,{"used-bytes":y.value,"limit-bytes":b.value,size:22},null,8,[`used-bytes`,`limit-bytes`]),(0,n.createElementVNode)(`div`,tn,[(0,n.createElementVNode)(`input`,{value:(0,n.unref)(w).searchInput.value,type:`text`,class:`tpl:w-52 tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-xs tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:outline-none tpl:focus:shadow-[var(--tpl-ring)]`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:(0,n.unref)(s).mediaLibrary.searchPlaceholder,onInput:i[0]||=e=>(0,n.unref)(w).handleSearchInput(e.target.value)},null,40,nn),(0,n.createVNode)((0,n.unref)(r.Search),{class:`tpl:absolute tpl:top-1/2 tpl:left-2.5 tpl:-translate-y-1/2`,size:13,"stroke-width":2,style:{color:`var(--tpl-text-dim)`}})]),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-7 tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150`,style:{color:`var(--tpl-text-muted)`},onClick:i[1]||=e=>o(`close`)},[(0,n.createVNode)((0,n.unref)(r.X),{size:18,"stroke-width":2})])])]),(0,n.createElementVNode)(`div`,rn,[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition-all tpl:duration-200 tpl:ease-out`,"enter-from-class":`tpl:-ml-48 tpl:opacity-0`,"enter-to-class":`tpl:ml-0 tpl:opacity-100`,"leave-active-class":`tpl:transition-all tpl:duration-150 tpl:ease-in`,"leave-from-class":`tpl:ml-0 tpl:opacity-100`,"leave-to-class":`tpl:-ml-48 tpl:opacity-0`},{default:(0,n.withCtx)(()=>[_.value&&(0,n.unref)(w).showSidebar.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,an,[(0,n.createVNode)(X,{folders:(0,n.unref)(C).folders.value,"current-folder-id":(0,n.unref)(C).currentFolderId.value,"view-mode":(0,n.unref)(C).viewMode.value,"has-frequently-used":(0,n.unref)(w).hasFrequentlyUsed.value,onNavigate:(0,n.unref)(C).navigateToFolder,onCreateFolder:(0,n.unref)(w).handleCreateFolder,onRenameFolder:(0,n.unref)(w).handleRenameFolder,onDeleteFolder:(0,n.unref)(w).handleDeleteFolder,onShowFrequentlyUsed:(0,n.unref)(C).showFrequentlyUsed},null,8,[`folders`,`current-folder-id`,`view-mode`,`has-frequently-used`,`onNavigate`,`onCreateFolder`,`onRenameFolder`,`onDeleteFolder`,`onShowFrequentlyUsed`])])):(0,n.createCommentVNode)(``,!0)]),_:1}),(0,n.createElementVNode)(`div`,on,[(0,n.createElementVNode)(`div`,sn,[(0,n.createElementVNode)(`div`,cn,[_.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(w).showSidebar.value?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(w).showSidebar.value?`var(--tpl-bg)`:`transparent`,border:(0,n.unref)(w).showSidebar.value?`1px solid var(--tpl-border)`:`1px solid transparent`}),title:(0,n.unref)(w).showSidebar.value?(0,n.unref)(s).mediaLibrary.hideFolders:(0,n.unref)(s).mediaLibrary.showFolders,onClick:i[2]||=e=>(0,n.unref)(w).showSidebar.value=!(0,n.unref)(w).showSidebar.value},[(0,n.createVNode)((0,n.unref)(r.PanelLeft),{size:16,"stroke-width":2})],12,ln)):(0,n.createCommentVNode)(``,!0),(0,n.unref)(C).viewMode.value===`frequently-used`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,un,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.frequentlyUsed),1)):((0,n.openBlock)(),(0,n.createBlock)(h,{key:2,folders:(0,n.unref)(C).folders.value,"current-folder-id":(0,n.unref)(C).currentFolderId.value,onNavigate:(0,n.unref)(C).navigateToFolder},null,8,[`folders`,`current-folder-id`,`onNavigate`])),(0,n.createElementVNode)(`div`,dn,[(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(w).layoutMode.value===`grid`?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(w).layoutMode.value===`grid`?`var(--tpl-bg-elevated)`:`transparent`}),title:(0,n.unref)(s).mediaLibrary.viewGrid,onClick:i[3]||=e=>(0,n.unref)(w).layoutMode.value=`grid`},[(0,n.createVNode)((0,n.unref)(r.Grid2x2),{size:14,"stroke-width":2})],12,fn),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(w).layoutMode.value===`list`?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(w).layoutMode.value===`list`?`var(--tpl-bg-elevated)`:`transparent`}),title:(0,n.unref)(s).mediaLibrary.viewList,onClick:i[4]||=e=>(0,n.unref)(w).layoutMode.value=`list`},[(0,n.createVNode)((0,n.unref)(r.List),{size:14,"stroke-width":2})],12,pn)])]),(0,n.createElementVNode)(`div`,mn,[(0,n.unref)(S).length>1?((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:0,class:`tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},value:(0,n.unref)(C).categoryFilter.value??``,onChange:i[5]||=e=>(0,n.unref)(C).filterByCategory(e.target.value||null)},[(0,n.createElementVNode)(`option`,gn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.filterAll),1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(S),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)((0,n.unref)(w).getCategoryLabel(e)),9,_n))),128))],40,hn)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`select`,{class:`tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},value:(0,n.unref)(C).sortOption.value,onChange:i[6]||=e=>(0,n.unref)(C).sortBy(e.target.value)},[(0,n.createElementVNode)(`option`,yn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortNewest),1),(0,n.createElementVNode)(`option`,bn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortOldest),1),(0,n.createElementVNode)(`option`,xn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortNameAsc),1),(0,n.createElementVNode)(`option`,Sn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortNameDesc),1),(0,n.createElementVNode)(`option`,Cn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortSizeAsc),1),(0,n.createElementVNode)(`option`,wn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.sortSizeDesc),1)],40,vn)])]),(0,n.createElementVNode)(`div`,Tn,[(0,n.unref)(C).viewMode.value===`files`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,En,[(0,n.createVNode)(Ut,{"is-uploading":(0,n.unref)(C).isUploading.value,"upload-progress":(0,n.unref)(C).uploadProgress.value,onUpload:(0,n.unref)(w).handleUpload},null,8,[`is-uploading`,`upload-progress`,`onUpload`]),v.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:mt-2 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-dashed tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text-muted)`,"background-color":`var(--tpl-bg)`},onClick:i[7]||=e=>(0,n.unref)(w).showImportUrlModal.value=!0},[(0,n.createVNode)((0,n.unref)(r.Link),{size:14,"stroke-width":2}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.importFromUrl),1)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createVNode)(Ye,{items:(0,n.unref)(w).displayItems.value,"selected-ids":(0,n.unref)(C).selectedItems.value,"is-loading":(0,n.unref)(C).isLoading.value,"has-more":(0,n.unref)(C).viewMode.value===`files`&&(0,n.unref)(C).hasMore.value,accept:e.accept,layout:(0,n.unref)(w).layoutMode.value,onSelect:(0,n.unref)(w).handleSelect,onToggle:(0,n.unref)(C).toggleSelection,onLoadMore:(0,n.unref)(C).loadMore,onEdit:(0,n.unref)(w).handleEditItem,onReplace:(0,n.unref)(w).handleReplaceItem},null,8,[`items`,`selected-ids`,`is-loading`,`has-more`,`accept`,`layout`,`onSelect`,`onToggle`,`onLoadMore`,`onEdit`,`onReplace`])])])]),(0,n.createVNode)(st,{visible:(0,n.unref)(w).showImportUrlModal.value,"is-importing":(0,n.unref)(C).isImportingFromUrl.value,error:(0,n.unref)(C).importFromUrlError.value,onImport:(0,n.unref)(w).handleImportFromUrl,onClose:i[8]||=e=>(0,n.unref)(w).showImportUrlModal.value=!1},null,8,[`visible`,`is-importing`,`error`,`onImport`]),(0,n.createVNode)(H,{visible:!!(0,n.unref)(w).editingItem.value,item:(0,n.unref)(w).editingItem.value,onSave:(0,n.unref)(w).handleEditSave,onClose:i[9]||=e=>(0,n.unref)(w).editingItem.value=null},null,8,[`visible`,`item`,`onSave`]),(0,n.createVNode)(Rt,{visible:(0,n.unref)(C).showReplaceWarning.value,item:(0,n.unref)(C).pendingReplaceItem.value,"usage-info":(0,n.unref)(C).replaceUsageInfo.value,"is-replacing":(0,n.unref)(C).isReplacing.value,error:(0,n.unref)(C).replaceError.value,onReplace:(0,n.unref)(w).handleReplaceFile,onClose:(0,n.unref)(C).cancelReplace},null,8,[`visible`,`item`,`usage-info`,`is-replacing`,`error`,`onReplace`,`onClose`]),(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[(0,n.unref)(C).showDeleteWarning.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-lg)]`,style:{"background-color":`var(--tpl-overlay)`,"backdrop-filter":`blur(8px)`,"-webkit-backdrop-filter":`blur(8px)`},onClick:i[12]||=(0,n.withModifiers)((...e)=>(0,n.unref)(C).cancelDelete&&(0,n.unref)(C).cancelDelete(...e),[`self`])},[(0,n.createElementVNode)(`div`,Dn,[(0,n.createElementVNode)(`h3`,On,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.deleteWarningTitle),1),(0,n.createElementVNode)(`p`,{class:(0,n.normalizeClass)([`tpl:text-xs`,(0,n.unref)(w).hasUsedFiles.value?`tpl:mb-2`:`tpl:mb-4`]),style:{color:`var(--tpl-text-muted)`}},(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.deleteWarningMessage),3),(0,n.unref)(w).hasUsedFiles.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,kn,(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.deleteWarningUsageNote),1)):(0,n.createCommentVNode)(``,!0),(0,n.unref)(w).hasUsedFiles.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,An,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(C).deleteUsageInfo.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`tpl:text-xs`,style:{color:`var(--tpl-text)`}},[e.template_count>0?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`span`,jn,(0,n.toDisplayString)((0,n.unref)(w).displayItems.value.find(e=>e.id===t)?.filename||t),1),(0,n.createElementVNode)(`span`,Mn,` - `+(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.usedInTemplates.replace(`{count}`,e.template_count.toString())),1)],64)):(0,n.createCommentVNode)(``,!0)]))),128))])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Nn,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},onClick:i[10]||=(...e)=>(0,n.unref)(C).cancelDelete&&(0,n.unref)(C).cancelDelete(...e)},(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.cancel),1),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-danger)`,color:`var(--tpl-danger)`,"background-color":`var(--tpl-danger-light)`},onClick:i[11]||=(...e)=>(0,n.unref)(C).confirmDelete&&(0,n.unref)(C).confirmDelete(...e)},(0,n.toDisplayString)((0,n.unref)(w).hasUsedFiles.value?(0,n.unref)(s).mediaLibrary.deleteAnyway:(0,n.unref)(s).mediaLibrary.confirmDelete),1)])])])):(0,n.createCommentVNode)(``,!0)]),_:1}),(0,n.createElementVNode)(`div`,Pn,[(0,n.createElementVNode)(`div`,Fn,[(0,n.unref)(C).previewItem.value?((0,n.openBlock)(),(0,n.createBlock)(Ct,{key:0,"selected-conversion":(0,n.unref)(w).selectedConversion.value,"onUpdate:selectedConversion":i[13]||=e=>(0,n.unref)(w).selectedConversion.value=e,item:(0,n.unref)(C).previewItem.value,folders:(0,n.unref)(C).folders.value},null,8,[`selected-conversion`,`item`,`folders`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,In,[(0,n.unref)(C).selectedItems.value.size>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ln,[(0,n.unref)(C).previewItem.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({borderColor:(0,n.unref)(w).copied.value?`var(--tpl-success)`:`var(--tpl-border)`,color:(0,n.unref)(w).copied.value?`var(--tpl-success)`:`var(--tpl-text)`,backgroundColor:`var(--tpl-bg)`}),onClick:i[14]||=e=>(0,n.unref)(w).copy((0,n.unref)(w).selectedUrl.value)},[(0,n.unref)(w).copied.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Check),{key:1,size:12,"stroke-width":2})):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Copy),{key:0,size:12,"stroke-width":2})),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(w).copied.value?(0,n.unref)(s).mediaLibrary.copied:(0,n.unref)(s).mediaLibrary.copyUrl),1)],4)):(0,n.createCommentVNode)(``,!0),_.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Rn,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},onClick:i[15]||=e=>(0,n.unref)(w).showMovePicker.value=!(0,n.unref)(w).showMovePicker.value},(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.moveSelected),1),(0,n.unref)(w).showMovePicker.value?((0,n.openBlock)(),(0,n.createBlock)(ft,{key:0,folders:(0,n.unref)(C).folders.value,"current-folder-id":(0,n.unref)(C).currentFolderId.value,onSelect:(0,n.unref)(w).handleMoveToFolder,onClose:i[16]||=e=>(0,n.unref)(w).showMovePicker.value=!1},null,8,[`folders`,`current-folder-id`,`onSelect`])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,zn,[(0,n.unref)(C).selectedItems.value.size>0?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-danger)`,color:`var(--tpl-danger)`,"background-color":`var(--tpl-danger-light)`},onClick:i[17]||=(...e)=>(0,n.unref)(w).handleDeleteClick&&(0,n.unref)(w).handleDeleteClick(...e)},(0,n.toDisplayString)((0,n.unref)(s).mediaLibrary.deleteSelected),1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:px-4 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50`,style:{"background-color":`var(--tpl-primary)`,color:`var(--tpl-bg)`},disabled:!E(),onClick:D},(0,n.toDisplayString)(e.accept?.length?(0,n.unref)(s).mediaLibrary.selectImage:(0,n.unref)(s).mediaLibrary.selectFile),9,Bn)])])])])],8,Xt)):(0,n.createCommentVNode)(``,!0)]),_:1})]))}});function Hn(){let e=(0,n.inject)(`onRequestMedia`),t=(0,n.inject)(`planConfig`),r=(0,n.ref)(!1),i=(0,n.computed)(()=>!!e&&t.hasFeature(`pluggable_media`));async function a(t){if(!e)return null;r.value=!0;try{return await e(t??{})}finally{r.value=!1}}return{isPluggableMediaEnabled:i,isRequesting:r,requestMedia:a}}var Un={class:`tpl tpl:flex tpl:flex-col tpl:overflow-hidden tpl:rounded-[var(--tpl-radius-lg)]`,style:{width:`100%`,height:`100%`,"background-color":`var(--tpl-bg-elevated)`,border:`1px solid var(--tpl-border)`}},Wn={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-5 tpl:py-3.5`,style:{"border-color":`var(--tpl-border)`}},Gn={class:`tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},Kn={class:`tpl:flex tpl:items-center tpl:gap-3`},qn={class:`tpl:relative`},Jn=[`value`,`placeholder`],Yn={class:`tpl:flex tpl:min-h-0 tpl:flex-1 tpl:overflow-hidden`},Xn={key:0,class:`tpl:flex tpl:w-48 tpl:shrink-0 tpl:flex-col tpl:border-r`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`}},Zn={class:`tpl:flex tpl:min-w-0 tpl:flex-1 tpl:flex-col`},Qn={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-b tpl:px-4 tpl:py-2.5`,style:{"border-color":`var(--tpl-border)`}},$n={class:`tpl:flex tpl:items-center tpl:gap-2`},er=[`title`],tr={key:1,class:`tpl:text-xs tpl:font-medium`,style:{color:`var(--tpl-text)`}},nr={class:`tpl:flex tpl:rounded-md tpl:p-0.5`,style:{border:`1px solid var(--tpl-border)`,"background-color":`var(--tpl-bg)`}},rr=[`title`],ir=[`title`],ar={class:`tpl:flex tpl:items-center tpl:gap-2`},or=[`value`],sr={value:``},cr=[`value`],lr=[`value`],ur={value:`newest`},dr={value:`oldest`},fr={value:`name_asc`},pr={value:`name_desc`},mr={value:`size_asc`},hr={value:`size_desc`},gr={class:`tpl:min-h-0 tpl:flex-1 tpl:overflow-y-auto`},_r={key:0,class:`tpl:px-4 tpl:pt-3`},vr={class:`tpl-scale-in tpl:mx-4 tpl:w-full tpl:max-w-sm tpl:rounded-[var(--tpl-radius-lg)] tpl:p-5`,style:{"background-color":`var(--tpl-bg-elevated)`,"box-shadow":`var(--tpl-shadow-xl)`}},yr={class:`tpl:mb-2 tpl:text-sm tpl:font-semibold`,style:{color:`var(--tpl-text)`}},br={key:0,class:`tpl:mb-4 tpl:text-xs`,style:{color:`var(--tpl-text-muted)`}},xr={key:1,class:`tpl:mb-4 tpl:max-h-32 tpl:overflow-y-auto tpl:rounded tpl:border tpl:p-2`,style:{"border-color":`var(--tpl-border)`}},Sr={class:`tpl:font-medium`},Cr={style:{color:`var(--tpl-text-muted)`}},wr={class:`tpl:flex tpl:justify-end tpl:gap-2`},Tr={class:`tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-between tpl:border-t tpl:px-5 tpl:py-3`,style:{"border-color":`var(--tpl-border)`}},Er={class:`tpl:flex tpl:min-w-0 tpl:flex-1 tpl:items-center tpl:gap-3`},Dr={class:`tpl:flex tpl:items-center tpl:gap-5`},Or={key:0,class:`tpl:flex tpl:items-center tpl:gap-2`},kr={key:1,class:`tpl:relative`},Ar={class:`tpl:flex tpl:items-center tpl:gap-2`},jr=[`disabled`],Mr=(0,n.defineComponent)({__name:`MediaLibrary`,props:{authManager:{},projectId:{},planConfig:{},translations:{},onSelect:{type:Function},onError:{type:Function}},emits:[`ready`],setup(e,{emit:t}){let i=e,a=t,o=(0,n.computed)(()=>i.translations);(0,n.provide)(`translations`,i.translations),(0,n.provide)(`authManager`,i.authManager),(0,n.provide)(`projectId`,(0,n.computed)(()=>i.projectId)),(0,n.provide)(`planConfig`,{config:(0,n.ref)(i.planConfig),isLoading:(0,n.ref)(!1),hasFeature:e=>i.planConfig.features[e]??!1,features:(0,n.computed)(()=>i.planConfig.features),fetchConfig:async()=>{}});let s=(0,n.computed)(()=>i.planConfig.features.media_folders??!1),c=(0,n.computed)(()=>i.planConfig.features.import_from_url??!1),l=(0,n.computed)(()=>i.planConfig.storage.used_bytes??0),d=(0,n.computed)(()=>i.planConfig.storage.limit_bytes??0),{availableCategories:f}=g(),p=u({projectId:i.projectId,authManager:i.authManager,onError:i.onError}),m=Yt({library:p,canUseMediaFolders:s,translations:o});function _(){if(!p.previewItem.value)return;let e=p.previewItem.value,t={...e,url:m.selectedUrl.value||e.url};i.onSelect?.(t)}return(0,n.onMounted)(()=>{p.loadItems(),p.loadFrequentlyUsed(),a(`ready`)}),(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Un,[(0,n.createElementVNode)(`div`,Wn,[(0,n.createElementVNode)(`h2`,Gn,(0,n.toDisplayString)(o.value.mediaLibrary.title),1),(0,n.createElementVNode)(`div`,Kn,[(0,n.createVNode)(Jt,{"used-bytes":l.value,"limit-bytes":d.value,size:22},null,8,[`used-bytes`,`limit-bytes`]),(0,n.createElementVNode)(`div`,qn,[(0,n.createElementVNode)(`input`,{value:(0,n.unref)(m).searchInput.value,type:`text`,class:`tpl:w-52 tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-xs tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:outline-none tpl:focus:shadow-[var(--tpl-ring)]`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},placeholder:o.value.mediaLibrary.searchPlaceholder,onInput:i[0]||=e=>(0,n.unref)(m).handleSearchInput(e.target.value)},null,40,Jn),(0,n.createVNode)((0,n.unref)(r.Search),{class:`tpl:absolute tpl:top-1/2 tpl:left-2.5 tpl:-translate-y-1/2`,size:13,"stroke-width":2,style:{color:`var(--tpl-text-dim)`}})])])]),(0,n.createElementVNode)(`div`,Yn,[(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition-all tpl:duration-200 tpl:ease-out`,"enter-from-class":`tpl:-ml-48 tpl:opacity-0`,"enter-to-class":`tpl:ml-0 tpl:opacity-100`,"leave-active-class":`tpl:transition-all tpl:duration-150 tpl:ease-in`,"leave-from-class":`tpl:ml-0 tpl:opacity-100`,"leave-to-class":`tpl:-ml-48 tpl:opacity-0`},{default:(0,n.withCtx)(()=>[s.value&&(0,n.unref)(m).showSidebar.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Xn,[(0,n.createVNode)(X,{folders:(0,n.unref)(p).folders.value,"current-folder-id":(0,n.unref)(p).currentFolderId.value,"view-mode":(0,n.unref)(p).viewMode.value,"has-frequently-used":(0,n.unref)(m).hasFrequentlyUsed.value,onNavigate:(0,n.unref)(p).navigateToFolder,onCreateFolder:(0,n.unref)(m).handleCreateFolder,onRenameFolder:(0,n.unref)(m).handleRenameFolder,onDeleteFolder:(0,n.unref)(m).handleDeleteFolder,onShowFrequentlyUsed:(0,n.unref)(p).showFrequentlyUsed},null,8,[`folders`,`current-folder-id`,`view-mode`,`has-frequently-used`,`onNavigate`,`onCreateFolder`,`onRenameFolder`,`onDeleteFolder`,`onShowFrequentlyUsed`])])):(0,n.createCommentVNode)(``,!0)]),_:1}),(0,n.createElementVNode)(`div`,Zn,[(0,n.createElementVNode)(`div`,Qn,[(0,n.createElementVNode)(`div`,$n,[s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(m).showSidebar.value?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(m).showSidebar.value?`var(--tpl-bg)`:`transparent`,border:(0,n.unref)(m).showSidebar.value?`1px solid var(--tpl-border)`:`1px solid transparent`}),title:(0,n.unref)(m).showSidebar.value?o.value.mediaLibrary.hideFolders:o.value.mediaLibrary.showFolders,onClick:i[1]||=e=>(0,n.unref)(m).showSidebar.value=!(0,n.unref)(m).showSidebar.value},[(0,n.createVNode)((0,n.unref)(r.PanelLeft),{size:16,"stroke-width":2})],12,er)):(0,n.createCommentVNode)(``,!0),(0,n.unref)(p).viewMode.value===`frequently-used`?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,tr,(0,n.toDisplayString)(o.value.mediaLibrary.frequentlyUsed),1)):((0,n.openBlock)(),(0,n.createBlock)(h,{key:2,folders:(0,n.unref)(p).folders.value,"current-folder-id":(0,n.unref)(p).currentFolderId.value,onNavigate:(0,n.unref)(p).navigateToFolder},null,8,[`folders`,`current-folder-id`,`onNavigate`])),(0,n.createElementVNode)(`div`,nr,[(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(m).layoutMode.value===`grid`?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(m).layoutMode.value===`grid`?`var(--tpl-bg-elevated)`:`transparent`}),title:o.value.mediaLibrary.viewGrid,onClick:i[2]||=e=>(0,n.unref)(m).layoutMode.value=`grid`},[(0,n.createVNode)((0,n.unref)(r.Grid2x2),{size:14,"stroke-width":2})],12,rr),(0,n.createElementVNode)(`button`,{class:`tpl:flex tpl:size-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({color:(0,n.unref)(m).layoutMode.value===`list`?`var(--tpl-primary)`:`var(--tpl-text-muted)`,backgroundColor:(0,n.unref)(m).layoutMode.value===`list`?`var(--tpl-bg-elevated)`:`transparent`}),title:o.value.mediaLibrary.viewList,onClick:i[3]||=e=>(0,n.unref)(m).layoutMode.value=`list`},[(0,n.createVNode)((0,n.unref)(r.List),{size:14,"stroke-width":2})],12,ir)])]),(0,n.createElementVNode)(`div`,ar,[(0,n.unref)(f).length>1?((0,n.openBlock)(),(0,n.createElementBlock)(`select`,{key:0,class:`tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},value:(0,n.unref)(p).categoryFilter.value??``,onChange:i[4]||=e=>(0,n.unref)(p).filterByCategory(e.target.value||null)},[(0,n.createElementVNode)(`option`,sr,(0,n.toDisplayString)(o.value.mediaLibrary.filterAll),1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(f),e=>((0,n.openBlock)(),(0,n.createElementBlock)(`option`,{key:e,value:e},(0,n.toDisplayString)((0,n.unref)(m).getCategoryLabel(e)),9,cr))),128))],40,or)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`select`,{class:`tpl:rounded-md tpl:border tpl:py-1.5 tpl:pr-7 tpl:pl-2.5 tpl:text-xs tpl:transition-all tpl:duration-150 tpl:outline-none`,style:{"border-color":`var(--tpl-border)`,"background-color":`var(--tpl-bg)`,color:`var(--tpl-text)`},value:(0,n.unref)(p).sortOption.value,onChange:i[5]||=e=>(0,n.unref)(p).sortBy(e.target.value)},[(0,n.createElementVNode)(`option`,ur,(0,n.toDisplayString)(o.value.mediaLibrary.sortNewest),1),(0,n.createElementVNode)(`option`,dr,(0,n.toDisplayString)(o.value.mediaLibrary.sortOldest),1),(0,n.createElementVNode)(`option`,fr,(0,n.toDisplayString)(o.value.mediaLibrary.sortNameAsc),1),(0,n.createElementVNode)(`option`,pr,(0,n.toDisplayString)(o.value.mediaLibrary.sortNameDesc),1),(0,n.createElementVNode)(`option`,mr,(0,n.toDisplayString)(o.value.mediaLibrary.sortSizeAsc),1),(0,n.createElementVNode)(`option`,hr,(0,n.toDisplayString)(o.value.mediaLibrary.sortSizeDesc),1)],40,lr)])]),(0,n.createElementVNode)(`div`,gr,[(0,n.unref)(p).viewMode.value===`files`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_r,[(0,n.createVNode)(Ut,{"is-uploading":(0,n.unref)(p).isUploading.value,"upload-progress":(0,n.unref)(p).uploadProgress.value,onUpload:(0,n.unref)(m).handleUpload},null,8,[`is-uploading`,`upload-progress`,`onUpload`]),c.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:mt-2 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-dashed tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text-muted)`,"background-color":`var(--tpl-bg)`},onClick:i[6]||=e=>(0,n.unref)(m).showImportUrlModal.value=!0},[(0,n.createVNode)((0,n.unref)(r.Link),{size:14,"stroke-width":2}),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(o.value.mediaLibrary.importFromUrl),1)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createVNode)(Ye,{items:(0,n.unref)(m).displayItems.value,"selected-ids":(0,n.unref)(p).selectedItems.value,"is-loading":(0,n.unref)(p).isLoading.value,"has-more":(0,n.unref)(p).viewMode.value===`files`&&(0,n.unref)(p).hasMore.value,layout:(0,n.unref)(m).layoutMode.value,onSelect:(0,n.unref)(m).handleSelect,onToggle:(0,n.unref)(p).toggleSelection,onLoadMore:(0,n.unref)(p).loadMore,onEdit:(0,n.unref)(m).handleEditItem,onReplace:(0,n.unref)(m).handleReplaceItem},null,8,[`items`,`selected-ids`,`is-loading`,`has-more`,`layout`,`onSelect`,`onToggle`,`onLoadMore`,`onEdit`,`onReplace`])])])]),(0,n.createVNode)(st,{visible:(0,n.unref)(m).showImportUrlModal.value,"is-importing":(0,n.unref)(p).isImportingFromUrl.value,error:(0,n.unref)(p).importFromUrlError.value,onImport:(0,n.unref)(m).handleImportFromUrl,onClose:i[7]||=e=>(0,n.unref)(m).showImportUrlModal.value=!1},null,8,[`visible`,`is-importing`,`error`,`onImport`]),(0,n.createVNode)(H,{visible:!!(0,n.unref)(m).editingItem.value,item:(0,n.unref)(m).editingItem.value,onSave:(0,n.unref)(m).handleEditSave,onClose:i[8]||=e=>(0,n.unref)(m).editingItem.value=null},null,8,[`visible`,`item`,`onSave`]),(0,n.createVNode)(Rt,{visible:(0,n.unref)(p).showReplaceWarning.value,item:(0,n.unref)(p).pendingReplaceItem.value,"usage-info":(0,n.unref)(p).replaceUsageInfo.value,"is-replacing":(0,n.unref)(p).isReplacing.value,error:(0,n.unref)(p).replaceError.value,onReplace:(0,n.unref)(m).handleReplaceFile,onClose:(0,n.unref)(p).cancelReplace},null,8,[`visible`,`item`,`usage-info`,`is-replacing`,`error`,`onReplace`,`onClose`]),(0,n.createVNode)(n.Transition,{"enter-active-class":`tpl:transition tpl:ease-out tpl:duration-150`,"enter-from-class":`tpl:opacity-0`,"enter-to-class":`tpl:opacity-100`,"leave-active-class":`tpl:transition tpl:ease-in tpl:duration-100`,"leave-from-class":`tpl:opacity-100`,"leave-to-class":`tpl:opacity-0`},{default:(0,n.withCtx)(()=>[(0,n.unref)(p).showDeleteWarning.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-lg)]`,style:{"background-color":`rgba(0, 0, 0, 0.5)`,"backdrop-filter":`blur(8px)`,"-webkit-backdrop-filter":`blur(8px)`},onClick:i[11]||=(0,n.withModifiers)((...e)=>(0,n.unref)(p).cancelDelete&&(0,n.unref)(p).cancelDelete(...e),[`self`])},[(0,n.createElementVNode)(`div`,vr,[(0,n.createElementVNode)(`h3`,yr,(0,n.toDisplayString)(o.value.mediaLibrary.deleteWarningTitle),1),(0,n.createElementVNode)(`p`,{class:(0,n.normalizeClass)([`tpl:text-xs`,(0,n.unref)(m).hasUsedFiles.value?`tpl:mb-2`:`tpl:mb-4`]),style:{color:`var(--tpl-text-muted)`}},(0,n.toDisplayString)(o.value.mediaLibrary.deleteWarningMessage),3),(0,n.unref)(m).hasUsedFiles.value?((0,n.openBlock)(),(0,n.createElementBlock)(`p`,br,(0,n.toDisplayString)(o.value.mediaLibrary.deleteWarningUsageNote),1)):(0,n.createCommentVNode)(``,!0),(0,n.unref)(m).hasUsedFiles.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,xr,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)((0,n.unref)(p).deleteUsageInfo.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t,class:`tpl:text-xs`,style:{color:`var(--tpl-text)`}},[e.template_count>0?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createElementVNode)(`span`,Sr,(0,n.toDisplayString)((0,n.unref)(m).displayItems.value.find(e=>e.id===t)?.filename||t),1),(0,n.createElementVNode)(`span`,Cr,` - `+(0,n.toDisplayString)(o.value.mediaLibrary.usedInTemplates.replace(`{count}`,e.template_count.toString())),1)],64)):(0,n.createCommentVNode)(``,!0)]))),128))])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,wr,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},onClick:i[9]||=(...e)=>(0,n.unref)(p).cancelDelete&&(0,n.unref)(p).cancelDelete(...e)},(0,n.toDisplayString)(o.value.mediaLibrary.cancel),1),(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-danger)`,color:`var(--tpl-danger)`,"background-color":`var(--tpl-danger-light)`},onClick:i[10]||=(...e)=>(0,n.unref)(p).confirmDelete&&(0,n.unref)(p).confirmDelete(...e)},(0,n.toDisplayString)((0,n.unref)(m).hasUsedFiles.value?o.value.mediaLibrary.deleteAnyway:o.value.mediaLibrary.confirmDelete),1)])])])):(0,n.createCommentVNode)(``,!0)]),_:1}),(0,n.createElementVNode)(`div`,Tr,[(0,n.createElementVNode)(`div`,Er,[(0,n.unref)(p).previewItem.value?((0,n.openBlock)(),(0,n.createBlock)(Ct,{key:0,"selected-conversion":(0,n.unref)(m).selectedConversion.value,"onUpdate:selectedConversion":i[12]||=e=>(0,n.unref)(m).selectedConversion.value=e,item:(0,n.unref)(p).previewItem.value,folders:(0,n.unref)(p).folders.value},null,8,[`selected-conversion`,`item`,`folders`])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`div`,Dr,[(0,n.unref)(p).selectedItems.value.size>0?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Or,[(0,n.unref)(p).previewItem.value?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:(0,n.normalizeStyle)({borderColor:(0,n.unref)(m).copied.value?`var(--tpl-success)`:`var(--tpl-border)`,color:(0,n.unref)(m).copied.value?`var(--tpl-success)`:`var(--tpl-text)`,backgroundColor:`var(--tpl-bg)`}),onClick:i[13]||=e=>(0,n.unref)(m).copy((0,n.unref)(m).selectedUrl.value)},[(0,n.unref)(m).copied.value?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Check),{key:1,size:12,"stroke-width":2})):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Copy),{key:0,size:12,"stroke-width":2})),(0,n.createTextVNode)(` `+(0,n.toDisplayString)((0,n.unref)(m).copied.value?o.value.mediaLibrary.copied:o.value.mediaLibrary.copyUrl),1)],4)):(0,n.createCommentVNode)(``,!0),s.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,kr,[(0,n.createElementVNode)(`button`,{class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-border)`,color:`var(--tpl-text)`,"background-color":`var(--tpl-bg)`},onClick:i[14]||=e=>(0,n.unref)(m).showMovePicker.value=!(0,n.unref)(m).showMovePicker.value},(0,n.toDisplayString)(o.value.mediaLibrary.moveSelected),1),(0,n.unref)(m).showMovePicker.value?((0,n.openBlock)(),(0,n.createBlock)(ft,{key:0,folders:(0,n.unref)(p).folders.value,"current-folder-id":(0,n.unref)(p).currentFolderId.value,onSelect:(0,n.unref)(m).handleMoveToFolder,onClose:i[15]||=e=>(0,n.unref)(m).showMovePicker.value=!1},null,8,[`folders`,`current-folder-id`,`onSelect`])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,Ar,[(0,n.unref)(p).selectedItems.value.size>0?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:0,class:`tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150`,style:{"border-color":`var(--tpl-danger)`,color:`var(--tpl-danger)`,"background-color":`var(--tpl-danger-light)`},onClick:i[16]||=(...e)=>(0,n.unref)(m).handleDeleteClick&&(0,n.unref)(m).handleDeleteClick(...e)},(0,n.toDisplayString)(o.value.mediaLibrary.deleteSelected),1)):(0,n.createCommentVNode)(``,!0),e.onSelect?((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:1,class:`tpl:cursor-pointer tpl:rounded-md tpl:px-4 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50`,style:{"background-color":`var(--tpl-primary)`,color:`var(--tpl-bg)`},disabled:!(0,n.unref)(p).previewItem.value,onClick:_},(0,n.toDisplayString)(o.value.mediaLibrary.selectFile),9,jr)):(0,n.createCommentVNode)(``,!0)])])])]))}}),Nr=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},Pr=c({default:()=>Fr}),Fr,Ir=s((()=>{Fr={mediaLibrary:{title:`Medienbibliothek`,searchPlaceholder:`Dateien suchen...`,allFiles:`Alle Dateien`,filterAll:`Alle Typen`,filterImages:`Bilder`,filterDocuments:`Dokumente`,filterVideos:`Videos`,filterAudio:`Audio`,newFolder:`Neuer Ordner`,folderName:`Ordnername`,noFiles:`Keine Dateien gefunden`,dropOrClick:`Dateien hierher ziehen oder klicken zum Hochladen`,acceptedFormats:`Bilder, PDF, Video, Audio, Dokumente (max. 10 MB)`,uploading:`Wird hochgeladen...`,uploadingProgress:`{current} von {total} wird hochgeladen...`,selectImage:`Bild auswählen`,selectFile:`Datei auswählen`,deleteSelected:`Löschen`,copyUrl:`URL kopieren`,copied:`Kopiert!`,browseMedia:`Medienbibliothek durchsuchen`,renameFolder:`Ordner umbenennen`,addSubfolder:`Unterordner hinzufügen`,subfolderName:`Unterordnername`,sortNewest:`Neueste zuerst`,sortOldest:`Älteste zuerst`,sortNameAsc:`Name A-Z`,sortNameDesc:`Name Z-A`,sortSizeAsc:`Kleinste zuerst`,sortSizeDesc:`Größte zuerst`,moveSelected:`Verschieben`,moveToRoot:`Alle Dateien`,currentFolder:`(aktuell)`,confirmDelete:`Bestätigen?`,renameFile:`Umbenennen`,editFile:`Datei bearbeiten`,fileName:`Dateiname`,altText:`Alternativtext`,altTextPlaceholder:`Bildbeschreibung für Barrierefreiheit`,saveChanges:`Speichern`,cancel:`Abbrechen`,frequentlyUsed:`Häufig verwendet`,deleteWarningTitle:`Datei löschen`,deleteWarningMessage:`Sind Sie sicher? Diese Aktion kann nicht rückgängig gemacht werden.`,deleteWarningUsageNote:`Die folgenden Dateien werden in Vorlagen verwendet. Das Löschen kann diese Vorlagen beschädigen.`,deleteAnyway:`Löschen`,usedInTemplates:`In {count} Vorlage(n) verwendet`,viewGrid:`Rasteransicht`,viewList:`Listenansicht`,showFolders:`Ordner anzeigen`,hideFolders:`Ordner ausblenden`,importFromUrl:`Von URL importieren`,importUrlPlaceholder:`https://example.com/image.jpg`,import:`Importieren`,importing:`Wird importiert...`,importError:`Import von URL fehlgeschlagen`,conversionLabel:`Groesse`,conversionOriginal:`Original`,conversionSmall:`Klein (150px)`,conversionMedium:`Mittel (600px)`,conversionLarge:`Gross (1200px)`,replaceFile:`Datei ersetzen`,replaceWarningTitle:`Datei ersetzen`,replaceWarningMessage:`Sie sind dabei, diese Datei zu ersetzen. Die Ersatzdatei muss dieselbe Dateierweiterung haben ({extension}).`,replaceWarningUsageNote:`Diese Datei wird in {count} Vorlage(n) verwendet. Das Ersetzen aktualisiert alle Verweise.`,replaceSelectFile:`Ersatzdatei auswählen`,replace:`Ersetzen`,replacing:`Wird ersetzt...`,replaceError:`Ersetzen der Datei fehlgeschlagen`,saving:`Wird gespeichert...`,cropAspectRatio:`Seitenverhältnis`,cropFree:`Frei`,cropSquare:`1:1`,cropLandscape43:`4:3`,cropLandscape169:`16:9`,cropOriginal:`Original`,cropMaxWidth:`Max. Breite`,cropMaxHeight:`Max. Höhe`,cropOutputSize:`Ausgabegröße`,cropPixels:`px`,cropOptional:`(optional)`,storageTooltip:`{used} von {total} verwendet ({remaining} verfügbar)`}}})),Lr=c({default:()=>Rr}),Rr,zr=s((()=>{Rr={mediaLibrary:{title:`Media Library`,searchPlaceholder:`Search files...`,allFiles:`All Files`,filterAll:`All Types`,filterImages:`Images`,filterDocuments:`Documents`,filterVideos:`Videos`,filterAudio:`Audio`,newFolder:`New Folder`,folderName:`Folder name`,noFiles:`No files found`,dropOrClick:`Drop files here or click to upload`,acceptedFormats:`Images, PDF, Video, Audio, Documents (max 10MB)`,uploading:`Uploading...`,uploadingProgress:`Uploading {current} of {total}...`,selectImage:`Select Image`,selectFile:`Select File`,deleteSelected:`Delete`,copyUrl:`Copy URL`,copied:`Copied!`,browseMedia:`Browse Media Library`,renameFolder:`Rename folder`,addSubfolder:`Add subfolder`,subfolderName:`Subfolder name`,sortNewest:`Newest First`,sortOldest:`Oldest First`,sortNameAsc:`Name A-Z`,sortNameDesc:`Name Z-A`,sortSizeAsc:`Smallest First`,sortSizeDesc:`Largest First`,moveSelected:`Move`,moveToRoot:`All Files`,currentFolder:`(current)`,confirmDelete:`Confirm?`,renameFile:`Rename`,editFile:`Edit File`,fileName:`Filename`,altText:`Alt Text`,altTextPlaceholder:`Describe this image for accessibility`,saveChanges:`Save`,cancel:`Cancel`,frequentlyUsed:`Frequently Used`,deleteWarningTitle:`Delete File`,deleteWarningMessage:`Are you sure? This action is irreversible.`,deleteWarningUsageNote:`The following files are used in templates. Deleting them may break those templates.`,deleteAnyway:`Delete`,usedInTemplates:`Used in {count} template(s)`,viewGrid:`Grid view`,viewList:`List view`,showFolders:`Show folders`,hideFolders:`Hide folders`,importFromUrl:`Import from URL`,importUrlPlaceholder:`https://example.com/image.jpg`,import:`Import`,importing:`Importing...`,importError:`Failed to import from URL`,conversionLabel:`Size`,conversionOriginal:`Original`,conversionSmall:`Small (150px)`,conversionMedium:`Medium (600px)`,conversionLarge:`Large (1200px)`,replaceFile:`Replace File`,replaceWarningTitle:`Replace File`,replaceWarningMessage:`You are about to replace this file. The replacement must have the same file extension ({extension}).`,replaceWarningUsageNote:`This file is used in {count} template(s). Replacing it will update all references.`,replaceSelectFile:`Select replacement file`,replace:`Replace`,replacing:`Replacing...`,replaceError:`Failed to replace file`,saving:`Saving...`,cropAspectRatio:`Aspect Ratio`,cropFree:`Free`,cropSquare:`1:1`,cropLandscape43:`4:3`,cropLandscape169:`16:9`,cropOriginal:`Original`,cropMaxWidth:`Max Width`,cropMaxHeight:`Max Height`,cropOutputSize:`Output Size`,cropPixels:`px`,cropOptional:`(optional)`,storageTooltip:`{used} of {total} used ({remaining} remaining)`}}})),Br=[`en`,`de`];function Vr(e){return e.split(`-`)[0].toLowerCase()}async function Hr(e){let t=Vr(e),n=Br.includes(t)?t:`en`;return(await Nr(Object.assign({"./locales/de.ts":()=>Promise.resolve().then(()=>(Ir(),Pr)),"./locales/en.ts":()=>Promise.resolve().then(()=>(zr(),Lr))}),`./locales/${n}.ts`,3)).default}var Q=null,Ur=(0,n.ref)(null);async function Wr(e){let r=typeof e.container==`string`?document.querySelector(e.container):e.container;if(!r)throw Error(`Container element not found: ${e.container}`);Q&&$();let i=(0,t.createSdkAuthManager)(e.auth,e.onError);await i.initialize();let a=await new t.ApiClient(i).fetchConfig(),o=await Hr(e.locale??`en`);return Gr(r,e.theme),new Promise((t,s)=>{try{Q=(0,n.createApp)({setup(){let s=()=>{t({setTheme:e=>Gr(r,e),unmount:$})};return()=>(0,n.h)(Mr,{authManager:i,projectId:i.projectId,planConfig:a,translations:o,onSelect:e.onSelect,onError:e.onError,ref:Ur,onReady:s})}}),Q.mount(r)}catch(e){s(e)}})}function $(){Q&&(Q.unmount(),Q=null,Ur.value=null)}function Gr(e,t){t&&(t.primaryColor&&e.style.setProperty(`--tpl-primary`,t.primaryColor),t.borderRadius!==void 0&&(e.style.setProperty(`--tpl-radius`,`${t.borderRadius}px`),e.style.setProperty(`--tpl-radius-sm`,`${Math.max(0,t.borderRadius-3)}px`),e.style.setProperty(`--tpl-radius-lg`,`${t.borderRadius+4}px`)))}typeof window<`u`&&(window.TemplaticalMedia={init:Wr,unmount:$}),e.MediaApiClient=l,e.MediaLibraryModal=Vn,e.init=Wr,e.unmount=$,e.useI18n=d,e.useMediaCategories=g,e.useMediaLibrary=u,e.useMediaPicker=Hn});
|