@templatical/media-library 0.0.5 → 0.1.0

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.
@@ -1,13 +0,0 @@
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
- 135deg,
3
- var(--tpl-primary),
4
- var(--tpl-primary-hover)
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
- 135deg,
7
- var(--tpl-primary),
8
- var(--tpl-primary-hover)
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
- 135deg,
11
- var(--tpl-primary),
12
- var(--tpl-primary-hover)
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});