@codingfactory/mediables-vue 2.18.0 → 2.18.1

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.
@@ -333,7 +333,7 @@ ${i.text}
333
333
  font-size: 13px;
334
334
  padding: 12px 0;
335
335
  }
336
- `,a=document.createElement("style");a.textContent=o,document.head.appendChild(a)}class F2{constructor({filters:a=[],callbacks:t={}}){$2(),this._filters=a,this._cb=t,this._selectedCategory="all",this._selectedFilterId=null,this._activeFilters=new Map,this._drawerOpen=!1,this._drawerFilterId=null,this._root=null,this._catRow=null,this._filterRow=null,this._activeRow=null,this._drawer=null,this._drawerTitle=null,this._drawerBody=null}mount(a){return this._root=bt("div",{className:"mvfp"}),this._catRow=bt("div",{className:"mvfp-row"}),this._root.appendChild(this._catRow),this._filterRow=bt("div",{className:"mvfp-row"}),this._root.appendChild(this._filterRow),this._activeRow=bt("div",{className:"mvfp-active-row"}),this._root.appendChild(this._activeRow),this._buildDrawer(),this._root.appendChild(this._drawer),this._renderCategories(),this._renderFilters(),this._renderActiveChips(),a.appendChild(this._root),this._root}setFilters(a){this._filters=a,this._renderCategories(),this._renderFilters()}setActiveFilters(a){this._activeFilters.clear(),a&&a.forEach((t,n)=>{this._activeFilters.set(n,t)}),this._renderFilters(),this._renderActiveChips(),this._drawerOpen&&this._drawerFilterId&&!this._activeFilters.has(this._drawerFilterId)&&this.closeDrawer()}destroy(){var a;this.closeDrawer(),(a=this._root)==null||a.remove(),this._root=null}_getCategories(){const a=new Map;a.set("all","All");for(const t of this._filters){const n=t.category||"other";a.has(n)||a.set(n,n.charAt(0).toUpperCase()+n.slice(1))}return a}_renderCategories(){this._catRow.innerHTML="",this._getCategories().forEach((t,n)=>{const i=bt("div",{className:`mvfp-cat${this._selectedCategory===n?" active":""}`,onClick:()=>{this._selectedCategory=n,this._renderCategories(),this._renderFilters()}},t);this._catRow.appendChild(i)})}_currentFilters(){return this._selectedCategory==="all"?this._filters:this._filters.filter(a=>(a.category||"other")===this._selectedCategory)}_renderFilters(){this._filterRow.innerHTML="";for(const a of this._currentFilters()){const t=this._activeFilters.has(a.id),n=this._selectedFilterId===a.id,i=bt("div",{className:`mvfp-filter${t?" active":""}${n?" selected":""}`,onClick:()=>this._selectFilter(a)});if(t){const r=bt("div",{className:"mvfp-check",onClick:l=>{l.stopPropagation(),this._removeFilter(a.id)}});r.innerHTML="✓",i.appendChild(r)}i.appendChild(bt("span",{},a.name)),this._filterRow.appendChild(i)}}_selectFilter(a){var t,n,i,r;this._selectedFilterId=a.id,this._activeFilters.has(a.id)||(n=(t=this._cb).onApplyFilter)==null||n.call(t,a),(r=(i=this._cb).onPreviewFilter)==null||r.call(i,a),this._renderFilters(),a.params&&a.params.length>0&&this.openDrawer(a.id)}_removeFilter(a){var t,n;(n=(t=this._cb).onRemoveFilter)==null||n.call(t,a),this._selectedFilterId===a&&(this._selectedFilterId=null)}_renderActiveChips(){if(this._activeRow.innerHTML="",this._activeFilters.size===0){this._activeRow.appendChild(bt("div",{className:"mvfp-placeholder"},"No active filters"));return}this._activeFilters.forEach((a,t)=>{const n=this._filters.find(d=>d.id===t);if(!n)return;const i=this._drawerOpen&&this._drawerFilterId===t,r=bt("div",{className:`mvfp-achip${i?" selected":""}`}),l=bt("span",{style:{cursor:"pointer"},onClick:()=>{this._selectedFilterId=t,this._renderFilters(),n.params&&n.params.length>0&&this.openDrawer(t)}},n.name),s=bt("button",{className:"mvfp-achip-x","aria-label":`Remove ${n.name}`,onClick:d=>{d.stopPropagation(),this._removeFilter(t)}});s.innerHTML='<svg width="10" height="10" viewBox="0 0 12 12"><path d="M3 3l6 6M9 3l-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',r.appendChild(l),r.appendChild(s),this._activeRow.appendChild(r)})}_buildDrawer(){this._drawer=bt("div",{className:"mvfp-drawer"});const a=bt("div",{className:"mvfp-drawer-hdr"});this._drawerTitle=bt("span",{className:"mvfp-drawer-title"},"Filter");const t=bt("div",{className:"mvfp-drawer-actions"});t.appendChild(bt("button",{className:"mvfp-drawer-btn",onClick:()=>this._resetDrawerFilter()},"Reset")),t.appendChild(bt("button",{className:"mvfp-drawer-btn danger",onClick:()=>{this._drawerFilterId&&(this._removeFilter(this._drawerFilterId),this.closeDrawer())}},"Remove"));const n=bt("button",{className:"mvfp-drawer-close","aria-label":"Close",onClick:()=>this.closeDrawer()});n.innerHTML='<svg width="14" height="14" viewBox="0 0 14 14"><path d="M3 3l8 8M11 3l-8 8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',t.appendChild(n),a.appendChild(this._drawerTitle),a.appendChild(t),this._drawer.appendChild(a),this._drawerBody=bt("div",{className:"mvfp-drawer-body"}),this._drawer.appendChild(this._drawerBody)}openDrawer(a){const t=this._filters.find(n=>n.id===a);if(t&&(this._drawerFilterId=a,this._drawerTitle.textContent=t.name,this._renderDrawerControls(t),this._renderActiveChips(),!this._drawerOpen)){this._drawerOpen=!0;const n=this._root.offsetHeight;n>0&&(this._drawer.style.height=n+"px"),this._drawer.style.transition="none",this._drawer.style.transform="translateY(100%)",this._drawer.offsetHeight,this._drawer.style.transition="transform 0.25s cubic-bezier(0.33, 1, 0.68, 1)",this._drawer.style.transform="translateY(0)"}}closeDrawer(){this._drawerOpen&&(this._drawerOpen=!1,this._drawerFilterId=null,this._drawer.style.transition="transform 0.2s cubic-bezier(0.32, 0, 0.67, 0)",this._drawer.style.transform="translateY(100%)",this._renderActiveChips())}_renderDrawerControls(a){if(this._drawerBody.innerHTML="",!a.params||a.params.length===0){this._drawerBody.appendChild(bt("div",{className:"mvfp-no-params"},"No adjustable parameters"));return}const t=this._activeFilters.get(a.id),n=(t==null?void 0:t.params)||{};for(const i of a.params){const r=n[i.id]??i.default,l=bt("div",{className:"mvfp-ctl"}),s=bt("label",{className:"mvfp-ctl-label"},i.label||i.id);l.appendChild(s);const d=i.type||"slider";if(d==="slider"||d==="range"){const c=bt("div",{className:"mvfp-slider-row"}),u=bt("span",{className:"mvfp-range-val"},Pc(r)),m=bt("input",{type:"range",className:"mvfp-range",min:String(i.min??0),max:String(i.max??1),step:String(i.step??.01),value:String(typeof r=="number"?r:i.default??0),onInput:p=>{var h,v;const f=parseFloat(p.target.value);u.textContent=Pc(f),(v=(h=this._cb).onUpdateParam)==null||v.call(h,a.id,i.id,f)}});c.appendChild(m),c.appendChild(u),l.appendChild(c)}else if(d==="toggle"||d==="checkbox"){const c=bt("div",{className:"mvfp-toggle-row"}),u=bt("input",{type:"checkbox",checked:r?"checked":void 0,onChange:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.checked)}});c.appendChild(u),l.appendChild(c)}else if(d==="color"){const c=bt("div",{className:"mvfp-color-row"}),u=bt("input",{type:"color",className:"mvfp-color-input",value:typeof r=="string"?r:"#000000",onInput:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.value)}});c.appendChild(u),l.appendChild(c)}else if(d==="select"||d==="dropdown"){const c=bt("div",{className:"mvfp-select-row"}),u=bt("select",{className:"mvfp-select",onChange:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.value)}});for(const m of i.options||[]){const p=bt("option",{value:m.value},m.label||String(m.value));m.value===r&&(p.selected=!0),u.appendChild(p)}c.appendChild(u),l.appendChild(c)}this._drawerBody.appendChild(l)}}_resetDrawerFilter(){var t,n;if(!this._drawerFilterId)return;const a=this._filters.find(i=>i.id===this._drawerFilterId);if(a!=null&&a.params){for(const i of a.params)(n=(t=this._cb).onUpdateParam)==null||n.call(t,this._drawerFilterId,i.id,i.default);this._renderDrawerControls(a)}}}const D2=[200,500,1e3];function A2(o){return{"360p":[640,360],"480p":[854,480],"720p":[1280,720],"1080p":[1920,1080],"1440p":[2560,1440],"2160p":[3840,2160]}[o??""]??[1920,1080]}function Oc(o){if(!o)return null;const a=o.duration;if(typeof a=="number"&&Number.isFinite(a)&&a>0)return a;if(a&&typeof a=="object"&&"value"in a){const t=a.value;if(typeof t=="number"&&Number.isFinite(t)&&t>0)return t}return null}function R2(o){return new Promise(a=>{window.setTimeout(a,o)})}async function zc(){return await Promise.resolve().then(()=>require("./PixiFrameExporter-Dcbwik8a.cjs"))}function jc(o,a=0){var r;const t=o.timeline[0],n=t?Math.max(0,t.sourceIn):0,i=(t==null?void 0:t.sourceOut)??((r=o.source)==null?void 0:r.duration)??a;return Math.max(0,i-n)}function Km(o){let a=null;return{canExportClientSide:async()=>{try{const{isWebCodecsSupported:i}=await zc();return i()}catch{return!1}},renderRecipeWithPixi:async(i,r,l)=>{var f,h,v,k;const s=i.timeline[0],d=s?Math.max(0,s.sourceIn):0,c=s?s.sourceOut:void 0,[u,m]=A2((r==null?void 0:r.quality)??((f=i.output)==null?void 0:f.quality)),p=((h=i.output)==null?void 0:h.fps)||30;o.setPlaying(!1),o.forcePixiPreview.value=!0,await e.nextTick();try{let y=!1;for(const A of D2){await R2(A);const P=o.getPreviewRef();if(!(!P||typeof P.captureFrameAt!="function")){if(typeof P.ensureReadyForCapture=="function"){if(y=await P.ensureReadyForCapture(),y)break;continue}y=!0;break}}const w=o.getPreviewRef();if(!w||typeof w.captureFrameAt!="function")throw new Error("PIXI preview not available for export. Ensure the preview is mounted.");if(!y)throw new Error("PIXI preview not ready for frame capture after retries. The video may still be loading.");const{exportWithPixiFrames:g,isWebCodecsSupported:b}=await zc();if(!b())throw new Error("WebCodecs is not supported in this browser. Export requires Chrome 94+ or equivalent.");a=new AbortController;const R={width:u,height:m,fps:p,trimStart:d,signal:a.signal};c!==void 0&&(R.trimEnd=c),l&&(R.onProgress=l);const N=o.getSourceUrl();N!==""&&(R.sourceUrl=N);const I=Oc(w)??((v=i.source)==null?void 0:v.duration)??c??0,x=await g({captureFrameAt:A=>{var P;return((P=w.captureFrameAt)==null?void 0:P.call(w,A))??Promise.resolve(null)},duration:{value:I}},R),T=new File([x],`edited-video-${Date.now()}.mp4`,{type:"video/mp4"}),$=Oc(w),S=((k=i.source)==null?void 0:k.duration)??0,_=Math.max(0,(c??$??S)-d);return{file:T,recipe:i,meta:{duration:_,width:u,height:m,format:"mp4",sizeBytes:T.size,size_bytes:T.size}}}finally{o.forcePixiPreview.value=!1,a=null}},cancelClientExport:()=>{a==null||a.abort(),a=null},resetClientExport:()=>{a=null}}}const Lo="default-video-track",Vn="default-media-source";function Jm(o){var r,l;const a=P2(o),t=U2(o),n=O2(o.timeline,((r=t[0])==null?void 0:r.id)??Lo,((l=a[0])==null?void 0:l.id)??Vn),i={version:o.version,source:{...o.source},mediaSources:a,tracks:z2(t,n),clips:n,markers:o.markers?o.markers.map(s=>({...s})):[],transitions:o.transitions?o.transitions.map(Qm):[],filters:o.filters.map(s=>({...s,params:{...s.params}})),audio:{...o.audio},output:{...o.output}};return typeof o.duration=="number"&&(i.duration=o.duration),o.snapSettings&&(i.snapSettings={...o.snapSettings}),o.textOverlays&&(i.textOverlays=[...o.textOverlays]),o.captionTracks&&(i.captionTracks=o.captionTracks.map(ep)),o.visualLayers&&(i.visualLayers=o.visualLayers.map(tp)),o.audioTracks&&(i.audioTracks=[...o.audioTracks]),o.posterFrame&&(i.posterFrame=o.posterFrame),o.metadata&&(i.metadata={...o.metadata}),i}function L2(o){const a={version:"1.0",source:{...o.source},timeline:o.clips.map(t=>({...t})),mediaSources:o.mediaSources.map(qm),tracks:o.tracks.map(Ym),markers:o.markers.map(t=>({...t})),transitions:o.transitions.map(Qm),filters:o.filters.map(t=>({...t,params:{...t.params}})),audio:{...o.audio},output:{...o.output}};return typeof o.duration=="number"&&(a.duration=o.duration),o.snapSettings&&(a.snapSettings={...o.snapSettings}),o.textOverlays&&(a.textOverlays=[...o.textOverlays]),o.captionTracks&&(a.captionTracks=o.captionTracks.map(ep)),o.visualLayers&&(a.visualLayers=o.visualLayers.map(tp)),o.audioTracks&&(a.audioTracks=[...o.audioTracks]),o.posterFrame&&(a.posterFrame=o.posterFrame),o.metadata&&(a.metadata={...o.metadata}),a}function P2(o){var t,n;if(o.mediaSources&&o.mediaSources.length>0)return o.mediaSources.map(qm);const a={id:((t=o.timeline.find(i=>i.sourceRefId))==null?void 0:t.sourceRefId)??Vn,type:"media",mediaUuid:o.source.media_uuid,duration:o.source.duration,width:o.source.original_width,height:o.source.original_height};return(n=o.metadata)!=null&&n.source_url&&(a.url=o.metadata.source_url),[a]}function U2(o){var a;return o.tracks&&o.tracks.length>0?o.tracks.map(Ym):[{id:((a=o.timeline.find(t=>t.trackId))==null?void 0:a.trackId)??Lo,type:"video",name:"Video",order:0}]}function O2(o,a,t){return o.map(n=>{const i={...n,trackId:n.trackId??a,sourceRefId:n.sourceRefId??t};return n.filters&&(i.filters=n.filters.map(r=>({...r,params:{...r.params}}))),n.transform&&(i.transform={...n.transform}),n.keyframes&&(i.keyframes=n.keyframes.map(r=>({...r}))),i})}function z2(o,a){return o.map(t=>{const n=a.filter(i=>i.trackId===t.id).map(i=>i.id);return{...t,clipIds:n}})}function qm(o){const a={...o};return o.metadata&&(a.metadata={...o.metadata}),a}function Ym(o){const a={...o};return o.clipIds&&(a.clipIds=[...o.clipIds]),a}function Qm(o){const a={...o};return o.params&&(a.params={...o.params}),a}function ep(o){return{...o,segments:o.segments.map(t=>{const n={...t};return t.words&&(n.words=t.words.map(i=>({...i}))),n})}}function tp(o){return{...o,transform:{...o.transform,position:{...o.transform.position},anchor:{...o.transform.anchor},scale:{...o.transform.scale}},keyframes:o.keyframes?o.keyframes.map(a=>({...a})):void 0}}const ap="video-project-draft-snapshot:v1",Ls="mediables:video-project-drafts",j2=(o,a={})=>{var p,f;const t=pn(a.now)??Date.now(),n=pn(a.createdAt)??t,i=pn(a.updatedAt)??t,r=tE(o),l={id:Ma(a.id)??iE(i),payloadKind:r,createdAt:new Date(n).toISOString(),updatedAt:new Date(i).toISOString(),deviceKind:a.deviceKind??"unknown"},s=Ma(a.projectId),d=Ma(a.sourceMediaUuid)??Ma(o.source.media_uuid),c=Ps(a.durationSeconds)??aE(o),u=Ma(a.editorVersion)??Ma((p=o.metadata)==null?void 0:p.editor_version),m=Ma(a.title)??Ma((f=o.metadata)==null?void 0:f.title);return s!==null&&(l.projectId=s),d!==null&&(l.sourceMediaUuid=d),c!==null&&(l.durationSeconds=c),u!==null&&(l.editorVersion=u),m!==null&&(l.title=m),a.saveReason!==void 0&&(l.saveReason=a.saveReason),{schemaVersion:ap,metadata:l,payload:o}},np=(o,a=Ls)=>{const t=Ma(a)??Ls,n=Xc(o.metadata.projectId??"unsaved-project"),i=Xc(o.metadata.id);return`${t}:${n}:${i}`},W2=o=>JSON.stringify(o),H2=o=>{if(typeof o!="string"||o.trim().length===0)return null;try{const a=JSON.parse(o);return Y2(a)?a:null}catch{return null}},Z2=o=>{const a=[];for(const t of o){const n=Ma(t.key),i=H2(t.value);n===null||i===null||a.push({key:n,snapshot:i})}return Si(a)},G2=(o,a)=>{const t=oE(a.maxCount),n=pn(a.now)??Date.now(),i=sp(a.maxAgeMs),r=[],l=[];let s=0;for(const d of Si(o)){if(!rp(d,a.projectId)){r.push(d);continue}if(lp(d.snapshot,n,i)||s>=t){l.push(d);continue}r.push(d),s+=1}return{retained:Si(r),removed:Si(l)}},X2=(o,a={})=>{const t={key:np(o),snapshot:o};if(!rp(t,a.projectId))return!1;const n=pn(a.now)??Date.now(),i=sp(a.maxAgeMs);if(lp(o,n,i))return!1;const r=a.savedAt===null?null:pn(a.savedAt);return r===null?!0:jr(o)>r},K2=(o,a={})=>Si(o).filter(t=>X2(t.snapshot,a)),J2=(o,a,t={})=>{const n=K2(o,t);if(a==="mobile"){const i=n[0]??null;return i===null?[]:[i]}return n},q2=async(o,a,t=np(a))=>(await o.setItem(t,W2(a)),{key:t,snapshot:a}),Wc=async(o,a=Ls)=>{const t=await o.listKeys(a),n=[];for(const i of t)n.push({key:i,value:await o.getItem(i)});return Z2(n)},Hc=async(o,a)=>{for(const t of a)await o.removeItem(t.key)},Y2=o=>!fn(o)||o.schemaVersion!==ap||!Q2(o.metadata)?!1:o.metadata.payloadKind==="project"?op(o.payload):eE(o.payload),Q2=o=>fn(o)?_d(o.id)&&lE(o.payloadKind)&&Gc(o.createdAt)&&Gc(o.updatedAt)&&sE(o.deviceKind)&&mr(o.projectId)&&mr(o.sourceMediaUuid)&&rE(o.durationSeconds)&&mr(o.editorVersion)&&mr(o.title)&&dE(o.saveReason):!1,eE=o=>fn(o)?o.version==="1.0"&&ip(o.source)&&Array.isArray(o.timeline)&&Array.isArray(o.filters)&&fn(o.audio)&&fn(o.output):!1,op=o=>fn(o)?o.version==="1.0"&&ip(o.source)&&Array.isArray(o.mediaSources)&&Array.isArray(o.tracks)&&Array.isArray(o.clips)&&Array.isArray(o.markers)&&Array.isArray(o.filters)&&fn(o.audio)&&fn(o.output):!1,ip=o=>fn(o)?_d(o.media_uuid)&&Ci(o.duration)&&Ci(o.original_width)&&Ci(o.original_height):!1,tE=o=>op(o)?"project":"recipe",aE=o=>Ps(o.duration)??Ps(o.source.duration),rp=(o,a)=>{const t=Ma(a);return t===null?!0:o.snapshot.metadata.projectId===t},lp=(o,a,t)=>t===null?!1:a-jr(o)>t,Si=o=>[...o].sort(nE),nE=(o,a)=>{const t=jr(a.snapshot)-jr(o.snapshot);if(t!==0)return t;const n=Zc(a.snapshot)-Zc(o.snapshot);return n!==0?n:o.snapshot.metadata.id.localeCompare(a.snapshot.metadata.id)},jr=o=>pn(o.metadata.updatedAt)??0,Zc=o=>pn(o.metadata.createdAt)??0,oE=o=>!Number.isFinite(o)||o<0?0:Math.floor(o),sp=o=>o===void 0||!Number.isFinite(o)||o<0?null:Math.floor(o),pn=o=>{if(o==null)return null;if(o instanceof Date)return Number.isFinite(o.getTime())?o.getTime():null;if(typeof o=="number")return Number.isFinite(o)?o:null;const a=o.trim();if(a.length===0)return null;const t=Date.parse(a);return Number.isFinite(t)?t:null},Gc=o=>typeof o=="string"&&pn(o)!==null,iE=o=>{var t;const a=typeof((t=globalThis.crypto)==null?void 0:t.randomUUID)=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,12);return`draft-${o}-${a}`},Xc=o=>encodeURIComponent(o.trim()),Ma=o=>{if(typeof o!="string")return null;const a=o.trim();return a.length>0?a:null},_d=o=>Ma(o)!==null,mr=o=>o===void 0||_d(o),Ps=o=>{if(!Ci(o))return null;const a=Number(o.toFixed(6));return Object.is(a,-0)?0:a},Ci=o=>typeof o=="number"&&Number.isFinite(o)&&o>=0,rE=o=>o===void 0||Ci(o),lE=o=>o==="recipe"||o==="project",sE=o=>o==="desktop"||o==="mobile"||o==="tablet"||o==="unknown",dE=o=>o===void 0||o==="autosave"||o==="manual"||o==="before-export"||o==="before-close",fn=o=>typeof o=="object"&&o!==null&&!Array.isArray(o),cE=1,uE="master",Mi=-60,Us=12,Ed=0,Nn=-90,Wr=6,mE=4,dp=8;function cp(){return{mobile:{canAdjustTrackFaders:!0,canAdjustMasterFader:!0,canMuteTracks:!0,canSoloTracks:!0,canAdjustPan:!1,canViewMeters:!0,canEditEffectSlots:!1,canEditRouting:!1,canEditAutomation:!1,meterMode:"basic",maxEffectSlots:0},desktop:{canAdjustTrackFaders:!0,canAdjustMasterFader:!0,canMuteTracks:!0,canSoloTracks:!0,canAdjustPan:!0,canViewMeters:!0,canEditEffectSlots:!0,canEditRouting:!0,canEditAutomation:!0,meterMode:"full",maxEffectSlots:dp}}}function pE(o,a=cp()){return zs(a[o])}function up(o){return Number.isNaN(o)?Ed:o<=0||o===Number.NEGATIVE_INFINITY?Mi:$i(20*Math.log10(o))}function Os(o){const a=$i(o);return a<=Mi?0:Bn(Math.pow(10,a/20),6)}function $i(o){return Number.isNaN(o)?Ed:o===Number.NEGATIVE_INFINITY?Mi:o===Number.POSITIVE_INFINITY?Us:Bn(Wi(o,Mi,Us),3)}function mp(o){return Number.isFinite(o)?Bn(Wi(o,-1,1),3):0}function fE(o,a=!1){const t=o.some(n=>n.controls.solo);return o.map(n=>{const i=n.controls.muted,r=t&&!n.controls.solo,l=a||i||r,s=l?0:n.controls.fader.linearGain;return{trackId:n.id,soloed:n.controls.solo,mutedByTrack:i,mutedBySolo:r,mutedByMaster:a,effectivelyMuted:l,audible:!l,effectiveGainLinear:s}})}function hE(o,a={}){const t=xE(a.effectSlotCount),n=new Set;return{schemaVersion:cE,capabilities:a.capabilities?BE(a.capabilities):cp(),tracks:o.map((i,r)=>gE(i,r,t,n)),master:bE(a.master,t)}}function pp(o){const a=$i(o);return{valueDb:a,minDb:Mi,maxDb:Us,unityDb:Ed,linearGain:Os(a)}}function vE(o,a="constant-power"){return{value:mp(o),mode:a}}function fp(o=Nn,a=Nn,t=o){const n=ql(o),i=ql(a),r=ql(t);return{peakDb:n,rmsDb:i,peakHoldDb:r,clipping:n>=0||r>=0}}function hp(o){const a=bp(o);return{id:`empty-effect-slot-${a}`,index:a,kind:"empty",label:"Empty",enabled:!1,bypassed:!0,wetMix:0,parameters:{}}}function gE(o,a,t,n){const i=gp(o.id),l={id:CE(i??`legacy-audio-track-${a+1}`,n),kind:"legacy-url",name:_E(o.name,a),order:a,source:yE(o.source),controls:{fader:pp(o.faderDb??up(o.volume??1)),pan:vE(o.pan??0),muted:o.muted??!1,solo:o.solo??!1,meter:fp(o.peakDb,o.rmsDb,o.peakHoldDb)},timeline:wE(o),effectSlots:vp(o.effectSlots,t)};return i!==void 0&&(l.legacyTrackId=i),l}function bE(o,a){return{id:uE,name:EE(o==null?void 0:o.name),fader:pp((o==null?void 0:o.faderDb)??up((o==null?void 0:o.volume)??1)),muted:(o==null?void 0:o.muted)??!1,meter:fp(o==null?void 0:o.peakDb,o==null?void 0:o.rmsDb,o==null?void 0:o.peakHoldDb),effectSlots:vp(o==null?void 0:o.effectSlots,a)}}function yE(o){const a=o.trim();return a===""?{type:"missing"}:{type:"url",url:a}}function wE(o){const a={startTime:NE(o.startTime??0),loop:o.loop??!1},t=VE(o.duration);t!==void 0&&(a.duration=t);const n=Kc(o.fadeIn);n!==void 0&&(a.fadeIn=n);const i=Kc(o.fadeOut);return i!==void 0&&(a.fadeOut=i),a}function vp(o,a){const t=new Map;for(const n of o??[]){const i=kE(n,a);t.set(i.index,i)}return Array.from({length:a},(n,i)=>t.get(i)??hp(i))}function kE(o,a){const t=bp(o.index),n=a>0?Math.min(t,a-1):0,i=o.kind;return i==="empty"?hp(n):{id:gp(o.id)??`${i}-effect-slot-${n}`,index:n,kind:i,label:SE(o.label,i),enabled:o.enabled,bypassed:o.bypassed,wetMix:TE(o.wetMix),parameters:{...o.parameters}}}function _E(o,a){const t=o==null?void 0:o.trim();return t&&t!==""?t:`Audio ${a+1}`}function EE(o){const a=o==null?void 0:o.trim();return a&&a!==""?a:"Master"}function SE(o,a){const t=o.trim();return t!==""?t:a}function CE(o,a){if(!a.has(o))return a.add(o),o;let t=2,n=`${o}-${t}`;for(;a.has(n);)t+=1,n=`${o}-${t}`;return a.add(n),n}function gp(o){const a=o==null?void 0:o.trim();if(!(!a||a===""))return a}function xE(o){return o===void 0||!Number.isFinite(o)?mE:Math.trunc(Wi(o,0,dp))}function bp(o){return!Number.isFinite(o)||o<0?0:Math.trunc(o)}function VE(o){if(!(o===void 0||!Number.isFinite(o)||o<=0))return Bn(o,3)}function Kc(o){if(!(o===void 0||!Number.isFinite(o)||o<0))return Bn(o,3)}function NE(o){return!Number.isFinite(o)||o<0?0:Bn(o,3)}function TE(o){return Number.isFinite(o)?Bn(Wi(o,0,1),3):1}function ql(o){return Number.isNaN(o)||o===Number.NEGATIVE_INFINITY?Nn:o===Number.POSITIVE_INFINITY?Wr:Bn(Wi(o,Nn,Wr),3)}function BE(o){return{mobile:zs(o.mobile),desktop:zs(o.desktop)}}function zs(o){return{...o}}function Wi(o,a,t){return Math.min(t,Math.max(a,o))}function Bn(o,a){const t=10**a;return Math.round(o*t)/t}const IE=/^(\d{2,}:[0-5]\d:[0-5]\d,\d{3})\s+-->\s+(\d{2,}:[0-5]\d:[0-5]\d,\d{3})$/,ME=/^(\d{2,}):([0-5]\d):([0-5]\d),(\d{3})$/,$E="srt-cue";class Tn extends Error{constructor(a,t,n={}){super(t),this.name="CaptionSrtError",this.code=a,this.context=n}}function FE(o,a={}){var l,s;const t=DE(a.idPrefix),n=o.replace(/^\uFEFF/,"").replace(/\r\n?/g,`
336
+ `,a=document.createElement("style");a.textContent=o,document.head.appendChild(a)}class F2{constructor({filters:a=[],callbacks:t={}}){$2(),this._filters=a,this._cb=t,this._selectedCategory="all",this._selectedFilterId=null,this._activeFilters=new Map,this._drawerOpen=!1,this._drawerFilterId=null,this._root=null,this._catRow=null,this._filterRow=null,this._activeRow=null,this._drawer=null,this._drawerTitle=null,this._drawerBody=null}mount(a){return this._root=bt("div",{className:"mvfp"}),this._catRow=bt("div",{className:"mvfp-row"}),this._root.appendChild(this._catRow),this._filterRow=bt("div",{className:"mvfp-row"}),this._root.appendChild(this._filterRow),this._activeRow=bt("div",{className:"mvfp-active-row"}),this._root.appendChild(this._activeRow),this._buildDrawer(),this._root.appendChild(this._drawer),this._renderCategories(),this._renderFilters(),this._renderActiveChips(),a.appendChild(this._root),this._root}setFilters(a){this._filters=a,this._renderCategories(),this._renderFilters()}setActiveFilters(a){this._activeFilters.clear(),a&&a.forEach((t,n)=>{this._activeFilters.set(n,t)}),this._renderFilters(),this._renderActiveChips(),this._drawerOpen&&this._drawerFilterId&&!this._activeFilters.has(this._drawerFilterId)&&this.closeDrawer()}destroy(){var a;this.closeDrawer(),(a=this._root)==null||a.remove(),this._root=null}_getCategories(){const a=new Map;a.set("all","All");for(const t of this._filters){const n=t.category||"other";a.has(n)||a.set(n,n.charAt(0).toUpperCase()+n.slice(1))}return a}_renderCategories(){this._catRow.innerHTML="",this._getCategories().forEach((t,n)=>{const i=bt("div",{className:`mvfp-cat${this._selectedCategory===n?" active":""}`,onClick:()=>{this._selectedCategory=n,this._renderCategories(),this._renderFilters()}},t);this._catRow.appendChild(i)})}_currentFilters(){return this._selectedCategory==="all"?this._filters:this._filters.filter(a=>(a.category||"other")===this._selectedCategory)}_renderFilters(){this._filterRow.innerHTML="";for(const a of this._currentFilters()){const t=this._activeFilters.has(a.id),n=this._selectedFilterId===a.id,i=bt("div",{className:`mvfp-filter${t?" active":""}${n?" selected":""}`,onClick:()=>this._selectFilter(a)});if(t){const r=bt("div",{className:"mvfp-check",onClick:l=>{l.stopPropagation(),this._removeFilter(a.id)}});r.innerHTML="✓",i.appendChild(r)}i.appendChild(bt("span",{},a.name)),this._filterRow.appendChild(i)}}_selectFilter(a){var t,n,i,r;this._selectedFilterId=a.id,this._activeFilters.has(a.id)||(n=(t=this._cb).onApplyFilter)==null||n.call(t,a),(r=(i=this._cb).onPreviewFilter)==null||r.call(i,a),this._renderFilters(),a.params&&a.params.length>0&&this.openDrawer(a.id)}_removeFilter(a){var t,n;(n=(t=this._cb).onRemoveFilter)==null||n.call(t,a),this._selectedFilterId===a&&(this._selectedFilterId=null)}_renderActiveChips(){if(this._activeRow.innerHTML="",this._activeFilters.size===0){this._activeRow.appendChild(bt("div",{className:"mvfp-placeholder"},"No active filters"));return}this._activeFilters.forEach((a,t)=>{const n=this._filters.find(d=>d.id===t);if(!n)return;const i=this._drawerOpen&&this._drawerFilterId===t,r=bt("div",{className:`mvfp-achip${i?" selected":""}`}),l=bt("span",{style:{cursor:"pointer"},onClick:()=>{this._selectedFilterId=t,this._renderFilters(),n.params&&n.params.length>0&&this.openDrawer(t)}},n.name),s=bt("button",{className:"mvfp-achip-x","aria-label":`Remove ${n.name}`,onClick:d=>{d.stopPropagation(),this._removeFilter(t)}});s.innerHTML='<svg width="10" height="10" viewBox="0 0 12 12"><path d="M3 3l6 6M9 3l-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',r.appendChild(l),r.appendChild(s),this._activeRow.appendChild(r)})}_buildDrawer(){this._drawer=bt("div",{className:"mvfp-drawer"});const a=bt("div",{className:"mvfp-drawer-hdr"});this._drawerTitle=bt("span",{className:"mvfp-drawer-title"},"Filter");const t=bt("div",{className:"mvfp-drawer-actions"});t.appendChild(bt("button",{className:"mvfp-drawer-btn",onClick:()=>this._resetDrawerFilter()},"Reset")),t.appendChild(bt("button",{className:"mvfp-drawer-btn danger",onClick:()=>{this._drawerFilterId&&(this._removeFilter(this._drawerFilterId),this.closeDrawer())}},"Remove"));const n=bt("button",{className:"mvfp-drawer-close","aria-label":"Close",onClick:()=>this.closeDrawer()});n.innerHTML='<svg width="14" height="14" viewBox="0 0 14 14"><path d="M3 3l8 8M11 3l-8 8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',t.appendChild(n),a.appendChild(this._drawerTitle),a.appendChild(t),this._drawer.appendChild(a),this._drawerBody=bt("div",{className:"mvfp-drawer-body"}),this._drawer.appendChild(this._drawerBody)}openDrawer(a){const t=this._filters.find(n=>n.id===a);if(t&&(this._drawerFilterId=a,this._drawerTitle.textContent=t.name,this._renderDrawerControls(t),this._renderActiveChips(),!this._drawerOpen)){this._drawerOpen=!0;const n=this._root.offsetHeight;n>0&&(this._drawer.style.height=n+"px"),this._drawer.style.transition="none",this._drawer.style.transform="translateY(100%)",this._drawer.offsetHeight,this._drawer.style.transition="transform 0.25s cubic-bezier(0.33, 1, 0.68, 1)",this._drawer.style.transform="translateY(0)"}}closeDrawer(){this._drawerOpen&&(this._drawerOpen=!1,this._drawerFilterId=null,this._drawer.style.transition="transform 0.2s cubic-bezier(0.32, 0, 0.67, 0)",this._drawer.style.transform="translateY(100%)",this._renderActiveChips())}_renderDrawerControls(a){if(this._drawerBody.innerHTML="",!a.params||a.params.length===0){this._drawerBody.appendChild(bt("div",{className:"mvfp-no-params"},"No adjustable parameters"));return}const t=this._activeFilters.get(a.id),n=(t==null?void 0:t.params)||{};for(const i of a.params){const r=n[i.id]??i.default,l=bt("div",{className:"mvfp-ctl"}),s=bt("label",{className:"mvfp-ctl-label"},i.label||i.id);l.appendChild(s);const d=i.type||"slider";if(d==="slider"||d==="range"){const c=bt("div",{className:"mvfp-slider-row"}),u=bt("span",{className:"mvfp-range-val"},Pc(r)),m=bt("input",{type:"range",className:"mvfp-range",min:String(i.min??0),max:String(i.max??1),step:String(i.step??.01),value:String(typeof r=="number"?r:i.default??0),onInput:p=>{var h,v;const f=parseFloat(p.target.value);u.textContent=Pc(f),(v=(h=this._cb).onUpdateParam)==null||v.call(h,a.id,i.id,f)}});c.appendChild(m),c.appendChild(u),l.appendChild(c)}else if(d==="toggle"||d==="checkbox"){const c=bt("div",{className:"mvfp-toggle-row"}),u=bt("input",{type:"checkbox",checked:r?"checked":void 0,onChange:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.checked)}});c.appendChild(u),l.appendChild(c)}else if(d==="color"){const c=bt("div",{className:"mvfp-color-row"}),u=bt("input",{type:"color",className:"mvfp-color-input",value:typeof r=="string"?r:"#000000",onInput:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.value)}});c.appendChild(u),l.appendChild(c)}else if(d==="select"||d==="dropdown"){const c=bt("div",{className:"mvfp-select-row"}),u=bt("select",{className:"mvfp-select",onChange:m=>{var p,f;return(f=(p=this._cb).onUpdateParam)==null?void 0:f.call(p,a.id,i.id,m.target.value)}});for(const m of i.options||[]){const p=bt("option",{value:m.value},m.label||String(m.value));m.value===r&&(p.selected=!0),u.appendChild(p)}c.appendChild(u),l.appendChild(c)}this._drawerBody.appendChild(l)}}_resetDrawerFilter(){var t,n;if(!this._drawerFilterId)return;const a=this._filters.find(i=>i.id===this._drawerFilterId);if(a!=null&&a.params){for(const i of a.params)(n=(t=this._cb).onUpdateParam)==null||n.call(t,this._drawerFilterId,i.id,i.default);this._renderDrawerControls(a)}}}const D2=[200,500,1e3];function A2(o){return{"360p":[640,360],"480p":[854,480],"720p":[1280,720],"1080p":[1920,1080],"1440p":[2560,1440],"2160p":[3840,2160]}[o??""]??[1920,1080]}function Oc(o){if(!o)return null;const a=o.duration;if(typeof a=="number"&&Number.isFinite(a)&&a>0)return a;if(a&&typeof a=="object"&&"value"in a){const t=a.value;if(typeof t=="number"&&Number.isFinite(t)&&t>0)return t}return null}function R2(o){return new Promise(a=>{window.setTimeout(a,o)})}async function zc(){return await Promise.resolve().then(()=>require("./PixiFrameExporter-8s_FrDYj.cjs"))}function jc(o,a=0){var r;const t=o.timeline[0],n=t?Math.max(0,t.sourceIn):0,i=(t==null?void 0:t.sourceOut)??((r=o.source)==null?void 0:r.duration)??a;return Math.max(0,i-n)}function Km(o){let a=null;return{canExportClientSide:async()=>{try{const{isWebCodecsSupported:i}=await zc();return i()}catch{return!1}},renderRecipeWithPixi:async(i,r,l)=>{var f,h,v,k;const s=i.timeline[0],d=s?Math.max(0,s.sourceIn):0,c=s?s.sourceOut:void 0,[u,m]=A2((r==null?void 0:r.quality)??((f=i.output)==null?void 0:f.quality)),p=((h=i.output)==null?void 0:h.fps)||30;o.setPlaying(!1),o.forcePixiPreview.value=!0,await e.nextTick();try{let y=!1;for(const A of D2){await R2(A);const P=o.getPreviewRef();if(!(!P||typeof P.captureFrameAt!="function")){if(typeof P.ensureReadyForCapture=="function"){if(y=await P.ensureReadyForCapture(),y)break;continue}y=!0;break}}const w=o.getPreviewRef();if(!w||typeof w.captureFrameAt!="function")throw new Error("PIXI preview not available for export. Ensure the preview is mounted.");if(!y)throw new Error("PIXI preview not ready for frame capture after retries. The video may still be loading.");const{exportWithPixiFrames:g,isWebCodecsSupported:b}=await zc();if(!b())throw new Error("WebCodecs is not supported in this browser. Export requires Chrome 94+ or equivalent.");a=new AbortController;const R={width:u,height:m,fps:p,trimStart:d,signal:a.signal};c!==void 0&&(R.trimEnd=c),l&&(R.onProgress=l);const N=o.getSourceUrl();N!==""&&(R.sourceUrl=N);const I=Oc(w)??((v=i.source)==null?void 0:v.duration)??c??0,x=await g({captureFrameAt:A=>{var P;return((P=w.captureFrameAt)==null?void 0:P.call(w,A))??Promise.resolve(null)},duration:{value:I}},R),T=new File([x],`edited-video-${Date.now()}.mp4`,{type:"video/mp4"}),$=Oc(w),S=((k=i.source)==null?void 0:k.duration)??0,_=Math.max(0,(c??$??S)-d);return{file:T,recipe:i,meta:{duration:_,width:u,height:m,format:"mp4",sizeBytes:T.size,size_bytes:T.size}}}finally{o.forcePixiPreview.value=!1,a=null}},cancelClientExport:()=>{a==null||a.abort(),a=null},resetClientExport:()=>{a=null}}}const Lo="default-video-track",Vn="default-media-source";function Jm(o){var r,l;const a=P2(o),t=U2(o),n=O2(o.timeline,((r=t[0])==null?void 0:r.id)??Lo,((l=a[0])==null?void 0:l.id)??Vn),i={version:o.version,source:{...o.source},mediaSources:a,tracks:z2(t,n),clips:n,markers:o.markers?o.markers.map(s=>({...s})):[],transitions:o.transitions?o.transitions.map(Qm):[],filters:o.filters.map(s=>({...s,params:{...s.params}})),audio:{...o.audio},output:{...o.output}};return typeof o.duration=="number"&&(i.duration=o.duration),o.snapSettings&&(i.snapSettings={...o.snapSettings}),o.textOverlays&&(i.textOverlays=[...o.textOverlays]),o.captionTracks&&(i.captionTracks=o.captionTracks.map(ep)),o.visualLayers&&(i.visualLayers=o.visualLayers.map(tp)),o.audioTracks&&(i.audioTracks=[...o.audioTracks]),o.posterFrame&&(i.posterFrame=o.posterFrame),o.metadata&&(i.metadata={...o.metadata}),i}function L2(o){const a={version:"1.0",source:{...o.source},timeline:o.clips.map(t=>({...t})),mediaSources:o.mediaSources.map(qm),tracks:o.tracks.map(Ym),markers:o.markers.map(t=>({...t})),transitions:o.transitions.map(Qm),filters:o.filters.map(t=>({...t,params:{...t.params}})),audio:{...o.audio},output:{...o.output}};return typeof o.duration=="number"&&(a.duration=o.duration),o.snapSettings&&(a.snapSettings={...o.snapSettings}),o.textOverlays&&(a.textOverlays=[...o.textOverlays]),o.captionTracks&&(a.captionTracks=o.captionTracks.map(ep)),o.visualLayers&&(a.visualLayers=o.visualLayers.map(tp)),o.audioTracks&&(a.audioTracks=[...o.audioTracks]),o.posterFrame&&(a.posterFrame=o.posterFrame),o.metadata&&(a.metadata={...o.metadata}),a}function P2(o){var t,n;if(o.mediaSources&&o.mediaSources.length>0)return o.mediaSources.map(qm);const a={id:((t=o.timeline.find(i=>i.sourceRefId))==null?void 0:t.sourceRefId)??Vn,type:"media",mediaUuid:o.source.media_uuid,duration:o.source.duration,width:o.source.original_width,height:o.source.original_height};return(n=o.metadata)!=null&&n.source_url&&(a.url=o.metadata.source_url),[a]}function U2(o){var a;return o.tracks&&o.tracks.length>0?o.tracks.map(Ym):[{id:((a=o.timeline.find(t=>t.trackId))==null?void 0:a.trackId)??Lo,type:"video",name:"Video",order:0}]}function O2(o,a,t){return o.map(n=>{const i={...n,trackId:n.trackId??a,sourceRefId:n.sourceRefId??t};return n.filters&&(i.filters=n.filters.map(r=>({...r,params:{...r.params}}))),n.transform&&(i.transform={...n.transform}),n.keyframes&&(i.keyframes=n.keyframes.map(r=>({...r}))),i})}function z2(o,a){return o.map(t=>{const n=a.filter(i=>i.trackId===t.id).map(i=>i.id);return{...t,clipIds:n}})}function qm(o){const a={...o};return o.metadata&&(a.metadata={...o.metadata}),a}function Ym(o){const a={...o};return o.clipIds&&(a.clipIds=[...o.clipIds]),a}function Qm(o){const a={...o};return o.params&&(a.params={...o.params}),a}function ep(o){return{...o,segments:o.segments.map(t=>{const n={...t};return t.words&&(n.words=t.words.map(i=>({...i}))),n})}}function tp(o){return{...o,transform:{...o.transform,position:{...o.transform.position},anchor:{...o.transform.anchor},scale:{...o.transform.scale}},keyframes:o.keyframes?o.keyframes.map(a=>({...a})):void 0}}const ap="video-project-draft-snapshot:v1",Ls="mediables:video-project-drafts",j2=(o,a={})=>{var p,f;const t=pn(a.now)??Date.now(),n=pn(a.createdAt)??t,i=pn(a.updatedAt)??t,r=tE(o),l={id:Ma(a.id)??iE(i),payloadKind:r,createdAt:new Date(n).toISOString(),updatedAt:new Date(i).toISOString(),deviceKind:a.deviceKind??"unknown"},s=Ma(a.projectId),d=Ma(a.sourceMediaUuid)??Ma(o.source.media_uuid),c=Ps(a.durationSeconds)??aE(o),u=Ma(a.editorVersion)??Ma((p=o.metadata)==null?void 0:p.editor_version),m=Ma(a.title)??Ma((f=o.metadata)==null?void 0:f.title);return s!==null&&(l.projectId=s),d!==null&&(l.sourceMediaUuid=d),c!==null&&(l.durationSeconds=c),u!==null&&(l.editorVersion=u),m!==null&&(l.title=m),a.saveReason!==void 0&&(l.saveReason=a.saveReason),{schemaVersion:ap,metadata:l,payload:o}},np=(o,a=Ls)=>{const t=Ma(a)??Ls,n=Xc(o.metadata.projectId??"unsaved-project"),i=Xc(o.metadata.id);return`${t}:${n}:${i}`},W2=o=>JSON.stringify(o),H2=o=>{if(typeof o!="string"||o.trim().length===0)return null;try{const a=JSON.parse(o);return Y2(a)?a:null}catch{return null}},Z2=o=>{const a=[];for(const t of o){const n=Ma(t.key),i=H2(t.value);n===null||i===null||a.push({key:n,snapshot:i})}return Si(a)},G2=(o,a)=>{const t=oE(a.maxCount),n=pn(a.now)??Date.now(),i=sp(a.maxAgeMs),r=[],l=[];let s=0;for(const d of Si(o)){if(!rp(d,a.projectId)){r.push(d);continue}if(lp(d.snapshot,n,i)||s>=t){l.push(d);continue}r.push(d),s+=1}return{retained:Si(r),removed:Si(l)}},X2=(o,a={})=>{const t={key:np(o),snapshot:o};if(!rp(t,a.projectId))return!1;const n=pn(a.now)??Date.now(),i=sp(a.maxAgeMs);if(lp(o,n,i))return!1;const r=a.savedAt===null?null:pn(a.savedAt);return r===null?!0:jr(o)>r},K2=(o,a={})=>Si(o).filter(t=>X2(t.snapshot,a)),J2=(o,a,t={})=>{const n=K2(o,t);if(a==="mobile"){const i=n[0]??null;return i===null?[]:[i]}return n},q2=async(o,a,t=np(a))=>(await o.setItem(t,W2(a)),{key:t,snapshot:a}),Wc=async(o,a=Ls)=>{const t=await o.listKeys(a),n=[];for(const i of t)n.push({key:i,value:await o.getItem(i)});return Z2(n)},Hc=async(o,a)=>{for(const t of a)await o.removeItem(t.key)},Y2=o=>!fn(o)||o.schemaVersion!==ap||!Q2(o.metadata)?!1:o.metadata.payloadKind==="project"?op(o.payload):eE(o.payload),Q2=o=>fn(o)?_d(o.id)&&lE(o.payloadKind)&&Gc(o.createdAt)&&Gc(o.updatedAt)&&sE(o.deviceKind)&&mr(o.projectId)&&mr(o.sourceMediaUuid)&&rE(o.durationSeconds)&&mr(o.editorVersion)&&mr(o.title)&&dE(o.saveReason):!1,eE=o=>fn(o)?o.version==="1.0"&&ip(o.source)&&Array.isArray(o.timeline)&&Array.isArray(o.filters)&&fn(o.audio)&&fn(o.output):!1,op=o=>fn(o)?o.version==="1.0"&&ip(o.source)&&Array.isArray(o.mediaSources)&&Array.isArray(o.tracks)&&Array.isArray(o.clips)&&Array.isArray(o.markers)&&Array.isArray(o.filters)&&fn(o.audio)&&fn(o.output):!1,ip=o=>fn(o)?_d(o.media_uuid)&&Ci(o.duration)&&Ci(o.original_width)&&Ci(o.original_height):!1,tE=o=>op(o)?"project":"recipe",aE=o=>Ps(o.duration)??Ps(o.source.duration),rp=(o,a)=>{const t=Ma(a);return t===null?!0:o.snapshot.metadata.projectId===t},lp=(o,a,t)=>t===null?!1:a-jr(o)>t,Si=o=>[...o].sort(nE),nE=(o,a)=>{const t=jr(a.snapshot)-jr(o.snapshot);if(t!==0)return t;const n=Zc(a.snapshot)-Zc(o.snapshot);return n!==0?n:o.snapshot.metadata.id.localeCompare(a.snapshot.metadata.id)},jr=o=>pn(o.metadata.updatedAt)??0,Zc=o=>pn(o.metadata.createdAt)??0,oE=o=>!Number.isFinite(o)||o<0?0:Math.floor(o),sp=o=>o===void 0||!Number.isFinite(o)||o<0?null:Math.floor(o),pn=o=>{if(o==null)return null;if(o instanceof Date)return Number.isFinite(o.getTime())?o.getTime():null;if(typeof o=="number")return Number.isFinite(o)?o:null;const a=o.trim();if(a.length===0)return null;const t=Date.parse(a);return Number.isFinite(t)?t:null},Gc=o=>typeof o=="string"&&pn(o)!==null,iE=o=>{var t;const a=typeof((t=globalThis.crypto)==null?void 0:t.randomUUID)=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,12);return`draft-${o}-${a}`},Xc=o=>encodeURIComponent(o.trim()),Ma=o=>{if(typeof o!="string")return null;const a=o.trim();return a.length>0?a:null},_d=o=>Ma(o)!==null,mr=o=>o===void 0||_d(o),Ps=o=>{if(!Ci(o))return null;const a=Number(o.toFixed(6));return Object.is(a,-0)?0:a},Ci=o=>typeof o=="number"&&Number.isFinite(o)&&o>=0,rE=o=>o===void 0||Ci(o),lE=o=>o==="recipe"||o==="project",sE=o=>o==="desktop"||o==="mobile"||o==="tablet"||o==="unknown",dE=o=>o===void 0||o==="autosave"||o==="manual"||o==="before-export"||o==="before-close",fn=o=>typeof o=="object"&&o!==null&&!Array.isArray(o),cE=1,uE="master",Mi=-60,Us=12,Ed=0,Nn=-90,Wr=6,mE=4,dp=8;function cp(){return{mobile:{canAdjustTrackFaders:!0,canAdjustMasterFader:!0,canMuteTracks:!0,canSoloTracks:!0,canAdjustPan:!1,canViewMeters:!0,canEditEffectSlots:!1,canEditRouting:!1,canEditAutomation:!1,meterMode:"basic",maxEffectSlots:0},desktop:{canAdjustTrackFaders:!0,canAdjustMasterFader:!0,canMuteTracks:!0,canSoloTracks:!0,canAdjustPan:!0,canViewMeters:!0,canEditEffectSlots:!0,canEditRouting:!0,canEditAutomation:!0,meterMode:"full",maxEffectSlots:dp}}}function pE(o,a=cp()){return zs(a[o])}function up(o){return Number.isNaN(o)?Ed:o<=0||o===Number.NEGATIVE_INFINITY?Mi:$i(20*Math.log10(o))}function Os(o){const a=$i(o);return a<=Mi?0:Bn(Math.pow(10,a/20),6)}function $i(o){return Number.isNaN(o)?Ed:o===Number.NEGATIVE_INFINITY?Mi:o===Number.POSITIVE_INFINITY?Us:Bn(Wi(o,Mi,Us),3)}function mp(o){return Number.isFinite(o)?Bn(Wi(o,-1,1),3):0}function fE(o,a=!1){const t=o.some(n=>n.controls.solo);return o.map(n=>{const i=n.controls.muted,r=t&&!n.controls.solo,l=a||i||r,s=l?0:n.controls.fader.linearGain;return{trackId:n.id,soloed:n.controls.solo,mutedByTrack:i,mutedBySolo:r,mutedByMaster:a,effectivelyMuted:l,audible:!l,effectiveGainLinear:s}})}function hE(o,a={}){const t=xE(a.effectSlotCount),n=new Set;return{schemaVersion:cE,capabilities:a.capabilities?BE(a.capabilities):cp(),tracks:o.map((i,r)=>gE(i,r,t,n)),master:bE(a.master,t)}}function pp(o){const a=$i(o);return{valueDb:a,minDb:Mi,maxDb:Us,unityDb:Ed,linearGain:Os(a)}}function vE(o,a="constant-power"){return{value:mp(o),mode:a}}function fp(o=Nn,a=Nn,t=o){const n=ql(o),i=ql(a),r=ql(t);return{peakDb:n,rmsDb:i,peakHoldDb:r,clipping:n>=0||r>=0}}function hp(o){const a=bp(o);return{id:`empty-effect-slot-${a}`,index:a,kind:"empty",label:"Empty",enabled:!1,bypassed:!0,wetMix:0,parameters:{}}}function gE(o,a,t,n){const i=gp(o.id),l={id:CE(i??`legacy-audio-track-${a+1}`,n),kind:"legacy-url",name:_E(o.name,a),order:a,source:yE(o.source),controls:{fader:pp(o.faderDb??up(o.volume??1)),pan:vE(o.pan??0),muted:o.muted??!1,solo:o.solo??!1,meter:fp(o.peakDb,o.rmsDb,o.peakHoldDb)},timeline:wE(o),effectSlots:vp(o.effectSlots,t)};return i!==void 0&&(l.legacyTrackId=i),l}function bE(o,a){return{id:uE,name:EE(o==null?void 0:o.name),fader:pp((o==null?void 0:o.faderDb)??up((o==null?void 0:o.volume)??1)),muted:(o==null?void 0:o.muted)??!1,meter:fp(o==null?void 0:o.peakDb,o==null?void 0:o.rmsDb,o==null?void 0:o.peakHoldDb),effectSlots:vp(o==null?void 0:o.effectSlots,a)}}function yE(o){const a=o.trim();return a===""?{type:"missing"}:{type:"url",url:a}}function wE(o){const a={startTime:NE(o.startTime??0),loop:o.loop??!1},t=VE(o.duration);t!==void 0&&(a.duration=t);const n=Kc(o.fadeIn);n!==void 0&&(a.fadeIn=n);const i=Kc(o.fadeOut);return i!==void 0&&(a.fadeOut=i),a}function vp(o,a){const t=new Map;for(const n of o??[]){const i=kE(n,a);t.set(i.index,i)}return Array.from({length:a},(n,i)=>t.get(i)??hp(i))}function kE(o,a){const t=bp(o.index),n=a>0?Math.min(t,a-1):0,i=o.kind;return i==="empty"?hp(n):{id:gp(o.id)??`${i}-effect-slot-${n}`,index:n,kind:i,label:SE(o.label,i),enabled:o.enabled,bypassed:o.bypassed,wetMix:TE(o.wetMix),parameters:{...o.parameters}}}function _E(o,a){const t=o==null?void 0:o.trim();return t&&t!==""?t:`Audio ${a+1}`}function EE(o){const a=o==null?void 0:o.trim();return a&&a!==""?a:"Master"}function SE(o,a){const t=o.trim();return t!==""?t:a}function CE(o,a){if(!a.has(o))return a.add(o),o;let t=2,n=`${o}-${t}`;for(;a.has(n);)t+=1,n=`${o}-${t}`;return a.add(n),n}function gp(o){const a=o==null?void 0:o.trim();if(!(!a||a===""))return a}function xE(o){return o===void 0||!Number.isFinite(o)?mE:Math.trunc(Wi(o,0,dp))}function bp(o){return!Number.isFinite(o)||o<0?0:Math.trunc(o)}function VE(o){if(!(o===void 0||!Number.isFinite(o)||o<=0))return Bn(o,3)}function Kc(o){if(!(o===void 0||!Number.isFinite(o)||o<0))return Bn(o,3)}function NE(o){return!Number.isFinite(o)||o<0?0:Bn(o,3)}function TE(o){return Number.isFinite(o)?Bn(Wi(o,0,1),3):1}function ql(o){return Number.isNaN(o)||o===Number.NEGATIVE_INFINITY?Nn:o===Number.POSITIVE_INFINITY?Wr:Bn(Wi(o,Nn,Wr),3)}function BE(o){return{mobile:zs(o.mobile),desktop:zs(o.desktop)}}function zs(o){return{...o}}function Wi(o,a,t){return Math.min(t,Math.max(a,o))}function Bn(o,a){const t=10**a;return Math.round(o*t)/t}const IE=/^(\d{2,}:[0-5]\d:[0-5]\d,\d{3})\s+-->\s+(\d{2,}:[0-5]\d:[0-5]\d,\d{3})$/,ME=/^(\d{2,}):([0-5]\d):([0-5]\d),(\d{3})$/,$E="srt-cue";class Tn extends Error{constructor(a,t,n={}){super(t),this.name="CaptionSrtError",this.code=a,this.context=n}}function FE(o,a={}){var l,s;const t=DE(a.idPrefix),n=o.replace(/^\uFEFF/,"").replace(/\r\n?/g,`
337
337
  `).split(`
338
338
  `),i=[];let r=0;for(;r<n.length;){for(;r<n.length&&eu(n[r]);)r+=1;if(r>=n.length)break;const d=r+1,c=AE(((l=n[r])==null?void 0:l.trim())??"",d);if(r+=1,r>=n.length)throw new Tn("missing-timing",`Cue ${c} is missing its timing line.`,{cueIndex:i.length,cueNumber:c,lineNumber:d});const u=r+1,m=RE(((s=n[r])==null?void 0:s.trim())??"",c,u);r+=1;const p=[];for(;r<n.length&&!eu(n[r]);)p.push(n[r]??""),r+=1;i.push({cueNumber:c,id:`${t}-${i.length+1}`,startTime:m.startTime,endTime:m.endTime,text:p.join(`
339
339
  `)})}return yp(i),i}function Jc(o){return yp(o),o.length===0?"":`${o.map((a,t)=>PE(a,t+1)).join(`
@@ -353,5 +353,5 @@ ${i.text}
353
353
  * focus-trap 7.6.5
354
354
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
355
355
  */function qs(o,a){(a==null||a>o.length)&&(a=o.length);for(var t=0,n=Array(a);t<a;t++)n[t]=o[t];return n}function DF(o){if(Array.isArray(o))return qs(o)}function AF(o,a,t){return(a=OF(a))in o?Object.defineProperty(o,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[a]=t,o}function RF(o){if(typeof Symbol<"u"&&o[Symbol.iterator]!=null||o["@@iterator"]!=null)return Array.from(o)}function LF(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
356
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tu(o,a){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);a&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(o,i).enumerable})),t.push.apply(t,n)}return t}function Bu(o){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?Tu(Object(t),!0).forEach(function(n){AF(o,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Tu(Object(t)).forEach(function(n){Object.defineProperty(o,n,Object.getOwnPropertyDescriptor(t,n))})}return o}function PF(o){return DF(o)||RF(o)||zF(o)||LF()}function UF(o,a){if(typeof o!="object"||!o)return o;var t=o[Symbol.toPrimitive];if(t!==void 0){var n=t.call(o,a);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(o)}function OF(o){var a=UF(o,"string");return typeof a=="symbol"?a:a+""}function zF(o,a){if(o){if(typeof o=="string")return qs(o,a);var t={}.toString.call(o).slice(8,-1);return t==="Object"&&o.constructor&&(t=o.constructor.name),t==="Map"||t==="Set"?Array.from(o):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?qs(o,a):void 0}}var Iu={activateTrap:function(a,t){if(a.length>0){var n=a[a.length-1];n!==t&&n._setPausedState(!0)}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(a,t){var n=a.indexOf(t);n!==-1&&a.splice(n,1),a.length>0&&!a[a.length-1]._isManuallyPaused()&&a[a.length-1]._setPausedState(!1)}},jF=function(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"},WF=function(a){return(a==null?void 0:a.key)==="Escape"||(a==null?void 0:a.key)==="Esc"||(a==null?void 0:a.keyCode)===27},Vi=function(a){return(a==null?void 0:a.key)==="Tab"||(a==null?void 0:a.keyCode)===9},HF=function(a){return Vi(a)&&!a.shiftKey},ZF=function(a){return Vi(a)&&a.shiftKey},Mu=function(a){return setTimeout(a,0)},di=function(a){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return typeof a=="function"?a.apply(void 0,n):a},br=function(a){return a.target.shadowRoot&&typeof a.composedPath=="function"?a.composedPath()[0]:a.target},GF=[],XF=function(a,t){var n=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||GF,r=Bu({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:HF,isKeyBackward:ZF},t),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,d=function(_,A,P){return _&&_[A]!==void 0?_[A]:r[P||A]},c=function(_,A){var P=typeof(A==null?void 0:A.composedPath)=="function"?A.composedPath():void 0;return l.containerGroups.findIndex(function(D){var z=D.container,M=D.tabbableNodes;return z.contains(_)||(P==null?void 0:P.includes(z))||M.find(function(Z){return Z===_})})},u=function(_){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=A.hasFallback,D=P===void 0?!1:P,z=A.params,M=z===void 0?[]:z,Z=r[_];if(typeof Z=="function"&&(Z=Z.apply(void 0,PF(M))),Z===!0&&(Z=void 0),!Z){if(Z===void 0||Z===!1)return Z;throw new Error("`".concat(_,"` was specified but was not a node, or did not return a node"))}var O=Z;if(typeof Z=="string"){try{O=n.querySelector(Z)}catch(K){throw new Error("`".concat(_,'` appears to be an invalid selector; error="').concat(K.message,'"'))}if(!O&&!D)throw new Error("`".concat(_,"` as selector refers to no known node"))}return O},m=function(){var _=u("initialFocus",{hasFallback:!0});if(_===!1)return!1;if(_===void 0||_&&!rs(_,r.tabbableOptions))if(c(n.activeElement)>=0)_=n.activeElement;else{var A=l.tabbableGroups[0],P=A&&A.firstTabbableNode;_=P||u("fallbackFocus")}else _===null&&(_=u("fallbackFocus"));if(!_)throw new Error("Your focus-trap needs to have at least one focusable element");return _},p=function(){if(l.containerGroups=l.containers.map(function(_){var A=MF(_,r.tabbableOptions),P=$F(_,r.tabbableOptions),D=A.length>0?A[0]:void 0,z=A.length>0?A[A.length-1]:void 0,M=P.find(function(K){return Co(K)}),Z=P.slice().reverse().find(function(K){return Co(K)}),O=!!A.find(function(K){return Gn(K)>0});return{container:_,tabbableNodes:A,focusableNodes:P,posTabIndexesFound:O,firstTabbableNode:D,lastTabbableNode:z,firstDomTabbableNode:M,lastDomTabbableNode:Z,nextTabbableNode:function(de){var Ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ce=A.indexOf(de);return ce<0?Ve?P.slice(P.indexOf(de)+1).find(function(le){return Co(le)}):P.slice(0,P.indexOf(de)).reverse().find(function(le){return Co(le)}):A[ce+(Ve?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(_){return _.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(l.containerGroups.find(function(_){return _.posTabIndexesFound})&&l.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},f=function(_){var A=_.activeElement;if(A)return A.shadowRoot&&A.shadowRoot.activeElement!==null?f(A.shadowRoot):A},h=function(_){if(_!==!1&&_!==f(document)){if(!_||!_.focus){h(m());return}_.focus({preventScroll:!!r.preventScroll}),l.mostRecentlyFocusedNode=_,jF(_)&&_.select()}},v=function(_){var A=u("setReturnFocus",{params:[_]});return A||(A===!1?!1:_)},k=function(_){var A=_.target,P=_.event,D=_.isBackward,z=D===void 0?!1:D;A=A||br(P),p();var M=null;if(l.tabbableGroups.length>0){var Z=c(A,P),O=Z>=0?l.containerGroups[Z]:void 0;if(Z<0)z?M=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:M=l.tabbableGroups[0].firstTabbableNode;else if(z){var K=l.tabbableGroups.findIndex(function(C){var U=C.firstTabbableNode;return A===U});if(K<0&&(O.container===A||rs(A,r.tabbableOptions)&&!Co(A,r.tabbableOptions)&&!O.nextTabbableNode(A,!1))&&(K=Z),K>=0){var de=K===0?l.tabbableGroups.length-1:K-1,Ve=l.tabbableGroups[de];M=Gn(A)>=0?Ve.lastTabbableNode:Ve.lastDomTabbableNode}else Vi(P)||(M=O.nextTabbableNode(A,!1))}else{var ce=l.tabbableGroups.findIndex(function(C){var U=C.lastTabbableNode;return A===U});if(ce<0&&(O.container===A||rs(A,r.tabbableOptions)&&!Co(A,r.tabbableOptions)&&!O.nextTabbableNode(A))&&(ce=Z),ce>=0){var le=ce===l.tabbableGroups.length-1?0:ce+1,W=l.tabbableGroups[le];M=Gn(A)>=0?W.firstTabbableNode:W.firstDomTabbableNode}else Vi(P)||(M=O.nextTabbableNode(A))}}else M=u("fallbackFocus");return M},y=function(_){var A=br(_);if(!(c(A,_)>=0)){if(di(r.clickOutsideDeactivates,_)){s.deactivate({returnFocus:r.returnFocusOnDeactivate});return}di(r.allowOutsideClick,_)||_.preventDefault()}},w=function(_){var A=br(_),P=c(A,_)>=0;if(P||A instanceof Document)P&&(l.mostRecentlyFocusedNode=A);else{_.stopImmediatePropagation();var D,z=!0;if(l.mostRecentlyFocusedNode)if(Gn(l.mostRecentlyFocusedNode)>0){var M=c(l.mostRecentlyFocusedNode),Z=l.containerGroups[M].tabbableNodes;if(Z.length>0){var O=Z.findIndex(function(K){return K===l.mostRecentlyFocusedNode});O>=0&&(r.isKeyForward(l.recentNavEvent)?O+1<Z.length&&(D=Z[O+1],z=!1):O-1>=0&&(D=Z[O-1],z=!1))}}else l.containerGroups.some(function(K){return K.tabbableNodes.some(function(de){return Gn(de)>0})})||(z=!1);else z=!1;z&&(D=k({target:l.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(l.recentNavEvent)})),h(D||l.mostRecentlyFocusedNode||m())}l.recentNavEvent=void 0},g=function(_){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=_;var P=k({event:_,isBackward:A});P&&(Vi(_)&&_.preventDefault(),h(P))},b=function(_){(r.isKeyForward(_)||r.isKeyBackward(_))&&g(_,r.isKeyBackward(_))},R=function(_){WF(_)&&di(r.escapeDeactivates,_)!==!1&&(_.preventDefault(),s.deactivate())},N=function(_){var A=br(_);c(A,_)>=0||di(r.clickOutsideDeactivates,_)||di(r.allowOutsideClick,_)||(_.preventDefault(),_.stopImmediatePropagation())},I=function(){if(l.active)return Iu.activateTrap(i,s),l.delayInitialFocusTimer=r.delayInitialFocus?Mu(function(){h(m())}):h(m()),n.addEventListener("focusin",w,!0),n.addEventListener("mousedown",y,{capture:!0,passive:!1}),n.addEventListener("touchstart",y,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",b,{capture:!0,passive:!1}),n.addEventListener("keydown",R),s},x=function(){if(l.active)return n.removeEventListener("focusin",w,!0),n.removeEventListener("mousedown",y,!0),n.removeEventListener("touchstart",y,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",b,!0),n.removeEventListener("keydown",R),s},T=function(_){var A=_.some(function(P){var D=Array.from(P.removedNodes);return D.some(function(z){return z===l.mostRecentlyFocusedNode})});A&&h(m())},$=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(T):void 0,S=function(){$&&($.disconnect(),l.active&&!l.paused&&l.containers.map(function(_){$.observe(_,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(_){if(l.active)return this;var A=d(_,"onActivate"),P=d(_,"onPostActivate"),D=d(_,"checkCanFocusTrap");D||p(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=f(n),A==null||A();var z=function(){D&&p(),I(),S(),P==null||P()};return D?(D(l.containers.concat()).then(z,z),this):(z(),this)},deactivate:function(_){if(!l.active)return this;var A=Bu({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},_);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,x(),l.active=!1,l.paused=!1,S(),Iu.deactivateTrap(i,s);var P=d(A,"onDeactivate"),D=d(A,"onPostDeactivate"),z=d(A,"checkCanReturnFocus"),M=d(A,"returnFocus","returnFocusOnDeactivate");P==null||P();var Z=function(){Mu(function(){M&&h(v(l.nodeFocusedBeforeActivation)),D==null||D()})};return M&&z?(z(v(l.nodeFocusedBeforeActivation)).then(Z,Z),this):(Z(),this)},pause:function(_){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,_)):this},unpause:function(_){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,_)):this},updateContainerElements:function(_){var A=[].concat(_).filter(Boolean);return l.containers=A.map(function(P){return typeof P=="string"?n.querySelector(P):P}),l.active&&p(),S(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(_,A){if(l.paused===_)return this;if(l.paused=_,_){var P=d(A,"onPause"),D=d(A,"onPostPause");P==null||P(),x(),S(),D==null||D()}else{var z=d(A,"onUnpause"),M=d(A,"onPostUnpause");z==null||z(),p(),I(),S(),M==null||M()}return this}}}),s.updateContainerElements(a),s};const KF=["aria-labelledby"],JF={class:"media-preview-sheet__header"},qF=["id"],YF=["aria-label"],QF=["src","alt"],e8=["src"],t8={class:"media-preview-sheet__actions"},a8=["disabled","aria-label"],n8=["aria-label","aria-pressed"],o8=["disabled","aria-label"],i8=e.defineComponent({__name:"MediaPreviewSheet",props:{open:{type:Boolean,default:!1},media:{default:null},canGoPrevious:{type:Boolean,default:!1},canGoNext:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},closeLabel:{default:"Close"},previousLabel:{default:"Previous"},nextLabel:{default:"Next"},selectLabel:{default:"Select"},deselectLabel:{default:"Deselect"}},emits:["close","previous","next","toggleSelect"],setup(o,{emit:a}){const t=o,n=a,i=e.useId(),r=e.ref(null),l=e.ref(null);let s=null,d=null;const c=e.computed(()=>{var $;return(($=t.media)==null?void 0:$.mime_type.startsWith("image/"))===!0}),u=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/ig,m=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i,p=e.computed(()=>t.media?t.media.preview_url??t.media.original_url:"");function f($){const S=$.replace(/\.[^.]+$/,""),_=S.replace(u,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return _!==""?_:S||$}function h($){var A,P;const S=(A=$.name)==null?void 0:A.trim(),B=$.file_name.replace(/\.[^.]+$/,"");if(S!==void 0&&S!==""&&S!==$.file_name&&S!==B&&!m.test(S))return S;const _=(P=$.alt_text)==null?void 0:P.trim();return _!==void 0&&_!==""?_:f(S||$.file_name)}const v=e.computed(()=>t.media?h(t.media):"media"),k=e.computed(()=>t.media?`Preview ${v.value}`:"Media preview"),y=e.computed(()=>t.media?`Close preview of ${v.value}`:"Close preview"),w=e.computed(()=>t.canGoPrevious?"Previous media":"No previous media"),g=e.computed(()=>t.canGoNext?"Next media":"No next media"),b=e.computed(()=>{const $=t.selected?t.deselectLabel:t.selectLabel;return t.media?t.selected?`${t.deselectLabel} ${v.value}`:`${t.selectLabel} ${v.value}`:$}),R=e.computed(()=>t.selected?t.deselectLabel:t.selectLabel),N=()=>{t.media&&n("toggleSelect",t.media)},I=$=>{if($.key==="Escape"){$.preventDefault(),n("close");return}if($.key==="ArrowLeft"&&t.canGoPrevious){$.preventDefault(),n("previous");return}$.key==="ArrowRight"&&t.canGoNext&&($.preventDefault(),n("next"))},x=()=>{if(s){try{s.deactivate({returnFocus:!1})}catch{}s=null}},T=()=>{const $=d;d=null,$&&typeof $.focus=="function"&&e.nextTick(()=>{$.focus()})};return e.watch(()=>t.open&&t.media!==null,async $=>{var S;if($){d=document.activeElement instanceof HTMLElement?document.activeElement:null,await e.nextTick();const B=r.value;if(B)try{s=XF(B,{initialFocus:()=>l.value??B,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!1,allowOutsideClick:!0}),s.activate()}catch{(S=l.value)==null||S.focus()}}else x(),T()},{immediate:!0}),e.onBeforeUnmount(()=>{x()}),($,S)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[$.open&&$.media?(e.openBlock(),e.createElementBlock("section",{key:0,ref_key:"sheetRef",ref:r,class:"media-preview-sheet",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i),tabindex:"-1","data-testid":"media-preview-sheet",onKeydown:I},[e.createElementVNode("header",JF,[e.createElementVNode("strong",{id:e.unref(i),"data-testid":"media-preview-sheet-title"},e.toDisplayString(k.value),9,qF),e.createElementVNode("button",{ref_key:"closeButtonRef",ref:l,type:"button",class:"media-preview-sheet__close","aria-label":y.value,"data-testid":"btn-media-preview-close",onClick:S[0]||(S[0]=B=>n("close"))},e.toDisplayString($.closeLabel),9,YF)]),c.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-preview-sheet__image",src:p.value,alt:$.media.alt_text||v.value},null,8,QF)):(e.openBlock(),e.createElementBlock("video",{key:1,class:"media-preview-sheet__video",src:p.value,controls:""},null,8,e8)),e.createElementVNode("div",t8,[e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!$.canGoPrevious,"aria-label":w.value,"data-testid":"btn-media-preview-previous",onClick:S[1]||(S[1]=B=>n("previous"))},e.toDisplayString($.previousLabel),9,a8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__select","aria-label":b.value,"aria-pressed":$.selected,"data-testid":"btn-media-preview-select",onClick:N},e.toDisplayString(R.value),9,n8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!$.canGoNext,"aria-label":g.value,"data-testid":"btn-media-preview-next",onClick:S[2]||(S[2]=B=>n("next"))},e.toDisplayString($.nextLabel),9,o8)])],40,KF)):e.createCommentVNode("",!0)]))}}),Md=$e(i8,[["__scopeId","data-v-fa05530d"]]),r8={key:0,class:"media-album-grid","data-testid":"media-source-sheet"},l8={class:"media-album-grid__items"},s8={class:"media-album-grid__card-name"},d8={class:"media-album-grid__card-name"},c8=["data-testid","onClick"],u8={class:"media-album-grid__card-name"},m8={key:0,class:"media-album-grid__card-meta"},p8={key:0,class:"media-album-grid__empty"},f8=e.defineComponent({__name:"MediaSourceSheet",props:{open:{type:Boolean,default:!1},currentView:{},albums:{},viewLibraryLabel:{default:"Library"},browseAlbumsLabel:{default:"Albums"},createAlbumLabel:{default:"Create album"},enableAlbumCreation:{type:Boolean,default:!1}},emits:["close","selectLibrary","selectAlbum","createAlbum"],setup(o,{emit:a}){const t=a;return(n,i)=>n.open?(e.openBlock(),e.createElementBlock("section",r8,[e.createElementVNode("div",l8,[n.enableAlbumCreation?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-album-grid__card media-album-grid__card--create","data-testid":"btn-media-source-create-album",onClick:i[0]||(i[0]=r=>t("createAlbum"))},[i[2]||(i[2]=e.createElementVNode("div",{class:"media-album-grid__card-icon"},[e.createElementVNode("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})])],-1)),e.createElementVNode("span",s8,e.toDisplayString(n.createAlbumLabel),1)])):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":n.currentView.scope==="library"}]),"data-testid":"btn-media-source-library",onClick:i[1]||(i[1]=r=>t("selectLibrary"))},[i[3]||(i[3]=e.createStaticVNode('<div class="media-album-grid__card-icon" data-v-129f67b1><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-129f67b1><rect x="3" y="3" width="7" height="7" data-v-129f67b1></rect><rect x="14" y="3" width="7" height="7" data-v-129f67b1></rect><rect x="14" y="14" width="7" height="7" data-v-129f67b1></rect><rect x="3" y="14" width="7" height="7" data-v-129f67b1></rect></svg></div>',1)),e.createElementVNode("span",d8,e.toDisplayString(n.viewLibraryLabel),1),i[4]||(i[4]=e.createElementVNode("span",{class:"media-album-grid__card-meta"},"All media",-1))],2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.albums,r=>(e.openBlock(),e.createElementBlock("button",{key:r.id,type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":n.currentView.scope==="album"&&n.currentView.albumId===r.id}]),"data-testid":`btn-media-source-album-${r.id}`,onClick:l=>t("selectAlbum",r)},[i[5]||(i[5]=e.createElementVNode("div",{class:"media-album-grid__card-icon"},[e.createElementVNode("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})])],-1)),e.createElementVNode("span",u8,e.toDisplayString(r.name),1),r.mediaCount!==void 0?(e.openBlock(),e.createElementBlock("span",m8,e.toDisplayString(r.mediaCount)+" item"+e.toDisplayString(r.mediaCount===1?"":"s"),1)):e.createCommentVNode("",!0)],10,c8))),128))]),n.albums.length===0?(e.openBlock(),e.createElementBlock("p",p8," No albums yet. ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),hf=$e(f8,[["__scopeId","data-v-129f67b1"]]),h8={key:0,class:"media-upload-sheet","data-testid":"media-upload-sheet"},v8={class:"media-upload-sheet__dropzone-text"},g8={key:0,class:"media-upload-sheet__dropzone-helper","data-testid":"text-media-upload-sheet-helper"},b8={class:"media-upload-sheet__sr-only"},y8=["accept","aria-label"],w8=["aria-label"],k8={class:"media-upload-sheet__queue-row"},_8={key:0,class:"media-upload-sheet__preview"},E8=["src","alt","data-testid"],S8={class:"media-upload-sheet__queue-body"},C8={class:"media-upload-sheet__queue-info"},x8={class:"media-upload-sheet__queue-status"},V8=["aria-valuenow","aria-label","data-testid"],N8=["aria-label"],T8=e.defineComponent({__name:"MediaUploadSheet",props:{open:{type:Boolean,default:!1},queue:{},accept:{default:""},uploadLabel:{default:"Upload"},dropzoneLabel:{default:"Drop files here or browse"},dropzoneHelperText:{default:""},fileInputLabel:{default:"Choose media files"},closeButtonAriaLabel:{default:"Close upload panel"},closeButtonLabel:{default:"Done"},progressAriaLabel:{}},emits:["close","filesSelected"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=p=>{var h;return t.progressAriaLabel!==void 0?t.progressAriaLabel(p):`Uploading ${((h=p.file)==null?void 0:h.name)??"file"}`},l=p=>{const f=Number.isFinite(p.progress)?p.progress:0;return f<0?0:f>100?100:Math.round(f)},s=e.computed(()=>t.queue.length===0?"":`${t.queue.length} upload${t.queue.length===1?"":"s"} in progress`),d=p=>{const f=p.target;!(f instanceof HTMLInputElement)||f.files===null||(n("filesSelected",Array.from(f.files)),f.value="")},c=p=>{p.preventDefault(),i.value=!0},u=()=>{i.value=!1},m=p=>{var f;p.preventDefault(),i.value=!1,(f=p.dataTransfer)!=null&&f.files&&p.dataTransfer.files.length>0&&n("filesSelected",Array.from(p.dataTransfer.files))};return(p,f)=>p.open?(e.openBlock(),e.createElementBlock("section",h8,[e.createElementVNode("label",{class:e.normalizeClass(["media-upload-sheet__dropzone",{"is-drag-over":i.value}]),onDragover:c,onDragleave:u,onDrop:m},[f[1]||(f[1]=e.createStaticVNode('<div class="media-upload-sheet__dropzone-icon" data-v-df614629><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-df614629><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" data-v-df614629></path><polyline points="17 8 12 3 7 8" data-v-df614629></polyline><line x1="12" y1="3" x2="12" y2="15" data-v-df614629></line></svg></div>',1)),e.createElementVNode("span",v8,e.toDisplayString(p.dropzoneLabel),1),p.dropzoneHelperText?(e.openBlock(),e.createElementBlock("span",g8,e.toDisplayString(p.dropzoneHelperText),1)):e.createCommentVNode("",!0),e.createElementVNode("span",b8,e.toDisplayString(p.fileInputLabel),1),e.createElementVNode("input",{type:"file",accept:p.accept,multiple:"",class:"media-upload-sheet__file-input","data-testid":"input-media-upload-sheet","aria-label":p.fileInputLabel,onChange:d},null,40,y8)],34),p.queue.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:"media-upload-sheet__queue","aria-live":"polite","aria-label":s.value,"data-testid":"list-media-upload-sheet-queue"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.queue,h=>(e.openBlock(),e.createElementBlock("li",{key:h.id,class:"media-upload-sheet__queue-item"},[e.createElementVNode("div",k8,[h.previewUrl?(e.openBlock(),e.createElementBlock("div",_8,[e.createElementVNode("img",{src:h.previewUrl,alt:`Preview of ${h.file.name}`,"data-testid":`img-media-upload-sheet-preview-${h.id}`},null,8,E8)])):e.createCommentVNode("",!0),e.createElementVNode("div",S8,[e.createElementVNode("div",C8,[e.createElementVNode("strong",null,e.toDisplayString(h.file.name),1),e.createElementVNode("span",x8,e.toDisplayString(h.status),1)]),e.createElementVNode("div",{class:"media-upload-sheet__progress-bar",role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":l(h),"aria-label":r(h),"data-testid":`progress-media-upload-sheet-${h.id}`},[e.createElementVNode("div",{class:"media-upload-sheet__progress-fill",style:e.normalizeStyle({width:`${l(h)}%`})},null,4)],8,V8)])])]))),128))],8,w8)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"media-upload-sheet__close-btn","aria-label":p.closeButtonAriaLabel,"data-testid":"btn-close-upload-sheet",onClick:f[0]||(f[0]=h=>n("close"))},e.toDisplayString(p.closeButtonLabel),9,N8)])):e.createCommentVNode("",!0)}}),vf=$e(T8,[["__scopeId","data-v-df614629"]]),B8=["aria-label","aria-pressed","data-testid"],I8=["src","alt"],M8={key:1,class:"media-thumbnail-cell__video"},$8={class:"media-thumbnail-cell__video-name"},F8={key:2,class:"media-thumbnail-cell__selected-badge"},D8={key:3,class:"media-thumbnail-cell__status-badge"},A8=["aria-label"],R8=e.defineComponent({__name:"MediaThumbnailCell",props:{media:{},selected:{type:Boolean,default:!1},status:{},testId:{default:"media-library-thumbnail"}},emits:["toggle","preview"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>t.media.thumbnail_url??t.media.preview_url??t.media.original_url),r=e.computed(()=>t.media.mime_type.startsWith("image/")),l=e.computed(()=>{switch(t.status){case"missing":return"Unavailable";case"forbidden":return"Restricted";case"uploading":return"Uploading";case"failed":return"Failed";case"file_lost":return"Needs file";default:return null}}),s=e.computed(()=>{const u=t.media.file_name;return t.selected?`Deselect ${u}`:`Select ${u}`}),d=()=>{n("toggle",t.media)},c=()=>{n("preview",t.media)};return(u,m)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["media-thumbnail-cell",{"is-selected":u.selected,"has-status":l.value!==null}])},[e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__button","aria-label":s.value,"aria-pressed":u.selected?"true":"false","data-testid":u.testId,onClick:d},[r.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-thumbnail-cell__image",src:i.value,alt:u.media.file_name},null,8,I8)):(e.openBlock(),e.createElementBlock("div",M8,[m[0]||(m[0]=e.createElementVNode("span",{class:"media-thumbnail-cell__video-label"},"Video",-1)),e.createElementVNode("span",$8,e.toDisplayString(u.media.file_name),1)])),u.selected?(e.openBlock(),e.createElementBlock("span",F8," Selected ")):e.createCommentVNode("",!0),l.value!==null?(e.openBlock(),e.createElementBlock("span",D8,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)],8,B8),e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__preview-button","aria-label":`Preview ${u.media.file_name}`,onClick:c}," Preview ",8,A8)],2))}}),gf=$e(R8,[["__scopeId","data-v-edd4f0ad"]]),L8={class:"virtual-media-grid"},P8={key:0,class:"virtual-media-grid__state","data-testid":"media-grid-loading"},U8={key:1,class:"virtual-media-grid__state","data-testid":"media-grid-empty"},O8={key:2,class:"virtual-media-grid__items"},z8=["disabled"],j8=e.defineComponent({__name:"VirtualMediaGrid",props:{items:{},selectedItems:{},loading:{type:Boolean,default:!1},loadingMore:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},emptyMessage:{default:"No media found."},testIdPrefix:{default:"media-grid-item"},loadingMessage:{default:"Loading media..."},loadMoreLabel:{default:"Load more"},loadingMoreLabel:{default:"Loading…"}},emits:["toggle","preview","loadMore"],setup(o,{emit:a}){const t=o,n=a;function i(r){return t.selectedItems.find(l=>l.id===r)}return(r,l)=>(e.openBlock(),e.createElementBlock("div",L8,[r.loading&&r.items.length===0?(e.openBlock(),e.createElementBlock("div",P8,e.toDisplayString(r.loadingMessage),1)):r.items.length===0?(e.openBlock(),e.createElementBlock("div",U8,e.toDisplayString(r.emptyMessage),1)):(e.openBlock(),e.createElementBlock("div",O8,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,s=>{var d,c;return e.openBlock(),e.createBlock(gf,{key:s.uuid,media:s,selected:((d=i(s.uuid))==null?void 0:d.status)==="ready",status:(c=i(s.uuid))==null?void 0:c.status,"test-id":`${r.testIdPrefix}-${s.uuid}`,onToggle:l[0]||(l[0]=u=>n("toggle",u)),onPreview:l[1]||(l[1]=u=>n("preview",u))},null,8,["media","selected","status","test-id"])}),128))])),r.hasMore?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"virtual-media-grid__load-more",disabled:r.loadingMore,"data-testid":"btn-media-grid-load-more",onClick:l[2]||(l[2]=s=>n("loadMore"))},e.toDisplayString(r.loadingMore?r.loadingMoreLabel:r.loadMoreLabel),9,z8)):e.createCommentVNode("",!0)]))}}),bf=$e(j8,[["__scopeId","data-v-34667f65"]]);function Yr(o){if(o===0)return"0 Bytes";const a=1024,t=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(o)/Math.log(a));return parseFloat((o/Math.pow(a,n)).toFixed(2))+" "+t[n]}function yf(o){var t;const a=o.split(".");return a.length>1?`.${(t=a.pop())==null?void 0:t.toLowerCase()}`:""}function $d(o){return o.type.startsWith("image/")}async function wf(o){return $d(o)?new Promise(a=>{const t=new Image,n=URL.createObjectURL(o);t.onload=()=>{URL.revokeObjectURL(n),a({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{URL.revokeObjectURL(n),a(null)},t.src=n}):null}async function kf(o,a){const t=[];if(a.maxFileSize&&o.size>a.maxFileSize&&t.push({field:"size",message:`File exceeds maximum size of ${Yr(a.maxFileSize)}`,code:"MAX_FILE_SIZE"}),a.minFileSize&&o.size<a.minFileSize&&t.push({field:"size",message:`File is smaller than minimum size of ${Yr(a.minFileSize)}`,code:"MIN_FILE_SIZE"}),a.acceptedMimeTypes&&a.acceptedMimeTypes.length>0&&(a.acceptedMimeTypes.some(i=>i.endsWith("/*")?o.type.startsWith(i.slice(0,-1)):o.type===i)||t.push({field:"type",message:`File type "${o.type}" is not allowed`,code:"INVALID_MIME_TYPE"})),a.acceptedExtensions&&a.acceptedExtensions.length>0){const n=yf(o.name);a.acceptedExtensions.some(r=>r.toLowerCase()===n.toLowerCase())||t.push({field:"extension",message:`File extension "${n}" is not allowed`,code:"INVALID_EXTENSION"})}if($d(o)&&(a.maxDimensions||a.minDimensions)){const n=await wf(o);n&&(a.maxDimensions&&(n.width>a.maxDimensions.width&&t.push({field:"dimensions",message:`Image width (${n.width}px) exceeds maximum (${a.maxDimensions.width}px)`,code:"MAX_WIDTH"}),n.height>a.maxDimensions.height&&t.push({field:"dimensions",message:`Image height (${n.height}px) exceeds maximum (${a.maxDimensions.height}px)`,code:"MAX_HEIGHT"})),a.minDimensions&&(n.width<a.minDimensions.width&&t.push({field:"dimensions",message:`Image width (${n.width}px) is smaller than minimum (${a.minDimensions.width}px)`,code:"MIN_WIDTH"}),n.height<a.minDimensions.height&&t.push({field:"dimensions",message:`Image height (${n.height}px) is smaller than minimum (${a.minDimensions.height}px)`,code:"MIN_HEIGHT"})))}if(a.customValidator){const n=await a.customValidator(o);t.push(...n)}return{valid:t.length===0,errors:t}}function Fd(o={}){const a=e.ref(o.rules||{});function t(d){a.value=d}async function n(d){return kf(d,a.value)}async function i(d){const c=new Map;return await Promise.all(d.map(async u=>{const m=await n(u);c.set(u,m)})),c}function r(d,c){return a.value.maxItems?c+d<=a.value.maxItems:!0}const l=e.computed(()=>{const d=[];return a.value.acceptedMimeTypes&&d.push(...a.value.acceptedMimeTypes),a.value.acceptedExtensions&&d.push(...a.value.acceptedExtensions),d.join(",")});function s(d){return!a.value.acceptedMimeTypes||a.value.acceptedMimeTypes.length===0?!0:a.value.acceptedMimeTypes.some(c=>c.endsWith("/*")?d.startsWith(c.slice(0,-1)):d===c)}return{rules:a,setRules:t,validateFile:n,validateFiles:i,canAddFiles:r,acceptString:l,isMimeTypeAllowed:s}}function W8(){return`upload-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function H8(o){if(o.type.startsWith("image/"))return URL.createObjectURL(o)}function Dd(o){const{adapter:a,maxConcurrent:t=3,rules:n,collection:i,onUploadStart:r,onUploadProgress:l,onUploadComplete:s,onUploadError:d,onQueueComplete:c,postUpload:u}=o,m=e.ref(new Map),p=e.ref(new Set),f=n?{rules:n}:{},{validateFile:h}=Fd(f);async function v(){if(p.value.size>=t)return;const B=Array.from(m.value.entries()).find(([P,D])=>D.status==="pending"&&!p.value.has(P));if(!B){Array.from(m.value.values()).every(D=>D.status==="completed"||D.status==="error")&&m.value.size>0&&(c==null||c());return}const[_,A]=B;await k(_,A)}async function k(B,_){p.value.add(B),_.status="uploading",_.abortController=new AbortController,m.value.set(B,{..._}),r==null||r(_);try{const A={onProgress:D=>{_.progress=D,m.value.set(B,{..._}),l==null||l(_)},signal:_.abortController.signal};i&&(A.collection=i);const P=await a.upload(_.file,A);u&&(_.status="attaching",m.value.set(B,{..._}),l==null||l(_),await u(_,P.media,a)),_.status="completed",_.progress=100,_.media=P.media,m.value.set(B,{..._}),s==null||s(_,P.media)}catch(A){A.name==="AbortError"?m.value.delete(B):(_.status="error",_.error=A.message,m.value.set(B,{..._}),d==null||d(_,A))}finally{p.value.delete(B),delete _.abortController,v()}}async function y(B){var P;const _=Array.from(B),A=[];for(const D of _){const z=await h(D),M=W8(),Z=H8(D),O={id:M,file:D,progress:0,status:z.valid?"pending":"error"};!z.valid&&((P=z.errors[0])!=null&&P.message)&&(O.error=z.errors[0].message),Z&&(O.previewUrl=Z),m.value.set(M,O);const K={media:null,clientId:M,name:D.name,order:0,upload:O,errors:z.errors};A.push(K)}for(let D=0;D<t;D++)v();return A}function w(B){const _=m.value.get(B);_&&(_.abortController&&_.abortController.abort(),_.previewUrl&&URL.revokeObjectURL(_.previewUrl),m.value.delete(B),p.value.delete(B),v())}async function g(B){const _=m.value.get(B);!_||_.status!=="error"||(_.status="pending",_.progress=0,delete _.error,m.value.set(B,{..._}),v())}function b(){for(const[B,_]of m.value.entries())(_.status==="completed"||_.status==="error")&&(_.previewUrl&&URL.revokeObjectURL(_.previewUrl),m.value.delete(B))}function R(){for(const B of m.value.values())B.abortController&&B.abortController.abort(),B.previewUrl&&URL.revokeObjectURL(B.previewUrl);m.value.clear(),p.value.clear()}function N(B){return m.value.get(B)}const I=e.computed(()=>p.value.size>0),x=e.computed(()=>p.value.size),T=e.computed(()=>Array.from(m.value.values()).filter(B=>B.status==="pending").length),$=e.computed(()=>m.value.size===0?!0:Array.from(m.value.values()).every(B=>B.status==="completed"||B.status==="error")),S=e.computed(()=>Array.from(m.value.values()));return{uploads:m,isUploading:I,activeCount:x,pendingCount:T,isComplete:$,addFiles:y,cancelUpload:w,retryUpload:g,clearCompleted:b,clearAll:R,getUpload:N,uploadsArray:S}}function oo(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)}function Di(o){return typeof o=="string"?o:null}function ci(o){return typeof o=="number"?o:null}function Z8(o){return typeof o=="boolean"?o:null}function _f(o){return oo(o)&&typeof o.uuid=="string"&&typeof o.file_name=="string"&&typeof o.mime_type=="string"&&(typeof o.original_url=="string"||o.original_url===null)&&typeof o.size=="number"&&typeof o.disk=="string"&&typeof o.created_at=="string"&&typeof o.updated_at=="string"}function G8(o){return!oo(o)||typeof o.id!="string"||typeof o.status!="string"?null:o.status==="ready"?_f(o.media)?{id:o.id,status:"ready",media:o.media}:null:o.status==="missing"||o.status==="forbidden"?{id:o.id,status:o.status}:null}function X8(o){return oo(o)?{next_cursor:Di(o.next_cursor),previous_cursor:Di(o.previous_cursor),has_more:Z8(o.has_more)??!1,per_page:ci(o.per_page),count:ci(o.count),total:ci(o.total),current_page:ci(o.current_page),last_page:ci(o.last_page)}:null}function $u(o){const a=oo(o)?o:{},t=Array.isArray(a.data)?a.data.filter(_f):[],n=oo(a.meta)?a.meta:{},i=X8(n.pagination),r=(i==null?void 0:i.next_cursor)??Di(n.next_cursor)??Di(n.cursor),l=(i==null?void 0:i.has_more)??n.has_more===!0,s=Array.isArray(a.hydrated)?a.hydrated.map(G8).filter(c=>c!==null):[],d={cursor:r,has_more:l};return i!==null&&(d.pagination=i),{data:t,meta:d,hydrated:s}}function Fu(o,a,t,n,i,r){const l={view:o.scope==="album"?{scope:"album",album_id:o.albumId}:{scope:o.scope},per_page:t,sort:a.sort??"newest"};return a.query&&a.query.trim()!==""&&(l.query=a.query.trim()),a.kinds&&a.kinds.length>0&&(l.kinds=a.kinds),a.created_after&&a.created_after.trim()!==""&&(l.created_after=a.created_after.trim()),a.created_before&&a.created_before.trim()!==""&&(l.created_before=a.created_before.trim()),(a.usage_status==="used"||a.usage_status==="not_used")&&(l.usage_status=a.usage_status),(a.unfiled_only===!0||o.scope==="unfiled")&&(l.unfiled_only=1),a.selected_uuids&&a.selected_uuids.length>0&&(l.selected_uuids=[...a.selected_uuids]),r!=null?(l.page=r,l.include_total=1):n!==null&&(l.cursor=n),i&&i.length>0&&(l.hydrate_ids=i),l}function Du(o){const a=new Set,t=[];for(const n of o)a.has(n.uuid)||(a.add(n.uuid),t.push(n));return t}function K8(o){var t;if(!(o instanceof Error))return null;const a=(t=o.response)==null?void 0:t.status;return typeof a=="number"?a:null}function J8(o){var a;return o instanceof Error?((a=o.response)==null?void 0:a.data)??null:null}function q8(o){if(!oo(o))return[];const a=[];for(const t of Object.values(o)){if(typeof t=="string"&&t.trim()!==""){a.push(t.trim());continue}if(Array.isArray(t))for(const n of t){if(typeof n!="string")continue;const i=n.trim();i!==""&&a.push(i)}}return Array.from(new Set(a))}function Y8(o){var r;const a=J8(o),t=oo(a)?a:null,n=((r=Di(t==null?void 0:t.message))==null?void 0:r.trim())??null,i=q8(t==null?void 0:t.errors);return n!==null&&i.length>0?n==="Validation failed"?i.join(" "):i.every(s=>n.includes(s))?n:`${n} ${i.join(" ")}`:n!==null?n:i.length>0?i.join(" "):o instanceof Error?o.message:"Failed to load media."}function Au(o,a){const t=Y8(a),n=K8(a);return{code:n===403?"permission_denied":o,message:t,retriable:n!==403,cause:a}}function Ad(o){const a=()=>{const N=o.perPage!==void 0?e.toValue(o.perPage):40;return N>0?N:40},t=()=>{const N=o.page!==void 0?e.toValue(o.page):null;return N==null?null:N>0?N:1},n=e.ref([]),i=e.ref([]),r=e.ref(null),l=e.ref(!1),s=e.ref(!1),d=e.ref(!1),c=e.ref(!1),u=e.ref(null),m=e.ref(null),p=e.ref(null),f=e.ref(null);let h=null,v=0;const k=async(N,I)=>{v+=1;const x=v;h==null||h.abort();const T=new AbortController;h=T,N?d.value=!0:s.value=!0,u.value=null,c.value=!1;const $=I??t(),S=$!==null;try{const B=await o.httpClient.get("/v1/media/library",{params:Fu(o.view.value,o.filters.value,a(),S?null:N?r.value:null,void 0,$),signal:T.signal});if(x!==v)return;const _=$u(B);n.value=N&&!S?Du([...n.value,..._.data]):_.data,i.value=_.hydrated,r.value=_.meta.cursor,l.value=_.meta.has_more;const A=_.meta.pagination;m.value=(A==null?void 0:A.total)??null,p.value=(A==null?void 0:A.current_page)??(S&&$!==null?$:null);const P=(A==null?void 0:A.per_page)??a();f.value=(A==null?void 0:A.last_page)??(m.value!==null&&P>0?Math.max(1,Math.ceil(m.value/P)):null)}catch(B){if(T.signal.aborted||x!==v)return;const _=Au(N?"load_more_failed":"query_failed",B);u.value=_,c.value=_.code==="permission_denied",N||(n.value=[],r.value=null,l.value=!1)}finally{x===v&&(s.value=!1,d.value=!1)}},y=async N=>{if(N.length===0)return i.value=[],[];try{const I=await o.httpClient.get("/v1/media/library",{params:Fu(o.view.value,o.filters.value,1,null,N)}),x=$u(I);return i.value=x.hydrated,x.hydrated}catch(I){return u.value=Au("hydration_failed",I),[]}},w=N=>{n.value=Du([N,...n.value])},g=async()=>{!l.value||d.value||t()===null&&await k(!0)};return{items:n,hydrated:i,cursor:r,hasMore:l,loading:s,loadingMore:d,permissionDenied:c,error:u,total:m,currentPage:p,totalPages:f,loadInitial:async()=>{r.value=null,await k(!1)},loadMore:g,loadAll:async N=>{const I=(N==null?void 0:N.maxItems)??5e3;if(!(s.value||d.value))for(;l.value&&n.value.length<I;){const x=n.value.length;if(await g(),u.value!==null||n.value.length===x)return}},goToPage:async N=>{!Number.isFinite(N)||N<1||s.value||d.value||await k(!1,N)},refresh:async()=>{r.value=null,await k(!1)},hydrateSelection:y,prepend:w}}const Q8="mediables.media-library.";function e6(o){return!o||o.key.trim()===""?null:`${Q8}${o.key}`}function ls(){return typeof window>"u"||typeof window.sessionStorage>"u"?null:window.sessionStorage}function t6(o,a){const t=Date.parse(o);return Number.isFinite(t)?Date.now()-t>a*60*1e3:!0}function Ef(o){const a=e6(o),t=(o==null?void 0:o.ttlMinutes)??30,n=`${(o==null?void 0:o.key)??"media-library"}:${Date.now()}`;return{restore:()=>{if(a===null)return null;const s=ls();if(s===null)return null;const d=s.getItem(a);if(d===null)return null;let c;try{c=JSON.parse(d)}catch{return s.removeItem(a),null}if(typeof c!="object"||c===null||Array.isArray(c))return s.removeItem(a),null;const u=c;if(u.version!==1||typeof u.savedAt!="string"||t6(u.savedAt,t))return s.removeItem(a),null;const m={selectedIds:Array.isArray(u.selectedIds)?u.selectedIds.filter(p=>typeof p=="string"&&p.trim()!==""):[]};return((o==null?void 0:o.restoreView)??!0)&&u.view&&(m.view=u.view),u.filters&&(m.filters=u.filters),m},save:s=>{if(a===null)return;const d=ls();if(d===null)return;const c={version:1,savedAt:new Date().toISOString(),selectedIds:[...s.selectedIds]};((o==null?void 0:o.restoreView)??!0)&&s.view&&(c.view=s.view),s.filters&&(c.filters=s.filters),d.setItem(a,JSON.stringify(c))},clear:()=>{if(a===null)return;const s=ls();s==null||s.removeItem(a)},sessionId:n}}function Sf(o){const a=e.ref(o);return{state:a,transition:n=>{a.value=n}}}function Cf(o){return{emitMetric:(t,n)=>{const i={name:t,timestamp:new Date().toISOString()};n!==void 0&&(i.payload=n),o==null||o(i)}}}function Mo(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)}function a6(o){const a=Mo(o)?o:{};return(Array.isArray(a.data)?a.data:Mo(a.data)&&Array.isArray(a.data.data)?a.data.data:Array.isArray(o)?o:[]).map(n=>{if(!Mo(n)||typeof n.id!="string"||typeof n.name!="string")return null;const i={id:n.id,name:n.name};return typeof n.description=="string"&&n.description.trim()!==""&&(i.description=n.description),typeof n.media_count=="number"&&(i.mediaCount=n.media_count),i}).filter(n=>n!==null)}function n6(o){const a=Mo(o)?o:{},t=Mo(a.data)?a.data:Mo(o)?o:null;if(t===null||typeof t.id!="string"||typeof t.name!="string")return null;const n={id:t.id,name:t.name};return typeof t.description=="string"&&t.description.trim()!==""&&(n.description=t.description),n}function o6(o){return o==="ready"||o==="uploading"||o==="failed"}function Un(o,a="ready"){return{id:o.uuid,media:o,status:a,countsTowardMax:o6(a)}}function i6(o,a){return o.scope==="library"?!0:o.scope!=="album"?!1:a.type==="album"&&a.albumId===o.albumId}function r6(o,a){return o.scope==="library"?a.type==="library"||a.type==="album":o.scope!=="album"?!1:a.type==="album"&&a.albumId===o.albumId}function ss(o){return{code:"configuration_error",message:o,retriable:!1}}const xf="/v1/albums";function l6(o){var a;return((a=o.deps.albumEndpoints)==null?void 0:a.list)??xf}function s6(o){var a,t;return((a=o.deps.albumEndpoints)==null?void 0:a.create)??((t=o.deps.albumEndpoints)==null?void 0:t.list)??xf}function d6(o){return typeof o!="string"||o.length===0?"document":o.startsWith("image/")?"image":o.startsWith("video/")?"video":o.startsWith("audio/")?"audio":"document"}function c6(o,a){return a.length===0||o===null?!0:a.includes(d6(o.mime_type))}function Ru(o){return{...o??{},...(o==null?void 0:o.kinds)!==void 0?{kinds:[...o.kinds]}:{},...(o==null?void 0:o.selected_uuids)!==void 0?{selected_uuids:[...o.selected_uuids]}:{}}}function Vf(o){var W,C;const a=o.selectionMode??"multiple",t=o.maxSelection,n=o.uploadBehavior??"adapter",i=e.ref(o.initialView??{scope:"library"}),r=((W=o.initialFilters)==null?void 0:W.kinds)??(o.allowedMediaKinds&&o.allowedMediaKinds.length>0?[...o.allowedMediaKinds]:void 0),l=e.ref({...Ru(o.initialFilters),sort:((C=o.initialFilters)==null?void 0:C.sort)??"newest",...r?{kinds:r}:{}}),s=o.allowedMediaKinds?[...o.allowedMediaKinds]:[],d=e.ref([]),c=e.ref([]),u=e.ref(null),m=e.ref(null),p=Ef(o.sessionPolicy),{emitMetric:f}=Cf(o.telemetry),h=Sf("idle"),v=Ad({httpClient:o.deps.httpClient,view:i,filters:l}),k=e.computed(()=>c.value.map(U=>U.id)),y=e.computed(()=>{const U=u.value;return U===null?null:v.items.value[U]??null}),w=e.computed(()=>o.uploadTarget??{type:"library"}),g=Dd({adapter:o.deps.uploadAdapter??{name:"missing-upload-adapter",upload:async()=>{throw new Error("Upload adapter is not configured.")},attach:async()=>{},attachMany:async()=>{},detach:async()=>{},reorder:async()=>{},fetchModelMedia:async()=>[],getUrl:U=>U.original_url,getThumbnailUrl:U=>U.thumbnail_url??U.preview_url??U.original_url},postUpload:async(U,j,ie)=>{const ue=w.value;ue.type!=="album"||!ue.albumId||await ie.attach(j.uuid,{modelType:"album",modelId:ue.albumId})},onUploadComplete:(U,j)=>{const ie=w.value;i6(i.value,ie)&&v.prepend(j),o.autoSelectUploaded&&r6(i.value,ie)&&$(j),f("upload-complete",{mediaId:j.uuid,targetType:ie.type,targetAlbumId:ie.albumId})},onUploadError:(U,j)=>{m.value={code:"upload_failed",message:j.message,retriable:!0,cause:j}}}),b=e.computed(()=>g.isUploading.value),R=()=>{p.save({selectedIds:[...k.value],view:i.value,filters:l.value})},N=async U=>{const j=await v.hydrateSelection(U);c.value=j.map(ie=>ie.status==="ready"&&ie.media?Un(ie.media):{id:ie.id,media:null,status:ie.status,countsTowardMax:!1})},I=e.computed(()=>c.value.filter(U=>U.countsTowardMax).length),x=()=>a==="single"||t===void 0?!0:I.value<t,T=U=>{if(c.value.findIndex(ie=>ie.id===U.uuid)>=0){a==="multiple"?c.value=c.value.filter(ie=>ie.id!==U.uuid):c.value=[Un(U)],R();return}if(!x()){m.value={code:"selection_invalid",message:t!==void 0?`You can only select up to ${t} items.`:"You cannot select more items.",retriable:!0};return}a==="single"?c.value=[Un(U)]:c.value=[...c.value,Un(U)],m.value=null,R()},$=U=>{const j=c.value.findIndex(ie=>ie.id===U.uuid);if(j>=0){c.value=c.value.map((ie,ue)=>ue===j?Un(U):ie),m.value=null,R();return}if(!x()){m.value={code:"selection_invalid",message:t!==void 0?`You can only select up to ${t} items.`:"You cannot select more items.",retriable:!0};return}a==="single"?c.value=[Un(U)]:c.value=[...c.value,Un(U)],m.value=null,R()},S=async()=>{var j;h.transition("restoring");const U=p.restore();if(U===null){h.transition("ready");return}U.view&&(i.value=U.view),U.filters&&(l.value={...Ru(U.filters),sort:U.filters.sort??"newest"}),await v.loadInitial(),(((j=o.sessionPolicy)==null?void 0:j.restoreSelection)??!0)&&await N(U.selectedIds),h.transition("ready")};e.watch(()=>v.error.value,U=>{U!==null&&(m.value=U,h.transition("error"))});const B=async()=>{m.value=null,h.transition("idle"),await S(),v.items.value.length===0&&!v.loading.value&&!v.permissionDenied.value&&await v.loadInitial();const U=o.defaultSelectedIds??[];c.value.length===0&&U.length>0&&await N(U),h.transition("ready")},_=async(U,j="user")=>{const ie=i.value;i.value=U,j==="user"&&o.preserveSelectionOnViewChange===!1&&(c.value=[]),f("view-change",{from:ie.scope,to:U.scope,reason:j}),await v.loadInitial(),R()},A=async()=>{const U=await o.deps.httpClient.get(l6(o));d.value=a6(U)},P=async(U,j)=>{try{const ie={name:U,visibility:"private"};j&&j.trim()!==""&&(ie.parent_id=j);const ue=await o.deps.httpClient.post(s6(o),ie),Xe=n6(ue);return Xe===null?ss("Album creation response was invalid."):(d.value=[Xe,...d.value.filter(be=>be.id!==Xe.id)],await _({scope:"album",albumId:Xe.id,albumName:Xe.name},"inline-album-created"),Xe)}catch(ie){const ue={code:"album_create_failed",message:ie instanceof Error?ie.message:"Album creation failed.",retriable:!0,cause:ie};return m.value=ue,ue}},D=async U=>{if(!o.enableUpload){m.value=ss("Uploads are not enabled for this picker.");return}if(n!=="delegate"){if(!o.deps.uploadAdapter){m.value=ss("Uploads require a configured upload adapter.");return}await g.addFiles(U)}},z=()=>{var ie;if(s.length>0&&c.value.find(Xe=>Xe.media!==null&&!c6(Xe.media,s))){const be={code:"selection_invalid",message:`Selected media is not allowed here. Choose one of: ${s.join(", ")}.`,retriable:!0};return m.value=be,be}const U=((ie=o.validateSelection)==null?void 0:ie.call(o,c.value))??null;if(U!==null){const ue={code:"selection_invalid",message:U,retriable:!0};return m.value=ue,ue}if(c.value.filter(ue=>ue.status==="ready"&&ue.media!==null).length===0){const ue={code:"selection_invalid",message:"Select at least one available media item.",retriable:!0};return m.value=ue,ue}return{orderedIds:k.value,items:[...c.value],view:i.value,filters:l.value,dirty:!0,sessionId:p.sessionId}},M=U=>{const j=v.items.value.findIndex(ie=>ie.uuid===U.uuid);u.value=j>=0?j:null},Z=()=>{u.value=null},O=()=>{u.value===null||u.value<=0||(u.value-=1)},K=()=>{u.value===null||u.value>=v.items.value.length-1||(u.value+=1)},de=U=>{c.value=c.value.filter(j=>j.id!==U),R()},Ve=async()=>{await v.refresh()},ce=async U=>{l.value={...l.value,...U&&U.trim()!==""?{query:U.trim()}:{}},(!U||U.trim()==="")&&delete l.value.query,await v.loadInitial(),R()},le=async()=>{await _({scope:"library"},"permission-unavailable")};return{view:i,filters:l,albums:d,selectedItems:c,orderedIds:k,queryItems:v.items,cursor:v.cursor,hasMore:v.hasMore,loading:v.loading,loadingMore:v.loadingMore,permissionDenied:v.permissionDenied,error:m,uploadQueue:g.uploadsArray,isUploading:b,previewIndex:u,previewItem:y,initialize:B,refresh:Ve,loadMore:v.loadMore,setQuery:ce,setView:_,toggleSelection:T,removeSelected:de,confirmSelection:z,openPreview:M,closePreview:Z,showPreviousPreview:O,showNextPreview:K,loadAlbums:A,createAlbum:P,addUploadFiles:D,goToLibrary:le,sessionId:p.sessionId}}const u6=["data-testid"],m6={class:"mlp-location-bar"},p6={class:"mlp-location-bar__left"},f6={class:"mlp-location-bar__label"},h6={class:"mlp-tabs","data-testid":"media-picker-tabs"},v6={key:0,class:"mlp-search-row"},g6=["placeholder"],b6={key:2,class:"mlp-overlay-panel"},y6={key:0,class:"mlp-error","data-testid":"media-picker-error"},w6={key:5,class:"mlp-bottom-bar"},k6={key:0,class:"mlp-bottom-bar__selection"},_6={class:"mlp-bottom-bar__count"},E6={class:"mlp-bottom-bar__thumbs"},S6=["src","alt"],C6={key:1,class:"mlp-bottom-bar__thumb-placeholder"},x6=["aria-label","onClick"],V6={class:"mlp-bottom-bar__actions"},N6=e.defineComponent({__name:"MediaLibraryPicker",props:{deps:{},mode:{default:"picker-multi"},capabilities:{default:()=>({})},itemFilter:{},modelValue:{default:()=>[]},defaultSelectedIds:{default:()=>[]},selectionMode:{default:"multiple"},maxSelection:{},preserveSelectionOnViewChange:{type:Boolean,default:!0},initialView:{default:()=>({scope:"library"})},initialFilters:{default:()=>({sort:"newest"})},enableUpload:{type:Boolean,default:!1},uploadBehavior:{default:"adapter"},enablePreview:{type:Boolean,default:!0},enableAlbumCreation:{type:Boolean,default:!1},allowedMediaKinds:{},accept:{},validateSelection:{},uploadTarget:{},autoSelectUploaded:{type:Boolean,default:!1},createAlbumDefaultVisibility:{default:"private"},sessionPolicy:{},labels:{default:()=>({})},showFooter:{type:Boolean,default:!0},testIdPrefix:{default:"media-picker"},telemetry:{}},emits:["update:modelValue","confirm","cancel","selection-change","select","view-change","error","metric","request-upload-files"],setup(o,{expose:a,emit:t}){const n=o,i=t,r=e.computed(()=>{var C,U,j,ie,ue,Xe,be,Ee,ye,xe,Ce,Re,ze,rt,at,Dt,ht,St,ut,lt,Ct,Se,J,ne,De,fe,Ae,Ye,st,Bt,Nt,Lt,Pt,zt,Ot,jt,oa,Q,ge;return{title:((C=n.labels)==null?void 0:C.title)??"Media library",searchPlaceholder:((U=n.labels)==null?void 0:U.searchPlaceholder)??"Search your media",viewLibrary:((j=n.labels)==null?void 0:j.viewLibrary)??"Library",browseAlbums:((ie=n.labels)==null?void 0:ie.browseAlbums)??"Albums",createAlbum:((ue=n.labels)==null?void 0:ue.createAlbum)??"Create album",createAlbumNameLabel:((Xe=n.labels)==null?void 0:Xe.createAlbumNameLabel)??"Album name",emptyLibrary:((be=n.labels)==null?void 0:be.emptyLibrary)??"No media found in your library.",emptyAlbum:((Ee=n.labels)==null?void 0:Ee.emptyAlbum)??"No media found in this album.",networkError:((ye=n.labels)==null?void 0:ye.networkError)??"Unable to load media right now.",retry:((xe=n.labels)==null?void 0:xe.retry)??"Retry",selectedCount:((Ce=n.labels)==null?void 0:Ce.selectedCount)??(me=>`${me} selected`),confirmAction:((Re=n.labels)==null?void 0:Re.confirmAction)??"Attach selected",cancel:((ze=n.labels)==null?void 0:ze.cancel)??"Cancel",dismiss:((rt=n.labels)==null?void 0:rt.dismiss)??"Remove",uploadLabel:((at=n.labels)==null?void 0:at.uploadLabel)??"Upload",albumUnavailableTitle:((Dt=n.labels)==null?void 0:Dt.albumUnavailableTitle)??"Album unavailable",albumUnavailableBody:((ht=n.labels)==null?void 0:ht.albumUnavailableBody)??"You no longer have access to this album.",goToLibrary:((St=n.labels)==null?void 0:St.goToLibrary)??"Go to library",allMediaTab:((ut=n.labels)==null?void 0:ut.allMediaTab)??"All Media",loadingMedia:((lt=n.labels)==null?void 0:lt.loadingMedia)??"Loading media…",loadMore:((Ct=n.labels)==null?void 0:Ct.loadMore)??"Load more",loadingMore:((Se=n.labels)==null?void 0:Se.loadingMore)??"Loading…",uploadDropzone:((J=n.labels)==null?void 0:J.uploadDropzone)??"Drop files here or browse",uploadDropzoneHelper:((ne=n.labels)==null?void 0:ne.uploadDropzoneHelper)??"",uploadDone:((De=n.labels)==null?void 0:De.uploadDone)??"Done",uploadDoneAria:((fe=n.labels)==null?void 0:fe.uploadDoneAria)??"Close upload panel",uploadFileInputLabel:((Ae=n.labels)==null?void 0:Ae.uploadFileInputLabel)??"Choose media files",previewClose:((Ye=n.labels)==null?void 0:Ye.previewClose)??"Close preview",previewPrevious:((st=n.labels)==null?void 0:st.previewPrevious)??"Previous media",previewNext:((Bt=n.labels)==null?void 0:Bt.previewNext)??"Next media",previewSelect:((Nt=n.labels)==null?void 0:Nt.previewSelect)??"Select media",previewDeselect:((Lt=n.labels)==null?void 0:Lt.previewDeselect)??"Deselect media",selectAction:((Pt=n.labels)==null?void 0:Pt.selectAction)??"Select",allMedia:((zt=n.labels)==null?void 0:zt.allMedia)??((Ot=n.labels)==null?void 0:Ot.allMediaTab)??"All media",unfiled:((jt=n.labels)==null?void 0:jt.unfiled)??"Unfiled",pageTitle:((oa=n.labels)==null?void 0:oa.pageTitle)??((Q=n.labels)==null?void 0:Q.title)??"Media library",albumLabel:((ge=n.labels)==null?void 0:ge.albumLabel)??"Album"}}),l=e.computed(()=>n.mode),s=e.computed(()=>l.value==="picker-single"?"single":n.selectionMode),d=e.computed(()=>n.showFooter===!0&&l.value!=="picker-single"),c=e.computed(()=>n.enablePreview===!0&&l.value!=="picker-single"),u={deps:n.deps,selectionMode:s.value,initialView:n.initialView,initialFilters:n.initialFilters,...n.maxSelection!==void 0?{maxSelection:n.maxSelection}:{},...n.modelValue.length>0||n.defaultSelectedIds.length>0?{defaultSelectedIds:n.modelValue.length>0?n.modelValue:n.defaultSelectedIds}:{},...n.sessionPolicy?{sessionPolicy:n.sessionPolicy}:{},...n.enableUpload?{enableUpload:!0}:{},uploadBehavior:n.uploadBehavior,...n.uploadTarget?{uploadTarget:n.uploadTarget}:{},...n.autoSelectUploaded?{autoSelectUploaded:!0}:{},...n.validateSelection?{validateSelection:n.validateSelection}:{},...n.allowedMediaKinds&&n.allowedMediaKinds.length>0?{allowedMediaKinds:n.allowedMediaKinds}:{},preserveSelectionOnViewChange:n.preserveSelectionOnViewChange,telemetry:C=>{var U;(U=n.telemetry)==null||U.call(n,C),i("metric",C)}},m=Vf(u),p=e.ref(n.initialFilters.query??""),f=e.ref(n.enableUpload?"upload":"media"),h=e.ref(!1),v=JSON.stringify(n.modelValue.length>0?n.modelValue:n.defaultSelectedIds);let k=null;const y=e.computed(()=>JSON.stringify(m.orderedIds.value)!==v),w=e.computed(()=>m.view.value.scope==="album"?r.value.emptyAlbum:r.value.emptyLibrary),g=e.computed(()=>r.value.selectedCount(m.selectedItems.value.length));function b(C){return typeof C=="boolean"?{allowed:C}:typeof C=="string"?{allowed:!1,reason:C}:C}function R(C){return n.itemFilter?b(n.itemFilter(C)):{allowed:!0}}const N=e.computed(()=>n.itemFilter?m.queryItems.value.filter(C=>R(C).allowed):m.queryItems.value),I=e.computed(()=>m.view.value.scope==="album"?m.view.value.albumName??"Album":r.value.viewLibrary),x=e.computed(()=>m.view.value.scope==="album"),T=()=>{k!==null&&(window.clearTimeout(k),k=null)},$=()=>{i("update:modelValue",[...m.orderedIds.value]),i("selection-change",{orderedIds:[...m.orderedIds.value],items:[...m.selectedItems.value],dirty:y.value})},S=C=>{C!==null&&i("error",C)},B=C=>typeof C.code=="string",_=C=>typeof C=="object"&&C!==null&&"code"in C&&typeof C.code=="string",A=()=>{const C=m.confirmSelection();if(B(C)){S(C);return}i("confirm",{...C,dirty:y.value})},P=C=>{const U=R(C);if(!U.allowed){S({code:"selection_invalid",message:U.reason??"This media item is not available for this picker.",retriable:!0});return}m.toggleSelection(C),l.value==="picker-single"&&i("select",C)},D=(C="user")=>{i("cancel",{dirty:y.value,reason:C,sessionId:m.sessionId})},z=async()=>{f.value="albums",await m.loadAlbums()},M=async()=>{await m.goToLibrary(),f.value="albums",await m.loadAlbums()},Z=C=>{m.setView({scope:"album",albumId:C.id,albumName:C.name}),f.value="media"},O=async(C,U)=>{const j=m.view.value,ie=await m.createAlbum(C,U);if(_(ie)){S(ie);return}h.value=!1,f.value="media",i("view-change",{from:j,to:{scope:"album",albumId:ie.id,albumName:ie.name},reason:"inline-album-created",restoredFromSession:!1})},K=async C=>{if(n.uploadBehavior==="delegate"){i("request-upload-files",{files:[...C],view:m.view.value,filters:m.filters.value,sessionId:m.sessionId});return}await m.addUploadFiles(C)};function de(C){var U;return C?C.thumbnail_url??((U=C.conversion_urls)==null?void 0:U.thumb)??C.preview_url??C.original_url??C.url??null:null}function Ve(C){return C!=null&&C.mime_type?C.mime_type.startsWith("image/"):!1}e.watch(()=>p.value,C=>{T(),k=window.setTimeout(()=>{m.setQuery(C)},250)}),e.watch(()=>m.selectedItems.value,()=>{$()},{deep:!0}),e.watch(()=>m.error.value,C=>{S(C)}),e.watch(()=>n.enableUpload,C=>{!C&&f.value==="upload"&&(f.value="media")}),e.onMounted(()=>{m.initialize()}),e.onBeforeUnmount(()=>{T()}),a({refresh:m.refresh});function ce(C){if(C==="albums"){z();return}if(C==="upload"&&!n.enableUpload){f.value="media";return}f.value=C}const le=e.computed(()=>({activeTab:f.value,setActiveTab:ce,enableUpload:n.enableUpload,labels:{uploadLabel:r.value.uploadLabel,allMediaTab:r.value.allMediaTab,browseAlbums:r.value.browseAlbums}})),W=e.computed(()=>({query:p.value,setQuery:C=>{p.value=C},placeholder:r.value.searchPlaceholder}));return(C,U)=>(e.openBlock(),e.createElementBlock("section",{class:"media-library-picker","data-testid":C.testIdPrefix},[e.createElementVNode("header",m6,[e.createElementVNode("div",p6,[x.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mlp-location-bar__back","aria-label":"Back to library","data-testid":"btn-media-picker-back",onClick:M},[...U[8]||(U[8]=[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"15 18 9 12 15 6"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("span",f6,e.toDisplayString(I.value),1)])]),e.renderSlot(C.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(le.value)),()=>[e.createElementVNode("nav",h6,[C.enableUpload?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="upload"}]),"data-testid":"tab-media-picker-upload",onClick:U[0]||(U[0]=j=>f.value="upload")},e.toDisplayString(r.value.uploadLabel),3)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="media"}]),"data-testid":"tab-media-picker-all",onClick:U[1]||(U[1]=j=>f.value="media")},e.toDisplayString(r.value.allMediaTab),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="albums"}]),"data-testid":"tab-media-picker-albums",onClick:z},e.toDisplayString(r.value.browseAlbums),3)])],!0),f.value==="media"||f.value==="albums"?(e.openBlock(),e.createElementBlock("div",v6,[e.renderSlot(C.$slots,"search",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[U[9]||(U[9]=e.createElementVNode("svg",{class:"mlp-search-row__icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":U[2]||(U[2]=j=>p.value=j),class:"mlp-search-row__input",type:"search",placeholder:r.value.searchPlaceholder,"data-testid":"input-media-picker-search"},null,8,g6),[[e.vModelText,p.value]])],!0)])):e.createCommentVNode("",!0),C.enableUpload&&f.value==="upload"?(e.openBlock(),e.createBlock(vf,{key:1,open:!0,queue:e.unref(m).uploadQueue.value,accept:C.accept,"upload-label":r.value.uploadLabel,"dropzone-label":r.value.uploadDropzone,"dropzone-helper-text":r.value.uploadDropzoneHelper,"file-input-label":r.value.uploadFileInputLabel,"close-button-label":r.value.uploadDone,"close-button-aria-label":r.value.uploadDoneAria,onClose:U[3]||(U[3]=j=>f.value="media"),onFilesSelected:K},null,8,["queue","accept","upload-label","dropzone-label","dropzone-helper-text","file-input-label","close-button-label","close-button-aria-label"])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",b6,[e.createVNode(Id,{open:h.value,"name-label":r.value.createAlbumNameLabel,albums:e.unref(m).albums.value,onCancel:U[4]||(U[4]=j=>h.value=!1),onCreate:O},null,8,["open","name-label","albums"])])):e.createCommentVNode("",!0),e.unref(m).permissionDenied.value&&e.unref(m).view.value.scope==="album"?(e.openBlock(),e.createBlock(sf,{key:3,title:r.value.albumUnavailableTitle,body:r.value.albumUnavailableBody,"action-label":r.value.goToLibrary,onGoToLibrary:e.unref(m).goToLibrary},null,8,["title","body","action-label","onGoToLibrary"])):e.createCommentVNode("",!0),!e.unref(m).permissionDenied.value||e.unref(m).view.value.scope!=="album"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.unref(m).error.value?(e.openBlock(),e.createElementBlock("div",y6,[e.createElementVNode("p",null,e.toDisplayString(e.unref(m).error.value.message||r.value.networkError),1),e.createElementVNode("button",{type:"button",class:"mlp-error__retry",onClick:U[5]||(U[5]=(...j)=>e.unref(m).refresh&&e.unref(m).refresh(...j))},e.toDisplayString(r.value.retry),1)])):e.createCommentVNode("",!0),f.value==="media"?(e.openBlock(),e.createBlock(bf,{key:1,items:N.value,"selected-items":e.unref(m).selectedItems.value,loading:e.unref(m).loading.value,"loading-more":e.unref(m).loadingMore.value,"has-more":e.unref(m).hasMore.value,"empty-message":w.value,"loading-message":r.value.loadingMedia,"load-more-label":r.value.loadMore,"loading-more-label":r.value.loadingMore,"test-id-prefix":`${C.testIdPrefix}-item`,onToggle:P,onPreview:e.unref(m).openPreview,onLoadMore:e.unref(m).loadMore},null,8,["items","selected-items","loading","loading-more","has-more","empty-message","loading-message","load-more-label","loading-more-label","test-id-prefix","onPreview","onLoadMore"])):f.value==="albums"?(e.openBlock(),e.createBlock(hf,{key:2,open:!0,"current-view":e.unref(m).view.value,albums:e.unref(m).albums.value,"view-library-label":r.value.viewLibrary,"browse-albums-label":r.value.browseAlbums,"create-album-label":r.value.createAlbum,"enable-album-creation":C.enableAlbumCreation,onSelectLibrary:M,onSelectAlbum:Z,onCreateAlbum:U[6]||(U[6]=j=>h.value=!0)},null,8,["current-view","albums","view-library-label","browse-albums-label","create-album-label","enable-album-creation"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("footer",w6,[e.unref(m).selectedItems.value.length>0?(e.openBlock(),e.createElementBlock("div",k6,[e.createElementVNode("span",_6,e.toDisplayString(g.value),1),e.createElementVNode("div",E6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).selectedItems.value,j=>{var ie,ue,Xe;return e.openBlock(),e.createElementBlock("div",{key:j.id,class:"mlp-bottom-bar__thumb-item"},[Ve(j.media)&&de(j.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:de(j.media),alt:((ie=j.media)==null?void 0:ie.alt_text)??((ue=j.media)==null?void 0:ue.file_name)??"Selected",class:"mlp-bottom-bar__thumb-img"},null,8,S6)):(e.openBlock(),e.createElementBlock("div",C6,[...U[10]||(U[10]=[e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])])),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__thumb-remove","aria-label":`${r.value.dismiss} ${((Xe=j.media)==null?void 0:Xe.file_name)??j.id}`,"data-testid":"btn-media-picker-remove-selected",onClick:be=>e.unref(m).removeSelected(j.id)},[...U[11]||(U[11]=[e.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round"},[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,x6)])}),128))])])):e.createCommentVNode("",!0),e.createElementVNode("div",V6,[e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__cancel","data-testid":"btn-media-picker-cancel",onClick:U[7]||(U[7]=j=>D())},e.toDisplayString(r.value.cancel),1),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__confirm","data-testid":"btn-media-picker-confirm",onClick:A},e.toDisplayString(r.value.confirmAction),1)])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(Md,{key:6,open:e.unref(m).previewItem.value!==null,media:e.unref(m).previewItem.value,"can-go-previous":e.unref(m).previewIndex.value!==null&&e.unref(m).previewIndex.value>0,"can-go-next":e.unref(m).previewIndex.value!==null&&e.unref(m).previewIndex.value<e.unref(m).queryItems.value.length-1,selected:e.unref(m).previewItem.value!==null&&e.unref(m).orderedIds.value.includes(e.unref(m).previewItem.value.uuid),"close-label":r.value.previewClose,"previous-label":r.value.previewPrevious,"next-label":r.value.previewNext,"select-label":r.value.previewSelect,"deselect-label":r.value.previewDeselect,onClose:e.unref(m).closePreview,onPrevious:e.unref(m).showPreviousPreview,onNext:e.unref(m).showNextPreview,onToggleSelect:e.unref(m).toggleSelection},null,8,["open","media","can-go-previous","can-go-next","selected","close-label","previous-label","next-label","select-label","deselect-label","onClose","onPrevious","onNext","onToggleSelect"])):e.createCommentVNode("",!0)],8,u6))}}),Nf=$e(N6,[["__scopeId","data-v-307fef12"]]),T6={key:0,class:"media-library-picker-modal","data-testid":"media-library-picker-modal"},B6={class:"media-library-picker-modal__panel"},I6=e.defineComponent({__name:"MediaLibraryPickerModal",props:{deps:{},mode:{},capabilities:{},itemFilter:{},modelValue:{},defaultSelectedIds:{},selectionMode:{},maxSelection:{},preserveSelectionOnViewChange:{type:Boolean},initialView:{},initialFilters:{},enableUpload:{type:Boolean},uploadBehavior:{},enablePreview:{type:Boolean},enableAlbumCreation:{type:Boolean},allowedMediaKinds:{},accept:{},validateSelection:{},uploadTarget:{},autoSelectUploaded:{type:Boolean},createAlbumDefaultVisibility:{},sessionPolicy:{},labels:{},showFooter:{type:Boolean},testIdPrefix:{},telemetry:{},isOpen:{type:Boolean,default:!1},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close"],setup(o,{emit:a}){const t=o,n=a,i=()=>{t.closeOnBackdrop&&n("close")};return(r,l)=>r.isOpen?(e.openBlock(),e.createElementBlock("div",T6,[e.createElementVNode("button",{type:"button",class:"media-library-picker-modal__backdrop","aria-label":"Close media picker",onClick:i}),e.createElementVNode("div",B6,[e.createVNode(Nf,e.mergeProps(t,{"onUpdate:modelValue":l[0]||(l[0]=s=>n("update:modelValue",s)),onConfirm:l[1]||(l[1]=s=>n("confirm",s)),onCancel:l[2]||(l[2]=s=>n("cancel",s))}),null,16)])])):e.createCommentVNode("",!0)}}),M6=$e(I6,[["__scopeId","data-v-a92e8703"]]),$6=["aria-label"],F6={class:"media-album-picker-modal__panel"},D6={class:"media-album-picker-modal__header"},A6={key:0,class:"media-album-picker-modal__selection","data-testid":"media-album-picker-selection"},R6={class:"media-album-picker-modal__actions"},L6=["disabled"],P6=e.defineComponent({__name:"MediaAlbumPickerModal",props:{open:{type:Boolean},selectedCount:{},labels:{default:()=>({})}},emits:["cancel","confirm","error"],setup(o,{emit:a}){const t=o,n=a,i=Nl(),r=e.ref(null),l=e.computed(()=>{var u,m,p,f,h,v,k;return{title:((u=t.labels)==null?void 0:u.title)??"Add to album",body:((m=t.labels)==null?void 0:m.body)??`Choose an album for ${t.selectedCount} selected item${t.selectedCount===1?"":"s"}.`,confirm:((p=t.labels)==null?void 0:p.confirm)??"Add",cancel:((f=t.labels)==null?void 0:f.cancel)??"Cancel",selectedAlbum:((h=t.labels)==null?void 0:h.selectedAlbum)??(y=>`Selected: ${y}`),createNew:((v=t.labels)==null?void 0:v.createNew)??"+ Create new album",createNewPrompt:((k=t.labels)==null?void 0:k.createNewPrompt)??"Name this album"}});e.watch(()=>t.open,u=>{u||(r.value=null)});function s(u){r.value=u}function d(){r.value!==null&&n("confirm",r.value.id)}async function c(){if(typeof window>"u")return;const u=window.prompt(l.value.createNewPrompt);if(u===null)return;const m=u.trim();if(m!=="")try{const p=await i.createAlbum({name:m});p!=null&&(r.value=p,n("confirm",p.id))}catch(p){n("error",p instanceof Error?p:new Error(String(p)))}}return(u,m)=>{var p;return t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-album-picker-modal","data-testid":"media-album-picker-modal",role:"dialog","aria-modal":"true","aria-label":l.value.title},[e.createElementVNode("div",F6,[e.createElementVNode("header",D6,[e.createElementVNode("h2",null,e.toDisplayString(l.value.title),1),e.createElementVNode("p",null,e.toDisplayString(l.value.body),1)]),e.createElementVNode("button",{type:"button",class:"media-album-picker-modal__create-new","data-testid":"btn-media-album-picker-create-new",onClick:m[0]||(m[0]=f=>void c())},e.toDisplayString(l.value.createNew),1),e.createVNode(Tl,{class:"media-album-picker-modal__tree","model-value":((p=r.value)==null?void 0:p.id)??null,draggable:!1,compact:!0,"data-testid":"media-album-picker-tree",onAlbumSelected:s},null,8,["model-value"]),r.value!==null?(e.openBlock(),e.createElementBlock("p",A6,e.toDisplayString(l.value.selectedAlbum(r.value.name)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",R6,[e.createElementVNode("button",{type:"button","data-testid":"btn-media-album-picker-cancel",onClick:m[1]||(m[1]=f=>n("cancel"))},e.toDisplayString(l.value.cancel),1),e.createElementVNode("button",{type:"button","data-testid":"btn-media-album-picker-confirm",disabled:r.value===null,onClick:d},e.toDisplayString(l.value.confirm),9,L6)])])],8,$6)):e.createCommentVNode("",!0)}}}),Tf=$e(P6,[["__scopeId","data-v-acdcde4b"]]),U6={key:0,class:"media-bulk-action-bar","data-testid":"media-bulk-action-bar","aria-live":"polite"},O6={class:"media-bulk-action-bar__actions"},z6=["disabled"],j6=e.defineComponent({__name:"MediaBulkActionBar",props:{selectedCount:{},crossPageCount:{default:0},overCap:{type:Boolean,default:!1},totalMatching:{default:null},scope:{},sourceAlbum:{default:null},capabilities:{default:()=>({})},labels:{default:()=>({})}},emits:["bulk-add-to-album","bulk-move-between-albums","bulk-remove-from-current-album","bulk-move-to-trash","bulk-create-post","bulk-create-gallery","bulk-restore","bulk-purge","bulk-download","clear","inspect"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var s,d,c,u,m,p,f,h,v,k,y,w,g,b;return{selectedCount:((s=t.labels)==null?void 0:s.selectedCount)??(R=>`${R} selected`),selectedAcrossPages:((d=t.labels)==null?void 0:d.selectedAcrossPages)??((R,N)=>`${R} selected, including ${N} not on this page`),cappedSelection:((c=t.labels)==null?void 0:c.cappedSelection)??((R,N)=>`Selected first ${R} of ${N??"many"} matching items`),addToAlbum:((u=t.labels)==null?void 0:u.addToAlbum)??"Add to album",moveBetweenAlbums:((m=t.labels)==null?void 0:m.moveBetweenAlbums)??(R=>`Move from ${R} to...`),removeFromCurrentAlbum:((p=t.labels)==null?void 0:p.removeFromCurrentAlbum)??"Remove from this album",moveToTrash:((f=t.labels)==null?void 0:f.moveToTrash)??"Move to trash",createPost:((h=t.labels)==null?void 0:h.createPost)??"Create post",createGallery:((v=t.labels)==null?void 0:v.createGallery)??"Create gallery",restore:((k=t.labels)==null?void 0:k.restore)??"Restore",purge:((y=t.labels)==null?void 0:y.purge)??"Delete forever",download:((w=t.labels)==null?void 0:w.download)??"Download",inspect:((g=t.labels)==null?void 0:g.inspect)??"Inspect",clear:((b=t.labels)==null?void 0:b.clear)??"Clear"}}),r=e.computed(()=>t.overCap?i.value.cappedSelection(t.selectedCount,t.totalMatching):t.crossPageCount>0?i.value.selectedAcrossPages(t.selectedCount,t.crossPageCount):i.value.selectedCount(t.selectedCount)),l=e.computed(()=>t.sourceAlbum?i.value.moveBetweenAlbums(t.sourceAlbum.name):i.value.addToAlbum);return(s,d)=>(e.openBlock(),e.createBlock(e.Transition,{name:"media-bulk-action-bar"},{default:e.withCtx(()=>[t.selectedCount>0?(e.openBlock(),e.createElementBlock("aside",U6,[e.createElementVNode("button",{type:"button",class:"media-bulk-action-bar__count","data-testid":"media-bulk-action-count",onClick:d[0]||(d[0]=c=>n("inspect"))},e.toDisplayString(r.value),1),e.createElementVNode("div",O6,[t.scope!=="trash"&&t.capabilities.allowAddToAlbum===!0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","data-testid":"btn-media-bulk-add-album",onClick:d[1]||(d[1]=c=>t.scope==="album"?n("bulk-move-between-albums"):n("bulk-add-to-album"))},e.toDisplayString(t.scope==="album"?l.value:i.value.addToAlbum),1)):e.createCommentVNode("",!0),t.scope!=="trash"&&t.capabilities.allowCreatePost===!0?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button","data-testid":"btn-media-bulk-create-post",onClick:d[2]||(d[2]=c=>n("bulk-create-post"))},e.toDisplayString(i.value.createPost),1)):e.createCommentVNode("",!0),t.scope!=="trash"&&t.capabilities.allowCreateGallery===!0?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button","data-testid":"btn-media-bulk-create-gallery",onClick:d[3]||(d[3]=c=>n("bulk-create-gallery"))},e.toDisplayString(i.value.createGallery),1)):e.createCommentVNode("",!0),t.scope==="album"?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button","data-testid":"btn-media-bulk-remove-current-album",onClick:d[4]||(d[4]=c=>n("bulk-remove-from-current-album"))},e.toDisplayString(i.value.removeFromCurrentAlbum),1)):e.createCommentVNode("",!0),t.scope!=="trash"?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button","data-testid":"btn-media-bulk-trash",onClick:d[5]||(d[5]=c=>n("bulk-move-to-trash"))},e.toDisplayString(i.value.moveToTrash),1)):e.createCommentVNode("",!0),t.scope==="trash"?(e.openBlock(),e.createElementBlock("button",{key:5,type:"button","data-testid":"btn-media-bulk-restore",onClick:d[6]||(d[6]=c=>n("bulk-restore"))},e.toDisplayString(i.value.restore),1)):e.createCommentVNode("",!0),t.scope==="trash"?(e.openBlock(),e.createElementBlock("button",{key:6,type:"button","data-testid":"btn-media-bulk-purge",onClick:d[7]||(d[7]=c=>n("bulk-purge"))},e.toDisplayString(i.value.purge),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button","data-testid":"btn-media-bulk-download",disabled:t.capabilities.allowDownloadZip!==!0,onClick:d[8]||(d[8]=c=>n("bulk-download"))},e.toDisplayString(i.value.download),9,z6),e.createElementVNode("button",{type:"button","data-testid":"btn-media-bulk-clear",onClick:d[9]||(d[9]=c=>n("clear"))},e.toDisplayString(i.value.clear),1)])])):e.createCommentVNode("",!0)]),_:1}))}}),Rd=$e(j6,[["__scopeId","data-v-024ca440"]]),W6={class:"media-library-toolbar__group"},H6=["aria-expanded"],Z6={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-sort-menu"},G6={class:"media-library-toolbar__group"},X6=["aria-expanded"],K6={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-jump-menu"},J6={key:0,class:"media-library-toolbar__menu-status"},q6={key:1,class:"media-library-toolbar__menu-status"},Y6=["data-testid","onClick"],Q6={"aria-hidden":"true"},eD={class:"media-library-toolbar__group"},tD=["aria-expanded"],aD={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-density-menu"},nD=e.defineComponent({__name:"MediaLibraryToolbar",props:{sort:{default:"newest"},density:{default:"comfortable"},hasDateFilter:{type:Boolean,default:!1},httpClient:{},timelineEndpoint:{default:"/v1/media/library/timeline"},labels:{default:()=>({})}},emits:["update:sort","update:density","jump-to","jump-to-all","upload-files"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var T,$,S,B,_,A,P,D,z,M,Z,O;return{sort:((T=t.labels)==null?void 0:T.sort)??"Sort",sortNewest:(($=t.labels)==null?void 0:$.sortNewest)??"Newest",sortOldest:((S=t.labels)==null?void 0:S.sortOldest)??"Oldest",sortName:((B=t.labels)==null?void 0:B.sortName)??"Name A–Z",sortLargest:((_=t.labels)==null?void 0:_.sortLargest)??"Largest first",jumpTo:((A=t.labels)==null?void 0:A.jumpTo)??"Jump to",jumpToAll:((P=t.labels)==null?void 0:P.jumpToAll)??"All time",jumpToEmpty:((D=t.labels)==null?void 0:D.jumpToEmpty)??"No history yet",density:((z=t.labels)==null?void 0:z.density)??"Density",densityComfortable:((M=t.labels)==null?void 0:M.densityComfortable)??"Comfortable",densityCompact:((Z=t.labels)==null?void 0:Z.densityCompact)??"Compact",upload:((O=t.labels)==null?void 0:O.upload)??"Upload"}}),r=e.ref(null);function l(){var T;(T=r.value)==null||T.click()}function s(T){const $=T.target;!($ instanceof HTMLInputElement)||$.files===null||$.files.length===0||(n("upload-files",Array.from($.files)),$.value="")}const d=e.ref(null),c=e.ref(null);function u(T){d.value=d.value===T?null:T}function m(){d.value=null}function p(T){if(d.value===null)return;const $=c.value;$!==null&&(T.target instanceof Node&&$.contains(T.target)||m())}function f(T){d.value!==null&&T.key==="Escape"&&m()}const h=e.computed(()=>{switch(t.sort){case"oldest":return i.value.sortOldest;case"name":return i.value.sortName;case"largest":return i.value.sortLargest;default:return i.value.sortNewest}}),v=e.computed(()=>t.density==="compact"?i.value.densityCompact:i.value.densityComfortable);function k(T){m(),n("update:sort",T)}function y(T){m(),n("update:density",T)}const w=e.ref([]),g=e.ref(!1),b=e.ref(!1);async function R(){if(!(g.value||b.value||t.httpClient===void 0)){b.value=!0;try{const T=await t.httpClient.get(t.timelineEndpoint),$=T.data,S=($==null?void 0:$.buckets)??T.buckets??[];w.value=Array.isArray(S)?S:[],g.value=!0}finally{b.value=!1}}}async function N(){u("jump"),d.value==="jump"&&await R()}function I(T){m(),n("jump-to",T)}function x(){m(),n("jump-to-all")}return e.onMounted(()=>{typeof window<"u"&&(document.addEventListener("pointerdown",p,!0),document.addEventListener("keydown",f))}),e.onBeforeUnmount(()=>{typeof window<"u"&&(document.removeEventListener("pointerdown",p,!0),document.removeEventListener("keydown",f))}),(T,$)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"toolbarRoot",ref:c,class:"media-library-toolbar","data-testid":"media-library-toolbar"},[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__upload","data-testid":"btn-media-toolbar-upload",onClick:l}," ⤴ "+e.toDisplayString(i.value.upload),1),e.createElementVNode("input",{ref_key:"fileInputRef",ref:r,type:"file",multiple:"",accept:"image/*,video/*","data-testid":"input-media-toolbar-upload",class:"media-library-toolbar__file-input",onChange:s},null,544),e.createElementVNode("div",W6,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-sort","aria-expanded":d.value==="sort"?"true":"false",onClick:$[0]||($[0]=S=>u("sort"))},e.toDisplayString(i.value.sort)+": "+e.toDisplayString(h.value),9,H6),d.value==="sort"?(e.openBlock(),e.createElementBlock("div",Z6,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-newest",onClick:$[1]||($[1]=S=>k("newest"))},e.toDisplayString(i.value.sortNewest),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-oldest",onClick:$[2]||($[2]=S=>k("oldest"))},e.toDisplayString(i.value.sortOldest),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-name",onClick:$[3]||($[3]=S=>k("name"))},e.toDisplayString(i.value.sortName),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-largest",onClick:$[4]||($[4]=S=>k("largest"))},e.toDisplayString(i.value.sortLargest),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",G6,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-jump-to","aria-expanded":d.value==="jump"?"true":"false",onClick:$[5]||($[5]=S=>void N())},e.toDisplayString(i.value.jumpTo),9,X6),d.value==="jump"?(e.openBlock(),e.createElementBlock("div",K6,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-jump-all",onClick:x},e.toDisplayString(i.value.jumpToAll),1),b.value?(e.openBlock(),e.createElementBlock("p",J6,"Loading…")):g.value&&w.value.length===0?(e.openBlock(),e.createElementBlock("p",q6,e.toDisplayString(i.value.jumpToEmpty),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,S=>(e.openBlock(),e.createElementBlock("button",{key:S.starts_at,type:"button",role:"menuitem","data-testid":`opt-jump-${S.starts_at}`,onClick:B=>I(S)},[e.createTextVNode(e.toDisplayString(S.label)+" ",1),e.createElementVNode("span",Q6,"("+e.toDisplayString(S.count)+")",1)],8,Y6))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",eD,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-density","aria-expanded":d.value==="density"?"true":"false",onClick:$[6]||($[6]=S=>u("density"))},e.toDisplayString(i.value.density)+": "+e.toDisplayString(v.value),9,tD),d.value==="density"?(e.openBlock(),e.createElementBlock("div",aD,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-density-comfortable",onClick:$[7]||($[7]=S=>y("comfortable"))},e.toDisplayString(i.value.densityComfortable),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-density-compact",onClick:$[8]||($[8]=S=>y("compact"))},e.toDisplayString(i.value.densityCompact),1)])):e.createCommentVNode("",!0)])],512))}}),Bf=$e(nD,[["__scopeId","data-v-564647c0"]]),oD={class:"media-shortcut-help__panel"},iD={class:"media-shortcut-help__header"},rD=e.defineComponent({__name:"MediaShortcutHelp",props:{open:{type:Boolean},shortcuts:{default:()=>[{key:"j / k",label:"Move focus",group:"Navigation"},{key:"x",label:"Toggle selection",group:"Selection"},{key:"?",label:"Open shortcuts",group:"Help"},{key:"Esc",label:"Close panel",group:"Navigation"}]},title:{default:"Shortcuts"},closeLabel:{default:"Close"}},emits:["close"],setup(o,{emit:a}){const t=o,n=a;function i(){const r=new Map;for(const l of t.shortcuts)r.set(l.group,[...r.get(l.group)??[],l]);return Array.from(r.entries()).map(([l,s])=>({group:l,shortcuts:s}))}return(r,l)=>t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-shortcut-help",role:"dialog","aria-modal":"true","data-testid":"media-shortcut-help",onKeydown:l[1]||(l[1]=e.withKeys(s=>n("close"),["escape"]))},[e.createElementVNode("div",oD,[e.createElementVNode("header",iD,[e.createElementVNode("h3",null,e.toDisplayString(t.title),1),e.createElementVNode("button",{type:"button","data-testid":"btn-media-shortcut-close",onClick:l[0]||(l[0]=s=>n("close"))},e.toDisplayString(t.closeLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(),s=>(e.openBlock(),e.createElementBlock("section",{key:s.group,class:"media-shortcut-help__group"},[e.createElementVNode("h4",null,e.toDisplayString(s.group),1),e.createElementVNode("dl",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.shortcuts,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${s.group}-${d.key}`},[e.createElementVNode("dt",null,[e.createElementVNode("kbd",null,e.toDisplayString(d.key),1)]),e.createElementVNode("dd",null,e.toDisplayString(d.label),1)],64))),128))])]))),128))])],32)):e.createCommentVNode("",!0)}}),If=$e(rD,[["__scopeId","data-v-abcdccb6"]]),lD="/v1/media/upload";function Mf(o){const a=o.endpoint??lD,t=e.ref([]),n=e.computed(()=>t.value.some(u=>u.status==="uploading"||u.status==="queued"));function i(){return`upload-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function r(u){if(u.type.startsWith("image/")&&typeof URL<"u")try{return URL.createObjectURL(u)}catch{return}}function l(u){t.value=t.value.filter(m=>m.cid!==u)}async function s(u){const m=i(),p=r(u),f={cid:m,fileName:u.name,size:u.size,status:"uploading",progress:0,...p!==void 0?{previewUrl:p}:{}};t.value=[f,...t.value];const h=new FormData;h.append("file",u);try{const v=await o.httpClient.post(a,h),k=v.data??v;return t.value=t.value.map(y=>y.cid===m?{...y,status:"success",progress:100}:y),typeof o.onMediaUploaded=="function"&&k&&typeof k.uuid=="string"&&await o.onMediaUploaded(k),setTimeout(()=>l(m),350),t.value.find(y=>y.cid===m)??f}catch(v){const k=v instanceof Error?v.message:"Upload failed";return t.value=t.value.map(y=>y.cid===m?{...y,status:"error",errorMessage:k}:y),t.value.find(y=>y.cid===m)??f}finally{if(p!==void 0&&typeof URL<"u")try{URL.revokeObjectURL(p)}catch{}}}async function d(u){const m=Array.from(u);return Promise.all(m.map(p=>s(p)))}function c(){t.value=[]}return{uploads:t,hasActiveUploads:n,uploadFile:s,uploadFiles:d,dismiss:l,clear:c}}const sD={class:"media-usage-list","data-testid":"media-usage-list"},dD={class:"media-usage-list__title"},cD={key:0,class:"media-usage-list__empty","data-testid":"media-usage-loading"},uD={key:1,class:"media-usage-list__empty","data-testid":"media-usage-empty"},mD={key:2,class:"media-usage-list__items"},pD=["data-testid"],fD=["href"],hD={key:1},vD={key:2,class:"media-usage-list__count"},gD=e.defineComponent({__name:"MediaUsageList",props:{media:{},httpClient:{},items:{default:()=>[]},title:{default:"Used in"},emptyLabel:{default:"No visible usages"}},setup(o){const a=o,t=e.ref(!1),n=e.ref([]),i=e.computed(()=>a.items.length>0?a.items:n.value);function r(s){var m;if(typeof s!="object"||s===null||!("data"in s))return[];const d=s.data;if(!Array.isArray(d))return[];const c=d[0];return(Array.isArray((m=c==null?void 0:c.report)==null?void 0:m.blocks)?c.report.blocks:[]).map((p,f)=>({id:`${p.type??"usage"}-${f}`,label:p.context??p.type??"Usage"}))}async function l(){if(!a.httpClient||a.media===null){n.value=[];return}t.value=!0;try{const s=await a.httpClient.post("/v1/media/deletion/check",{uuids:[a.media.uuid]});n.value=r(s)}finally{t.value=!1}}return e.watch(()=>{var s;return(s=a.media)==null?void 0:s.uuid},()=>{l()}),e.onMounted(()=>{l()}),(s,d)=>(e.openBlock(),e.createElementBlock("section",sD,[e.createElementVNode("h4",dD,e.toDisplayString(a.title),1),t.value?(e.openBlock(),e.createElementBlock("p",cD," Loading... ")):i.value.length===0?(e.openBlock(),e.createElementBlock("p",uD,e.toDisplayString(a.emptyLabel),1)):(e.openBlock(),e.createElementBlock("ul",mD,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,c=>(e.openBlock(),e.createElementBlock("li",{key:c.id,class:"media-usage-list__item","data-testid":`media-usage-${c.id}`},[c.href?(e.openBlock(),e.createElementBlock("a",{key:0,href:c.href},e.toDisplayString(c.label),9,fD)):(e.openBlock(),e.createElementBlock("span",hD,e.toDisplayString(c.label),1)),typeof c.count=="number"?(e.openBlock(),e.createElementBlock("span",vD,e.toDisplayString(c.count),1)):e.createCommentVNode("",!0)],8,pD))),128))]))]))}}),$f=$e(gD,[["__scopeId","data-v-ef6f09cf"]]),bD={class:"media-variant-strip","data-testid":"media-variant-strip"},yD={class:"media-variant-strip__title"},wD={key:0,class:"media-variant-strip__empty"},kD={key:1,class:"media-variant-strip__empty"},_D={key:2,class:"media-variant-strip__list"},ED=["data-testid"],SD=["src","alt"],CD={key:1,class:"media-variant-strip__placeholder"},xD={class:"media-variant-strip__label"},VD=e.defineComponent({__name:"MediaVariantStrip",props:{media:{},httpClient:{},variants:{default:()=>[]},title:{default:"Variants"}},setup(o){const a=o,t=e.ref(!1),n=e.ref([]),i=e.computed(()=>{const c=a.variants.length>0?a.variants:n.value;return a.media?[a.media,...c.filter(u=>{var m;return u.uuid!==((m=a.media)==null?void 0:m.uuid)})]:c});function r(c){if(typeof c!="object"||c===null||!("data"in c))return[];const u=c.data;return Array.isArray(u)?u.filter(m=>typeof m=="object"&&m!==null&&typeof m.uuid=="string"&&typeof m.file_name=="string"):[]}async function l(){if(!a.httpClient||a.media===null){n.value=[];return}t.value=!0;try{const c=await a.httpClient.get(`/v1/media/${encodeURIComponent(a.media.uuid)}/variants`);n.value=r(c)}finally{t.value=!1}}function s(c){return c.thumbnail_url??c.preview_url??c.original_url??null}function d(c,u){if(c===0)return"Current";if(c===1)return"Original";const m=new Date(u.created_at);if(Number.isNaN(m.getTime()))return"Edited";const p=Math.max(0,Math.round((Date.now()-m.getTime())/864e5));return p===0?"Edited today":p===1?"Edited 1 day ago":`Edited ${p} days ago`}return e.watch(()=>{var c;return(c=a.media)==null?void 0:c.uuid},()=>{l()}),e.onMounted(()=>{l()}),(c,u)=>(e.openBlock(),e.createElementBlock("section",bD,[e.createElementVNode("h4",yD,e.toDisplayString(a.title),1),t.value?(e.openBlock(),e.createElementBlock("p",wD,"Loading...")):i.value.length<=1?(e.openBlock(),e.createElementBlock("p",kD," No edits ")):(e.openBlock(),e.createElementBlock("ol",_D,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(m,p)=>(e.openBlock(),e.createElementBlock("li",{key:m.uuid,class:"media-variant-strip__item","data-testid":`media-variant-${m.uuid}`},[s(m)?(e.openBlock(),e.createElementBlock("img",{key:0,src:s(m)??"",alt:m.alt_text??m.file_name},null,8,SD)):(e.openBlock(),e.createElementBlock("span",CD,e.toDisplayString(m.file_name),1)),e.createElementVNode("span",xD,e.toDisplayString(d(p,m)),1)],8,ED))),128))]))]))}}),Ff=$e(VD,[["__scopeId","data-v-adb529cb"]]),ND=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/ig,Lu=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i;function Pu(o){const a=o.replace(/\.[^.]+$/,""),t=a.replace(ND,""),n=t.replace(/(?:[-_\s]+edited)+$/i,""),i=t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(?:[-_\s]+edited)+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return i!==""?i:n||a||o}function Uu(o,a){var n;const t=(n=o.custom_properties)==null?void 0:n[a];return typeof t=="string"&&t.trim()!==""?t.trim():null}function Df(o){const a=Uu(o,"display_name");if(a!==null&&!Lu.test(a))return a;const t=Uu(o,"original_filename");return t!==null&&!Lu.test(t)?Pu(t):Pu(o.file_name)}const TD=["role","aria-modal"],BD={class:"media-inspector-panel__header"},ID={key:0,class:"media-inspector-panel__raw-name"},MD={class:"media-inspector-panel__preview"},$D=["src","alt"],FD={class:"media-inspector-panel__meta"},DD={class:"media-inspector-panel__actions"},AD={class:"media-inspector-panel__actions"},RD=["disabled"],LD={key:2,class:"media-inspector-panel__empty"},PD=e.defineComponent({__name:"MediaInspectorPanel",props:{target:{},httpClient:{},capabilities:{default:()=>({})},inAlbumScope:{type:Boolean,default:!1},labels:{default:()=>({})},mode:{default:"pinned"}},emits:["edit","replace","download","set-visibility","move-to-trash","remove-from-this-album","remove-from-albums","set-as-album-cover","bulk-add-to-album","bulk-create-album","bulk-move-to-trash","bulk-download","close"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(null),r=e.ref(null);e.watch(()=>t.target,(u,m)=>{const p=m==null,f=u==null;if(p&&!f){typeof document<"u"&&document.activeElement instanceof HTMLElement&&(r.value=document.activeElement),e.nextTick(()=>{var h;(h=i.value)==null||h.focus()});return}if(!p&&f){const h=r.value;r.value=null,h instanceof HTMLElement&&h.focus()}});function l(u){t.mode==="overlay"&&u.key==="Escape"&&(u.stopPropagation(),n("close"))}const s=e.computed(()=>t.mode==="overlay"?"dialog":"complementary"),d=e.computed(()=>{var u,m,p,f,h,v,k,y,w,g,b,R,N;return{title:((u=t.labels)==null?void 0:u.title)??"Inspector",emptyTitle:((m=t.labels)==null?void 0:m.emptyTitle)??"Select media to inspect",multiTitle:((p=t.labels)==null?void 0:p.multiTitle)??(I=>`${I} selected`),edit:((f=t.labels)==null?void 0:f.edit)??"Edit",replace:((h=t.labels)==null?void 0:h.replace)??"Replace",download:((v=t.labels)==null?void 0:v.download)??"Download",setVisibility:((k=t.labels)==null?void 0:k.setVisibility)??"Set visibility",moveToTrash:((y=t.labels)==null?void 0:y.moveToTrash)??"Move to trash",removeFromThisAlbum:((w=t.labels)==null?void 0:w.removeFromThisAlbum)??"Remove from this album",removeFromAlbums:((g=t.labels)==null?void 0:g.removeFromAlbums)??"Remove from album...",addToAlbum:((b=t.labels)==null?void 0:b.addToAlbum)??"Add to album",createAlbum:((R=t.labels)==null?void 0:R.createAlbum)??"Create album from selection",setAsAlbumCover:((N=t.labels)==null?void 0:N.setAsAlbumCover)??"Set as album cover"}}),c=e.computed(()=>{var u;return((u=t.target)==null?void 0:u.kind)==="single"?t.target.media:null});return(u,m)=>{var p;return e.openBlock(),e.createElementBlock("aside",{class:"media-inspector-panel","data-testid":"media-inspector-panel",role:s.value,"aria-modal":t.mode==="overlay"?"true":void 0,"aria-labelledby":"media-inspector-heading",onKeydown:l},[c.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("header",BD,[e.createElementVNode("h3",{id:"media-inspector-heading",ref_key:"headingRef",ref:i,tabindex:"-1"},e.toDisplayString(e.unref(Df)(c.value)),513),c.value.file_name?(e.openBlock(),e.createElementBlock("p",ID,e.toDisplayString(c.value.file_name),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",MD,[c.value.thumbnail_url??c.value.preview_url??c.value.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:c.value.thumbnail_url??c.value.preview_url??c.value.original_url,alt:c.value.alt_text??c.value.file_name},null,8,$D)):e.createCommentVNode("",!0)]),e.createElementVNode("dl",FD,[e.createElementVNode("div",null,[m[12]||(m[12]=e.createElementVNode("dt",null,"Type",-1)),e.createElementVNode("dd",null,e.toDisplayString(c.value.mime_type),1)]),e.createElementVNode("div",null,[m[13]||(m[13]=e.createElementVNode("dt",null,"Size",-1)),e.createElementVNode("dd",null,e.toDisplayString(c.value.formatted_size??c.value.size),1)])]),e.createVNode($f,{media:c.value,"http-client":t.httpClient},null,8,["media","http-client"]),e.createVNode(Ff,{media:c.value,"http-client":t.httpClient},null,8,["media","http-client"]),e.createElementVNode("div",DD,[t.capabilities.allowImageEdit||t.capabilities.allowVideoEdit?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:m[0]||(m[0]=f=>n("edit",c.value))},e.toDisplayString(d.value.edit),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:m[1]||(m[1]=f=>n("replace",c.value))},e.toDisplayString(d.value.replace),1),e.createElementVNode("button",{type:"button",onClick:m[2]||(m[2]=f=>n("download",c.value))},e.toDisplayString(d.value.download),1),t.capabilities.allowVisibilityChange?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",onClick:m[3]||(m[3]=f=>n("set-visibility",c.value))},e.toDisplayString(d.value.setVisibility),1)):e.createCommentVNode("",!0),t.inAlbumScope?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button","data-testid":"btn-set-as-album-cover",onClick:m[4]||(m[4]=f=>n("set-as-album-cover",c.value))},e.toDisplayString(d.value.setAsAlbumCover),1)):e.createCommentVNode("",!0),t.inAlbumScope?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",onClick:m[5]||(m[5]=f=>n("remove-from-this-album",c.value))},e.toDisplayString(d.value.removeFromThisAlbum),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:m[6]||(m[6]=f=>n("remove-from-albums",c.value))},e.toDisplayString(d.value.removeFromAlbums),1),e.createElementVNode("button",{type:"button",onClick:m[7]||(m[7]=f=>n("move-to-trash",c.value))},e.toDisplayString(d.value.moveToTrash),1)])],64)):((p=t.target)==null?void 0:p.kind)==="multi"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("h3",{id:"media-inspector-heading",ref_key:"headingRef",ref:i,tabindex:"-1"},e.toDisplayString(d.value.multiTitle(t.target.count)),513),e.createElementVNode("div",AD,[e.createElementVNode("button",{type:"button",onClick:m[8]||(m[8]=f=>n("bulk-add-to-album"))},e.toDisplayString(d.value.addToAlbum),1),e.createElementVNode("button",{type:"button",onClick:m[9]||(m[9]=f=>n("bulk-create-album"))},e.toDisplayString(d.value.createAlbum),1),e.createElementVNode("button",{type:"button",onClick:m[10]||(m[10]=f=>n("bulk-move-to-trash"))},e.toDisplayString(d.value.moveToTrash),1),e.createElementVNode("button",{type:"button",disabled:t.capabilities.allowDownloadZip!==!0,onClick:m[11]||(m[11]=f=>n("bulk-download"))},e.toDisplayString(d.value.download),9,RD)])],64)):(e.openBlock(),e.createElementBlock("p",LD,e.toDisplayString(d.value.emptyTitle),1))],40,TD)}}}),Af=$e(PD,[["__scopeId","data-v-2646f914"]]),UD={class:"media-filter-chips","data-testid":"media-filter-chips"},OD={class:"media-filter-chips__scroll"},zD={key:0,class:"media-filter-chips__chip media-filter-chips__chip--scope","data-testid":"media-filter-scope-chip"},jD=["data-testid","onClick"],WD={class:"media-filter-chips__add-wrap"},HD=["aria-expanded"],ZD={key:0,class:"media-filter-chips__menu","data-testid":"media-filter-menu"},GD=e.defineComponent({__name:"MediaFilterChips",props:{filters:{},scopeLabel:{default:""},labels:{default:()=>({})}},emits:["update:filters","change","clear"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.computed(()=>{var w,g,b,R,N,I,x,T,$,S,B;return{addFilter:((w=t.labels)==null?void 0:w.addFilter)??"Filter",clearAll:((g=t.labels)==null?void 0:g.clearAll)??"Clear all filters",typeLabel:((b=t.labels)==null?void 0:b.typeLabel)??"Type",usageLabel:((R=t.labels)==null?void 0:R.usageLabel)??"Usage",imageLabel:((N=t.labels)==null?void 0:N.imageLabel)??"Image",videoLabel:((I=t.labels)==null?void 0:I.videoLabel)??"Video",usedLabel:((x=t.labels)==null?void 0:x.usedLabel)??"Used",notUsedLabel:((T=t.labels)==null?void 0:T.notUsedLabel)??"Not used",dateAfterLabel:(($=t.labels)==null?void 0:$.dateAfterLabel)??"After",dateBeforeLabel:((S=t.labels)==null?void 0:S.dateBeforeLabel)??"Before",searchLabel:((B=t.labels)==null?void 0:B.searchLabel)??"Search"}});function l(){return{...t.filters,...t.filters.kinds!==void 0?{kinds:[...t.filters.kinds]}:{},...t.filters.selected_uuids!==void 0?{selected_uuids:[...t.filters.selected_uuids]}:{}}}function s(w){n("update:filters",w),n("change",w)}function d(w){const g=l(),b=(g.kinds??[]).filter(R=>R!==w);b.length>0?g.kinds=b:delete g.kinds,s(g)}function c(w){const g=l(),b=new Set(g.kinds??[]);b.add(w),g.kinds=Array.from(b),s(g),i.value=!1}function u(){const w=l();delete w.usage_status,s(w)}function m(w){const g=l();g.usage_status=w,s(g),i.value=!1}function p(w){const g=new Date;return g.setHours(0,0,0,0),g.setDate(g.getDate()-w),g.toISOString()}function f(){const w=new Date;return new Date(w.getFullYear(),0,1).toISOString()}function h(w,g=null){const b=l();w===null?delete b.created_after:b.created_after=w,g===null?delete b.created_before:b.created_before=g,s(b),i.value=!1}function v(w){const g=l();delete g[w],s(g)}function k(){s({sort:t.filters.sort??"newest"}),n("clear")}const y=e.computed(()=>{const w=[];for(const g of t.filters.kinds??[]){const b=g==="image"?r.value.imageLabel:g==="video"?r.value.videoLabel:String(g);w.push({key:`kind-${g}`,label:`${r.value.typeLabel}: ${b}`,remove:()=>d(g)})}return(t.filters.usage_status==="used"||t.filters.usage_status==="not_used")&&w.push({key:"usage",label:`${r.value.usageLabel}: ${t.filters.usage_status==="used"?r.value.usedLabel:r.value.notUsedLabel}`,remove:u}),t.filters.created_after&&w.push({key:"created-after",label:`${r.value.dateAfterLabel}: ${t.filters.created_after}`,remove:()=>v("created_after")}),t.filters.created_before&&w.push({key:"created-before",label:`${r.value.dateBeforeLabel}: ${t.filters.created_before}`,remove:()=>v("created_before")}),t.filters.query&&t.filters.query.trim()!==""&&w.push({key:"query",label:`${r.value.searchLabel}: "${t.filters.query.trim()}"`,remove:()=>v("query")}),w});return(w,g)=>(e.openBlock(),e.createElementBlock("div",UD,[e.createElementVNode("div",OD,[t.scopeLabel!==""?(e.openBlock(),e.createElementBlock("span",zD,e.toDisplayString(t.scopeLabel),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,b=>(e.openBlock(),e.createElementBlock("button",{key:b.key,type:"button",class:"media-filter-chips__chip","data-testid":`media-filter-chip-${b.key}`,onClick:b.remove},[e.createElementVNode("span",null,e.toDisplayString(b.label),1),g[8]||(g[8]=e.createElementVNode("span",{"aria-hidden":"true"},"×",-1))],8,jD))),128)),y.value.length>=2?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-filter-chips__clear","data-testid":"btn-media-filter-clear-all",onClick:k},e.toDisplayString(r.value.clearAll),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",WD,[e.createElementVNode("button",{type:"button",class:"media-filter-chips__add","data-testid":"btn-media-filter-add","aria-expanded":i.value?"true":"false",onClick:g[0]||(g[0]=b=>i.value=!i.value)}," + "+e.toDisplayString(r.value.addFilter),9,HD),i.value?(e.openBlock(),e.createElementBlock("div",ZD,[e.createElementVNode("button",{type:"button","data-testid":"opt-filter-image",onClick:g[1]||(g[1]=b=>c("image"))},e.toDisplayString(r.value.typeLabel)+": "+e.toDisplayString(r.value.imageLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-video",onClick:g[2]||(g[2]=b=>c("video"))},e.toDisplayString(r.value.typeLabel)+": "+e.toDisplayString(r.value.videoLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-used",onClick:g[3]||(g[3]=b=>m("used"))},e.toDisplayString(r.value.usageLabel)+": "+e.toDisplayString(r.value.usedLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-not-used",onClick:g[4]||(g[4]=b=>m("not_used"))},e.toDisplayString(r.value.usageLabel)+": "+e.toDisplayString(r.value.notUsedLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-7d",onClick:g[5]||(g[5]=b=>h(p(7)))},"Date: Last 7 days"),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-30d",onClick:g[6]||(g[6]=b=>h(p(30)))},"Date: Last 30 days"),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-year",onClick:g[7]||(g[7]=b=>h(f()))},"Date: This year")])):e.createCommentVNode("",!0)])]))}}),Rf=$e(GD,[["__scopeId","data-v-4861e8d7"]]);class Ld extends Error{constructor(a,t="Media deletion requires explicit confirmation."){super(t),this.name="RequiresConfirmationError",this.softBlocks=a}}const XD="/v1/media/deletion/check",KD="/v1/media/deletion/delete",yr=100;function Ou(o){const a=new Set,t=[];for(const n of o){const i=n.trim().toLowerCase();i===""||a.has(i)||(a.add(i),t.push(i))}return t.sort()}function Lf(o){const a=o.checkEndpoint??XD,t=o.deleteEndpoint??KD,n=e.ref(!1),i=e.ref(!1),r=e.ref(null),l=e.ref(null),s=e.ref(null);async function d(f){s.value=null;const h=Ou(f);if(h.length===0)return r.value=[],[];if(h.length>yr){const v=new Error(`Cannot check more than ${yr} media items at once.`);throw s.value=v,v}n.value=!0;try{const v=await o.httpClient.post(a,{uuids:h}),k=((v==null?void 0:v.data)??[]).map(y=>{var w,g,b,R;return{uuid:y.uuid,canDelete:((w=y.report)==null?void 0:w.canDelete)??!1,blocks:Array.isArray((g=y.report)==null?void 0:g.blocks)?y.report.blocks:[],cascade:Array.isArray((b=y.report)==null?void 0:b.cascade)?y.report.cascade:[],variantCount:typeof((R=y.report)==null?void 0:R.variantCount)=="number"?y.report.variantCount:0}});return r.value=k,k}catch(v){throw s.value=v instanceof Error?v:new Error(String(v)),s.value}finally{n.value=!1}}async function c(f,h={}){s.value=null;const v=Ou(f);if(v.length===0){const k={results:[],summary:{}};return l.value=k,k}if(v.length>yr){const k=new Error(`Cannot delete more than ${yr} media items at once.`);throw s.value=k,k}i.value=!0;try{const k=await o.httpClient.post(t,{uuids:v,force:h.force===!0,confirmed:h.confirmed===!0}),y={results:Array.isArray(k==null?void 0:k.results)?k.results:[],summary:(k==null?void 0:k.summary)??{}};return l.value=y,y}catch(k){const y=u(k);if(y&&y.requires_confirmation===!0){const w=m(y.soft_blocks),g=new Ld(w);throw s.value=g,g}throw s.value=k instanceof Error?k:new Error(String(k)),s.value}finally{i.value=!1}}function u(f){if(typeof f!="object"||f===null)return null;const h=f;if(h.response&&typeof h.response=="object"&&h.response.data&&typeof h.response.data=="object")return h.response.data;const v=f;return"requires_confirmation"in v||"soft_blocks"in v?v:null}function m(f){if(typeof f!="object"||f===null)return{};const h={};for(const[v,k]of Object.entries(f)){if(!Array.isArray(k))continue;const y=[];for(const w of k){if(typeof w!="object"||w===null)continue;const g=w;typeof g.type=="string"&&typeof g.context=="string"&&y.push({type:g.type,context:g.context})}h[v]=y}return h}function p(){r.value=null,l.value=null,s.value=null}return{isChecking:n,isDeleting:i,lastReport:r,lastResponse:l,error:s,checkDependencies:d,deleteMany:c,reset:p}}const JD="/v1/user/media/trash";function qD(o){return`/v1/user/media/${encodeURIComponent(o)}/restore`}function YD(o){return`/v1/user/media/${encodeURIComponent(o)}/purge`}function Pd(o){const a=o.listEndpoint??JD,t=o.buildRestoreEndpoint??qD,n=o.buildPurgeEndpoint??YD,i=o.perPage??50,r=e.ref([]),l=e.ref(0),s=e.ref(1),d=e.ref(!1),c=e.ref(!1),u=e.ref(!1),m=e.ref(null);async function p(k=1){var y,w;m.value=null,d.value=!0;try{const g=await o.httpClient.get(a,{params:{page:k,per_page:i}});r.value=Array.isArray(g==null?void 0:g.data)?g.data:[],l.value=typeof((y=g==null?void 0:g.meta)==null?void 0:y.total)=="number"?g.meta.total:0,s.value=typeof((w=g==null?void 0:g.meta)==null?void 0:w.current_page)=="number"?g.meta.current_page:k}catch(g){throw m.value=g instanceof Error?g:new Error(String(g)),m.value}finally{d.value=!1}}async function f(k){m.value=null,c.value=!0;try{const y=await o.httpClient.post(t(k)),w={status:(y==null?void 0:y.status)??"failed",data:(y==null?void 0:y.data)??null,duplicate_uuid:(y==null?void 0:y.duplicate_uuid)??null};return typeof(y==null?void 0:y.message)=="string"&&(w.message=y.message),w.status==="restored"&&(r.value=r.value.filter(g=>g.uuid!==k),l.value=Math.max(0,l.value-1)),w}catch(y){const w=zu(y);if(w&&typeof w.status=="string"){const g={status:w.status,duplicate_uuid:typeof w.duplicate_uuid=="string"?w.duplicate_uuid:null};return typeof w.message=="string"&&(g.message=w.message),g}throw m.value=y instanceof Error?y:new Error(String(y)),m.value}finally{c.value=!1}}async function h(k){m.value=null,u.value=!0;try{if(typeof o.httpClient.delete!="function")throw new Error("Media trash purge requires an HTTP client with delete support.");const y=await o.httpClient.delete(n(k)),w={status:(y==null?void 0:y.status)??"failed"};return typeof(y==null?void 0:y.message)=="string"&&(w.message=y.message),w.status==="purging"&&(r.value=r.value.filter(g=>g.uuid!==k),l.value=Math.max(0,l.value-1)),w}catch(y){const w=zu(y);if(w&&typeof w.status=="string"){const g={status:w.status};return typeof w.message=="string"&&(g.message=w.message),g}throw m.value=y instanceof Error?y:new Error(String(y)),m.value}finally{u.value=!1}}function v(){r.value=[],l.value=0,s.value=1,m.value=null}return{items:r,total:l,currentPage:s,isLoading:d,isRestoring:c,isPurging:u,error:m,fetch:p,restore:f,purge:h,reset:v}}function zu(o){var t;if(typeof o!="object"||o===null)return null;const a=o;return(t=a.response)!=null&&t.data&&typeof a.response.data=="object"?a.response.data:null}const QD={class:"media-management-view","data-testid":"media-management-view"},eA={key:0,class:"media-management-view__header"},tA={class:"media-management-view__title"},aA={class:"media-management-view__actions"},nA={key:0,class:"media-management-view__badge"},oA={key:1,class:"media-management-view__panel","data-testid":"panel-library"},iA={key:0,class:"media-management-view__view-mode",role:"radiogroup","aria-label":"Media library layout","data-testid":"media-management-layout-mode"},rA=["aria-checked"],lA=["aria-checked"],sA={key:1,class:"media-management-view__status","data-testid":"library-loading"},dA={key:2,class:"media-management-view__status media-management-view__status--error","data-testid":"library-error"},cA={key:3,class:"media-management-view__empty","data-testid":"library-empty"},uA={class:"media-management-view__empty-state"},mA={class:"media-management-view__empty-title","data-testid":"library-empty-title"},pA={class:"media-management-view__empty-description","data-testid":"library-empty-description"},fA={key:4,class:"media-management-view__table","data-testid":"library-table"},hA={scope:"col","data-testid":"table-header-select"},vA={class:"media-management-view__checkbox-label"},gA=["checked",".indeterminate","aria-label"],bA={class:"media-management-view__sr-only"},yA={scope:"col","data-testid":"table-header-thumbnail"},wA={scope:"col","data-testid":"table-header-name"},kA={scope:"col","data-testid":"table-header-type"},_A={scope:"col","data-testid":"table-header-created"},EA={scope:"col","data-testid":"table-header-size"},SA={scope:"col","data-testid":"table-header-status"},CA={scope:"col","data-testid":"table-header-actions"},xA=["data-testid"],VA={class:"media-management-view__checkbox-label"},NA=["checked","aria-label","data-testid","onChange"],TA=["data-testid","onClick"],BA=["src","alt","onError"],IA=["data-testid"],MA=["title","data-testid"],$A=["data-testid"],FA=["data-testid"],DA={class:"media-management-view__item-actions"},AA=["onKeydown"],RA=["data-testid","aria-label","aria-expanded","onClick"],LA=["data-testid"],PA=["data-testid","onClick"],UA={key:5,class:"media-management-view__grid","data-testid":"library-grid"},OA=["data-testid"],zA=["data-testid","aria-pressed","onClick"],jA=["src","alt","onError"],WA=["data-testid"],HA={class:"media-management-view__selection-corner"},ZA={class:"media-management-view__sr-only"},GA=["checked","data-testid","onChange"],XA={class:"media-management-view__item-meta"},KA=["title","data-testid"],JA=["data-testid"],qA=["data-testid"],YA={key:2,class:"media-management-view__item-badge","data-testid":"badge-orphaned"},QA=["data-testid"],eR={class:"media-management-view__item-actions media-management-view__item-actions--grid"},tR=["onKeydown"],aR=["data-testid","aria-label","aria-expanded","onClick"],nR=["data-testid"],oR=["data-testid","onClick"],iR={class:"media-management-view__bulk-bar","data-testid":"bulk-bar"},rR={"data-testid":"bulk-count"},lR=["disabled"],sR={key:7,class:"media-management-view__pagination","data-testid":"media-management-pagination"},dR={class:"media-management-view__pagination-count","data-testid":"media-management-pagination-count","aria-live":"polite"},cR={key:0,class:"media-management-view__page-size",role:"group","aria-label":"Items per page","data-testid":"media-management-page-size"},uR=["value","disabled"],mR=["value","data-testid"],pR=["disabled"],fR={key:2,class:"media-management-view__page-bar","aria-label":"Media library pagination","data-testid":"media-management-page-bar"},hR=["disabled"],vR=["data-testid","disabled","aria-current","aria-label","onClick"],gR=["disabled"],bR={key:2,class:"media-management-view__panel","data-testid":"panel-trash"},yR={key:0,class:"media-management-view__status","data-testid":"trash-loading"},wR={key:1,class:"media-management-view__empty","data-testid":"trash-empty"},kR={class:"media-management-view__empty-state"},_R={class:"media-management-view__empty-title","data-testid":"trash-empty-title"},ER={class:"media-management-view__empty-description","data-testid":"trash-empty-description"},SR={key:2,class:"media-management-view__grid","data-testid":"trash-grid"},CR=["data-testid"],xR={class:"media-management-view__item-thumb"},VR=["src","alt","onError"],NR=["data-testid"],TR={class:"media-management-view__item-meta"},BR={class:"media-management-view__item-name"},IR={key:0,class:"media-management-view__item-meta-line"},MR=["data-testid","disabled","onClick"],$R=["data-testid"],FR=e.defineComponent({__name:"MediaManagementView",props:{httpClient:{},capabilities:{default:()=>({})},labels:{default:()=>({})},filters:{},initialView:{},perPage:{},pageSizeOptions:{default:()=>[]},showAllOption:{type:Boolean,default:!1},loadAllMaxItems:{},paginated:{type:Boolean,default:!1},groupVariants:{type:Boolean,default:!0},paginationWindow:{default:7},initialLayoutMode:{},layoutMode:{},confirmBulkDelete:{},confirmDestructiveAction:{},onRestoreCollision:{}},emits:["deleted","restored","restore-conflict","create-post","create-gallery","add-to-album","edit","update:layoutMode","error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r=e.computed(()=>({showTrash:!0,showHeader:!0,showLayoutSwitcher:!0,allowBulkDelete:!0,allowPreview:!0,allowCreatePost:!1,allowCreateGallery:!1,allowAddToAlbum:!1,allowImageEdit:!1,allowVideoEdit:!1,showOwner:!1,showRawFileName:!1,...n.capabilities})),l=e.computed(()=>{var X,we,ae,Fe,It,At,Mt,mt,pt,Qt,yt,Wt,_a,G,q,pe,he,Te,He,ot,Je,Ze,dt,ft,Qe,ea,Ft,Pa,Fa,co,Da,on,Ua,ha,In,uo,Mn,mo,hn;return{title:((X=n.labels)==null?void 0:X.title)??"My Media",libraryTab:((we=n.labels)==null?void 0:we.libraryTab)??"Library",trashTab:((ae=n.labels)==null?void 0:ae.trashTab)??"Trash",loading:((Fe=n.labels)==null?void 0:Fe.loading)??"Loading…",emptyLibrary:((It=n.labels)==null?void 0:It.emptyLibrary)??"No media yet — upload your first creation.",emptyLibraryTitle:((At=n.labels)==null?void 0:At.emptyLibraryTitle)??"Your media library is ready",emptyLibraryDescription:((Mt=n.labels)==null?void 0:Mt.emptyLibraryDescription)??"Images and videos you upload for creations are saved here so you can reuse them later.",emptyTrash:((mt=n.labels)==null?void 0:mt.emptyTrash)??"Trash is empty.",emptyTrashTitle:((pt=n.labels)==null?void 0:pt.emptyTrashTitle)??"No media in trash",emptyTrashDescription:((Qt=n.labels)==null?void 0:Qt.emptyTrashDescription)??"Deleted files appear here for 30 days before permanent removal.",orphanedBadge:((yt=n.labels)==null?void 0:yt.orphanedBadge)??"Not in use",selectedCount:((Wt=n.labels)==null?void 0:Wt.selectedCount)??(Oa=>`${Oa} selected`),deleteButton:((_a=n.labels)==null?void 0:_a.deleteButton)??"Delete",createPostButton:((G=n.labels)==null?void 0:G.createPostButton)??"Create Post",createGalleryButton:((q=n.labels)==null?void 0:q.createGalleryButton)??"Create Gallery",addToAlbumButton:((pe=n.labels)==null?void 0:pe.addToAlbumButton)??"Add to Album",previewButton:((he=n.labels)==null?void 0:he.previewButton)??"Preview",previewCloseButton:((Te=n.labels)==null?void 0:Te.previewCloseButton)??"Close",previewPreviousButton:((He=n.labels)==null?void 0:He.previewPreviousButton)??"Previous",previewNextButton:((ot=n.labels)==null?void 0:ot.previewNextButton)??"Next",previewSelectButton:((Je=n.labels)==null?void 0:Je.previewSelectButton)??"Select",previewDeselectButton:((Ze=n.labels)==null?void 0:Ze.previewDeselectButton)??"Deselect",editButton:((dt=n.labels)==null?void 0:dt.editButton)??"Edit",loadMoreButton:((ft=n.labels)==null?void 0:ft.loadMoreButton)??"Load more",loadingMoreButton:((Qe=n.labels)==null?void 0:Qe.loadingMoreButton)??"Loading more...",restoreButton:((ea=n.labels)==null?void 0:ea.restoreButton)??"Restore",restoreUnavailable:((Ft=n.labels)==null?void 0:Ft.restoreUnavailable)??"Restore unavailable",gridView:((Pa=n.labels)==null?void 0:Pa.gridView)??"Grid",tableView:((Fa=n.labels)==null?void 0:Fa.tableView)??"Table",tableSelectHeader:((co=n.labels)==null?void 0:co.tableSelectHeader)??"Select",tableThumbnailHeader:((Da=n.labels)==null?void 0:Da.tableThumbnailHeader)??"Preview",tableNameHeader:((on=n.labels)==null?void 0:on.tableNameHeader)??"Name",tableTypeHeader:((Ua=n.labels)==null?void 0:Ua.tableTypeHeader)??"Type",tableCreatedHeader:((ha=n.labels)==null?void 0:ha.tableCreatedHeader)??"Uploaded",tableSizeHeader:((In=n.labels)==null?void 0:In.tableSizeHeader)??"Size",tableStatusHeader:((uo=n.labels)==null?void 0:uo.tableStatusHeader)??"Status",tableActionsHeader:((Mn=n.labels)==null?void 0:Mn.tableActionsHeader)??"Actions",purgeAfter:((mo=n.labels)==null?void 0:mo.purgeAfter)??(Oa=>`Purges ${Oa}`),ownerLabel:((hn=n.labels)==null?void 0:hn.ownerLabel)??(Oa=>`User ${Oa.user_id??""}`)}}),s=e.computed(()=>l.value.title),d=e.computed(()=>l.value.libraryTab),c=e.computed(()=>l.value.trashTab),u=e.computed(()=>l.value.loading),m=e.computed(()=>l.value.emptyLibraryTitle),p=e.computed(()=>l.value.emptyLibraryDescription),f=e.computed(()=>l.value.emptyTrashTitle),h=e.computed(()=>l.value.emptyTrashDescription),v=e.computed(()=>l.value.orphanedBadge),k=e.computed(()=>l.value.deleteButton),y=e.computed(()=>l.value.restoreButton),w=e.computed(()=>l.value.restoreUnavailable),g=e.computed(()=>l.value.gridView),b=e.computed(()=>l.value.tableView);function R(X){const we=r.value.canRestore;return we?we(X):!0}const N=e.ref("library"),I=e.ref(n.layoutMode??n.initialLayoutMode??"grid"),x=e.ref(null),T=e.ref(null);function $(X){return{...X??{},...(X==null?void 0:X.kinds)!==void 0?{kinds:[...X.kinds]}:{}}}const S=e.ref(n.initialView??{scope:"library"}),B=e.ref($(n.filters)),_=e.ref(n.perPage??50),A=e.ref(!1),P=e.ref(n.paginated?1:null),D=Ad({httpClient:n.httpClient,view:S,filters:B,perPage:_,page:P}),z=e.computed(()=>n.groupVariants!==!0?D.items.value:D.items.value.filter(X=>typeof X.parent_media_uuid!="string"||X.parent_media_uuid.trim()==="")),M=e.computed(()=>D.loading.value),Z=e.computed(()=>{var X;return((X=D.error.value)==null?void 0:X.message)??null}),O=e.computed(()=>r.value.allowBulkDelete!==!1||r.value.allowCreatePost===!0||r.value.allowCreateGallery===!0||r.value.allowAddToAlbum===!0),K=e.computed(()=>{const X=x.value;return X===null?null:z.value[X]??null}),de=tl(z),Ve=Lf({httpClient:n.httpClient}),ce=Pd({httpClient:n.httpClient});function le(X){return l.value.selectedCount(X)}function W(X){return l.value.purgeAfter(X)}function C(X){return l.value.ownerLabel(X)}const U=e.computed(()=>{const X=z.value.length;return X===0?"":D.hasMore.value?X===1?"Showing 1 item":`Showing ${X} items`:X===1?"Showing all 1 item":`Showing all ${X} items`});function j(X){I.value!==X&&(Ot(),I.value=X,i("update:layoutMode",X))}function ie(X){return X.mime_type.startsWith("image/")}function ue(X){return X.mime_type.startsWith("video/")}function Xe(X){return ie(X)?"image":ue(X)?"video":null}function be(X){return ie(X)?r.value.allowImageEdit===!0:ue(X)?r.value.allowVideoEdit===!0:!1}const Ee=Df;function ye(X){return typeof X.variant_count=="number"&&Number.isFinite(X.variant_count)?Math.max(0,X.variant_count):0}function xe(X){return X===1?"1 edit":`${X} edits`}function Ce(X){return ie(X)?"Image":ue(X)?"Video":X.mime_type.startsWith("audio/")?"Audio":"File"}function Re(X){if(typeof X.formatted_size=="string"&&X.formatted_size.trim()!=="")return X.formatted_size;if(!Number.isFinite(X.size)||X.size<=0)return"";const we=["B","KB","MB","GB"];let ae=X.size,Fe=0;for(;ae>=1024&&Fe<we.length-1;)ae/=1024,Fe+=1;return`${ae>=10||Fe===0?Math.round(ae):ae.toFixed(1)} ${we[Fe]}`}function ze(X){const we=new Date(X.created_at);return Number.isNaN(we.getTime())?X.created_at:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(we)}function rt(X){return X.deletion_status==="active"||X.deletion_status===void 0||X.deletion_status===null?"Ready":X.deletion_status.replace(/_/g," ").replace(/\b\w/g,we=>we.toUpperCase())}function at(X){if(typeof X.thumbnail_url=="string"&&X.thumbnail_url.length>0)return X.thumbnail_url;const we=typeof X.mime_type=="string"&&X.mime_type.startsWith("image/"),ae=typeof X.mime_type=="string"&&X.mime_type.startsWith("video/");return we?X.original_url||null:ae&&typeof X.preview_url=="string"&&X.preview_url.length>0?X.preview_url:null}function Dt(X){return typeof X.mime_type=="string"&&X.mime_type.startsWith("video/")?`Video — ${X.file_name}`:X.file_name}const ht=e.ref(new Set);function St(X){if(ht.value.has(X.uuid))return;const we=new Set(ht.value);we.add(X.uuid),ht.value=we}function ut(X){if(r.value.allowPreview===!1)return;const we=z.value.findIndex(ae=>ae.uuid===X.uuid);x.value=we>=0?we:null}function lt(){x.value=null}function Ct(){x.value===null||x.value<=0||(x.value-=1)}function Se(){x.value===null||x.value>=z.value.length-1||(x.value+=1)}async function J(){try{await D.loadMore()}catch(X){i("error",X instanceof Error?X:new Error(String(X)))}}const ne=e.computed(()=>{const X=D.totalPages.value??0,we=D.currentPage.value??1;if(X<=1)return[];const ae=Math.max(3,n.paginationWindow);if(X<=ae)return Array.from({length:X},(pt,Qt)=>({kind:"page",key:`p-${Qt+1}`,value:Qt+1}));const Fe=ae-2,It=Math.floor(Fe/2);let At=Math.max(2,we-It),Mt=Math.min(X-1,At+Fe-1);Mt===X-1&&(At=Math.max(2,Mt-Fe+1));const mt=[{kind:"page",key:"p-1",value:1}];At>2&&mt.push({kind:"ellipsis",key:"el-left"});for(let pt=At;pt<=Mt;pt++)mt.push({kind:"page",key:`p-${pt}`,value:pt});return Mt<X-1&&mt.push({kind:"ellipsis",key:"el-right"}),mt.push({kind:"page",key:`p-${X}`,value:X}),mt});async function De(X){if(!(X===D.currentPage.value||D.loading.value)){P.value=X;try{await D.goToPage(X)}catch(we){i("error",we instanceof Error?we:new Error(String(we)))}}}async function fe(X){const we=D.currentPage.value??1,ae=D.totalPages.value??1,Fe=Math.min(Math.max(1,we+X),ae);Fe!==we&&await De(Fe)}const Ae=e.computed(()=>{const X=n.pageSizeOptions.map(we=>({value:String(we),label:String(we)}));return X.length===0&&!n.showAllOption?[]:(n.showAllOption&&X.push({value:"all",label:"All"}),X)}),Ye=e.computed(()=>A.value?"all":String(_.value));async function st(X){const we=X.target;if(!(we instanceof HTMLSelectElement))return;const ae=we.value;try{if(ae==="all"){const Fe=n.pageSizeOptions,It=Fe.length>0?Math.max(...Fe):_.value;P.value=null,_.value=It,A.value=!1,await D.refresh();const At=n.loadAllMaxItems!==void 0?{maxItems:n.loadAllMaxItems}:void 0;await D.loadAll(At),A.value=!D.hasMore.value}else{const Fe=Number.parseInt(ae,10);Number.isFinite(Fe)&&Fe>0&&(_.value=Fe),A.value=!1,n.paginated&&(P.value=1),await D.refresh()}}catch(Fe){i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}function Bt(X,we){i("create-post",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Nt(X,we){i("create-gallery",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Lt(X,we){i("add-to-album",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Pt(X){const we=Xe(X);we===null||!be(X)||i("edit",{media:X,kind:we})}function zt(X){T.value=T.value===X?null:X}function Ot(){T.value=null}function jt(X){X.run(),Ot()}function oa(X){const we=[];return r.value.allowPreview!==!1&&we.push({id:"preview",label:l.value.previewButton,testId:`btn-preview-${X.uuid}`,run:()=>ut(X)}),be(X)&&we.push({id:"edit",label:l.value.editButton,testId:`btn-edit-${X.uuid}`,run:()=>Pt(X)}),r.value.allowCreatePost===!0&&we.push({id:"create-post",label:l.value.createPostButton,testId:`btn-create-post-${X.uuid}`,run:()=>Bt([X],"item")}),r.value.allowCreateGallery===!0&&we.push({id:"create-gallery",label:l.value.createGalleryButton,testId:`btn-create-gallery-${X.uuid}`,run:()=>Nt([X],"item")}),r.value.allowAddToAlbum===!0&&we.push({id:"add-to-album",label:l.value.addToAlbumButton,testId:`btn-add-to-album-${X.uuid}`,run:()=>Lt([X],"item")}),we}async function Q(X){const we=X.results.filter(ae=>ae.status==="trashed"||ae.status==="already_trashed").map(ae=>ae.uuid);if(we.length!==0){for(const ae of we)de.deselect(ae);i("deleted",we),await D.refresh(),r.value.showTrash!==!1&&await ce.fetch(ce.currentPage.value).catch(()=>{})}}function ge(X){const we=new Set;for(const It of X)for(const At of It.blocks)At.context&&we.add(At.context);const ae=Array.from(we),Fe=ae.length>0?`This media is still attached to: ${ae.map(It=>`"${It}"`).join(", ")}. Remove from those and delete?`:"This media is still attached to other items. Remove from those and delete?";return window.confirm(Fe)}function me(X){return Object.entries(X).map(([we,ae])=>({uuid:we,blocks:ae}))}async function se(){const X=de.selectedItems.value;if(X.length===0)return;const we=r.value.canDelete?X.filter(Fe=>r.value.canDelete(Fe)):X;if(we.length===0||n.confirmBulkDelete&&!await n.confirmBulkDelete(we))return;const ae=we.map(Fe=>Fe.uuid);try{const Fe=await Ve.deleteMany(ae);await Q(Fe)}catch(Fe){if(Fe instanceof Ld){const It=me(Fe.softBlocks);if(!(n.confirmDestructiveAction?await n.confirmDestructiveAction({items:we,softBlocks:It}):ge(It)))return;try{const Mt=await Ve.deleteMany(ae,{confirmed:!0});await Q(Mt)}catch(Mt){i("error",Mt instanceof Error?Mt:new Error(String(Mt)))}return}i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}async function Ne(X){var ae;const we=ce.items.value.find(Fe=>Fe.uuid===X);if(!(we&&!R(we)))try{const Fe=await ce.restore(X);if(Fe.status==="restored"){i("restored",X),await D.refresh().catch(()=>{});return}if(Fe.status==="duplicate_conflict"){i("restore-conflict",{uuid:X,duplicateUuid:Fe.duplicate_uuid??null}),(ae=n.onRestoreCollision)==null||ae.call(n,X,Fe.duplicate_uuid??null);return}}catch(Fe){i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}async function Pe(){N.value="trash",ce.items.value.length===0&&!ce.isLoading.value&&await ce.fetch().catch(X=>{i("error",X instanceof Error?X:new Error(String(X)))})}function et(X){if(X==="trash"){Pe();return}N.value=X}const gt=e.computed(()=>({activeTab:N.value,setActiveTab:et,trashCount:ce.total.value,showTrash:r.value.showTrash!==!1,labels:{libraryTab:l.value.libraryTab,trashTab:l.value.trashTab}})),Tt=e.computed(()=>({selectedCount:de.selectedCount.value,selectedItemIds:Array.from(de.selectedIds.value),selectedItems:de.selectedItems.value,crossPageCount:de.crossPageCount.value,isDeleting:Ve.isDeleting.value,onBulkDelete:se,...r.value.allowCreatePost===!0?{onCreatePost:()=>Bt(de.selectedItems.value,"bulk")}:{},...r.value.allowCreateGallery===!0?{onCreateGallery:()=>Nt(de.selectedItems.value,"bulk")}:{},...r.value.allowAddToAlbum===!0?{onAddToAlbum:()=>Lt(de.selectedItems.value,"bulk")}:{},clearSelection:de.clear,labels:{deleteButton:l.value.deleteButton,...r.value.allowCreatePost===!0?{createPostButton:l.value.createPostButton}:{},...r.value.allowCreateGallery===!0?{createGalleryButton:l.value.createGalleryButton}:{},...r.value.allowAddToAlbum===!0?{addToAlbumButton:l.value.addToAlbumButton}:{},selectedCount:l.value.selectedCount}})),xt=e.computed(()=>({filters:B.value,view:S.value,total:D.total.value,shown:z.value.length,loading:D.loading.value}));function _t(X){return{media:X,selected:de.isSelected(X.uuid),canEdit:be(X),onPreview:()=>ut(X),...be(X)?{onEdit:()=>Pt(X)}:{},...r.value.allowCreatePost===!0?{onCreatePost:()=>Bt([X],"item")}:{},...r.value.allowCreateGallery===!0?{onCreateGallery:()=>Nt([X],"item")}:{},...r.value.allowAddToAlbum===!0?{onAddToAlbum:()=>Lt([X],"item")}:{},labels:{previewButton:l.value.previewButton,editButton:l.value.editButton,createPostButton:l.value.createPostButton,createGalleryButton:l.value.createGalleryButton,addToAlbumButton:l.value.addToAlbumButton}}}function Xt(X){return{media:X,canRestore:R(X),isRestoring:ce.isRestoring.value,onRestore:()=>Ne(X.uuid),labels:{restoreButton:l.value.restoreButton,restoreUnavailable:l.value.restoreUnavailable}}}return e.watch(N,async X=>{X==="library"&&z.value.length===0&&!M.value&&await D.refresh().catch(()=>{})}),e.watch(()=>n.layoutMode,X=>{X!==void 0&&(I.value=X)}),e.watch(()=>n.filters,async X=>{B.value=$(X),de.clear(),lt(),await D.refresh().catch(we=>{i("error",we instanceof Error?we:new Error(String(we)))})},{deep:!0}),e.onMounted(async()=>{await D.refresh().catch(X=>{i("error",X instanceof Error?X:new Error(String(X)))}),r.value.showTrash!==!1&&ce.fetch().catch(()=>{})}),a({refresh:()=>D.refresh(),refreshTrash:()=>ce.fetch(),selection:de,deletion:Ve,trash:ce}),(X,we)=>(e.openBlock(),e.createElementBlock("div",QD,[r.value.showHeader!==!1?(e.openBlock(),e.createElementBlock("header",eA,[e.createElementVNode("h2",tA,e.toDisplayString(s.value),1),e.createElementVNode("div",aA,[e.renderSlot(X.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(gt.value)),()=>[r.value.showTrash!==!1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":N.value==="library"}]),"data-testid":"tab-library",onClick:we[0]||(we[0]=ae=>N.value="library")},e.toDisplayString(d.value),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":N.value==="trash"}]),"data-testid":"tab-trash",onClick:Pe},[e.createTextVNode(e.toDisplayString(c.value)+" ",1),e.unref(ce).total.value>0?(e.openBlock(),e.createElementBlock("span",nA,e.toDisplayString(e.unref(ce).total.value),1)):e.createCommentVNode("",!0)],2)],64)):e.createCommentVNode("",!0)],!0)])])):e.createCommentVNode("",!0),N.value==="library"?(e.openBlock(),e.createElementBlock("section",oA,[r.value.showLayoutSwitcher!==!1?(e.openBlock(),e.createElementBlock("div",iA,[e.createElementVNode("button",{type:"button",role:"radio",class:e.normalizeClass(["media-management-view__view-mode-button",{"is-active":I.value==="grid"}]),"aria-checked":I.value==="grid"?"true":"false","data-testid":"view-mode-grid",onClick:we[1]||(we[1]=ae=>j("grid"))},e.toDisplayString(g.value),11,rA),e.createElementVNode("button",{type:"button",role:"radio",class:e.normalizeClass(["media-management-view__view-mode-button",{"is-active":I.value==="table"}]),"aria-checked":I.value==="table"?"true":"false","data-testid":"view-mode-table",onClick:we[2]||(we[2]=ae=>j("table"))},e.toDisplayString(b.value),11,lA)])):e.createCommentVNode("",!0),e.renderSlot(X.$slots,"filter-bar",e.normalizeProps(e.guardReactiveProps(xt.value)),void 0,!0),M.value?(e.openBlock(),e.createElementBlock("div",sA,e.toDisplayString(u.value),1)):Z.value?(e.openBlock(),e.createElementBlock("div",dA,e.toDisplayString(Z.value),1)):z.value.length===0?(e.openBlock(),e.createElementBlock("div",cA,[e.renderSlot(X.$slots,"empty-library",{},()=>[e.createElementVNode("div",uA,[e.createElementVNode("p",mA,e.toDisplayString(m.value),1),e.createElementVNode("p",pA,e.toDisplayString(p.value),1)])],!0)])):I.value==="table"?(e.openBlock(),e.createElementBlock("table",fA,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",hA,[e.createElementVNode("label",vA,[e.createElementVNode("input",{class:"media-management-view__checkbox",type:"checkbox",checked:e.unref(de).isAllSelected.value,".indeterminate":e.unref(de).isSomeSelected.value&&!e.unref(de).isAllSelected.value,"aria-label":l.value.tableSelectHeader,"data-testid":"checkbox-select-all",onChange:we[3]||(we[3]=(...ae)=>e.unref(de).toggleAll&&e.unref(de).toggleAll(...ae))},null,40,gA),e.createElementVNode("span",bA,e.toDisplayString(l.value.tableSelectHeader),1)])]),e.createElementVNode("th",yA,e.toDisplayString(l.value.tableThumbnailHeader),1),e.createElementVNode("th",wA,e.toDisplayString(l.value.tableNameHeader),1),e.createElementVNode("th",kA,e.toDisplayString(l.value.tableTypeHeader),1),e.createElementVNode("th",_A,e.toDisplayString(l.value.tableCreatedHeader),1),e.createElementVNode("th",EA,e.toDisplayString(l.value.tableSizeHeader),1),e.createElementVNode("th",SA,e.toDisplayString(l.value.tableStatusHeader),1),e.createElementVNode("th",CA,e.toDisplayString(l.value.tableActionsHeader),1)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,ae=>(e.openBlock(),e.createElementBlock("tr",{key:ae.uuid,class:e.normalizeClass({"is-selected":e.unref(de).isSelected(ae.uuid),"has-open-actions":T.value===ae.uuid}),"data-testid":`media-row-${ae.uuid}`},[e.createElementVNode("td",null,[e.createElementVNode("label",VA,[e.createElementVNode("input",{class:"media-management-view__checkbox",type:"checkbox",checked:e.unref(de).isSelected(ae.uuid),"aria-label":`${l.value.tableSelectHeader} ${e.unref(Ee)(ae)}`,"data-testid":`checkbox-select-${ae.uuid}`,onChange:Fe=>e.unref(de).toggle(ae.uuid)},null,40,NA)])]),e.createElementVNode("td",null,[e.createElementVNode("button",{type:"button",class:"media-management-view__table-thumb","data-testid":`btn-preview-thumb-${ae.uuid}`,onClick:Fe=>ut(ae)},[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,BA)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,IA))],8,TA)]),e.createElementVNode("td",null,[e.createElementVNode("span",{class:"media-management-view__display-name",title:ae.file_name,"data-testid":`media-display-name-${ae.uuid}`},e.toDisplayString(e.unref(Ee)(ae)),9,MA),ye(ae)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__variant-badge","data-testid":`media-variant-badge-${ae.uuid}`},e.toDisplayString(xe(ye(ae))),9,$A)):e.createCommentVNode("",!0),r.value.showRawFileName===!0?(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__raw-filename","data-testid":`media-raw-filename-${ae.uuid}`},e.toDisplayString(ae.file_name),9,FA)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(Ce(ae)),1),e.createElementVNode("td",null,e.toDisplayString(ze(ae)),1),e.createElementVNode("td",null,e.toDisplayString(Re(ae)),1),e.createElementVNode("td",null,e.toDisplayString(rt(ae)),1),e.createElementVNode("td",null,[e.renderSlot(X.$slots,"item-actions",e.mergeProps({ref_for:!0},_t(ae)),()=>[e.createElementVNode("div",DA,[e.createElementVNode("div",{class:"media-management-view__action-menu",onKeydown:e.withKeys(e.withModifiers(Ot,["stop"]),["escape"])},[e.createElementVNode("button",{type:"button",class:"media-management-view__action-menu-trigger","data-testid":`btn-actions-menu-${ae.uuid}`,"aria-label":`Actions for ${e.unref(Ee)(ae)}`,"aria-haspopup":"menu","aria-expanded":T.value===ae.uuid?"true":"false",onClick:Fe=>zt(ae.uuid)}," ... ",8,RA),T.value===ae.uuid?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-management-view__action-menu-panel",role:"menu","data-testid":`media-item-actions-menu-${ae.uuid}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oa(ae),Fe=>(e.openBlock(),e.createElementBlock("button",{key:Fe.id,type:"button",class:"media-management-view__action-menu-item",role:"menuitem","data-testid":Fe.testId,onClick:It=>jt(Fe)},e.toDisplayString(Fe.label),9,PA))),128))],8,LA)):e.createCommentVNode("",!0)],40,AA)])],!0)])],10,xA))),128))])])):(e.openBlock(),e.createElementBlock("ul",UA,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,ae=>(e.openBlock(),e.createElementBlock("li",{key:ae.uuid,class:e.normalizeClass(["media-management-view__item",{"is-selected":e.unref(de).isSelected(ae.uuid),"has-open-actions":T.value===ae.uuid}]),"data-testid":`media-item-${ae.uuid}`},[e.createElementVNode("button",{type:"button",class:"media-management-view__item-thumb","data-testid":`btn-select-${ae.uuid}`,"aria-pressed":e.unref(de).isSelected(ae.uuid),onClick:Fe=>e.unref(de).toggle(ae.uuid)},[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,jA)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,WA))],8,zA),e.createElementVNode("label",HA,[e.createElementVNode("span",ZA,e.toDisplayString(l.value.tableSelectHeader)+" "+e.toDisplayString(e.unref(Ee)(ae)),1),e.createElementVNode("input",{class:"media-management-view__checkbox media-management-view__checkbox--overlay",type:"checkbox",checked:e.unref(de).isSelected(ae.uuid),"data-testid":`checkbox-select-${ae.uuid}`,onClick:we[4]||(we[4]=e.withModifiers(()=>{},["stop"])),onChange:Fe=>e.unref(de).toggle(ae.uuid)},null,40,GA)]),e.createElementVNode("div",XA,[e.createElementVNode("span",{class:"media-management-view__item-name",title:ae.file_name,"data-testid":`media-display-name-${ae.uuid}`},e.toDisplayString(e.unref(Ee)(ae)),9,KA),r.value.showRawFileName===!0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__raw-filename","data-testid":`media-raw-filename-${ae.uuid}`},e.toDisplayString(ae.file_name),9,JA)):e.createCommentVNode("",!0),r.value.showOwner&&ae.user_id?(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-owner","data-testid":`owner-${ae.uuid}`},e.toDisplayString(C(ae)),9,qA)):e.createCommentVNode("",!0),ae.is_orphaned?(e.openBlock(),e.createElementBlock("span",YA,e.toDisplayString(v.value),1)):e.createCommentVNode("",!0),ye(ae)>0?(e.openBlock(),e.createElementBlock("span",{key:3,class:"media-management-view__variant-badge","data-testid":`media-variant-badge-${ae.uuid}`},e.toDisplayString(xe(ye(ae))),9,QA)):e.createCommentVNode("",!0)]),e.renderSlot(X.$slots,"item-actions",e.mergeProps({ref_for:!0},_t(ae)),()=>[e.createElementVNode("div",eR,[e.createElementVNode("div",{class:"media-management-view__action-menu",onKeydown:e.withKeys(e.withModifiers(Ot,["stop"]),["escape"])},[e.createElementVNode("button",{type:"button",class:"media-management-view__action-menu-trigger","data-testid":`btn-actions-menu-${ae.uuid}`,"aria-label":`Actions for ${e.unref(Ee)(ae)}`,"aria-haspopup":"menu","aria-expanded":T.value===ae.uuid?"true":"false",onClick:Fe=>zt(ae.uuid)}," ... ",8,aR),T.value===ae.uuid?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-management-view__action-menu-panel",role:"menu","data-testid":`media-item-actions-menu-${ae.uuid}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oa(ae),Fe=>(e.openBlock(),e.createElementBlock("button",{key:Fe.id,type:"button",class:"media-management-view__action-menu-item",role:"menuitem","data-testid":Fe.testId,onClick:It=>jt(Fe)},e.toDisplayString(Fe.label),9,oR))),128))],8,nR)):e.createCommentVNode("",!0)],40,tR)])],!0)],10,OA))),128))])),e.unref(de).selectedCount.value>0&&O.value?e.renderSlot(X.$slots,"bulk-actions",e.normalizeProps(e.mergeProps({key:6},Tt.value)),()=>[e.createElementVNode("footer",iR,[e.createElementVNode("span",rR,e.toDisplayString(le(e.unref(de).selectedCount.value)),1),r.value.allowCreatePost===!0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-create-post",onClick:we[5]||(we[5]=ae=>Bt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.createPostButton),1)):e.createCommentVNode("",!0),r.value.allowCreateGallery===!0?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-create-gallery",onClick:we[6]||(we[6]=ae=>Nt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.createGalleryButton),1)):e.createCommentVNode("",!0),r.value.allowAddToAlbum===!0?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-add-to-album",onClick:we[7]||(we[7]=ae=>Lt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.addToAlbumButton),1)):e.createCommentVNode("",!0),r.value.allowBulkDelete!==!1?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-management-view__btn-delete","data-testid":"btn-bulk-delete",disabled:e.unref(Ve).isDeleting.value,onClick:se},e.toDisplayString(k.value),9,lR)):e.createCommentVNode("",!0)])],!0):e.createCommentVNode("",!0),z.value.length>0?(e.openBlock(),e.createElementBlock("footer",sR,[e.createElementVNode("span",dR,e.toDisplayString(U.value),1),Ae.value.length>0?(e.openBlock(),e.createElementBlock("div",cR,[we[11]||(we[11]=e.createElementVNode("label",{class:"media-management-view__page-size-label",for:"media-management-page-size-select"},"Show:",-1)),e.createElementVNode("select",{id:"media-management-page-size-select",class:"media-management-view__page-size-select","data-testid":"select-media-management-page-size",value:Ye.value,disabled:e.unref(D).loading.value||e.unref(D).loadingMore.value,onChange:st},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ae.value,ae=>(e.openBlock(),e.createElementBlock("option",{key:ae.value,value:ae.value,"data-testid":`option-page-size-${ae.value}`},e.toDisplayString(ae.label),9,mR))),128))],40,uR)])):e.createCommentVNode("",!0),!X.paginated&&e.unref(D).hasMore.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-management-view__load-more","data-testid":"btn-media-management-load-more",disabled:e.unref(D).loadingMore.value,onClick:J},e.toDisplayString(e.unref(D).loadingMore.value?l.value.loadingMoreButton:l.value.loadMoreButton),9,pR)):e.createCommentVNode("",!0),X.paginated&&(e.unref(D).totalPages.value??0)>1?(e.openBlock(),e.createElementBlock("nav",fR,[e.createElementVNode("button",{type:"button",class:"media-management-view__page-bar-step","data-testid":"btn-media-management-page-prev",disabled:(e.unref(D).currentPage.value??1)<=1||e.unref(D).loading.value,"aria-label":"Previous page",onClick:we[8]||(we[8]=ae=>fe(-1))}," ‹ ",8,hR),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,ae=>(e.openBlock(),e.createElementBlock("button",{key:ae.key,type:"button",class:e.normalizeClass(["media-management-view__page-bar-page",{"is-current":ae.kind==="page"&&ae.value===e.unref(D).currentPage.value}]),"data-testid":ae.kind==="page"?`btn-media-management-page-${ae.value}`:"media-management-page-ellipsis",disabled:ae.kind!=="page"||e.unref(D).loading.value,"aria-current":ae.kind==="page"&&ae.value===e.unref(D).currentPage.value?"page":void 0,"aria-label":ae.kind==="page"?`Page ${ae.value}`:void 0,onClick:Fe=>ae.kind==="page"?De(ae.value):void 0},e.toDisplayString(ae.kind==="page"?ae.value:"…"),11,vR))),128)),e.createElementVNode("button",{type:"button",class:"media-management-view__page-bar-step","data-testid":"btn-media-management-page-next",disabled:(e.unref(D).currentPage.value??1)>=(e.unref(D).totalPages.value??1)||e.unref(D).loading.value,"aria-label":"Next page",onClick:we[9]||(we[9]=ae=>fe(1))}," › ",8,gR)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):N.value==="trash"?(e.openBlock(),e.createElementBlock("section",bR,[e.unref(ce).isLoading.value?(e.openBlock(),e.createElementBlock("div",yR,e.toDisplayString(u.value),1)):e.unref(ce).items.value.length===0?(e.openBlock(),e.createElementBlock("div",wR,[e.renderSlot(X.$slots,"empty-trash",{},()=>[e.createElementVNode("div",kR,[e.createElementVNode("p",_R,e.toDisplayString(f.value),1),e.createElementVNode("p",ER,e.toDisplayString(h.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",SR,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ce).items.value,ae=>(e.openBlock(),e.createElementBlock("li",{key:ae.uuid,class:"media-management-view__item is-trashed","data-testid":`trash-item-${ae.uuid}`},[e.createElementVNode("div",xR,[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,VR)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-trash-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,NR))]),e.createElementVNode("div",TR,[e.createElementVNode("span",BR,e.toDisplayString(ae.file_name),1),ae.purge_after?(e.openBlock(),e.createElementBlock("span",IR,e.toDisplayString(W(ae.purge_after)),1)):e.createCommentVNode("",!0)]),e.renderSlot(X.$slots,"trash-action",e.mergeProps({ref_for:!0},Xt(ae)),()=>[R(ae)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-restore","data-testid":`btn-restore-${ae.uuid}`,disabled:e.unref(ce).isRestoring.value,onClick:Fe=>Ne(ae.uuid)},e.toDisplayString(y.value),9,MR)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__btn-restore is-unavailable","data-testid":`btn-restore-${ae.uuid}-unavailable`,"aria-disabled":!0},e.toDisplayString(w.value),9,$R))],!0)],8,CR))),128))]))])):e.createCommentVNode("",!0),r.value.allowPreview!==!1?(e.openBlock(),e.createBlock(Md,{key:3,open:K.value!==null,media:K.value,"can-go-previous":x.value!==null&&x.value>0,"can-go-next":x.value!==null&&x.value<z.value.length-1,selected:K.value!==null&&e.unref(de).isSelected(K.value.uuid),"close-label":l.value.previewCloseButton,"previous-label":l.value.previewPreviousButton,"next-label":l.value.previewNextButton,"select-label":l.value.previewSelectButton,"deselect-label":l.value.previewDeselectButton,onClose:lt,onPrevious:Ct,onNext:Se,onToggleSelect:we[10]||(we[10]=ae=>e.unref(de).toggle(ae.uuid))},null,8,["open","media","can-go-previous","can-go-next","selected","close-label","previous-label","next-label","select-label","deselect-label"])):e.createCommentVNode("",!0)]))}}),Pf=$e(FR,[["__scopeId","data-v-403d0484"]]),DR={class:"media-library-workspace","data-testid":"media-library-workspace"},AR=e.defineComponent({__name:"MediaLibraryWorkspace",props:{httpClient:{},filters:{default:()=>({sort:"newest"})},initialView:{default:()=>({scope:"library"})},capabilities:{default:()=>({})},labels:{default:()=>({})},groupVariants:{type:Boolean,default:!0}},emits:["filters-change","create-post","create-gallery","add-to-album","edit","deleted","restored","restore-conflict","error"],setup(o,{emit:a}){const t=o,n=a;function i(s){return{...s,...s.kinds!==void 0?{kinds:[...s.kinds]}:{},...s.selected_uuids!==void 0?{selected_uuids:[...s.selected_uuids]}:{}}}const r=e.ref(i(t.filters));e.watch(()=>t.filters,s=>{r.value=i(s)},{deep:!0});function l(s){r.value=i(s),n("filters-change",r.value)}return(s,d)=>(e.openBlock(),e.createElementBlock("section",DR,[e.createVNode(Pf,{"http-client":t.httpClient,filters:r.value,"initial-view":t.initialView,"group-variants":t.groupVariants,capabilities:{showHeader:!1,showTrash:!1,allowAddToAlbum:t.capabilities.allowAddToAlbum,allowBulkDelete:t.capabilities.allowBulkDelete,allowCreateGallery:t.capabilities.allowCreateGallery,allowCreatePost:t.capabilities.allowCreatePost,showRawFileName:t.capabilities.showRawFileName,allowPreview:t.capabilities.allowPreview,allowImageEdit:t.capabilities.allowImageEdit,allowVideoEdit:t.capabilities.allowVideoEdit},labels:{title:t.labels.title??"Media"},onCreatePost:d[0]||(d[0]=c=>n("create-post",c)),onCreateGallery:d[1]||(d[1]=c=>n("create-gallery",c)),onAddToAlbum:d[2]||(d[2]=c=>n("add-to-album",c)),onEdit:d[3]||(d[3]=c=>n("edit",c)),onDeleted:d[4]||(d[4]=c=>n("deleted",c)),onRestored:d[5]||(d[5]=c=>n("restored",c)),onRestoreConflict:d[6]||(d[6]=c=>n("restore-conflict",c)),onError:d[7]||(d[7]=c=>n("error",c))},{"filter-bar":e.withCtx(()=>[e.createVNode(Rf,{filters:r.value,"scope-label":t.labels.scopeLabel??"","onUpdate:filters":l},null,8,["filters","scope-label"])]),"bulk-actions":e.withCtx(c=>[e.renderSlot(s.$slots,"bulk-actions",e.normalizeProps(e.guardReactiveProps(c)),void 0,!0)]),"item-actions":e.withCtx(c=>[e.renderSlot(s.$slots,"item-actions",e.normalizeProps(e.guardReactiveProps(c)),void 0,!0)]),"empty-library":e.withCtx(()=>[e.renderSlot(s.$slots,"empty-library",{},void 0,!0)]),_:3},8,["http-client","filters","initial-view","group-variants","capabilities","labels"])]))}}),Uf=$e(AR,[["__scopeId","data-v-28ba5859"]]),RR=["data-testid"],LR={class:"media-empty-state__illustration","aria-hidden":"true"},PR={class:"media-empty-state__copy"},UR={class:"media-empty-state__title"},OR={key:0,class:"media-empty-state__description"},zR={class:"media-empty-state__actions"},jR=e.defineComponent({__name:"MediaEmptyState",props:{title:{},description:{default:""},actionLabel:{default:""},testId:{default:"media-empty-state"}},emits:["action"],setup(o,{emit:a}){const t=o,n=a;return(i,r)=>(e.openBlock(),e.createElementBlock("section",{class:"media-empty-state","data-testid":t.testId},[e.createElementVNode("div",LR,[e.renderSlot(i.$slots,"illustration",{},()=>[r[1]||(r[1]=e.createElementVNode("span",{class:"media-empty-state__icon"},"□",-1))],!0)]),e.createElementVNode("div",PR,[e.createElementVNode("h3",UR,e.toDisplayString(t.title),1),t.description!==""?(e.openBlock(),e.createElementBlock("p",OR,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",zR,[e.renderSlot(i.$slots,"actions",{},()=>[t.actionLabel!==""?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-empty-state__action","data-testid":"btn-media-empty-state-action",onClick:r[0]||(r[0]=l=>n("action"))},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0)],!0)])],8,RR))}}),Of=$e(jR,[["__scopeId","data-v-7b8e2619"]]),WR={class:"media-trash-workspace","data-testid":"media-trash-workspace"},HR={class:"media-trash-workspace__header"},ZR={key:0,class:"media-trash-workspace__status"},GR={key:2,class:"media-trash-workspace__grid"},XR=["data-testid"],KR={class:"media-trash-workspace__select"},JR=["checked","data-testid","onChange"],qR=["src","alt"],YR={key:1,class:"media-trash-workspace__purge"},QR=e.defineComponent({__name:"MediaTrashWorkspace",props:{httpClient:{},labels:{default:()=>({})}},emits:["restored","purged","error"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var p,f,h,v,k,y;return{title:((p=t.labels)==null?void 0:p.title)??"Trash",emptyTitle:((f=t.labels)==null?void 0:f.emptyTitle)??"Your trash is empty",emptyDescription:((h=t.labels)==null?void 0:h.emptyDescription)??"Deleted files appear here before permanent removal.",restore:((v=t.labels)==null?void 0:v.restore)??"Restore",purge:((k=t.labels)==null?void 0:k.purge)??"Delete forever",emptyTrash:((y=t.labels)==null?void 0:y.emptyTrash)??"Empty trash"}}),r=Pd({httpClient:t.httpClient}),l=tl(r.items);function s(p){return p.thumbnail_url??p.preview_url??p.original_url??null}async function d(){const p=Array.from(l.selectedIds.value),f=[];try{for(const h of p)(await r.restore(h)).status==="restored"&&f.push(h);l.clear(),n("restored",f)}catch(h){n("error",h instanceof Error?h:new Error(String(h)))}}async function c(){const p=Array.from(l.selectedIds.value);await m(p)}async function u(){await m(r.items.value.map(p=>p.uuid))}async function m(p){const f=[];try{for(const h of p)(await r.purge(h)).status==="purging"&&f.push(h);l.clear(),n("purged",f)}catch(h){n("error",h instanceof Error?h:new Error(String(h)))}}return e.onMounted(()=>{r.fetch().catch(p=>{n("error",p instanceof Error?p:new Error(String(p)))})}),(p,f)=>(e.openBlock(),e.createElementBlock("section",WR,[e.createElementVNode("header",HR,[e.createElementVNode("h2",null,e.toDisplayString(i.value.title),1),e.unref(r).items.value.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","data-testid":"btn-media-empty-trash",onClick:u},e.toDisplayString(i.value.emptyTrash),1)):e.createCommentVNode("",!0)]),e.unref(r).isLoading.value?(e.openBlock(),e.createElementBlock("p",ZR,"Loading...")):e.unref(r).items.value.length===0?(e.openBlock(),e.createBlock(Of,{key:1,title:i.value.emptyTitle,description:i.value.emptyDescription,"test-id":"media-empty-trash"},null,8,["title","description"])):(e.openBlock(),e.createElementBlock("ul",GR,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).items.value,h=>(e.openBlock(),e.createElementBlock("li",{key:h.uuid,class:e.normalizeClass(["media-trash-workspace__item",{"is-selected":e.unref(l).isSelected(h.uuid)}]),"data-testid":`media-trash-item-${h.uuid}`},[e.createElementVNode("label",KR,[e.createElementVNode("input",{type:"checkbox",checked:e.unref(l).isSelected(h.uuid),"data-testid":`checkbox-trash-${h.uuid}`,onChange:v=>e.unref(l).toggle(h.uuid)},null,40,JR),e.createElementVNode("span",null,e.toDisplayString(h.file_name),1)]),s(h)?(e.openBlock(),e.createElementBlock("img",{key:0,src:s(h)??"",alt:h.alt_text??h.file_name},null,8,qR)):e.createCommentVNode("",!0),h.purge_after?(e.openBlock(),e.createElementBlock("span",YR,e.toDisplayString(h.purge_after),1)):e.createCommentVNode("",!0)],10,XR))),128))])),e.createVNode(Rd,{"selected-count":e.unref(l).selectedCount.value,"cross-page-count":e.unref(l).crossPageCount.value,scope:"trash",labels:{restore:i.value.restore,purge:i.value.purge},onBulkRestore:d,onBulkPurge:c,onClear:e.unref(l).clear},null,8,["selected-count","cross-page-count","labels","onClear"])]))}}),zf=$e(QR,[["__scopeId","data-v-3b1b3c56"]]),eL=["data-density"],tL={class:"media-library-shell__toolbar"},aL={class:"media-library-shell__tabs","aria-label":"Media library sections"},nL=["aria-label"],oL=["data-testid","onClick"],iL={key:2,class:"media-library-shell__uploads","data-testid":"media-library-uploads","aria-live":"polite"},rL=["data-testid"],lL={class:"media-library-shell__upload-thumb"},sL=["src","alt"],dL={key:1,"aria-hidden":"true"},cL={class:"media-library-shell__upload-meta"},uL={class:"media-library-shell__upload-name"},mL={class:"media-library-shell__upload-status"},pL=["data-testid","onClick"],fL={class:"media-library-shell__workspace"},hL={key:0,class:"media-library-shell__breadcrumb","data-testid":"media-album-breadcrumb"},vL={class:"media-library-shell__breadcrumb-name"},gL=["aria-label"],bL={class:"media-album-grid__toolbar"},yL=["placeholder","aria-label"],wL={class:"media-album-grid__tiles",role:"list"},kL={class:"media-album-grid__new-tile-label"},_L=["data-testid","onClick"],EL={class:"media-album-grid__cover","aria-hidden":"true"},SL=["src"],CL={key:1,class:"media-album-grid__cover-initial"},xL={class:"media-album-grid__tile-meta"},VL={class:"media-album-grid__tile-name"},NL={class:"media-album-grid__tile-count"},TL={key:0,class:"media-album-grid__empty","data-testid":"media-album-grid-empty-search"},BL={key:1,class:"media-album-grid__empty","data-testid":"media-album-grid-empty"},ju="media-library:density",Wu="media-library:recent-albums",Hu=5,IL=e.defineComponent({__name:"MediaLibraryShell",props:{httpClient:{},albumHttpClient:{},albumBaseUrl:{},initialTab:{default:"library"},initialAlbumId:{default:null},initialFilters:{default:()=>({sort:"newest"})},capabilities:{default:()=>({})},labels:{default:()=>({})},currentRoute:{},routerPush:{},routerReplace:{}},emits:["tab-change","album-change","filters-change","selection-change","create-post","create-gallery","add-to-album","edit","deleted","restored","restore-conflict","error"],setup(o,{emit:a}){function t(){if(typeof window>"u")return"comfortable";try{return window.localStorage.getItem(ju)==="compact"?"compact":"comfortable"}catch{return"comfortable"}}function n(J){if(!(typeof window>"u"))try{window.localStorage.setItem(ju,J)}catch{}}function i(){if(typeof window>"u")return[];try{const J=window.localStorage.getItem(Wu);if(typeof J!="string"||J==="")return[];const ne=JSON.parse(J);return Array.isArray(ne)?ne.filter(De=>typeof De=="string"):[]}catch{return[]}}function r(J){if(!(typeof window>"u"))try{window.localStorage.setItem(Wu,JSON.stringify(J.slice(0,Hu)))}catch{}}const l=o,s=a,d=e.ref(l.initialTab),c=e.ref(l.initialAlbumId),u=e.ref({...l.initialFilters}),m=e.ref(null),p=e.ref(null),f=e.ref(!1),h=e.ref(null),v=e.ref(null),k=e.ref(t()),y=e.ref(i()),w=e.ref(!1),g=e.ref("");function b(){if(typeof document>"u")return!1;const J=document.activeElement;if(!(J instanceof HTMLElement))return!1;if(J.isContentEditable)return!0;const ne=J.tagName.toLowerCase();return ne==="input"||ne==="textarea"||ne==="select"}function R(J){J.key==="?"&&(J.metaKey||J.ctrlKey||J.altKey||b()||(J.preventDefault(),w.value=!0))}const N=e.computed(()=>d.value==="albums"&&c.value===null),I=e.computed(()=>d.value==="albums"&&c.value!==null&&c.value!=="unfiled"),x=e.computed(()=>{var J;return c.value===null||c.value==="unfiled"?"":((J=D.albumsById.value.get(c.value))==null?void 0:J.name)??""}),T=e.computed(()=>{const J=g.value.trim().toLowerCase(),ne=D.albums.value;return J===""?ne:ne.filter(De=>De.name.toLowerCase().includes(J))});function $(J){const ne=J.name.trim();return ne.length===0?"·":ne.charAt(0).toUpperCase()}function S(J){var fe,Ae,Ye;const ne=J.cover_media;if(ne==null)return null;const De=((fe=ne.urls)==null?void 0:fe.thumb)??((Ae=ne.urls)==null?void 0:Ae.preview)??((Ye=ne.urls)==null?void 0:Ye.original)??null;return typeof De=="string"&&De!==""?De:null}function B(J){return O.value.itemsCount(J.media_count)}const _=e.computed(()=>y.value.map(J=>{const ne=D.albumsById.value.get(J);return ne?{id:J,name:ne.name}:null}).filter(J=>J!==null));function A(J){const ne=[J,...y.value.filter(De=>De!==J)].slice(0,Hu);y.value=ne,r(ne)}const P=e.computed(()=>u.value.sort??"newest"),D=Nl(),z=Mf({httpClient:l.httpClient,onMediaUploaded:()=>{M.value+=1}}),M=e.ref(0);function Z(J){J.length!==0&&z.uploadFiles(J).catch(ne=>{s("error",ne instanceof Error?ne:new Error(String(ne)))})}const O=e.computed(()=>{var J,ne,De,fe,Ae,Ye,st,Bt,Nt,Lt,Pt,zt,Ot,jt,oa,Q,ge,me,se,Ne,Pe,et,gt;return{library:((J=l.labels)==null?void 0:J.library)??((ne=l.labels)==null?void 0:ne.libraryTab)??"Library",libraryTab:((De=l.labels)==null?void 0:De.libraryTab)??((fe=l.labels)==null?void 0:fe.library)??"Library",albums:((Ae=l.labels)==null?void 0:Ae.albums)??((Ye=l.labels)==null?void 0:Ye.albumsTab)??"Albums",albumsTab:((st=l.labels)==null?void 0:st.albumsTab)??((Bt=l.labels)==null?void 0:Bt.albums)??"Albums",trash:((Nt=l.labels)==null?void 0:Nt.trash)??((Lt=l.labels)==null?void 0:Lt.trashTab)??"Trash",trashTab:((Pt=l.labels)==null?void 0:Pt.trashTab)??((zt=l.labels)==null?void 0:zt.trash)??"Trash",allMedia:((Ot=l.labels)==null?void 0:Ot.allMedia)??"All media",unfiled:((jt=l.labels)==null?void 0:jt.unfiled)??"Unfiled",newAlbum:((oa=l.labels)==null?void 0:oa.newAlbum)??"New album",selectionScope:((Q=l.labels)==null?void 0:Q.selectionScope)??"Showing selected items",exitSelectionScope:((ge=l.labels)==null?void 0:ge.exitSelectionScope)??"Exit selection view",findAlbum:((me=l.labels)==null?void 0:me.findAlbum)??"Find album…",noAlbumsYet:((se=l.labels)==null?void 0:se.noAlbumsYet)??"No albums yet — albums are private buckets where you group photos and videos. Create your first one above to start organising your work.",noAlbumMatchesFound:((Ne=l.labels)==null?void 0:Ne.noAlbumMatchesFound)??"No albums match your search.",itemsCount:((Pe=l.labels)==null?void 0:Pe.itemsCount)??(Tt=>`${Tt} ${Tt===1?"item":"items"}`),newAlbumNamePrompt:((et=l.labels)==null?void 0:et.newAlbumNamePrompt)??"Name this album",recentSection:((gt=l.labels)==null?void 0:gt.recentSection)??"Recent albums"}}),K=e.computed(()=>h.value!==null?{scope:"library"}:c.value==="unfiled"?{scope:"unfiled"}:c.value!==null?{scope:"album",albumId:c.value}:{scope:"library"}),de=e.computed(()=>h.value!==null?{...u.value,selected_uuids:[...h.value],unfiled_only:!1}:u.value),Ve=e.computed(()=>{if(c.value===null||c.value==="unfiled")return null;const J=D.albumsById.value.get(c.value);return{uuid:c.value,name:(J==null?void 0:J.name)??"this album"}}),ce=e.computed(()=>d.value==="trash"?"trash":h.value!==null?"selection":Ve.value!==null?"album":"all"),le=e.computed(()=>d.value==="trash"?O.value.trash:h.value!==null?O.value.selectionScope:c.value==="unfiled"?O.value.unfiled:Ve.value!==null?Ve.value.name:O.value.allMedia);function W(J){var ne,De,fe;d.value!==J&&(d.value=J,s("tab-change",J),J==="trash"?(ne=l.routerPush)==null||ne.call(l,"/media/trash"):J==="albums"?(De=l.routerPush)==null||De.call(l,"/media/albums"):(fe=l.routerPush)==null||fe.call(l,"/media"))}function C(J){var ne;be(),c.value=J,d.value="albums",A(J),u.value={...u.value,unfiled_only:!1},s("album-change",J),(ne=l.routerPush)==null||ne.call(l,`/media/album/${encodeURIComponent(J)}`)}function U(){var J;be(),c.value=null,d.value="albums",u.value={...u.value,unfiled_only:!1},s("album-change",null),(J=l.routerPush)==null||J.call(l,"/media/albums")}async function j(J){if(c.value===null||c.value==="unfiled")return;const ne=c.value;try{await D.updateAlbum(ne,{meta:{cover_media_uuid:J.uuid}}),D.fetchAlbums({parent_id:null})}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}async function ie(){if(typeof window>"u")return;const J=window.prompt(O.value.newAlbumNamePrompt);if(J===null)return;const ne=J.trim();if(ne!=="")try{const De=await D.createAlbum({name:ne});De!=null&&C(De.id)}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}function ue(){return d.value==="trash"?"/media/trash":c.value==="unfiled"?"/media/unfiled":c.value!==null?`/media/album/${encodeURIComponent(c.value)}`:"/media"}function Xe(J){var ne;J.length!==0&&(h.value===null&&(v.value=ue()),h.value=[...J],(ne=l.routerPush)==null||ne.call(l,{path:"/media",query:{view:"selection"}}))}function be(){h.value=null,v.value=null}function Ee(){var ne;const J=v.value;be(),J!==null&&((ne=l.routerPush)==null||ne.call(l,J))}function ye(J){var ne;u.value={...u.value,sort:J},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function xe(J){k.value=J,n(J)}function Ce(J){var ne;u.value={...u.value,created_after:J.starts_at,created_before:J.ends_at},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function Re(){var ne;const J={...u.value};delete J.created_after,delete J.created_before,u.value=J,s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}const ze=e.computed(()=>u.value.created_after!==void 0||u.value.created_before!==void 0);function rt(J){var ne;u.value={...J,...J.kinds!==void 0?{kinds:[...J.kinds]}:{},...J.selected_uuids!==void 0?{selected_uuids:[...J.selected_uuids]}:{}},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function at(){of({...l.albumHttpClient!==void 0?{httpClient:l.albumHttpClient}:{},...l.albumBaseUrl!==void 0?{albumBaseUrl:l.albumBaseUrl}:{}})}function Dt(J){J.mediaIds.length!==0&&(p.value=J,f.value=!0)}function ht(){f.value=!1,p.value=null,ut.value=null}async function St(J){const ne=p.value;if(ne===null)return;const De=ut.value;try{await D.attachMedia(J,ne.mediaIds),De!==null&&await Promise.all(ne.mediaIds.map(fe=>D.detachMedia(De,fe))),f.value=!1,p.value=null,ut.value=null,s("add-to-album",ne)}catch(fe){s("error",fe instanceof Error?fe:new Error(String(fe)))}}const ut=e.ref(null);function lt(J){J.mediaIds.length===0||Ve.value===null||(p.value=J,ut.value=Ve.value.uuid,f.value=!0)}async function Ct(J){if(J.mediaIds.length===0||Ve.value===null)return;const ne=Ve.value.uuid;try{await Promise.all(J.mediaIds.map(De=>D.detachMedia(ne,De)))}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}e.watch(()=>l.initialAlbumId,J=>{c.value=J});function Se(J){J===null||J==="unfiled"||D.albumsById.value.has(J)||D.fetchAlbum(J).catch(ne=>{s("error",ne instanceof Error?ne:new Error(String(ne)))})}return e.watch(()=>c.value,J=>Se(J)),at(),e.onMounted(()=>{Se(c.value),D.fetchAlbums({parent_id:null}).catch(J=>{s("error",J instanceof Error?J:new Error(String(J)))}),typeof window<"u"&&window.addEventListener("keydown",R)}),e.onUnmounted(()=>{typeof window<"u"&&window.removeEventListener("keydown",R)}),e.watch(()=>[l.albumHttpClient,l.albumBaseUrl],()=>at()),(J,ne)=>{var De;return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["media-library-shell",{"is-density-compact":k.value==="compact"}]),"data-density":k.value,"data-testid":"media-library-shell"},[e.createElementVNode("header",tL,[e.createElementVNode("nav",aL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="library"}),"data-testid":"tab-media-library",onClick:ne[0]||(ne[0]=fe=>W("library"))},e.toDisplayString(O.value.library),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="albums"}),"data-testid":"tab-media-albums",onClick:ne[1]||(ne[1]=fe=>W("albums"))},e.toDisplayString(O.value.albums),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="trash"}),"data-testid":"tab-media-trash",onClick:ne[2]||(ne[2]=fe=>W("trash"))},e.toDisplayString(O.value.trash),3)]),e.createElementVNode("button",{type:"button",class:"media-library-shell__shortcut-trigger","data-testid":"btn-media-shortcuts","aria-label":"Show keyboard shortcuts",onClick:ne[3]||(ne[3]=fe=>w.value=!0)}," ? "),h.value!==null?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-library-shell__exit-selection","data-testid":"btn-media-exit-selection-scope",onClick:Ee},e.toDisplayString(O.value.exitSelectionScope),1)):e.createCommentVNode("",!0)]),d.value!=="trash"&&!N.value?(e.openBlock(),e.createBlock(Bf,{key:0,class:"media-library-shell__toolbar-row",sort:P.value,density:k.value,"has-date-filter":ze.value,"http-client":l.httpClient,"onUpdate:sort":ye,"onUpdate:density":xe,onJumpTo:Ce,onJumpToAll:Re,onUploadFiles:Z},null,8,["sort","density","has-date-filter","http-client"])):e.createCommentVNode("",!0),_.value.length>0&&d.value!=="trash"&&!N.value&&!I.value?(e.openBlock(),e.createElementBlock("nav",{key:1,class:"media-library-shell__recent-albums","data-testid":"media-library-recent-albums","aria-label":O.value.recentSection},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,fe=>(e.openBlock(),e.createElementBlock("button",{key:fe.id,type:"button",class:"media-library-shell__recent-chip","data-testid":`btn-media-recent-album-${fe.id}`,onClick:Ae=>C(fe.id)},e.toDisplayString(fe.name),9,oL))),128))],8,nL)):e.createCommentVNode("",!0),e.unref(z).uploads.value.length>0&&d.value!=="trash"?(e.openBlock(),e.createElementBlock("div",iL,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z).uploads.value,fe=>(e.openBlock(),e.createElementBlock("article",{key:fe.cid,class:e.normalizeClass(["media-library-shell__upload-tile",`is-status-${fe.status}`]),"data-testid":`upload-tile-${fe.cid}`},[e.createElementVNode("div",lL,[fe.previewUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:fe.previewUrl,alt:fe.fileName},null,8,sL)):(e.openBlock(),e.createElementBlock("span",dL,"⤴"))]),e.createElementVNode("div",cL,[e.createElementVNode("span",uL,e.toDisplayString(fe.fileName),1),e.createElementVNode("span",mL,[fe.status==="uploading"||fe.status==="queued"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("Uploading…")],64)):fe.status==="success"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode("Uploaded")],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(fe.errorMessage??"Upload failed"),1)],64))])]),e.createElementVNode("button",{type:"button",class:"media-library-shell__upload-dismiss","data-testid":`btn-upload-dismiss-${fe.cid}`,onClick:Ae=>e.unref(z).dismiss(fe.cid)}," × ",8,pL)],10,rL))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["media-library-shell__body",{"has-inspector-target":m.value!==null}])},[e.createElementVNode("main",fL,[I.value?(e.openBlock(),e.createElementBlock("header",hL,[e.createElementVNode("button",{type:"button",class:"media-library-shell__breadcrumb-back","data-testid":"btn-media-album-back",onClick:U}," ← "+e.toDisplayString(O.value.albums),1),ne[15]||(ne[15]=e.createElementVNode("span",{class:"media-library-shell__breadcrumb-sep","aria-hidden":"true"},"/",-1)),e.createElementVNode("span",vL,e.toDisplayString(x.value),1)])):e.createCommentVNode("",!0),d.value==="trash"?(e.openBlock(),e.createBlock(zf,{key:1,"http-client":l.httpClient,onError:ne[4]||(ne[4]=fe=>s("error",fe))},null,8,["http-client"])):N.value?(e.openBlock(),e.createElementBlock("section",{key:2,class:"media-album-grid","data-testid":"media-album-grid","aria-label":O.value.albums},[e.createElementVNode("header",bL,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":ne[5]||(ne[5]=fe=>g.value=fe),type:"search",class:"media-album-grid__search",placeholder:O.value.findAlbum,"data-testid":"input-media-album-filter","aria-label":O.value.findAlbum},null,8,yL),[[e.vModelText,g.value]])]),e.createElementVNode("div",wL,[e.createElementVNode("button",{type:"button",class:"media-album-grid__new-tile","data-testid":"btn-media-album-new-tile",role:"listitem",onClick:ie},[ne[16]||(ne[16]=e.createElementVNode("span",{class:"media-album-grid__new-tile-glyph","aria-hidden":"true"},"+",-1)),e.createElementVNode("span",kL,e.toDisplayString(O.value.newAlbum),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,fe=>(e.openBlock(),e.createElementBlock("button",{key:fe.id,type:"button",class:"media-album-grid__tile","data-testid":`media-album-tile-${fe.id}`,role:"listitem",onClick:Ae=>C(fe.id)},[e.createElementVNode("div",EL,[S(fe)!==null?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-album-grid__cover-image",src:S(fe),alt:"",loading:"lazy"},null,8,SL)):(e.openBlock(),e.createElementBlock("span",CL,e.toDisplayString($(fe)),1))]),e.createElementVNode("div",xL,[e.createElementVNode("span",VL,e.toDisplayString(fe.name),1),e.createElementVNode("span",NL,e.toDisplayString(B(fe)),1)])],8,_L))),128))]),T.value.length===0&&g.value!==""?(e.openBlock(),e.createElementBlock("p",TL,e.toDisplayString(O.value.noAlbumMatchesFound),1)):T.value.length===0?(e.openBlock(),e.createElementBlock("p",BL,e.toDisplayString(O.value.noAlbumsYet),1)):e.createCommentVNode("",!0)],8,gL)):(e.openBlock(),e.createBlock(Uf,{key:`workspace-${M.value}`,"http-client":l.httpClient,filters:de.value,"initial-view":K.value,capabilities:l.capabilities,labels:{scopeLabel:le.value},onFiltersChange:rt,onCreatePost:ne[6]||(ne[6]=fe=>s("create-post",fe)),onCreateGallery:ne[7]||(ne[7]=fe=>s("create-gallery",fe)),onAddToAlbum:Dt,onEdit:ne[8]||(ne[8]=fe=>s("edit",fe)),onDeleted:ne[9]||(ne[9]=fe=>s("deleted",fe)),onRestored:ne[10]||(ne[10]=fe=>s("restored",fe)),onRestoreConflict:ne[11]||(ne[11]=fe=>s("restore-conflict",fe)),onError:ne[12]||(ne[12]=fe=>s("error",fe))},{"bulk-actions":e.withCtx(fe=>[e.createVNode(Rd,{"selected-count":fe.selectedCount,"cross-page-count":fe.crossPageCount,scope:ce.value,"source-album":Ve.value,capabilities:l.capabilities,onClear:fe.clearSelection,onBulkMoveToTrash:fe.onBulkDelete,onBulkAddToAlbum:Ae=>{var Ye;return(Ye=fe.onAddToAlbum)==null?void 0:Ye.call(fe)},onBulkMoveBetweenAlbums:Ae=>lt({mediaIds:fe.selectedItemIds,items:fe.selectedItems,source:"bulk"}),onBulkRemoveFromCurrentAlbum:Ae=>void Ct({mediaIds:fe.selectedItemIds,items:fe.selectedItems,source:"bulk"}),onBulkCreatePost:Ae=>{var Ye;return(Ye=fe.onCreatePost)==null?void 0:Ye.call(fe)},onBulkCreateGallery:Ae=>{var Ye;return(Ye=fe.onCreateGallery)==null?void 0:Ye.call(fe)},onInspect:Ae=>fe.crossPageCount>0?Xe(fe.selectedItemIds):m.value={kind:"multi",count:fe.selectedCount,items:fe.selectedItems}},null,8,["selected-count","cross-page-count","scope","source-album","capabilities","onClear","onBulkMoveToTrash","onBulkAddToAlbum","onBulkMoveBetweenAlbums","onBulkRemoveFromCurrentAlbum","onBulkCreatePost","onBulkCreateGallery","onInspect"])]),_:1},8,["http-client","filters","initial-view","capabilities","labels"]))]),e.createVNode(Tf,{open:f.value,"selected-count":((De=p.value)==null?void 0:De.mediaIds.length)??0,onCancel:ht,onConfirm:St,onError:ne[13]||(ne[13]=fe=>s("error",fe))},null,8,["open","selected-count"]),e.createVNode(Af,{class:"media-library-shell__inspector",target:m.value,"http-client":l.httpClient,capabilities:l.capabilities,"in-album-scope":c.value!==null&&c.value!=="unfiled",onSetAsAlbumCover:j},null,8,["target","http-client","capabilities","in-album-scope"])],2),e.createVNode(If,{open:w.value,onClose:ne[14]||(ne[14]=fe=>w.value=!1)},null,8,["open"])],10,eL)}}}),ML=$e(IL,[["__scopeId","data-v-384bd4f9"]]),$L={class:"album-nav-rail__search"},FL={class:"album-nav-rail__sr-only"},DL=["placeholder"],AL={class:"album-nav-rail__primary","aria-label":"Media scopes"},RL={class:"album-nav-rail__count"},LL={class:"album-nav-rail__count"},PL={key:0,class:"album-nav-rail__recent","data-testid":"album-rail-recent","aria-label":"Recent albums"},UL={class:"album-nav-rail__section-label"},OL=["data-testid","onClick"],zL={class:"album-nav-rail__tree"},jL={class:"album-nav-rail__utility"},WL={class:"album-nav-rail__count"},HL=e.defineComponent({__name:"AlbumNavRail",props:{activeAlbumId:{},collapsed:{type:Boolean,default:!1},allowDragDropTarget:{type:Boolean,default:!1},mediaCounts:{default:()=>({})},labels:{default:()=>({})},recentAlbums:{default:()=>[]}},emits:["change-album","create-album","drop-media","open-trash"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.ref(""),l=e.ref([]),s=e.ref(null),d=e.computed(()=>{var y,w,g,b,R,N;return{allMedia:((y=t.labels)==null?void 0:y.allMedia)??"All media",unfiled:((w=t.labels)==null?void 0:w.unfiled)??"Unfiled",newAlbum:((g=t.labels)==null?void 0:g.newAlbum)??"New album",findAlbum:((b=t.labels)==null?void 0:b.findAlbum)??"Find album...",trash:((R=t.labels)==null?void 0:R.trash)??"Trash",recentSection:((N=t.labels)==null?void 0:N.recentSection)??"Recent"}});function c(y){return typeof y=="number"&&Number.isFinite(y)?String(y):""}function u(y){n("change-album",y.id)}function m(y,w){i.value=!1,n("create-album",w?{name:y,parentId:w}:{name:y})}function p(y){var g;const w=((g=y.dataTransfer)==null?void 0:g.getData("application/x-mediables-media-ids"))??"";if(w.trim()==="")return l.value;try{const b=JSON.parse(w);return Array.isArray(b)?b.filter(R=>typeof R=="string"&&R.trim()!==""):[]}catch{return w.split(",").map(b=>b.trim()).filter(b=>b!=="")}}function f(y,w){t.allowDragDropTarget&&(y.preventDefault(),s.value=w)}function h(){s.value=null}function v(y,w){if(!t.allowDragDropTarget)return;y.preventDefault();const g=p(y);s.value=null,g.length!==0&&n("drop-media",{albumId:w==="all"||w==="unfiled"?null:w,mediaIds:g})}const k=e.computed(()=>({"is-collapsed":t.collapsed}));return(y,w)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["album-nav-rail",k.value]),"data-testid":"album-rail"},[e.createElementVNode("label",$L,[e.createElementVNode("span",FL,e.toDisplayString(d.value.findAlbum),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=g=>r.value=g),type:"search",placeholder:d.value.findAlbum,"data-testid":"input-album-rail-search"},null,8,DL),[[e.vModelText,r.value]])]),e.createElementVNode("nav",AL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row",{"is-active":t.activeAlbumId===null,"is-drop-target":s.value==="all"}]),"data-testid":"album-rail-row-all",onClick:w[1]||(w[1]=g=>n("change-album",null)),onDragover:w[2]||(w[2]=g=>f(g,"all")),onDragleave:h,onDrop:w[3]||(w[3]=g=>v(g,"all"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.allMedia),1),e.createElementVNode("span",RL,e.toDisplayString(c(t.mediaCounts.all)),1)],34),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row",{"is-active":t.activeAlbumId==="unfiled","is-drop-target":s.value==="unfiled"}]),"data-testid":"album-rail-row-unfiled",onClick:w[4]||(w[4]=g=>n("change-album","unfiled")),onDragover:w[5]||(w[5]=g=>f(g,"unfiled")),onDragleave:h,onDrop:w[6]||(w[6]=g=>v(g,"unfiled"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.unfiled),1),e.createElementVNode("span",LL,e.toDisplayString(c(t.mediaCounts.unfiled)),1)],34)]),t.recentAlbums.length>0?(e.openBlock(),e.createElementBlock("section",PL,[e.createElementVNode("p",UL,e.toDisplayString(d.value.recentSection),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.recentAlbums,g=>(e.openBlock(),e.createElementBlock("button",{key:`recent-${g.id}`,type:"button",class:e.normalizeClass(["album-nav-rail__row album-nav-rail__row--recent",{"is-active":t.activeAlbumId===g.id}]),"data-testid":`album-rail-recent-${g.id}`,onClick:b=>n("change-album",g.id)},[e.createElementVNode("span",null,e.toDisplayString(g.name),1)],10,OL))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",zL,[e.createVNode(Tl,{"model-value":t.activeAlbumId==="unfiled"?null:t.activeAlbumId,mode:"rail",compact:!0,draggable:!1,onAlbumSelected:u},null,8,["model-value"])]),e.createElementVNode("button",{type:"button",class:"album-nav-rail__new","data-testid":"btn-album-rail-new",onClick:w[7]||(w[7]=g=>i.value=!0)}," + "+e.toDisplayString(d.value.newAlbum),1),e.createVNode(Id,{open:i.value,onCancel:w[8]||(w[8]=g=>i.value=!1),onCreate:m},null,8,["open"]),e.createElementVNode("div",jL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row album-nav-rail__row--utility",{"is-drop-target":s.value==="trash"}]),"data-testid":"album-rail-row-trash",onClick:w[9]||(w[9]=g=>n("open-trash")),onDragover:w[10]||(w[10]=g=>f(g,"trash")),onDragleave:h,onDrop:w[11]||(w[11]=g=>v(g,"trash"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.trash),1),e.createElementVNode("span",WL,e.toDisplayString(c(t.mediaCounts.trash)),1)],34)])],2))}}),ZL=$e(HL,[["__scopeId","data-v-0913c5b6"]]),GL={key:0,class:"media-selection-tray","data-testid":"media-selection-tray"},XL={class:"media-selection-tray__header"},KL={class:"media-selection-tray__title"},JL={class:"media-selection-tray__items"},qL={class:"media-selection-tray__item-preview"},YL=["src","alt"],QL={key:1,class:"media-selection-tray__file-icon"},eP={class:"media-selection-tray__item-copy"},tP=["aria-label","onClick"],aP=e.defineComponent({__name:"MediaSelectionTray",props:{items:{},selectedCountLabel:{default:"Selected items"},dismissLabel:{default:"Remove"}},emits:["remove"],setup(o,{emit:a}){const t=a;function n(r){var l;return r?r.thumbnail_url??((l=r.conversion_urls)==null?void 0:l.thumb)??r.preview_url??r.original_url??r.url??null:null}function i(r){return r!=null&&r.mime_type?r.mime_type.startsWith("image/"):!1}return(r,l)=>r.items.length>0?(e.openBlock(),e.createElementBlock("section",GL,[e.createElementVNode("header",XL,[e.createElementVNode("h3",KL,e.toDisplayString(r.selectedCountLabel),1)]),e.createElementVNode("div",JL,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,s=>{var d,c,u,m;return e.openBlock(),e.createElementBlock("article",{key:s.id,class:"media-selection-tray__item"},[e.createElementVNode("div",qL,[i(s.media)&&n(s.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:n(s.media),alt:((d=s.media)==null?void 0:d.alt_text)??((c=s.media)==null?void 0:c.file_name)??"Selected media",class:"media-selection-tray__thumb"},null,8,YL)):(e.openBlock(),e.createElementBlock("div",QL,[...l[0]||(l[0]=[e.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])]))]),e.createElementVNode("div",eP,[e.createElementVNode("strong",null,e.toDisplayString(((u=s.media)==null?void 0:u.file_name)??s.id),1),e.createElementVNode("span",null,e.toDisplayString(s.status),1)]),e.createElementVNode("button",{type:"button",class:"media-selection-tray__remove","aria-label":`${r.dismissLabel} ${((m=s.media)==null?void 0:m.file_name)??s.id}`,onClick:p=>t("remove",s.id)},e.toDisplayString(r.dismissLabel),9,tP)])}),128))])])):e.createCommentVNode("",!0)}}),nP=$e(aP,[["__scopeId","data-v-f2a3d69d"]]);function Ud(o={}){const a=e.ref(!1),t=e.ref(!1),n=e.ref(null),i=e.ref(null),r=e.ref(0),l=e.ref(0),s=e.ref(null),d=e.ref(null),c=e.computed(()=>d.value!==null),u=w=>{if(r.value++,d.value=null,i.value=null,t.value=!1,w!=null&&typeof w=="object"&&!(w instanceof Blob)&&("image"in w||"state"in w||"sessionKey"in w)){const g=w;n.value=g.image??null,s.value=g.state??null,l.value=g.sessionKey??r.value}else n.value=w??null,s.value=null,l.value=r.value;a.value=!0},m=()=>{a.value=!1,n.value=null,i.value=null,d.value=null,t.value=!1,s.value=null},p=async w=>{try{return t.value=!0,i.value=w,o.onSave&&await o.onSave(w),m(),w}catch(g){const b=g;throw d.value=b,o.onError&&o.onError(b),b}finally{t.value=!1}},f=()=>{o.onCancel&&o.onCancel(),m()},h=w=>{d.value=w,o.onError&&o.onError(w)},v=()=>{d.value=null},k=()=>i.value,y=e.computed(()=>a.value&&i.value!==null&&!t.value);return{isOpen:a,isProcessing:t,uploadedImage:n,editedImage:i,sessionKey:l,initialState:s,error:d,hasError:c,hasUnsavedChanges:y,open:u,close:m,handleSave:p,handleCancel:f,handleError:h,clearError:v,getEditedImage:k}}let ds=null;function oP(o){return ds||(ds=Ud(o)),ds}function iP(o){return a=>new Promise((t,n)=>{Ud({...o,onSave:async r=>{o!=null&&o.onSave&&await o.onSave(r),t(r)},onError:r=>{o!=null&&o.onError&&o.onError(r),n(r)},onCancel:()=>{o!=null&&o.onCancel&&o.onCancel(),n(new Error("User cancelled"))}}).open(a)})}function Od(o){return o.filter(a=>a.media&&!a.markedForRemoval).map((a,t)=>{const n={uuid:a.media.uuid,name:a.name,order:t};return a.customProperties&&(n.custom_properties=a.customProperties),n})}function Ys(o){return o.map((a,t)=>{const n={media:a,clientId:a.uuid,name:a.name||a.file_name,order:t};return a.custom_properties&&(n.customProperties=a.custom_properties),n})}function zd(o){if(o){const t={};o.apiBaseUrl!==void 0&&(t.apiBaseUrl=o.apiBaseUrl),o.isAdmin!==void 0&&(t.isAdmin=o.isAdmin),$o(t)}return{name:"mediables",async upload(t,n){const r=await xa().uploadFile(t,{collection:(n==null?void 0:n.collection)||"default",customProperties:n==null?void 0:n.customProperties});if(!r)throw new Error("Upload failed: No media returned");return{media:r,uuid:r.uuid}},async attach(t,n){await xa().attachMedia(n.modelType,String(n.modelId),[t],n.collection||"images")},async attachMany(t,n){await xa().attachMedia(n.modelType,String(n.modelId),t,n.collection||"images")},async detach(t,n){await xa().detachMedia(n.modelType,String(n.modelId),t,n.collection||"images")},async reorder(t,n){await xa().reorderMedia(t.modelType,String(t.modelId),n,t.collection||"images")},async fetchModelMedia(t){return await xa().fetchModelMedia(t.modelType,String(t.modelId),t.collection||"images")},getUrl(t,n){return xa().getMediaUrl(t,n)},getThumbnailUrl(t){var n,i;return(n=t.conversion_urls)!=null&&n.thumb?t.conversion_urls.thumb:(i=t.conversion_urls)!=null&&i.thumbnail?t.conversion_urls.thumbnail:t.thumbnail_url?t.thumbnail_url:t.original_url||t.url||""},async delete(t){await xa().deleteMedia(t)},async update(t,n){const r=await xa().updateMedia(t,n);if(!r)throw new Error("Update failed: No media returned");return r},configure(t){const n={};t.apiBaseUrl!==void 0&&(n.apiBaseUrl=t.apiBaseUrl),t.isAdmin!==void 0&&(n.isAdmin=t.isAdmin),$o(n)}}}let Mr=null;function rP(){return Mr||(Mr=zd()),Mr}function lP(){Mr=null}const sP={apiBaseUrl:"/media-library-pro"};function wr(){var o;return typeof document>"u"?null:((o=document.querySelector('meta[name="csrf-token"]'))==null?void 0:o.getAttribute("content"))||null}function cs(o){const a={uuid:o.uuid,file_name:o.fileName||o.name,mime_type:`application/${o.extension}`,size:o.size,disk:"public",original_url:o.original_url||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return o.name&&(a.name=o.name),o.original_url&&(a.url=o.original_url),o.preview_url&&(a.thumbnail_url=o.preview_url,a.preview_url=o.preview_url),o.custom_properties&&(a.custom_properties=o.custom_properties),a}function jd(o){const a={...sP,...o};return{name:"spatie",async upload(n,i){const r=new FormData;r.append("file",n),i!=null&&i.collection&&r.append("collection",i.collection),i!=null&&i.customProperties&&r.append("custom_properties",JSON.stringify(i.customProperties));const l={Accept:"application/json",...a.headers},s=a.csrfToken||wr();s&&(l["X-CSRF-TOKEN"]=s);const d={method:"POST",headers:l,body:r,credentials:"include"};i!=null&&i.signal&&(d.signal=i.signal);const c=await fetch(`${a.apiBaseUrl}/uploads`,d);if(!c.ok){const p=await c.json().catch(()=>({message:"Upload failed"}));throw new Error(p.message||`HTTP ${c.status}`)}const u=await c.json(),m=cs(u);return i!=null&&i.onProgress&&i.onProgress(100),{media:m,uuid:u.uuid}},async attach(n,i){},async attachMany(n,i){},async detach(n,i){},async reorder(n,i){},async fetchModelMedia(n){const i={Accept:"application/json",...a.headers},r=a.csrfToken||wr();r&&(i["X-CSRF-TOKEN"]=r);const l=new URLSearchParams;l.append("model_type",n.modelType),l.append("model_id",String(n.modelId)),n.collection&&l.append("collection",n.collection);try{const s=await fetch(`${a.apiBaseUrl}/media?${l}`,{method:"GET",headers:i,credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);return(await s.json()).map(cs)}catch{return[]}},getUrl(n,i){var r;if(i){const l=(r=n.conversion_urls)==null?void 0:r[i];if(l)return l}return n.original_url||n.url||""},getThumbnailUrl(n){var i,r;return n.preview_url?n.preview_url:(i=n.conversion_urls)!=null&&i.preview?n.conversion_urls.preview:n.thumbnail_url?n.thumbnail_url:(r=n.conversion_urls)!=null&&r.thumb?n.conversion_urls.thumb:n.original_url||n.url||""},async delete(n){const i={Accept:"application/json",...a.headers},r=a.csrfToken||wr();r&&(i["X-CSRF-TOKEN"]=r);const l=await fetch(`${a.apiBaseUrl}/uploads/${n}`,{method:"DELETE",headers:i,credentials:"include"});if(!l.ok){const s=await l.json().catch(()=>({message:"Delete failed"}));throw new Error(s.message||`HTTP ${l.status}`)}},async update(n,i){const r={Accept:"application/json","Content-Type":"application/json",...a.headers},l=a.csrfToken||wr();l&&(r["X-CSRF-TOKEN"]=l);const s=await fetch(`${a.apiBaseUrl}/uploads/${n}`,{method:"PATCH",headers:r,body:JSON.stringify(i),credentials:"include"});if(!s.ok){const c=await s.json().catch(()=>({message:"Update failed"}));throw new Error(c.message||`HTTP ${s.status}`)}const d=await s.json();return cs(d)},configure(n){Object.assign(a,n)}}}let $r=null;function dP(){return $r||($r=jd()),$r}function cP(){$r=null}function jf(o,a){switch(o){case"mediables":return zd(a);case"spatie":return jd(a);default:throw new Error(`Unknown adapter: ${o}`)}}function Wf(o={}){const{enabled:a=!0,onReorder:t,onDragStart:n,onDragEnd:i,draggingClass:r="is-dragging",dropTargetClass:l="is-drop-target"}=o,s=e.ref({isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null}),d=e.ref(!1);let c=null;function u(w,g,b){a&&("dataTransfer"in w&&w.dataTransfer&&(w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("text/plain",String(b))),c=w.target,c&&c.classList.add(r),s.value={isDragging:!0,dragIndex:b,dropIndex:b,draggedItem:g},d.value=!0,n==null||n(g,b))}function m(w,g){var b;if(!(!a||!s.value.isDragging)&&(w.preventDefault(),s.value.dropIndex!==g)){const R=document.querySelector(`.${l}`);R==null||R.classList.remove(l);const N=(b=w.target)==null?void 0:b.closest("[data-index]");N==null||N.classList.add(l),s.value.dropIndex=g}}function p(){if(!s.value.isDragging)return;const{dragIndex:w,dropIndex:g,draggedItem:b}=s.value;c&&c.classList.remove(r);const R=document.querySelector(`.${l}`);R==null||R.classList.remove(l),w!==null&&g!==null&&w!==g&&b&&(t==null||t({fromIndex:w,toIndex:g,item:b})),h(),i==null||i()}function f(){c&&c.classList.remove(r);const w=document.querySelector(`.${l}`);w==null||w.classList.remove(l),h(),i==null||i()}function h(){s.value={isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null},d.value=!1,c=null}function v(w,g,b){const R=[...w],[N]=R.splice(g,1);return R.splice(b,0,N),R.map((I,x)=>({...I,order:x}))}function k(w,g){return{draggable:a,"data-index":g,onDragstart:b=>u(b,w,g),onDragover:b=>m(b,g),onDragend:()=>p(),onDrop:b=>{b.preventDefault(),p()}}}function y(w){w.key==="Escape"&&s.value.isDragging&&f()}return e.onMounted(()=>{document.addEventListener("keydown",y)}),e.onUnmounted(()=>{document.removeEventListener("keydown",y),f()}),{dragState:s,isDragging:d,startDrag:u,handleDragOver:m,endDrag:p,cancelDrag:f,reorderItems:v,getDragProps:k}}function Bl(o={}){const{initialItems:a=[],modelType:t,modelId:n,collection:i="images",maxItems:r,maxFileSize:l,acceptedMimeTypes:s,sortable:d=!0,disabled:c=!1,rules:u={},adapterType:m="mediables",adapter:p,maxConcurrentUploads:f=3,onChange:h,onUpload:v,onUploadComplete:k,onUploadError:y,onRemove:w,onReorder:g,onError:b,onReadyToSubmitChange:R}=o,N={maxItems:r,maxFileSize:l,acceptedMimeTypes:s,...u},I=p||jf(m),x=e.ref([]),T=e.ref(!1),$=e.ref([]);function S(ye){if(ye.length===0)return[];const xe=ye[0];return"media"in xe&&"clientId"in xe?ye:Ys(ye)}x.value=S(a);const{acceptString:B,canAddFiles:_}=Fd({rules:N}),A=Dd({adapter:I,maxConcurrent:f,rules:N,collection:i,onUploadStart:ye=>{v==null||v(ye)},onUploadComplete:(ye,xe)=>{const Ce=x.value.findIndex(Re=>Re.clientId===ye.id);Ce!==-1&&(x.value[Ce]={...x.value[Ce],media:xe,name:xe.name||xe.file_name,upload:{...ye,status:"completed"}}),k==null||k(xe)},onUploadError:(ye,xe)=>{const Ce=x.value.findIndex(Re=>Re.clientId===ye.id);Ce!==-1&&(x.value[Ce]={...x.value[Ce],upload:{...ye,status:"error",error:xe.message},errors:[{field:"upload",message:xe.message,code:"UPLOAD_ERROR"}]}),y==null||y({file:ye.file,message:xe.message})},onQueueComplete:()=>{h==null||h(x.value)}}),{dragState:P,getDragProps:D,reorderItems:z}=Wf({enabled:d&&!c,onReorder:ye=>{x.value=z(x.value,ye.fromIndex,ye.toIndex),g==null||g(x.value),h==null||h(x.value)}}),M=e.computed(()=>A.isUploading.value),Z=e.computed(()=>!A.isUploading.value&&A.pendingCount.value===0),O=e.computed(()=>r?x.value.length>=r:!1),K=e.computed(()=>Od(x.value)),de=e.computed(()=>x.value.length),Ve=e.computed(()=>r?Math.max(0,r-x.value.length):1/0);e.watch(Z,ye=>{R==null||R(ye)});function ce(ye){x.value=S(ye),h==null||h(x.value)}async function le(ye){if(c)return;const xe=Array.from(ye);if(!_(xe.length,x.value.length)){const rt={field:"count",message:`Maximum ${r} files allowed`,code:"MAX_ITEMS"};$.value=[rt],b==null||b([rt]);return}const Ce=await A.addFiles(xe),Re=x.value.length,ze=Ce.map((rt,at)=>({...rt,order:Re+at}));x.value=[...x.value,...ze],h==null||h(x.value)}function W(ye){c||(ye.upload&&(ye.upload.status==="uploading"||ye.upload.status==="pending")&&A.cancelUpload(ye.clientId),x.value=x.value.filter(xe=>xe.clientId!==ye.clientId),x.value=x.value.map((xe,Ce)=>({...xe,order:Ce})),w==null||w(ye),h==null||h(x.value))}function C(ye){const xe=x.value.find(Ce=>Ce.clientId===ye);xe&&W(xe)}function U(){c||(A.clearAll(),x.value=[],h==null||h(x.value))}function j(ye,xe){c||!d||(x.value=z(x.value,ye,xe),g==null||g(x.value),h==null||h(x.value))}function ie(ye,xe){if(c)return;const Ce=x.value.findIndex(Re=>Re.clientId===ye);Ce!==-1&&(x.value[Ce]={...x.value[Ce],...xe},h==null||h(x.value))}function ue(ye){A.cancelUpload(ye),C(ye)}async function Xe(ye){await A.retryUpload(ye)}async function be(){if(!t||!n)throw new Error("modelType and modelId are required for save()");const ye={modelType:t,modelId:n,collection:i},xe=x.value.filter(Ce=>Ce.media&&!Ce.markedForRemoval).map(Ce=>Ce.media.uuid);T.value=!0;try{await I.attachMany(xe,ye),await I.reorder(ye,xe)}finally{T.value=!1}}async function Ee(){if(!t||!n)throw new Error("modelType and modelId are required for load()");const ye={modelType:t,modelId:n,collection:i};T.value=!0;try{const xe=await I.fetchModelMedia(ye);x.value=Ys(xe),h==null||h(x.value)}finally{T.value=!1}}return e.onMounted(()=>{t&&n&&a.length===0&&Ee().catch(console.error)}),e.onUnmounted(()=>{A.clearAll()}),{items:x,setItems:ce,addFiles:le,removeItem:W,removeItemById:C,clearAll:U,reorderItems:j,updateItem:ie,cancelUpload:ue,retryUpload:Xe,save:be,load:Ee,isLoading:T,isUploading:M,isReadyToSubmit:Z,isAtMaxItems:O,errors:$,dragState:P,getDragProps:D,adapter:I,formValues:K,acceptString:B,count:de,remainingSlots:Ve}}const uP=["aria-disabled"],mP=["accept","multiple","disabled"],pP={class:"media-dropzone__content"},fP={class:"media-dropzone__title"},hP={class:"media-dropzone__subtitle"},vP=["disabled"],gP={key:0,class:"media-dropzone__helper"},bP=e.defineComponent({__name:"MediaCollectionDropzone",props:{accept:{default:"*"},multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxFileSize:{},maxItems:{},title:{default:"Drop files here"},subtitle:{default:"or click to browse"},buttonText:{default:"Select files"}},emits:["files"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.ref(null),l=e.computed(()=>({"media-dropzone":!0,"media-dropzone--drag-over":i.value,"media-dropzone--disabled":t.disabled})),s=e.computed(()=>{const v=[];return t.maxFileSize&&v.push(`Max size: ${Yr(t.maxFileSize)}`),t.maxItems&&t.maxItems>1&&v.push(`Max files: ${t.maxItems}`),v.join(" • ")});function d(v){v.preventDefault(),!t.disabled&&(i.value=!0)}function c(v){v.preventDefault(),i.value=!1}function u(v){v.preventDefault()}function m(v){var y;if(v.preventDefault(),i.value=!1,t.disabled)return;const k=(y=v.dataTransfer)==null?void 0:y.files;k&&k.length>0&&n("files",k)}function p(){var v;t.disabled||(v=r.value)==null||v.click()}function f(v){const k=v.target,y=k.files;y&&y.length>0&&n("files",y),k.value=""}function h(v){(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),p())}return(v,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),role:"button",tabindex:"0","aria-disabled":v.disabled,"aria-label":"Upload files",onClick:p,onKeydown:h,onDragenter:d,onDragleave:c,onDragover:u,onDrop:m},[e.createElementVNode("input",{ref_key:"fileInput",ref:r,type:"file",accept:v.accept,multiple:v.multiple,disabled:v.disabled,class:"media-dropzone__input",onChange:f},null,40,mP),e.createElementVNode("div",pP,[e.renderSlot(v.$slots,"icon",{},()=>[k[0]||(k[0]=e.createElementVNode("svg",{class:"media-dropzone__icon",xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1))],!0),e.createElementVNode("p",fP,[e.renderSlot(v.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(v.title),1)],!0)]),e.createElementVNode("p",hP,[e.renderSlot(v.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(v.subtitle),1)],!0)]),e.createElementVNode("button",{type:"button",class:"media-dropzone__button",disabled:v.disabled,onClick:e.withModifiers(p,["stop"])},[e.renderSlot(v.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(v.buttonText),1)],!0)],8,vP),s.value?(e.openBlock(),e.createElementBlock("p",gP,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)])],42,uP))}}),Wd=$e(bP,[["__scopeId","data-v-b1366c1e"]]),yP=["data-index"],wP={key:0,class:"media-item__drag-handle","aria-label":"Drag to reorder",role:"button",tabindex:"0"},kP={class:"media-item__thumbnail"},_P=["src","alt"],EP={key:1,class:"media-item__file-icon"},SP={key:2,class:"media-item__progress-overlay"},CP={class:"media-item__progress-text"},xP={key:3,class:"media-item__processing-overlay"},VP={key:4,class:"media-item__error-overlay"},NP={class:"media-item__info"},TP=["title"],BP={key:0,class:"media-item__size"},IP={key:1,class:"media-item__error-message"},MP={class:"media-item__actions"},$P=["disabled"],FP=["disabled"],DP=["disabled"],AP=["disabled"],RP=e.defineComponent({__name:"MediaCollectionItem",props:{item:{},adapter:{},disabled:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},showRemove:{type:Boolean,default:!0},showEdit:{type:Boolean,default:!1},index:{default:0}},emits:["remove","edit","retry","cancel"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.computed(()=>{var g;return(g=t.item.upload)!=null&&g.previewUrl?t.item.upload.previewUrl:t.item.media?t.adapter.getThumbnailUrl(t.item.media):null}),l=e.computed(()=>{var g,b,R;return((g=t.item.upload)==null?void 0:g.status)==="uploading"||((b=t.item.upload)==null?void 0:b.status)==="pending"||((R=t.item.upload)==null?void 0:R.status)==="queued"}),s=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.status)==="processing"}),d=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.status)==="error"||t.item.errors&&t.item.errors.length>0}),c=e.computed(()=>{var g;return(g=t.item.upload)!=null&&g.error?t.item.upload.error:t.item.errors&&t.item.errors.length>0?t.item.errors[0].message:null}),u=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.progress)||0}),m=e.computed(()=>{var g;return t.item.name||((g=t.item.media)==null?void 0:g.file_name)||"Unknown file"}),p=e.computed(()=>{var I,x;const g=((I=t.item.media)==null?void 0:I.size)||((x=t.item.upload)==null?void 0:x.file.size);if(!g)return"";const b=1024,R=["Bytes","KB","MB","GB"],N=Math.floor(Math.log(g)/Math.log(b));return parseFloat((g/Math.pow(b,N)).toFixed(2))+" "+R[N]}),f=e.computed(()=>{var b,R;const g=((b=t.item.media)==null?void 0:b.mime_type)||((R=t.item.upload)==null?void 0:R.file.type);return g==null?void 0:g.startsWith("image/")}),h=e.computed(()=>({"media-item":!0,"media-item--uploading":l.value,"media-item--processing":s.value,"media-item--error":d.value,"media-item--disabled":t.disabled,"media-item--sortable":t.sortable}));function v(){t.disabled||n("remove",t.item)}function k(){t.disabled||n("edit",t.item)}function y(){t.disabled||n("retry",t.item)}function w(){t.disabled||n("cancel",t.item)}return(g,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value),"data-index":g.index,onMouseenter:b[0]||(b[0]=R=>i.value=!0),onMouseleave:b[1]||(b[1]=R=>i.value=!1)},[g.sortable&&!g.disabled?(e.openBlock(),e.createElementBlock("div",wP,[...b[2]||(b[2]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ff81c9ec><circle cx="9" cy="5" r="1" data-v-ff81c9ec></circle><circle cx="9" cy="12" r="1" data-v-ff81c9ec></circle><circle cx="9" cy="19" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="5" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="12" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="19" r="1" data-v-ff81c9ec></circle></svg>',1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",kP,[r.value&&f.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.value,alt:m.value,class:"media-item__image"},null,8,_P)):(e.openBlock(),e.createElementBlock("div",EP,[...b[3]||(b[3]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])])),l.value?(e.openBlock(),e.createElementBlock("div",SP,[e.createElementVNode("div",{class:"media-item__progress-bar",style:e.normalizeStyle({width:`${u.value}%`})},null,4),e.createElementVNode("span",CP,e.toDisplayString(u.value)+"%",1)])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",xP,[...b[4]||(b[4]=[e.createElementVNode("div",{class:"media-item__spinner","aria-label":"Processing"},null,-1)])])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",VP,[...b[5]||(b[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),e.createElementVNode("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),e.createElementVNode("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})],-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",NP,[e.createElementVNode("span",{class:"media-item__name",title:m.value},e.toDisplayString(m.value),9,TP),p.value?(e.openBlock(),e.createElementBlock("span",BP,e.toDisplayString(p.value),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("span",IP,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",MP,[l.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-item__action media-item__action--cancel",disabled:g.disabled,"aria-label":"Cancel upload",onClick:w},[...b[6]||(b[6]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,$P)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-item__action media-item__action--retry",disabled:g.disabled,"aria-label":"Retry upload",onClick:y},[...b[7]||(b[7]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("polyline",{points:"23 4 23 10 17 10"}),e.createElementVNode("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})],-1)])],8,FP)):e.createCommentVNode("",!0),g.showEdit&&g.item.media&&!l.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-item__action media-item__action--edit",disabled:g.disabled,"aria-label":"Edit",onClick:k},[...b[8]||(b[8]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])],8,DP)):e.createCommentVNode("",!0),g.showRemove?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-item__action media-item__action--remove",disabled:g.disabled,"aria-label":"Remove",onClick:v},[...b[9]||(b[9]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("polyline",{points:"3 6 5 6 21 6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])],8,AP)):e.createCommentVNode("",!0)])],42,yP))}}),Hd=$e(RP,[["__scopeId","data-v-ff81c9ec"]]),LP=["aria-label"],PP=["draggable","data-index","onDragstart","onDragover","onDragend","onDrop"],UP={key:0,class:"media-collection__footer"},OP={class:"media-collection__count"},zP={key:0},jP={key:0,class:"media-collection__uploading"},WP=["name","value"],HP=["name","value"],ZP=["name","value"],GP=["name","value"],XP={key:3,class:"media-collection__errors",role:"alert","aria-live":"polite"},KP=e.defineComponent({__name:"MediaCollection",props:{modelValue:{default:()=>[]},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxItems:{},maxFileSize:{},acceptedMimeTypes:{},sortable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","reorder","is-ready-to-submit-change","validation-error"],setup(o,{emit:a}){const t=o,n=a,i={initialItems:t.modelValue,modelType:t.modelType,modelId:t.modelId,collection:t.collection,maxItems:t.maxItems,maxFileSize:t.maxFileSize,acceptedMimeTypes:t.acceptedMimeTypes,sortable:t.sortable,disabled:t.disabled,rules:t.rules,adapterType:t.adapter,onChange:M=>{n("update:modelValue",M),n("change",M)},onUpload:M=>{n("upload",M)},onUploadComplete:M=>{n("upload-complete",M)},onUploadError:M=>{n("upload-error",M)},onRemove:M=>{n("remove",M)},onReorder:M=>{n("reorder",M)},onError:M=>{n("validation-error",M)},onReadyToSubmitChange:M=>{n("is-ready-to-submit-change",M)}},{items:r,setItems:l,addFiles:s,removeItem:d,reorderItems:c,cancelUpload:u,retryUpload:m,isLoading:p,isUploading:f,isAtMaxItems:h,errors:v,dragState:k,getDragProps:y,adapter:w,formValues:g,acceptString:b,count:R,remainingSlots:N}=Bl(i);e.provide("mediaAdapter",w),e.provide("mediaCollection",{items:r,addFiles:s,removeItem:d,reorderItems:c}),e.watch(()=>t.modelValue,M=>{M!==r.value&&l(M)},{deep:!0});const I=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),x=e.computed(()=>({"media-collection":!0,"media-collection--disabled":t.disabled,"media-collection--readonly":t.readonly,"media-collection--loading":p.value,"media-collection--has-items":r.value.length>0,"media-collection--dragging":k.value.isDragging}));function T(M){s(M)}function $(M){d(M)}function S(M){m(M.clientId)}function B(M){u(M.clientId)}function _(M){}function A(M,Z,O){if(!t.sortable||t.disabled)return;const K=y(Z,O);K.onDragstart&&K.onDragstart(M)}function P(M,Z){if(!t.sortable||t.disabled)return;M.preventDefault();const O=r.value[Z],K=y(O,Z);K.onDragover&&K.onDragover(M)}function D(M,Z){const O=y(M,Z);O.onDragend&&O.onDragend()}function z(M,Z){M.preventDefault();const O=r.value[Z],K=y(O,Z);K.onDrop&&K.onDrop(M)}return(M,Z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(x.value)},[e.renderSlot(M.$slots,"dropzone",{addFiles:e.unref(s)},()=>[I.value?(e.openBlock(),e.createBlock(Wd,{key:0,accept:e.unref(b),multiple:M.maxItems!==1,disabled:M.disabled,"max-file-size":M.maxFileSize,"max-items":e.unref(N),onFiles:T},null,8,["accept","multiple","disabled","max-file-size","max-items"])):e.createCommentVNode("",!0)],!0),e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-collection__list",role:"list","aria-label":`${e.unref(R)} media items`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(O,K)=>e.renderSlot(M.$slots,"item",{key:O.clientId,item:O,index:K,remove:()=>$(O)},()=>[e.createElementVNode("div",{class:e.normalizeClass(["media-collection__item-wrapper",{"media-collection__item-wrapper--drag-over":e.unref(k).dropIndex===K}]),draggable:M.sortable&&!M.disabled,"data-index":K,onDragstart:de=>A(de,O,K),onDragover:de=>P(de,K),onDragend:de=>D(O,K),onDrop:de=>z(de,K)},[e.createVNode(Hd,{item:O,adapter:e.unref(w),disabled:M.disabled,sortable:M.sortable,"show-remove":!M.readonly,"show-edit":!1,index:K,onRemove:$,onRetry:S,onCancel:B,onEdit:_},null,8,["item","adapter","disabled","sortable","show-remove","index"])],42,PP)],!0)),128))],8,LP)):I.value?e.createCommentVNode("",!0):e.renderSlot(M.$slots,"empty",{key:1},()=>[Z[0]||(Z[0]=e.createElementVNode("div",{class:"media-collection__empty"},[e.createElementVNode("p",null,"No files uploaded")],-1))],!0),e.renderSlot(M.$slots,"footer",{count:e.unref(R),isUploading:e.unref(f)},()=>[e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",UP,[e.createElementVNode("span",OP,[e.createTextVNode(e.toDisplayString(e.unref(R))+" "+e.toDisplayString(e.unref(R)===1?"file":"files")+" ",1),M.maxItems?(e.openBlock(),e.createElementBlock("span",zP," / "+e.toDisplayString(M.maxItems)+" max",1)):e.createCommentVNode("",!0)]),e.unref(f)?(e.openBlock(),e.createElementBlock("span",jP," Uploading... ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0),M.generateFormFields?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}`,type:"hidden",name:`${M.name}[${K}][uuid]`,value:O.uuid},null,8,WP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}-name`,type:"hidden",name:`${M.name}[${K}][name]`,value:O.name},null,8,HP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}-order`,type:"hidden",name:`${M.name}[${K}][order]`,value:O.order},null,8,ZP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${M.name}-${O.uuid}-props`},[O.custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${M.name}[${K}][custom_properties]`,value:JSON.stringify(O.custom_properties)},null,8,GP)):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",XP,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),O=>(e.openBlock(),e.createElementBlock("p",{key:O.code||O.message,class:"media-collection__error"},e.toDisplayString(O.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),JP=$e(KP,[["__scopeId","data-v-10a5bfff"]]);function Zd(o={}){const{initialItem:a,onChange:t,onReplace:n,onUpload:i,onUploadComplete:r,onUploadError:l,onRemove:s,onError:d,onReadyToSubmitChange:c,...u}=o,p={...u,initialItems:a?[a]:[],maxItems:1,sortable:!1,onChange:I=>{t==null||t(I[0]||null)},onUpload:i,onUploadComplete:r,onUploadError:l,onRemove:s,onError:d,onReadyToSubmitChange:c},f=Bl(p),h=e.computed(()=>f.items.value[0]||null),v=e.computed(()=>h.value!==null),k=e.computed(()=>f.formValues.value[0]||null);function y(I){I===null?f.clearAll():f.setItems([I])}async function w(I){const x=h.value;x&&f.removeItem(x),await f.addFiles([I])}function g(){h.value&&f.removeItem(h.value)}async function b(I){const x=h.value;x&&f.removeItem(x),await f.addFiles([I]);const T=f.items.value[0];T&&(n==null||n(x,T))}function R(){var I;(I=h.value)!=null&&I.upload&&f.cancelUpload(h.value.clientId)}async function N(){var I,x;((x=(I=h.value)==null?void 0:I.upload)==null?void 0:x.status)==="error"&&await f.retryUpload(h.value.clientId)}return{item:h,setItem:y,addFile:w,removeItem:g,replaceItem:b,cancelUpload:R,retryUpload:N,save:f.save,load:f.load,isLoading:f.isLoading,isUploading:f.isUploading,isReadyToSubmit:f.isReadyToSubmit,hasItem:v,errors:f.errors,adapter:f.adapter,formValue:k,acceptString:f.acceptString}}const qP=["accept","disabled"],YP={class:"media-attachment__preview"},QP=["name","value"],eU=["name","value"],tU=["name","value"],aU=["name","value"],nU={key:4,class:"media-attachment__errors",role:"alert","aria-live":"polite"},oU=e.defineComponent({__name:"MediaAttachment",props:{modelValue:{default:null},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxFileSize:{},acceptedMimeTypes:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0},showReplaceButton:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","replace","is-ready-to-submit-change","validation-error"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(null),r={initialItem:t.modelValue,modelType:t.modelType,modelId:t.modelId,collection:t.collection,maxFileSize:t.maxFileSize,acceptedMimeTypes:t.acceptedMimeTypes,disabled:t.disabled,rules:t.rules,adapterType:t.adapter,onChange:S=>{n("update:modelValue",S),n("change",S)},onUpload:S=>{n("upload",S)},onUploadComplete:S=>{n("upload-complete",S)},onUploadError:S=>{n("upload-error",S)},onRemove:S=>{n("remove",S)},onReplace:(S,B)=>{n("replace",B)},onError:S=>{n("validation-error",S)},onReadyToSubmitChange:S=>{n("is-ready-to-submit-change",S)}},{item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,hasItem:h,errors:v,adapter:k,formValue:y,acceptString:w}=Zd(r);e.provide("mediaAdapter",k),e.watch(()=>t.modelValue,S=>{S!==l.value&&s(S)},{deep:!0});const g=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),b=e.computed(()=>({"media-attachment":!0,"media-attachment--disabled":t.disabled,"media-attachment--readonly":t.readonly,"media-attachment--loading":f.value,"media-attachment--has-item":h.value}));function R(S){S.length>0&&d(S[0])}function N(){var S;(S=i.value)==null||S.click()}function I(S){const B=S.target,_=B.files;_&&_.length>0&&u(_[0]),B.value=""}function x(S){c()}function T(S){p()}function $(S){m()}return(S,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[e.createElementVNode("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:e.unref(w),disabled:S.disabled,class:"media-attachment__hidden-input",onChange:I},null,40,qP),g.value?e.renderSlot(S.$slots,"dropzone",{key:0,addFile:e.unref(d)},()=>[e.createVNode(Wd,{accept:e.unref(w),multiple:!1,disabled:S.disabled,"max-file-size":S.maxFileSize,onFiles:R},null,8,["accept","disabled","max-file-size"])],!0):e.unref(h)&&e.unref(l)?e.renderSlot(S.$slots,"preview",{key:1,item:e.unref(l),remove:e.unref(c),replace:N},()=>[e.createElementVNode("div",YP,[e.createVNode(Hd,{item:e.unref(l),adapter:e.unref(k),disabled:S.disabled,sortable:!1,"show-remove":!S.readonly,"show-edit":!1,onRemove:x,onRetry:T,onCancel:$},null,8,["item","adapter","disabled","show-remove"]),S.showReplaceButton&&!S.readonly&&!S.disabled&&e.unref(l).media?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-attachment__replace-button",onClick:N},[...B[0]||(B[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createTextVNode(" Replace ",-1)])])):e.createCommentVNode("",!0)])],!0):e.renderSlot(S.$slots,"empty",{key:2},()=>[B[1]||(B[1]=e.createElementVNode("div",{class:"media-attachment__empty"},[e.createElementVNode("p",null,"No file selected")],-1))],!0),S.generateFormFields&&e.unref(y)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("input",{type:"hidden",name:`${S.name}[uuid]`,value:e.unref(y).uuid},null,8,QP),e.createElementVNode("input",{type:"hidden",name:`${S.name}[name]`,value:e.unref(y).name},null,8,eU),e.createElementVNode("input",{type:"hidden",name:`${S.name}[order]`,value:e.unref(y).order},null,8,tU),e.unref(y).custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${S.name}[custom_properties]`,value:JSON.stringify(e.unref(y).custom_properties)},null,8,aU)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",nU,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),_=>(e.openBlock(),e.createElementBlock("p",{key:_.code||_.message,class:"media-attachment__error"},e.toDisplayString(_.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),iU=$e(oU,[["__scopeId","data-v-26911174"]]),Hf={dropzone:{title:"Drop files here",subtitle:"or click to browse",button:"Select files"},item:{remove:"Remove",replace:"Replace",edit:"Edit",download:"Download"},errors:{maxItems:"Maximum {max} files allowed",maxFileSize:"File exceeds maximum size of {max}",invalidType:"File type not allowed",uploadFailed:"Upload failed"},status:{uploading:"Uploading...",processing:"Processing...",completed:"Complete",error:"Error"}},rU=e.defineComponent({__name:"MediaCollectionProvider",props:{modelValue:{default:()=>[]},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxItems:{},maxFileSize:{},acceptedMimeTypes:{},sortable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","reorder","is-ready-to-submit-change","validation-error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r={initialItems:n.modelValue,modelType:n.modelType,modelId:n.modelId,collection:n.collection,maxItems:n.maxItems,maxFileSize:n.maxFileSize,acceptedMimeTypes:n.acceptedMimeTypes,sortable:n.sortable,disabled:n.disabled,rules:n.rules,adapterType:n.adapter,onChange:S=>{i("update:modelValue",S),i("change",S)},onUpload:S=>{i("upload",S)},onUploadComplete:S=>{i("upload-complete",S)},onUploadError:S=>{i("upload-error",S)},onRemove:S=>{i("remove",S)},onReorder:S=>{i("reorder",S)},onError:S=>{i("validation-error",S)},onReadyToSubmitChange:S=>{i("is-ready-to-submit-change",S)}},{items:l,setItems:s,addFiles:d,removeItem:c,reorderItems:u,updateItem:m,cancelUpload:p,retryUpload:f,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:y,errors:w,dragState:g,getDragProps:b,adapter:R,formValues:N,acceptString:I}=Bl(r);e.provide("mediaAdapter",R),e.provide("mediaCollection",{items:l,addFiles:d,removeItem:c,reorderItems:u}),e.watch(()=>n.modelValue,S=>{S!==l.value&&s(S)},{deep:!0});const x=e.computed(()=>({...Hf,...n.labels})),T=e.computed(()=>({accept:I.value,multiple:n.maxItems!==1,disabled:n.disabled||n.readonly||y.value})),$=e.computed(()=>({items:l.value,isLoading:h.value,isUploading:v.value,isReadyToSubmit:k.value,isAtMaxItems:y.value,errors:w.value,addFiles:d,removeItem:c,reorderItems:u,clearAll:()=>{l.value.forEach(S=>c(S))},cancelUpload:p,retryUpload:f,labels:x.value,dropzoneProps:T.value}));return a({items:l,addFiles:d,removeItem:c,reorderItems:u,updateItem:m,cancelUpload:p,retryUpload:f,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:y,errors:w,dragState:g,getDragProps:b,adapter:R,formValues:N,acceptString:I}),(S,B)=>e.renderSlot(S.$slots,"default",e.normalizeProps(e.guardReactiveProps($.value)))}}),lU=e.defineComponent({__name:"MediaAttachmentProvider",props:{modelValue:{default:null},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxFileSize:{},acceptedMimeTypes:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0},showReplaceButton:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","replace","is-ready-to-submit-change","validation-error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r={initialItem:n.modelValue,modelType:n.modelType,modelId:n.modelId,collection:n.collection,maxFileSize:n.maxFileSize,acceptedMimeTypes:n.acceptedMimeTypes,disabled:n.disabled,rules:n.rules,adapterType:n.adapter,onChange:x=>{i("update:modelValue",x),i("change",x)},onUpload:x=>{i("upload",x)},onUploadComplete:x=>{i("upload-complete",x)},onUploadError:x=>{i("upload-error",x)},onRemove:x=>{i("remove",x)},onReplace:(x,T)=>{i("replace",T)},onError:x=>{i("validation-error",x)},onReadyToSubmitChange:x=>{i("is-ready-to-submit-change",x)}},{item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:y,adapter:w,formValue:g,acceptString:b}=Zd(r);e.provide("mediaAdapter",w),e.watch(()=>n.modelValue,x=>{x!==l.value&&s(x)},{deep:!0});const R=e.computed(()=>({...Hf,...n.labels})),N=e.computed(()=>({accept:b.value,multiple:!1,disabled:n.disabled||n.readonly||k.value})),I=e.computed(()=>({item:l.value,hasItem:k.value,isLoading:f.value,isUploading:h.value,isReadyToSubmit:v.value,errors:y.value,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,labels:R.value,dropzoneProps:N.value}));return a({item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:y,adapter:w,formValue:g,acceptString:b}),(x,T)=>e.renderSlot(x.$slots,"default",e.normalizeProps(e.guardReactiveProps(I.value)))}}),sU=["name","value"],dU=["name","value"],cU=["name","value"],uU=["name","value"],mU=e.defineComponent({__name:"MediaHiddenFields",props:{items:{default:()=>[]},item:{default:null},name:{default:"media"},format:{default:"mediables"}},setup(o){const a=o,t=e.computed(()=>a.item?[a.item]:a.items),n=e.computed(()=>Od(t.value));function i(s,d){var u;const c=((u=n.value[s])==null?void 0:u.uuid)||"";return`${a.name}[${c}][${d}]`}function r(s,d){return`${a.name}[${s}][${d}]`}function l(s,d){return a.format==="spatie"?i(s,d):r(s,d)}return(s,d)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c.uuid},[e.createElementVNode("input",{type:"hidden",name:l(u,"uuid"),value:c.uuid},null,8,sU),e.createElementVNode("input",{type:"hidden",name:l(u,"name"),value:c.name},null,8,dU),e.createElementVNode("input",{type:"hidden",name:l(u,"order"),value:c.order},null,8,cU),c.custom_properties&&Object.keys(c.custom_properties).length>0?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:l(u,"custom_properties"),value:JSON.stringify(c.custom_properties)},null,8,uU)):e.createCommentVNode("",!0)],64))),128))}}),pU=["data-testid"],fU=["data-testid"],hU=["id"],vU=["value","maxlength","disabled","aria-labelledby","placeholder","data-testid","onInput"],gU=e.defineComponent({__name:"MediaAttachmentMetadataFields",props:{items:{},disabled:{type:Boolean,default:!1},label:{default:"Caption"},placeholder:{default:"Add an optional caption"},maxLength:{default:500},testIdPrefix:{default:"media-attachment-metadata"},getItemLabel:{type:Function,default:(o,a)=>`${o.type==="video"?"video":"photo"} ${a+1}`}},emits:["update:items"],setup(o,{emit:a}){const t=o,n=a;function i(r,l){const s=l.target;s instanceof HTMLInputElement&&n("update:items",t.items.map((d,c)=>c!==r?d:{...d,caption:s.value===""?null:s.value}))}return(r,l)=>r.items.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-attachment-metadata-fields","data-testid":r.testIdPrefix},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,(s,d)=>(e.openBlock(),e.createElementBlock("div",{key:s._key??s.id??`${s.url}:${d}`,class:"media-attachment-metadata-fields__row","data-testid":`${r.testIdPrefix}-${d}`},[e.createElementVNode("p",{id:`${r.testIdPrefix}-label-${d}`,class:"media-attachment-metadata-fields__label"},e.toDisplayString(r.label)+" for "+e.toDisplayString(r.getItemLabel(s,d)),9,hU),e.createElementVNode("input",{value:s.caption??"",type:"text",class:"media-attachment-metadata-fields__input",maxlength:r.maxLength,disabled:r.disabled,"aria-labelledby":`${r.testIdPrefix}-label-${d}`,placeholder:r.placeholder,"data-testid":`input-${r.testIdPrefix}-${d}`,onInput:c=>i(d,c)},null,40,vU)],8,fU))),128))],8,pU)):e.createCommentVNode("",!0)}}),bU=$e(gU,[["__scopeId","data-v-a153768a"]]);exports.AlbumBrowser=lf;exports.AlbumManager=Z5;exports.AlbumMediaGrid=oF;exports.AlbumNavRail=ZL;exports.AlbumTree=Tl;exports.ArrayBufferTarget=ld;exports.ExistingMediaSelector=kb;exports.ImageEditor=nm;exports.ImageEditorModal=om;exports.LiveStreamManager=s5;exports.ManagedMediaGallery=Yh;exports.MediaAlbumInlineCreate=Id;exports.MediaAlbumPickerModal=Tf;exports.MediaAlbumUnavailableState=sf;exports.MediaAttachment=iU;exports.MediaAttachmentMetadataFields=bU;exports.MediaBulkActionBar=Rd;exports.MediaCollection=JP;exports.MediaCollectionDropzone=Wd;exports.MediaCollectionItem=Hd;exports.MediaEmptyState=Of;exports.MediaFilterChips=Rf;exports.MediaInspectorPanel=Af;exports.MediaLibraryPicker=Nf;exports.MediaLibraryPickerModal=M6;exports.MediaLibraryShell=ML;exports.MediaLibraryToolbar=Bf;exports.MediaLibraryWorkspace=Uf;exports.MediaManagementView=Pf;exports.MediaPreviewSheet=Md;exports.MediaSelectionTray=nP;exports.MediaShortcutHelp=If;exports.MediaSourceSheet=hf;exports.MediaThumbnailCell=gf;exports.MediaTrashWorkspace=zf;exports.MediaUploadSheet=vf;exports.MediaUsageList=$f;exports.MediaVariantStrip=Ff;exports.MediaWorkspace=Xh;exports.ModelMediaManager=jg;exports.Muxer=Vm;exports.RequiresConfirmationError=Ld;exports.VideoEditor=Qp;exports.VideoEditorDialog=H4;exports.VideoEditorSimple=hI;exports.VideoExportPanel=XM;exports.VideoJobClient=Cl;exports.VideoPlayer=nf;exports.VideoTimeline=PI;exports.VideoToolsPanel=NM;exports.VideoUploader=D3;exports.VirtualMediaGrid=bf;exports._sfc_main=rU;exports._sfc_main$1=lU;exports._sfc_main$2=mU;exports.applyTemporaryMediaStoreConfig=Ku;exports.configureAlbumStore=of;exports.configureMediaStore=$o;exports.createAdapter=jf;exports.createEmptyEditorState=yh;exports.createImageEditor=iP;exports.createMediablesAdapter=zd;exports.createSpatieAdapter=jd;exports.deserializeEditorState=bh;exports.formatFileSize=Yr;exports.fromMediaArray=Ys;exports.getFileExtension=yf;exports.getImageDimensions=wf;exports.getMediablesAdapter=rP;exports.getSpatieAdapter=dP;exports.isImageFile=$d;exports.normalizeEditorState=Qs;exports.normalizeRecipeForServerRender=x4;exports.recipeHasServerRenderableEdits=C4;exports.recipeHasUnsupportedServerEdits=af;exports.resetMediablesAdapter=lP;exports.resetSpatieAdapter=cP;exports.restoreAlbumStoreConfig=b5;exports.restoreMediaStoreConfig=Xu;exports.serializeEditorState=Zu;exports.snapshotAlbumStoreConfig=g5;exports.snapshotMediaStoreConfig=Gu;exports.toFormValues=Od;exports.useAdminMediaStore=Ju;exports.useAlbumDragDrop=rf;exports.useAlbumStore=Vl;exports.useAlbums=Nl;exports.useGlobalImageEditor=oP;exports.useImageEditorModal=Ud;exports.useMediaAttachment=Zd;exports.useMediaCollection=Bl;exports.useMediaDeletion=Lf;exports.useMediaDragSort=Wf;exports.useMediaLibraryPickerController=Vf;exports.useMediaLibraryQuery=Ad;exports.useMediaLibrarySession=Ef;exports.useMediaLibraryStateMachine=Sf;exports.useMediaLibraryTelemetry=Cf;exports.useMediaLibraryUploads=Mf;exports.useMediaSelection=tl;exports.useMediaStore=xa;exports.useMediaTrash=Pd;exports.useMediaUploadQueue=Dd;exports.useMediaValidation=Fd;exports.validateFile=kf;
357
- //# sourceMappingURL=index-DRMt6jsC.cjs.map
356
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tu(o,a){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);a&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(o,i).enumerable})),t.push.apply(t,n)}return t}function Bu(o){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?Tu(Object(t),!0).forEach(function(n){AF(o,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):Tu(Object(t)).forEach(function(n){Object.defineProperty(o,n,Object.getOwnPropertyDescriptor(t,n))})}return o}function PF(o){return DF(o)||RF(o)||zF(o)||LF()}function UF(o,a){if(typeof o!="object"||!o)return o;var t=o[Symbol.toPrimitive];if(t!==void 0){var n=t.call(o,a);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(o)}function OF(o){var a=UF(o,"string");return typeof a=="symbol"?a:a+""}function zF(o,a){if(o){if(typeof o=="string")return qs(o,a);var t={}.toString.call(o).slice(8,-1);return t==="Object"&&o.constructor&&(t=o.constructor.name),t==="Map"||t==="Set"?Array.from(o):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?qs(o,a):void 0}}var Iu={activateTrap:function(a,t){if(a.length>0){var n=a[a.length-1];n!==t&&n._setPausedState(!0)}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(a,t){var n=a.indexOf(t);n!==-1&&a.splice(n,1),a.length>0&&!a[a.length-1]._isManuallyPaused()&&a[a.length-1]._setPausedState(!1)}},jF=function(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"},WF=function(a){return(a==null?void 0:a.key)==="Escape"||(a==null?void 0:a.key)==="Esc"||(a==null?void 0:a.keyCode)===27},Vi=function(a){return(a==null?void 0:a.key)==="Tab"||(a==null?void 0:a.keyCode)===9},HF=function(a){return Vi(a)&&!a.shiftKey},ZF=function(a){return Vi(a)&&a.shiftKey},Mu=function(a){return setTimeout(a,0)},di=function(a){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return typeof a=="function"?a.apply(void 0,n):a},br=function(a){return a.target.shadowRoot&&typeof a.composedPath=="function"?a.composedPath()[0]:a.target},GF=[],XF=function(a,t){var n=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||GF,r=Bu({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:HF,isKeyBackward:ZF},t),l={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},s,d=function(_,A,P){return _&&_[A]!==void 0?_[A]:r[P||A]},c=function(_,A){var P=typeof(A==null?void 0:A.composedPath)=="function"?A.composedPath():void 0;return l.containerGroups.findIndex(function(D){var z=D.container,M=D.tabbableNodes;return z.contains(_)||(P==null?void 0:P.includes(z))||M.find(function(Z){return Z===_})})},u=function(_){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=A.hasFallback,D=P===void 0?!1:P,z=A.params,M=z===void 0?[]:z,Z=r[_];if(typeof Z=="function"&&(Z=Z.apply(void 0,PF(M))),Z===!0&&(Z=void 0),!Z){if(Z===void 0||Z===!1)return Z;throw new Error("`".concat(_,"` was specified but was not a node, or did not return a node"))}var O=Z;if(typeof Z=="string"){try{O=n.querySelector(Z)}catch(K){throw new Error("`".concat(_,'` appears to be an invalid selector; error="').concat(K.message,'"'))}if(!O&&!D)throw new Error("`".concat(_,"` as selector refers to no known node"))}return O},m=function(){var _=u("initialFocus",{hasFallback:!0});if(_===!1)return!1;if(_===void 0||_&&!rs(_,r.tabbableOptions))if(c(n.activeElement)>=0)_=n.activeElement;else{var A=l.tabbableGroups[0],P=A&&A.firstTabbableNode;_=P||u("fallbackFocus")}else _===null&&(_=u("fallbackFocus"));if(!_)throw new Error("Your focus-trap needs to have at least one focusable element");return _},p=function(){if(l.containerGroups=l.containers.map(function(_){var A=MF(_,r.tabbableOptions),P=$F(_,r.tabbableOptions),D=A.length>0?A[0]:void 0,z=A.length>0?A[A.length-1]:void 0,M=P.find(function(K){return Co(K)}),Z=P.slice().reverse().find(function(K){return Co(K)}),O=!!A.find(function(K){return Gn(K)>0});return{container:_,tabbableNodes:A,focusableNodes:P,posTabIndexesFound:O,firstTabbableNode:D,lastTabbableNode:z,firstDomTabbableNode:M,lastDomTabbableNode:Z,nextTabbableNode:function(de){var Ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ce=A.indexOf(de);return ce<0?Ve?P.slice(P.indexOf(de)+1).find(function(le){return Co(le)}):P.slice(0,P.indexOf(de)).reverse().find(function(le){return Co(le)}):A[ce+(Ve?1:-1)]}}}),l.tabbableGroups=l.containerGroups.filter(function(_){return _.tabbableNodes.length>0}),l.tabbableGroups.length<=0&&!u("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(l.containerGroups.find(function(_){return _.posTabIndexesFound})&&l.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},f=function(_){var A=_.activeElement;if(A)return A.shadowRoot&&A.shadowRoot.activeElement!==null?f(A.shadowRoot):A},h=function(_){if(_!==!1&&_!==f(document)){if(!_||!_.focus){h(m());return}_.focus({preventScroll:!!r.preventScroll}),l.mostRecentlyFocusedNode=_,jF(_)&&_.select()}},v=function(_){var A=u("setReturnFocus",{params:[_]});return A||(A===!1?!1:_)},k=function(_){var A=_.target,P=_.event,D=_.isBackward,z=D===void 0?!1:D;A=A||br(P),p();var M=null;if(l.tabbableGroups.length>0){var Z=c(A,P),O=Z>=0?l.containerGroups[Z]:void 0;if(Z<0)z?M=l.tabbableGroups[l.tabbableGroups.length-1].lastTabbableNode:M=l.tabbableGroups[0].firstTabbableNode;else if(z){var K=l.tabbableGroups.findIndex(function(C){var U=C.firstTabbableNode;return A===U});if(K<0&&(O.container===A||rs(A,r.tabbableOptions)&&!Co(A,r.tabbableOptions)&&!O.nextTabbableNode(A,!1))&&(K=Z),K>=0){var de=K===0?l.tabbableGroups.length-1:K-1,Ve=l.tabbableGroups[de];M=Gn(A)>=0?Ve.lastTabbableNode:Ve.lastDomTabbableNode}else Vi(P)||(M=O.nextTabbableNode(A,!1))}else{var ce=l.tabbableGroups.findIndex(function(C){var U=C.lastTabbableNode;return A===U});if(ce<0&&(O.container===A||rs(A,r.tabbableOptions)&&!Co(A,r.tabbableOptions)&&!O.nextTabbableNode(A))&&(ce=Z),ce>=0){var le=ce===l.tabbableGroups.length-1?0:ce+1,W=l.tabbableGroups[le];M=Gn(A)>=0?W.firstTabbableNode:W.firstDomTabbableNode}else Vi(P)||(M=O.nextTabbableNode(A))}}else M=u("fallbackFocus");return M},y=function(_){var A=br(_);if(!(c(A,_)>=0)){if(di(r.clickOutsideDeactivates,_)){s.deactivate({returnFocus:r.returnFocusOnDeactivate});return}di(r.allowOutsideClick,_)||_.preventDefault()}},w=function(_){var A=br(_),P=c(A,_)>=0;if(P||A instanceof Document)P&&(l.mostRecentlyFocusedNode=A);else{_.stopImmediatePropagation();var D,z=!0;if(l.mostRecentlyFocusedNode)if(Gn(l.mostRecentlyFocusedNode)>0){var M=c(l.mostRecentlyFocusedNode),Z=l.containerGroups[M].tabbableNodes;if(Z.length>0){var O=Z.findIndex(function(K){return K===l.mostRecentlyFocusedNode});O>=0&&(r.isKeyForward(l.recentNavEvent)?O+1<Z.length&&(D=Z[O+1],z=!1):O-1>=0&&(D=Z[O-1],z=!1))}}else l.containerGroups.some(function(K){return K.tabbableNodes.some(function(de){return Gn(de)>0})})||(z=!1);else z=!1;z&&(D=k({target:l.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(l.recentNavEvent)})),h(D||l.mostRecentlyFocusedNode||m())}l.recentNavEvent=void 0},g=function(_){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;l.recentNavEvent=_;var P=k({event:_,isBackward:A});P&&(Vi(_)&&_.preventDefault(),h(P))},b=function(_){(r.isKeyForward(_)||r.isKeyBackward(_))&&g(_,r.isKeyBackward(_))},R=function(_){WF(_)&&di(r.escapeDeactivates,_)!==!1&&(_.preventDefault(),s.deactivate())},N=function(_){var A=br(_);c(A,_)>=0||di(r.clickOutsideDeactivates,_)||di(r.allowOutsideClick,_)||(_.preventDefault(),_.stopImmediatePropagation())},I=function(){if(l.active)return Iu.activateTrap(i,s),l.delayInitialFocusTimer=r.delayInitialFocus?Mu(function(){h(m())}):h(m()),n.addEventListener("focusin",w,!0),n.addEventListener("mousedown",y,{capture:!0,passive:!1}),n.addEventListener("touchstart",y,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",b,{capture:!0,passive:!1}),n.addEventListener("keydown",R),s},x=function(){if(l.active)return n.removeEventListener("focusin",w,!0),n.removeEventListener("mousedown",y,!0),n.removeEventListener("touchstart",y,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",b,!0),n.removeEventListener("keydown",R),s},T=function(_){var A=_.some(function(P){var D=Array.from(P.removedNodes);return D.some(function(z){return z===l.mostRecentlyFocusedNode})});A&&h(m())},$=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(T):void 0,S=function(){$&&($.disconnect(),l.active&&!l.paused&&l.containers.map(function(_){$.observe(_,{subtree:!0,childList:!0})}))};return s={get active(){return l.active},get paused(){return l.paused},activate:function(_){if(l.active)return this;var A=d(_,"onActivate"),P=d(_,"onPostActivate"),D=d(_,"checkCanFocusTrap");D||p(),l.active=!0,l.paused=!1,l.nodeFocusedBeforeActivation=f(n),A==null||A();var z=function(){D&&p(),I(),S(),P==null||P()};return D?(D(l.containers.concat()).then(z,z),this):(z(),this)},deactivate:function(_){if(!l.active)return this;var A=Bu({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},_);clearTimeout(l.delayInitialFocusTimer),l.delayInitialFocusTimer=void 0,x(),l.active=!1,l.paused=!1,S(),Iu.deactivateTrap(i,s);var P=d(A,"onDeactivate"),D=d(A,"onPostDeactivate"),z=d(A,"checkCanReturnFocus"),M=d(A,"returnFocus","returnFocusOnDeactivate");P==null||P();var Z=function(){Mu(function(){M&&h(v(l.nodeFocusedBeforeActivation)),D==null||D()})};return M&&z?(z(v(l.nodeFocusedBeforeActivation)).then(Z,Z),this):(Z(),this)},pause:function(_){return l.active?(l.manuallyPaused=!0,this._setPausedState(!0,_)):this},unpause:function(_){return l.active?(l.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,_)):this},updateContainerElements:function(_){var A=[].concat(_).filter(Boolean);return l.containers=A.map(function(P){return typeof P=="string"?n.querySelector(P):P}),l.active&&p(),S(),this}},Object.defineProperties(s,{_isManuallyPaused:{value:function(){return l.manuallyPaused}},_setPausedState:{value:function(_,A){if(l.paused===_)return this;if(l.paused=_,_){var P=d(A,"onPause"),D=d(A,"onPostPause");P==null||P(),x(),S(),D==null||D()}else{var z=d(A,"onUnpause"),M=d(A,"onPostUnpause");z==null||z(),p(),I(),S(),M==null||M()}return this}}}),s.updateContainerElements(a),s};const KF=["aria-labelledby"],JF={class:"media-preview-sheet__header"},qF=["id"],YF=["aria-label"],QF=["src","alt"],e8=["src"],t8={class:"media-preview-sheet__actions"},a8=["disabled","aria-label"],n8=["aria-label","aria-pressed"],o8=["disabled","aria-label"],i8=e.defineComponent({__name:"MediaPreviewSheet",props:{open:{type:Boolean,default:!1},media:{default:null},canGoPrevious:{type:Boolean,default:!1},canGoNext:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},closeLabel:{default:"Close"},previousLabel:{default:"Previous"},nextLabel:{default:"Next"},selectLabel:{default:"Select"},deselectLabel:{default:"Deselect"}},emits:["close","previous","next","toggleSelect"],setup(o,{emit:a}){const t=o,n=a,i=e.useId(),r=e.ref(null),l=e.ref(null);let s=null,d=null;const c=e.computed(()=>{var $;return(($=t.media)==null?void 0:$.mime_type.startsWith("image/"))===!0}),u=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/ig,m=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i,p=e.computed(()=>t.media?t.media.preview_url??t.media.original_url:"");function f($){const S=$.replace(/\.[^.]+$/,""),_=S.replace(u,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return _!==""?_:S||$}function h($){var A,P;const S=(A=$.name)==null?void 0:A.trim(),B=$.file_name.replace(/\.[^.]+$/,"");if(S!==void 0&&S!==""&&S!==$.file_name&&S!==B&&!m.test(S))return S;const _=(P=$.alt_text)==null?void 0:P.trim();return _!==void 0&&_!==""?_:f(S||$.file_name)}const v=e.computed(()=>t.media?h(t.media):"media"),k=e.computed(()=>t.media?`Preview ${v.value}`:"Media preview"),y=e.computed(()=>t.media?`Close preview of ${v.value}`:"Close preview"),w=e.computed(()=>t.canGoPrevious?"Previous media":"No previous media"),g=e.computed(()=>t.canGoNext?"Next media":"No next media"),b=e.computed(()=>{const $=t.selected?t.deselectLabel:t.selectLabel;return t.media?t.selected?`${t.deselectLabel} ${v.value}`:`${t.selectLabel} ${v.value}`:$}),R=e.computed(()=>t.selected?t.deselectLabel:t.selectLabel),N=()=>{t.media&&n("toggleSelect",t.media)},I=$=>{if($.key==="Escape"){$.preventDefault(),n("close");return}if($.key==="ArrowLeft"&&t.canGoPrevious){$.preventDefault(),n("previous");return}$.key==="ArrowRight"&&t.canGoNext&&($.preventDefault(),n("next"))},x=()=>{if(s){try{s.deactivate({returnFocus:!1})}catch{}s=null}},T=()=>{const $=d;d=null,$&&typeof $.focus=="function"&&e.nextTick(()=>{$.focus()})};return e.watch(()=>t.open&&t.media!==null,async $=>{var S;if($){d=document.activeElement instanceof HTMLElement?document.activeElement:null,await e.nextTick();const B=r.value;if(B)try{s=XF(B,{initialFocus:()=>l.value??B,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!1,allowOutsideClick:!0}),s.activate()}catch{(S=l.value)==null||S.focus()}}else x(),T()},{immediate:!0}),e.onBeforeUnmount(()=>{x()}),($,S)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[$.open&&$.media?(e.openBlock(),e.createElementBlock("section",{key:0,ref_key:"sheetRef",ref:r,class:"media-preview-sheet",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i),tabindex:"-1","data-testid":"media-preview-sheet",onKeydown:I},[e.createElementVNode("header",JF,[e.createElementVNode("strong",{id:e.unref(i),"data-testid":"media-preview-sheet-title"},e.toDisplayString(k.value),9,qF),e.createElementVNode("button",{ref_key:"closeButtonRef",ref:l,type:"button",class:"media-preview-sheet__close","aria-label":y.value,"data-testid":"btn-media-preview-close",onClick:S[0]||(S[0]=B=>n("close"))},e.toDisplayString($.closeLabel),9,YF)]),c.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-preview-sheet__image",src:p.value,alt:$.media.alt_text||v.value},null,8,QF)):(e.openBlock(),e.createElementBlock("video",{key:1,class:"media-preview-sheet__video",src:p.value,controls:""},null,8,e8)),e.createElementVNode("div",t8,[e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!$.canGoPrevious,"aria-label":w.value,"data-testid":"btn-media-preview-previous",onClick:S[1]||(S[1]=B=>n("previous"))},e.toDisplayString($.previousLabel),9,a8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__select","aria-label":b.value,"aria-pressed":$.selected,"data-testid":"btn-media-preview-select",onClick:N},e.toDisplayString(R.value),9,n8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!$.canGoNext,"aria-label":g.value,"data-testid":"btn-media-preview-next",onClick:S[2]||(S[2]=B=>n("next"))},e.toDisplayString($.nextLabel),9,o8)])],40,KF)):e.createCommentVNode("",!0)]))}}),Md=$e(i8,[["__scopeId","data-v-fa05530d"]]),r8={key:0,class:"media-album-grid","data-testid":"media-source-sheet"},l8={class:"media-album-grid__items"},s8={class:"media-album-grid__card-name"},d8={class:"media-album-grid__card-name"},c8=["data-testid","onClick"],u8={class:"media-album-grid__card-name"},m8={key:0,class:"media-album-grid__card-meta"},p8={key:0,class:"media-album-grid__empty"},f8=e.defineComponent({__name:"MediaSourceSheet",props:{open:{type:Boolean,default:!1},currentView:{},albums:{},viewLibraryLabel:{default:"Library"},browseAlbumsLabel:{default:"Albums"},createAlbumLabel:{default:"Create album"},enableAlbumCreation:{type:Boolean,default:!1}},emits:["close","selectLibrary","selectAlbum","createAlbum"],setup(o,{emit:a}){const t=a;return(n,i)=>n.open?(e.openBlock(),e.createElementBlock("section",r8,[e.createElementVNode("div",l8,[n.enableAlbumCreation?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-album-grid__card media-album-grid__card--create","data-testid":"btn-media-source-create-album",onClick:i[0]||(i[0]=r=>t("createAlbum"))},[i[2]||(i[2]=e.createElementVNode("div",{class:"media-album-grid__card-icon"},[e.createElementVNode("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e.createElementVNode("line",{x1:"5",y1:"12",x2:"19",y2:"12"})])],-1)),e.createElementVNode("span",s8,e.toDisplayString(n.createAlbumLabel),1)])):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":n.currentView.scope==="library"}]),"data-testid":"btn-media-source-library",onClick:i[1]||(i[1]=r=>t("selectLibrary"))},[i[3]||(i[3]=e.createStaticVNode('<div class="media-album-grid__card-icon" data-v-129f67b1><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-129f67b1><rect x="3" y="3" width="7" height="7" data-v-129f67b1></rect><rect x="14" y="3" width="7" height="7" data-v-129f67b1></rect><rect x="14" y="14" width="7" height="7" data-v-129f67b1></rect><rect x="3" y="14" width="7" height="7" data-v-129f67b1></rect></svg></div>',1)),e.createElementVNode("span",d8,e.toDisplayString(n.viewLibraryLabel),1),i[4]||(i[4]=e.createElementVNode("span",{class:"media-album-grid__card-meta"},"All media",-1))],2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.albums,r=>(e.openBlock(),e.createElementBlock("button",{key:r.id,type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":n.currentView.scope==="album"&&n.currentView.albumId===r.id}]),"data-testid":`btn-media-source-album-${r.id}`,onClick:l=>t("selectAlbum",r)},[i[5]||(i[5]=e.createElementVNode("div",{class:"media-album-grid__card-icon"},[e.createElementVNode("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})])],-1)),e.createElementVNode("span",u8,e.toDisplayString(r.name),1),r.mediaCount!==void 0?(e.openBlock(),e.createElementBlock("span",m8,e.toDisplayString(r.mediaCount)+" item"+e.toDisplayString(r.mediaCount===1?"":"s"),1)):e.createCommentVNode("",!0)],10,c8))),128))]),n.albums.length===0?(e.openBlock(),e.createElementBlock("p",p8," No albums yet. ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),hf=$e(f8,[["__scopeId","data-v-129f67b1"]]),h8={key:0,class:"media-upload-sheet","data-testid":"media-upload-sheet"},v8={class:"media-upload-sheet__dropzone-text"},g8={key:0,class:"media-upload-sheet__dropzone-helper","data-testid":"text-media-upload-sheet-helper"},b8={class:"media-upload-sheet__sr-only"},y8=["accept","aria-label"],w8=["aria-label"],k8={class:"media-upload-sheet__queue-row"},_8={key:0,class:"media-upload-sheet__preview"},E8=["src","alt","data-testid"],S8={class:"media-upload-sheet__queue-body"},C8={class:"media-upload-sheet__queue-info"},x8={class:"media-upload-sheet__queue-status"},V8=["aria-valuenow","aria-label","data-testid"],N8=["aria-label"],T8=e.defineComponent({__name:"MediaUploadSheet",props:{open:{type:Boolean,default:!1},queue:{},accept:{default:""},uploadLabel:{default:"Upload"},dropzoneLabel:{default:"Drop files here or browse"},dropzoneHelperText:{default:""},fileInputLabel:{default:"Choose media files"},closeButtonAriaLabel:{default:"Close upload panel"},closeButtonLabel:{default:"Done"},progressAriaLabel:{}},emits:["close","filesSelected"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=p=>{var h;return t.progressAriaLabel!==void 0?t.progressAriaLabel(p):`Uploading ${((h=p.file)==null?void 0:h.name)??"file"}`},l=p=>{const f=Number.isFinite(p.progress)?p.progress:0;return f<0?0:f>100?100:Math.round(f)},s=e.computed(()=>t.queue.length===0?"":`${t.queue.length} upload${t.queue.length===1?"":"s"} in progress`),d=p=>{const f=p.target;!(f instanceof HTMLInputElement)||f.files===null||(n("filesSelected",Array.from(f.files)),f.value="")},c=p=>{p.preventDefault(),i.value=!0},u=()=>{i.value=!1},m=p=>{var f;p.preventDefault(),i.value=!1,(f=p.dataTransfer)!=null&&f.files&&p.dataTransfer.files.length>0&&n("filesSelected",Array.from(p.dataTransfer.files))};return(p,f)=>p.open?(e.openBlock(),e.createElementBlock("section",h8,[e.createElementVNode("label",{class:e.normalizeClass(["media-upload-sheet__dropzone",{"is-drag-over":i.value}]),onDragover:c,onDragleave:u,onDrop:m},[f[1]||(f[1]=e.createStaticVNode('<div class="media-upload-sheet__dropzone-icon" data-v-df614629><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" data-v-df614629><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" data-v-df614629></path><polyline points="17 8 12 3 7 8" data-v-df614629></polyline><line x1="12" y1="3" x2="12" y2="15" data-v-df614629></line></svg></div>',1)),e.createElementVNode("span",v8,e.toDisplayString(p.dropzoneLabel),1),p.dropzoneHelperText?(e.openBlock(),e.createElementBlock("span",g8,e.toDisplayString(p.dropzoneHelperText),1)):e.createCommentVNode("",!0),e.createElementVNode("span",b8,e.toDisplayString(p.fileInputLabel),1),e.createElementVNode("input",{type:"file",accept:p.accept,multiple:"",class:"media-upload-sheet__file-input","data-testid":"input-media-upload-sheet","aria-label":p.fileInputLabel,onChange:d},null,40,y8)],34),p.queue.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:"media-upload-sheet__queue","aria-live":"polite","aria-label":s.value,"data-testid":"list-media-upload-sheet-queue"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.queue,h=>(e.openBlock(),e.createElementBlock("li",{key:h.id,class:"media-upload-sheet__queue-item"},[e.createElementVNode("div",k8,[h.previewUrl?(e.openBlock(),e.createElementBlock("div",_8,[e.createElementVNode("img",{src:h.previewUrl,alt:`Preview of ${h.file.name}`,"data-testid":`img-media-upload-sheet-preview-${h.id}`},null,8,E8)])):e.createCommentVNode("",!0),e.createElementVNode("div",S8,[e.createElementVNode("div",C8,[e.createElementVNode("strong",null,e.toDisplayString(h.file.name),1),e.createElementVNode("span",x8,e.toDisplayString(h.status),1)]),e.createElementVNode("div",{class:"media-upload-sheet__progress-bar",role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":l(h),"aria-label":r(h),"data-testid":`progress-media-upload-sheet-${h.id}`},[e.createElementVNode("div",{class:"media-upload-sheet__progress-fill",style:e.normalizeStyle({width:`${l(h)}%`})},null,4)],8,V8)])])]))),128))],8,w8)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"media-upload-sheet__close-btn","aria-label":p.closeButtonAriaLabel,"data-testid":"btn-close-upload-sheet",onClick:f[0]||(f[0]=h=>n("close"))},e.toDisplayString(p.closeButtonLabel),9,N8)])):e.createCommentVNode("",!0)}}),vf=$e(T8,[["__scopeId","data-v-df614629"]]),B8=["aria-label","aria-pressed","data-testid"],I8=["src","alt"],M8={key:1,class:"media-thumbnail-cell__video"},$8={class:"media-thumbnail-cell__video-name"},F8={key:2,class:"media-thumbnail-cell__selected-badge"},D8={key:3,class:"media-thumbnail-cell__status-badge"},A8=["aria-label"],R8=e.defineComponent({__name:"MediaThumbnailCell",props:{media:{},selected:{type:Boolean,default:!1},status:{},testId:{default:"media-library-thumbnail"}},emits:["toggle","preview"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>t.media.thumbnail_url??t.media.preview_url??t.media.original_url),r=e.computed(()=>t.media.mime_type.startsWith("image/")),l=e.computed(()=>{switch(t.status){case"missing":return"Unavailable";case"forbidden":return"Restricted";case"uploading":return"Uploading";case"failed":return"Failed";case"file_lost":return"Needs file";default:return null}}),s=e.computed(()=>{const u=t.media.file_name;return t.selected?`Deselect ${u}`:`Select ${u}`}),d=()=>{n("toggle",t.media)},c=()=>{n("preview",t.media)};return(u,m)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["media-thumbnail-cell",{"is-selected":u.selected,"has-status":l.value!==null}])},[e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__button","aria-label":s.value,"aria-pressed":u.selected?"true":"false","data-testid":u.testId,onClick:d},[r.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-thumbnail-cell__image",src:i.value,alt:u.media.file_name},null,8,I8)):(e.openBlock(),e.createElementBlock("div",M8,[m[0]||(m[0]=e.createElementVNode("span",{class:"media-thumbnail-cell__video-label"},"Video",-1)),e.createElementVNode("span",$8,e.toDisplayString(u.media.file_name),1)])),u.selected?(e.openBlock(),e.createElementBlock("span",F8," Selected ")):e.createCommentVNode("",!0),l.value!==null?(e.openBlock(),e.createElementBlock("span",D8,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)],8,B8),e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__preview-button","aria-label":`Preview ${u.media.file_name}`,onClick:c}," Preview ",8,A8)],2))}}),gf=$e(R8,[["__scopeId","data-v-edd4f0ad"]]),L8={class:"virtual-media-grid"},P8={key:0,class:"virtual-media-grid__state","data-testid":"media-grid-loading"},U8={key:1,class:"virtual-media-grid__state","data-testid":"media-grid-empty"},O8={key:2,class:"virtual-media-grid__items"},z8=["disabled"],j8=e.defineComponent({__name:"VirtualMediaGrid",props:{items:{},selectedItems:{},loading:{type:Boolean,default:!1},loadingMore:{type:Boolean,default:!1},hasMore:{type:Boolean,default:!1},emptyMessage:{default:"No media found."},testIdPrefix:{default:"media-grid-item"},loadingMessage:{default:"Loading media..."},loadMoreLabel:{default:"Load more"},loadingMoreLabel:{default:"Loading…"}},emits:["toggle","preview","loadMore"],setup(o,{emit:a}){const t=o,n=a;function i(r){return t.selectedItems.find(l=>l.id===r)}return(r,l)=>(e.openBlock(),e.createElementBlock("div",L8,[r.loading&&r.items.length===0?(e.openBlock(),e.createElementBlock("div",P8,e.toDisplayString(r.loadingMessage),1)):r.items.length===0?(e.openBlock(),e.createElementBlock("div",U8,e.toDisplayString(r.emptyMessage),1)):(e.openBlock(),e.createElementBlock("div",O8,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,s=>{var d,c;return e.openBlock(),e.createBlock(gf,{key:s.uuid,media:s,selected:((d=i(s.uuid))==null?void 0:d.status)==="ready",status:(c=i(s.uuid))==null?void 0:c.status,"test-id":`${r.testIdPrefix}-${s.uuid}`,onToggle:l[0]||(l[0]=u=>n("toggle",u)),onPreview:l[1]||(l[1]=u=>n("preview",u))},null,8,["media","selected","status","test-id"])}),128))])),r.hasMore?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"virtual-media-grid__load-more",disabled:r.loadingMore,"data-testid":"btn-media-grid-load-more",onClick:l[2]||(l[2]=s=>n("loadMore"))},e.toDisplayString(r.loadingMore?r.loadingMoreLabel:r.loadMoreLabel),9,z8)):e.createCommentVNode("",!0)]))}}),bf=$e(j8,[["__scopeId","data-v-34667f65"]]);function Yr(o){if(o===0)return"0 Bytes";const a=1024,t=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(o)/Math.log(a));return parseFloat((o/Math.pow(a,n)).toFixed(2))+" "+t[n]}function yf(o){var t;const a=o.split(".");return a.length>1?`.${(t=a.pop())==null?void 0:t.toLowerCase()}`:""}function $d(o){return o.type.startsWith("image/")}async function wf(o){return $d(o)?new Promise(a=>{const t=new Image,n=URL.createObjectURL(o);t.onload=()=>{URL.revokeObjectURL(n),a({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{URL.revokeObjectURL(n),a(null)},t.src=n}):null}async function kf(o,a){const t=[];if(a.maxFileSize&&o.size>a.maxFileSize&&t.push({field:"size",message:`File exceeds maximum size of ${Yr(a.maxFileSize)}`,code:"MAX_FILE_SIZE"}),a.minFileSize&&o.size<a.minFileSize&&t.push({field:"size",message:`File is smaller than minimum size of ${Yr(a.minFileSize)}`,code:"MIN_FILE_SIZE"}),a.acceptedMimeTypes&&a.acceptedMimeTypes.length>0&&(a.acceptedMimeTypes.some(i=>i.endsWith("/*")?o.type.startsWith(i.slice(0,-1)):o.type===i)||t.push({field:"type",message:`File type "${o.type}" is not allowed`,code:"INVALID_MIME_TYPE"})),a.acceptedExtensions&&a.acceptedExtensions.length>0){const n=yf(o.name);a.acceptedExtensions.some(r=>r.toLowerCase()===n.toLowerCase())||t.push({field:"extension",message:`File extension "${n}" is not allowed`,code:"INVALID_EXTENSION"})}if($d(o)&&(a.maxDimensions||a.minDimensions)){const n=await wf(o);n&&(a.maxDimensions&&(n.width>a.maxDimensions.width&&t.push({field:"dimensions",message:`Image width (${n.width}px) exceeds maximum (${a.maxDimensions.width}px)`,code:"MAX_WIDTH"}),n.height>a.maxDimensions.height&&t.push({field:"dimensions",message:`Image height (${n.height}px) exceeds maximum (${a.maxDimensions.height}px)`,code:"MAX_HEIGHT"})),a.minDimensions&&(n.width<a.minDimensions.width&&t.push({field:"dimensions",message:`Image width (${n.width}px) is smaller than minimum (${a.minDimensions.width}px)`,code:"MIN_WIDTH"}),n.height<a.minDimensions.height&&t.push({field:"dimensions",message:`Image height (${n.height}px) is smaller than minimum (${a.minDimensions.height}px)`,code:"MIN_HEIGHT"})))}if(a.customValidator){const n=await a.customValidator(o);t.push(...n)}return{valid:t.length===0,errors:t}}function Fd(o={}){const a=e.ref(o.rules||{});function t(d){a.value=d}async function n(d){return kf(d,a.value)}async function i(d){const c=new Map;return await Promise.all(d.map(async u=>{const m=await n(u);c.set(u,m)})),c}function r(d,c){return a.value.maxItems?c+d<=a.value.maxItems:!0}const l=e.computed(()=>{const d=[];return a.value.acceptedMimeTypes&&d.push(...a.value.acceptedMimeTypes),a.value.acceptedExtensions&&d.push(...a.value.acceptedExtensions),d.join(",")});function s(d){return!a.value.acceptedMimeTypes||a.value.acceptedMimeTypes.length===0?!0:a.value.acceptedMimeTypes.some(c=>c.endsWith("/*")?d.startsWith(c.slice(0,-1)):d===c)}return{rules:a,setRules:t,validateFile:n,validateFiles:i,canAddFiles:r,acceptString:l,isMimeTypeAllowed:s}}function W8(){return`upload-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function H8(o){if(o.type.startsWith("image/"))return URL.createObjectURL(o)}function Dd(o){const{adapter:a,maxConcurrent:t=3,rules:n,collection:i,onUploadStart:r,onUploadProgress:l,onUploadComplete:s,onUploadError:d,onQueueComplete:c,postUpload:u}=o,m=e.ref(new Map),p=e.ref(new Set),f=n?{rules:n}:{},{validateFile:h}=Fd(f);async function v(){if(p.value.size>=t)return;const B=Array.from(m.value.entries()).find(([P,D])=>D.status==="pending"&&!p.value.has(P));if(!B){Array.from(m.value.values()).every(D=>D.status==="completed"||D.status==="error")&&m.value.size>0&&(c==null||c());return}const[_,A]=B;await k(_,A)}async function k(B,_){p.value.add(B),_.status="uploading",_.abortController=new AbortController,m.value.set(B,{..._}),r==null||r(_);try{const A={onProgress:D=>{_.progress=D,m.value.set(B,{..._}),l==null||l(_)},signal:_.abortController.signal};i&&(A.collection=i);const P=await a.upload(_.file,A);u&&(_.status="attaching",m.value.set(B,{..._}),l==null||l(_),await u(_,P.media,a)),_.status="completed",_.progress=100,_.media=P.media,m.value.set(B,{..._}),s==null||s(_,P.media)}catch(A){A.name==="AbortError"?m.value.delete(B):(_.status="error",_.error=A.message,m.value.set(B,{..._}),d==null||d(_,A))}finally{p.value.delete(B),delete _.abortController,v()}}async function y(B){var P;const _=Array.from(B),A=[];for(const D of _){const z=await h(D),M=W8(),Z=H8(D),O={id:M,file:D,progress:0,status:z.valid?"pending":"error"};!z.valid&&((P=z.errors[0])!=null&&P.message)&&(O.error=z.errors[0].message),Z&&(O.previewUrl=Z),m.value.set(M,O);const K={media:null,clientId:M,name:D.name,order:0,upload:O,errors:z.errors};A.push(K)}for(let D=0;D<t;D++)v();return A}function w(B){const _=m.value.get(B);_&&(_.abortController&&_.abortController.abort(),_.previewUrl&&URL.revokeObjectURL(_.previewUrl),m.value.delete(B),p.value.delete(B),v())}async function g(B){const _=m.value.get(B);!_||_.status!=="error"||(_.status="pending",_.progress=0,delete _.error,m.value.set(B,{..._}),v())}function b(){for(const[B,_]of m.value.entries())(_.status==="completed"||_.status==="error")&&(_.previewUrl&&URL.revokeObjectURL(_.previewUrl),m.value.delete(B))}function R(){for(const B of m.value.values())B.abortController&&B.abortController.abort(),B.previewUrl&&URL.revokeObjectURL(B.previewUrl);m.value.clear(),p.value.clear()}function N(B){return m.value.get(B)}const I=e.computed(()=>p.value.size>0),x=e.computed(()=>p.value.size),T=e.computed(()=>Array.from(m.value.values()).filter(B=>B.status==="pending").length),$=e.computed(()=>m.value.size===0?!0:Array.from(m.value.values()).every(B=>B.status==="completed"||B.status==="error")),S=e.computed(()=>Array.from(m.value.values()));return{uploads:m,isUploading:I,activeCount:x,pendingCount:T,isComplete:$,addFiles:y,cancelUpload:w,retryUpload:g,clearCompleted:b,clearAll:R,getUpload:N,uploadsArray:S}}function oo(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)}function Di(o){return typeof o=="string"?o:null}function ci(o){return typeof o=="number"?o:null}function Z8(o){return typeof o=="boolean"?o:null}function _f(o){return oo(o)&&typeof o.uuid=="string"&&typeof o.file_name=="string"&&typeof o.mime_type=="string"&&(typeof o.original_url=="string"||o.original_url===null)&&typeof o.size=="number"&&typeof o.disk=="string"&&typeof o.created_at=="string"&&typeof o.updated_at=="string"}function G8(o){return!oo(o)||typeof o.id!="string"||typeof o.status!="string"?null:o.status==="ready"?_f(o.media)?{id:o.id,status:"ready",media:o.media}:null:o.status==="missing"||o.status==="forbidden"?{id:o.id,status:o.status}:null}function X8(o){return oo(o)?{next_cursor:Di(o.next_cursor),previous_cursor:Di(o.previous_cursor),has_more:Z8(o.has_more)??!1,per_page:ci(o.per_page),count:ci(o.count),total:ci(o.total),current_page:ci(o.current_page),last_page:ci(o.last_page)}:null}function $u(o){const a=oo(o)?o:{},t=Array.isArray(a.data)?a.data.filter(_f):[],n=oo(a.meta)?a.meta:{},i=X8(n.pagination),r=(i==null?void 0:i.next_cursor)??Di(n.next_cursor)??Di(n.cursor),l=(i==null?void 0:i.has_more)??n.has_more===!0,s=Array.isArray(a.hydrated)?a.hydrated.map(G8).filter(c=>c!==null):[],d={cursor:r,has_more:l};return i!==null&&(d.pagination=i),{data:t,meta:d,hydrated:s}}function Fu(o,a,t,n,i,r){const l={view:o.scope==="album"?{scope:"album",album_id:o.albumId}:{scope:o.scope},per_page:t,sort:a.sort??"newest"};return a.query&&a.query.trim()!==""&&(l.query=a.query.trim()),a.kinds&&a.kinds.length>0&&(l.kinds=a.kinds),a.created_after&&a.created_after.trim()!==""&&(l.created_after=a.created_after.trim()),a.created_before&&a.created_before.trim()!==""&&(l.created_before=a.created_before.trim()),(a.usage_status==="used"||a.usage_status==="not_used")&&(l.usage_status=a.usage_status),(a.unfiled_only===!0||o.scope==="unfiled")&&(l.unfiled_only=1),a.selected_uuids&&a.selected_uuids.length>0&&(l.selected_uuids=[...a.selected_uuids]),r!=null?(l.page=r,l.include_total=1):n!==null&&(l.cursor=n),i&&i.length>0&&(l.hydrate_ids=i),l}function Du(o){const a=new Set,t=[];for(const n of o)a.has(n.uuid)||(a.add(n.uuid),t.push(n));return t}function K8(o){var t;if(!(o instanceof Error))return null;const a=(t=o.response)==null?void 0:t.status;return typeof a=="number"?a:null}function J8(o){var a;return o instanceof Error?((a=o.response)==null?void 0:a.data)??null:null}function q8(o){if(!oo(o))return[];const a=[];for(const t of Object.values(o)){if(typeof t=="string"&&t.trim()!==""){a.push(t.trim());continue}if(Array.isArray(t))for(const n of t){if(typeof n!="string")continue;const i=n.trim();i!==""&&a.push(i)}}return Array.from(new Set(a))}function Y8(o){var r;const a=J8(o),t=oo(a)?a:null,n=((r=Di(t==null?void 0:t.message))==null?void 0:r.trim())??null,i=q8(t==null?void 0:t.errors);return n!==null&&i.length>0?n==="Validation failed"?i.join(" "):i.every(s=>n.includes(s))?n:`${n} ${i.join(" ")}`:n!==null?n:i.length>0?i.join(" "):o instanceof Error?o.message:"Failed to load media."}function Au(o,a){const t=Y8(a),n=K8(a);return{code:n===403?"permission_denied":o,message:t,retriable:n!==403,cause:a}}function Ad(o){const a=()=>{const N=o.perPage!==void 0?e.toValue(o.perPage):40;return N>0?N:40},t=()=>{const N=o.page!==void 0?e.toValue(o.page):null;return N==null?null:N>0?N:1},n=e.ref([]),i=e.ref([]),r=e.ref(null),l=e.ref(!1),s=e.ref(!1),d=e.ref(!1),c=e.ref(!1),u=e.ref(null),m=e.ref(null),p=e.ref(null),f=e.ref(null);let h=null,v=0;const k=async(N,I)=>{v+=1;const x=v;h==null||h.abort();const T=new AbortController;h=T,N?d.value=!0:s.value=!0,u.value=null,c.value=!1;const $=I??t(),S=$!==null;try{const B=await o.httpClient.get("/v1/media/library",{params:Fu(o.view.value,o.filters.value,a(),S?null:N?r.value:null,void 0,$),signal:T.signal});if(x!==v)return;const _=$u(B);n.value=N&&!S?Du([...n.value,..._.data]):_.data,i.value=_.hydrated,r.value=_.meta.cursor,l.value=_.meta.has_more;const A=_.meta.pagination;m.value=(A==null?void 0:A.total)??null,p.value=(A==null?void 0:A.current_page)??(S&&$!==null?$:null);const P=(A==null?void 0:A.per_page)??a();f.value=(A==null?void 0:A.last_page)??(m.value!==null&&P>0?Math.max(1,Math.ceil(m.value/P)):null)}catch(B){if(T.signal.aborted||x!==v)return;const _=Au(N?"load_more_failed":"query_failed",B);u.value=_,c.value=_.code==="permission_denied",N||(n.value=[],r.value=null,l.value=!1)}finally{x===v&&(s.value=!1,d.value=!1)}},y=async N=>{if(N.length===0)return i.value=[],[];try{const I=await o.httpClient.get("/v1/media/library",{params:Fu(o.view.value,o.filters.value,1,null,N)}),x=$u(I);return i.value=x.hydrated,x.hydrated}catch(I){return u.value=Au("hydration_failed",I),[]}},w=N=>{n.value=Du([N,...n.value])},g=async()=>{!l.value||d.value||t()===null&&await k(!0)};return{items:n,hydrated:i,cursor:r,hasMore:l,loading:s,loadingMore:d,permissionDenied:c,error:u,total:m,currentPage:p,totalPages:f,loadInitial:async()=>{r.value=null,await k(!1)},loadMore:g,loadAll:async N=>{const I=(N==null?void 0:N.maxItems)??5e3;if(!(s.value||d.value))for(;l.value&&n.value.length<I;){const x=n.value.length;if(await g(),u.value!==null||n.value.length===x)return}},goToPage:async N=>{!Number.isFinite(N)||N<1||s.value||d.value||await k(!1,N)},refresh:async()=>{r.value=null,await k(!1)},hydrateSelection:y,prepend:w}}const Q8="mediables.media-library.";function e6(o){return!o||o.key.trim()===""?null:`${Q8}${o.key}`}function ls(){return typeof window>"u"||typeof window.sessionStorage>"u"?null:window.sessionStorage}function t6(o,a){const t=Date.parse(o);return Number.isFinite(t)?Date.now()-t>a*60*1e3:!0}function Ef(o){const a=e6(o),t=(o==null?void 0:o.ttlMinutes)??30,n=`${(o==null?void 0:o.key)??"media-library"}:${Date.now()}`;return{restore:()=>{if(a===null)return null;const s=ls();if(s===null)return null;const d=s.getItem(a);if(d===null)return null;let c;try{c=JSON.parse(d)}catch{return s.removeItem(a),null}if(typeof c!="object"||c===null||Array.isArray(c))return s.removeItem(a),null;const u=c;if(u.version!==1||typeof u.savedAt!="string"||t6(u.savedAt,t))return s.removeItem(a),null;const m={selectedIds:Array.isArray(u.selectedIds)?u.selectedIds.filter(p=>typeof p=="string"&&p.trim()!==""):[]};return((o==null?void 0:o.restoreView)??!0)&&u.view&&(m.view=u.view),u.filters&&(m.filters=u.filters),m},save:s=>{if(a===null)return;const d=ls();if(d===null)return;const c={version:1,savedAt:new Date().toISOString(),selectedIds:[...s.selectedIds]};((o==null?void 0:o.restoreView)??!0)&&s.view&&(c.view=s.view),s.filters&&(c.filters=s.filters),d.setItem(a,JSON.stringify(c))},clear:()=>{if(a===null)return;const s=ls();s==null||s.removeItem(a)},sessionId:n}}function Sf(o){const a=e.ref(o);return{state:a,transition:n=>{a.value=n}}}function Cf(o){return{emitMetric:(t,n)=>{const i={name:t,timestamp:new Date().toISOString()};n!==void 0&&(i.payload=n),o==null||o(i)}}}function Mo(o){return typeof o=="object"&&o!==null&&!Array.isArray(o)}function a6(o){const a=Mo(o)?o:{};return(Array.isArray(a.data)?a.data:Mo(a.data)&&Array.isArray(a.data.data)?a.data.data:Array.isArray(o)?o:[]).map(n=>{if(!Mo(n)||typeof n.id!="string"||typeof n.name!="string")return null;const i={id:n.id,name:n.name};return typeof n.description=="string"&&n.description.trim()!==""&&(i.description=n.description),typeof n.media_count=="number"&&(i.mediaCount=n.media_count),i}).filter(n=>n!==null)}function n6(o){const a=Mo(o)?o:{},t=Mo(a.data)?a.data:Mo(o)?o:null;if(t===null||typeof t.id!="string"||typeof t.name!="string")return null;const n={id:t.id,name:t.name};return typeof t.description=="string"&&t.description.trim()!==""&&(n.description=t.description),n}function o6(o){return o==="ready"||o==="uploading"||o==="failed"}function Un(o,a="ready"){return{id:o.uuid,media:o,status:a,countsTowardMax:o6(a)}}function i6(o,a){return o.scope==="library"?!0:o.scope!=="album"?!1:a.type==="album"&&a.albumId===o.albumId}function r6(o,a){return o.scope==="library"?a.type==="library"||a.type==="album":o.scope!=="album"?!1:a.type==="album"&&a.albumId===o.albumId}function ss(o){return{code:"configuration_error",message:o,retriable:!1}}const xf="/v1/albums";function l6(o){var a;return((a=o.deps.albumEndpoints)==null?void 0:a.list)??xf}function s6(o){var a,t;return((a=o.deps.albumEndpoints)==null?void 0:a.create)??((t=o.deps.albumEndpoints)==null?void 0:t.list)??xf}function d6(o){return typeof o!="string"||o.length===0?"document":o.startsWith("image/")?"image":o.startsWith("video/")?"video":o.startsWith("audio/")?"audio":"document"}function c6(o,a){return a.length===0||o===null?!0:a.includes(d6(o.mime_type))}function Ru(o){return{...o??{},...(o==null?void 0:o.kinds)!==void 0?{kinds:[...o.kinds]}:{},...(o==null?void 0:o.selected_uuids)!==void 0?{selected_uuids:[...o.selected_uuids]}:{}}}function Vf(o){var W,C;const a=o.selectionMode??"multiple",t=o.maxSelection,n=o.uploadBehavior??"adapter",i=e.ref(o.initialView??{scope:"library"}),r=((W=o.initialFilters)==null?void 0:W.kinds)??(o.allowedMediaKinds&&o.allowedMediaKinds.length>0?[...o.allowedMediaKinds]:void 0),l=e.ref({...Ru(o.initialFilters),sort:((C=o.initialFilters)==null?void 0:C.sort)??"newest",...r?{kinds:r}:{}}),s=o.allowedMediaKinds?[...o.allowedMediaKinds]:[],d=e.ref([]),c=e.ref([]),u=e.ref(null),m=e.ref(null),p=Ef(o.sessionPolicy),{emitMetric:f}=Cf(o.telemetry),h=Sf("idle"),v=Ad({httpClient:o.deps.httpClient,view:i,filters:l}),k=e.computed(()=>c.value.map(U=>U.id)),y=e.computed(()=>{const U=u.value;return U===null?null:v.items.value[U]??null}),w=e.computed(()=>o.uploadTarget??{type:"library"}),g=Dd({adapter:o.deps.uploadAdapter??{name:"missing-upload-adapter",upload:async()=>{throw new Error("Upload adapter is not configured.")},attach:async()=>{},attachMany:async()=>{},detach:async()=>{},reorder:async()=>{},fetchModelMedia:async()=>[],getUrl:U=>U.original_url,getThumbnailUrl:U=>U.thumbnail_url??U.preview_url??U.original_url},postUpload:async(U,j,ie)=>{const ue=w.value;ue.type!=="album"||!ue.albumId||await ie.attach(j.uuid,{modelType:"album",modelId:ue.albumId})},onUploadComplete:(U,j)=>{const ie=w.value;i6(i.value,ie)&&v.prepend(j),o.autoSelectUploaded&&r6(i.value,ie)&&$(j),f("upload-complete",{mediaId:j.uuid,targetType:ie.type,targetAlbumId:ie.albumId})},onUploadError:(U,j)=>{m.value={code:"upload_failed",message:j.message,retriable:!0,cause:j}}}),b=e.computed(()=>g.isUploading.value),R=()=>{p.save({selectedIds:[...k.value],view:i.value,filters:l.value})},N=async U=>{const j=await v.hydrateSelection(U);c.value=j.map(ie=>ie.status==="ready"&&ie.media?Un(ie.media):{id:ie.id,media:null,status:ie.status,countsTowardMax:!1})},I=e.computed(()=>c.value.filter(U=>U.countsTowardMax).length),x=()=>a==="single"||t===void 0?!0:I.value<t,T=U=>{if(c.value.findIndex(ie=>ie.id===U.uuid)>=0){a==="multiple"?c.value=c.value.filter(ie=>ie.id!==U.uuid):c.value=[Un(U)],R();return}if(!x()){m.value={code:"selection_invalid",message:t!==void 0?`You can only select up to ${t} items.`:"You cannot select more items.",retriable:!0};return}a==="single"?c.value=[Un(U)]:c.value=[...c.value,Un(U)],m.value=null,R()},$=U=>{const j=c.value.findIndex(ie=>ie.id===U.uuid);if(j>=0){c.value=c.value.map((ie,ue)=>ue===j?Un(U):ie),m.value=null,R();return}if(!x()){m.value={code:"selection_invalid",message:t!==void 0?`You can only select up to ${t} items.`:"You cannot select more items.",retriable:!0};return}a==="single"?c.value=[Un(U)]:c.value=[...c.value,Un(U)],m.value=null,R()},S=async()=>{var j;h.transition("restoring");const U=p.restore();if(U===null){h.transition("ready");return}U.view&&(i.value=U.view),U.filters&&(l.value={...Ru(U.filters),sort:U.filters.sort??"newest"}),await v.loadInitial(),(((j=o.sessionPolicy)==null?void 0:j.restoreSelection)??!0)&&await N(U.selectedIds),h.transition("ready")};e.watch(()=>v.error.value,U=>{U!==null&&(m.value=U,h.transition("error"))});const B=async()=>{m.value=null,h.transition("idle"),await S(),v.items.value.length===0&&!v.loading.value&&!v.permissionDenied.value&&await v.loadInitial();const U=o.defaultSelectedIds??[];c.value.length===0&&U.length>0&&await N(U),h.transition("ready")},_=async(U,j="user")=>{const ie=i.value;i.value=U,j==="user"&&o.preserveSelectionOnViewChange===!1&&(c.value=[]),f("view-change",{from:ie.scope,to:U.scope,reason:j}),await v.loadInitial(),R()},A=async()=>{const U=await o.deps.httpClient.get(l6(o));d.value=a6(U)},P=async(U,j)=>{try{const ie={name:U,visibility:"private"};j&&j.trim()!==""&&(ie.parent_id=j);const ue=await o.deps.httpClient.post(s6(o),ie),Xe=n6(ue);return Xe===null?ss("Album creation response was invalid."):(d.value=[Xe,...d.value.filter(be=>be.id!==Xe.id)],await _({scope:"album",albumId:Xe.id,albumName:Xe.name},"inline-album-created"),Xe)}catch(ie){const ue={code:"album_create_failed",message:ie instanceof Error?ie.message:"Album creation failed.",retriable:!0,cause:ie};return m.value=ue,ue}},D=async U=>{if(!o.enableUpload){m.value=ss("Uploads are not enabled for this picker.");return}if(n!=="delegate"){if(!o.deps.uploadAdapter){m.value=ss("Uploads require a configured upload adapter.");return}await g.addFiles(U)}},z=()=>{var ie;if(s.length>0&&c.value.find(Xe=>Xe.media!==null&&!c6(Xe.media,s))){const be={code:"selection_invalid",message:`Selected media is not allowed here. Choose one of: ${s.join(", ")}.`,retriable:!0};return m.value=be,be}const U=((ie=o.validateSelection)==null?void 0:ie.call(o,c.value))??null;if(U!==null){const ue={code:"selection_invalid",message:U,retriable:!0};return m.value=ue,ue}if(c.value.filter(ue=>ue.status==="ready"&&ue.media!==null).length===0){const ue={code:"selection_invalid",message:"Select at least one available media item.",retriable:!0};return m.value=ue,ue}return{orderedIds:k.value,items:[...c.value],view:i.value,filters:l.value,dirty:!0,sessionId:p.sessionId}},M=U=>{const j=v.items.value.findIndex(ie=>ie.uuid===U.uuid);u.value=j>=0?j:null},Z=()=>{u.value=null},O=()=>{u.value===null||u.value<=0||(u.value-=1)},K=()=>{u.value===null||u.value>=v.items.value.length-1||(u.value+=1)},de=U=>{c.value=c.value.filter(j=>j.id!==U),R()},Ve=async()=>{await v.refresh()},ce=async U=>{l.value={...l.value,...U&&U.trim()!==""?{query:U.trim()}:{}},(!U||U.trim()==="")&&delete l.value.query,await v.loadInitial(),R()},le=async()=>{await _({scope:"library"},"permission-unavailable")};return{view:i,filters:l,albums:d,selectedItems:c,orderedIds:k,queryItems:v.items,cursor:v.cursor,hasMore:v.hasMore,loading:v.loading,loadingMore:v.loadingMore,permissionDenied:v.permissionDenied,error:m,uploadQueue:g.uploadsArray,isUploading:b,previewIndex:u,previewItem:y,initialize:B,refresh:Ve,loadMore:v.loadMore,setQuery:ce,setView:_,toggleSelection:T,removeSelected:de,confirmSelection:z,openPreview:M,closePreview:Z,showPreviousPreview:O,showNextPreview:K,loadAlbums:A,createAlbum:P,addUploadFiles:D,goToLibrary:le,sessionId:p.sessionId}}const u6=["data-testid"],m6={class:"mlp-location-bar"},p6={class:"mlp-location-bar__left"},f6={class:"mlp-location-bar__label"},h6={class:"mlp-tabs","data-testid":"media-picker-tabs"},v6={key:0,class:"mlp-search-row"},g6=["placeholder"],b6={key:2,class:"mlp-overlay-panel"},y6={key:0,class:"mlp-error","data-testid":"media-picker-error"},w6={key:5,class:"mlp-bottom-bar"},k6={key:0,class:"mlp-bottom-bar__selection"},_6={class:"mlp-bottom-bar__count"},E6={class:"mlp-bottom-bar__thumbs"},S6=["src","alt"],C6={key:1,class:"mlp-bottom-bar__thumb-placeholder"},x6=["aria-label","onClick"],V6={class:"mlp-bottom-bar__actions"},N6=e.defineComponent({__name:"MediaLibraryPicker",props:{deps:{},mode:{default:"picker-multi"},capabilities:{default:()=>({})},itemFilter:{},modelValue:{default:()=>[]},defaultSelectedIds:{default:()=>[]},selectionMode:{default:"multiple"},maxSelection:{},preserveSelectionOnViewChange:{type:Boolean,default:!0},initialView:{default:()=>({scope:"library"})},initialFilters:{default:()=>({sort:"newest"})},enableUpload:{type:Boolean,default:!1},uploadBehavior:{default:"adapter"},enablePreview:{type:Boolean,default:!0},enableAlbumCreation:{type:Boolean,default:!1},allowedMediaKinds:{},accept:{},validateSelection:{},uploadTarget:{},autoSelectUploaded:{type:Boolean,default:!1},createAlbumDefaultVisibility:{default:"private"},sessionPolicy:{},labels:{default:()=>({})},showFooter:{type:Boolean,default:!0},testIdPrefix:{default:"media-picker"},telemetry:{}},emits:["update:modelValue","confirm","cancel","selection-change","select","view-change","error","metric","request-upload-files"],setup(o,{expose:a,emit:t}){const n=o,i=t,r=e.computed(()=>{var C,U,j,ie,ue,Xe,be,Ee,ye,xe,Ce,Re,ze,rt,at,Dt,ht,St,ut,lt,Ct,Se,J,ne,De,fe,Ae,Ye,st,Bt,Nt,Lt,Pt,zt,Ot,jt,oa,Q,ge;return{title:((C=n.labels)==null?void 0:C.title)??"Media library",searchPlaceholder:((U=n.labels)==null?void 0:U.searchPlaceholder)??"Search your media",viewLibrary:((j=n.labels)==null?void 0:j.viewLibrary)??"Library",browseAlbums:((ie=n.labels)==null?void 0:ie.browseAlbums)??"Albums",createAlbum:((ue=n.labels)==null?void 0:ue.createAlbum)??"Create album",createAlbumNameLabel:((Xe=n.labels)==null?void 0:Xe.createAlbumNameLabel)??"Album name",emptyLibrary:((be=n.labels)==null?void 0:be.emptyLibrary)??"No media found in your library.",emptyAlbum:((Ee=n.labels)==null?void 0:Ee.emptyAlbum)??"No media found in this album.",networkError:((ye=n.labels)==null?void 0:ye.networkError)??"Unable to load media right now.",retry:((xe=n.labels)==null?void 0:xe.retry)??"Retry",selectedCount:((Ce=n.labels)==null?void 0:Ce.selectedCount)??(me=>`${me} selected`),confirmAction:((Re=n.labels)==null?void 0:Re.confirmAction)??"Attach selected",cancel:((ze=n.labels)==null?void 0:ze.cancel)??"Cancel",dismiss:((rt=n.labels)==null?void 0:rt.dismiss)??"Remove",uploadLabel:((at=n.labels)==null?void 0:at.uploadLabel)??"Upload",albumUnavailableTitle:((Dt=n.labels)==null?void 0:Dt.albumUnavailableTitle)??"Album unavailable",albumUnavailableBody:((ht=n.labels)==null?void 0:ht.albumUnavailableBody)??"You no longer have access to this album.",goToLibrary:((St=n.labels)==null?void 0:St.goToLibrary)??"Go to library",allMediaTab:((ut=n.labels)==null?void 0:ut.allMediaTab)??"All Media",loadingMedia:((lt=n.labels)==null?void 0:lt.loadingMedia)??"Loading media…",loadMore:((Ct=n.labels)==null?void 0:Ct.loadMore)??"Load more",loadingMore:((Se=n.labels)==null?void 0:Se.loadingMore)??"Loading…",uploadDropzone:((J=n.labels)==null?void 0:J.uploadDropzone)??"Drop files here or browse",uploadDropzoneHelper:((ne=n.labels)==null?void 0:ne.uploadDropzoneHelper)??"",uploadDone:((De=n.labels)==null?void 0:De.uploadDone)??"Done",uploadDoneAria:((fe=n.labels)==null?void 0:fe.uploadDoneAria)??"Close upload panel",uploadFileInputLabel:((Ae=n.labels)==null?void 0:Ae.uploadFileInputLabel)??"Choose media files",previewClose:((Ye=n.labels)==null?void 0:Ye.previewClose)??"Close preview",previewPrevious:((st=n.labels)==null?void 0:st.previewPrevious)??"Previous media",previewNext:((Bt=n.labels)==null?void 0:Bt.previewNext)??"Next media",previewSelect:((Nt=n.labels)==null?void 0:Nt.previewSelect)??"Select media",previewDeselect:((Lt=n.labels)==null?void 0:Lt.previewDeselect)??"Deselect media",selectAction:((Pt=n.labels)==null?void 0:Pt.selectAction)??"Select",allMedia:((zt=n.labels)==null?void 0:zt.allMedia)??((Ot=n.labels)==null?void 0:Ot.allMediaTab)??"All media",unfiled:((jt=n.labels)==null?void 0:jt.unfiled)??"Unfiled",pageTitle:((oa=n.labels)==null?void 0:oa.pageTitle)??((Q=n.labels)==null?void 0:Q.title)??"Media library",albumLabel:((ge=n.labels)==null?void 0:ge.albumLabel)??"Album"}}),l=e.computed(()=>n.mode),s=e.computed(()=>l.value==="picker-single"?"single":n.selectionMode),d=e.computed(()=>n.showFooter===!0&&l.value!=="picker-single"),c=e.computed(()=>n.enablePreview===!0&&l.value!=="picker-single"),u={deps:n.deps,selectionMode:s.value,initialView:n.initialView,initialFilters:n.initialFilters,...n.maxSelection!==void 0?{maxSelection:n.maxSelection}:{},...n.modelValue.length>0||n.defaultSelectedIds.length>0?{defaultSelectedIds:n.modelValue.length>0?n.modelValue:n.defaultSelectedIds}:{},...n.sessionPolicy?{sessionPolicy:n.sessionPolicy}:{},...n.enableUpload?{enableUpload:!0}:{},uploadBehavior:n.uploadBehavior,...n.uploadTarget?{uploadTarget:n.uploadTarget}:{},...n.autoSelectUploaded?{autoSelectUploaded:!0}:{},...n.validateSelection?{validateSelection:n.validateSelection}:{},...n.allowedMediaKinds&&n.allowedMediaKinds.length>0?{allowedMediaKinds:n.allowedMediaKinds}:{},preserveSelectionOnViewChange:n.preserveSelectionOnViewChange,telemetry:C=>{var U;(U=n.telemetry)==null||U.call(n,C),i("metric",C)}},m=Vf(u),p=e.ref(n.initialFilters.query??""),f=e.ref(n.enableUpload?"upload":"media"),h=e.ref(!1),v=JSON.stringify(n.modelValue.length>0?n.modelValue:n.defaultSelectedIds);let k=null;const y=e.computed(()=>JSON.stringify(m.orderedIds.value)!==v),w=e.computed(()=>m.view.value.scope==="album"?r.value.emptyAlbum:r.value.emptyLibrary),g=e.computed(()=>r.value.selectedCount(m.selectedItems.value.length));function b(C){return typeof C=="boolean"?{allowed:C}:typeof C=="string"?{allowed:!1,reason:C}:C}function R(C){return n.itemFilter?b(n.itemFilter(C)):{allowed:!0}}const N=e.computed(()=>n.itemFilter?m.queryItems.value.filter(C=>R(C).allowed):m.queryItems.value),I=e.computed(()=>m.view.value.scope==="album"?m.view.value.albumName??"Album":r.value.viewLibrary),x=e.computed(()=>m.view.value.scope==="album"),T=()=>{k!==null&&(window.clearTimeout(k),k=null)},$=()=>{i("update:modelValue",[...m.orderedIds.value]),i("selection-change",{orderedIds:[...m.orderedIds.value],items:[...m.selectedItems.value],dirty:y.value})},S=C=>{C!==null&&i("error",C)},B=C=>typeof C.code=="string",_=C=>typeof C=="object"&&C!==null&&"code"in C&&typeof C.code=="string",A=()=>{const C=m.confirmSelection();if(B(C)){S(C);return}i("confirm",{...C,dirty:y.value})},P=C=>{const U=R(C);if(!U.allowed){S({code:"selection_invalid",message:U.reason??"This media item is not available for this picker.",retriable:!0});return}m.toggleSelection(C),l.value==="picker-single"&&i("select",C)},D=(C="user")=>{i("cancel",{dirty:y.value,reason:C,sessionId:m.sessionId})},z=async()=>{f.value="albums",await m.loadAlbums()},M=async()=>{await m.goToLibrary(),f.value="albums",await m.loadAlbums()},Z=C=>{m.setView({scope:"album",albumId:C.id,albumName:C.name}),f.value="media"},O=async(C,U)=>{const j=m.view.value,ie=await m.createAlbum(C,U);if(_(ie)){S(ie);return}h.value=!1,f.value="media",i("view-change",{from:j,to:{scope:"album",albumId:ie.id,albumName:ie.name},reason:"inline-album-created",restoredFromSession:!1})},K=async C=>{if(n.uploadBehavior==="delegate"){i("request-upload-files",{files:[...C],view:m.view.value,filters:m.filters.value,sessionId:m.sessionId});return}await m.addUploadFiles(C)};function de(C){var U;return C?C.thumbnail_url??((U=C.conversion_urls)==null?void 0:U.thumb)??C.preview_url??C.original_url??C.url??null:null}function Ve(C){return C!=null&&C.mime_type?C.mime_type.startsWith("image/"):!1}e.watch(()=>p.value,C=>{T(),k=window.setTimeout(()=>{m.setQuery(C)},250)}),e.watch(()=>m.selectedItems.value,()=>{$()},{deep:!0}),e.watch(()=>m.error.value,C=>{S(C)}),e.watch(()=>n.enableUpload,C=>{!C&&f.value==="upload"&&(f.value="media")}),e.onMounted(()=>{m.initialize()}),e.onBeforeUnmount(()=>{T()}),a({refresh:m.refresh});function ce(C){if(C==="albums"){z();return}if(C==="upload"&&!n.enableUpload){f.value="media";return}f.value=C}const le=e.computed(()=>({activeTab:f.value,setActiveTab:ce,enableUpload:n.enableUpload,labels:{uploadLabel:r.value.uploadLabel,allMediaTab:r.value.allMediaTab,browseAlbums:r.value.browseAlbums}})),W=e.computed(()=>({query:p.value,setQuery:C=>{p.value=C},placeholder:r.value.searchPlaceholder}));return(C,U)=>(e.openBlock(),e.createElementBlock("section",{class:"media-library-picker","data-testid":C.testIdPrefix},[e.createElementVNode("header",m6,[e.createElementVNode("div",p6,[x.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"mlp-location-bar__back","aria-label":"Back to library","data-testid":"btn-media-picker-back",onClick:M},[...U[8]||(U[8]=[e.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("polyline",{points:"15 18 9 12 15 6"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("span",f6,e.toDisplayString(I.value),1)])]),e.renderSlot(C.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(le.value)),()=>[e.createElementVNode("nav",h6,[C.enableUpload?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="upload"}]),"data-testid":"tab-media-picker-upload",onClick:U[0]||(U[0]=j=>f.value="upload")},e.toDisplayString(r.value.uploadLabel),3)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="media"}]),"data-testid":"tab-media-picker-all",onClick:U[1]||(U[1]=j=>f.value="media")},e.toDisplayString(r.value.allMediaTab),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":f.value==="albums"}]),"data-testid":"tab-media-picker-albums",onClick:z},e.toDisplayString(r.value.browseAlbums),3)])],!0),f.value==="media"||f.value==="albums"?(e.openBlock(),e.createElementBlock("div",v6,[e.renderSlot(C.$slots,"search",e.normalizeProps(e.guardReactiveProps(W.value)),()=>[U[9]||(U[9]=e.createElementVNode("svg",{class:"mlp-search-row__icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),e.createElementVNode("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":U[2]||(U[2]=j=>p.value=j),class:"mlp-search-row__input",type:"search",placeholder:r.value.searchPlaceholder,"data-testid":"input-media-picker-search"},null,8,g6),[[e.vModelText,p.value]])],!0)])):e.createCommentVNode("",!0),C.enableUpload&&f.value==="upload"?(e.openBlock(),e.createBlock(vf,{key:1,open:!0,queue:e.unref(m).uploadQueue.value,accept:C.accept,"upload-label":r.value.uploadLabel,"dropzone-label":r.value.uploadDropzone,"dropzone-helper-text":r.value.uploadDropzoneHelper,"file-input-label":r.value.uploadFileInputLabel,"close-button-label":r.value.uploadDone,"close-button-aria-label":r.value.uploadDoneAria,onClose:U[3]||(U[3]=j=>f.value="media"),onFilesSelected:K},null,8,["queue","accept","upload-label","dropzone-label","dropzone-helper-text","file-input-label","close-button-label","close-button-aria-label"])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",b6,[e.createVNode(Id,{open:h.value,"name-label":r.value.createAlbumNameLabel,albums:e.unref(m).albums.value,onCancel:U[4]||(U[4]=j=>h.value=!1),onCreate:O},null,8,["open","name-label","albums"])])):e.createCommentVNode("",!0),e.unref(m).permissionDenied.value&&e.unref(m).view.value.scope==="album"?(e.openBlock(),e.createBlock(sf,{key:3,title:r.value.albumUnavailableTitle,body:r.value.albumUnavailableBody,"action-label":r.value.goToLibrary,onGoToLibrary:e.unref(m).goToLibrary},null,8,["title","body","action-label","onGoToLibrary"])):e.createCommentVNode("",!0),!e.unref(m).permissionDenied.value||e.unref(m).view.value.scope!=="album"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.unref(m).error.value?(e.openBlock(),e.createElementBlock("div",y6,[e.createElementVNode("p",null,e.toDisplayString(e.unref(m).error.value.message||r.value.networkError),1),e.createElementVNode("button",{type:"button",class:"mlp-error__retry",onClick:U[5]||(U[5]=(...j)=>e.unref(m).refresh&&e.unref(m).refresh(...j))},e.toDisplayString(r.value.retry),1)])):e.createCommentVNode("",!0),f.value==="media"?(e.openBlock(),e.createBlock(bf,{key:1,items:N.value,"selected-items":e.unref(m).selectedItems.value,loading:e.unref(m).loading.value,"loading-more":e.unref(m).loadingMore.value,"has-more":e.unref(m).hasMore.value,"empty-message":w.value,"loading-message":r.value.loadingMedia,"load-more-label":r.value.loadMore,"loading-more-label":r.value.loadingMore,"test-id-prefix":`${C.testIdPrefix}-item`,onToggle:P,onPreview:e.unref(m).openPreview,onLoadMore:e.unref(m).loadMore},null,8,["items","selected-items","loading","loading-more","has-more","empty-message","loading-message","load-more-label","loading-more-label","test-id-prefix","onPreview","onLoadMore"])):f.value==="albums"?(e.openBlock(),e.createBlock(hf,{key:2,open:!0,"current-view":e.unref(m).view.value,albums:e.unref(m).albums.value,"view-library-label":r.value.viewLibrary,"browse-albums-label":r.value.browseAlbums,"create-album-label":r.value.createAlbum,"enable-album-creation":C.enableAlbumCreation,onSelectLibrary:M,onSelectAlbum:Z,onCreateAlbum:U[6]||(U[6]=j=>h.value=!0)},null,8,["current-view","albums","view-library-label","browse-albums-label","create-album-label","enable-album-creation"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("footer",w6,[e.unref(m).selectedItems.value.length>0?(e.openBlock(),e.createElementBlock("div",k6,[e.createElementVNode("span",_6,e.toDisplayString(g.value),1),e.createElementVNode("div",E6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).selectedItems.value,j=>{var ie,ue,Xe;return e.openBlock(),e.createElementBlock("div",{key:j.id,class:"mlp-bottom-bar__thumb-item"},[Ve(j.media)&&de(j.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:de(j.media),alt:((ie=j.media)==null?void 0:ie.alt_text)??((ue=j.media)==null?void 0:ue.file_name)??"Selected",class:"mlp-bottom-bar__thumb-img"},null,8,S6)):(e.openBlock(),e.createElementBlock("div",C6,[...U[10]||(U[10]=[e.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])])),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__thumb-remove","aria-label":`${r.value.dismiss} ${((Xe=j.media)==null?void 0:Xe.file_name)??j.id}`,"data-testid":"btn-media-picker-remove-selected",onClick:be=>e.unref(m).removeSelected(j.id)},[...U[11]||(U[11]=[e.createElementVNode("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3","stroke-linecap":"round"},[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,x6)])}),128))])])):e.createCommentVNode("",!0),e.createElementVNode("div",V6,[e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__cancel","data-testid":"btn-media-picker-cancel",onClick:U[7]||(U[7]=j=>D())},e.toDisplayString(r.value.cancel),1),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__confirm","data-testid":"btn-media-picker-confirm",onClick:A},e.toDisplayString(r.value.confirmAction),1)])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(Md,{key:6,open:e.unref(m).previewItem.value!==null,media:e.unref(m).previewItem.value,"can-go-previous":e.unref(m).previewIndex.value!==null&&e.unref(m).previewIndex.value>0,"can-go-next":e.unref(m).previewIndex.value!==null&&e.unref(m).previewIndex.value<e.unref(m).queryItems.value.length-1,selected:e.unref(m).previewItem.value!==null&&e.unref(m).orderedIds.value.includes(e.unref(m).previewItem.value.uuid),"close-label":r.value.previewClose,"previous-label":r.value.previewPrevious,"next-label":r.value.previewNext,"select-label":r.value.previewSelect,"deselect-label":r.value.previewDeselect,onClose:e.unref(m).closePreview,onPrevious:e.unref(m).showPreviousPreview,onNext:e.unref(m).showNextPreview,onToggleSelect:e.unref(m).toggleSelection},null,8,["open","media","can-go-previous","can-go-next","selected","close-label","previous-label","next-label","select-label","deselect-label","onClose","onPrevious","onNext","onToggleSelect"])):e.createCommentVNode("",!0)],8,u6))}}),Nf=$e(N6,[["__scopeId","data-v-307fef12"]]),T6={key:0,class:"media-library-picker-modal","data-testid":"media-library-picker-modal"},B6={class:"media-library-picker-modal__panel"},I6=e.defineComponent({__name:"MediaLibraryPickerModal",props:{deps:{},mode:{},capabilities:{},itemFilter:{},modelValue:{},defaultSelectedIds:{},selectionMode:{},maxSelection:{},preserveSelectionOnViewChange:{type:Boolean},initialView:{},initialFilters:{},enableUpload:{type:Boolean},uploadBehavior:{},enablePreview:{type:Boolean},enableAlbumCreation:{type:Boolean},allowedMediaKinds:{},accept:{},validateSelection:{},uploadTarget:{},autoSelectUploaded:{type:Boolean},createAlbumDefaultVisibility:{},sessionPolicy:{},labels:{},showFooter:{type:Boolean},testIdPrefix:{},telemetry:{},isOpen:{type:Boolean,default:!1},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close"],setup(o,{emit:a}){const t=o,n=a,i=()=>{t.closeOnBackdrop&&n("close")};return(r,l)=>r.isOpen?(e.openBlock(),e.createElementBlock("div",T6,[e.createElementVNode("button",{type:"button",class:"media-library-picker-modal__backdrop","aria-label":"Close media picker",onClick:i}),e.createElementVNode("div",B6,[e.createVNode(Nf,e.mergeProps(t,{"onUpdate:modelValue":l[0]||(l[0]=s=>n("update:modelValue",s)),onConfirm:l[1]||(l[1]=s=>n("confirm",s)),onCancel:l[2]||(l[2]=s=>n("cancel",s))}),null,16)])])):e.createCommentVNode("",!0)}}),M6=$e(I6,[["__scopeId","data-v-a92e8703"]]),$6=["aria-label"],F6={class:"media-album-picker-modal__panel"},D6={class:"media-album-picker-modal__header"},A6={key:0,class:"media-album-picker-modal__selection","data-testid":"media-album-picker-selection"},R6={class:"media-album-picker-modal__actions"},L6=["disabled"],P6=e.defineComponent({__name:"MediaAlbumPickerModal",props:{open:{type:Boolean},selectedCount:{},labels:{default:()=>({})}},emits:["cancel","confirm","error"],setup(o,{emit:a}){const t=o,n=a,i=Nl(),r=e.ref(null),l=e.computed(()=>{var u,m,p,f,h,v,k;return{title:((u=t.labels)==null?void 0:u.title)??"Add to album",body:((m=t.labels)==null?void 0:m.body)??`Choose an album for ${t.selectedCount} selected item${t.selectedCount===1?"":"s"}.`,confirm:((p=t.labels)==null?void 0:p.confirm)??"Add",cancel:((f=t.labels)==null?void 0:f.cancel)??"Cancel",selectedAlbum:((h=t.labels)==null?void 0:h.selectedAlbum)??(y=>`Selected: ${y}`),createNew:((v=t.labels)==null?void 0:v.createNew)??"+ Create new album",createNewPrompt:((k=t.labels)==null?void 0:k.createNewPrompt)??"Name this album"}});e.watch(()=>t.open,u=>{u||(r.value=null)});function s(u){r.value=u}function d(){r.value!==null&&n("confirm",r.value.id)}async function c(){if(typeof window>"u")return;const u=window.prompt(l.value.createNewPrompt);if(u===null)return;const m=u.trim();if(m!=="")try{const p=await i.createAlbum({name:m});p!=null&&(r.value=p,n("confirm",p.id))}catch(p){n("error",p instanceof Error?p:new Error(String(p)))}}return(u,m)=>{var p;return t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-album-picker-modal","data-testid":"media-album-picker-modal",role:"dialog","aria-modal":"true","aria-label":l.value.title},[e.createElementVNode("div",F6,[e.createElementVNode("header",D6,[e.createElementVNode("h2",null,e.toDisplayString(l.value.title),1),e.createElementVNode("p",null,e.toDisplayString(l.value.body),1)]),e.createElementVNode("button",{type:"button",class:"media-album-picker-modal__create-new","data-testid":"btn-media-album-picker-create-new",onClick:m[0]||(m[0]=f=>void c())},e.toDisplayString(l.value.createNew),1),e.createVNode(Tl,{class:"media-album-picker-modal__tree","model-value":((p=r.value)==null?void 0:p.id)??null,draggable:!1,compact:!0,"data-testid":"media-album-picker-tree",onAlbumSelected:s},null,8,["model-value"]),r.value!==null?(e.openBlock(),e.createElementBlock("p",A6,e.toDisplayString(l.value.selectedAlbum(r.value.name)),1)):e.createCommentVNode("",!0),e.createElementVNode("footer",R6,[e.createElementVNode("button",{type:"button","data-testid":"btn-media-album-picker-cancel",onClick:m[1]||(m[1]=f=>n("cancel"))},e.toDisplayString(l.value.cancel),1),e.createElementVNode("button",{type:"button","data-testid":"btn-media-album-picker-confirm",disabled:r.value===null,onClick:d},e.toDisplayString(l.value.confirm),9,L6)])])],8,$6)):e.createCommentVNode("",!0)}}}),Tf=$e(P6,[["__scopeId","data-v-acdcde4b"]]),U6={key:0,class:"media-bulk-action-bar","data-testid":"media-bulk-action-bar","aria-live":"polite"},O6={class:"media-bulk-action-bar__actions"},z6=["disabled"],j6=e.defineComponent({__name:"MediaBulkActionBar",props:{selectedCount:{},crossPageCount:{default:0},overCap:{type:Boolean,default:!1},totalMatching:{default:null},scope:{},sourceAlbum:{default:null},capabilities:{default:()=>({})},labels:{default:()=>({})}},emits:["bulk-add-to-album","bulk-move-between-albums","bulk-remove-from-current-album","bulk-move-to-trash","bulk-create-post","bulk-create-gallery","bulk-restore","bulk-purge","bulk-download","clear","inspect"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var s,d,c,u,m,p,f,h,v,k,y,w,g,b;return{selectedCount:((s=t.labels)==null?void 0:s.selectedCount)??(R=>`${R} selected`),selectedAcrossPages:((d=t.labels)==null?void 0:d.selectedAcrossPages)??((R,N)=>`${R} selected, including ${N} not on this page`),cappedSelection:((c=t.labels)==null?void 0:c.cappedSelection)??((R,N)=>`Selected first ${R} of ${N??"many"} matching items`),addToAlbum:((u=t.labels)==null?void 0:u.addToAlbum)??"Add to album",moveBetweenAlbums:((m=t.labels)==null?void 0:m.moveBetweenAlbums)??(R=>`Move from ${R} to...`),removeFromCurrentAlbum:((p=t.labels)==null?void 0:p.removeFromCurrentAlbum)??"Remove from this album",moveToTrash:((f=t.labels)==null?void 0:f.moveToTrash)??"Move to trash",createPost:((h=t.labels)==null?void 0:h.createPost)??"Create post",createGallery:((v=t.labels)==null?void 0:v.createGallery)??"Create gallery",restore:((k=t.labels)==null?void 0:k.restore)??"Restore",purge:((y=t.labels)==null?void 0:y.purge)??"Delete forever",download:((w=t.labels)==null?void 0:w.download)??"Download",inspect:((g=t.labels)==null?void 0:g.inspect)??"Inspect",clear:((b=t.labels)==null?void 0:b.clear)??"Clear"}}),r=e.computed(()=>t.overCap?i.value.cappedSelection(t.selectedCount,t.totalMatching):t.crossPageCount>0?i.value.selectedAcrossPages(t.selectedCount,t.crossPageCount):i.value.selectedCount(t.selectedCount)),l=e.computed(()=>t.sourceAlbum?i.value.moveBetweenAlbums(t.sourceAlbum.name):i.value.addToAlbum);return(s,d)=>(e.openBlock(),e.createBlock(e.Transition,{name:"media-bulk-action-bar"},{default:e.withCtx(()=>[t.selectedCount>0?(e.openBlock(),e.createElementBlock("aside",U6,[e.createElementVNode("button",{type:"button",class:"media-bulk-action-bar__count","data-testid":"media-bulk-action-count",onClick:d[0]||(d[0]=c=>n("inspect"))},e.toDisplayString(r.value),1),e.createElementVNode("div",O6,[t.scope!=="trash"&&t.capabilities.allowAddToAlbum===!0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","data-testid":"btn-media-bulk-add-album",onClick:d[1]||(d[1]=c=>t.scope==="album"?n("bulk-move-between-albums"):n("bulk-add-to-album"))},e.toDisplayString(t.scope==="album"?l.value:i.value.addToAlbum),1)):e.createCommentVNode("",!0),t.scope!=="trash"&&t.capabilities.allowCreatePost===!0?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button","data-testid":"btn-media-bulk-create-post",onClick:d[2]||(d[2]=c=>n("bulk-create-post"))},e.toDisplayString(i.value.createPost),1)):e.createCommentVNode("",!0),t.scope!=="trash"&&t.capabilities.allowCreateGallery===!0?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button","data-testid":"btn-media-bulk-create-gallery",onClick:d[3]||(d[3]=c=>n("bulk-create-gallery"))},e.toDisplayString(i.value.createGallery),1)):e.createCommentVNode("",!0),t.scope==="album"?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button","data-testid":"btn-media-bulk-remove-current-album",onClick:d[4]||(d[4]=c=>n("bulk-remove-from-current-album"))},e.toDisplayString(i.value.removeFromCurrentAlbum),1)):e.createCommentVNode("",!0),t.scope!=="trash"?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button","data-testid":"btn-media-bulk-trash",onClick:d[5]||(d[5]=c=>n("bulk-move-to-trash"))},e.toDisplayString(i.value.moveToTrash),1)):e.createCommentVNode("",!0),t.scope==="trash"?(e.openBlock(),e.createElementBlock("button",{key:5,type:"button","data-testid":"btn-media-bulk-restore",onClick:d[6]||(d[6]=c=>n("bulk-restore"))},e.toDisplayString(i.value.restore),1)):e.createCommentVNode("",!0),t.scope==="trash"?(e.openBlock(),e.createElementBlock("button",{key:6,type:"button","data-testid":"btn-media-bulk-purge",onClick:d[7]||(d[7]=c=>n("bulk-purge"))},e.toDisplayString(i.value.purge),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button","data-testid":"btn-media-bulk-download",disabled:t.capabilities.allowDownloadZip!==!0,onClick:d[8]||(d[8]=c=>n("bulk-download"))},e.toDisplayString(i.value.download),9,z6),e.createElementVNode("button",{type:"button","data-testid":"btn-media-bulk-clear",onClick:d[9]||(d[9]=c=>n("clear"))},e.toDisplayString(i.value.clear),1)])])):e.createCommentVNode("",!0)]),_:1}))}}),Rd=$e(j6,[["__scopeId","data-v-56ce7c5e"]]),W6={class:"media-library-toolbar__group"},H6=["aria-expanded"],Z6={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-sort-menu"},G6={class:"media-library-toolbar__group"},X6=["aria-expanded"],K6={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-jump-menu"},J6={key:0,class:"media-library-toolbar__menu-status"},q6={key:1,class:"media-library-toolbar__menu-status"},Y6=["data-testid","onClick"],Q6={"aria-hidden":"true"},eD={class:"media-library-toolbar__group"},tD=["aria-expanded"],aD={key:0,class:"media-library-toolbar__menu",role:"menu","data-testid":"media-library-toolbar-density-menu"},nD=e.defineComponent({__name:"MediaLibraryToolbar",props:{sort:{default:"newest"},density:{default:"comfortable"},hasDateFilter:{type:Boolean,default:!1},httpClient:{},timelineEndpoint:{default:"/v1/media/library/timeline"},labels:{default:()=>({})}},emits:["update:sort","update:density","jump-to","jump-to-all","upload-files"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var T,$,S,B,_,A,P,D,z,M,Z,O;return{sort:((T=t.labels)==null?void 0:T.sort)??"Sort",sortNewest:(($=t.labels)==null?void 0:$.sortNewest)??"Newest",sortOldest:((S=t.labels)==null?void 0:S.sortOldest)??"Oldest",sortName:((B=t.labels)==null?void 0:B.sortName)??"Name A–Z",sortLargest:((_=t.labels)==null?void 0:_.sortLargest)??"Largest first",jumpTo:((A=t.labels)==null?void 0:A.jumpTo)??"Jump to",jumpToAll:((P=t.labels)==null?void 0:P.jumpToAll)??"All time",jumpToEmpty:((D=t.labels)==null?void 0:D.jumpToEmpty)??"No history yet",density:((z=t.labels)==null?void 0:z.density)??"Density",densityComfortable:((M=t.labels)==null?void 0:M.densityComfortable)??"Comfortable",densityCompact:((Z=t.labels)==null?void 0:Z.densityCompact)??"Compact",upload:((O=t.labels)==null?void 0:O.upload)??"Upload"}}),r=e.ref(null);function l(){var T;(T=r.value)==null||T.click()}function s(T){const $=T.target;!($ instanceof HTMLInputElement)||$.files===null||$.files.length===0||(n("upload-files",Array.from($.files)),$.value="")}const d=e.ref(null),c=e.ref(null);function u(T){d.value=d.value===T?null:T}function m(){d.value=null}function p(T){if(d.value===null)return;const $=c.value;$!==null&&(T.target instanceof Node&&$.contains(T.target)||m())}function f(T){d.value!==null&&T.key==="Escape"&&m()}const h=e.computed(()=>{switch(t.sort){case"oldest":return i.value.sortOldest;case"name":return i.value.sortName;case"largest":return i.value.sortLargest;default:return i.value.sortNewest}}),v=e.computed(()=>t.density==="compact"?i.value.densityCompact:i.value.densityComfortable);function k(T){m(),n("update:sort",T)}function y(T){m(),n("update:density",T)}const w=e.ref([]),g=e.ref(!1),b=e.ref(!1);async function R(){if(!(g.value||b.value||t.httpClient===void 0)){b.value=!0;try{const T=await t.httpClient.get(t.timelineEndpoint),$=T.data,S=($==null?void 0:$.buckets)??T.buckets??[];w.value=Array.isArray(S)?S:[],g.value=!0}finally{b.value=!1}}}async function N(){u("jump"),d.value==="jump"&&await R()}function I(T){m(),n("jump-to",T)}function x(){m(),n("jump-to-all")}return e.onMounted(()=>{typeof window<"u"&&(document.addEventListener("pointerdown",p,!0),document.addEventListener("keydown",f))}),e.onBeforeUnmount(()=>{typeof window<"u"&&(document.removeEventListener("pointerdown",p,!0),document.removeEventListener("keydown",f))}),(T,$)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"toolbarRoot",ref:c,class:"media-library-toolbar","data-testid":"media-library-toolbar"},[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__upload","data-testid":"btn-media-toolbar-upload",onClick:l}," ⤴ "+e.toDisplayString(i.value.upload),1),e.createElementVNode("input",{ref_key:"fileInputRef",ref:r,type:"file",multiple:"",accept:"image/*,video/*","data-testid":"input-media-toolbar-upload",class:"media-library-toolbar__file-input",onChange:s},null,544),e.createElementVNode("div",W6,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-sort","aria-expanded":d.value==="sort"?"true":"false",onClick:$[0]||($[0]=S=>u("sort"))},e.toDisplayString(i.value.sort)+": "+e.toDisplayString(h.value),9,H6),d.value==="sort"?(e.openBlock(),e.createElementBlock("div",Z6,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-newest",onClick:$[1]||($[1]=S=>k("newest"))},e.toDisplayString(i.value.sortNewest),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-oldest",onClick:$[2]||($[2]=S=>k("oldest"))},e.toDisplayString(i.value.sortOldest),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-name",onClick:$[3]||($[3]=S=>k("name"))},e.toDisplayString(i.value.sortName),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-sort-largest",onClick:$[4]||($[4]=S=>k("largest"))},e.toDisplayString(i.value.sortLargest),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",G6,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-jump-to","aria-expanded":d.value==="jump"?"true":"false",onClick:$[5]||($[5]=S=>void N())},e.toDisplayString(i.value.jumpTo),9,X6),d.value==="jump"?(e.openBlock(),e.createElementBlock("div",K6,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-jump-all",onClick:x},e.toDisplayString(i.value.jumpToAll),1),b.value?(e.openBlock(),e.createElementBlock("p",J6,"Loading…")):g.value&&w.value.length===0?(e.openBlock(),e.createElementBlock("p",q6,e.toDisplayString(i.value.jumpToEmpty),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,S=>(e.openBlock(),e.createElementBlock("button",{key:S.starts_at,type:"button",role:"menuitem","data-testid":`opt-jump-${S.starts_at}`,onClick:B=>I(S)},[e.createTextVNode(e.toDisplayString(S.label)+" ",1),e.createElementVNode("span",Q6,"("+e.toDisplayString(S.count)+")",1)],8,Y6))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",eD,[e.createElementVNode("button",{type:"button",class:"media-library-toolbar__trigger","data-testid":"btn-media-toolbar-density","aria-expanded":d.value==="density"?"true":"false",onClick:$[6]||($[6]=S=>u("density"))},e.toDisplayString(i.value.density)+": "+e.toDisplayString(v.value),9,tD),d.value==="density"?(e.openBlock(),e.createElementBlock("div",aD,[e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-density-comfortable",onClick:$[7]||($[7]=S=>y("comfortable"))},e.toDisplayString(i.value.densityComfortable),1),e.createElementVNode("button",{type:"button",role:"menuitem","data-testid":"opt-density-compact",onClick:$[8]||($[8]=S=>y("compact"))},e.toDisplayString(i.value.densityCompact),1)])):e.createCommentVNode("",!0)])],512))}}),Bf=$e(nD,[["__scopeId","data-v-564647c0"]]),oD={class:"media-shortcut-help__panel"},iD={class:"media-shortcut-help__header"},rD=e.defineComponent({__name:"MediaShortcutHelp",props:{open:{type:Boolean},shortcuts:{default:()=>[{key:"j / k",label:"Move focus",group:"Navigation"},{key:"x",label:"Toggle selection",group:"Selection"},{key:"?",label:"Open shortcuts",group:"Help"},{key:"Esc",label:"Close panel",group:"Navigation"}]},title:{default:"Shortcuts"},closeLabel:{default:"Close"}},emits:["close"],setup(o,{emit:a}){const t=o,n=a;function i(){const r=new Map;for(const l of t.shortcuts)r.set(l.group,[...r.get(l.group)??[],l]);return Array.from(r.entries()).map(([l,s])=>({group:l,shortcuts:s}))}return(r,l)=>t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-shortcut-help",role:"dialog","aria-modal":"true","data-testid":"media-shortcut-help",onKeydown:l[1]||(l[1]=e.withKeys(s=>n("close"),["escape"]))},[e.createElementVNode("div",oD,[e.createElementVNode("header",iD,[e.createElementVNode("h3",null,e.toDisplayString(t.title),1),e.createElementVNode("button",{type:"button","data-testid":"btn-media-shortcut-close",onClick:l[0]||(l[0]=s=>n("close"))},e.toDisplayString(t.closeLabel),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(),s=>(e.openBlock(),e.createElementBlock("section",{key:s.group,class:"media-shortcut-help__group"},[e.createElementVNode("h4",null,e.toDisplayString(s.group),1),e.createElementVNode("dl",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.shortcuts,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${s.group}-${d.key}`},[e.createElementVNode("dt",null,[e.createElementVNode("kbd",null,e.toDisplayString(d.key),1)]),e.createElementVNode("dd",null,e.toDisplayString(d.label),1)],64))),128))])]))),128))])],32)):e.createCommentVNode("",!0)}}),If=$e(rD,[["__scopeId","data-v-abcdccb6"]]),lD="/v1/media/upload";function Mf(o){const a=o.endpoint??lD,t=e.ref([]),n=e.computed(()=>t.value.some(u=>u.status==="uploading"||u.status==="queued"));function i(){return`upload-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function r(u){if(u.type.startsWith("image/")&&typeof URL<"u")try{return URL.createObjectURL(u)}catch{return}}function l(u){t.value=t.value.filter(m=>m.cid!==u)}async function s(u){const m=i(),p=r(u),f={cid:m,fileName:u.name,size:u.size,status:"uploading",progress:0,...p!==void 0?{previewUrl:p}:{}};t.value=[f,...t.value];const h=new FormData;h.append("file",u);try{const v=await o.httpClient.post(a,h),k=v.data??v;return t.value=t.value.map(y=>y.cid===m?{...y,status:"success",progress:100}:y),typeof o.onMediaUploaded=="function"&&k&&typeof k.uuid=="string"&&await o.onMediaUploaded(k),setTimeout(()=>l(m),350),t.value.find(y=>y.cid===m)??f}catch(v){const k=v instanceof Error?v.message:"Upload failed";return t.value=t.value.map(y=>y.cid===m?{...y,status:"error",errorMessage:k}:y),t.value.find(y=>y.cid===m)??f}finally{if(p!==void 0&&typeof URL<"u")try{URL.revokeObjectURL(p)}catch{}}}async function d(u){const m=Array.from(u);return Promise.all(m.map(p=>s(p)))}function c(){t.value=[]}return{uploads:t,hasActiveUploads:n,uploadFile:s,uploadFiles:d,dismiss:l,clear:c}}const sD={class:"media-usage-list","data-testid":"media-usage-list"},dD={class:"media-usage-list__title"},cD={key:0,class:"media-usage-list__empty","data-testid":"media-usage-loading"},uD={key:1,class:"media-usage-list__empty","data-testid":"media-usage-empty"},mD={key:2,class:"media-usage-list__items"},pD=["data-testid"],fD=["href"],hD={key:1},vD={key:2,class:"media-usage-list__count"},gD=e.defineComponent({__name:"MediaUsageList",props:{media:{},httpClient:{},items:{default:()=>[]},title:{default:"Used in"},emptyLabel:{default:"No visible usages"}},setup(o){const a=o,t=e.ref(!1),n=e.ref([]),i=e.computed(()=>a.items.length>0?a.items:n.value);function r(s){var m;if(typeof s!="object"||s===null||!("data"in s))return[];const d=s.data;if(!Array.isArray(d))return[];const c=d[0];return(Array.isArray((m=c==null?void 0:c.report)==null?void 0:m.blocks)?c.report.blocks:[]).map((p,f)=>({id:`${p.type??"usage"}-${f}`,label:p.context??p.type??"Usage"}))}async function l(){if(!a.httpClient||a.media===null){n.value=[];return}t.value=!0;try{const s=await a.httpClient.post("/v1/media/deletion/check",{uuids:[a.media.uuid]});n.value=r(s)}finally{t.value=!1}}return e.watch(()=>{var s;return(s=a.media)==null?void 0:s.uuid},()=>{l()}),e.onMounted(()=>{l()}),(s,d)=>(e.openBlock(),e.createElementBlock("section",sD,[e.createElementVNode("h4",dD,e.toDisplayString(a.title),1),t.value?(e.openBlock(),e.createElementBlock("p",cD," Loading... ")):i.value.length===0?(e.openBlock(),e.createElementBlock("p",uD,e.toDisplayString(a.emptyLabel),1)):(e.openBlock(),e.createElementBlock("ul",mD,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,c=>(e.openBlock(),e.createElementBlock("li",{key:c.id,class:"media-usage-list__item","data-testid":`media-usage-${c.id}`},[c.href?(e.openBlock(),e.createElementBlock("a",{key:0,href:c.href},e.toDisplayString(c.label),9,fD)):(e.openBlock(),e.createElementBlock("span",hD,e.toDisplayString(c.label),1)),typeof c.count=="number"?(e.openBlock(),e.createElementBlock("span",vD,e.toDisplayString(c.count),1)):e.createCommentVNode("",!0)],8,pD))),128))]))]))}}),$f=$e(gD,[["__scopeId","data-v-ef6f09cf"]]),bD={class:"media-variant-strip","data-testid":"media-variant-strip"},yD={class:"media-variant-strip__title"},wD={key:0,class:"media-variant-strip__empty"},kD={key:1,class:"media-variant-strip__empty"},_D={key:2,class:"media-variant-strip__list"},ED=["data-testid"],SD=["src","alt"],CD={key:1,class:"media-variant-strip__placeholder"},xD={class:"media-variant-strip__label"},VD=e.defineComponent({__name:"MediaVariantStrip",props:{media:{},httpClient:{},variants:{default:()=>[]},title:{default:"Variants"}},setup(o){const a=o,t=e.ref(!1),n=e.ref([]),i=e.computed(()=>{const c=a.variants.length>0?a.variants:n.value;return a.media?[a.media,...c.filter(u=>{var m;return u.uuid!==((m=a.media)==null?void 0:m.uuid)})]:c});function r(c){if(typeof c!="object"||c===null||!("data"in c))return[];const u=c.data;return Array.isArray(u)?u.filter(m=>typeof m=="object"&&m!==null&&typeof m.uuid=="string"&&typeof m.file_name=="string"):[]}async function l(){if(!a.httpClient||a.media===null){n.value=[];return}t.value=!0;try{const c=await a.httpClient.get(`/v1/media/${encodeURIComponent(a.media.uuid)}/variants`);n.value=r(c)}finally{t.value=!1}}function s(c){return c.thumbnail_url??c.preview_url??c.original_url??null}function d(c,u){if(c===0)return"Current";if(c===1)return"Original";const m=new Date(u.created_at);if(Number.isNaN(m.getTime()))return"Edited";const p=Math.max(0,Math.round((Date.now()-m.getTime())/864e5));return p===0?"Edited today":p===1?"Edited 1 day ago":`Edited ${p} days ago`}return e.watch(()=>{var c;return(c=a.media)==null?void 0:c.uuid},()=>{l()}),e.onMounted(()=>{l()}),(c,u)=>(e.openBlock(),e.createElementBlock("section",bD,[e.createElementVNode("h4",yD,e.toDisplayString(a.title),1),t.value?(e.openBlock(),e.createElementBlock("p",wD,"Loading...")):i.value.length<=1?(e.openBlock(),e.createElementBlock("p",kD," No edits ")):(e.openBlock(),e.createElementBlock("ol",_D,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(m,p)=>(e.openBlock(),e.createElementBlock("li",{key:m.uuid,class:"media-variant-strip__item","data-testid":`media-variant-${m.uuid}`},[s(m)?(e.openBlock(),e.createElementBlock("img",{key:0,src:s(m)??"",alt:m.alt_text??m.file_name},null,8,SD)):(e.openBlock(),e.createElementBlock("span",CD,e.toDisplayString(m.file_name),1)),e.createElementVNode("span",xD,e.toDisplayString(d(p,m)),1)],8,ED))),128))]))]))}}),Ff=$e(VD,[["__scopeId","data-v-adb529cb"]]),ND=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/ig,Lu=/[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i;function Pu(o){const a=o.replace(/\.[^.]+$/,""),t=a.replace(ND,""),n=t.replace(/(?:[-_\s]+edited)+$/i,""),i=t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/(?:[-_\s]+edited)+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return i!==""?i:n||a||o}function Uu(o,a){var n;const t=(n=o.custom_properties)==null?void 0:n[a];return typeof t=="string"&&t.trim()!==""?t.trim():null}function Df(o){const a=Uu(o,"display_name");if(a!==null&&!Lu.test(a))return a;const t=Uu(o,"original_filename");return t!==null&&!Lu.test(t)?Pu(t):Pu(o.file_name)}const TD=["role","aria-modal"],BD={class:"media-inspector-panel__header"},ID={key:0,class:"media-inspector-panel__raw-name"},MD={class:"media-inspector-panel__preview"},$D=["src","alt"],FD={class:"media-inspector-panel__meta"},DD={class:"media-inspector-panel__actions"},AD={class:"media-inspector-panel__actions"},RD=["disabled"],LD={key:2,class:"media-inspector-panel__empty"},PD=e.defineComponent({__name:"MediaInspectorPanel",props:{target:{},httpClient:{},capabilities:{default:()=>({})},inAlbumScope:{type:Boolean,default:!1},labels:{default:()=>({})},mode:{default:"pinned"}},emits:["edit","replace","download","set-visibility","move-to-trash","remove-from-this-album","remove-from-albums","set-as-album-cover","bulk-add-to-album","bulk-create-album","bulk-move-to-trash","bulk-download","close"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(null),r=e.ref(null);e.watch(()=>t.target,(u,m)=>{const p=m==null,f=u==null;if(p&&!f){typeof document<"u"&&document.activeElement instanceof HTMLElement&&(r.value=document.activeElement),e.nextTick(()=>{var h;(h=i.value)==null||h.focus()});return}if(!p&&f){const h=r.value;r.value=null,h instanceof HTMLElement&&h.focus()}});function l(u){t.mode==="overlay"&&u.key==="Escape"&&(u.stopPropagation(),n("close"))}const s=e.computed(()=>t.mode==="overlay"?"dialog":"complementary"),d=e.computed(()=>{var u,m,p,f,h,v,k,y,w,g,b,R,N;return{title:((u=t.labels)==null?void 0:u.title)??"Inspector",emptyTitle:((m=t.labels)==null?void 0:m.emptyTitle)??"Select media to inspect",multiTitle:((p=t.labels)==null?void 0:p.multiTitle)??(I=>`${I} selected`),edit:((f=t.labels)==null?void 0:f.edit)??"Edit",replace:((h=t.labels)==null?void 0:h.replace)??"Replace",download:((v=t.labels)==null?void 0:v.download)??"Download",setVisibility:((k=t.labels)==null?void 0:k.setVisibility)??"Set visibility",moveToTrash:((y=t.labels)==null?void 0:y.moveToTrash)??"Move to trash",removeFromThisAlbum:((w=t.labels)==null?void 0:w.removeFromThisAlbum)??"Remove from this album",removeFromAlbums:((g=t.labels)==null?void 0:g.removeFromAlbums)??"Remove from album...",addToAlbum:((b=t.labels)==null?void 0:b.addToAlbum)??"Add to album",createAlbum:((R=t.labels)==null?void 0:R.createAlbum)??"Create album from selection",setAsAlbumCover:((N=t.labels)==null?void 0:N.setAsAlbumCover)??"Set as album cover"}}),c=e.computed(()=>{var u;return((u=t.target)==null?void 0:u.kind)==="single"?t.target.media:null});return(u,m)=>{var p;return e.openBlock(),e.createElementBlock("aside",{class:"media-inspector-panel","data-testid":"media-inspector-panel",role:s.value,"aria-modal":t.mode==="overlay"?"true":void 0,"aria-labelledby":"media-inspector-heading",onKeydown:l},[c.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("header",BD,[e.createElementVNode("h3",{id:"media-inspector-heading",ref_key:"headingRef",ref:i,tabindex:"-1"},e.toDisplayString(e.unref(Df)(c.value)),513),c.value.file_name?(e.openBlock(),e.createElementBlock("p",ID,e.toDisplayString(c.value.file_name),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",MD,[c.value.thumbnail_url??c.value.preview_url??c.value.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:c.value.thumbnail_url??c.value.preview_url??c.value.original_url,alt:c.value.alt_text??c.value.file_name},null,8,$D)):e.createCommentVNode("",!0)]),e.createElementVNode("dl",FD,[e.createElementVNode("div",null,[m[12]||(m[12]=e.createElementVNode("dt",null,"Type",-1)),e.createElementVNode("dd",null,e.toDisplayString(c.value.mime_type),1)]),e.createElementVNode("div",null,[m[13]||(m[13]=e.createElementVNode("dt",null,"Size",-1)),e.createElementVNode("dd",null,e.toDisplayString(c.value.formatted_size??c.value.size),1)])]),e.createVNode($f,{media:c.value,"http-client":t.httpClient},null,8,["media","http-client"]),e.createVNode(Ff,{media:c.value,"http-client":t.httpClient},null,8,["media","http-client"]),e.createElementVNode("div",DD,[t.capabilities.allowImageEdit||t.capabilities.allowVideoEdit?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:m[0]||(m[0]=f=>n("edit",c.value))},e.toDisplayString(d.value.edit),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:m[1]||(m[1]=f=>n("replace",c.value))},e.toDisplayString(d.value.replace),1),e.createElementVNode("button",{type:"button",onClick:m[2]||(m[2]=f=>n("download",c.value))},e.toDisplayString(d.value.download),1),t.capabilities.allowVisibilityChange?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",onClick:m[3]||(m[3]=f=>n("set-visibility",c.value))},e.toDisplayString(d.value.setVisibility),1)):e.createCommentVNode("",!0),t.inAlbumScope?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button","data-testid":"btn-set-as-album-cover",onClick:m[4]||(m[4]=f=>n("set-as-album-cover",c.value))},e.toDisplayString(d.value.setAsAlbumCover),1)):e.createCommentVNode("",!0),t.inAlbumScope?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",onClick:m[5]||(m[5]=f=>n("remove-from-this-album",c.value))},e.toDisplayString(d.value.removeFromThisAlbum),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",onClick:m[6]||(m[6]=f=>n("remove-from-albums",c.value))},e.toDisplayString(d.value.removeFromAlbums),1),e.createElementVNode("button",{type:"button",onClick:m[7]||(m[7]=f=>n("move-to-trash",c.value))},e.toDisplayString(d.value.moveToTrash),1)])],64)):((p=t.target)==null?void 0:p.kind)==="multi"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("h3",{id:"media-inspector-heading",ref_key:"headingRef",ref:i,tabindex:"-1"},e.toDisplayString(d.value.multiTitle(t.target.count)),513),e.createElementVNode("div",AD,[e.createElementVNode("button",{type:"button",onClick:m[8]||(m[8]=f=>n("bulk-add-to-album"))},e.toDisplayString(d.value.addToAlbum),1),e.createElementVNode("button",{type:"button",onClick:m[9]||(m[9]=f=>n("bulk-create-album"))},e.toDisplayString(d.value.createAlbum),1),e.createElementVNode("button",{type:"button",onClick:m[10]||(m[10]=f=>n("bulk-move-to-trash"))},e.toDisplayString(d.value.moveToTrash),1),e.createElementVNode("button",{type:"button",disabled:t.capabilities.allowDownloadZip!==!0,onClick:m[11]||(m[11]=f=>n("bulk-download"))},e.toDisplayString(d.value.download),9,RD)])],64)):(e.openBlock(),e.createElementBlock("p",LD,e.toDisplayString(d.value.emptyTitle),1))],40,TD)}}}),Af=$e(PD,[["__scopeId","data-v-2646f914"]]),UD={class:"media-filter-chips","data-testid":"media-filter-chips"},OD={class:"media-filter-chips__scroll"},zD={key:0,class:"media-filter-chips__chip media-filter-chips__chip--scope","data-testid":"media-filter-scope-chip"},jD=["data-testid","onClick"],WD={class:"media-filter-chips__add-wrap"},HD=["aria-expanded"],ZD={key:0,class:"media-filter-chips__menu","data-testid":"media-filter-menu"},GD=e.defineComponent({__name:"MediaFilterChips",props:{filters:{},scopeLabel:{default:""},labels:{default:()=>({})}},emits:["update:filters","change","clear"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.computed(()=>{var w,g,b,R,N,I,x,T,$,S,B;return{addFilter:((w=t.labels)==null?void 0:w.addFilter)??"Filter",clearAll:((g=t.labels)==null?void 0:g.clearAll)??"Clear all filters",typeLabel:((b=t.labels)==null?void 0:b.typeLabel)??"Type",usageLabel:((R=t.labels)==null?void 0:R.usageLabel)??"Usage",imageLabel:((N=t.labels)==null?void 0:N.imageLabel)??"Image",videoLabel:((I=t.labels)==null?void 0:I.videoLabel)??"Video",usedLabel:((x=t.labels)==null?void 0:x.usedLabel)??"Used",notUsedLabel:((T=t.labels)==null?void 0:T.notUsedLabel)??"Not used",dateAfterLabel:(($=t.labels)==null?void 0:$.dateAfterLabel)??"After",dateBeforeLabel:((S=t.labels)==null?void 0:S.dateBeforeLabel)??"Before",searchLabel:((B=t.labels)==null?void 0:B.searchLabel)??"Search"}});function l(){return{...t.filters,...t.filters.kinds!==void 0?{kinds:[...t.filters.kinds]}:{},...t.filters.selected_uuids!==void 0?{selected_uuids:[...t.filters.selected_uuids]}:{}}}function s(w){n("update:filters",w),n("change",w)}function d(w){const g=l(),b=(g.kinds??[]).filter(R=>R!==w);b.length>0?g.kinds=b:delete g.kinds,s(g)}function c(w){const g=l(),b=new Set(g.kinds??[]);b.add(w),g.kinds=Array.from(b),s(g),i.value=!1}function u(){const w=l();delete w.usage_status,s(w)}function m(w){const g=l();g.usage_status=w,s(g),i.value=!1}function p(w){const g=new Date;return g.setHours(0,0,0,0),g.setDate(g.getDate()-w),g.toISOString()}function f(){const w=new Date;return new Date(w.getFullYear(),0,1).toISOString()}function h(w,g=null){const b=l();w===null?delete b.created_after:b.created_after=w,g===null?delete b.created_before:b.created_before=g,s(b),i.value=!1}function v(w){const g=l();delete g[w],s(g)}function k(){s({sort:t.filters.sort??"newest"}),n("clear")}const y=e.computed(()=>{const w=[];for(const g of t.filters.kinds??[]){const b=g==="image"?r.value.imageLabel:g==="video"?r.value.videoLabel:String(g);w.push({key:`kind-${g}`,label:`${r.value.typeLabel}: ${b}`,remove:()=>d(g)})}return(t.filters.usage_status==="used"||t.filters.usage_status==="not_used")&&w.push({key:"usage",label:`${r.value.usageLabel}: ${t.filters.usage_status==="used"?r.value.usedLabel:r.value.notUsedLabel}`,remove:u}),t.filters.created_after&&w.push({key:"created-after",label:`${r.value.dateAfterLabel}: ${t.filters.created_after}`,remove:()=>v("created_after")}),t.filters.created_before&&w.push({key:"created-before",label:`${r.value.dateBeforeLabel}: ${t.filters.created_before}`,remove:()=>v("created_before")}),t.filters.query&&t.filters.query.trim()!==""&&w.push({key:"query",label:`${r.value.searchLabel}: "${t.filters.query.trim()}"`,remove:()=>v("query")}),w});return(w,g)=>(e.openBlock(),e.createElementBlock("div",UD,[e.createElementVNode("div",OD,[t.scopeLabel!==""?(e.openBlock(),e.createElementBlock("span",zD,e.toDisplayString(t.scopeLabel),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,b=>(e.openBlock(),e.createElementBlock("button",{key:b.key,type:"button",class:"media-filter-chips__chip","data-testid":`media-filter-chip-${b.key}`,onClick:b.remove},[e.createElementVNode("span",null,e.toDisplayString(b.label),1),g[8]||(g[8]=e.createElementVNode("span",{"aria-hidden":"true"},"×",-1))],8,jD))),128)),y.value.length>=2?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-filter-chips__clear","data-testid":"btn-media-filter-clear-all",onClick:k},e.toDisplayString(r.value.clearAll),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",WD,[e.createElementVNode("button",{type:"button",class:"media-filter-chips__add","data-testid":"btn-media-filter-add","aria-expanded":i.value?"true":"false",onClick:g[0]||(g[0]=b=>i.value=!i.value)}," + "+e.toDisplayString(r.value.addFilter),9,HD),i.value?(e.openBlock(),e.createElementBlock("div",ZD,[e.createElementVNode("button",{type:"button","data-testid":"opt-filter-image",onClick:g[1]||(g[1]=b=>c("image"))},e.toDisplayString(r.value.typeLabel)+": "+e.toDisplayString(r.value.imageLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-video",onClick:g[2]||(g[2]=b=>c("video"))},e.toDisplayString(r.value.typeLabel)+": "+e.toDisplayString(r.value.videoLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-used",onClick:g[3]||(g[3]=b=>m("used"))},e.toDisplayString(r.value.usageLabel)+": "+e.toDisplayString(r.value.usedLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-not-used",onClick:g[4]||(g[4]=b=>m("not_used"))},e.toDisplayString(r.value.usageLabel)+": "+e.toDisplayString(r.value.notUsedLabel),1),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-7d",onClick:g[5]||(g[5]=b=>h(p(7)))},"Date: Last 7 days"),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-30d",onClick:g[6]||(g[6]=b=>h(p(30)))},"Date: Last 30 days"),e.createElementVNode("button",{type:"button","data-testid":"opt-filter-date-year",onClick:g[7]||(g[7]=b=>h(f()))},"Date: This year")])):e.createCommentVNode("",!0)])]))}}),Rf=$e(GD,[["__scopeId","data-v-4861e8d7"]]);class Ld extends Error{constructor(a,t="Media deletion requires explicit confirmation."){super(t),this.name="RequiresConfirmationError",this.softBlocks=a}}const XD="/v1/media/deletion/check",KD="/v1/media/deletion/delete",yr=100;function Ou(o){const a=new Set,t=[];for(const n of o){const i=n.trim().toLowerCase();i===""||a.has(i)||(a.add(i),t.push(i))}return t.sort()}function Lf(o){const a=o.checkEndpoint??XD,t=o.deleteEndpoint??KD,n=e.ref(!1),i=e.ref(!1),r=e.ref(null),l=e.ref(null),s=e.ref(null);async function d(f){s.value=null;const h=Ou(f);if(h.length===0)return r.value=[],[];if(h.length>yr){const v=new Error(`Cannot check more than ${yr} media items at once.`);throw s.value=v,v}n.value=!0;try{const v=await o.httpClient.post(a,{uuids:h}),k=((v==null?void 0:v.data)??[]).map(y=>{var w,g,b,R;return{uuid:y.uuid,canDelete:((w=y.report)==null?void 0:w.canDelete)??!1,blocks:Array.isArray((g=y.report)==null?void 0:g.blocks)?y.report.blocks:[],cascade:Array.isArray((b=y.report)==null?void 0:b.cascade)?y.report.cascade:[],variantCount:typeof((R=y.report)==null?void 0:R.variantCount)=="number"?y.report.variantCount:0}});return r.value=k,k}catch(v){throw s.value=v instanceof Error?v:new Error(String(v)),s.value}finally{n.value=!1}}async function c(f,h={}){s.value=null;const v=Ou(f);if(v.length===0){const k={results:[],summary:{}};return l.value=k,k}if(v.length>yr){const k=new Error(`Cannot delete more than ${yr} media items at once.`);throw s.value=k,k}i.value=!0;try{const k=await o.httpClient.post(t,{uuids:v,force:h.force===!0,confirmed:h.confirmed===!0}),y={results:Array.isArray(k==null?void 0:k.results)?k.results:[],summary:(k==null?void 0:k.summary)??{}};return l.value=y,y}catch(k){const y=u(k);if(y&&y.requires_confirmation===!0){const w=m(y.soft_blocks),g=new Ld(w);throw s.value=g,g}throw s.value=k instanceof Error?k:new Error(String(k)),s.value}finally{i.value=!1}}function u(f){if(typeof f!="object"||f===null)return null;const h=f;if(h.response&&typeof h.response=="object"&&h.response.data&&typeof h.response.data=="object")return h.response.data;const v=f;return"requires_confirmation"in v||"soft_blocks"in v?v:null}function m(f){if(typeof f!="object"||f===null)return{};const h={};for(const[v,k]of Object.entries(f)){if(!Array.isArray(k))continue;const y=[];for(const w of k){if(typeof w!="object"||w===null)continue;const g=w;typeof g.type=="string"&&typeof g.context=="string"&&y.push({type:g.type,context:g.context})}h[v]=y}return h}function p(){r.value=null,l.value=null,s.value=null}return{isChecking:n,isDeleting:i,lastReport:r,lastResponse:l,error:s,checkDependencies:d,deleteMany:c,reset:p}}const JD="/v1/user/media/trash";function qD(o){return`/v1/user/media/${encodeURIComponent(o)}/restore`}function YD(o){return`/v1/user/media/${encodeURIComponent(o)}/purge`}function Pd(o){const a=o.listEndpoint??JD,t=o.buildRestoreEndpoint??qD,n=o.buildPurgeEndpoint??YD,i=o.perPage??50,r=e.ref([]),l=e.ref(0),s=e.ref(1),d=e.ref(!1),c=e.ref(!1),u=e.ref(!1),m=e.ref(null);async function p(k=1){var y,w;m.value=null,d.value=!0;try{const g=await o.httpClient.get(a,{params:{page:k,per_page:i}});r.value=Array.isArray(g==null?void 0:g.data)?g.data:[],l.value=typeof((y=g==null?void 0:g.meta)==null?void 0:y.total)=="number"?g.meta.total:0,s.value=typeof((w=g==null?void 0:g.meta)==null?void 0:w.current_page)=="number"?g.meta.current_page:k}catch(g){throw m.value=g instanceof Error?g:new Error(String(g)),m.value}finally{d.value=!1}}async function f(k){m.value=null,c.value=!0;try{const y=await o.httpClient.post(t(k)),w={status:(y==null?void 0:y.status)??"failed",data:(y==null?void 0:y.data)??null,duplicate_uuid:(y==null?void 0:y.duplicate_uuid)??null};return typeof(y==null?void 0:y.message)=="string"&&(w.message=y.message),w.status==="restored"&&(r.value=r.value.filter(g=>g.uuid!==k),l.value=Math.max(0,l.value-1)),w}catch(y){const w=zu(y);if(w&&typeof w.status=="string"){const g={status:w.status,duplicate_uuid:typeof w.duplicate_uuid=="string"?w.duplicate_uuid:null};return typeof w.message=="string"&&(g.message=w.message),g}throw m.value=y instanceof Error?y:new Error(String(y)),m.value}finally{c.value=!1}}async function h(k){m.value=null,u.value=!0;try{if(typeof o.httpClient.delete!="function")throw new Error("Media trash purge requires an HTTP client with delete support.");const y=await o.httpClient.delete(n(k)),w={status:(y==null?void 0:y.status)??"failed"};return typeof(y==null?void 0:y.message)=="string"&&(w.message=y.message),w.status==="purging"&&(r.value=r.value.filter(g=>g.uuid!==k),l.value=Math.max(0,l.value-1)),w}catch(y){const w=zu(y);if(w&&typeof w.status=="string"){const g={status:w.status};return typeof w.message=="string"&&(g.message=w.message),g}throw m.value=y instanceof Error?y:new Error(String(y)),m.value}finally{u.value=!1}}function v(){r.value=[],l.value=0,s.value=1,m.value=null}return{items:r,total:l,currentPage:s,isLoading:d,isRestoring:c,isPurging:u,error:m,fetch:p,restore:f,purge:h,reset:v}}function zu(o){var t;if(typeof o!="object"||o===null)return null;const a=o;return(t=a.response)!=null&&t.data&&typeof a.response.data=="object"?a.response.data:null}const QD={class:"media-management-view","data-testid":"media-management-view"},eA={key:0,class:"media-management-view__header"},tA={class:"media-management-view__title"},aA={class:"media-management-view__actions"},nA={key:0,class:"media-management-view__badge"},oA={key:1,class:"media-management-view__panel","data-testid":"panel-library"},iA={key:0,class:"media-management-view__view-mode",role:"radiogroup","aria-label":"Media library layout","data-testid":"media-management-layout-mode"},rA=["aria-checked"],lA=["aria-checked"],sA={key:1,class:"media-management-view__status","data-testid":"library-loading"},dA={key:2,class:"media-management-view__status media-management-view__status--error","data-testid":"library-error"},cA={key:3,class:"media-management-view__empty","data-testid":"library-empty"},uA={class:"media-management-view__empty-state"},mA={class:"media-management-view__empty-title","data-testid":"library-empty-title"},pA={class:"media-management-view__empty-description","data-testid":"library-empty-description"},fA={key:4,class:"media-management-view__table","data-testid":"library-table"},hA={scope:"col","data-testid":"table-header-select"},vA={class:"media-management-view__checkbox-label"},gA=["checked",".indeterminate","aria-label"],bA={class:"media-management-view__sr-only"},yA={scope:"col","data-testid":"table-header-thumbnail"},wA={scope:"col","data-testid":"table-header-name"},kA={scope:"col","data-testid":"table-header-type"},_A={scope:"col","data-testid":"table-header-created"},EA={scope:"col","data-testid":"table-header-size"},SA={scope:"col","data-testid":"table-header-status"},CA={scope:"col","data-testid":"table-header-actions"},xA=["data-testid"],VA={class:"media-management-view__checkbox-label"},NA=["checked","aria-label","data-testid","onChange"],TA=["data-testid","onClick"],BA=["src","alt","onError"],IA=["data-testid"],MA=["title","data-testid"],$A=["data-testid"],FA=["data-testid"],DA={class:"media-management-view__item-actions"},AA=["onKeydown"],RA=["data-testid","aria-label","aria-expanded","onClick"],LA=["data-testid"],PA=["data-testid","onClick"],UA={key:5,class:"media-management-view__grid","data-testid":"library-grid"},OA=["data-testid"],zA=["data-testid","aria-pressed","onClick"],jA=["src","alt","onError"],WA=["data-testid"],HA={class:"media-management-view__selection-corner"},ZA={class:"media-management-view__sr-only"},GA=["checked","data-testid","onChange"],XA={class:"media-management-view__item-meta"},KA=["title","data-testid"],JA=["data-testid"],qA=["data-testid"],YA={key:2,class:"media-management-view__item-badge","data-testid":"badge-orphaned"},QA=["data-testid"],eR={class:"media-management-view__item-actions media-management-view__item-actions--grid"},tR=["onKeydown"],aR=["data-testid","aria-label","aria-expanded","onClick"],nR=["data-testid"],oR=["data-testid","onClick"],iR={class:"media-management-view__bulk-bar","data-testid":"bulk-bar"},rR={"data-testid":"bulk-count"},lR=["disabled"],sR={key:7,class:"media-management-view__pagination","data-testid":"media-management-pagination"},dR={class:"media-management-view__pagination-count","data-testid":"media-management-pagination-count","aria-live":"polite"},cR={key:0,class:"media-management-view__page-size",role:"group","aria-label":"Items per page","data-testid":"media-management-page-size"},uR=["value","disabled"],mR=["value","data-testid"],pR=["disabled"],fR={key:2,class:"media-management-view__page-bar","aria-label":"Media library pagination","data-testid":"media-management-page-bar"},hR=["disabled"],vR=["data-testid","disabled","aria-current","aria-label","onClick"],gR=["disabled"],bR={key:2,class:"media-management-view__panel","data-testid":"panel-trash"},yR={key:0,class:"media-management-view__status","data-testid":"trash-loading"},wR={key:1,class:"media-management-view__empty","data-testid":"trash-empty"},kR={class:"media-management-view__empty-state"},_R={class:"media-management-view__empty-title","data-testid":"trash-empty-title"},ER={class:"media-management-view__empty-description","data-testid":"trash-empty-description"},SR={key:2,class:"media-management-view__grid","data-testid":"trash-grid"},CR=["data-testid"],xR={class:"media-management-view__item-thumb"},VR=["src","alt","onError"],NR=["data-testid"],TR={class:"media-management-view__item-meta"},BR={class:"media-management-view__item-name"},IR={key:0,class:"media-management-view__item-meta-line"},MR=["data-testid","disabled","onClick"],$R=["data-testid"],FR=e.defineComponent({__name:"MediaManagementView",props:{httpClient:{},capabilities:{default:()=>({})},labels:{default:()=>({})},filters:{},initialView:{},perPage:{},pageSizeOptions:{default:()=>[]},showAllOption:{type:Boolean,default:!1},loadAllMaxItems:{},paginated:{type:Boolean,default:!1},groupVariants:{type:Boolean,default:!0},paginationWindow:{default:7},initialLayoutMode:{},layoutMode:{},confirmBulkDelete:{},confirmDestructiveAction:{},onRestoreCollision:{}},emits:["deleted","restored","restore-conflict","create-post","create-gallery","add-to-album","edit","update:layoutMode","error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r=e.computed(()=>({showTrash:!0,showHeader:!0,showLayoutSwitcher:!0,allowBulkDelete:!0,allowPreview:!0,allowCreatePost:!1,allowCreateGallery:!1,allowAddToAlbum:!1,allowImageEdit:!1,allowVideoEdit:!1,showOwner:!1,showRawFileName:!1,...n.capabilities})),l=e.computed(()=>{var X,we,ae,Fe,It,At,Mt,mt,pt,Qt,yt,Wt,_a,G,q,pe,he,Te,He,ot,Je,Ze,dt,ft,Qe,ea,Ft,Pa,Fa,co,Da,on,Ua,ha,In,uo,Mn,mo,hn;return{title:((X=n.labels)==null?void 0:X.title)??"My Media",libraryTab:((we=n.labels)==null?void 0:we.libraryTab)??"Library",trashTab:((ae=n.labels)==null?void 0:ae.trashTab)??"Trash",loading:((Fe=n.labels)==null?void 0:Fe.loading)??"Loading…",emptyLibrary:((It=n.labels)==null?void 0:It.emptyLibrary)??"No media yet — upload your first creation.",emptyLibraryTitle:((At=n.labels)==null?void 0:At.emptyLibraryTitle)??"Your media library is ready",emptyLibraryDescription:((Mt=n.labels)==null?void 0:Mt.emptyLibraryDescription)??"Images and videos you upload for creations are saved here so you can reuse them later.",emptyTrash:((mt=n.labels)==null?void 0:mt.emptyTrash)??"Trash is empty.",emptyTrashTitle:((pt=n.labels)==null?void 0:pt.emptyTrashTitle)??"No media in trash",emptyTrashDescription:((Qt=n.labels)==null?void 0:Qt.emptyTrashDescription)??"Deleted files appear here for 30 days before permanent removal.",orphanedBadge:((yt=n.labels)==null?void 0:yt.orphanedBadge)??"Not in use",selectedCount:((Wt=n.labels)==null?void 0:Wt.selectedCount)??(Oa=>`${Oa} selected`),deleteButton:((_a=n.labels)==null?void 0:_a.deleteButton)??"Delete",createPostButton:((G=n.labels)==null?void 0:G.createPostButton)??"Create Post",createGalleryButton:((q=n.labels)==null?void 0:q.createGalleryButton)??"Create Gallery",addToAlbumButton:((pe=n.labels)==null?void 0:pe.addToAlbumButton)??"Add to Album",previewButton:((he=n.labels)==null?void 0:he.previewButton)??"Preview",previewCloseButton:((Te=n.labels)==null?void 0:Te.previewCloseButton)??"Close",previewPreviousButton:((He=n.labels)==null?void 0:He.previewPreviousButton)??"Previous",previewNextButton:((ot=n.labels)==null?void 0:ot.previewNextButton)??"Next",previewSelectButton:((Je=n.labels)==null?void 0:Je.previewSelectButton)??"Select",previewDeselectButton:((Ze=n.labels)==null?void 0:Ze.previewDeselectButton)??"Deselect",editButton:((dt=n.labels)==null?void 0:dt.editButton)??"Edit",loadMoreButton:((ft=n.labels)==null?void 0:ft.loadMoreButton)??"Load more",loadingMoreButton:((Qe=n.labels)==null?void 0:Qe.loadingMoreButton)??"Loading more...",restoreButton:((ea=n.labels)==null?void 0:ea.restoreButton)??"Restore",restoreUnavailable:((Ft=n.labels)==null?void 0:Ft.restoreUnavailable)??"Restore unavailable",gridView:((Pa=n.labels)==null?void 0:Pa.gridView)??"Grid",tableView:((Fa=n.labels)==null?void 0:Fa.tableView)??"Table",tableSelectHeader:((co=n.labels)==null?void 0:co.tableSelectHeader)??"Select",tableThumbnailHeader:((Da=n.labels)==null?void 0:Da.tableThumbnailHeader)??"Preview",tableNameHeader:((on=n.labels)==null?void 0:on.tableNameHeader)??"Name",tableTypeHeader:((Ua=n.labels)==null?void 0:Ua.tableTypeHeader)??"Type",tableCreatedHeader:((ha=n.labels)==null?void 0:ha.tableCreatedHeader)??"Uploaded",tableSizeHeader:((In=n.labels)==null?void 0:In.tableSizeHeader)??"Size",tableStatusHeader:((uo=n.labels)==null?void 0:uo.tableStatusHeader)??"Status",tableActionsHeader:((Mn=n.labels)==null?void 0:Mn.tableActionsHeader)??"Actions",purgeAfter:((mo=n.labels)==null?void 0:mo.purgeAfter)??(Oa=>`Purges ${Oa}`),ownerLabel:((hn=n.labels)==null?void 0:hn.ownerLabel)??(Oa=>`User ${Oa.user_id??""}`)}}),s=e.computed(()=>l.value.title),d=e.computed(()=>l.value.libraryTab),c=e.computed(()=>l.value.trashTab),u=e.computed(()=>l.value.loading),m=e.computed(()=>l.value.emptyLibraryTitle),p=e.computed(()=>l.value.emptyLibraryDescription),f=e.computed(()=>l.value.emptyTrashTitle),h=e.computed(()=>l.value.emptyTrashDescription),v=e.computed(()=>l.value.orphanedBadge),k=e.computed(()=>l.value.deleteButton),y=e.computed(()=>l.value.restoreButton),w=e.computed(()=>l.value.restoreUnavailable),g=e.computed(()=>l.value.gridView),b=e.computed(()=>l.value.tableView);function R(X){const we=r.value.canRestore;return we?we(X):!0}const N=e.ref("library"),I=e.ref(n.layoutMode??n.initialLayoutMode??"grid"),x=e.ref(null),T=e.ref(null);function $(X){return{...X??{},...(X==null?void 0:X.kinds)!==void 0?{kinds:[...X.kinds]}:{}}}const S=e.ref(n.initialView??{scope:"library"}),B=e.ref($(n.filters)),_=e.ref(n.perPage??50),A=e.ref(!1),P=e.ref(n.paginated?1:null),D=Ad({httpClient:n.httpClient,view:S,filters:B,perPage:_,page:P}),z=e.computed(()=>n.groupVariants!==!0?D.items.value:D.items.value.filter(X=>typeof X.parent_media_uuid!="string"||X.parent_media_uuid.trim()==="")),M=e.computed(()=>D.loading.value),Z=e.computed(()=>{var X;return((X=D.error.value)==null?void 0:X.message)??null}),O=e.computed(()=>r.value.allowBulkDelete!==!1||r.value.allowCreatePost===!0||r.value.allowCreateGallery===!0||r.value.allowAddToAlbum===!0),K=e.computed(()=>{const X=x.value;return X===null?null:z.value[X]??null}),de=tl(z),Ve=Lf({httpClient:n.httpClient}),ce=Pd({httpClient:n.httpClient});function le(X){return l.value.selectedCount(X)}function W(X){return l.value.purgeAfter(X)}function C(X){return l.value.ownerLabel(X)}const U=e.computed(()=>{const X=z.value.length;return X===0?"":D.hasMore.value?X===1?"Showing 1 item":`Showing ${X} items`:X===1?"Showing all 1 item":`Showing all ${X} items`});function j(X){I.value!==X&&(Ot(),I.value=X,i("update:layoutMode",X))}function ie(X){return X.mime_type.startsWith("image/")}function ue(X){return X.mime_type.startsWith("video/")}function Xe(X){return ie(X)?"image":ue(X)?"video":null}function be(X){return ie(X)?r.value.allowImageEdit===!0:ue(X)?r.value.allowVideoEdit===!0:!1}const Ee=Df;function ye(X){return typeof X.variant_count=="number"&&Number.isFinite(X.variant_count)?Math.max(0,X.variant_count):0}function xe(X){return X===1?"1 edit":`${X} edits`}function Ce(X){return ie(X)?"Image":ue(X)?"Video":X.mime_type.startsWith("audio/")?"Audio":"File"}function Re(X){if(typeof X.formatted_size=="string"&&X.formatted_size.trim()!=="")return X.formatted_size;if(!Number.isFinite(X.size)||X.size<=0)return"";const we=["B","KB","MB","GB"];let ae=X.size,Fe=0;for(;ae>=1024&&Fe<we.length-1;)ae/=1024,Fe+=1;return`${ae>=10||Fe===0?Math.round(ae):ae.toFixed(1)} ${we[Fe]}`}function ze(X){const we=new Date(X.created_at);return Number.isNaN(we.getTime())?X.created_at:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(we)}function rt(X){return X.deletion_status==="active"||X.deletion_status===void 0||X.deletion_status===null?"Ready":X.deletion_status.replace(/_/g," ").replace(/\b\w/g,we=>we.toUpperCase())}function at(X){if(typeof X.thumbnail_url=="string"&&X.thumbnail_url.length>0)return X.thumbnail_url;const we=typeof X.mime_type=="string"&&X.mime_type.startsWith("image/"),ae=typeof X.mime_type=="string"&&X.mime_type.startsWith("video/");return we?X.original_url||null:ae&&typeof X.preview_url=="string"&&X.preview_url.length>0?X.preview_url:null}function Dt(X){return typeof X.mime_type=="string"&&X.mime_type.startsWith("video/")?`Video — ${X.file_name}`:X.file_name}const ht=e.ref(new Set);function St(X){if(ht.value.has(X.uuid))return;const we=new Set(ht.value);we.add(X.uuid),ht.value=we}function ut(X){if(r.value.allowPreview===!1)return;const we=z.value.findIndex(ae=>ae.uuid===X.uuid);x.value=we>=0?we:null}function lt(){x.value=null}function Ct(){x.value===null||x.value<=0||(x.value-=1)}function Se(){x.value===null||x.value>=z.value.length-1||(x.value+=1)}async function J(){try{await D.loadMore()}catch(X){i("error",X instanceof Error?X:new Error(String(X)))}}const ne=e.computed(()=>{const X=D.totalPages.value??0,we=D.currentPage.value??1;if(X<=1)return[];const ae=Math.max(3,n.paginationWindow);if(X<=ae)return Array.from({length:X},(pt,Qt)=>({kind:"page",key:`p-${Qt+1}`,value:Qt+1}));const Fe=ae-2,It=Math.floor(Fe/2);let At=Math.max(2,we-It),Mt=Math.min(X-1,At+Fe-1);Mt===X-1&&(At=Math.max(2,Mt-Fe+1));const mt=[{kind:"page",key:"p-1",value:1}];At>2&&mt.push({kind:"ellipsis",key:"el-left"});for(let pt=At;pt<=Mt;pt++)mt.push({kind:"page",key:`p-${pt}`,value:pt});return Mt<X-1&&mt.push({kind:"ellipsis",key:"el-right"}),mt.push({kind:"page",key:`p-${X}`,value:X}),mt});async function De(X){if(!(X===D.currentPage.value||D.loading.value)){P.value=X;try{await D.goToPage(X)}catch(we){i("error",we instanceof Error?we:new Error(String(we)))}}}async function fe(X){const we=D.currentPage.value??1,ae=D.totalPages.value??1,Fe=Math.min(Math.max(1,we+X),ae);Fe!==we&&await De(Fe)}const Ae=e.computed(()=>{const X=n.pageSizeOptions.map(we=>({value:String(we),label:String(we)}));return X.length===0&&!n.showAllOption?[]:(n.showAllOption&&X.push({value:"all",label:"All"}),X)}),Ye=e.computed(()=>A.value?"all":String(_.value));async function st(X){const we=X.target;if(!(we instanceof HTMLSelectElement))return;const ae=we.value;try{if(ae==="all"){const Fe=n.pageSizeOptions,It=Fe.length>0?Math.max(...Fe):_.value;P.value=null,_.value=It,A.value=!1,await D.refresh();const At=n.loadAllMaxItems!==void 0?{maxItems:n.loadAllMaxItems}:void 0;await D.loadAll(At),A.value=!D.hasMore.value}else{const Fe=Number.parseInt(ae,10);Number.isFinite(Fe)&&Fe>0&&(_.value=Fe),A.value=!1,n.paginated&&(P.value=1),await D.refresh()}}catch(Fe){i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}function Bt(X,we){i("create-post",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Nt(X,we){i("create-gallery",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Lt(X,we){i("add-to-album",{mediaIds:X.map(ae=>ae.uuid),items:X,source:we})}function Pt(X){const we=Xe(X);we===null||!be(X)||i("edit",{media:X,kind:we})}function zt(X){T.value=T.value===X?null:X}function Ot(){T.value=null}function jt(X){X.run(),Ot()}function oa(X){const we=[];return r.value.allowPreview!==!1&&we.push({id:"preview",label:l.value.previewButton,testId:`btn-preview-${X.uuid}`,run:()=>ut(X)}),be(X)&&we.push({id:"edit",label:l.value.editButton,testId:`btn-edit-${X.uuid}`,run:()=>Pt(X)}),r.value.allowCreatePost===!0&&we.push({id:"create-post",label:l.value.createPostButton,testId:`btn-create-post-${X.uuid}`,run:()=>Bt([X],"item")}),r.value.allowCreateGallery===!0&&we.push({id:"create-gallery",label:l.value.createGalleryButton,testId:`btn-create-gallery-${X.uuid}`,run:()=>Nt([X],"item")}),r.value.allowAddToAlbum===!0&&we.push({id:"add-to-album",label:l.value.addToAlbumButton,testId:`btn-add-to-album-${X.uuid}`,run:()=>Lt([X],"item")}),we}async function Q(X){const we=X.results.filter(ae=>ae.status==="trashed"||ae.status==="already_trashed").map(ae=>ae.uuid);if(we.length!==0){for(const ae of we)de.deselect(ae);i("deleted",we),await D.refresh(),r.value.showTrash!==!1&&await ce.fetch(ce.currentPage.value).catch(()=>{})}}function ge(X){const we=new Set;for(const It of X)for(const At of It.blocks)At.context&&we.add(At.context);const ae=Array.from(we),Fe=ae.length>0?`This media is still attached to: ${ae.map(It=>`"${It}"`).join(", ")}. Remove from those and delete?`:"This media is still attached to other items. Remove from those and delete?";return window.confirm(Fe)}function me(X){return Object.entries(X).map(([we,ae])=>({uuid:we,blocks:ae}))}async function se(){const X=de.selectedItems.value;if(X.length===0)return;const we=r.value.canDelete?X.filter(Fe=>r.value.canDelete(Fe)):X;if(we.length===0||n.confirmBulkDelete&&!await n.confirmBulkDelete(we))return;const ae=we.map(Fe=>Fe.uuid);try{const Fe=await Ve.deleteMany(ae);await Q(Fe)}catch(Fe){if(Fe instanceof Ld){const It=me(Fe.softBlocks);if(!(n.confirmDestructiveAction?await n.confirmDestructiveAction({items:we,softBlocks:It}):ge(It)))return;try{const Mt=await Ve.deleteMany(ae,{confirmed:!0});await Q(Mt)}catch(Mt){i("error",Mt instanceof Error?Mt:new Error(String(Mt)))}return}i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}async function Ne(X){var ae;const we=ce.items.value.find(Fe=>Fe.uuid===X);if(!(we&&!R(we)))try{const Fe=await ce.restore(X);if(Fe.status==="restored"){i("restored",X),await D.refresh().catch(()=>{});return}if(Fe.status==="duplicate_conflict"){i("restore-conflict",{uuid:X,duplicateUuid:Fe.duplicate_uuid??null}),(ae=n.onRestoreCollision)==null||ae.call(n,X,Fe.duplicate_uuid??null);return}}catch(Fe){i("error",Fe instanceof Error?Fe:new Error(String(Fe)))}}async function Pe(){N.value="trash",ce.items.value.length===0&&!ce.isLoading.value&&await ce.fetch().catch(X=>{i("error",X instanceof Error?X:new Error(String(X)))})}function et(X){if(X==="trash"){Pe();return}N.value=X}const gt=e.computed(()=>({activeTab:N.value,setActiveTab:et,trashCount:ce.total.value,showTrash:r.value.showTrash!==!1,labels:{libraryTab:l.value.libraryTab,trashTab:l.value.trashTab}})),Tt=e.computed(()=>({selectedCount:de.selectedCount.value,selectedItemIds:Array.from(de.selectedIds.value),selectedItems:de.selectedItems.value,crossPageCount:de.crossPageCount.value,isDeleting:Ve.isDeleting.value,onBulkDelete:se,...r.value.allowCreatePost===!0?{onCreatePost:()=>Bt(de.selectedItems.value,"bulk")}:{},...r.value.allowCreateGallery===!0?{onCreateGallery:()=>Nt(de.selectedItems.value,"bulk")}:{},...r.value.allowAddToAlbum===!0?{onAddToAlbum:()=>Lt(de.selectedItems.value,"bulk")}:{},clearSelection:de.clear,labels:{deleteButton:l.value.deleteButton,...r.value.allowCreatePost===!0?{createPostButton:l.value.createPostButton}:{},...r.value.allowCreateGallery===!0?{createGalleryButton:l.value.createGalleryButton}:{},...r.value.allowAddToAlbum===!0?{addToAlbumButton:l.value.addToAlbumButton}:{},selectedCount:l.value.selectedCount}})),xt=e.computed(()=>({filters:B.value,view:S.value,total:D.total.value,shown:z.value.length,loading:D.loading.value}));function _t(X){return{media:X,selected:de.isSelected(X.uuid),canEdit:be(X),onPreview:()=>ut(X),...be(X)?{onEdit:()=>Pt(X)}:{},...r.value.allowCreatePost===!0?{onCreatePost:()=>Bt([X],"item")}:{},...r.value.allowCreateGallery===!0?{onCreateGallery:()=>Nt([X],"item")}:{},...r.value.allowAddToAlbum===!0?{onAddToAlbum:()=>Lt([X],"item")}:{},labels:{previewButton:l.value.previewButton,editButton:l.value.editButton,createPostButton:l.value.createPostButton,createGalleryButton:l.value.createGalleryButton,addToAlbumButton:l.value.addToAlbumButton}}}function Xt(X){return{media:X,canRestore:R(X),isRestoring:ce.isRestoring.value,onRestore:()=>Ne(X.uuid),labels:{restoreButton:l.value.restoreButton,restoreUnavailable:l.value.restoreUnavailable}}}return e.watch(N,async X=>{X==="library"&&z.value.length===0&&!M.value&&await D.refresh().catch(()=>{})}),e.watch(()=>n.layoutMode,X=>{X!==void 0&&(I.value=X)}),e.watch(()=>n.filters,async X=>{B.value=$(X),de.clear(),lt(),await D.refresh().catch(we=>{i("error",we instanceof Error?we:new Error(String(we)))})},{deep:!0}),e.onMounted(async()=>{await D.refresh().catch(X=>{i("error",X instanceof Error?X:new Error(String(X)))}),r.value.showTrash!==!1&&ce.fetch().catch(()=>{})}),a({refresh:()=>D.refresh(),refreshTrash:()=>ce.fetch(),selection:de,deletion:Ve,trash:ce}),(X,we)=>(e.openBlock(),e.createElementBlock("div",QD,[r.value.showHeader!==!1?(e.openBlock(),e.createElementBlock("header",eA,[e.createElementVNode("h2",tA,e.toDisplayString(s.value),1),e.createElementVNode("div",aA,[e.renderSlot(X.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(gt.value)),()=>[r.value.showTrash!==!1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":N.value==="library"}]),"data-testid":"tab-library",onClick:we[0]||(we[0]=ae=>N.value="library")},e.toDisplayString(d.value),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":N.value==="trash"}]),"data-testid":"tab-trash",onClick:Pe},[e.createTextVNode(e.toDisplayString(c.value)+" ",1),e.unref(ce).total.value>0?(e.openBlock(),e.createElementBlock("span",nA,e.toDisplayString(e.unref(ce).total.value),1)):e.createCommentVNode("",!0)],2)],64)):e.createCommentVNode("",!0)],!0)])])):e.createCommentVNode("",!0),N.value==="library"?(e.openBlock(),e.createElementBlock("section",oA,[r.value.showLayoutSwitcher!==!1?(e.openBlock(),e.createElementBlock("div",iA,[e.createElementVNode("button",{type:"button",role:"radio",class:e.normalizeClass(["media-management-view__view-mode-button",{"is-active":I.value==="grid"}]),"aria-checked":I.value==="grid"?"true":"false","data-testid":"view-mode-grid",onClick:we[1]||(we[1]=ae=>j("grid"))},e.toDisplayString(g.value),11,rA),e.createElementVNode("button",{type:"button",role:"radio",class:e.normalizeClass(["media-management-view__view-mode-button",{"is-active":I.value==="table"}]),"aria-checked":I.value==="table"?"true":"false","data-testid":"view-mode-table",onClick:we[2]||(we[2]=ae=>j("table"))},e.toDisplayString(b.value),11,lA)])):e.createCommentVNode("",!0),e.renderSlot(X.$slots,"filter-bar",e.normalizeProps(e.guardReactiveProps(xt.value)),void 0,!0),M.value?(e.openBlock(),e.createElementBlock("div",sA,e.toDisplayString(u.value),1)):Z.value?(e.openBlock(),e.createElementBlock("div",dA,e.toDisplayString(Z.value),1)):z.value.length===0?(e.openBlock(),e.createElementBlock("div",cA,[e.renderSlot(X.$slots,"empty-library",{},()=>[e.createElementVNode("div",uA,[e.createElementVNode("p",mA,e.toDisplayString(m.value),1),e.createElementVNode("p",pA,e.toDisplayString(p.value),1)])],!0)])):I.value==="table"?(e.openBlock(),e.createElementBlock("table",fA,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",hA,[e.createElementVNode("label",vA,[e.createElementVNode("input",{class:"media-management-view__checkbox",type:"checkbox",checked:e.unref(de).isAllSelected.value,".indeterminate":e.unref(de).isSomeSelected.value&&!e.unref(de).isAllSelected.value,"aria-label":l.value.tableSelectHeader,"data-testid":"checkbox-select-all",onChange:we[3]||(we[3]=(...ae)=>e.unref(de).toggleAll&&e.unref(de).toggleAll(...ae))},null,40,gA),e.createElementVNode("span",bA,e.toDisplayString(l.value.tableSelectHeader),1)])]),e.createElementVNode("th",yA,e.toDisplayString(l.value.tableThumbnailHeader),1),e.createElementVNode("th",wA,e.toDisplayString(l.value.tableNameHeader),1),e.createElementVNode("th",kA,e.toDisplayString(l.value.tableTypeHeader),1),e.createElementVNode("th",_A,e.toDisplayString(l.value.tableCreatedHeader),1),e.createElementVNode("th",EA,e.toDisplayString(l.value.tableSizeHeader),1),e.createElementVNode("th",SA,e.toDisplayString(l.value.tableStatusHeader),1),e.createElementVNode("th",CA,e.toDisplayString(l.value.tableActionsHeader),1)])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,ae=>(e.openBlock(),e.createElementBlock("tr",{key:ae.uuid,class:e.normalizeClass({"is-selected":e.unref(de).isSelected(ae.uuid),"has-open-actions":T.value===ae.uuid}),"data-testid":`media-row-${ae.uuid}`},[e.createElementVNode("td",null,[e.createElementVNode("label",VA,[e.createElementVNode("input",{class:"media-management-view__checkbox",type:"checkbox",checked:e.unref(de).isSelected(ae.uuid),"aria-label":`${l.value.tableSelectHeader} ${e.unref(Ee)(ae)}`,"data-testid":`checkbox-select-${ae.uuid}`,onChange:Fe=>e.unref(de).toggle(ae.uuid)},null,40,NA)])]),e.createElementVNode("td",null,[e.createElementVNode("button",{type:"button",class:"media-management-view__table-thumb","data-testid":`btn-preview-thumb-${ae.uuid}`,onClick:Fe=>ut(ae)},[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,BA)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,IA))],8,TA)]),e.createElementVNode("td",null,[e.createElementVNode("span",{class:"media-management-view__display-name",title:ae.file_name,"data-testid":`media-display-name-${ae.uuid}`},e.toDisplayString(e.unref(Ee)(ae)),9,MA),ye(ae)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__variant-badge","data-testid":`media-variant-badge-${ae.uuid}`},e.toDisplayString(xe(ye(ae))),9,$A)):e.createCommentVNode("",!0),r.value.showRawFileName===!0?(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__raw-filename","data-testid":`media-raw-filename-${ae.uuid}`},e.toDisplayString(ae.file_name),9,FA)):e.createCommentVNode("",!0)]),e.createElementVNode("td",null,e.toDisplayString(Ce(ae)),1),e.createElementVNode("td",null,e.toDisplayString(ze(ae)),1),e.createElementVNode("td",null,e.toDisplayString(Re(ae)),1),e.createElementVNode("td",null,e.toDisplayString(rt(ae)),1),e.createElementVNode("td",null,[e.renderSlot(X.$slots,"item-actions",e.mergeProps({ref_for:!0},_t(ae)),()=>[e.createElementVNode("div",DA,[e.createElementVNode("div",{class:"media-management-view__action-menu",onKeydown:e.withKeys(e.withModifiers(Ot,["stop"]),["escape"])},[e.createElementVNode("button",{type:"button",class:"media-management-view__action-menu-trigger","data-testid":`btn-actions-menu-${ae.uuid}`,"aria-label":`Actions for ${e.unref(Ee)(ae)}`,"aria-haspopup":"menu","aria-expanded":T.value===ae.uuid?"true":"false",onClick:Fe=>zt(ae.uuid)}," ... ",8,RA),T.value===ae.uuid?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-management-view__action-menu-panel",role:"menu","data-testid":`media-item-actions-menu-${ae.uuid}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oa(ae),Fe=>(e.openBlock(),e.createElementBlock("button",{key:Fe.id,type:"button",class:"media-management-view__action-menu-item",role:"menuitem","data-testid":Fe.testId,onClick:It=>jt(Fe)},e.toDisplayString(Fe.label),9,PA))),128))],8,LA)):e.createCommentVNode("",!0)],40,AA)])],!0)])],10,xA))),128))])])):(e.openBlock(),e.createElementBlock("ul",UA,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,ae=>(e.openBlock(),e.createElementBlock("li",{key:ae.uuid,class:e.normalizeClass(["media-management-view__item",{"is-selected":e.unref(de).isSelected(ae.uuid),"has-open-actions":T.value===ae.uuid}]),"data-testid":`media-item-${ae.uuid}`},[e.createElementVNode("button",{type:"button",class:"media-management-view__item-thumb","data-testid":`btn-select-${ae.uuid}`,"aria-pressed":e.unref(de).isSelected(ae.uuid),onClick:Fe=>e.unref(de).toggle(ae.uuid)},[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,jA)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,WA))],8,zA),e.createElementVNode("label",HA,[e.createElementVNode("span",ZA,e.toDisplayString(l.value.tableSelectHeader)+" "+e.toDisplayString(e.unref(Ee)(ae)),1),e.createElementVNode("input",{class:"media-management-view__checkbox media-management-view__checkbox--overlay",type:"checkbox",checked:e.unref(de).isSelected(ae.uuid),"data-testid":`checkbox-select-${ae.uuid}`,onClick:we[4]||(we[4]=e.withModifiers(()=>{},["stop"])),onChange:Fe=>e.unref(de).toggle(ae.uuid)},null,40,GA)]),e.createElementVNode("div",XA,[e.createElementVNode("span",{class:"media-management-view__item-name",title:ae.file_name,"data-testid":`media-display-name-${ae.uuid}`},e.toDisplayString(e.unref(Ee)(ae)),9,KA),r.value.showRawFileName===!0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__raw-filename","data-testid":`media-raw-filename-${ae.uuid}`},e.toDisplayString(ae.file_name),9,JA)):e.createCommentVNode("",!0),r.value.showOwner&&ae.user_id?(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-owner","data-testid":`owner-${ae.uuid}`},e.toDisplayString(C(ae)),9,qA)):e.createCommentVNode("",!0),ae.is_orphaned?(e.openBlock(),e.createElementBlock("span",YA,e.toDisplayString(v.value),1)):e.createCommentVNode("",!0),ye(ae)>0?(e.openBlock(),e.createElementBlock("span",{key:3,class:"media-management-view__variant-badge","data-testid":`media-variant-badge-${ae.uuid}`},e.toDisplayString(xe(ye(ae))),9,QA)):e.createCommentVNode("",!0)]),e.renderSlot(X.$slots,"item-actions",e.mergeProps({ref_for:!0},_t(ae)),()=>[e.createElementVNode("div",eR,[e.createElementVNode("div",{class:"media-management-view__action-menu",onKeydown:e.withKeys(e.withModifiers(Ot,["stop"]),["escape"])},[e.createElementVNode("button",{type:"button",class:"media-management-view__action-menu-trigger","data-testid":`btn-actions-menu-${ae.uuid}`,"aria-label":`Actions for ${e.unref(Ee)(ae)}`,"aria-haspopup":"menu","aria-expanded":T.value===ae.uuid?"true":"false",onClick:Fe=>zt(ae.uuid)}," ... ",8,aR),T.value===ae.uuid?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-management-view__action-menu-panel",role:"menu","data-testid":`media-item-actions-menu-${ae.uuid}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oa(ae),Fe=>(e.openBlock(),e.createElementBlock("button",{key:Fe.id,type:"button",class:"media-management-view__action-menu-item",role:"menuitem","data-testid":Fe.testId,onClick:It=>jt(Fe)},e.toDisplayString(Fe.label),9,oR))),128))],8,nR)):e.createCommentVNode("",!0)],40,tR)])],!0)],10,OA))),128))])),e.unref(de).selectedCount.value>0&&O.value?e.renderSlot(X.$slots,"bulk-actions",e.normalizeProps(e.mergeProps({key:6},Tt.value)),()=>[e.createElementVNode("footer",iR,[e.createElementVNode("span",rR,e.toDisplayString(le(e.unref(de).selectedCount.value)),1),r.value.allowCreatePost===!0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-create-post",onClick:we[5]||(we[5]=ae=>Bt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.createPostButton),1)):e.createCommentVNode("",!0),r.value.allowCreateGallery===!0?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-create-gallery",onClick:we[6]||(we[6]=ae=>Nt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.createGalleryButton),1)):e.createCommentVNode("",!0),r.value.allowAddToAlbum===!0?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-management-view__btn-action","data-testid":"btn-bulk-add-to-album",onClick:we[7]||(we[7]=ae=>Lt(e.unref(de).selectedItems.value,"bulk"))},e.toDisplayString(l.value.addToAlbumButton),1)):e.createCommentVNode("",!0),r.value.allowBulkDelete!==!1?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-management-view__btn-delete","data-testid":"btn-bulk-delete",disabled:e.unref(Ve).isDeleting.value,onClick:se},e.toDisplayString(k.value),9,lR)):e.createCommentVNode("",!0)])],!0):e.createCommentVNode("",!0),z.value.length>0?(e.openBlock(),e.createElementBlock("footer",sR,[e.createElementVNode("span",dR,e.toDisplayString(U.value),1),Ae.value.length>0?(e.openBlock(),e.createElementBlock("div",cR,[we[11]||(we[11]=e.createElementVNode("label",{class:"media-management-view__page-size-label",for:"media-management-page-size-select"},"Show:",-1)),e.createElementVNode("select",{id:"media-management-page-size-select",class:"media-management-view__page-size-select","data-testid":"select-media-management-page-size",value:Ye.value,disabled:e.unref(D).loading.value||e.unref(D).loadingMore.value,onChange:st},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ae.value,ae=>(e.openBlock(),e.createElementBlock("option",{key:ae.value,value:ae.value,"data-testid":`option-page-size-${ae.value}`},e.toDisplayString(ae.label),9,mR))),128))],40,uR)])):e.createCommentVNode("",!0),!X.paginated&&e.unref(D).hasMore.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-management-view__load-more","data-testid":"btn-media-management-load-more",disabled:e.unref(D).loadingMore.value,onClick:J},e.toDisplayString(e.unref(D).loadingMore.value?l.value.loadingMoreButton:l.value.loadMoreButton),9,pR)):e.createCommentVNode("",!0),X.paginated&&(e.unref(D).totalPages.value??0)>1?(e.openBlock(),e.createElementBlock("nav",fR,[e.createElementVNode("button",{type:"button",class:"media-management-view__page-bar-step","data-testid":"btn-media-management-page-prev",disabled:(e.unref(D).currentPage.value??1)<=1||e.unref(D).loading.value,"aria-label":"Previous page",onClick:we[8]||(we[8]=ae=>fe(-1))}," ‹ ",8,hR),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,ae=>(e.openBlock(),e.createElementBlock("button",{key:ae.key,type:"button",class:e.normalizeClass(["media-management-view__page-bar-page",{"is-current":ae.kind==="page"&&ae.value===e.unref(D).currentPage.value}]),"data-testid":ae.kind==="page"?`btn-media-management-page-${ae.value}`:"media-management-page-ellipsis",disabled:ae.kind!=="page"||e.unref(D).loading.value,"aria-current":ae.kind==="page"&&ae.value===e.unref(D).currentPage.value?"page":void 0,"aria-label":ae.kind==="page"?`Page ${ae.value}`:void 0,onClick:Fe=>ae.kind==="page"?De(ae.value):void 0},e.toDisplayString(ae.kind==="page"?ae.value:"…"),11,vR))),128)),e.createElementVNode("button",{type:"button",class:"media-management-view__page-bar-step","data-testid":"btn-media-management-page-next",disabled:(e.unref(D).currentPage.value??1)>=(e.unref(D).totalPages.value??1)||e.unref(D).loading.value,"aria-label":"Next page",onClick:we[9]||(we[9]=ae=>fe(1))}," › ",8,gR)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):N.value==="trash"?(e.openBlock(),e.createElementBlock("section",bR,[e.unref(ce).isLoading.value?(e.openBlock(),e.createElementBlock("div",yR,e.toDisplayString(u.value),1)):e.unref(ce).items.value.length===0?(e.openBlock(),e.createElementBlock("div",wR,[e.renderSlot(X.$slots,"empty-trash",{},()=>[e.createElementVNode("div",kR,[e.createElementVNode("p",_R,e.toDisplayString(f.value),1),e.createElementVNode("p",ER,e.toDisplayString(h.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",SR,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ce).items.value,ae=>(e.openBlock(),e.createElementBlock("li",{key:ae.uuid,class:"media-management-view__item is-trashed","data-testid":`trash-item-${ae.uuid}`},[e.createElementVNode("div",xR,[at(ae)&&!ht.value.has(ae.uuid)?(e.openBlock(),e.createElementBlock("img",{key:0,src:at(ae)??"",alt:ae.alt_text||ae.file_name,loading:"lazy",onError:Fe=>St(ae)},null,40,VR)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__item-placeholder","data-testid":`placeholder-trash-${ae.uuid}`},e.toDisplayString(Dt(ae)),9,NR))]),e.createElementVNode("div",TR,[e.createElementVNode("span",BR,e.toDisplayString(ae.file_name),1),ae.purge_after?(e.openBlock(),e.createElementBlock("span",IR,e.toDisplayString(W(ae.purge_after)),1)):e.createCommentVNode("",!0)]),e.renderSlot(X.$slots,"trash-action",e.mergeProps({ref_for:!0},Xt(ae)),()=>[R(ae)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-restore","data-testid":`btn-restore-${ae.uuid}`,disabled:e.unref(ce).isRestoring.value,onClick:Fe=>Ne(ae.uuid)},e.toDisplayString(y.value),9,MR)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__btn-restore is-unavailable","data-testid":`btn-restore-${ae.uuid}-unavailable`,"aria-disabled":!0},e.toDisplayString(w.value),9,$R))],!0)],8,CR))),128))]))])):e.createCommentVNode("",!0),r.value.allowPreview!==!1?(e.openBlock(),e.createBlock(Md,{key:3,open:K.value!==null,media:K.value,"can-go-previous":x.value!==null&&x.value>0,"can-go-next":x.value!==null&&x.value<z.value.length-1,selected:K.value!==null&&e.unref(de).isSelected(K.value.uuid),"close-label":l.value.previewCloseButton,"previous-label":l.value.previewPreviousButton,"next-label":l.value.previewNextButton,"select-label":l.value.previewSelectButton,"deselect-label":l.value.previewDeselectButton,onClose:lt,onPrevious:Ct,onNext:Se,onToggleSelect:we[10]||(we[10]=ae=>e.unref(de).toggle(ae.uuid))},null,8,["open","media","can-go-previous","can-go-next","selected","close-label","previous-label","next-label","select-label","deselect-label"])):e.createCommentVNode("",!0)]))}}),Pf=$e(FR,[["__scopeId","data-v-8c4b53f6"]]),DR={class:"media-library-workspace","data-testid":"media-library-workspace"},AR=e.defineComponent({__name:"MediaLibraryWorkspace",props:{httpClient:{},filters:{default:()=>({sort:"newest"})},initialView:{default:()=>({scope:"library"})},capabilities:{default:()=>({})},labels:{default:()=>({})},groupVariants:{type:Boolean,default:!0}},emits:["filters-change","create-post","create-gallery","add-to-album","edit","deleted","restored","restore-conflict","error"],setup(o,{emit:a}){const t=o,n=a;function i(s){return{...s,...s.kinds!==void 0?{kinds:[...s.kinds]}:{},...s.selected_uuids!==void 0?{selected_uuids:[...s.selected_uuids]}:{}}}const r=e.ref(i(t.filters));e.watch(()=>t.filters,s=>{r.value=i(s)},{deep:!0});function l(s){r.value=i(s),n("filters-change",r.value)}return(s,d)=>(e.openBlock(),e.createElementBlock("section",DR,[e.createVNode(Pf,{"http-client":t.httpClient,filters:r.value,"initial-view":t.initialView,"group-variants":t.groupVariants,capabilities:{showHeader:!1,showTrash:!1,allowAddToAlbum:t.capabilities.allowAddToAlbum,allowBulkDelete:t.capabilities.allowBulkDelete,allowCreateGallery:t.capabilities.allowCreateGallery,allowCreatePost:t.capabilities.allowCreatePost,showRawFileName:t.capabilities.showRawFileName,allowPreview:t.capabilities.allowPreview,allowImageEdit:t.capabilities.allowImageEdit,allowVideoEdit:t.capabilities.allowVideoEdit},labels:{title:t.labels.title??"Media"},onCreatePost:d[0]||(d[0]=c=>n("create-post",c)),onCreateGallery:d[1]||(d[1]=c=>n("create-gallery",c)),onAddToAlbum:d[2]||(d[2]=c=>n("add-to-album",c)),onEdit:d[3]||(d[3]=c=>n("edit",c)),onDeleted:d[4]||(d[4]=c=>n("deleted",c)),onRestored:d[5]||(d[5]=c=>n("restored",c)),onRestoreConflict:d[6]||(d[6]=c=>n("restore-conflict",c)),onError:d[7]||(d[7]=c=>n("error",c))},{"filter-bar":e.withCtx(()=>[e.createVNode(Rf,{filters:r.value,"scope-label":t.labels.scopeLabel??"","onUpdate:filters":l},null,8,["filters","scope-label"])]),"bulk-actions":e.withCtx(c=>[e.renderSlot(s.$slots,"bulk-actions",e.normalizeProps(e.guardReactiveProps(c)),void 0,!0)]),"item-actions":e.withCtx(c=>[e.renderSlot(s.$slots,"item-actions",e.normalizeProps(e.guardReactiveProps(c)),void 0,!0)]),"empty-library":e.withCtx(()=>[e.renderSlot(s.$slots,"empty-library",{},void 0,!0)]),_:3},8,["http-client","filters","initial-view","group-variants","capabilities","labels"])]))}}),Uf=$e(AR,[["__scopeId","data-v-28ba5859"]]),RR=["data-testid"],LR={class:"media-empty-state__illustration","aria-hidden":"true"},PR={class:"media-empty-state__copy"},UR={class:"media-empty-state__title"},OR={key:0,class:"media-empty-state__description"},zR={class:"media-empty-state__actions"},jR=e.defineComponent({__name:"MediaEmptyState",props:{title:{},description:{default:""},actionLabel:{default:""},testId:{default:"media-empty-state"}},emits:["action"],setup(o,{emit:a}){const t=o,n=a;return(i,r)=>(e.openBlock(),e.createElementBlock("section",{class:"media-empty-state","data-testid":t.testId},[e.createElementVNode("div",LR,[e.renderSlot(i.$slots,"illustration",{},()=>[r[1]||(r[1]=e.createElementVNode("span",{class:"media-empty-state__icon"},"□",-1))],!0)]),e.createElementVNode("div",PR,[e.createElementVNode("h3",UR,e.toDisplayString(t.title),1),t.description!==""?(e.openBlock(),e.createElementBlock("p",OR,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",zR,[e.renderSlot(i.$slots,"actions",{},()=>[t.actionLabel!==""?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-empty-state__action","data-testid":"btn-media-empty-state-action",onClick:r[0]||(r[0]=l=>n("action"))},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0)],!0)])],8,RR))}}),Of=$e(jR,[["__scopeId","data-v-7b8e2619"]]),WR={class:"media-trash-workspace","data-testid":"media-trash-workspace"},HR={class:"media-trash-workspace__header"},ZR={key:0,class:"media-trash-workspace__status"},GR={key:2,class:"media-trash-workspace__grid"},XR=["data-testid"],KR={class:"media-trash-workspace__select"},JR=["checked","data-testid","onChange"],qR=["src","alt"],YR={key:1,class:"media-trash-workspace__purge"},QR=e.defineComponent({__name:"MediaTrashWorkspace",props:{httpClient:{},labels:{default:()=>({})}},emits:["restored","purged","error"],setup(o,{emit:a}){const t=o,n=a,i=e.computed(()=>{var p,f,h,v,k,y;return{title:((p=t.labels)==null?void 0:p.title)??"Trash",emptyTitle:((f=t.labels)==null?void 0:f.emptyTitle)??"Your trash is empty",emptyDescription:((h=t.labels)==null?void 0:h.emptyDescription)??"Deleted files appear here before permanent removal.",restore:((v=t.labels)==null?void 0:v.restore)??"Restore",purge:((k=t.labels)==null?void 0:k.purge)??"Delete forever",emptyTrash:((y=t.labels)==null?void 0:y.emptyTrash)??"Empty trash"}}),r=Pd({httpClient:t.httpClient}),l=tl(r.items);function s(p){return p.thumbnail_url??p.preview_url??p.original_url??null}async function d(){const p=Array.from(l.selectedIds.value),f=[];try{for(const h of p)(await r.restore(h)).status==="restored"&&f.push(h);l.clear(),n("restored",f)}catch(h){n("error",h instanceof Error?h:new Error(String(h)))}}async function c(){const p=Array.from(l.selectedIds.value);await m(p)}async function u(){await m(r.items.value.map(p=>p.uuid))}async function m(p){const f=[];try{for(const h of p)(await r.purge(h)).status==="purging"&&f.push(h);l.clear(),n("purged",f)}catch(h){n("error",h instanceof Error?h:new Error(String(h)))}}return e.onMounted(()=>{r.fetch().catch(p=>{n("error",p instanceof Error?p:new Error(String(p)))})}),(p,f)=>(e.openBlock(),e.createElementBlock("section",WR,[e.createElementVNode("header",HR,[e.createElementVNode("h2",null,e.toDisplayString(i.value.title),1),e.unref(r).items.value.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","data-testid":"btn-media-empty-trash",onClick:u},e.toDisplayString(i.value.emptyTrash),1)):e.createCommentVNode("",!0)]),e.unref(r).isLoading.value?(e.openBlock(),e.createElementBlock("p",ZR,"Loading...")):e.unref(r).items.value.length===0?(e.openBlock(),e.createBlock(Of,{key:1,title:i.value.emptyTitle,description:i.value.emptyDescription,"test-id":"media-empty-trash"},null,8,["title","description"])):(e.openBlock(),e.createElementBlock("ul",GR,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).items.value,h=>(e.openBlock(),e.createElementBlock("li",{key:h.uuid,class:e.normalizeClass(["media-trash-workspace__item",{"is-selected":e.unref(l).isSelected(h.uuid)}]),"data-testid":`media-trash-item-${h.uuid}`},[e.createElementVNode("label",KR,[e.createElementVNode("input",{type:"checkbox",checked:e.unref(l).isSelected(h.uuid),"data-testid":`checkbox-trash-${h.uuid}`,onChange:v=>e.unref(l).toggle(h.uuid)},null,40,JR),e.createElementVNode("span",null,e.toDisplayString(h.file_name),1)]),s(h)?(e.openBlock(),e.createElementBlock("img",{key:0,src:s(h)??"",alt:h.alt_text??h.file_name},null,8,qR)):e.createCommentVNode("",!0),h.purge_after?(e.openBlock(),e.createElementBlock("span",YR,e.toDisplayString(h.purge_after),1)):e.createCommentVNode("",!0)],10,XR))),128))])),e.createVNode(Rd,{"selected-count":e.unref(l).selectedCount.value,"cross-page-count":e.unref(l).crossPageCount.value,scope:"trash",labels:{restore:i.value.restore,purge:i.value.purge},onBulkRestore:d,onBulkPurge:c,onClear:e.unref(l).clear},null,8,["selected-count","cross-page-count","labels","onClear"])]))}}),zf=$e(QR,[["__scopeId","data-v-3b1b3c56"]]),eL=["data-density"],tL={class:"media-library-shell__toolbar"},aL={class:"media-library-shell__tabs","aria-label":"Media library sections"},nL=["aria-label"],oL=["data-testid","onClick"],iL={key:2,class:"media-library-shell__uploads","data-testid":"media-library-uploads","aria-live":"polite"},rL=["data-testid"],lL={class:"media-library-shell__upload-thumb"},sL=["src","alt"],dL={key:1,"aria-hidden":"true"},cL={class:"media-library-shell__upload-meta"},uL={class:"media-library-shell__upload-name"},mL={class:"media-library-shell__upload-status"},pL=["data-testid","onClick"],fL={class:"media-library-shell__workspace"},hL={key:0,class:"media-library-shell__breadcrumb","data-testid":"media-album-breadcrumb"},vL={class:"media-library-shell__breadcrumb-name"},gL=["aria-label"],bL={class:"media-album-grid__toolbar"},yL=["placeholder","aria-label"],wL={class:"media-album-grid__tiles",role:"list"},kL={class:"media-album-grid__new-tile-label"},_L=["data-testid","onClick"],EL={class:"media-album-grid__cover","aria-hidden":"true"},SL=["src"],CL={key:1,class:"media-album-grid__cover-initial"},xL={class:"media-album-grid__tile-meta"},VL={class:"media-album-grid__tile-name"},NL={class:"media-album-grid__tile-count"},TL={key:0,class:"media-album-grid__empty","data-testid":"media-album-grid-empty-search"},BL={key:1,class:"media-album-grid__empty","data-testid":"media-album-grid-empty"},ju="media-library:density",Wu="media-library:recent-albums",Hu=5,IL=e.defineComponent({__name:"MediaLibraryShell",props:{httpClient:{},albumHttpClient:{},albumBaseUrl:{},initialTab:{default:"library"},initialAlbumId:{default:null},initialFilters:{default:()=>({sort:"newest"})},capabilities:{default:()=>({})},labels:{default:()=>({})},currentRoute:{},routerPush:{},routerReplace:{}},emits:["tab-change","album-change","filters-change","selection-change","create-post","create-gallery","add-to-album","edit","deleted","restored","restore-conflict","error"],setup(o,{emit:a}){function t(){if(typeof window>"u")return"comfortable";try{return window.localStorage.getItem(ju)==="compact"?"compact":"comfortable"}catch{return"comfortable"}}function n(J){if(!(typeof window>"u"))try{window.localStorage.setItem(ju,J)}catch{}}function i(){if(typeof window>"u")return[];try{const J=window.localStorage.getItem(Wu);if(typeof J!="string"||J==="")return[];const ne=JSON.parse(J);return Array.isArray(ne)?ne.filter(De=>typeof De=="string"):[]}catch{return[]}}function r(J){if(!(typeof window>"u"))try{window.localStorage.setItem(Wu,JSON.stringify(J.slice(0,Hu)))}catch{}}const l=o,s=a,d=e.ref(l.initialTab),c=e.ref(l.initialAlbumId),u=e.ref({...l.initialFilters}),m=e.ref(null),p=e.ref(null),f=e.ref(!1),h=e.ref(null),v=e.ref(null),k=e.ref(t()),y=e.ref(i()),w=e.ref(!1),g=e.ref("");function b(){if(typeof document>"u")return!1;const J=document.activeElement;if(!(J instanceof HTMLElement))return!1;if(J.isContentEditable)return!0;const ne=J.tagName.toLowerCase();return ne==="input"||ne==="textarea"||ne==="select"}function R(J){J.key==="?"&&(J.metaKey||J.ctrlKey||J.altKey||b()||(J.preventDefault(),w.value=!0))}const N=e.computed(()=>d.value==="albums"&&c.value===null),I=e.computed(()=>d.value==="albums"&&c.value!==null&&c.value!=="unfiled"),x=e.computed(()=>{var J;return c.value===null||c.value==="unfiled"?"":((J=D.albumsById.value.get(c.value))==null?void 0:J.name)??""}),T=e.computed(()=>{const J=g.value.trim().toLowerCase(),ne=D.albums.value;return J===""?ne:ne.filter(De=>De.name.toLowerCase().includes(J))});function $(J){const ne=J.name.trim();return ne.length===0?"·":ne.charAt(0).toUpperCase()}function S(J){var fe,Ae,Ye;const ne=J.cover_media;if(ne==null)return null;const De=((fe=ne.urls)==null?void 0:fe.thumb)??((Ae=ne.urls)==null?void 0:Ae.preview)??((Ye=ne.urls)==null?void 0:Ye.original)??null;return typeof De=="string"&&De!==""?De:null}function B(J){return O.value.itemsCount(J.media_count)}const _=e.computed(()=>y.value.map(J=>{const ne=D.albumsById.value.get(J);return ne?{id:J,name:ne.name}:null}).filter(J=>J!==null));function A(J){const ne=[J,...y.value.filter(De=>De!==J)].slice(0,Hu);y.value=ne,r(ne)}const P=e.computed(()=>u.value.sort??"newest"),D=Nl(),z=Mf({httpClient:l.httpClient,onMediaUploaded:()=>{M.value+=1}}),M=e.ref(0);function Z(J){J.length!==0&&z.uploadFiles(J).catch(ne=>{s("error",ne instanceof Error?ne:new Error(String(ne)))})}const O=e.computed(()=>{var J,ne,De,fe,Ae,Ye,st,Bt,Nt,Lt,Pt,zt,Ot,jt,oa,Q,ge,me,se,Ne,Pe,et,gt;return{library:((J=l.labels)==null?void 0:J.library)??((ne=l.labels)==null?void 0:ne.libraryTab)??"Library",libraryTab:((De=l.labels)==null?void 0:De.libraryTab)??((fe=l.labels)==null?void 0:fe.library)??"Library",albums:((Ae=l.labels)==null?void 0:Ae.albums)??((Ye=l.labels)==null?void 0:Ye.albumsTab)??"Albums",albumsTab:((st=l.labels)==null?void 0:st.albumsTab)??((Bt=l.labels)==null?void 0:Bt.albums)??"Albums",trash:((Nt=l.labels)==null?void 0:Nt.trash)??((Lt=l.labels)==null?void 0:Lt.trashTab)??"Trash",trashTab:((Pt=l.labels)==null?void 0:Pt.trashTab)??((zt=l.labels)==null?void 0:zt.trash)??"Trash",allMedia:((Ot=l.labels)==null?void 0:Ot.allMedia)??"All media",unfiled:((jt=l.labels)==null?void 0:jt.unfiled)??"Unfiled",newAlbum:((oa=l.labels)==null?void 0:oa.newAlbum)??"New album",selectionScope:((Q=l.labels)==null?void 0:Q.selectionScope)??"Showing selected items",exitSelectionScope:((ge=l.labels)==null?void 0:ge.exitSelectionScope)??"Exit selection view",findAlbum:((me=l.labels)==null?void 0:me.findAlbum)??"Find album…",noAlbumsYet:((se=l.labels)==null?void 0:se.noAlbumsYet)??"No albums yet — albums are private buckets where you group photos and videos. Create your first one above to start organising your work.",noAlbumMatchesFound:((Ne=l.labels)==null?void 0:Ne.noAlbumMatchesFound)??"No albums match your search.",itemsCount:((Pe=l.labels)==null?void 0:Pe.itemsCount)??(Tt=>`${Tt} ${Tt===1?"item":"items"}`),newAlbumNamePrompt:((et=l.labels)==null?void 0:et.newAlbumNamePrompt)??"Name this album",recentSection:((gt=l.labels)==null?void 0:gt.recentSection)??"Recent albums"}}),K=e.computed(()=>h.value!==null?{scope:"library"}:c.value==="unfiled"?{scope:"unfiled"}:c.value!==null?{scope:"album",albumId:c.value}:{scope:"library"}),de=e.computed(()=>h.value!==null?{...u.value,selected_uuids:[...h.value],unfiled_only:!1}:u.value),Ve=e.computed(()=>{if(c.value===null||c.value==="unfiled")return null;const J=D.albumsById.value.get(c.value);return{uuid:c.value,name:(J==null?void 0:J.name)??"this album"}}),ce=e.computed(()=>d.value==="trash"?"trash":h.value!==null?"selection":Ve.value!==null?"album":"all"),le=e.computed(()=>d.value==="trash"?O.value.trash:h.value!==null?O.value.selectionScope:c.value==="unfiled"?O.value.unfiled:Ve.value!==null?Ve.value.name:O.value.allMedia);function W(J){var ne,De,fe;d.value!==J&&(d.value=J,s("tab-change",J),J==="trash"?(ne=l.routerPush)==null||ne.call(l,"/media/trash"):J==="albums"?(De=l.routerPush)==null||De.call(l,"/media/albums"):(fe=l.routerPush)==null||fe.call(l,"/media"))}function C(J){var ne;be(),c.value=J,d.value="albums",A(J),u.value={...u.value,unfiled_only:!1},s("album-change",J),(ne=l.routerPush)==null||ne.call(l,`/media/album/${encodeURIComponent(J)}`)}function U(){var J;be(),c.value=null,d.value="albums",u.value={...u.value,unfiled_only:!1},s("album-change",null),(J=l.routerPush)==null||J.call(l,"/media/albums")}async function j(J){if(c.value===null||c.value==="unfiled")return;const ne=c.value;try{await D.updateAlbum(ne,{meta:{cover_media_uuid:J.uuid}}),D.fetchAlbums({parent_id:null})}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}async function ie(){if(typeof window>"u")return;const J=window.prompt(O.value.newAlbumNamePrompt);if(J===null)return;const ne=J.trim();if(ne!=="")try{const De=await D.createAlbum({name:ne});De!=null&&C(De.id)}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}function ue(){return d.value==="trash"?"/media/trash":c.value==="unfiled"?"/media/unfiled":c.value!==null?`/media/album/${encodeURIComponent(c.value)}`:"/media"}function Xe(J){var ne;J.length!==0&&(h.value===null&&(v.value=ue()),h.value=[...J],(ne=l.routerPush)==null||ne.call(l,{path:"/media",query:{view:"selection"}}))}function be(){h.value=null,v.value=null}function Ee(){var ne;const J=v.value;be(),J!==null&&((ne=l.routerPush)==null||ne.call(l,J))}function ye(J){var ne;u.value={...u.value,sort:J},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function xe(J){k.value=J,n(J)}function Ce(J){var ne;u.value={...u.value,created_after:J.starts_at,created_before:J.ends_at},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function Re(){var ne;const J={...u.value};delete J.created_after,delete J.created_before,u.value=J,s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}const ze=e.computed(()=>u.value.created_after!==void 0||u.value.created_before!==void 0);function rt(J){var ne;u.value={...J,...J.kinds!==void 0?{kinds:[...J.kinds]}:{},...J.selected_uuids!==void 0?{selected_uuids:[...J.selected_uuids]}:{}},s("filters-change",u.value),(ne=l.routerReplace)==null||ne.call(l,{query:u.value})}function at(){of({...l.albumHttpClient!==void 0?{httpClient:l.albumHttpClient}:{},...l.albumBaseUrl!==void 0?{albumBaseUrl:l.albumBaseUrl}:{}})}function Dt(J){J.mediaIds.length!==0&&(p.value=J,f.value=!0)}function ht(){f.value=!1,p.value=null,ut.value=null}async function St(J){const ne=p.value;if(ne===null)return;const De=ut.value;try{await D.attachMedia(J,ne.mediaIds),De!==null&&await Promise.all(ne.mediaIds.map(fe=>D.detachMedia(De,fe))),f.value=!1,p.value=null,ut.value=null,s("add-to-album",ne)}catch(fe){s("error",fe instanceof Error?fe:new Error(String(fe)))}}const ut=e.ref(null);function lt(J){J.mediaIds.length===0||Ve.value===null||(p.value=J,ut.value=Ve.value.uuid,f.value=!0)}async function Ct(J){if(J.mediaIds.length===0||Ve.value===null)return;const ne=Ve.value.uuid;try{await Promise.all(J.mediaIds.map(De=>D.detachMedia(ne,De)))}catch(De){s("error",De instanceof Error?De:new Error(String(De)))}}e.watch(()=>l.initialAlbumId,J=>{c.value=J});function Se(J){J===null||J==="unfiled"||D.albumsById.value.has(J)||D.fetchAlbum(J).catch(ne=>{s("error",ne instanceof Error?ne:new Error(String(ne)))})}return e.watch(()=>c.value,J=>Se(J)),at(),e.onMounted(()=>{Se(c.value),D.fetchAlbums({parent_id:null}).catch(J=>{s("error",J instanceof Error?J:new Error(String(J)))}),typeof window<"u"&&window.addEventListener("keydown",R)}),e.onUnmounted(()=>{typeof window<"u"&&window.removeEventListener("keydown",R)}),e.watch(()=>[l.albumHttpClient,l.albumBaseUrl],()=>at()),(J,ne)=>{var De;return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["media-library-shell",{"is-density-compact":k.value==="compact"}]),"data-density":k.value,"data-testid":"media-library-shell"},[e.createElementVNode("header",tL,[e.createElementVNode("nav",aL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="library"}),"data-testid":"tab-media-library",onClick:ne[0]||(ne[0]=fe=>W("library"))},e.toDisplayString(O.value.library),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="albums"}),"data-testid":"tab-media-albums",onClick:ne[1]||(ne[1]=fe=>W("albums"))},e.toDisplayString(O.value.albums),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass({"is-active":d.value==="trash"}),"data-testid":"tab-media-trash",onClick:ne[2]||(ne[2]=fe=>W("trash"))},e.toDisplayString(O.value.trash),3)]),e.createElementVNode("button",{type:"button",class:"media-library-shell__shortcut-trigger","data-testid":"btn-media-shortcuts","aria-label":"Show keyboard shortcuts",onClick:ne[3]||(ne[3]=fe=>w.value=!0)}," ? "),h.value!==null?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-library-shell__exit-selection","data-testid":"btn-media-exit-selection-scope",onClick:Ee},e.toDisplayString(O.value.exitSelectionScope),1)):e.createCommentVNode("",!0)]),d.value!=="trash"&&!N.value?(e.openBlock(),e.createBlock(Bf,{key:0,class:"media-library-shell__toolbar-row",sort:P.value,density:k.value,"has-date-filter":ze.value,"http-client":l.httpClient,"onUpdate:sort":ye,"onUpdate:density":xe,onJumpTo:Ce,onJumpToAll:Re,onUploadFiles:Z},null,8,["sort","density","has-date-filter","http-client"])):e.createCommentVNode("",!0),_.value.length>0&&d.value!=="trash"&&!N.value&&!I.value?(e.openBlock(),e.createElementBlock("nav",{key:1,class:"media-library-shell__recent-albums","data-testid":"media-library-recent-albums","aria-label":O.value.recentSection},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,fe=>(e.openBlock(),e.createElementBlock("button",{key:fe.id,type:"button",class:"media-library-shell__recent-chip","data-testid":`btn-media-recent-album-${fe.id}`,onClick:Ae=>C(fe.id)},e.toDisplayString(fe.name),9,oL))),128))],8,nL)):e.createCommentVNode("",!0),e.unref(z).uploads.value.length>0&&d.value!=="trash"?(e.openBlock(),e.createElementBlock("div",iL,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(z).uploads.value,fe=>(e.openBlock(),e.createElementBlock("article",{key:fe.cid,class:e.normalizeClass(["media-library-shell__upload-tile",`is-status-${fe.status}`]),"data-testid":`upload-tile-${fe.cid}`},[e.createElementVNode("div",lL,[fe.previewUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:fe.previewUrl,alt:fe.fileName},null,8,sL)):(e.openBlock(),e.createElementBlock("span",dL,"⤴"))]),e.createElementVNode("div",cL,[e.createElementVNode("span",uL,e.toDisplayString(fe.fileName),1),e.createElementVNode("span",mL,[fe.status==="uploading"||fe.status==="queued"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("Uploading…")],64)):fe.status==="success"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode("Uploaded")],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(fe.errorMessage??"Upload failed"),1)],64))])]),e.createElementVNode("button",{type:"button",class:"media-library-shell__upload-dismiss","data-testid":`btn-upload-dismiss-${fe.cid}`,onClick:Ae=>e.unref(z).dismiss(fe.cid)}," × ",8,pL)],10,rL))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["media-library-shell__body",{"has-inspector-target":m.value!==null}])},[e.createElementVNode("main",fL,[I.value?(e.openBlock(),e.createElementBlock("header",hL,[e.createElementVNode("button",{type:"button",class:"media-library-shell__breadcrumb-back","data-testid":"btn-media-album-back",onClick:U}," ← "+e.toDisplayString(O.value.albums),1),ne[15]||(ne[15]=e.createElementVNode("span",{class:"media-library-shell__breadcrumb-sep","aria-hidden":"true"},"/",-1)),e.createElementVNode("span",vL,e.toDisplayString(x.value),1)])):e.createCommentVNode("",!0),d.value==="trash"?(e.openBlock(),e.createBlock(zf,{key:1,"http-client":l.httpClient,onError:ne[4]||(ne[4]=fe=>s("error",fe))},null,8,["http-client"])):N.value?(e.openBlock(),e.createElementBlock("section",{key:2,class:"media-album-grid","data-testid":"media-album-grid","aria-label":O.value.albums},[e.createElementVNode("header",bL,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":ne[5]||(ne[5]=fe=>g.value=fe),type:"search",class:"media-album-grid__search",placeholder:O.value.findAlbum,"data-testid":"input-media-album-filter","aria-label":O.value.findAlbum},null,8,yL),[[e.vModelText,g.value]])]),e.createElementVNode("div",wL,[e.createElementVNode("button",{type:"button",class:"media-album-grid__new-tile","data-testid":"btn-media-album-new-tile",role:"listitem",onClick:ie},[ne[16]||(ne[16]=e.createElementVNode("span",{class:"media-album-grid__new-tile-glyph","aria-hidden":"true"},"+",-1)),e.createElementVNode("span",kL,e.toDisplayString(O.value.newAlbum),1)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,fe=>(e.openBlock(),e.createElementBlock("button",{key:fe.id,type:"button",class:"media-album-grid__tile","data-testid":`media-album-tile-${fe.id}`,role:"listitem",onClick:Ae=>C(fe.id)},[e.createElementVNode("div",EL,[S(fe)!==null?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-album-grid__cover-image",src:S(fe),alt:"",loading:"lazy"},null,8,SL)):(e.openBlock(),e.createElementBlock("span",CL,e.toDisplayString($(fe)),1))]),e.createElementVNode("div",xL,[e.createElementVNode("span",VL,e.toDisplayString(fe.name),1),e.createElementVNode("span",NL,e.toDisplayString(B(fe)),1)])],8,_L))),128))]),T.value.length===0&&g.value!==""?(e.openBlock(),e.createElementBlock("p",TL,e.toDisplayString(O.value.noAlbumMatchesFound),1)):T.value.length===0?(e.openBlock(),e.createElementBlock("p",BL,e.toDisplayString(O.value.noAlbumsYet),1)):e.createCommentVNode("",!0)],8,gL)):(e.openBlock(),e.createBlock(Uf,{key:`workspace-${M.value}`,"http-client":l.httpClient,filters:de.value,"initial-view":K.value,capabilities:l.capabilities,labels:{scopeLabel:le.value},onFiltersChange:rt,onCreatePost:ne[6]||(ne[6]=fe=>s("create-post",fe)),onCreateGallery:ne[7]||(ne[7]=fe=>s("create-gallery",fe)),onAddToAlbum:Dt,onEdit:ne[8]||(ne[8]=fe=>s("edit",fe)),onDeleted:ne[9]||(ne[9]=fe=>s("deleted",fe)),onRestored:ne[10]||(ne[10]=fe=>s("restored",fe)),onRestoreConflict:ne[11]||(ne[11]=fe=>s("restore-conflict",fe)),onError:ne[12]||(ne[12]=fe=>s("error",fe))},{"bulk-actions":e.withCtx(fe=>[e.createVNode(Rd,{"selected-count":fe.selectedCount,"cross-page-count":fe.crossPageCount,scope:ce.value,"source-album":Ve.value,capabilities:l.capabilities,onClear:fe.clearSelection,onBulkMoveToTrash:fe.onBulkDelete,onBulkAddToAlbum:Ae=>{var Ye;return(Ye=fe.onAddToAlbum)==null?void 0:Ye.call(fe)},onBulkMoveBetweenAlbums:Ae=>lt({mediaIds:fe.selectedItemIds,items:fe.selectedItems,source:"bulk"}),onBulkRemoveFromCurrentAlbum:Ae=>void Ct({mediaIds:fe.selectedItemIds,items:fe.selectedItems,source:"bulk"}),onBulkCreatePost:Ae=>{var Ye;return(Ye=fe.onCreatePost)==null?void 0:Ye.call(fe)},onBulkCreateGallery:Ae=>{var Ye;return(Ye=fe.onCreateGallery)==null?void 0:Ye.call(fe)},onInspect:Ae=>fe.crossPageCount>0?Xe(fe.selectedItemIds):m.value={kind:"multi",count:fe.selectedCount,items:fe.selectedItems}},null,8,["selected-count","cross-page-count","scope","source-album","capabilities","onClear","onBulkMoveToTrash","onBulkAddToAlbum","onBulkMoveBetweenAlbums","onBulkRemoveFromCurrentAlbum","onBulkCreatePost","onBulkCreateGallery","onInspect"])]),_:1},8,["http-client","filters","initial-view","capabilities","labels"]))]),e.createVNode(Tf,{open:f.value,"selected-count":((De=p.value)==null?void 0:De.mediaIds.length)??0,onCancel:ht,onConfirm:St,onError:ne[13]||(ne[13]=fe=>s("error",fe))},null,8,["open","selected-count"]),e.createVNode(Af,{class:"media-library-shell__inspector",target:m.value,"http-client":l.httpClient,capabilities:l.capabilities,"in-album-scope":c.value!==null&&c.value!=="unfiled",onSetAsAlbumCover:j},null,8,["target","http-client","capabilities","in-album-scope"])],2),e.createVNode(If,{open:w.value,onClose:ne[14]||(ne[14]=fe=>w.value=!1)},null,8,["open"])],10,eL)}}}),ML=$e(IL,[["__scopeId","data-v-384bd4f9"]]),$L={class:"album-nav-rail__search"},FL={class:"album-nav-rail__sr-only"},DL=["placeholder"],AL={class:"album-nav-rail__primary","aria-label":"Media scopes"},RL={class:"album-nav-rail__count"},LL={class:"album-nav-rail__count"},PL={key:0,class:"album-nav-rail__recent","data-testid":"album-rail-recent","aria-label":"Recent albums"},UL={class:"album-nav-rail__section-label"},OL=["data-testid","onClick"],zL={class:"album-nav-rail__tree"},jL={class:"album-nav-rail__utility"},WL={class:"album-nav-rail__count"},HL=e.defineComponent({__name:"AlbumNavRail",props:{activeAlbumId:{},collapsed:{type:Boolean,default:!1},allowDragDropTarget:{type:Boolean,default:!1},mediaCounts:{default:()=>({})},labels:{default:()=>({})},recentAlbums:{default:()=>[]}},emits:["change-album","create-album","drop-media","open-trash"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.ref(""),l=e.ref([]),s=e.ref(null),d=e.computed(()=>{var y,w,g,b,R,N;return{allMedia:((y=t.labels)==null?void 0:y.allMedia)??"All media",unfiled:((w=t.labels)==null?void 0:w.unfiled)??"Unfiled",newAlbum:((g=t.labels)==null?void 0:g.newAlbum)??"New album",findAlbum:((b=t.labels)==null?void 0:b.findAlbum)??"Find album...",trash:((R=t.labels)==null?void 0:R.trash)??"Trash",recentSection:((N=t.labels)==null?void 0:N.recentSection)??"Recent"}});function c(y){return typeof y=="number"&&Number.isFinite(y)?String(y):""}function u(y){n("change-album",y.id)}function m(y,w){i.value=!1,n("create-album",w?{name:y,parentId:w}:{name:y})}function p(y){var g;const w=((g=y.dataTransfer)==null?void 0:g.getData("application/x-mediables-media-ids"))??"";if(w.trim()==="")return l.value;try{const b=JSON.parse(w);return Array.isArray(b)?b.filter(R=>typeof R=="string"&&R.trim()!==""):[]}catch{return w.split(",").map(b=>b.trim()).filter(b=>b!=="")}}function f(y,w){t.allowDragDropTarget&&(y.preventDefault(),s.value=w)}function h(){s.value=null}function v(y,w){if(!t.allowDragDropTarget)return;y.preventDefault();const g=p(y);s.value=null,g.length!==0&&n("drop-media",{albumId:w==="all"||w==="unfiled"?null:w,mediaIds:g})}const k=e.computed(()=>({"is-collapsed":t.collapsed}));return(y,w)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["album-nav-rail",k.value]),"data-testid":"album-rail"},[e.createElementVNode("label",$L,[e.createElementVNode("span",FL,e.toDisplayString(d.value.findAlbum),1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=g=>r.value=g),type:"search",placeholder:d.value.findAlbum,"data-testid":"input-album-rail-search"},null,8,DL),[[e.vModelText,r.value]])]),e.createElementVNode("nav",AL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row",{"is-active":t.activeAlbumId===null,"is-drop-target":s.value==="all"}]),"data-testid":"album-rail-row-all",onClick:w[1]||(w[1]=g=>n("change-album",null)),onDragover:w[2]||(w[2]=g=>f(g,"all")),onDragleave:h,onDrop:w[3]||(w[3]=g=>v(g,"all"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.allMedia),1),e.createElementVNode("span",RL,e.toDisplayString(c(t.mediaCounts.all)),1)],34),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row",{"is-active":t.activeAlbumId==="unfiled","is-drop-target":s.value==="unfiled"}]),"data-testid":"album-rail-row-unfiled",onClick:w[4]||(w[4]=g=>n("change-album","unfiled")),onDragover:w[5]||(w[5]=g=>f(g,"unfiled")),onDragleave:h,onDrop:w[6]||(w[6]=g=>v(g,"unfiled"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.unfiled),1),e.createElementVNode("span",LL,e.toDisplayString(c(t.mediaCounts.unfiled)),1)],34)]),t.recentAlbums.length>0?(e.openBlock(),e.createElementBlock("section",PL,[e.createElementVNode("p",UL,e.toDisplayString(d.value.recentSection),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.recentAlbums,g=>(e.openBlock(),e.createElementBlock("button",{key:`recent-${g.id}`,type:"button",class:e.normalizeClass(["album-nav-rail__row album-nav-rail__row--recent",{"is-active":t.activeAlbumId===g.id}]),"data-testid":`album-rail-recent-${g.id}`,onClick:b=>n("change-album",g.id)},[e.createElementVNode("span",null,e.toDisplayString(g.name),1)],10,OL))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",zL,[e.createVNode(Tl,{"model-value":t.activeAlbumId==="unfiled"?null:t.activeAlbumId,mode:"rail",compact:!0,draggable:!1,onAlbumSelected:u},null,8,["model-value"])]),e.createElementVNode("button",{type:"button",class:"album-nav-rail__new","data-testid":"btn-album-rail-new",onClick:w[7]||(w[7]=g=>i.value=!0)}," + "+e.toDisplayString(d.value.newAlbum),1),e.createVNode(Id,{open:i.value,onCancel:w[8]||(w[8]=g=>i.value=!1),onCreate:m},null,8,["open"]),e.createElementVNode("div",jL,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["album-nav-rail__row album-nav-rail__row--utility",{"is-drop-target":s.value==="trash"}]),"data-testid":"album-rail-row-trash",onClick:w[9]||(w[9]=g=>n("open-trash")),onDragover:w[10]||(w[10]=g=>f(g,"trash")),onDragleave:h,onDrop:w[11]||(w[11]=g=>v(g,"trash"))},[e.createElementVNode("span",null,e.toDisplayString(d.value.trash),1),e.createElementVNode("span",WL,e.toDisplayString(c(t.mediaCounts.trash)),1)],34)])],2))}}),ZL=$e(HL,[["__scopeId","data-v-0913c5b6"]]),GL={key:0,class:"media-selection-tray","data-testid":"media-selection-tray"},XL={class:"media-selection-tray__header"},KL={class:"media-selection-tray__title"},JL={class:"media-selection-tray__items"},qL={class:"media-selection-tray__item-preview"},YL=["src","alt"],QL={key:1,class:"media-selection-tray__file-icon"},eP={class:"media-selection-tray__item-copy"},tP=["aria-label","onClick"],aP=e.defineComponent({__name:"MediaSelectionTray",props:{items:{},selectedCountLabel:{default:"Selected items"},dismissLabel:{default:"Remove"}},emits:["remove"],setup(o,{emit:a}){const t=a;function n(r){var l;return r?r.thumbnail_url??((l=r.conversion_urls)==null?void 0:l.thumb)??r.preview_url??r.original_url??r.url??null:null}function i(r){return r!=null&&r.mime_type?r.mime_type.startsWith("image/"):!1}return(r,l)=>r.items.length>0?(e.openBlock(),e.createElementBlock("section",GL,[e.createElementVNode("header",XL,[e.createElementVNode("h3",KL,e.toDisplayString(r.selectedCountLabel),1)]),e.createElementVNode("div",JL,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,s=>{var d,c,u,m;return e.openBlock(),e.createElementBlock("article",{key:s.id,class:"media-selection-tray__item"},[e.createElementVNode("div",qL,[i(s.media)&&n(s.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:n(s.media),alt:((d=s.media)==null?void 0:d.alt_text)??((c=s.media)==null?void 0:c.file_name)??"Selected media",class:"media-selection-tray__thumb"},null,8,YL)):(e.openBlock(),e.createElementBlock("div",QL,[...l[0]||(l[0]=[e.createElementVNode("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])]))]),e.createElementVNode("div",eP,[e.createElementVNode("strong",null,e.toDisplayString(((u=s.media)==null?void 0:u.file_name)??s.id),1),e.createElementVNode("span",null,e.toDisplayString(s.status),1)]),e.createElementVNode("button",{type:"button",class:"media-selection-tray__remove","aria-label":`${r.dismissLabel} ${((m=s.media)==null?void 0:m.file_name)??s.id}`,onClick:p=>t("remove",s.id)},e.toDisplayString(r.dismissLabel),9,tP)])}),128))])])):e.createCommentVNode("",!0)}}),nP=$e(aP,[["__scopeId","data-v-f2a3d69d"]]);function Ud(o={}){const a=e.ref(!1),t=e.ref(!1),n=e.ref(null),i=e.ref(null),r=e.ref(0),l=e.ref(0),s=e.ref(null),d=e.ref(null),c=e.computed(()=>d.value!==null),u=w=>{if(r.value++,d.value=null,i.value=null,t.value=!1,w!=null&&typeof w=="object"&&!(w instanceof Blob)&&("image"in w||"state"in w||"sessionKey"in w)){const g=w;n.value=g.image??null,s.value=g.state??null,l.value=g.sessionKey??r.value}else n.value=w??null,s.value=null,l.value=r.value;a.value=!0},m=()=>{a.value=!1,n.value=null,i.value=null,d.value=null,t.value=!1,s.value=null},p=async w=>{try{return t.value=!0,i.value=w,o.onSave&&await o.onSave(w),m(),w}catch(g){const b=g;throw d.value=b,o.onError&&o.onError(b),b}finally{t.value=!1}},f=()=>{o.onCancel&&o.onCancel(),m()},h=w=>{d.value=w,o.onError&&o.onError(w)},v=()=>{d.value=null},k=()=>i.value,y=e.computed(()=>a.value&&i.value!==null&&!t.value);return{isOpen:a,isProcessing:t,uploadedImage:n,editedImage:i,sessionKey:l,initialState:s,error:d,hasError:c,hasUnsavedChanges:y,open:u,close:m,handleSave:p,handleCancel:f,handleError:h,clearError:v,getEditedImage:k}}let ds=null;function oP(o){return ds||(ds=Ud(o)),ds}function iP(o){return a=>new Promise((t,n)=>{Ud({...o,onSave:async r=>{o!=null&&o.onSave&&await o.onSave(r),t(r)},onError:r=>{o!=null&&o.onError&&o.onError(r),n(r)},onCancel:()=>{o!=null&&o.onCancel&&o.onCancel(),n(new Error("User cancelled"))}}).open(a)})}function Od(o){return o.filter(a=>a.media&&!a.markedForRemoval).map((a,t)=>{const n={uuid:a.media.uuid,name:a.name,order:t};return a.customProperties&&(n.custom_properties=a.customProperties),n})}function Ys(o){return o.map((a,t)=>{const n={media:a,clientId:a.uuid,name:a.name||a.file_name,order:t};return a.custom_properties&&(n.customProperties=a.custom_properties),n})}function zd(o){if(o){const t={};o.apiBaseUrl!==void 0&&(t.apiBaseUrl=o.apiBaseUrl),o.isAdmin!==void 0&&(t.isAdmin=o.isAdmin),$o(t)}return{name:"mediables",async upload(t,n){const r=await xa().uploadFile(t,{collection:(n==null?void 0:n.collection)||"default",customProperties:n==null?void 0:n.customProperties});if(!r)throw new Error("Upload failed: No media returned");return{media:r,uuid:r.uuid}},async attach(t,n){await xa().attachMedia(n.modelType,String(n.modelId),[t],n.collection||"images")},async attachMany(t,n){await xa().attachMedia(n.modelType,String(n.modelId),t,n.collection||"images")},async detach(t,n){await xa().detachMedia(n.modelType,String(n.modelId),t,n.collection||"images")},async reorder(t,n){await xa().reorderMedia(t.modelType,String(t.modelId),n,t.collection||"images")},async fetchModelMedia(t){return await xa().fetchModelMedia(t.modelType,String(t.modelId),t.collection||"images")},getUrl(t,n){return xa().getMediaUrl(t,n)},getThumbnailUrl(t){var n,i;return(n=t.conversion_urls)!=null&&n.thumb?t.conversion_urls.thumb:(i=t.conversion_urls)!=null&&i.thumbnail?t.conversion_urls.thumbnail:t.thumbnail_url?t.thumbnail_url:t.original_url||t.url||""},async delete(t){await xa().deleteMedia(t)},async update(t,n){const r=await xa().updateMedia(t,n);if(!r)throw new Error("Update failed: No media returned");return r},configure(t){const n={};t.apiBaseUrl!==void 0&&(n.apiBaseUrl=t.apiBaseUrl),t.isAdmin!==void 0&&(n.isAdmin=t.isAdmin),$o(n)}}}let Mr=null;function rP(){return Mr||(Mr=zd()),Mr}function lP(){Mr=null}const sP={apiBaseUrl:"/media-library-pro"};function wr(){var o;return typeof document>"u"?null:((o=document.querySelector('meta[name="csrf-token"]'))==null?void 0:o.getAttribute("content"))||null}function cs(o){const a={uuid:o.uuid,file_name:o.fileName||o.name,mime_type:`application/${o.extension}`,size:o.size,disk:"public",original_url:o.original_url||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return o.name&&(a.name=o.name),o.original_url&&(a.url=o.original_url),o.preview_url&&(a.thumbnail_url=o.preview_url,a.preview_url=o.preview_url),o.custom_properties&&(a.custom_properties=o.custom_properties),a}function jd(o){const a={...sP,...o};return{name:"spatie",async upload(n,i){const r=new FormData;r.append("file",n),i!=null&&i.collection&&r.append("collection",i.collection),i!=null&&i.customProperties&&r.append("custom_properties",JSON.stringify(i.customProperties));const l={Accept:"application/json",...a.headers},s=a.csrfToken||wr();s&&(l["X-CSRF-TOKEN"]=s);const d={method:"POST",headers:l,body:r,credentials:"include"};i!=null&&i.signal&&(d.signal=i.signal);const c=await fetch(`${a.apiBaseUrl}/uploads`,d);if(!c.ok){const p=await c.json().catch(()=>({message:"Upload failed"}));throw new Error(p.message||`HTTP ${c.status}`)}const u=await c.json(),m=cs(u);return i!=null&&i.onProgress&&i.onProgress(100),{media:m,uuid:u.uuid}},async attach(n,i){},async attachMany(n,i){},async detach(n,i){},async reorder(n,i){},async fetchModelMedia(n){const i={Accept:"application/json",...a.headers},r=a.csrfToken||wr();r&&(i["X-CSRF-TOKEN"]=r);const l=new URLSearchParams;l.append("model_type",n.modelType),l.append("model_id",String(n.modelId)),n.collection&&l.append("collection",n.collection);try{const s=await fetch(`${a.apiBaseUrl}/media?${l}`,{method:"GET",headers:i,credentials:"include"});if(!s.ok)throw new Error(`HTTP ${s.status}`);return(await s.json()).map(cs)}catch{return[]}},getUrl(n,i){var r;if(i){const l=(r=n.conversion_urls)==null?void 0:r[i];if(l)return l}return n.original_url||n.url||""},getThumbnailUrl(n){var i,r;return n.preview_url?n.preview_url:(i=n.conversion_urls)!=null&&i.preview?n.conversion_urls.preview:n.thumbnail_url?n.thumbnail_url:(r=n.conversion_urls)!=null&&r.thumb?n.conversion_urls.thumb:n.original_url||n.url||""},async delete(n){const i={Accept:"application/json",...a.headers},r=a.csrfToken||wr();r&&(i["X-CSRF-TOKEN"]=r);const l=await fetch(`${a.apiBaseUrl}/uploads/${n}`,{method:"DELETE",headers:i,credentials:"include"});if(!l.ok){const s=await l.json().catch(()=>({message:"Delete failed"}));throw new Error(s.message||`HTTP ${l.status}`)}},async update(n,i){const r={Accept:"application/json","Content-Type":"application/json",...a.headers},l=a.csrfToken||wr();l&&(r["X-CSRF-TOKEN"]=l);const s=await fetch(`${a.apiBaseUrl}/uploads/${n}`,{method:"PATCH",headers:r,body:JSON.stringify(i),credentials:"include"});if(!s.ok){const c=await s.json().catch(()=>({message:"Update failed"}));throw new Error(c.message||`HTTP ${s.status}`)}const d=await s.json();return cs(d)},configure(n){Object.assign(a,n)}}}let $r=null;function dP(){return $r||($r=jd()),$r}function cP(){$r=null}function jf(o,a){switch(o){case"mediables":return zd(a);case"spatie":return jd(a);default:throw new Error(`Unknown adapter: ${o}`)}}function Wf(o={}){const{enabled:a=!0,onReorder:t,onDragStart:n,onDragEnd:i,draggingClass:r="is-dragging",dropTargetClass:l="is-drop-target"}=o,s=e.ref({isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null}),d=e.ref(!1);let c=null;function u(w,g,b){a&&("dataTransfer"in w&&w.dataTransfer&&(w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("text/plain",String(b))),c=w.target,c&&c.classList.add(r),s.value={isDragging:!0,dragIndex:b,dropIndex:b,draggedItem:g},d.value=!0,n==null||n(g,b))}function m(w,g){var b;if(!(!a||!s.value.isDragging)&&(w.preventDefault(),s.value.dropIndex!==g)){const R=document.querySelector(`.${l}`);R==null||R.classList.remove(l);const N=(b=w.target)==null?void 0:b.closest("[data-index]");N==null||N.classList.add(l),s.value.dropIndex=g}}function p(){if(!s.value.isDragging)return;const{dragIndex:w,dropIndex:g,draggedItem:b}=s.value;c&&c.classList.remove(r);const R=document.querySelector(`.${l}`);R==null||R.classList.remove(l),w!==null&&g!==null&&w!==g&&b&&(t==null||t({fromIndex:w,toIndex:g,item:b})),h(),i==null||i()}function f(){c&&c.classList.remove(r);const w=document.querySelector(`.${l}`);w==null||w.classList.remove(l),h(),i==null||i()}function h(){s.value={isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null},d.value=!1,c=null}function v(w,g,b){const R=[...w],[N]=R.splice(g,1);return R.splice(b,0,N),R.map((I,x)=>({...I,order:x}))}function k(w,g){return{draggable:a,"data-index":g,onDragstart:b=>u(b,w,g),onDragover:b=>m(b,g),onDragend:()=>p(),onDrop:b=>{b.preventDefault(),p()}}}function y(w){w.key==="Escape"&&s.value.isDragging&&f()}return e.onMounted(()=>{document.addEventListener("keydown",y)}),e.onUnmounted(()=>{document.removeEventListener("keydown",y),f()}),{dragState:s,isDragging:d,startDrag:u,handleDragOver:m,endDrag:p,cancelDrag:f,reorderItems:v,getDragProps:k}}function Bl(o={}){const{initialItems:a=[],modelType:t,modelId:n,collection:i="images",maxItems:r,maxFileSize:l,acceptedMimeTypes:s,sortable:d=!0,disabled:c=!1,rules:u={},adapterType:m="mediables",adapter:p,maxConcurrentUploads:f=3,onChange:h,onUpload:v,onUploadComplete:k,onUploadError:y,onRemove:w,onReorder:g,onError:b,onReadyToSubmitChange:R}=o,N={maxItems:r,maxFileSize:l,acceptedMimeTypes:s,...u},I=p||jf(m),x=e.ref([]),T=e.ref(!1),$=e.ref([]);function S(ye){if(ye.length===0)return[];const xe=ye[0];return"media"in xe&&"clientId"in xe?ye:Ys(ye)}x.value=S(a);const{acceptString:B,canAddFiles:_}=Fd({rules:N}),A=Dd({adapter:I,maxConcurrent:f,rules:N,collection:i,onUploadStart:ye=>{v==null||v(ye)},onUploadComplete:(ye,xe)=>{const Ce=x.value.findIndex(Re=>Re.clientId===ye.id);Ce!==-1&&(x.value[Ce]={...x.value[Ce],media:xe,name:xe.name||xe.file_name,upload:{...ye,status:"completed"}}),k==null||k(xe)},onUploadError:(ye,xe)=>{const Ce=x.value.findIndex(Re=>Re.clientId===ye.id);Ce!==-1&&(x.value[Ce]={...x.value[Ce],upload:{...ye,status:"error",error:xe.message},errors:[{field:"upload",message:xe.message,code:"UPLOAD_ERROR"}]}),y==null||y({file:ye.file,message:xe.message})},onQueueComplete:()=>{h==null||h(x.value)}}),{dragState:P,getDragProps:D,reorderItems:z}=Wf({enabled:d&&!c,onReorder:ye=>{x.value=z(x.value,ye.fromIndex,ye.toIndex),g==null||g(x.value),h==null||h(x.value)}}),M=e.computed(()=>A.isUploading.value),Z=e.computed(()=>!A.isUploading.value&&A.pendingCount.value===0),O=e.computed(()=>r?x.value.length>=r:!1),K=e.computed(()=>Od(x.value)),de=e.computed(()=>x.value.length),Ve=e.computed(()=>r?Math.max(0,r-x.value.length):1/0);e.watch(Z,ye=>{R==null||R(ye)});function ce(ye){x.value=S(ye),h==null||h(x.value)}async function le(ye){if(c)return;const xe=Array.from(ye);if(!_(xe.length,x.value.length)){const rt={field:"count",message:`Maximum ${r} files allowed`,code:"MAX_ITEMS"};$.value=[rt],b==null||b([rt]);return}const Ce=await A.addFiles(xe),Re=x.value.length,ze=Ce.map((rt,at)=>({...rt,order:Re+at}));x.value=[...x.value,...ze],h==null||h(x.value)}function W(ye){c||(ye.upload&&(ye.upload.status==="uploading"||ye.upload.status==="pending")&&A.cancelUpload(ye.clientId),x.value=x.value.filter(xe=>xe.clientId!==ye.clientId),x.value=x.value.map((xe,Ce)=>({...xe,order:Ce})),w==null||w(ye),h==null||h(x.value))}function C(ye){const xe=x.value.find(Ce=>Ce.clientId===ye);xe&&W(xe)}function U(){c||(A.clearAll(),x.value=[],h==null||h(x.value))}function j(ye,xe){c||!d||(x.value=z(x.value,ye,xe),g==null||g(x.value),h==null||h(x.value))}function ie(ye,xe){if(c)return;const Ce=x.value.findIndex(Re=>Re.clientId===ye);Ce!==-1&&(x.value[Ce]={...x.value[Ce],...xe},h==null||h(x.value))}function ue(ye){A.cancelUpload(ye),C(ye)}async function Xe(ye){await A.retryUpload(ye)}async function be(){if(!t||!n)throw new Error("modelType and modelId are required for save()");const ye={modelType:t,modelId:n,collection:i},xe=x.value.filter(Ce=>Ce.media&&!Ce.markedForRemoval).map(Ce=>Ce.media.uuid);T.value=!0;try{await I.attachMany(xe,ye),await I.reorder(ye,xe)}finally{T.value=!1}}async function Ee(){if(!t||!n)throw new Error("modelType and modelId are required for load()");const ye={modelType:t,modelId:n,collection:i};T.value=!0;try{const xe=await I.fetchModelMedia(ye);x.value=Ys(xe),h==null||h(x.value)}finally{T.value=!1}}return e.onMounted(()=>{t&&n&&a.length===0&&Ee().catch(console.error)}),e.onUnmounted(()=>{A.clearAll()}),{items:x,setItems:ce,addFiles:le,removeItem:W,removeItemById:C,clearAll:U,reorderItems:j,updateItem:ie,cancelUpload:ue,retryUpload:Xe,save:be,load:Ee,isLoading:T,isUploading:M,isReadyToSubmit:Z,isAtMaxItems:O,errors:$,dragState:P,getDragProps:D,adapter:I,formValues:K,acceptString:B,count:de,remainingSlots:Ve}}const uP=["aria-disabled"],mP=["accept","multiple","disabled"],pP={class:"media-dropzone__content"},fP={class:"media-dropzone__title"},hP={class:"media-dropzone__subtitle"},vP=["disabled"],gP={key:0,class:"media-dropzone__helper"},bP=e.defineComponent({__name:"MediaCollectionDropzone",props:{accept:{default:"*"},multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxFileSize:{},maxItems:{},title:{default:"Drop files here"},subtitle:{default:"or click to browse"},buttonText:{default:"Select files"}},emits:["files"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.ref(null),l=e.computed(()=>({"media-dropzone":!0,"media-dropzone--drag-over":i.value,"media-dropzone--disabled":t.disabled})),s=e.computed(()=>{const v=[];return t.maxFileSize&&v.push(`Max size: ${Yr(t.maxFileSize)}`),t.maxItems&&t.maxItems>1&&v.push(`Max files: ${t.maxItems}`),v.join(" • ")});function d(v){v.preventDefault(),!t.disabled&&(i.value=!0)}function c(v){v.preventDefault(),i.value=!1}function u(v){v.preventDefault()}function m(v){var y;if(v.preventDefault(),i.value=!1,t.disabled)return;const k=(y=v.dataTransfer)==null?void 0:y.files;k&&k.length>0&&n("files",k)}function p(){var v;t.disabled||(v=r.value)==null||v.click()}function f(v){const k=v.target,y=k.files;y&&y.length>0&&n("files",y),k.value=""}function h(v){(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),p())}return(v,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),role:"button",tabindex:"0","aria-disabled":v.disabled,"aria-label":"Upload files",onClick:p,onKeydown:h,onDragenter:d,onDragleave:c,onDragover:u,onDrop:m},[e.createElementVNode("input",{ref_key:"fileInput",ref:r,type:"file",accept:v.accept,multiple:v.multiple,disabled:v.disabled,class:"media-dropzone__input",onChange:f},null,40,mP),e.createElementVNode("div",pP,[e.renderSlot(v.$slots,"icon",{},()=>[k[0]||(k[0]=e.createElementVNode("svg",{class:"media-dropzone__icon",xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1))],!0),e.createElementVNode("p",fP,[e.renderSlot(v.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(v.title),1)],!0)]),e.createElementVNode("p",hP,[e.renderSlot(v.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(v.subtitle),1)],!0)]),e.createElementVNode("button",{type:"button",class:"media-dropzone__button",disabled:v.disabled,onClick:e.withModifiers(p,["stop"])},[e.renderSlot(v.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(v.buttonText),1)],!0)],8,vP),s.value?(e.openBlock(),e.createElementBlock("p",gP,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)])],42,uP))}}),Wd=$e(bP,[["__scopeId","data-v-b1366c1e"]]),yP=["data-index"],wP={key:0,class:"media-item__drag-handle","aria-label":"Drag to reorder",role:"button",tabindex:"0"},kP={class:"media-item__thumbnail"},_P=["src","alt"],EP={key:1,class:"media-item__file-icon"},SP={key:2,class:"media-item__progress-overlay"},CP={class:"media-item__progress-text"},xP={key:3,class:"media-item__processing-overlay"},VP={key:4,class:"media-item__error-overlay"},NP={class:"media-item__info"},TP=["title"],BP={key:0,class:"media-item__size"},IP={key:1,class:"media-item__error-message"},MP={class:"media-item__actions"},$P=["disabled"],FP=["disabled"],DP=["disabled"],AP=["disabled"],RP=e.defineComponent({__name:"MediaCollectionItem",props:{item:{},adapter:{},disabled:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},showRemove:{type:Boolean,default:!0},showEdit:{type:Boolean,default:!1},index:{default:0}},emits:["remove","edit","retry","cancel"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(!1),r=e.computed(()=>{var g;return(g=t.item.upload)!=null&&g.previewUrl?t.item.upload.previewUrl:t.item.media?t.adapter.getThumbnailUrl(t.item.media):null}),l=e.computed(()=>{var g,b,R;return((g=t.item.upload)==null?void 0:g.status)==="uploading"||((b=t.item.upload)==null?void 0:b.status)==="pending"||((R=t.item.upload)==null?void 0:R.status)==="queued"}),s=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.status)==="processing"}),d=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.status)==="error"||t.item.errors&&t.item.errors.length>0}),c=e.computed(()=>{var g;return(g=t.item.upload)!=null&&g.error?t.item.upload.error:t.item.errors&&t.item.errors.length>0?t.item.errors[0].message:null}),u=e.computed(()=>{var g;return((g=t.item.upload)==null?void 0:g.progress)||0}),m=e.computed(()=>{var g;return t.item.name||((g=t.item.media)==null?void 0:g.file_name)||"Unknown file"}),p=e.computed(()=>{var I,x;const g=((I=t.item.media)==null?void 0:I.size)||((x=t.item.upload)==null?void 0:x.file.size);if(!g)return"";const b=1024,R=["Bytes","KB","MB","GB"],N=Math.floor(Math.log(g)/Math.log(b));return parseFloat((g/Math.pow(b,N)).toFixed(2))+" "+R[N]}),f=e.computed(()=>{var b,R;const g=((b=t.item.media)==null?void 0:b.mime_type)||((R=t.item.upload)==null?void 0:R.file.type);return g==null?void 0:g.startsWith("image/")}),h=e.computed(()=>({"media-item":!0,"media-item--uploading":l.value,"media-item--processing":s.value,"media-item--error":d.value,"media-item--disabled":t.disabled,"media-item--sortable":t.sortable}));function v(){t.disabled||n("remove",t.item)}function k(){t.disabled||n("edit",t.item)}function y(){t.disabled||n("retry",t.item)}function w(){t.disabled||n("cancel",t.item)}return(g,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value),"data-index":g.index,onMouseenter:b[0]||(b[0]=R=>i.value=!0),onMouseleave:b[1]||(b[1]=R=>i.value=!1)},[g.sortable&&!g.disabled?(e.openBlock(),e.createElementBlock("div",wP,[...b[2]||(b[2]=[e.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ff81c9ec><circle cx="9" cy="5" r="1" data-v-ff81c9ec></circle><circle cx="9" cy="12" r="1" data-v-ff81c9ec></circle><circle cx="9" cy="19" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="5" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="12" r="1" data-v-ff81c9ec></circle><circle cx="15" cy="19" r="1" data-v-ff81c9ec></circle></svg>',1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",kP,[r.value&&f.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.value,alt:m.value,class:"media-item__image"},null,8,_P)):(e.openBlock(),e.createElementBlock("div",EP,[...b[3]||(b[3]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e.createElementVNode("polyline",{points:"14 2 14 8 20 8"})],-1)])])),l.value?(e.openBlock(),e.createElementBlock("div",SP,[e.createElementVNode("div",{class:"media-item__progress-bar",style:e.normalizeStyle({width:`${u.value}%`})},null,4),e.createElementVNode("span",CP,e.toDisplayString(u.value)+"%",1)])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",xP,[...b[4]||(b[4]=[e.createElementVNode("div",{class:"media-item__spinner","aria-label":"Processing"},null,-1)])])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",VP,[...b[5]||(b[5]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),e.createElementVNode("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),e.createElementVNode("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})],-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",NP,[e.createElementVNode("span",{class:"media-item__name",title:m.value},e.toDisplayString(m.value),9,TP),p.value?(e.openBlock(),e.createElementBlock("span",BP,e.toDisplayString(p.value),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("span",IP,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",MP,[l.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-item__action media-item__action--cancel",disabled:g.disabled,"aria-label":"Cancel upload",onClick:w},[...b[6]||(b[6]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,$P)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-item__action media-item__action--retry",disabled:g.disabled,"aria-label":"Retry upload",onClick:y},[...b[7]||(b[7]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("polyline",{points:"23 4 23 10 17 10"}),e.createElementVNode("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})],-1)])],8,FP)):e.createCommentVNode("",!0),g.showEdit&&g.item.media&&!l.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-item__action media-item__action--edit",disabled:g.disabled,"aria-label":"Edit",onClick:k},[...b[8]||(b[8]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),e.createElementVNode("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})],-1)])],8,DP)):e.createCommentVNode("",!0),g.showRemove?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-item__action media-item__action--remove",disabled:g.disabled,"aria-label":"Remove",onClick:v},[...b[9]||(b[9]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("polyline",{points:"3 6 5 6 21 6"}),e.createElementVNode("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])],8,AP)):e.createCommentVNode("",!0)])],42,yP))}}),Hd=$e(RP,[["__scopeId","data-v-ff81c9ec"]]),LP=["aria-label"],PP=["draggable","data-index","onDragstart","onDragover","onDragend","onDrop"],UP={key:0,class:"media-collection__footer"},OP={class:"media-collection__count"},zP={key:0},jP={key:0,class:"media-collection__uploading"},WP=["name","value"],HP=["name","value"],ZP=["name","value"],GP=["name","value"],XP={key:3,class:"media-collection__errors",role:"alert","aria-live":"polite"},KP=e.defineComponent({__name:"MediaCollection",props:{modelValue:{default:()=>[]},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxItems:{},maxFileSize:{},acceptedMimeTypes:{},sortable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","reorder","is-ready-to-submit-change","validation-error"],setup(o,{emit:a}){const t=o,n=a,i={initialItems:t.modelValue,modelType:t.modelType,modelId:t.modelId,collection:t.collection,maxItems:t.maxItems,maxFileSize:t.maxFileSize,acceptedMimeTypes:t.acceptedMimeTypes,sortable:t.sortable,disabled:t.disabled,rules:t.rules,adapterType:t.adapter,onChange:M=>{n("update:modelValue",M),n("change",M)},onUpload:M=>{n("upload",M)},onUploadComplete:M=>{n("upload-complete",M)},onUploadError:M=>{n("upload-error",M)},onRemove:M=>{n("remove",M)},onReorder:M=>{n("reorder",M)},onError:M=>{n("validation-error",M)},onReadyToSubmitChange:M=>{n("is-ready-to-submit-change",M)}},{items:r,setItems:l,addFiles:s,removeItem:d,reorderItems:c,cancelUpload:u,retryUpload:m,isLoading:p,isUploading:f,isAtMaxItems:h,errors:v,dragState:k,getDragProps:y,adapter:w,formValues:g,acceptString:b,count:R,remainingSlots:N}=Bl(i);e.provide("mediaAdapter",w),e.provide("mediaCollection",{items:r,addFiles:s,removeItem:d,reorderItems:c}),e.watch(()=>t.modelValue,M=>{M!==r.value&&l(M)},{deep:!0});const I=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),x=e.computed(()=>({"media-collection":!0,"media-collection--disabled":t.disabled,"media-collection--readonly":t.readonly,"media-collection--loading":p.value,"media-collection--has-items":r.value.length>0,"media-collection--dragging":k.value.isDragging}));function T(M){s(M)}function $(M){d(M)}function S(M){m(M.clientId)}function B(M){u(M.clientId)}function _(M){}function A(M,Z,O){if(!t.sortable||t.disabled)return;const K=y(Z,O);K.onDragstart&&K.onDragstart(M)}function P(M,Z){if(!t.sortable||t.disabled)return;M.preventDefault();const O=r.value[Z],K=y(O,Z);K.onDragover&&K.onDragover(M)}function D(M,Z){const O=y(M,Z);O.onDragend&&O.onDragend()}function z(M,Z){M.preventDefault();const O=r.value[Z],K=y(O,Z);K.onDrop&&K.onDrop(M)}return(M,Z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(x.value)},[e.renderSlot(M.$slots,"dropzone",{addFiles:e.unref(s)},()=>[I.value?(e.openBlock(),e.createBlock(Wd,{key:0,accept:e.unref(b),multiple:M.maxItems!==1,disabled:M.disabled,"max-file-size":M.maxFileSize,"max-items":e.unref(N),onFiles:T},null,8,["accept","multiple","disabled","max-file-size","max-items"])):e.createCommentVNode("",!0)],!0),e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-collection__list",role:"list","aria-label":`${e.unref(R)} media items`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(O,K)=>e.renderSlot(M.$slots,"item",{key:O.clientId,item:O,index:K,remove:()=>$(O)},()=>[e.createElementVNode("div",{class:e.normalizeClass(["media-collection__item-wrapper",{"media-collection__item-wrapper--drag-over":e.unref(k).dropIndex===K}]),draggable:M.sortable&&!M.disabled,"data-index":K,onDragstart:de=>A(de,O,K),onDragover:de=>P(de,K),onDragend:de=>D(O,K),onDrop:de=>z(de,K)},[e.createVNode(Hd,{item:O,adapter:e.unref(w),disabled:M.disabled,sortable:M.sortable,"show-remove":!M.readonly,"show-edit":!1,index:K,onRemove:$,onRetry:S,onCancel:B,onEdit:_},null,8,["item","adapter","disabled","sortable","show-remove","index"])],42,PP)],!0)),128))],8,LP)):I.value?e.createCommentVNode("",!0):e.renderSlot(M.$slots,"empty",{key:1},()=>[Z[0]||(Z[0]=e.createElementVNode("div",{class:"media-collection__empty"},[e.createElementVNode("p",null,"No files uploaded")],-1))],!0),e.renderSlot(M.$slots,"footer",{count:e.unref(R),isUploading:e.unref(f)},()=>[e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",UP,[e.createElementVNode("span",OP,[e.createTextVNode(e.toDisplayString(e.unref(R))+" "+e.toDisplayString(e.unref(R)===1?"file":"files")+" ",1),M.maxItems?(e.openBlock(),e.createElementBlock("span",zP," / "+e.toDisplayString(M.maxItems)+" max",1)):e.createCommentVNode("",!0)]),e.unref(f)?(e.openBlock(),e.createElementBlock("span",jP," Uploading... ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0),M.generateFormFields?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}`,type:"hidden",name:`${M.name}[${K}][uuid]`,value:O.uuid},null,8,WP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}-name`,type:"hidden",name:`${M.name}[${K}][name]`,value:O.name},null,8,HP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock("input",{key:`${M.name}-${O.uuid}-order`,type:"hidden",name:`${M.name}[${K}][order]`,value:O.order},null,8,ZP))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(O,K)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${M.name}-${O.uuid}-props`},[O.custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${M.name}[${K}][custom_properties]`,value:JSON.stringify(O.custom_properties)},null,8,GP)):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",XP,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),O=>(e.openBlock(),e.createElementBlock("p",{key:O.code||O.message,class:"media-collection__error"},e.toDisplayString(O.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),JP=$e(KP,[["__scopeId","data-v-10a5bfff"]]);function Zd(o={}){const{initialItem:a,onChange:t,onReplace:n,onUpload:i,onUploadComplete:r,onUploadError:l,onRemove:s,onError:d,onReadyToSubmitChange:c,...u}=o,p={...u,initialItems:a?[a]:[],maxItems:1,sortable:!1,onChange:I=>{t==null||t(I[0]||null)},onUpload:i,onUploadComplete:r,onUploadError:l,onRemove:s,onError:d,onReadyToSubmitChange:c},f=Bl(p),h=e.computed(()=>f.items.value[0]||null),v=e.computed(()=>h.value!==null),k=e.computed(()=>f.formValues.value[0]||null);function y(I){I===null?f.clearAll():f.setItems([I])}async function w(I){const x=h.value;x&&f.removeItem(x),await f.addFiles([I])}function g(){h.value&&f.removeItem(h.value)}async function b(I){const x=h.value;x&&f.removeItem(x),await f.addFiles([I]);const T=f.items.value[0];T&&(n==null||n(x,T))}function R(){var I;(I=h.value)!=null&&I.upload&&f.cancelUpload(h.value.clientId)}async function N(){var I,x;((x=(I=h.value)==null?void 0:I.upload)==null?void 0:x.status)==="error"&&await f.retryUpload(h.value.clientId)}return{item:h,setItem:y,addFile:w,removeItem:g,replaceItem:b,cancelUpload:R,retryUpload:N,save:f.save,load:f.load,isLoading:f.isLoading,isUploading:f.isUploading,isReadyToSubmit:f.isReadyToSubmit,hasItem:v,errors:f.errors,adapter:f.adapter,formValue:k,acceptString:f.acceptString}}const qP=["accept","disabled"],YP={class:"media-attachment__preview"},QP=["name","value"],eU=["name","value"],tU=["name","value"],aU=["name","value"],nU={key:4,class:"media-attachment__errors",role:"alert","aria-live":"polite"},oU=e.defineComponent({__name:"MediaAttachment",props:{modelValue:{default:null},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxFileSize:{},acceptedMimeTypes:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0},showReplaceButton:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","replace","is-ready-to-submit-change","validation-error"],setup(o,{emit:a}){const t=o,n=a,i=e.ref(null),r={initialItem:t.modelValue,modelType:t.modelType,modelId:t.modelId,collection:t.collection,maxFileSize:t.maxFileSize,acceptedMimeTypes:t.acceptedMimeTypes,disabled:t.disabled,rules:t.rules,adapterType:t.adapter,onChange:S=>{n("update:modelValue",S),n("change",S)},onUpload:S=>{n("upload",S)},onUploadComplete:S=>{n("upload-complete",S)},onUploadError:S=>{n("upload-error",S)},onRemove:S=>{n("remove",S)},onReplace:(S,B)=>{n("replace",B)},onError:S=>{n("validation-error",S)},onReadyToSubmitChange:S=>{n("is-ready-to-submit-change",S)}},{item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,hasItem:h,errors:v,adapter:k,formValue:y,acceptString:w}=Zd(r);e.provide("mediaAdapter",k),e.watch(()=>t.modelValue,S=>{S!==l.value&&s(S)},{deep:!0});const g=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),b=e.computed(()=>({"media-attachment":!0,"media-attachment--disabled":t.disabled,"media-attachment--readonly":t.readonly,"media-attachment--loading":f.value,"media-attachment--has-item":h.value}));function R(S){S.length>0&&d(S[0])}function N(){var S;(S=i.value)==null||S.click()}function I(S){const B=S.target,_=B.files;_&&_.length>0&&u(_[0]),B.value=""}function x(S){c()}function T(S){p()}function $(S){m()}return(S,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[e.createElementVNode("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:e.unref(w),disabled:S.disabled,class:"media-attachment__hidden-input",onChange:I},null,40,qP),g.value?e.renderSlot(S.$slots,"dropzone",{key:0,addFile:e.unref(d)},()=>[e.createVNode(Wd,{accept:e.unref(w),multiple:!1,disabled:S.disabled,"max-file-size":S.maxFileSize,onFiles:R},null,8,["accept","disabled","max-file-size"])],!0):e.unref(h)&&e.unref(l)?e.renderSlot(S.$slots,"preview",{key:1,item:e.unref(l),remove:e.unref(c),replace:N},()=>[e.createElementVNode("div",YP,[e.createVNode(Hd,{item:e.unref(l),adapter:e.unref(k),disabled:S.disabled,sortable:!1,"show-remove":!S.readonly,"show-edit":!1,onRemove:x,onRetry:T,onCancel:$},null,8,["item","adapter","disabled","show-remove"]),S.showReplaceButton&&!S.readonly&&!S.disabled&&e.unref(l).media?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-attachment__replace-button",onClick:N},[...B[0]||(B[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.createElementVNode("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),e.createElementVNode("polyline",{points:"17 8 12 3 7 8"}),e.createElementVNode("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),e.createTextVNode(" Replace ",-1)])])):e.createCommentVNode("",!0)])],!0):e.renderSlot(S.$slots,"empty",{key:2},()=>[B[1]||(B[1]=e.createElementVNode("div",{class:"media-attachment__empty"},[e.createElementVNode("p",null,"No file selected")],-1))],!0),S.generateFormFields&&e.unref(y)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("input",{type:"hidden",name:`${S.name}[uuid]`,value:e.unref(y).uuid},null,8,QP),e.createElementVNode("input",{type:"hidden",name:`${S.name}[name]`,value:e.unref(y).name},null,8,eU),e.createElementVNode("input",{type:"hidden",name:`${S.name}[order]`,value:e.unref(y).order},null,8,tU),e.unref(y).custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${S.name}[custom_properties]`,value:JSON.stringify(e.unref(y).custom_properties)},null,8,aU)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",nU,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),_=>(e.openBlock(),e.createElementBlock("p",{key:_.code||_.message,class:"media-attachment__error"},e.toDisplayString(_.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),iU=$e(oU,[["__scopeId","data-v-26911174"]]),Hf={dropzone:{title:"Drop files here",subtitle:"or click to browse",button:"Select files"},item:{remove:"Remove",replace:"Replace",edit:"Edit",download:"Download"},errors:{maxItems:"Maximum {max} files allowed",maxFileSize:"File exceeds maximum size of {max}",invalidType:"File type not allowed",uploadFailed:"Upload failed"},status:{uploading:"Uploading...",processing:"Processing...",completed:"Complete",error:"Error"}},rU=e.defineComponent({__name:"MediaCollectionProvider",props:{modelValue:{default:()=>[]},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxItems:{},maxFileSize:{},acceptedMimeTypes:{},sortable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","reorder","is-ready-to-submit-change","validation-error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r={initialItems:n.modelValue,modelType:n.modelType,modelId:n.modelId,collection:n.collection,maxItems:n.maxItems,maxFileSize:n.maxFileSize,acceptedMimeTypes:n.acceptedMimeTypes,sortable:n.sortable,disabled:n.disabled,rules:n.rules,adapterType:n.adapter,onChange:S=>{i("update:modelValue",S),i("change",S)},onUpload:S=>{i("upload",S)},onUploadComplete:S=>{i("upload-complete",S)},onUploadError:S=>{i("upload-error",S)},onRemove:S=>{i("remove",S)},onReorder:S=>{i("reorder",S)},onError:S=>{i("validation-error",S)},onReadyToSubmitChange:S=>{i("is-ready-to-submit-change",S)}},{items:l,setItems:s,addFiles:d,removeItem:c,reorderItems:u,updateItem:m,cancelUpload:p,retryUpload:f,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:y,errors:w,dragState:g,getDragProps:b,adapter:R,formValues:N,acceptString:I}=Bl(r);e.provide("mediaAdapter",R),e.provide("mediaCollection",{items:l,addFiles:d,removeItem:c,reorderItems:u}),e.watch(()=>n.modelValue,S=>{S!==l.value&&s(S)},{deep:!0});const x=e.computed(()=>({...Hf,...n.labels})),T=e.computed(()=>({accept:I.value,multiple:n.maxItems!==1,disabled:n.disabled||n.readonly||y.value})),$=e.computed(()=>({items:l.value,isLoading:h.value,isUploading:v.value,isReadyToSubmit:k.value,isAtMaxItems:y.value,errors:w.value,addFiles:d,removeItem:c,reorderItems:u,clearAll:()=>{l.value.forEach(S=>c(S))},cancelUpload:p,retryUpload:f,labels:x.value,dropzoneProps:T.value}));return a({items:l,addFiles:d,removeItem:c,reorderItems:u,updateItem:m,cancelUpload:p,retryUpload:f,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:y,errors:w,dragState:g,getDragProps:b,adapter:R,formValues:N,acceptString:I}),(S,B)=>e.renderSlot(S.$slots,"default",e.normalizeProps(e.guardReactiveProps($.value)))}}),lU=e.defineComponent({__name:"MediaAttachmentProvider",props:{modelValue:{default:null},name:{default:"media"},modelType:{},modelId:{},collection:{default:"images"},maxFileSize:{},acceptedMimeTypes:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},rules:{},adapter:{default:"mediables"},labels:{},showUploadZone:{type:Boolean,default:!0},generateFormFields:{type:Boolean,default:!0},showReplaceButton:{type:Boolean,default:!0}},emits:["update:modelValue","change","upload","upload-complete","upload-error","remove","replace","is-ready-to-submit-change","validation-error"],setup(o,{expose:a,emit:t}){const n=o,i=t,r={initialItem:n.modelValue,modelType:n.modelType,modelId:n.modelId,collection:n.collection,maxFileSize:n.maxFileSize,acceptedMimeTypes:n.acceptedMimeTypes,disabled:n.disabled,rules:n.rules,adapterType:n.adapter,onChange:x=>{i("update:modelValue",x),i("change",x)},onUpload:x=>{i("upload",x)},onUploadComplete:x=>{i("upload-complete",x)},onUploadError:x=>{i("upload-error",x)},onRemove:x=>{i("remove",x)},onReplace:(x,T)=>{i("replace",T)},onError:x=>{i("validation-error",x)},onReadyToSubmitChange:x=>{i("is-ready-to-submit-change",x)}},{item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:y,adapter:w,formValue:g,acceptString:b}=Zd(r);e.provide("mediaAdapter",w),e.watch(()=>n.modelValue,x=>{x!==l.value&&s(x)},{deep:!0});const R=e.computed(()=>({...Hf,...n.labels})),N=e.computed(()=>({accept:b.value,multiple:!1,disabled:n.disabled||n.readonly||k.value})),I=e.computed(()=>({item:l.value,hasItem:k.value,isLoading:f.value,isUploading:h.value,isReadyToSubmit:v.value,errors:y.value,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,labels:R.value,dropzoneProps:N.value}));return a({item:l,setItem:s,addFile:d,removeItem:c,replaceItem:u,cancelUpload:m,retryUpload:p,isLoading:f,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:y,adapter:w,formValue:g,acceptString:b}),(x,T)=>e.renderSlot(x.$slots,"default",e.normalizeProps(e.guardReactiveProps(I.value)))}}),sU=["name","value"],dU=["name","value"],cU=["name","value"],uU=["name","value"],mU=e.defineComponent({__name:"MediaHiddenFields",props:{items:{default:()=>[]},item:{default:null},name:{default:"media"},format:{default:"mediables"}},setup(o){const a=o,t=e.computed(()=>a.item?[a.item]:a.items),n=e.computed(()=>Od(t.value));function i(s,d){var u;const c=((u=n.value[s])==null?void 0:u.uuid)||"";return`${a.name}[${c}][${d}]`}function r(s,d){return`${a.name}[${s}][${d}]`}function l(s,d){return a.format==="spatie"?i(s,d):r(s,d)}return(s,d)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c.uuid},[e.createElementVNode("input",{type:"hidden",name:l(u,"uuid"),value:c.uuid},null,8,sU),e.createElementVNode("input",{type:"hidden",name:l(u,"name"),value:c.name},null,8,dU),e.createElementVNode("input",{type:"hidden",name:l(u,"order"),value:c.order},null,8,cU),c.custom_properties&&Object.keys(c.custom_properties).length>0?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:l(u,"custom_properties"),value:JSON.stringify(c.custom_properties)},null,8,uU)):e.createCommentVNode("",!0)],64))),128))}}),pU=["data-testid"],fU=["data-testid"],hU=["id"],vU=["value","maxlength","disabled","aria-labelledby","placeholder","data-testid","onInput"],gU=e.defineComponent({__name:"MediaAttachmentMetadataFields",props:{items:{},disabled:{type:Boolean,default:!1},label:{default:"Caption"},placeholder:{default:"Add an optional caption"},maxLength:{default:500},testIdPrefix:{default:"media-attachment-metadata"},getItemLabel:{type:Function,default:(o,a)=>`${o.type==="video"?"video":"photo"} ${a+1}`}},emits:["update:items"],setup(o,{emit:a}){const t=o,n=a;function i(r,l){const s=l.target;s instanceof HTMLInputElement&&n("update:items",t.items.map((d,c)=>c!==r?d:{...d,caption:s.value===""?null:s.value}))}return(r,l)=>r.items.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"media-attachment-metadata-fields","data-testid":r.testIdPrefix},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,(s,d)=>(e.openBlock(),e.createElementBlock("div",{key:s._key??s.id??`${s.url}:${d}`,class:"media-attachment-metadata-fields__row","data-testid":`${r.testIdPrefix}-${d}`},[e.createElementVNode("p",{id:`${r.testIdPrefix}-label-${d}`,class:"media-attachment-metadata-fields__label"},e.toDisplayString(r.label)+" for "+e.toDisplayString(r.getItemLabel(s,d)),9,hU),e.createElementVNode("input",{value:s.caption??"",type:"text",class:"media-attachment-metadata-fields__input",maxlength:r.maxLength,disabled:r.disabled,"aria-labelledby":`${r.testIdPrefix}-label-${d}`,placeholder:r.placeholder,"data-testid":`input-${r.testIdPrefix}-${d}`,onInput:c=>i(d,c)},null,40,vU)],8,fU))),128))],8,pU)):e.createCommentVNode("",!0)}}),bU=$e(gU,[["__scopeId","data-v-a153768a"]]);exports.AlbumBrowser=lf;exports.AlbumManager=Z5;exports.AlbumMediaGrid=oF;exports.AlbumNavRail=ZL;exports.AlbumTree=Tl;exports.ArrayBufferTarget=ld;exports.ExistingMediaSelector=kb;exports.ImageEditor=nm;exports.ImageEditorModal=om;exports.LiveStreamManager=s5;exports.ManagedMediaGallery=Yh;exports.MediaAlbumInlineCreate=Id;exports.MediaAlbumPickerModal=Tf;exports.MediaAlbumUnavailableState=sf;exports.MediaAttachment=iU;exports.MediaAttachmentMetadataFields=bU;exports.MediaBulkActionBar=Rd;exports.MediaCollection=JP;exports.MediaCollectionDropzone=Wd;exports.MediaCollectionItem=Hd;exports.MediaEmptyState=Of;exports.MediaFilterChips=Rf;exports.MediaInspectorPanel=Af;exports.MediaLibraryPicker=Nf;exports.MediaLibraryPickerModal=M6;exports.MediaLibraryShell=ML;exports.MediaLibraryToolbar=Bf;exports.MediaLibraryWorkspace=Uf;exports.MediaManagementView=Pf;exports.MediaPreviewSheet=Md;exports.MediaSelectionTray=nP;exports.MediaShortcutHelp=If;exports.MediaSourceSheet=hf;exports.MediaThumbnailCell=gf;exports.MediaTrashWorkspace=zf;exports.MediaUploadSheet=vf;exports.MediaUsageList=$f;exports.MediaVariantStrip=Ff;exports.MediaWorkspace=Xh;exports.ModelMediaManager=jg;exports.Muxer=Vm;exports.RequiresConfirmationError=Ld;exports.VideoEditor=Qp;exports.VideoEditorDialog=H4;exports.VideoEditorSimple=hI;exports.VideoExportPanel=XM;exports.VideoJobClient=Cl;exports.VideoPlayer=nf;exports.VideoTimeline=PI;exports.VideoToolsPanel=NM;exports.VideoUploader=D3;exports.VirtualMediaGrid=bf;exports._sfc_main=rU;exports._sfc_main$1=lU;exports._sfc_main$2=mU;exports.applyTemporaryMediaStoreConfig=Ku;exports.configureAlbumStore=of;exports.configureMediaStore=$o;exports.createAdapter=jf;exports.createEmptyEditorState=yh;exports.createImageEditor=iP;exports.createMediablesAdapter=zd;exports.createSpatieAdapter=jd;exports.deserializeEditorState=bh;exports.formatFileSize=Yr;exports.fromMediaArray=Ys;exports.getFileExtension=yf;exports.getImageDimensions=wf;exports.getMediablesAdapter=rP;exports.getSpatieAdapter=dP;exports.isImageFile=$d;exports.normalizeEditorState=Qs;exports.normalizeRecipeForServerRender=x4;exports.recipeHasServerRenderableEdits=C4;exports.recipeHasUnsupportedServerEdits=af;exports.resetMediablesAdapter=lP;exports.resetSpatieAdapter=cP;exports.restoreAlbumStoreConfig=b5;exports.restoreMediaStoreConfig=Xu;exports.serializeEditorState=Zu;exports.snapshotAlbumStoreConfig=g5;exports.snapshotMediaStoreConfig=Gu;exports.toFormValues=Od;exports.useAdminMediaStore=Ju;exports.useAlbumDragDrop=rf;exports.useAlbumStore=Vl;exports.useAlbums=Nl;exports.useGlobalImageEditor=oP;exports.useImageEditorModal=Ud;exports.useMediaAttachment=Zd;exports.useMediaCollection=Bl;exports.useMediaDeletion=Lf;exports.useMediaDragSort=Wf;exports.useMediaLibraryPickerController=Vf;exports.useMediaLibraryQuery=Ad;exports.useMediaLibrarySession=Ef;exports.useMediaLibraryStateMachine=Sf;exports.useMediaLibraryTelemetry=Cf;exports.useMediaLibraryUploads=Mf;exports.useMediaSelection=tl;exports.useMediaStore=xa;exports.useMediaTrash=Pd;exports.useMediaUploadQueue=Dd;exports.useMediaValidation=Fd;exports.validateFile=kf;
357
+ //# sourceMappingURL=index-DwhIlbEz.cjs.map