@codingfactory/mediables-vue 2.10.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PixiFrameExporter-_vGMbqFu.js → PixiFrameExporter-D9swI3PO.js} +2 -2
- package/dist/{PixiFrameExporter-_vGMbqFu.js.map → PixiFrameExporter-D9swI3PO.js.map} +1 -1
- package/dist/{PixiFrameExporter-YTbrR4NY.cjs → PixiFrameExporter-apC6SqIv.cjs} +2 -2
- package/dist/{PixiFrameExporter-YTbrR4NY.cjs.map → PixiFrameExporter-apC6SqIv.cjs.map} +1 -1
- package/dist/{index-CRzkO6MD.js → index-BFYtEc-Y.js} +6 -3
- package/dist/{index-CRzkO6MD.js.map → index-BFYtEc-Y.js.map} +1 -1
- package/dist/{index-BCai7yWf.cjs → index-CAPdRZVb.cjs} +3 -3
- package/dist/{index-BCai7yWf.cjs.map → index-CAPdRZVb.cjs.map} +1 -1
- package/dist/mediables-vue.cjs +1 -1
- package/dist/mediables-vue.mjs +1 -1
- package/dist/style.css +1 -1
- package/dist/types/mediaLibraryPicker.d.ts +12 -1
- package/package.json +1 -1
|
@@ -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=n,document.head.appendChild(a)}class P2{constructor({filters:a=[],callbacks:t={}}){L2(),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=it("div",{className:"mvfp"}),this._catRow=it("div",{className:"mvfp-row"}),this._root.appendChild(this._catRow),this._filterRow=it("div",{className:"mvfp-row"}),this._root.appendChild(this._filterRow),this._activeRow=it("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,o)=>{this._activeFilters.set(o,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 o=t.category||"other";a.has(o)||a.set(o,o.charAt(0).toUpperCase()+o.slice(1))}return a}_renderCategories(){this._catRow.innerHTML="",this._getCategories().forEach((t,o)=>{const i=it("div",{className:`mvfp-cat${this._selectedCategory===o?" active":""}`,onClick:()=>{this._selectedCategory=o,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),o=this._selectedFilterId===a.id,i=it("div",{className:`mvfp-filter${t?" active":""}${o?" selected":""}`,onClick:()=>this._selectFilter(a)});if(t){const r=it("div",{className:"mvfp-check",onClick:s=>{s.stopPropagation(),this._removeFilter(a.id)}});r.innerHTML="✓",i.appendChild(r)}i.appendChild(it("span",{},a.name)),this._filterRow.appendChild(i)}}_selectFilter(a){var t,o,i,r;this._selectedFilterId=a.id,this._activeFilters.has(a.id)||(o=(t=this._cb).onApplyFilter)==null||o.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,o;(o=(t=this._cb).onRemoveFilter)==null||o.call(t,a),this._selectedFilterId===a&&(this._selectedFilterId=null)}_renderActiveChips(){if(this._activeRow.innerHTML="",this._activeFilters.size===0){this._activeRow.appendChild(it("div",{className:"mvfp-placeholder"},"No active filters"));return}this._activeFilters.forEach((a,t)=>{const o=this._filters.find(d=>d.id===t);if(!o)return;const i=this._drawerOpen&&this._drawerFilterId===t,r=it("div",{className:`mvfp-achip${i?" selected":""}`}),s=it("span",{style:{cursor:"pointer"},onClick:()=>{this._selectedFilterId=t,this._renderFilters(),o.params&&o.params.length>0&&this.openDrawer(t)}},o.name),l=it("button",{className:"mvfp-achip-x","aria-label":`Remove ${o.name}`,onClick:d=>{d.stopPropagation(),this._removeFilter(t)}});l.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(s),r.appendChild(l),this._activeRow.appendChild(r)})}_buildDrawer(){this._drawer=it("div",{className:"mvfp-drawer"});const a=it("div",{className:"mvfp-drawer-hdr"});this._drawerTitle=it("span",{className:"mvfp-drawer-title"},"Filter");const t=it("div",{className:"mvfp-drawer-actions"});t.appendChild(it("button",{className:"mvfp-drawer-btn",onClick:()=>this._resetDrawerFilter()},"Reset")),t.appendChild(it("button",{className:"mvfp-drawer-btn danger",onClick:()=>{this._drawerFilterId&&(this._removeFilter(this._drawerFilterId),this.closeDrawer())}},"Remove"));const o=it("button",{className:"mvfp-drawer-close","aria-label":"Close",onClick:()=>this.closeDrawer()});o.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(o),a.appendChild(this._drawerTitle),a.appendChild(t),this._drawer.appendChild(a),this._drawerBody=it("div",{className:"mvfp-drawer-body"}),this._drawer.appendChild(this._drawerBody)}openDrawer(a){const t=this._filters.find(o=>o.id===a);if(t&&(this._drawerFilterId=a,this._drawerTitle.textContent=t.name,this._renderDrawerControls(t),this._renderActiveChips(),!this._drawerOpen)){this._drawerOpen=!0;const o=this._root.offsetHeight;o>0&&(this._drawer.style.height=o+"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(it("div",{className:"mvfp-no-params"},"No adjustable parameters"));return}const t=this._activeFilters.get(a.id),o=(t==null?void 0:t.params)||{};for(const i of a.params){const r=o[i.id]??i.default,s=it("div",{className:"mvfp-ctl"}),l=it("label",{className:"mvfp-ctl-label"},i.label||i.id);s.appendChild(l);const d=i.type||"slider";if(d==="slider"||d==="range"){const c=it("div",{className:"mvfp-slider-row"}),u=it("span",{className:"mvfp-range-val"},kc(r)),f=it("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:m=>{var h,v;const p=parseFloat(m.target.value);u.textContent=kc(p),(v=(h=this._cb).onUpdateParam)==null||v.call(h,a.id,i.id,p)}});c.appendChild(f),c.appendChild(u),s.appendChild(c)}else if(d==="toggle"||d==="checkbox"){const c=it("div",{className:"mvfp-toggle-row"}),u=it("input",{type:"checkbox",checked:r?"checked":void 0,onChange:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.checked)}});c.appendChild(u),s.appendChild(c)}else if(d==="color"){const c=it("div",{className:"mvfp-color-row"}),u=it("input",{type:"color",className:"mvfp-color-input",value:typeof r=="string"?r:"#000000",onInput:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.value)}});c.appendChild(u),s.appendChild(c)}else if(d==="select"||d==="dropdown"){const c=it("div",{className:"mvfp-select-row"}),u=it("select",{className:"mvfp-select",onChange:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.value)}});for(const f of i.options||[]){const m=it("option",{value:f.value},f.label||String(f.value));f.value===r&&(m.selected=!0),u.appendChild(m)}c.appendChild(u),s.appendChild(c)}this._drawerBody.appendChild(s)}}_resetDrawerFilter(){var t,o;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)(o=(t=this._cb).onUpdateParam)==null||o.call(t,this._drawerFilterId,i.id,i.default);this._renderDrawerControls(a)}}}const O2=[200,500,1e3];function U2(n){return{"360p":[640,360],"480p":[854,480],"720p":[1280,720],"1080p":[1920,1080],"1440p":[2560,1440],"2160p":[3840,2160]}[n??""]??[1920,1080]}function Ec(n){if(!n)return null;const a=n.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 z2(n){return new Promise(a=>{window.setTimeout(a,n)})}async function xc(){return await Promise.resolve().then(()=>require("./PixiFrameExporter-YTbrR4NY.cjs"))}function Sc(n,a=0){var r;const t=n.timeline[0],o=t?Math.max(0,t.sourceIn):0,i=(t==null?void 0:t.sourceOut)??((r=n.source)==null?void 0:r.duration)??a;return Math.max(0,i-o)}function km(n){let a=null;return{canExportClientSide:async()=>{try{const{isWebCodecsSupported:i}=await xc();return i()}catch{return!1}},renderRecipeWithPixi:async(i,r,s)=>{var p,h,v,k;const l=i.timeline[0],d=l?Math.max(0,l.sourceIn):0,c=l?l.sourceOut:void 0,[u,f]=U2((r==null?void 0:r.quality)??((p=i.output)==null?void 0:p.quality)),m=((h=i.output)==null?void 0:h.fps)||30;n.setPlaying(!1),n.forcePixiPreview.value=!0,await e.nextTick();try{let V=!1;for(const D of O2){await z2(D);const P=n.getPreviewRef();if(!(!P||typeof P.captureFrameAt!="function")){if(typeof P.ensureReadyForCapture=="function"){if(V=await P.ensureReadyForCapture(),V)break;continue}V=!0;break}}const B=n.getPreviewRef();if(!B||typeof B.captureFrameAt!="function")throw new Error("PIXI preview not available for export. Ensure the preview is mounted.");if(!V)throw new Error("PIXI preview not ready for frame capture after retries. The video may still be loading.");const{exportWithPixiFrames:_,isWebCodecsSupported:g}=await xc();if(!g())throw new Error("WebCodecs is not supported in this browser. Export requires Chrome 94+ or equivalent.");a=new AbortController;const E={width:u,height:f,fps:m,trimStart:d,signal:a.signal};c!==void 0&&(E.trimEnd=c),s&&(E.onProgress=s);const S=n.getSourceUrl();S!==""&&(E.sourceUrl=S);const N=Ec(B)??((v=i.source)==null?void 0:v.duration)??c??0,C=await _({captureFrameAt:D=>{var P;return((P=B.captureFrameAt)==null?void 0:P.call(B,D))??Promise.resolve(null)},duration:{value:N}},E),A=new File([C],`edited-video-${Date.now()}.mp4`,{type:"video/mp4"}),j=Ec(B),x=((k=i.source)==null?void 0:k.duration)??0,y=Math.max(0,(c??j??x)-d);return{file:A,recipe:i,meta:{duration:y,width:u,height:f,format:"mp4",sizeBytes:A.size,size_bytes:A.size}}}finally{n.forcePixiPreview.value=!1,a=null}},cancelClientExport:()=>{a==null||a.abort(),a=null},resetClientExport:()=>{a=null}}}const xo="default-video-track",yn="default-media-source";function _m(n){var r,s;const a=W2(n),t=Z2(n),o=H2(n.timeline,((r=t[0])==null?void 0:r.id)??xo,((s=a[0])==null?void 0:s.id)??yn),i={version:n.version,source:{...n.source},mediaSources:a,tracks:X2(t,o),clips:o,markers:n.markers?n.markers.map(l=>({...l})):[],transitions:n.transitions?n.transitions.map(Sm):[],filters:n.filters.map(l=>({...l,params:{...l.params}})),audio:{...n.audio},output:{...n.output}};return typeof n.duration=="number"&&(i.duration=n.duration),n.snapSettings&&(i.snapSettings={...n.snapSettings}),n.textOverlays&&(i.textOverlays=[...n.textOverlays]),n.captionTracks&&(i.captionTracks=n.captionTracks.map(Cm)),n.visualLayers&&(i.visualLayers=n.visualLayers.map(Vm)),n.audioTracks&&(i.audioTracks=[...n.audioTracks]),n.posterFrame&&(i.posterFrame=n.posterFrame),n.metadata&&(i.metadata={...n.metadata}),i}function j2(n){const a={version:"1.0",source:{...n.source},timeline:n.clips.map(t=>({...t})),mediaSources:n.mediaSources.map(Em),tracks:n.tracks.map(xm),markers:n.markers.map(t=>({...t})),transitions:n.transitions.map(Sm),filters:n.filters.map(t=>({...t,params:{...t.params}})),audio:{...n.audio},output:{...n.output}};return typeof n.duration=="number"&&(a.duration=n.duration),n.snapSettings&&(a.snapSettings={...n.snapSettings}),n.textOverlays&&(a.textOverlays=[...n.textOverlays]),n.captionTracks&&(a.captionTracks=n.captionTracks.map(Cm)),n.visualLayers&&(a.visualLayers=n.visualLayers.map(Vm)),n.audioTracks&&(a.audioTracks=[...n.audioTracks]),n.posterFrame&&(a.posterFrame=n.posterFrame),n.metadata&&(a.metadata={...n.metadata}),a}function W2(n){var t,o;if(n.mediaSources&&n.mediaSources.length>0)return n.mediaSources.map(Em);const a={id:((t=n.timeline.find(i=>i.sourceRefId))==null?void 0:t.sourceRefId)??yn,type:"media",mediaUuid:n.source.media_uuid,duration:n.source.duration,width:n.source.original_width,height:n.source.original_height};return(o=n.metadata)!=null&&o.source_url&&(a.url=n.metadata.source_url),[a]}function Z2(n){var a;return n.tracks&&n.tracks.length>0?n.tracks.map(xm):[{id:((a=n.timeline.find(t=>t.trackId))==null?void 0:a.trackId)??xo,type:"video",name:"Video",order:0}]}function H2(n,a,t){return n.map(o=>{const i={...o,trackId:o.trackId??a,sourceRefId:o.sourceRefId??t};return o.filters&&(i.filters=o.filters.map(r=>({...r,params:{...r.params}}))),o.transform&&(i.transform={...o.transform}),o.keyframes&&(i.keyframes=o.keyframes.map(r=>({...r}))),i})}function X2(n,a){return n.map(t=>{const o=a.filter(i=>i.trackId===t.id).map(i=>i.id);return{...t,clipIds:o}})}function Em(n){const a={...n};return n.metadata&&(a.metadata={...n.metadata}),a}function xm(n){const a={...n};return n.clipIds&&(a.clipIds=[...n.clipIds]),a}function Sm(n){const a={...n};return n.params&&(a.params={...n.params}),a}function Cm(n){return{...n,segments:n.segments.map(t=>{const o={...t};return t.words&&(o.words=t.words.map(i=>({...i}))),o})}}function Vm(n){return{...n,transform:{...n.transform,position:{...n.transform.position},anchor:{...n.transform.anchor},scale:{...n.transform.scale}},keyframes:n.keyframes?n.keyframes.map(a=>({...a})):void 0}}const Nm="video-project-draft-snapshot:v1",Cl="mediables:video-project-drafts",G2=(n,a={})=>{var m,p;const t=tn(a.now)??Date.now(),o=tn(a.createdAt)??t,i=tn(a.updatedAt)??t,r=r_(n),s={id:Ea(a.id)??c_(i),payloadKind:r,createdAt:new Date(o).toISOString(),updatedAt:new Date(i).toISOString(),deviceKind:a.deviceKind??"unknown"},l=Ea(a.projectId),d=Ea(a.sourceMediaUuid)??Ea(n.source.media_uuid),c=Vl(a.durationSeconds)??s_(n),u=Ea(a.editorVersion)??Ea((m=n.metadata)==null?void 0:m.editor_version),f=Ea(a.title)??Ea((p=n.metadata)==null?void 0:p.title);return l!==null&&(s.projectId=l),d!==null&&(s.sourceMediaUuid=d),c!==null&&(s.durationSeconds=c),u!==null&&(s.editorVersion=u),f!==null&&(s.title=f),a.saveReason!==void 0&&(s.saveReason=a.saveReason),{schemaVersion:Nm,metadata:s,payload:n}},Tm=(n,a=Cl)=>{const t=Ea(a)??Cl,o=Mc(n.metadata.projectId??"unsaved-project"),i=Mc(n.metadata.id);return`${t}:${o}:${i}`},J2=n=>JSON.stringify(n),K2=n=>{if(typeof n!="string"||n.trim().length===0)return null;try{const a=JSON.parse(n);return n_(a)?a:null}catch{return null}},q2=n=>{const a=[];for(const t of n){const o=Ea(t.key),i=K2(t.value);o===null||i===null||a.push({key:o,snapshot:i})}return li(a)},Y2=(n,a)=>{const t=d_(a.maxCount),o=tn(a.now)??Date.now(),i=$m(a.maxAgeMs),r=[],s=[];let l=0;for(const d of li(n)){if(!Im(d,a.projectId)){r.push(d);continue}if(Fm(d.snapshot,o,i)||l>=t){s.push(d);continue}r.push(d),l+=1}return{retained:li(r),removed:li(s)}},Q2=(n,a={})=>{const t={key:Tm(n),snapshot:n};if(!Im(t,a.projectId))return!1;const o=tn(a.now)??Date.now(),i=$m(a.maxAgeMs);if(Fm(n,o,i))return!1;const r=a.savedAt===null?null:tn(a.savedAt);return r===null?!0:Mr(n)>r},e_=(n,a={})=>li(n).filter(t=>Q2(t.snapshot,a)),t_=(n,a,t={})=>{const o=e_(n,t);if(a==="mobile"){const i=o[0]??null;return i===null?[]:[i]}return o},a_=async(n,a,t=Tm(a))=>(await n.setItem(t,J2(a)),{key:t,snapshot:a}),Cc=async(n,a=Cl)=>{const t=await n.listKeys(a),o=[];for(const i of t)o.push({key:i,value:await n.getItem(i)});return q2(o)},Vc=async(n,a)=>{for(const t of a)await n.removeItem(t.key)},n_=n=>!an(n)||n.schemaVersion!==Nm||!o_(n.metadata)?!1:n.metadata.payloadKind==="project"?Mm(n.payload):i_(n.payload),o_=n=>an(n)?cd(n.id)&&m_(n.payloadKind)&&Tc(n.createdAt)&&Tc(n.updatedAt)&&p_(n.deviceKind)&&Yi(n.projectId)&&Yi(n.sourceMediaUuid)&&u_(n.durationSeconds)&&Yi(n.editorVersion)&&Yi(n.title)&&f_(n.saveReason):!1,i_=n=>an(n)?n.version==="1.0"&&Bm(n.source)&&Array.isArray(n.timeline)&&Array.isArray(n.filters)&&an(n.audio)&&an(n.output):!1,Mm=n=>an(n)?n.version==="1.0"&&Bm(n.source)&&Array.isArray(n.mediaSources)&&Array.isArray(n.tracks)&&Array.isArray(n.clips)&&Array.isArray(n.markers)&&Array.isArray(n.filters)&&an(n.audio)&&an(n.output):!1,Bm=n=>an(n)?cd(n.media_uuid)&&di(n.duration)&&di(n.original_width)&&di(n.original_height):!1,r_=n=>Mm(n)?"project":"recipe",s_=n=>Vl(n.duration)??Vl(n.source.duration),Im=(n,a)=>{const t=Ea(a);return t===null?!0:n.snapshot.metadata.projectId===t},Fm=(n,a,t)=>t===null?!1:a-Mr(n)>t,li=n=>[...n].sort(l_),l_=(n,a)=>{const t=Mr(a.snapshot)-Mr(n.snapshot);if(t!==0)return t;const o=Nc(a.snapshot)-Nc(n.snapshot);return o!==0?o:n.snapshot.metadata.id.localeCompare(a.snapshot.metadata.id)},Mr=n=>tn(n.metadata.updatedAt)??0,Nc=n=>tn(n.metadata.createdAt)??0,d_=n=>!Number.isFinite(n)||n<0?0:Math.floor(n),$m=n=>n===void 0||!Number.isFinite(n)||n<0?null:Math.floor(n),tn=n=>{if(n==null)return null;if(n instanceof Date)return Number.isFinite(n.getTime())?n.getTime():null;if(typeof n=="number")return Number.isFinite(n)?n:null;const a=n.trim();if(a.length===0)return null;const t=Date.parse(a);return Number.isFinite(t)?t:null},Tc=n=>typeof n=="string"&&tn(n)!==null,c_=n=>{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-${n}-${a}`},Mc=n=>encodeURIComponent(n.trim()),Ea=n=>{if(typeof n!="string")return null;const a=n.trim();return a.length>0?a:null},cd=n=>Ea(n)!==null,Yi=n=>n===void 0||cd(n),Vl=n=>{if(!di(n))return null;const a=Number(n.toFixed(6));return Object.is(a,-0)?0:a},di=n=>typeof n=="number"&&Number.isFinite(n)&&n>=0,u_=n=>n===void 0||di(n),m_=n=>n==="recipe"||n==="project",p_=n=>n==="desktop"||n==="mobile"||n==="tablet"||n==="unknown",f_=n=>n===void 0||n==="autosave"||n==="manual"||n==="before-export"||n==="before-close",an=n=>typeof n=="object"&&n!==null&&!Array.isArray(n),h_=1,v_="master",vi=-60,Nl=12,ud=0,wn=-90,Br=6,g_=4,Dm=8;function Rm(){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:Dm}}}function b_(n,a=Rm()){return Ml(a[n])}function Am(n){return Number.isNaN(n)?ud:n<=0||n===Number.NEGATIVE_INFINITY?vi:gi(20*Math.log10(n))}function Tl(n){const a=gi(n);return a<=vi?0:_n(Math.pow(10,a/20),6)}function gi(n){return Number.isNaN(n)?ud:n===Number.NEGATIVE_INFINITY?vi:n===Number.POSITIVE_INFINITY?Nl:_n(Ni(n,vi,Nl),3)}function Lm(n){return Number.isFinite(n)?_n(Ni(n,-1,1),3):0}function y_(n,a=!1){const t=n.some(o=>o.controls.solo);return n.map(o=>{const i=o.controls.muted,r=t&&!o.controls.solo,s=a||i||r,l=s?0:o.controls.fader.linearGain;return{trackId:o.id,soloed:o.controls.solo,mutedByTrack:i,mutedBySolo:r,mutedByMaster:a,effectivelyMuted:s,audible:!s,effectiveGainLinear:l}})}function w_(n,a={}){const t=B_(a.effectSlotCount),o=new Set;return{schemaVersion:h_,capabilities:a.capabilities?D_(a.capabilities):Rm(),tracks:n.map((i,r)=>__(i,r,t,o)),master:E_(a.master,t)}}function Pm(n){const a=gi(n);return{valueDb:a,minDb:vi,maxDb:Nl,unityDb:ud,linearGain:Tl(a)}}function k_(n,a="constant-power"){return{value:Lm(n),mode:a}}function Om(n=wn,a=wn,t=n){const o=Ps(n),i=Ps(a),r=Ps(t);return{peakDb:o,rmsDb:i,peakHoldDb:r,clipping:o>=0||r>=0}}function Um(n){const a=Wm(n);return{id:`empty-effect-slot-${a}`,index:a,kind:"empty",label:"Empty",enabled:!1,bypassed:!0,wetMix:0,parameters:{}}}function __(n,a,t,o){const i=jm(n.id),s={id:M_(i??`legacy-audio-track-${a+1}`,o),kind:"legacy-url",name:V_(n.name,a),order:a,source:x_(n.source),controls:{fader:Pm(n.faderDb??Am(n.volume??1)),pan:k_(n.pan??0),muted:n.muted??!1,solo:n.solo??!1,meter:Om(n.peakDb,n.rmsDb,n.peakHoldDb)},timeline:S_(n),effectSlots:zm(n.effectSlots,t)};return i!==void 0&&(s.legacyTrackId=i),s}function E_(n,a){return{id:v_,name:N_(n==null?void 0:n.name),fader:Pm((n==null?void 0:n.faderDb)??Am((n==null?void 0:n.volume)??1)),muted:(n==null?void 0:n.muted)??!1,meter:Om(n==null?void 0:n.peakDb,n==null?void 0:n.rmsDb,n==null?void 0:n.peakHoldDb),effectSlots:zm(n==null?void 0:n.effectSlots,a)}}function x_(n){const a=n.trim();return a===""?{type:"missing"}:{type:"url",url:a}}function S_(n){const a={startTime:F_(n.startTime??0),loop:n.loop??!1},t=I_(n.duration);t!==void 0&&(a.duration=t);const o=Bc(n.fadeIn);o!==void 0&&(a.fadeIn=o);const i=Bc(n.fadeOut);return i!==void 0&&(a.fadeOut=i),a}function zm(n,a){const t=new Map;for(const o of n??[]){const i=C_(o,a);t.set(i.index,i)}return Array.from({length:a},(o,i)=>t.get(i)??Um(i))}function C_(n,a){const t=Wm(n.index),o=a>0?Math.min(t,a-1):0,i=n.kind;return i==="empty"?Um(o):{id:jm(n.id)??`${i}-effect-slot-${o}`,index:o,kind:i,label:T_(n.label,i),enabled:n.enabled,bypassed:n.bypassed,wetMix:$_(n.wetMix),parameters:{...n.parameters}}}function V_(n,a){const t=n==null?void 0:n.trim();return t&&t!==""?t:`Audio ${a+1}`}function N_(n){const a=n==null?void 0:n.trim();return a&&a!==""?a:"Master"}function T_(n,a){const t=n.trim();return t!==""?t:a}function M_(n,a){if(!a.has(n))return a.add(n),n;let t=2,o=`${n}-${t}`;for(;a.has(o);)t+=1,o=`${n}-${t}`;return a.add(o),o}function jm(n){const a=n==null?void 0:n.trim();if(!(!a||a===""))return a}function B_(n){return n===void 0||!Number.isFinite(n)?g_:Math.trunc(Ni(n,0,Dm))}function Wm(n){return!Number.isFinite(n)||n<0?0:Math.trunc(n)}function I_(n){if(!(n===void 0||!Number.isFinite(n)||n<=0))return _n(n,3)}function Bc(n){if(!(n===void 0||!Number.isFinite(n)||n<0))return _n(n,3)}function F_(n){return!Number.isFinite(n)||n<0?0:_n(n,3)}function $_(n){return Number.isFinite(n)?_n(Ni(n,0,1),3):1}function Ps(n){return Number.isNaN(n)||n===Number.NEGATIVE_INFINITY?wn:n===Number.POSITIVE_INFINITY?Br:_n(Ni(n,wn,Br),3)}function D_(n){return{mobile:Ml(n.mobile),desktop:Ml(n.desktop)}}function Ml(n){return{...n}}function Ni(n,a,t){return Math.min(t,Math.max(a,n))}function _n(n,a){const t=10**a;return Math.round(n*t)/t}const R_=/^(\d{2,}:[0-5]\d:[0-5]\d,\d{3})\s+-->\s+(\d{2,}:[0-5]\d:[0-5]\d,\d{3})$/,A_=/^(\d{2,}):([0-5]\d):([0-5]\d),(\d{3})$/,L_="srt-cue";class kn extends Error{constructor(a,t,o={}){super(t),this.name="CaptionSrtError",this.code=a,this.context=o}}function P_(n,a={}){var s,l;const t=O_(a.idPrefix),o=n.replace(/^\uFEFF/,"").replace(/\r\n?/g,`
|
|
336
|
+
`,a=document.createElement("style");a.textContent=n,document.head.appendChild(a)}class P2{constructor({filters:a=[],callbacks:t={}}){L2(),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=it("div",{className:"mvfp"}),this._catRow=it("div",{className:"mvfp-row"}),this._root.appendChild(this._catRow),this._filterRow=it("div",{className:"mvfp-row"}),this._root.appendChild(this._filterRow),this._activeRow=it("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,o)=>{this._activeFilters.set(o,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 o=t.category||"other";a.has(o)||a.set(o,o.charAt(0).toUpperCase()+o.slice(1))}return a}_renderCategories(){this._catRow.innerHTML="",this._getCategories().forEach((t,o)=>{const i=it("div",{className:`mvfp-cat${this._selectedCategory===o?" active":""}`,onClick:()=>{this._selectedCategory=o,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),o=this._selectedFilterId===a.id,i=it("div",{className:`mvfp-filter${t?" active":""}${o?" selected":""}`,onClick:()=>this._selectFilter(a)});if(t){const r=it("div",{className:"mvfp-check",onClick:s=>{s.stopPropagation(),this._removeFilter(a.id)}});r.innerHTML="✓",i.appendChild(r)}i.appendChild(it("span",{},a.name)),this._filterRow.appendChild(i)}}_selectFilter(a){var t,o,i,r;this._selectedFilterId=a.id,this._activeFilters.has(a.id)||(o=(t=this._cb).onApplyFilter)==null||o.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,o;(o=(t=this._cb).onRemoveFilter)==null||o.call(t,a),this._selectedFilterId===a&&(this._selectedFilterId=null)}_renderActiveChips(){if(this._activeRow.innerHTML="",this._activeFilters.size===0){this._activeRow.appendChild(it("div",{className:"mvfp-placeholder"},"No active filters"));return}this._activeFilters.forEach((a,t)=>{const o=this._filters.find(d=>d.id===t);if(!o)return;const i=this._drawerOpen&&this._drawerFilterId===t,r=it("div",{className:`mvfp-achip${i?" selected":""}`}),s=it("span",{style:{cursor:"pointer"},onClick:()=>{this._selectedFilterId=t,this._renderFilters(),o.params&&o.params.length>0&&this.openDrawer(t)}},o.name),l=it("button",{className:"mvfp-achip-x","aria-label":`Remove ${o.name}`,onClick:d=>{d.stopPropagation(),this._removeFilter(t)}});l.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(s),r.appendChild(l),this._activeRow.appendChild(r)})}_buildDrawer(){this._drawer=it("div",{className:"mvfp-drawer"});const a=it("div",{className:"mvfp-drawer-hdr"});this._drawerTitle=it("span",{className:"mvfp-drawer-title"},"Filter");const t=it("div",{className:"mvfp-drawer-actions"});t.appendChild(it("button",{className:"mvfp-drawer-btn",onClick:()=>this._resetDrawerFilter()},"Reset")),t.appendChild(it("button",{className:"mvfp-drawer-btn danger",onClick:()=>{this._drawerFilterId&&(this._removeFilter(this._drawerFilterId),this.closeDrawer())}},"Remove"));const o=it("button",{className:"mvfp-drawer-close","aria-label":"Close",onClick:()=>this.closeDrawer()});o.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(o),a.appendChild(this._drawerTitle),a.appendChild(t),this._drawer.appendChild(a),this._drawerBody=it("div",{className:"mvfp-drawer-body"}),this._drawer.appendChild(this._drawerBody)}openDrawer(a){const t=this._filters.find(o=>o.id===a);if(t&&(this._drawerFilterId=a,this._drawerTitle.textContent=t.name,this._renderDrawerControls(t),this._renderActiveChips(),!this._drawerOpen)){this._drawerOpen=!0;const o=this._root.offsetHeight;o>0&&(this._drawer.style.height=o+"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(it("div",{className:"mvfp-no-params"},"No adjustable parameters"));return}const t=this._activeFilters.get(a.id),o=(t==null?void 0:t.params)||{};for(const i of a.params){const r=o[i.id]??i.default,s=it("div",{className:"mvfp-ctl"}),l=it("label",{className:"mvfp-ctl-label"},i.label||i.id);s.appendChild(l);const d=i.type||"slider";if(d==="slider"||d==="range"){const c=it("div",{className:"mvfp-slider-row"}),u=it("span",{className:"mvfp-range-val"},kc(r)),f=it("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:m=>{var h,v;const p=parseFloat(m.target.value);u.textContent=kc(p),(v=(h=this._cb).onUpdateParam)==null||v.call(h,a.id,i.id,p)}});c.appendChild(f),c.appendChild(u),s.appendChild(c)}else if(d==="toggle"||d==="checkbox"){const c=it("div",{className:"mvfp-toggle-row"}),u=it("input",{type:"checkbox",checked:r?"checked":void 0,onChange:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.checked)}});c.appendChild(u),s.appendChild(c)}else if(d==="color"){const c=it("div",{className:"mvfp-color-row"}),u=it("input",{type:"color",className:"mvfp-color-input",value:typeof r=="string"?r:"#000000",onInput:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.value)}});c.appendChild(u),s.appendChild(c)}else if(d==="select"||d==="dropdown"){const c=it("div",{className:"mvfp-select-row"}),u=it("select",{className:"mvfp-select",onChange:f=>{var m,p;return(p=(m=this._cb).onUpdateParam)==null?void 0:p.call(m,a.id,i.id,f.target.value)}});for(const f of i.options||[]){const m=it("option",{value:f.value},f.label||String(f.value));f.value===r&&(m.selected=!0),u.appendChild(m)}c.appendChild(u),s.appendChild(c)}this._drawerBody.appendChild(s)}}_resetDrawerFilter(){var t,o;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)(o=(t=this._cb).onUpdateParam)==null||o.call(t,this._drawerFilterId,i.id,i.default);this._renderDrawerControls(a)}}}const O2=[200,500,1e3];function U2(n){return{"360p":[640,360],"480p":[854,480],"720p":[1280,720],"1080p":[1920,1080],"1440p":[2560,1440],"2160p":[3840,2160]}[n??""]??[1920,1080]}function Ec(n){if(!n)return null;const a=n.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 z2(n){return new Promise(a=>{window.setTimeout(a,n)})}async function xc(){return await Promise.resolve().then(()=>require("./PixiFrameExporter-apC6SqIv.cjs"))}function Sc(n,a=0){var r;const t=n.timeline[0],o=t?Math.max(0,t.sourceIn):0,i=(t==null?void 0:t.sourceOut)??((r=n.source)==null?void 0:r.duration)??a;return Math.max(0,i-o)}function km(n){let a=null;return{canExportClientSide:async()=>{try{const{isWebCodecsSupported:i}=await xc();return i()}catch{return!1}},renderRecipeWithPixi:async(i,r,s)=>{var p,h,v,k;const l=i.timeline[0],d=l?Math.max(0,l.sourceIn):0,c=l?l.sourceOut:void 0,[u,f]=U2((r==null?void 0:r.quality)??((p=i.output)==null?void 0:p.quality)),m=((h=i.output)==null?void 0:h.fps)||30;n.setPlaying(!1),n.forcePixiPreview.value=!0,await e.nextTick();try{let V=!1;for(const D of O2){await z2(D);const P=n.getPreviewRef();if(!(!P||typeof P.captureFrameAt!="function")){if(typeof P.ensureReadyForCapture=="function"){if(V=await P.ensureReadyForCapture(),V)break;continue}V=!0;break}}const B=n.getPreviewRef();if(!B||typeof B.captureFrameAt!="function")throw new Error("PIXI preview not available for export. Ensure the preview is mounted.");if(!V)throw new Error("PIXI preview not ready for frame capture after retries. The video may still be loading.");const{exportWithPixiFrames:_,isWebCodecsSupported:g}=await xc();if(!g())throw new Error("WebCodecs is not supported in this browser. Export requires Chrome 94+ or equivalent.");a=new AbortController;const E={width:u,height:f,fps:m,trimStart:d,signal:a.signal};c!==void 0&&(E.trimEnd=c),s&&(E.onProgress=s);const S=n.getSourceUrl();S!==""&&(E.sourceUrl=S);const N=Ec(B)??((v=i.source)==null?void 0:v.duration)??c??0,C=await _({captureFrameAt:D=>{var P;return((P=B.captureFrameAt)==null?void 0:P.call(B,D))??Promise.resolve(null)},duration:{value:N}},E),A=new File([C],`edited-video-${Date.now()}.mp4`,{type:"video/mp4"}),j=Ec(B),x=((k=i.source)==null?void 0:k.duration)??0,y=Math.max(0,(c??j??x)-d);return{file:A,recipe:i,meta:{duration:y,width:u,height:f,format:"mp4",sizeBytes:A.size,size_bytes:A.size}}}finally{n.forcePixiPreview.value=!1,a=null}},cancelClientExport:()=>{a==null||a.abort(),a=null},resetClientExport:()=>{a=null}}}const xo="default-video-track",yn="default-media-source";function _m(n){var r,s;const a=W2(n),t=Z2(n),o=H2(n.timeline,((r=t[0])==null?void 0:r.id)??xo,((s=a[0])==null?void 0:s.id)??yn),i={version:n.version,source:{...n.source},mediaSources:a,tracks:X2(t,o),clips:o,markers:n.markers?n.markers.map(l=>({...l})):[],transitions:n.transitions?n.transitions.map(Sm):[],filters:n.filters.map(l=>({...l,params:{...l.params}})),audio:{...n.audio},output:{...n.output}};return typeof n.duration=="number"&&(i.duration=n.duration),n.snapSettings&&(i.snapSettings={...n.snapSettings}),n.textOverlays&&(i.textOverlays=[...n.textOverlays]),n.captionTracks&&(i.captionTracks=n.captionTracks.map(Cm)),n.visualLayers&&(i.visualLayers=n.visualLayers.map(Vm)),n.audioTracks&&(i.audioTracks=[...n.audioTracks]),n.posterFrame&&(i.posterFrame=n.posterFrame),n.metadata&&(i.metadata={...n.metadata}),i}function j2(n){const a={version:"1.0",source:{...n.source},timeline:n.clips.map(t=>({...t})),mediaSources:n.mediaSources.map(Em),tracks:n.tracks.map(xm),markers:n.markers.map(t=>({...t})),transitions:n.transitions.map(Sm),filters:n.filters.map(t=>({...t,params:{...t.params}})),audio:{...n.audio},output:{...n.output}};return typeof n.duration=="number"&&(a.duration=n.duration),n.snapSettings&&(a.snapSettings={...n.snapSettings}),n.textOverlays&&(a.textOverlays=[...n.textOverlays]),n.captionTracks&&(a.captionTracks=n.captionTracks.map(Cm)),n.visualLayers&&(a.visualLayers=n.visualLayers.map(Vm)),n.audioTracks&&(a.audioTracks=[...n.audioTracks]),n.posterFrame&&(a.posterFrame=n.posterFrame),n.metadata&&(a.metadata={...n.metadata}),a}function W2(n){var t,o;if(n.mediaSources&&n.mediaSources.length>0)return n.mediaSources.map(Em);const a={id:((t=n.timeline.find(i=>i.sourceRefId))==null?void 0:t.sourceRefId)??yn,type:"media",mediaUuid:n.source.media_uuid,duration:n.source.duration,width:n.source.original_width,height:n.source.original_height};return(o=n.metadata)!=null&&o.source_url&&(a.url=n.metadata.source_url),[a]}function Z2(n){var a;return n.tracks&&n.tracks.length>0?n.tracks.map(xm):[{id:((a=n.timeline.find(t=>t.trackId))==null?void 0:a.trackId)??xo,type:"video",name:"Video",order:0}]}function H2(n,a,t){return n.map(o=>{const i={...o,trackId:o.trackId??a,sourceRefId:o.sourceRefId??t};return o.filters&&(i.filters=o.filters.map(r=>({...r,params:{...r.params}}))),o.transform&&(i.transform={...o.transform}),o.keyframes&&(i.keyframes=o.keyframes.map(r=>({...r}))),i})}function X2(n,a){return n.map(t=>{const o=a.filter(i=>i.trackId===t.id).map(i=>i.id);return{...t,clipIds:o}})}function Em(n){const a={...n};return n.metadata&&(a.metadata={...n.metadata}),a}function xm(n){const a={...n};return n.clipIds&&(a.clipIds=[...n.clipIds]),a}function Sm(n){const a={...n};return n.params&&(a.params={...n.params}),a}function Cm(n){return{...n,segments:n.segments.map(t=>{const o={...t};return t.words&&(o.words=t.words.map(i=>({...i}))),o})}}function Vm(n){return{...n,transform:{...n.transform,position:{...n.transform.position},anchor:{...n.transform.anchor},scale:{...n.transform.scale}},keyframes:n.keyframes?n.keyframes.map(a=>({...a})):void 0}}const Nm="video-project-draft-snapshot:v1",Cl="mediables:video-project-drafts",G2=(n,a={})=>{var m,p;const t=tn(a.now)??Date.now(),o=tn(a.createdAt)??t,i=tn(a.updatedAt)??t,r=r_(n),s={id:Ea(a.id)??c_(i),payloadKind:r,createdAt:new Date(o).toISOString(),updatedAt:new Date(i).toISOString(),deviceKind:a.deviceKind??"unknown"},l=Ea(a.projectId),d=Ea(a.sourceMediaUuid)??Ea(n.source.media_uuid),c=Vl(a.durationSeconds)??s_(n),u=Ea(a.editorVersion)??Ea((m=n.metadata)==null?void 0:m.editor_version),f=Ea(a.title)??Ea((p=n.metadata)==null?void 0:p.title);return l!==null&&(s.projectId=l),d!==null&&(s.sourceMediaUuid=d),c!==null&&(s.durationSeconds=c),u!==null&&(s.editorVersion=u),f!==null&&(s.title=f),a.saveReason!==void 0&&(s.saveReason=a.saveReason),{schemaVersion:Nm,metadata:s,payload:n}},Tm=(n,a=Cl)=>{const t=Ea(a)??Cl,o=Mc(n.metadata.projectId??"unsaved-project"),i=Mc(n.metadata.id);return`${t}:${o}:${i}`},J2=n=>JSON.stringify(n),K2=n=>{if(typeof n!="string"||n.trim().length===0)return null;try{const a=JSON.parse(n);return n_(a)?a:null}catch{return null}},q2=n=>{const a=[];for(const t of n){const o=Ea(t.key),i=K2(t.value);o===null||i===null||a.push({key:o,snapshot:i})}return li(a)},Y2=(n,a)=>{const t=d_(a.maxCount),o=tn(a.now)??Date.now(),i=$m(a.maxAgeMs),r=[],s=[];let l=0;for(const d of li(n)){if(!Im(d,a.projectId)){r.push(d);continue}if(Fm(d.snapshot,o,i)||l>=t){s.push(d);continue}r.push(d),l+=1}return{retained:li(r),removed:li(s)}},Q2=(n,a={})=>{const t={key:Tm(n),snapshot:n};if(!Im(t,a.projectId))return!1;const o=tn(a.now)??Date.now(),i=$m(a.maxAgeMs);if(Fm(n,o,i))return!1;const r=a.savedAt===null?null:tn(a.savedAt);return r===null?!0:Mr(n)>r},e_=(n,a={})=>li(n).filter(t=>Q2(t.snapshot,a)),t_=(n,a,t={})=>{const o=e_(n,t);if(a==="mobile"){const i=o[0]??null;return i===null?[]:[i]}return o},a_=async(n,a,t=Tm(a))=>(await n.setItem(t,J2(a)),{key:t,snapshot:a}),Cc=async(n,a=Cl)=>{const t=await n.listKeys(a),o=[];for(const i of t)o.push({key:i,value:await n.getItem(i)});return q2(o)},Vc=async(n,a)=>{for(const t of a)await n.removeItem(t.key)},n_=n=>!an(n)||n.schemaVersion!==Nm||!o_(n.metadata)?!1:n.metadata.payloadKind==="project"?Mm(n.payload):i_(n.payload),o_=n=>an(n)?cd(n.id)&&m_(n.payloadKind)&&Tc(n.createdAt)&&Tc(n.updatedAt)&&p_(n.deviceKind)&&Yi(n.projectId)&&Yi(n.sourceMediaUuid)&&u_(n.durationSeconds)&&Yi(n.editorVersion)&&Yi(n.title)&&f_(n.saveReason):!1,i_=n=>an(n)?n.version==="1.0"&&Bm(n.source)&&Array.isArray(n.timeline)&&Array.isArray(n.filters)&&an(n.audio)&&an(n.output):!1,Mm=n=>an(n)?n.version==="1.0"&&Bm(n.source)&&Array.isArray(n.mediaSources)&&Array.isArray(n.tracks)&&Array.isArray(n.clips)&&Array.isArray(n.markers)&&Array.isArray(n.filters)&&an(n.audio)&&an(n.output):!1,Bm=n=>an(n)?cd(n.media_uuid)&&di(n.duration)&&di(n.original_width)&&di(n.original_height):!1,r_=n=>Mm(n)?"project":"recipe",s_=n=>Vl(n.duration)??Vl(n.source.duration),Im=(n,a)=>{const t=Ea(a);return t===null?!0:n.snapshot.metadata.projectId===t},Fm=(n,a,t)=>t===null?!1:a-Mr(n)>t,li=n=>[...n].sort(l_),l_=(n,a)=>{const t=Mr(a.snapshot)-Mr(n.snapshot);if(t!==0)return t;const o=Nc(a.snapshot)-Nc(n.snapshot);return o!==0?o:n.snapshot.metadata.id.localeCompare(a.snapshot.metadata.id)},Mr=n=>tn(n.metadata.updatedAt)??0,Nc=n=>tn(n.metadata.createdAt)??0,d_=n=>!Number.isFinite(n)||n<0?0:Math.floor(n),$m=n=>n===void 0||!Number.isFinite(n)||n<0?null:Math.floor(n),tn=n=>{if(n==null)return null;if(n instanceof Date)return Number.isFinite(n.getTime())?n.getTime():null;if(typeof n=="number")return Number.isFinite(n)?n:null;const a=n.trim();if(a.length===0)return null;const t=Date.parse(a);return Number.isFinite(t)?t:null},Tc=n=>typeof n=="string"&&tn(n)!==null,c_=n=>{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-${n}-${a}`},Mc=n=>encodeURIComponent(n.trim()),Ea=n=>{if(typeof n!="string")return null;const a=n.trim();return a.length>0?a:null},cd=n=>Ea(n)!==null,Yi=n=>n===void 0||cd(n),Vl=n=>{if(!di(n))return null;const a=Number(n.toFixed(6));return Object.is(a,-0)?0:a},di=n=>typeof n=="number"&&Number.isFinite(n)&&n>=0,u_=n=>n===void 0||di(n),m_=n=>n==="recipe"||n==="project",p_=n=>n==="desktop"||n==="mobile"||n==="tablet"||n==="unknown",f_=n=>n===void 0||n==="autosave"||n==="manual"||n==="before-export"||n==="before-close",an=n=>typeof n=="object"&&n!==null&&!Array.isArray(n),h_=1,v_="master",vi=-60,Nl=12,ud=0,wn=-90,Br=6,g_=4,Dm=8;function Rm(){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:Dm}}}function b_(n,a=Rm()){return Ml(a[n])}function Am(n){return Number.isNaN(n)?ud:n<=0||n===Number.NEGATIVE_INFINITY?vi:gi(20*Math.log10(n))}function Tl(n){const a=gi(n);return a<=vi?0:_n(Math.pow(10,a/20),6)}function gi(n){return Number.isNaN(n)?ud:n===Number.NEGATIVE_INFINITY?vi:n===Number.POSITIVE_INFINITY?Nl:_n(Ni(n,vi,Nl),3)}function Lm(n){return Number.isFinite(n)?_n(Ni(n,-1,1),3):0}function y_(n,a=!1){const t=n.some(o=>o.controls.solo);return n.map(o=>{const i=o.controls.muted,r=t&&!o.controls.solo,s=a||i||r,l=s?0:o.controls.fader.linearGain;return{trackId:o.id,soloed:o.controls.solo,mutedByTrack:i,mutedBySolo:r,mutedByMaster:a,effectivelyMuted:s,audible:!s,effectiveGainLinear:l}})}function w_(n,a={}){const t=B_(a.effectSlotCount),o=new Set;return{schemaVersion:h_,capabilities:a.capabilities?D_(a.capabilities):Rm(),tracks:n.map((i,r)=>__(i,r,t,o)),master:E_(a.master,t)}}function Pm(n){const a=gi(n);return{valueDb:a,minDb:vi,maxDb:Nl,unityDb:ud,linearGain:Tl(a)}}function k_(n,a="constant-power"){return{value:Lm(n),mode:a}}function Om(n=wn,a=wn,t=n){const o=Ps(n),i=Ps(a),r=Ps(t);return{peakDb:o,rmsDb:i,peakHoldDb:r,clipping:o>=0||r>=0}}function Um(n){const a=Wm(n);return{id:`empty-effect-slot-${a}`,index:a,kind:"empty",label:"Empty",enabled:!1,bypassed:!0,wetMix:0,parameters:{}}}function __(n,a,t,o){const i=jm(n.id),s={id:M_(i??`legacy-audio-track-${a+1}`,o),kind:"legacy-url",name:V_(n.name,a),order:a,source:x_(n.source),controls:{fader:Pm(n.faderDb??Am(n.volume??1)),pan:k_(n.pan??0),muted:n.muted??!1,solo:n.solo??!1,meter:Om(n.peakDb,n.rmsDb,n.peakHoldDb)},timeline:S_(n),effectSlots:zm(n.effectSlots,t)};return i!==void 0&&(s.legacyTrackId=i),s}function E_(n,a){return{id:v_,name:N_(n==null?void 0:n.name),fader:Pm((n==null?void 0:n.faderDb)??Am((n==null?void 0:n.volume)??1)),muted:(n==null?void 0:n.muted)??!1,meter:Om(n==null?void 0:n.peakDb,n==null?void 0:n.rmsDb,n==null?void 0:n.peakHoldDb),effectSlots:zm(n==null?void 0:n.effectSlots,a)}}function x_(n){const a=n.trim();return a===""?{type:"missing"}:{type:"url",url:a}}function S_(n){const a={startTime:F_(n.startTime??0),loop:n.loop??!1},t=I_(n.duration);t!==void 0&&(a.duration=t);const o=Bc(n.fadeIn);o!==void 0&&(a.fadeIn=o);const i=Bc(n.fadeOut);return i!==void 0&&(a.fadeOut=i),a}function zm(n,a){const t=new Map;for(const o of n??[]){const i=C_(o,a);t.set(i.index,i)}return Array.from({length:a},(o,i)=>t.get(i)??Um(i))}function C_(n,a){const t=Wm(n.index),o=a>0?Math.min(t,a-1):0,i=n.kind;return i==="empty"?Um(o):{id:jm(n.id)??`${i}-effect-slot-${o}`,index:o,kind:i,label:T_(n.label,i),enabled:n.enabled,bypassed:n.bypassed,wetMix:$_(n.wetMix),parameters:{...n.parameters}}}function V_(n,a){const t=n==null?void 0:n.trim();return t&&t!==""?t:`Audio ${a+1}`}function N_(n){const a=n==null?void 0:n.trim();return a&&a!==""?a:"Master"}function T_(n,a){const t=n.trim();return t!==""?t:a}function M_(n,a){if(!a.has(n))return a.add(n),n;let t=2,o=`${n}-${t}`;for(;a.has(o);)t+=1,o=`${n}-${t}`;return a.add(o),o}function jm(n){const a=n==null?void 0:n.trim();if(!(!a||a===""))return a}function B_(n){return n===void 0||!Number.isFinite(n)?g_:Math.trunc(Ni(n,0,Dm))}function Wm(n){return!Number.isFinite(n)||n<0?0:Math.trunc(n)}function I_(n){if(!(n===void 0||!Number.isFinite(n)||n<=0))return _n(n,3)}function Bc(n){if(!(n===void 0||!Number.isFinite(n)||n<0))return _n(n,3)}function F_(n){return!Number.isFinite(n)||n<0?0:_n(n,3)}function $_(n){return Number.isFinite(n)?_n(Ni(n,0,1),3):1}function Ps(n){return Number.isNaN(n)||n===Number.NEGATIVE_INFINITY?wn:n===Number.POSITIVE_INFINITY?Br:_n(Ni(n,wn,Br),3)}function D_(n){return{mobile:Ml(n.mobile),desktop:Ml(n.desktop)}}function Ml(n){return{...n}}function Ni(n,a,t){return Math.min(t,Math.max(a,n))}function _n(n,a){const t=10**a;return Math.round(n*t)/t}const R_=/^(\d{2,}:[0-5]\d:[0-5]\d,\d{3})\s+-->\s+(\d{2,}:[0-5]\d:[0-5]\d,\d{3})$/,A_=/^(\d{2,}):([0-5]\d):([0-5]\d),(\d{3})$/,L_="srt-cue";class kn extends Error{constructor(a,t,o={}){super(t),this.name="CaptionSrtError",this.code=a,this.context=o}}function P_(n,a={}){var s,l;const t=O_(a.idPrefix),o=n.replace(/^\uFEFF/,"").replace(/\r\n?/g,`
|
|
337
337
|
`).split(`
|
|
338
338
|
`),i=[];let r=0;for(;r<o.length;){for(;r<o.length&&Rc(o[r]);)r+=1;if(r>=o.length)break;const d=r+1,c=U_(((s=o[r])==null?void 0:s.trim())??"",d);if(r+=1,r>=o.length)throw new kn("missing-timing",`Cue ${c} is missing its timing line.`,{cueIndex:i.length,cueNumber:c,lineNumber:d});const u=r+1,f=z_(((l=o[r])==null?void 0:l.trim())??"",c,u);r+=1;const m=[];for(;r<o.length&&!Rc(o[r]);)m.push(o[r]??""),r+=1;i.push({cueNumber:c,id:`${t}-${i.length+1}`,startTime:f.startTime,endTime:f.endTime,text:m.join(`
|
|
339
339
|
`)})}return Zm(i),i}function Ic(n){return Zm(n),n.length===0?"":`${n.map((a,t)=>W_(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 Pl(n,a){(a==null||a>n.length)&&(a=n.length);for(var t=0,o=Array(a);t<a;t++)o[t]=n[t];return o}function T8(n){if(Array.isArray(n))return Pl(n)}function M8(n,a,t){return(a=D8(a))in n?Object.defineProperty(n,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[a]=t,n}function B8(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function I8(){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 cu(n,a){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);a&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,o)}return t}function uu(n){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?cu(Object(t),!0).forEach(function(o){M8(n,o,t[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cu(Object(t)).forEach(function(o){Object.defineProperty(n,o,Object.getOwnPropertyDescriptor(t,o))})}return n}function F8(n){return T8(n)||B8(n)||R8(n)||I8()}function $8(n,a){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var o=t.call(n,a);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(n)}function D8(n){var a=$8(n,"string");return typeof a=="symbol"?a:a+""}function R8(n,a){if(n){if(typeof n=="string")return Pl(n,a);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Pl(n,a):void 0}}var mu={activateTrap:function(a,t){if(a.length>0){var o=a[a.length-1];o!==t&&o._setPausedState(!0)}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(a,t){var o=a.indexOf(t);o!==-1&&a.splice(o,1),a.length>0&&!a[a.length-1]._isManuallyPaused()&&a[a.length-1]._setPausedState(!1)}},A8=function(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"},L8=function(a){return(a==null?void 0:a.key)==="Escape"||(a==null?void 0:a.key)==="Esc"||(a==null?void 0:a.keyCode)===27},ui=function(a){return(a==null?void 0:a.key)==="Tab"||(a==null?void 0:a.keyCode)===9},P8=function(a){return ui(a)&&!a.shiftKey},O8=function(a){return ui(a)&&a.shiftKey},pu=function(a){return setTimeout(a,0)},Jo=function(a){for(var t=arguments.length,o=new Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=arguments[i];return typeof a=="function"?a.apply(void 0,o):a},or=function(a){return a.target.shadowRoot&&typeof a.composedPath=="function"?a.composedPath()[0]:a.target},U8=[],z8=function(a,t){var o=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||U8,r=uu({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:P8,isKeyBackward:O8},t),s={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},l,d=function(y,D,P){return y&&y[D]!==void 0?y[D]:r[P||D]},c=function(y,D){var P=typeof(D==null?void 0:D.composedPath)=="function"?D.composedPath():void 0;return s.containerGroups.findIndex(function(O){var U=O.container,T=O.tabbableNodes;return U.contains(y)||(P==null?void 0:P.includes(U))||T.find(function(I){return I===y})})},u=function(y){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=D.hasFallback,O=P===void 0?!1:P,U=D.params,T=U===void 0?[]:U,I=r[y];if(typeof I=="function"&&(I=I.apply(void 0,F8(T))),I===!0&&(I=void 0),!I){if(I===void 0||I===!1)return I;throw new Error("`".concat(y,"` was specified but was not a node, or did not return a node"))}var z=I;if(typeof I=="string"){try{z=o.querySelector(I)}catch(X){throw new Error("`".concat(y,'` appears to be an invalid selector; error="').concat(X.message,'"'))}if(!z&&!O)throw new Error("`".concat(y,"` as selector refers to no known node"))}return z},f=function(){var y=u("initialFocus",{hasFallback:!0});if(y===!1)return!1;if(y===void 0||y&&!Gs(y,r.tabbableOptions))if(c(o.activeElement)>=0)y=o.activeElement;else{var D=s.tabbableGroups[0],P=D&&D.firstTabbableNode;y=P||u("fallbackFocus")}else y===null&&(y=u("fallbackFocus"));if(!y)throw new Error("Your focus-trap needs to have at least one focusable element");return y},m=function(){if(s.containerGroups=s.containers.map(function(y){var D=C8(y,r.tabbableOptions),P=V8(y,r.tabbableOptions),O=D.length>0?D[0]:void 0,U=D.length>0?D[D.length-1]:void 0,T=P.find(function(X){return po(X)}),I=P.slice().reverse().find(function(X){return po(X)}),z=!!D.find(function(X){return Ln(X)>0});return{container:y,tabbableNodes:D,focusableNodes:P,posTabIndexesFound:z,firstTabbableNode:O,lastTabbableNode:U,firstDomTabbableNode:T,lastDomTabbableNode:I,nextTabbableNode:function(le){var ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,re=D.indexOf(le);return re<0?ve?P.slice(P.indexOf(le)+1).find(function(oe){return po(oe)}):P.slice(0,P.indexOf(le)).reverse().find(function(oe){return po(oe)}):D[re+(ve?1:-1)]}}}),s.tabbableGroups=s.containerGroups.filter(function(y){return y.tabbableNodes.length>0}),s.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(s.containerGroups.find(function(y){return y.posTabIndexesFound})&&s.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.")},p=function(y){var D=y.activeElement;if(D)return D.shadowRoot&&D.shadowRoot.activeElement!==null?p(D.shadowRoot):D},h=function(y){if(y!==!1&&y!==p(document)){if(!y||!y.focus){h(f());return}y.focus({preventScroll:!!r.preventScroll}),s.mostRecentlyFocusedNode=y,A8(y)&&y.select()}},v=function(y){var D=u("setReturnFocus",{params:[y]});return D||(D===!1?!1:y)},k=function(y){var D=y.target,P=y.event,O=y.isBackward,U=O===void 0?!1:O;D=D||or(P),m();var T=null;if(s.tabbableGroups.length>0){var I=c(D,P),z=I>=0?s.containerGroups[I]:void 0;if(I<0)U?T=s.tabbableGroups[s.tabbableGroups.length-1].lastTabbableNode:T=s.tabbableGroups[0].firstTabbableNode;else if(U){var X=s.tabbableGroups.findIndex(function(R){var Z=R.firstTabbableNode;return D===Z});if(X<0&&(z.container===D||Gs(D,r.tabbableOptions)&&!po(D,r.tabbableOptions)&&!z.nextTabbableNode(D,!1))&&(X=I),X>=0){var le=X===0?s.tabbableGroups.length-1:X-1,ve=s.tabbableGroups[le];T=Ln(D)>=0?ve.lastTabbableNode:ve.lastDomTabbableNode}else ui(P)||(T=z.nextTabbableNode(D,!1))}else{var re=s.tabbableGroups.findIndex(function(R){var Z=R.lastTabbableNode;return D===Z});if(re<0&&(z.container===D||Gs(D,r.tabbableOptions)&&!po(D,r.tabbableOptions)&&!z.nextTabbableNode(D))&&(re=I),re>=0){var oe=re===s.tabbableGroups.length-1?0:re+1,L=s.tabbableGroups[oe];T=Ln(D)>=0?L.firstTabbableNode:L.firstDomTabbableNode}else ui(P)||(T=z.nextTabbableNode(D))}}else T=u("fallbackFocus");return T},V=function(y){var D=or(y);if(!(c(D,y)>=0)){if(Jo(r.clickOutsideDeactivates,y)){l.deactivate({returnFocus:r.returnFocusOnDeactivate});return}Jo(r.allowOutsideClick,y)||y.preventDefault()}},B=function(y){var D=or(y),P=c(D,y)>=0;if(P||D instanceof Document)P&&(s.mostRecentlyFocusedNode=D);else{y.stopImmediatePropagation();var O,U=!0;if(s.mostRecentlyFocusedNode)if(Ln(s.mostRecentlyFocusedNode)>0){var T=c(s.mostRecentlyFocusedNode),I=s.containerGroups[T].tabbableNodes;if(I.length>0){var z=I.findIndex(function(X){return X===s.mostRecentlyFocusedNode});z>=0&&(r.isKeyForward(s.recentNavEvent)?z+1<I.length&&(O=I[z+1],U=!1):z-1>=0&&(O=I[z-1],U=!1))}}else s.containerGroups.some(function(X){return X.tabbableNodes.some(function(le){return Ln(le)>0})})||(U=!1);else U=!1;U&&(O=k({target:s.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(s.recentNavEvent)})),h(O||s.mostRecentlyFocusedNode||f())}s.recentNavEvent=void 0},_=function(y){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;s.recentNavEvent=y;var P=k({event:y,isBackward:D});P&&(ui(y)&&y.preventDefault(),h(P))},g=function(y){(r.isKeyForward(y)||r.isKeyBackward(y))&&_(y,r.isKeyBackward(y))},E=function(y){L8(y)&&Jo(r.escapeDeactivates,y)!==!1&&(y.preventDefault(),l.deactivate())},S=function(y){var D=or(y);c(D,y)>=0||Jo(r.clickOutsideDeactivates,y)||Jo(r.allowOutsideClick,y)||(y.preventDefault(),y.stopImmediatePropagation())},N=function(){if(s.active)return mu.activateTrap(i,l),s.delayInitialFocusTimer=r.delayInitialFocus?pu(function(){h(f())}):h(f()),o.addEventListener("focusin",B,!0),o.addEventListener("mousedown",V,{capture:!0,passive:!1}),o.addEventListener("touchstart",V,{capture:!0,passive:!1}),o.addEventListener("click",S,{capture:!0,passive:!1}),o.addEventListener("keydown",g,{capture:!0,passive:!1}),o.addEventListener("keydown",E),l},C=function(){if(s.active)return o.removeEventListener("focusin",B,!0),o.removeEventListener("mousedown",V,!0),o.removeEventListener("touchstart",V,!0),o.removeEventListener("click",S,!0),o.removeEventListener("keydown",g,!0),o.removeEventListener("keydown",E),l},A=function(y){var D=y.some(function(P){var O=Array.from(P.removedNodes);return O.some(function(U){return U===s.mostRecentlyFocusedNode})});D&&h(f())},j=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(A):void 0,x=function(){j&&(j.disconnect(),s.active&&!s.paused&&s.containers.map(function(y){j.observe(y,{subtree:!0,childList:!0})}))};return l={get active(){return s.active},get paused(){return s.paused},activate:function(y){if(s.active)return this;var D=d(y,"onActivate"),P=d(y,"onPostActivate"),O=d(y,"checkCanFocusTrap");O||m(),s.active=!0,s.paused=!1,s.nodeFocusedBeforeActivation=p(o),D==null||D();var U=function(){O&&m(),N(),x(),P==null||P()};return O?(O(s.containers.concat()).then(U,U),this):(U(),this)},deactivate:function(y){if(!s.active)return this;var D=uu({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},y);clearTimeout(s.delayInitialFocusTimer),s.delayInitialFocusTimer=void 0,C(),s.active=!1,s.paused=!1,x(),mu.deactivateTrap(i,l);var P=d(D,"onDeactivate"),O=d(D,"onPostDeactivate"),U=d(D,"checkCanReturnFocus"),T=d(D,"returnFocus","returnFocusOnDeactivate");P==null||P();var I=function(){pu(function(){T&&h(v(s.nodeFocusedBeforeActivation)),O==null||O()})};return T&&U?(U(v(s.nodeFocusedBeforeActivation)).then(I,I),this):(I(),this)},pause:function(y){return s.active?(s.manuallyPaused=!0,this._setPausedState(!0,y)):this},unpause:function(y){return s.active?(s.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,y)):this},updateContainerElements:function(y){var D=[].concat(y).filter(Boolean);return s.containers=D.map(function(P){return typeof P=="string"?o.querySelector(P):P}),s.active&&m(),x(),this}},Object.defineProperties(l,{_isManuallyPaused:{value:function(){return s.manuallyPaused}},_setPausedState:{value:function(y,D){if(s.paused===y)return this;if(s.paused=y,y){var P=d(D,"onPause"),O=d(D,"onPostPause");P==null||P(),C(),x(),O==null||O()}else{var U=d(D,"onUnpause"),T=d(D,"onPostUnpause");U==null||U(),m(),N(),x(),T==null||T()}return this}}}),l.updateContainerElements(a),l};const j8=["aria-labelledby"],W8={class:"media-preview-sheet__header"},Z8=["id"],H8=["aria-label"],X8=["src","alt"],G8=["src"],J8={class:"media-preview-sheet__actions"},K8=["disabled","aria-label"],q8=["aria-label","aria-pressed"],Y8=["disabled","aria-label"],Q8=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(n,{emit:a}){const t=n,o=a,i=e.useId(),r=e.ref(null),s=e.ref(null);let l=null,d=null;const c=e.computed(()=>{var E;return((E=t.media)==null?void 0:E.mime_type.startsWith("image/"))===!0}),u=e.computed(()=>t.media?t.media.preview_url??t.media.original_url:""),f=e.computed(()=>t.media?`Preview ${t.media.file_name}`:"Media preview"),m=e.computed(()=>t.media?`Close preview of ${t.media.file_name}`:"Close preview"),p=e.computed(()=>t.canGoPrevious?"Previous media":"No previous media"),h=e.computed(()=>t.canGoNext?"Next media":"No next media"),v=e.computed(()=>{const E=t.selected?t.deselectLabel:t.selectLabel;return t.media?t.selected?`${t.deselectLabel} ${t.media.file_name}`:`${t.selectLabel} ${t.media.file_name}`:E}),k=e.computed(()=>t.selected?t.deselectLabel:t.selectLabel),V=()=>{t.media&&o("toggleSelect",t.media)},B=E=>{if(E.key==="Escape"){E.preventDefault(),o("close");return}if(E.key==="ArrowLeft"&&t.canGoPrevious){E.preventDefault(),o("previous");return}E.key==="ArrowRight"&&t.canGoNext&&(E.preventDefault(),o("next"))},_=()=>{if(l){try{l.deactivate({returnFocus:!1})}catch{}l=null}},g=()=>{const E=d;d=null,E&&typeof E.focus=="function"&&e.nextTick(()=>{E.focus()})};return e.watch(()=>t.open&&t.media!==null,async E=>{var S;if(E){d=document.activeElement instanceof HTMLElement?document.activeElement:null,await e.nextTick();const N=r.value;if(N)try{l=z8(N,{initialFocus:()=>s.value??N,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!1,allowOutsideClick:!0}),l.activate()}catch{(S=s.value)==null||S.focus()}}else _(),g()},{immediate:!0}),e.onBeforeUnmount(()=>{_()}),(E,S)=>E.open&&E.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:B},[e.createElementVNode("header",W8,[e.createElementVNode("strong",{id:e.unref(i),"data-testid":"media-preview-sheet-title"},e.toDisplayString(f.value),9,Z8),e.createElementVNode("button",{ref_key:"closeButtonRef",ref:s,type:"button",class:"media-preview-sheet__close","aria-label":m.value,"data-testid":"btn-media-preview-close",onClick:S[0]||(S[0]=N=>o("close"))},e.toDisplayString(E.closeLabel),9,H8)]),c.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-preview-sheet__image",src:u.value,alt:E.media.file_name},null,8,X8)):(e.openBlock(),e.createElementBlock("video",{key:1,class:"media-preview-sheet__video",src:u.value,controls:""},null,8,G8)),e.createElementVNode("div",J8,[e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!E.canGoPrevious,"aria-label":p.value,"data-testid":"btn-media-preview-previous",onClick:S[1]||(S[1]=N=>o("previous"))},e.toDisplayString(E.previousLabel),9,K8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__select","aria-label":v.value,"aria-pressed":E.selected,"data-testid":"btn-media-preview-select",onClick:V},e.toDisplayString(k.value),9,q8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!E.canGoNext,"aria-label":h.value,"data-testid":"btn-media-preview-next",onClick:S[2]||(S[2]=N=>o("next"))},e.toDisplayString(E.nextLabel),9,Y8)])],40,j8)):e.createCommentVNode("",!0)}}),zp=Ie(Q8,[["__scopeId","data-v-0ca8008b"]]),eF={key:0,class:"media-album-grid","data-testid":"media-source-sheet"},tF={class:"media-album-grid__items"},aF={class:"media-album-grid__card-name"},nF={class:"media-album-grid__card-name"},oF=["data-testid","onClick"],iF={class:"media-album-grid__card-name"},rF={key:0,class:"media-album-grid__card-meta"},sF={key:0,class:"media-album-grid__empty"},lF=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(n,{emit:a}){const t=a;return(o,i)=>o.open?(e.openBlock(),e.createElementBlock("section",eF,[e.createElementVNode("div",tF,[o.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",aF,e.toDisplayString(o.createAlbumLabel),1)])):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":o.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",nF,e.toDisplayString(o.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(o.albums,r=>(e.openBlock(),e.createElementBlock("button",{key:r.id,type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":o.currentView.scope==="album"&&o.currentView.albumId===r.id}]),"data-testid":`btn-media-source-album-${r.id}`,onClick:s=>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",iF,e.toDisplayString(r.name),1),r.mediaCount!==void 0?(e.openBlock(),e.createElementBlock("span",rF,e.toDisplayString(r.mediaCount)+" item"+e.toDisplayString(r.mediaCount===1?"":"s"),1)):e.createCommentVNode("",!0)],10,oF))),128))]),o.albums.length===0?(e.openBlock(),e.createElementBlock("p",sF," No albums yet. ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),jp=Ie(lF,[["__scopeId","data-v-129f67b1"]]),dF={key:0,class:"media-upload-sheet","data-testid":"media-upload-sheet"},cF={class:"media-upload-sheet__dropzone-text"},uF={key:0,class:"media-upload-sheet__dropzone-helper","data-testid":"text-media-upload-sheet-helper"},mF={class:"media-upload-sheet__sr-only"},pF=["accept","aria-label"],fF=["aria-label"],hF={class:"media-upload-sheet__queue-info"},vF={class:"media-upload-sheet__queue-status"},gF=["aria-valuenow","aria-label","data-testid"],bF=["aria-label"],yF=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=m=>{var h;return t.progressAriaLabel!==void 0?t.progressAriaLabel(m):`Uploading ${((h=m.file)==null?void 0:h.name)??"file"}`},s=m=>{const p=Number.isFinite(m.progress)?m.progress:0;return p<0?0:p>100?100:Math.round(p)},l=e.computed(()=>t.queue.length===0?"":`${t.queue.length} upload${t.queue.length===1?"":"s"} in progress`),d=m=>{const p=m.target;!(p instanceof HTMLInputElement)||p.files===null||(o("filesSelected",Array.from(p.files)),p.value="")},c=m=>{m.preventDefault(),i.value=!0},u=()=>{i.value=!1},f=m=>{var p;m.preventDefault(),i.value=!1,(p=m.dataTransfer)!=null&&p.files&&m.dataTransfer.files.length>0&&o("filesSelected",Array.from(m.dataTransfer.files))};return(m,p)=>m.open?(e.openBlock(),e.createElementBlock("section",dF,[e.createElementVNode("label",{class:e.normalizeClass(["media-upload-sheet__dropzone",{"is-drag-over":i.value}]),onDragover:c,onDragleave:u,onDrop:f},[p[1]||(p[1]=e.createStaticVNode('<div class="media-upload-sheet__dropzone-icon" data-v-89997025><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-89997025><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" data-v-89997025></path><polyline points="17 8 12 3 7 8" data-v-89997025></polyline><line x1="12" y1="3" x2="12" y2="15" data-v-89997025></line></svg></div>',1)),e.createElementVNode("span",cF,e.toDisplayString(m.dropzoneLabel),1),m.dropzoneHelperText?(e.openBlock(),e.createElementBlock("span",uF,e.toDisplayString(m.dropzoneHelperText),1)):e.createCommentVNode("",!0),e.createElementVNode("span",mF,e.toDisplayString(m.fileInputLabel),1),e.createElementVNode("input",{type:"file",accept:m.accept,multiple:"",class:"media-upload-sheet__file-input","data-testid":"input-media-upload-sheet","aria-label":m.fileInputLabel,onChange:d},null,40,pF)],34),m.queue.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:"media-upload-sheet__queue","aria-live":"polite","aria-label":l.value,"data-testid":"list-media-upload-sheet-queue"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.queue,h=>(e.openBlock(),e.createElementBlock("li",{key:h.id,class:"media-upload-sheet__queue-item"},[e.createElementVNode("div",hF,[e.createElementVNode("strong",null,e.toDisplayString(h.file.name),1),e.createElementVNode("span",vF,e.toDisplayString(h.status),1)]),e.createElementVNode("div",{class:"media-upload-sheet__progress-bar",role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":s(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:`${s(h)}%`})},null,4)],8,gF)]))),128))],8,fF)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"media-upload-sheet__close-btn","aria-label":m.closeButtonAriaLabel,"data-testid":"btn-close-upload-sheet",onClick:p[0]||(p[0]=h=>o("close"))},e.toDisplayString(m.closeButtonLabel),9,bF)])):e.createCommentVNode("",!0)}}),Wp=Ie(yF,[["__scopeId","data-v-89997025"]]),wF=["aria-label","aria-pressed","data-testid"],kF=["src","alt"],_F={key:1,class:"media-thumbnail-cell__video"},EF={class:"media-thumbnail-cell__video-name"},xF={key:2,class:"media-thumbnail-cell__selected-badge"},SF={key:3,class:"media-thumbnail-cell__status-badge"},CF=["aria-label"],VF=e.defineComponent({__name:"MediaThumbnailCell",props:{media:{},selected:{type:Boolean,default:!1},status:{},testId:{default:"media-library-thumbnail"}},emits:["toggle","preview"],setup(n,{emit:a}){const t=n,o=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/")),s=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}}),l=e.computed(()=>{const u=t.media.file_name;return t.selected?`Deselect ${u}`:`Select ${u}`}),d=()=>{o("toggle",t.media)},c=()=>{o("preview",t.media)};return(u,f)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["media-thumbnail-cell",{"is-selected":u.selected,"has-status":s.value!==null}])},[e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__button","aria-label":l.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,kF)):(e.openBlock(),e.createElementBlock("div",_F,[f[0]||(f[0]=e.createElementVNode("span",{class:"media-thumbnail-cell__video-label"},"Video",-1)),e.createElementVNode("span",EF,e.toDisplayString(u.media.file_name),1)])),u.selected?(e.openBlock(),e.createElementBlock("span",xF," Selected ")):e.createCommentVNode("",!0),s.value!==null?(e.openBlock(),e.createElementBlock("span",SF,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)],8,wF),e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__preview-button","aria-label":`Preview ${u.media.file_name}`,onClick:c}," Preview ",8,CF)],2))}}),Zp=Ie(VF,[["__scopeId","data-v-edd4f0ad"]]),NF={class:"virtual-media-grid"},TF={key:0,class:"virtual-media-grid__state","data-testid":"media-grid-loading"},MF={key:1,class:"virtual-media-grid__state","data-testid":"media-grid-empty"},BF={key:2,class:"virtual-media-grid__items"},IF=["disabled"],FF=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(n,{emit:a}){const t=n,o=a;function i(r){return t.selectedItems.find(s=>s.id===r)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",NF,[r.loading&&r.items.length===0?(e.openBlock(),e.createElementBlock("div",TF,e.toDisplayString(r.loadingMessage),1)):r.items.length===0?(e.openBlock(),e.createElementBlock("div",MF,e.toDisplayString(r.emptyMessage),1)):(e.openBlock(),e.createElementBlock("div",BF,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>{var d,c;return e.openBlock(),e.createBlock(Zp,{key:l.uuid,media:l,selected:((d=i(l.uuid))==null?void 0:d.status)==="ready",status:(c=i(l.uuid))==null?void 0:c.status,"test-id":`${r.testIdPrefix}-${l.uuid}`,onToggle:s[0]||(s[0]=u=>o("toggle",u)),onPreview:s[1]||(s[1]=u=>o("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:s[2]||(s[2]=l=>o("loadMore"))},e.toDisplayString(r.loadingMore?r.loadingMoreLabel:r.loadMoreLabel),9,IF)):e.createCommentVNode("",!0)]))}}),Hp=Ie(FF,[["__scopeId","data-v-34667f65"]]);function Pr(n){if(n===0)return"0 Bytes";const a=1024,t=["Bytes","KB","MB","GB"],o=Math.floor(Math.log(n)/Math.log(a));return parseFloat((n/Math.pow(a,o)).toFixed(2))+" "+t[o]}function Xp(n){var t;const a=n.split(".");return a.length>1?`.${(t=a.pop())==null?void 0:t.toLowerCase()}`:""}function yd(n){return n.type.startsWith("image/")}async function Gp(n){return yd(n)?new Promise(a=>{const t=new Image,o=URL.createObjectURL(n);t.onload=()=>{URL.revokeObjectURL(o),a({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{URL.revokeObjectURL(o),a(null)},t.src=o}):null}async function Jp(n,a){const t=[];if(a.maxFileSize&&n.size>a.maxFileSize&&t.push({field:"size",message:`File exceeds maximum size of ${Pr(a.maxFileSize)}`,code:"MAX_FILE_SIZE"}),a.minFileSize&&n.size<a.minFileSize&&t.push({field:"size",message:`File is smaller than minimum size of ${Pr(a.minFileSize)}`,code:"MIN_FILE_SIZE"}),a.acceptedMimeTypes&&a.acceptedMimeTypes.length>0&&(a.acceptedMimeTypes.some(i=>i.endsWith("/*")?n.type.startsWith(i.slice(0,-1)):n.type===i)||t.push({field:"type",message:`File type "${n.type}" is not allowed`,code:"INVALID_MIME_TYPE"})),a.acceptedExtensions&&a.acceptedExtensions.length>0){const o=Xp(n.name);a.acceptedExtensions.some(r=>r.toLowerCase()===o.toLowerCase())||t.push({field:"extension",message:`File extension "${o}" is not allowed`,code:"INVALID_EXTENSION"})}if(yd(n)&&(a.maxDimensions||a.minDimensions)){const o=await Gp(n);o&&(a.maxDimensions&&(o.width>a.maxDimensions.width&&t.push({field:"dimensions",message:`Image width (${o.width}px) exceeds maximum (${a.maxDimensions.width}px)`,code:"MAX_WIDTH"}),o.height>a.maxDimensions.height&&t.push({field:"dimensions",message:`Image height (${o.height}px) exceeds maximum (${a.maxDimensions.height}px)`,code:"MAX_HEIGHT"})),a.minDimensions&&(o.width<a.minDimensions.width&&t.push({field:"dimensions",message:`Image width (${o.width}px) is smaller than minimum (${a.minDimensions.width}px)`,code:"MIN_WIDTH"}),o.height<a.minDimensions.height&&t.push({field:"dimensions",message:`Image height (${o.height}px) is smaller than minimum (${a.minDimensions.height}px)`,code:"MIN_HEIGHT"})))}if(a.customValidator){const o=await a.customValidator(n);t.push(...o)}return{valid:t.length===0,errors:t}}function wd(n={}){const a=e.ref(n.rules||{});function t(d){a.value=d}async function o(d){return Jp(d,a.value)}async function i(d){const c=new Map;return await Promise.all(d.map(async u=>{const f=await o(u);c.set(u,f)})),c}function r(d,c){return a.value.maxItems?c+d<=a.value.maxItems:!0}const s=e.computed(()=>{const d=[];return a.value.acceptedMimeTypes&&d.push(...a.value.acceptedMimeTypes),a.value.acceptedExtensions&&d.push(...a.value.acceptedExtensions),d.join(",")});function l(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:o,validateFiles:i,canAddFiles:r,acceptString:s,isMimeTypeAllowed:l}}function $F(){return`upload-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function DF(n){if(n.type.startsWith("image/"))return URL.createObjectURL(n)}function kd(n){const{adapter:a,maxConcurrent:t=3,rules:o,collection:i,onUploadStart:r,onUploadProgress:s,onUploadComplete:l,onUploadError:d,onQueueComplete:c,postUpload:u}=n,f=e.ref(new Map),m=e.ref(new Set),p=o?{rules:o}:{},{validateFile:h}=wd(p);async function v(){if(m.value.size>=t)return;const F=Array.from(f.value.entries()).find(([P,O])=>O.status==="pending"&&!m.value.has(P));if(!F){Array.from(f.value.values()).every(O=>O.status==="completed"||O.status==="error")&&f.value.size>0&&(c==null||c());return}const[y,D]=F;await k(y,D)}async function k(F,y){m.value.add(F),y.status="uploading",y.abortController=new AbortController,f.value.set(F,{...y}),r==null||r(y);try{const D={onProgress:O=>{y.progress=O,f.value.set(F,{...y}),s==null||s(y)},signal:y.abortController.signal};i&&(D.collection=i);const P=await a.upload(y.file,D);u&&(y.status="attaching",f.value.set(F,{...y}),s==null||s(y),await u(y,P.media,a)),y.status="completed",y.progress=100,y.media=P.media,f.value.set(F,{...y}),l==null||l(y,P.media)}catch(D){D.name==="AbortError"?f.value.delete(F):(y.status="error",y.error=D.message,f.value.set(F,{...y}),d==null||d(y,D))}finally{m.value.delete(F),delete y.abortController,v()}}async function V(F){var P;const y=Array.from(F),D=[];for(const O of y){const U=await h(O),T=$F(),I=DF(O),z={id:T,file:O,progress:0,status:U.valid?"pending":"error"};!U.valid&&((P=U.errors[0])!=null&&P.message)&&(z.error=U.errors[0].message),I&&(z.previewUrl=I),f.value.set(T,z);const X={media:null,clientId:T,name:O.name,order:0,upload:z,errors:U.errors};D.push(X)}for(let O=0;O<t;O++)v();return D}function B(F){const y=f.value.get(F);y&&(y.abortController&&y.abortController.abort(),y.previewUrl&&URL.revokeObjectURL(y.previewUrl),f.value.delete(F),m.value.delete(F),v())}async function _(F){const y=f.value.get(F);!y||y.status!=="error"||(y.status="pending",y.progress=0,delete y.error,f.value.set(F,{...y}),v())}function g(){for(const[F,y]of f.value.entries())(y.status==="completed"||y.status==="error")&&(y.previewUrl&&URL.revokeObjectURL(y.previewUrl),f.value.delete(F))}function E(){for(const F of f.value.values())F.abortController&&F.abortController.abort(),F.previewUrl&&URL.revokeObjectURL(F.previewUrl);f.value.clear(),m.value.clear()}function S(F){return f.value.get(F)}const N=e.computed(()=>m.value.size>0),C=e.computed(()=>m.value.size),A=e.computed(()=>Array.from(f.value.values()).filter(F=>F.status==="pending").length),j=e.computed(()=>f.value.size===0?!0:Array.from(f.value.values()).every(F=>F.status==="completed"||F.status==="error")),x=e.computed(()=>Array.from(f.value.values()));return{uploads:f,isUploading:N,activeCount:C,pendingCount:A,isComplete:j,addFiles:V,cancelUpload:B,retryUpload:_,clearCompleted:g,clearAll:E,getUpload:S,uploadsArray:x}}function Gn(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function yi(n){return typeof n=="string"?n:null}function fu(n){return typeof n=="number"?n:null}function RF(n){return typeof n=="boolean"?n:null}function Kp(n){return Gn(n)&&typeof n.uuid=="string"&&typeof n.file_name=="string"&&typeof n.mime_type=="string"&&(typeof n.original_url=="string"||n.original_url===null)&&typeof n.size=="number"&&typeof n.disk=="string"&&typeof n.created_at=="string"&&typeof n.updated_at=="string"}function AF(n){return!Gn(n)||typeof n.id!="string"||typeof n.status!="string"?null:n.status==="ready"?Kp(n.media)?{id:n.id,status:"ready",media:n.media}:null:n.status==="missing"||n.status==="forbidden"?{id:n.id,status:n.status}:null}function LF(n){return Gn(n)?{next_cursor:yi(n.next_cursor),previous_cursor:yi(n.previous_cursor),has_more:RF(n.has_more)??!1,per_page:fu(n.per_page),count:fu(n.count)}:null}function hu(n){const a=Gn(n)?n:{},t=Array.isArray(a.data)?a.data.filter(Kp):[],o=Gn(a.meta)?a.meta:{},i=LF(o.pagination),r=(i==null?void 0:i.next_cursor)??yi(o.next_cursor)??yi(o.cursor),s=(i==null?void 0:i.has_more)??o.has_more===!0,l=Array.isArray(a.hydrated)?a.hydrated.map(AF).filter(c=>c!==null):[],d={cursor:r,has_more:s};return i!==null&&(d.pagination=i),{data:t,meta:d,hydrated:l}}function vu(n,a,t,o,i){const r={view:n.scope==="album"?{scope:"album",album_id:n.albumId}:{scope:"library"},per_page:t,sort:a.sort??"newest"};return a.query&&a.query.trim()!==""&&(r.query=a.query.trim()),a.kinds&&a.kinds.length>0&&(r.kinds=a.kinds),o!==null&&(r.cursor=o),i&&i.length>0&&(r.hydrate_ids=i),r}function gu(n){const a=new Set,t=[];for(const o of n)a.has(o.uuid)||(a.add(o.uuid),t.push(o));return t}function PF(n){var t;if(!(n instanceof Error))return null;const a=(t=n.response)==null?void 0:t.status;return typeof a=="number"?a:null}function OF(n){var a;return n instanceof Error?((a=n.response)==null?void 0:a.data)??null:null}function UF(n){if(!Gn(n))return[];const a=[];for(const t of Object.values(n)){if(typeof t=="string"&&t.trim()!==""){a.push(t.trim());continue}if(Array.isArray(t))for(const o of t){if(typeof o!="string")continue;const i=o.trim();i!==""&&a.push(i)}}return Array.from(new Set(a))}function zF(n){var r;const a=OF(n),t=Gn(a)?a:null,o=((r=yi(t==null?void 0:t.message))==null?void 0:r.trim())??null,i=UF(t==null?void 0:t.errors);return o!==null&&i.length>0?o==="Validation failed"?i.join(" "):i.every(l=>o.includes(l))?o:`${o} ${i.join(" ")}`:o!==null?o:i.length>0?i.join(" "):n instanceof Error?n.message:"Failed to load media."}function bu(n,a){const t=zF(a),o=PF(a);return{code:o===403?"permission_denied":n,message:t,retriable:o!==403,cause:a}}function _d(n){const a=n.perPage??40,t=e.ref([]),o=e.ref([]),i=e.ref(null),r=e.ref(!1),s=e.ref(!1),l=e.ref(!1),d=e.ref(!1),c=e.ref(null);let u=null,f=0;const m=async v=>{f+=1;const k=f;u==null||u.abort();const V=new AbortController;u=V,v?l.value=!0:s.value=!0,c.value=null,d.value=!1;try{const B=await n.httpClient.get("/v1/media/library",{params:vu(n.view.value,n.filters.value,a,v?i.value:null),signal:V.signal});if(k!==f)return;const _=hu(B);t.value=v?gu([...t.value,..._.data]):_.data,o.value=_.hydrated,i.value=_.meta.cursor,r.value=_.meta.has_more}catch(B){if(V.signal.aborted||k!==f)return;const _=bu(v?"load_more_failed":"query_failed",B);c.value=_,d.value=_.code==="permission_denied",v||(t.value=[],i.value=null,r.value=!1)}finally{k===f&&(s.value=!1,l.value=!1)}};return{items:t,hydrated:o,cursor:i,hasMore:r,loading:s,loadingMore:l,permissionDenied:d,error:c,loadInitial:async()=>{i.value=null,await m(!1)},loadMore:async()=>{!r.value||l.value||await m(!0)},refresh:async()=>{i.value=null,await m(!1)},hydrateSelection:async v=>{if(v.length===0)return o.value=[],[];try{const k=await n.httpClient.get("/v1/media/library",{params:vu(n.view.value,n.filters.value,1,null,v)}),V=hu(k);return o.value=V.hydrated,V.hydrated}catch(k){return c.value=bu("hydration_failed",k),[]}},prepend:v=>{t.value=gu([v,...t.value])}}}const jF="mediables.media-library.";function WF(n){return!n||n.key.trim()===""?null:`${jF}${n.key}`}function Js(){return typeof window>"u"||typeof window.sessionStorage>"u"?null:window.sessionStorage}function ZF(n,a){const t=Date.parse(n);return Number.isFinite(t)?Date.now()-t>a*60*1e3:!0}function qp(n){const a=WF(n),t=(n==null?void 0:n.ttlMinutes)??30,o=`${(n==null?void 0:n.key)??"media-library"}:${Date.now()}`;return{restore:()=>{if(a===null)return null;const l=Js();if(l===null)return null;const d=l.getItem(a);if(d===null)return null;let c;try{c=JSON.parse(d)}catch{return l.removeItem(a),null}if(typeof c!="object"||c===null||Array.isArray(c))return l.removeItem(a),null;const u=c;if(u.version!==1||typeof u.savedAt!="string"||ZF(u.savedAt,t))return l.removeItem(a),null;const f={selectedIds:Array.isArray(u.selectedIds)?u.selectedIds.filter(m=>typeof m=="string"&&m.trim()!==""):[]};return((n==null?void 0:n.restoreView)??!0)&&u.view&&(f.view=u.view),u.filters&&(f.filters=u.filters),f},save:l=>{if(a===null)return;const d=Js();if(d===null)return;const c={version:1,savedAt:new Date().toISOString(),selectedIds:[...l.selectedIds]};((n==null?void 0:n.restoreView)??!0)&&l.view&&(c.view=l.view),l.filters&&(c.filters=l.filters),d.setItem(a,JSON.stringify(c))},clear:()=>{if(a===null)return;const l=Js();l==null||l.removeItem(a)},sessionId:o}}function Yp(n){const a=e.ref(n);return{state:a,transition:o=>{a.value=o}}}function Qp(n){return{emitMetric:(t,o)=>{const i={name:t,timestamp:new Date().toISOString()};o!==void 0&&(i.payload=o),n==null||n(i)}}}function bo(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function HF(n){const a=bo(n)?n:{};return(Array.isArray(a.data)?a.data:bo(a.data)&&Array.isArray(a.data.data)?a.data.data:Array.isArray(n)?n:[]).map(o=>{if(!bo(o)||typeof o.id!="string"||typeof o.name!="string")return null;const i={id:o.id,name:o.name};return typeof o.description=="string"&&o.description.trim()!==""&&(i.description=o.description),typeof o.media_count=="number"&&(i.mediaCount=o.media_count),i}).filter(o=>o!==null)}function XF(n){const a=bo(n)?n:{},t=bo(a.data)?a.data:bo(n)?n:null;if(t===null||typeof t.id!="string"||typeof t.name!="string")return null;const o={id:t.id,name:t.name};return typeof t.description=="string"&&t.description.trim()!==""&&(o.description=t.description),o}function GF(n){return n==="ready"||n==="uploading"||n==="failed"}function ir(n,a="ready"){return{id:n.uuid,media:n,status:a,countsTowardMax:GF(a)}}function JF(n,a){return n.scope==="library"?!0:a.type==="album"&&a.albumId===n.albumId}function KF(n,a){return n.scope==="library"?a.type==="library"||a.type==="album":a.type==="album"&&a.albumId===n.albumId}function Ks(n){return{code:"configuration_error",message:n,retriable:!1}}function qF(n){return typeof n!="string"||n.length===0?"document":n.startsWith("image/")?"image":n.startsWith("video/")?"video":n.startsWith("audio/")?"audio":"document"}function YF(n,a){return a.length===0||n===null?!0:a.includes(qF(n.mime_type))}function ef(n){var oe,L,R;const a=n.selectionMode??"multiple",t=n.maxSelection,o=n.uploadBehavior??"adapter",i=e.ref(n.initialView??{scope:"library"}),r=((oe=n.initialFilters)==null?void 0:oe.kinds)??(n.allowedMediaKinds&&n.allowedMediaKinds.length>0?[...n.allowedMediaKinds]:void 0),s=e.ref({sort:((L=n.initialFilters)==null?void 0:L.sort)??"newest",...(R=n.initialFilters)!=null&&R.query?{query:n.initialFilters.query}:{},...r?{kinds:r}:{}}),l=n.allowedMediaKinds?[...n.allowedMediaKinds]:[],d=e.ref([]),c=e.ref([]),u=e.ref(null),f=e.ref(null),m=qp(n.sessionPolicy),{emitMetric:p}=Qp(n.telemetry),h=Yp("idle"),v=_d({httpClient:n.deps.httpClient,view:i,filters:s}),k=e.computed(()=>c.value.map(Z=>Z.id)),V=e.computed(()=>{const Z=u.value;return Z===null?null:v.items.value[Z]??null}),B=e.computed(()=>n.uploadTarget??{type:"library"}),_=kd({adapter:n.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:Z=>Z.original_url,getThumbnailUrl:Z=>Z.thumbnail_url??Z.preview_url??Z.original_url},postUpload:async(Z,G,te)=>{const ce=B.value;ce.type!=="album"||!ce.albumId||await te.attach(G.uuid,{modelType:"album",modelId:ce.albumId})},onUploadComplete:(Z,G)=>{const te=B.value;JF(i.value,te)&&v.prepend(G),n.autoSelectUploaded&&KF(i.value,te)&&A(G),p("upload-complete",{mediaId:G.uuid,targetType:te.type,targetAlbumId:te.albumId})},onUploadError:(Z,G)=>{f.value={code:"upload_failed",message:G.message,retriable:!0,cause:G}}}),g=e.computed(()=>_.isUploading.value),E=()=>{m.save({selectedIds:[...k.value],view:i.value,filters:s.value})},S=async Z=>{const G=await v.hydrateSelection(Z);c.value=G.map(te=>te.status==="ready"&&te.media?ir(te.media):{id:te.id,media:null,status:te.status,countsTowardMax:!1})},N=e.computed(()=>c.value.filter(Z=>Z.countsTowardMax).length),C=()=>a==="single"||t===void 0?!0:N.value<t,A=Z=>{if(c.value.findIndex(te=>te.id===Z.uuid)>=0){a==="multiple"?c.value=c.value.filter(te=>te.id!==Z.uuid):c.value=[ir(Z)],E();return}if(!C()){f.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=[ir(Z)]:c.value=[...c.value,ir(Z)],f.value=null,E()},j=async()=>{var G;h.transition("restoring");const Z=m.restore();if(Z===null){h.transition("ready");return}Z.view&&(i.value=Z.view),Z.filters&&(s.value={sort:Z.filters.sort??"newest",...Z.filters.query?{query:Z.filters.query}:{},...Z.filters.kinds?{kinds:Z.filters.kinds}:{}}),await v.loadInitial(),(((G=n.sessionPolicy)==null?void 0:G.restoreSelection)??!0)&&await S(Z.selectedIds),h.transition("ready")};e.watch(()=>v.error.value,Z=>{Z!==null&&(f.value=Z,h.transition("error"))});const x=async()=>{f.value=null,h.transition("idle"),await j(),v.items.value.length===0&&!v.loading.value&&!v.permissionDenied.value&&await v.loadInitial();const Z=n.defaultSelectedIds??[];c.value.length===0&&Z.length>0&&await S(Z),h.transition("ready")},F=async(Z,G="user")=>{const te=i.value;i.value=Z,G==="user"&&n.preserveSelectionOnViewChange===!1&&(c.value=[]),p("view-change",{from:te.scope,to:Z.scope,reason:G}),await v.loadInitial(),E()},y=async()=>{const Z=await n.deps.httpClient.get("/v1/albums");d.value=HF(Z)},D=async(Z,G)=>{try{const te={name:Z,visibility:"private"};G&&G.trim()!==""&&(te.parent_id=G);const ce=await n.deps.httpClient.post("/v1/albums",te),me=XF(ce);return me===null?Ks("Album creation response was invalid."):(d.value=[me,...d.value.filter(ge=>ge.id!==me.id)],await F({scope:"album",albumId:me.id,albumName:me.name},"inline-album-created"),me)}catch(te){const ce={code:"album_create_failed",message:te instanceof Error?te.message:"Album creation failed.",retriable:!0,cause:te};return f.value=ce,ce}},P=async Z=>{if(!n.enableUpload){f.value=Ks("Uploads are not enabled for this picker.");return}if(o!=="delegate"){if(!n.deps.uploadAdapter){f.value=Ks("Uploads require a configured upload adapter.");return}await _.addFiles(Z)}},O=()=>{var te;if(l.length>0&&c.value.find(me=>me.media!==null&&!YF(me.media,l))){const ge={code:"selection_invalid",message:`Selected media is not allowed here. Choose one of: ${l.join(", ")}.`,retriable:!0};return f.value=ge,ge}const Z=((te=n.validateSelection)==null?void 0:te.call(n,c.value))??null;if(Z!==null){const ce={code:"selection_invalid",message:Z,retriable:!0};return f.value=ce,ce}if(c.value.filter(ce=>ce.status==="ready"&&ce.media!==null).length===0){const ce={code:"selection_invalid",message:"Select at least one available media item.",retriable:!0};return f.value=ce,ce}return{orderedIds:k.value,items:[...c.value],view:i.value,filters:s.value,dirty:!0,sessionId:m.sessionId}},U=Z=>{const G=v.items.value.findIndex(te=>te.uuid===Z.uuid);u.value=G>=0?G:null},T=()=>{u.value=null},I=()=>{u.value===null||u.value<=0||(u.value-=1)},z=()=>{u.value===null||u.value>=v.items.value.length-1||(u.value+=1)},X=Z=>{c.value=c.value.filter(G=>G.id!==Z),E()},le=async()=>{await v.refresh()},ve=async Z=>{s.value={...s.value,...Z&&Z.trim()!==""?{query:Z.trim()}:{}},(!Z||Z.trim()==="")&&delete s.value.query,await v.loadInitial(),E()},re=async()=>{await F({scope:"library"},"permission-unavailable")};return{view:i,filters:s,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:f,uploadQueue:_.uploadsArray,isUploading:g,previewIndex:u,previewItem:V,initialize:x,refresh:le,loadMore:v.loadMore,setQuery:ve,setView:F,toggleSelection:A,removeSelected:X,confirmSelection:O,openPreview:U,closePreview:T,showPreviousPreview:I,showNextPreview:z,loadAlbums:y,createAlbum:D,addUploadFiles:P,goToLibrary:re,sessionId:m.sessionId}}const QF=["data-testid"],e6={class:"mlp-location-bar"},t6={class:"mlp-location-bar__left"},a6={class:"mlp-location-bar__label"},n6={class:"mlp-tabs","data-testid":"media-picker-tabs"},o6={key:0,class:"mlp-search-row"},i6=["placeholder"],r6={key:2,class:"mlp-overlay-panel"},s6={key:0,class:"mlp-error","data-testid":"media-picker-error"},l6={key:5,class:"mlp-bottom-bar"},d6={key:0,class:"mlp-bottom-bar__selection"},c6={class:"mlp-bottom-bar__count"},u6={class:"mlp-bottom-bar__thumbs"},m6=["src","alt"],p6={key:1,class:"mlp-bottom-bar__thumb-placeholder"},f6=["aria-label","onClick"],h6={class:"mlp-bottom-bar__actions"},v6=e.defineComponent({__name:"MediaLibraryPicker",props:{deps:{},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","view-change","error","metric","request-upload-files"],setup(n,{expose:a,emit:t}){const o=n,i=t,r=e.computed(()=>{var I,z,X,le,ve,re,oe,L,R,Z,G,te,ce,me,ge,Te,he,ye,Ne,Ce,nt,et,bt,Vt,yt,Nt,Tt,qe,ft,we,ke,Fe;return{title:((I=o.labels)==null?void 0:I.title)??"Media library",searchPlaceholder:((z=o.labels)==null?void 0:z.searchPlaceholder)??"Search your media",viewLibrary:((X=o.labels)==null?void 0:X.viewLibrary)??"Library",browseAlbums:((le=o.labels)==null?void 0:le.browseAlbums)??"Albums",createAlbum:((ve=o.labels)==null?void 0:ve.createAlbum)??"Create album",createAlbumNameLabel:((re=o.labels)==null?void 0:re.createAlbumNameLabel)??"Album name",emptyLibrary:((oe=o.labels)==null?void 0:oe.emptyLibrary)??"No media found in your library.",emptyAlbum:((L=o.labels)==null?void 0:L.emptyAlbum)??"No media found in this album.",networkError:((R=o.labels)==null?void 0:R.networkError)??"Unable to load media right now.",retry:((Z=o.labels)==null?void 0:Z.retry)??"Retry",selectedCount:((G=o.labels)==null?void 0:G.selectedCount)??(tt=>`${tt} selected`),confirmAction:((te=o.labels)==null?void 0:te.confirmAction)??"Attach selected",cancel:((ce=o.labels)==null?void 0:ce.cancel)??"Cancel",dismiss:((me=o.labels)==null?void 0:me.dismiss)??"Remove",uploadLabel:((ge=o.labels)==null?void 0:ge.uploadLabel)??"Upload",albumUnavailableTitle:((Te=o.labels)==null?void 0:Te.albumUnavailableTitle)??"Album unavailable",albumUnavailableBody:((he=o.labels)==null?void 0:he.albumUnavailableBody)??"You no longer have access to this album.",goToLibrary:((ye=o.labels)==null?void 0:ye.goToLibrary)??"Go to library",allMediaTab:((Ne=o.labels)==null?void 0:Ne.allMediaTab)??"All Media",loadingMedia:((Ce=o.labels)==null?void 0:Ce.loadingMedia)??"Loading media…",loadMore:((nt=o.labels)==null?void 0:nt.loadMore)??"Load more",loadingMore:((et=o.labels)==null?void 0:et.loadingMore)??"Loading…",uploadDropzone:((bt=o.labels)==null?void 0:bt.uploadDropzone)??"Drop files here or browse",uploadDropzoneHelper:((Vt=o.labels)==null?void 0:Vt.uploadDropzoneHelper)??"",uploadDone:((yt=o.labels)==null?void 0:yt.uploadDone)??"Done",uploadDoneAria:((Nt=o.labels)==null?void 0:Nt.uploadDoneAria)??"Close upload panel",uploadFileInputLabel:((Tt=o.labels)==null?void 0:Tt.uploadFileInputLabel)??"Choose media files",previewClose:((qe=o.labels)==null?void 0:qe.previewClose)??"Close preview",previewPrevious:((ft=o.labels)==null?void 0:ft.previewPrevious)??"Previous media",previewNext:((we=o.labels)==null?void 0:we.previewNext)??"Next media",previewSelect:((ke=o.labels)==null?void 0:ke.previewSelect)??"Select media",previewDeselect:((Fe=o.labels)==null?void 0:Fe.previewDeselect)??"Deselect media"}}),s={deps:o.deps,selectionMode:o.selectionMode,initialView:o.initialView,initialFilters:o.initialFilters,...o.maxSelection!==void 0?{maxSelection:o.maxSelection}:{},...o.modelValue.length>0||o.defaultSelectedIds.length>0?{defaultSelectedIds:o.modelValue.length>0?o.modelValue:o.defaultSelectedIds}:{},...o.sessionPolicy?{sessionPolicy:o.sessionPolicy}:{},...o.enableUpload?{enableUpload:!0}:{},uploadBehavior:o.uploadBehavior,...o.uploadTarget?{uploadTarget:o.uploadTarget}:{},...o.autoSelectUploaded?{autoSelectUploaded:!0}:{},...o.validateSelection?{validateSelection:o.validateSelection}:{},...o.allowedMediaKinds&&o.allowedMediaKinds.length>0?{allowedMediaKinds:o.allowedMediaKinds}:{},preserveSelectionOnViewChange:o.preserveSelectionOnViewChange,telemetry:I=>{var z;(z=o.telemetry)==null||z.call(o,I),i("metric",I)}},l=ef(s),d=e.ref(o.initialFilters.query??""),c=e.ref(o.enableUpload?"upload":"media"),u=e.ref(!1),f=JSON.stringify(o.modelValue.length>0?o.modelValue:o.defaultSelectedIds);let m=null;const p=e.computed(()=>JSON.stringify(l.orderedIds.value)!==f),h=e.computed(()=>l.view.value.scope==="album"?r.value.emptyAlbum:r.value.emptyLibrary),v=e.computed(()=>r.value.selectedCount(l.selectedItems.value.length)),k=e.computed(()=>l.view.value.scope==="album"?l.view.value.albumName??"Album":r.value.viewLibrary),V=e.computed(()=>l.view.value.scope==="album"),B=()=>{m!==null&&(window.clearTimeout(m),m=null)},_=()=>{i("update:modelValue",[...l.orderedIds.value]),i("selection-change",{orderedIds:[...l.orderedIds.value],items:[...l.selectedItems.value],dirty:p.value})},g=I=>{I!==null&&i("error",I)},E=I=>typeof I.code=="string",S=I=>typeof I=="object"&&I!==null&&"code"in I&&typeof I.code=="string",N=()=>{const I=l.confirmSelection();if(E(I)){g(I);return}i("confirm",{...I,dirty:p.value})},C=(I="user")=>{i("cancel",{dirty:p.value,reason:I,sessionId:l.sessionId})},A=async()=>{c.value="albums",await l.loadAlbums()},j=async()=>{await l.goToLibrary(),c.value="albums",await l.loadAlbums()},x=I=>{l.setView({scope:"album",albumId:I.id,albumName:I.name}),c.value="media"},F=async(I,z)=>{const X=l.view.value,le=await l.createAlbum(I,z);if(S(le)){g(le);return}u.value=!1,c.value="media",i("view-change",{from:X,to:{scope:"album",albumId:le.id,albumName:le.name},reason:"inline-album-created",restoredFromSession:!1})},y=async I=>{if(o.uploadBehavior==="delegate"){i("request-upload-files",{files:[...I],view:l.view.value,filters:l.filters.value,sessionId:l.sessionId});return}await l.addUploadFiles(I)};function D(I){var z;return I?I.thumbnail_url??((z=I.conversion_urls)==null?void 0:z.thumb)??I.preview_url??I.original_url??I.url??null:null}function P(I){return I!=null&&I.mime_type?I.mime_type.startsWith("image/"):!1}e.watch(()=>d.value,I=>{B(),m=window.setTimeout(()=>{l.setQuery(I)},250)}),e.watch(()=>l.selectedItems.value,()=>{_()},{deep:!0}),e.watch(()=>l.error.value,I=>{g(I)}),e.watch(()=>o.enableUpload,I=>{!I&&c.value==="upload"&&(c.value="media")}),e.onMounted(()=>{l.initialize()}),e.onBeforeUnmount(()=>{B()}),a({refresh:l.refresh});function O(I){if(I==="albums"){A();return}if(I==="upload"&&!o.enableUpload){c.value="media";return}c.value=I}const U=e.computed(()=>({activeTab:c.value,setActiveTab:O,enableUpload:o.enableUpload,labels:{uploadLabel:r.value.uploadLabel,allMediaTab:r.value.allMediaTab,browseAlbums:r.value.browseAlbums}})),T=e.computed(()=>({query:d.value,setQuery:I=>{d.value=I},placeholder:r.value.searchPlaceholder}));return(I,z)=>(e.openBlock(),e.createElementBlock("section",{class:"media-library-picker","data-testid":I.testIdPrefix},[e.createElementVNode("header",e6,[e.createElementVNode("div",t6,[V.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:j},[...z[8]||(z[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",a6,e.toDisplayString(k.value),1)])]),e.renderSlot(I.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(U.value)),()=>[e.createElementVNode("nav",n6,[I.enableUpload?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="upload"}]),"data-testid":"tab-media-picker-upload",onClick:z[0]||(z[0]=X=>c.value="upload")},e.toDisplayString(r.value.uploadLabel),3)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="media"}]),"data-testid":"tab-media-picker-all",onClick:z[1]||(z[1]=X=>c.value="media")},e.toDisplayString(r.value.allMediaTab),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="albums"}]),"data-testid":"tab-media-picker-albums",onClick:A},e.toDisplayString(r.value.browseAlbums),3)])],!0),c.value==="media"||c.value==="albums"?(e.openBlock(),e.createElementBlock("div",o6,[e.renderSlot(I.$slots,"search",e.normalizeProps(e.guardReactiveProps(T.value)),()=>[z[9]||(z[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":z[2]||(z[2]=X=>d.value=X),class:"mlp-search-row__input",type:"search",placeholder:r.value.searchPlaceholder,"data-testid":"input-media-picker-search"},null,8,i6),[[e.vModelText,d.value]])],!0)])):e.createCommentVNode("",!0),I.enableUpload&&c.value==="upload"?(e.openBlock(),e.createBlock(Wp,{key:1,open:!0,queue:e.unref(l).uploadQueue.value,accept:I.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:z[3]||(z[3]=X=>c.value="media"),onFilesSelected:y},null,8,["queue","accept","upload-label","dropzone-label","dropzone-helper-text","file-input-label","close-button-label","close-button-aria-label"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",r6,[e.createVNode($p,{open:u.value,"name-label":r.value.createAlbumNameLabel,albums:e.unref(l).albums.value,onCancel:z[4]||(z[4]=X=>u.value=!1),onCreate:F},null,8,["open","name-label","albums"])])):e.createCommentVNode("",!0),e.unref(l).permissionDenied.value&&e.unref(l).view.value.scope==="album"?(e.openBlock(),e.createBlock(Dp,{key:3,title:r.value.albumUnavailableTitle,body:r.value.albumUnavailableBody,"action-label":r.value.goToLibrary,onGoToLibrary:e.unref(l).goToLibrary},null,8,["title","body","action-label","onGoToLibrary"])):e.createCommentVNode("",!0),!e.unref(l).permissionDenied.value||e.unref(l).view.value.scope!=="album"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.unref(l).error.value?(e.openBlock(),e.createElementBlock("div",s6,[e.createElementVNode("p",null,e.toDisplayString(e.unref(l).error.value.message||r.value.networkError),1),e.createElementVNode("button",{type:"button",class:"mlp-error__retry",onClick:z[5]||(z[5]=(...X)=>e.unref(l).refresh&&e.unref(l).refresh(...X))},e.toDisplayString(r.value.retry),1)])):e.createCommentVNode("",!0),c.value==="media"?(e.openBlock(),e.createBlock(Hp,{key:1,items:e.unref(l).queryItems.value,"selected-items":e.unref(l).selectedItems.value,loading:e.unref(l).loading.value,"loading-more":e.unref(l).loadingMore.value,"has-more":e.unref(l).hasMore.value,"empty-message":h.value,"loading-message":r.value.loadingMedia,"load-more-label":r.value.loadMore,"loading-more-label":r.value.loadingMore,"test-id-prefix":`${I.testIdPrefix}-item`,onToggle:e.unref(l).toggleSelection,onPreview:e.unref(l).openPreview,onLoadMore:e.unref(l).loadMore},null,8,["items","selected-items","loading","loading-more","has-more","empty-message","loading-message","load-more-label","loading-more-label","test-id-prefix","onToggle","onPreview","onLoadMore"])):c.value==="albums"?(e.openBlock(),e.createBlock(jp,{key:2,open:!0,"current-view":e.unref(l).view.value,albums:e.unref(l).albums.value,"view-library-label":r.value.viewLibrary,"browse-albums-label":r.value.browseAlbums,"create-album-label":r.value.createAlbum,"enable-album-creation":I.enableAlbumCreation,onSelectLibrary:j,onSelectAlbum:x,onCreateAlbum:z[6]||(z[6]=X=>u.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),I.showFooter?(e.openBlock(),e.createElementBlock("footer",l6,[e.unref(l).selectedItems.value.length>0?(e.openBlock(),e.createElementBlock("div",d6,[e.createElementVNode("span",c6,e.toDisplayString(v.value),1),e.createElementVNode("div",u6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).selectedItems.value,X=>{var le,ve,re;return e.openBlock(),e.createElementBlock("div",{key:X.id,class:"mlp-bottom-bar__thumb-item"},[P(X.media)&&D(X.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:D(X.media),alt:((le=X.media)==null?void 0:le.alt_text)??((ve=X.media)==null?void 0:ve.file_name)??"Selected",class:"mlp-bottom-bar__thumb-img"},null,8,m6)):(e.openBlock(),e.createElementBlock("div",p6,[...z[10]||(z[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} ${((re=X.media)==null?void 0:re.file_name)??X.id}`,"data-testid":"btn-media-picker-remove-selected",onClick:oe=>e.unref(l).removeSelected(X.id)},[...z[11]||(z[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,f6)])}),128))])])):e.createCommentVNode("",!0),e.createElementVNode("div",h6,[e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__cancel","data-testid":"btn-media-picker-cancel",onClick:z[7]||(z[7]=X=>C())},e.toDisplayString(r.value.cancel),1),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__confirm","data-testid":"btn-media-picker-confirm",onClick:N},e.toDisplayString(r.value.confirmAction),1)])])):e.createCommentVNode("",!0),I.enablePreview?(e.openBlock(),e.createBlock(zp,{key:6,open:e.unref(l).previewItem.value!==null,media:e.unref(l).previewItem.value,"can-go-previous":e.unref(l).previewIndex.value!==null&&e.unref(l).previewIndex.value>0,"can-go-next":e.unref(l).previewIndex.value!==null&&e.unref(l).previewIndex.value<e.unref(l).queryItems.value.length-1,selected:e.unref(l).previewItem.value!==null&&e.unref(l).orderedIds.value.includes(e.unref(l).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(l).closePreview,onPrevious:e.unref(l).showPreviousPreview,onNext:e.unref(l).showNextPreview,onToggleSelect:e.unref(l).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,QF))}}),tf=Ie(v6,[["__scopeId","data-v-68a73e25"]]),g6={key:0,class:"media-library-picker-modal","data-testid":"media-library-picker-modal"},b6={class:"media-library-picker-modal__panel"},y6=e.defineComponent({__name:"MediaLibraryPickerModal",props:{deps:{},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(n,{emit:a}){const t=n,o=a,i=()=>{t.closeOnBackdrop&&o("close")};return(r,s)=>r.isOpen?(e.openBlock(),e.createElementBlock("div",g6,[e.createElementVNode("button",{type:"button",class:"media-library-picker-modal__backdrop","aria-label":"Close media picker",onClick:i}),e.createElementVNode("div",b6,[e.createVNode(tf,e.mergeProps(t,{"onUpdate:modelValue":s[0]||(s[0]=l=>o("update:modelValue",l)),onConfirm:s[1]||(s[1]=l=>o("confirm",l)),onCancel:s[2]||(s[2]=l=>o("cancel",l))}),null,16)])])):e.createCommentVNode("",!0)}}),w6=Ie(y6,[["__scopeId","data-v-a92e8703"]]),k6={key:0,class:"media-selection-tray","data-testid":"media-selection-tray"},_6={class:"media-selection-tray__header"},E6={class:"media-selection-tray__title"},x6={class:"media-selection-tray__items"},S6={class:"media-selection-tray__item-preview"},C6=["src","alt"],V6={key:1,class:"media-selection-tray__file-icon"},N6={class:"media-selection-tray__item-copy"},T6=["aria-label","onClick"],M6=e.defineComponent({__name:"MediaSelectionTray",props:{items:{},selectedCountLabel:{default:"Selected items"},dismissLabel:{default:"Remove"}},emits:["remove"],setup(n,{emit:a}){const t=a;function o(r){var s;return r?r.thumbnail_url??((s=r.conversion_urls)==null?void 0:s.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,s)=>r.items.length>0?(e.openBlock(),e.createElementBlock("section",k6,[e.createElementVNode("header",_6,[e.createElementVNode("h3",E6,e.toDisplayString(r.selectedCountLabel),1)]),e.createElementVNode("div",x6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>{var d,c,u,f;return e.openBlock(),e.createElementBlock("article",{key:l.id,class:"media-selection-tray__item"},[e.createElementVNode("div",S6,[i(l.media)&&o(l.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:o(l.media),alt:((d=l.media)==null?void 0:d.alt_text)??((c=l.media)==null?void 0:c.file_name)??"Selected media",class:"media-selection-tray__thumb"},null,8,C6)):(e.openBlock(),e.createElementBlock("div",V6,[...s[0]||(s[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",N6,[e.createElementVNode("strong",null,e.toDisplayString(((u=l.media)==null?void 0:u.file_name)??l.id),1),e.createElementVNode("span",null,e.toDisplayString(l.status),1)]),e.createElementVNode("button",{type:"button",class:"media-selection-tray__remove","aria-label":`${r.dismissLabel} ${((f=l.media)==null?void 0:f.file_name)??l.id}`,onClick:m=>t("remove",l.id)},e.toDisplayString(r.dismissLabel),9,T6)])}),128))])])):e.createCommentVNode("",!0)}}),B6=Ie(M6,[["__scopeId","data-v-f2a3d69d"]]);function Ed(n={}){const a=e.ref(!1),t=e.ref(!1),o=e.ref(null),i=e.ref(null),r=e.ref(0),s=e.ref(null),l=e.ref(null),d=e.computed(()=>l.value!==null),c=V=>{if(r.value++,l.value=null,i.value=null,t.value=!1,V!=null&&typeof V=="object"&&!(V instanceof Blob)&&("image"in V||"state"in V||"sessionKey"in V)){const B=V;o.value=B.image??null,s.value=B.state??null}else o.value=V??null,s.value=null;a.value=!0},u=()=>{a.value=!1,o.value=null,i.value=null,l.value=null,t.value=!1,s.value=null},f=async V=>{try{return t.value=!0,i.value=V,n.onSave&&await n.onSave(V),u(),V}catch(B){const _=B;throw l.value=_,n.onError&&n.onError(_),_}finally{t.value=!1}},m=()=>{n.onCancel&&n.onCancel(),u()},p=V=>{l.value=V,n.onError&&n.onError(V)},h=()=>{l.value=null},v=()=>i.value,k=e.computed(()=>a.value&&i.value!==null&&!t.value);return{isOpen:a,isProcessing:t,uploadedImage:o,editedImage:i,sessionKey:r,initialState:s,error:l,hasError:d,hasUnsavedChanges:k,open:c,close:u,handleSave:f,handleCancel:m,handleError:p,clearError:h,getEditedImage:v}}let qs=null;function I6(n){return qs||(qs=Ed(n)),qs}function F6(n){return a=>new Promise((t,o)=>{Ed({...n,onSave:async r=>{n!=null&&n.onSave&&await n.onSave(r),t(r)},onError:r=>{n!=null&&n.onError&&n.onError(r),o(r)},onCancel:()=>{n!=null&&n.onCancel&&n.onCancel(),o(new Error("User cancelled"))}}).open(a)})}function xd(n){return n.filter(a=>a.media&&!a.markedForRemoval).map((a,t)=>{const o={uuid:a.media.uuid,name:a.name,order:t};return a.customProperties&&(o.custom_properties=a.customProperties),o})}function Ol(n){return n.map((a,t)=>{const o={media:a,clientId:a.uuid,name:a.name||a.file_name,order:t};return a.custom_properties&&(o.customProperties=a.custom_properties),o})}function Sd(n){if(n){const t={};n.apiBaseUrl!==void 0&&(t.apiBaseUrl=n.apiBaseUrl),n.isAdmin!==void 0&&(t.isAdmin=n.isAdmin),yo(t)}return{name:"mediables",async upload(t,o){const r=await ha().uploadFile(t,{collection:(o==null?void 0:o.collection)||"default",customProperties:o==null?void 0:o.customProperties});if(!r)throw new Error("Upload failed: No media returned");return{media:r,uuid:r.uuid}},async attach(t,o){await ha().attachMedia(o.modelType,String(o.modelId),[t],o.collection||"images")},async attachMany(t,o){await ha().attachMedia(o.modelType,String(o.modelId),t,o.collection||"images")},async detach(t,o){await ha().detachMedia(o.modelType,String(o.modelId),t,o.collection||"images")},async reorder(t,o){await ha().reorderMedia(t.modelType,String(t.modelId),o,t.collection||"images")},async fetchModelMedia(t){return await ha().fetchModelMedia(t.modelType,String(t.modelId),t.collection||"images")},getUrl(t,o){return ha().getMediaUrl(t,o)},getThumbnailUrl(t){var o,i;return(o=t.conversion_urls)!=null&&o.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 ha().deleteMedia(t)},async update(t,o){const r=await ha().updateMedia(t,o);if(!r)throw new Error("Update failed: No media returned");return r},configure(t){const o={};t.apiBaseUrl!==void 0&&(o.apiBaseUrl=t.apiBaseUrl),t.isAdmin!==void 0&&(o.isAdmin=t.isAdmin),yo(o)}}}let yr=null;function $6(){return yr||(yr=Sd()),yr}function D6(){yr=null}const R6={apiBaseUrl:"/media-library-pro"};function rr(){var n;return typeof document>"u"?null:((n=document.querySelector('meta[name="csrf-token"]'))==null?void 0:n.getAttribute("content"))||null}function Ys(n){const a={uuid:n.uuid,file_name:n.fileName||n.name,mime_type:`application/${n.extension}`,size:n.size,disk:"public",original_url:n.original_url||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return n.name&&(a.name=n.name),n.original_url&&(a.url=n.original_url),n.preview_url&&(a.thumbnail_url=n.preview_url,a.preview_url=n.preview_url),n.custom_properties&&(a.custom_properties=n.custom_properties),a}function Cd(n){const a={...R6,...n};return{name:"spatie",async upload(o,i){const r=new FormData;r.append("file",o),i!=null&&i.collection&&r.append("collection",i.collection),i!=null&&i.customProperties&&r.append("custom_properties",JSON.stringify(i.customProperties));const s={Accept:"application/json",...a.headers},l=a.csrfToken||rr();l&&(s["X-CSRF-TOKEN"]=l);const d={method:"POST",headers:s,body:r,credentials:"include"};i!=null&&i.signal&&(d.signal=i.signal);const c=await fetch(`${a.apiBaseUrl}/uploads`,d);if(!c.ok){const m=await c.json().catch(()=>({message:"Upload failed"}));throw new Error(m.message||`HTTP ${c.status}`)}const u=await c.json(),f=Ys(u);return i!=null&&i.onProgress&&i.onProgress(100),{media:f,uuid:u.uuid}},async attach(o,i){},async attachMany(o,i){},async detach(o,i){},async reorder(o,i){},async fetchModelMedia(o){const i={Accept:"application/json",...a.headers},r=a.csrfToken||rr();r&&(i["X-CSRF-TOKEN"]=r);const s=new URLSearchParams;s.append("model_type",o.modelType),s.append("model_id",String(o.modelId)),o.collection&&s.append("collection",o.collection);try{const l=await fetch(`${a.apiBaseUrl}/media?${s}`,{method:"GET",headers:i,credentials:"include"});if(!l.ok)throw new Error(`HTTP ${l.status}`);return(await l.json()).map(Ys)}catch{return[]}},getUrl(o,i){var r;if(i){const s=(r=o.conversion_urls)==null?void 0:r[i];if(s)return s}return o.original_url||o.url||""},getThumbnailUrl(o){var i,r;return o.preview_url?o.preview_url:(i=o.conversion_urls)!=null&&i.preview?o.conversion_urls.preview:o.thumbnail_url?o.thumbnail_url:(r=o.conversion_urls)!=null&&r.thumb?o.conversion_urls.thumb:o.original_url||o.url||""},async delete(o){const i={Accept:"application/json",...a.headers},r=a.csrfToken||rr();r&&(i["X-CSRF-TOKEN"]=r);const s=await fetch(`${a.apiBaseUrl}/uploads/${o}`,{method:"DELETE",headers:i,credentials:"include"});if(!s.ok){const l=await s.json().catch(()=>({message:"Delete failed"}));throw new Error(l.message||`HTTP ${s.status}`)}},async update(o,i){const r={Accept:"application/json","Content-Type":"application/json",...a.headers},s=a.csrfToken||rr();s&&(r["X-CSRF-TOKEN"]=s);const l=await fetch(`${a.apiBaseUrl}/uploads/${o}`,{method:"PATCH",headers:r,body:JSON.stringify(i),credentials:"include"});if(!l.ok){const c=await l.json().catch(()=>({message:"Update failed"}));throw new Error(c.message||`HTTP ${l.status}`)}const d=await l.json();return Ys(d)},configure(o){Object.assign(a,o)}}}let wr=null;function A6(){return wr||(wr=Cd()),wr}function L6(){wr=null}function af(n,a){switch(n){case"mediables":return Sd(a);case"spatie":return Cd(a);default:throw new Error(`Unknown adapter: ${n}`)}}function nf(n={}){const{enabled:a=!0,onReorder:t,onDragStart:o,onDragEnd:i,draggingClass:r="is-dragging",dropTargetClass:s="is-drop-target"}=n,l=e.ref({isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null}),d=e.ref(!1);let c=null;function u(B,_,g){a&&("dataTransfer"in B&&B.dataTransfer&&(B.dataTransfer.effectAllowed="move",B.dataTransfer.setData("text/plain",String(g))),c=B.target,c&&c.classList.add(r),l.value={isDragging:!0,dragIndex:g,dropIndex:g,draggedItem:_},d.value=!0,o==null||o(_,g))}function f(B,_){var g;if(!(!a||!l.value.isDragging)&&(B.preventDefault(),l.value.dropIndex!==_)){const E=document.querySelector(`.${s}`);E==null||E.classList.remove(s);const S=(g=B.target)==null?void 0:g.closest("[data-index]");S==null||S.classList.add(s),l.value.dropIndex=_}}function m(){if(!l.value.isDragging)return;const{dragIndex:B,dropIndex:_,draggedItem:g}=l.value;c&&c.classList.remove(r);const E=document.querySelector(`.${s}`);E==null||E.classList.remove(s),B!==null&&_!==null&&B!==_&&g&&(t==null||t({fromIndex:B,toIndex:_,item:g})),h(),i==null||i()}function p(){c&&c.classList.remove(r);const B=document.querySelector(`.${s}`);B==null||B.classList.remove(s),h(),i==null||i()}function h(){l.value={isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null},d.value=!1,c=null}function v(B,_,g){const E=[...B],[S]=E.splice(_,1);return E.splice(g,0,S),E.map((N,C)=>({...N,order:C}))}function k(B,_){return{draggable:a,"data-index":_,onDragstart:g=>u(g,B,_),onDragover:g=>f(g,_),onDragend:()=>m(),onDrop:g=>{g.preventDefault(),m()}}}function V(B){B.key==="Escape"&&l.value.isDragging&&p()}return e.onMounted(()=>{document.addEventListener("keydown",V)}),e.onUnmounted(()=>{document.removeEventListener("keydown",V),p()}),{dragState:l,isDragging:d,startDrag:u,handleDragOver:f,endDrag:m,cancelDrag:p,reorderItems:v,getDragProps:k}}function fs(n={}){const{initialItems:a=[],modelType:t,modelId:o,collection:i="images",maxItems:r,maxFileSize:s,acceptedMimeTypes:l,sortable:d=!0,disabled:c=!1,rules:u={},adapterType:f="mediables",adapter:m,maxConcurrentUploads:p=3,onChange:h,onUpload:v,onUploadComplete:k,onUploadError:V,onRemove:B,onReorder:_,onError:g,onReadyToSubmitChange:E}=n,S={maxItems:r,maxFileSize:s,acceptedMimeTypes:l,...u},N=m||af(f),C=e.ref([]),A=e.ref(!1),j=e.ref([]);function x(he){if(he.length===0)return[];const ye=he[0];return"media"in ye&&"clientId"in ye?he:Ol(he)}C.value=x(a);const{acceptString:F,canAddFiles:y}=wd({rules:S}),D=kd({adapter:N,maxConcurrent:p,rules:S,collection:i,onUploadStart:he=>{v==null||v(he)},onUploadComplete:(he,ye)=>{const Ne=C.value.findIndex(Ce=>Ce.clientId===he.id);Ne!==-1&&(C.value[Ne]={...C.value[Ne],media:ye,name:ye.name||ye.file_name,upload:{...he,status:"completed"}}),k==null||k(ye)},onUploadError:(he,ye)=>{const Ne=C.value.findIndex(Ce=>Ce.clientId===he.id);Ne!==-1&&(C.value[Ne]={...C.value[Ne],upload:{...he,status:"error",error:ye.message},errors:[{field:"upload",message:ye.message,code:"UPLOAD_ERROR"}]}),V==null||V({file:he.file,message:ye.message})},onQueueComplete:()=>{h==null||h(C.value)}}),{dragState:P,getDragProps:O,reorderItems:U}=nf({enabled:d&&!c,onReorder:he=>{C.value=U(C.value,he.fromIndex,he.toIndex),_==null||_(C.value),h==null||h(C.value)}}),T=e.computed(()=>D.isUploading.value),I=e.computed(()=>!D.isUploading.value&&D.pendingCount.value===0),z=e.computed(()=>r?C.value.length>=r:!1),X=e.computed(()=>xd(C.value)),le=e.computed(()=>C.value.length),ve=e.computed(()=>r?Math.max(0,r-C.value.length):1/0);e.watch(I,he=>{E==null||E(he)});function re(he){C.value=x(he),h==null||h(C.value)}async function oe(he){if(c)return;const ye=Array.from(he);if(!y(ye.length,C.value.length)){const et={field:"count",message:`Maximum ${r} files allowed`,code:"MAX_ITEMS"};j.value=[et],g==null||g([et]);return}const Ne=await D.addFiles(ye),Ce=C.value.length,nt=Ne.map((et,bt)=>({...et,order:Ce+bt}));C.value=[...C.value,...nt],h==null||h(C.value)}function L(he){c||(he.upload&&(he.upload.status==="uploading"||he.upload.status==="pending")&&D.cancelUpload(he.clientId),C.value=C.value.filter(ye=>ye.clientId!==he.clientId),C.value=C.value.map((ye,Ne)=>({...ye,order:Ne})),B==null||B(he),h==null||h(C.value))}function R(he){const ye=C.value.find(Ne=>Ne.clientId===he);ye&&L(ye)}function Z(){c||(D.clearAll(),C.value=[],h==null||h(C.value))}function G(he,ye){c||!d||(C.value=U(C.value,he,ye),_==null||_(C.value),h==null||h(C.value))}function te(he,ye){if(c)return;const Ne=C.value.findIndex(Ce=>Ce.clientId===he);Ne!==-1&&(C.value[Ne]={...C.value[Ne],...ye},h==null||h(C.value))}function ce(he){D.cancelUpload(he),R(he)}async function me(he){await D.retryUpload(he)}async function ge(){if(!t||!o)throw new Error("modelType and modelId are required for save()");const he={modelType:t,modelId:o,collection:i},ye=C.value.filter(Ne=>Ne.media&&!Ne.markedForRemoval).map(Ne=>Ne.media.uuid);A.value=!0;try{await N.attachMany(ye,he),await N.reorder(he,ye)}finally{A.value=!1}}async function Te(){if(!t||!o)throw new Error("modelType and modelId are required for load()");const he={modelType:t,modelId:o,collection:i};A.value=!0;try{const ye=await N.fetchModelMedia(he);C.value=Ol(ye),h==null||h(C.value)}finally{A.value=!1}}return e.onMounted(()=>{t&&o&&a.length===0&&Te().catch(console.error)}),e.onUnmounted(()=>{D.clearAll()}),{items:C,setItems:re,addFiles:oe,removeItem:L,removeItemById:R,clearAll:Z,reorderItems:G,updateItem:te,cancelUpload:ce,retryUpload:me,save:ge,load:Te,isLoading:A,isUploading:T,isReadyToSubmit:I,isAtMaxItems:z,errors:j,dragState:P,getDragProps:O,adapter:N,formValues:X,acceptString:F,count:le,remainingSlots:ve}}const P6=["aria-disabled"],O6=["accept","multiple","disabled"],U6={class:"media-dropzone__content"},z6={class:"media-dropzone__title"},j6={class:"media-dropzone__subtitle"},W6=["disabled"],Z6={key:0,class:"media-dropzone__helper"},H6=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=e.ref(null),s=e.computed(()=>({"media-dropzone":!0,"media-dropzone--drag-over":i.value,"media-dropzone--disabled":t.disabled})),l=e.computed(()=>{const v=[];return t.maxFileSize&&v.push(`Max size: ${Pr(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 f(v){var V;if(v.preventDefault(),i.value=!1,t.disabled)return;const k=(V=v.dataTransfer)==null?void 0:V.files;k&&k.length>0&&o("files",k)}function m(){var v;t.disabled||(v=r.value)==null||v.click()}function p(v){const k=v.target,V=k.files;V&&V.length>0&&o("files",V),k.value=""}function h(v){(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())}return(v,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value),role:"button",tabindex:"0","aria-disabled":v.disabled,"aria-label":"Upload files",onClick:m,onKeydown:h,onDragenter:d,onDragleave:c,onDragover:u,onDrop:f},[e.createElementVNode("input",{ref_key:"fileInput",ref:r,type:"file",accept:v.accept,multiple:v.multiple,disabled:v.disabled,class:"media-dropzone__input",onChange:p},null,40,O6),e.createElementVNode("div",U6,[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",z6,[e.renderSlot(v.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(v.title),1)],!0)]),e.createElementVNode("p",j6,[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(m,["stop"])},[e.renderSlot(v.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(v.buttonText),1)],!0)],8,W6),l.value?(e.openBlock(),e.createElementBlock("p",Z6,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)])],42,P6))}}),Vd=Ie(H6,[["__scopeId","data-v-b1366c1e"]]),X6=["data-index"],G6={key:0,class:"media-item__drag-handle","aria-label":"Drag to reorder",role:"button",tabindex:"0"},J6={class:"media-item__thumbnail"},K6=["src","alt"],q6={key:1,class:"media-item__file-icon"},Y6={key:2,class:"media-item__progress-overlay"},Q6={class:"media-item__progress-text"},e$={key:3,class:"media-item__processing-overlay"},t$={key:4,class:"media-item__error-overlay"},a$={class:"media-item__info"},n$=["title"],o$={key:0,class:"media-item__size"},i$={key:1,class:"media-item__error-message"},r$={class:"media-item__actions"},s$=["disabled"],l$=["disabled"],d$=["disabled"],c$=["disabled"],u$=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=e.computed(()=>{var _;return(_=t.item.upload)!=null&&_.previewUrl?t.item.upload.previewUrl:t.item.media?t.adapter.getThumbnailUrl(t.item.media):null}),s=e.computed(()=>{var _,g,E;return((_=t.item.upload)==null?void 0:_.status)==="uploading"||((g=t.item.upload)==null?void 0:g.status)==="pending"||((E=t.item.upload)==null?void 0:E.status)==="queued"}),l=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.status)==="processing"}),d=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.status)==="error"||t.item.errors&&t.item.errors.length>0}),c=e.computed(()=>{var _;return(_=t.item.upload)!=null&&_.error?t.item.upload.error:t.item.errors&&t.item.errors.length>0?t.item.errors[0].message:null}),u=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.progress)||0}),f=e.computed(()=>{var _;return t.item.name||((_=t.item.media)==null?void 0:_.file_name)||"Unknown file"}),m=e.computed(()=>{var N,C;const _=((N=t.item.media)==null?void 0:N.size)||((C=t.item.upload)==null?void 0:C.file.size);if(!_)return"";const g=1024,E=["Bytes","KB","MB","GB"],S=Math.floor(Math.log(_)/Math.log(g));return parseFloat((_/Math.pow(g,S)).toFixed(2))+" "+E[S]}),p=e.computed(()=>{var g,E;const _=((g=t.item.media)==null?void 0:g.mime_type)||((E=t.item.upload)==null?void 0:E.file.type);return _==null?void 0:_.startsWith("image/")}),h=e.computed(()=>({"media-item":!0,"media-item--uploading":s.value,"media-item--processing":l.value,"media-item--error":d.value,"media-item--disabled":t.disabled,"media-item--sortable":t.sortable}));function v(){t.disabled||o("remove",t.item)}function k(){t.disabled||o("edit",t.item)}function V(){t.disabled||o("retry",t.item)}function B(){t.disabled||o("cancel",t.item)}return(_,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value),"data-index":_.index,onMouseenter:g[0]||(g[0]=E=>i.value=!0),onMouseleave:g[1]||(g[1]=E=>i.value=!1)},[_.sortable&&!_.disabled?(e.openBlock(),e.createElementBlock("div",G6,[...g[2]||(g[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",J6,[r.value&&p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.value,alt:f.value,class:"media-item__image"},null,8,K6)):(e.openBlock(),e.createElementBlock("div",q6,[...g[3]||(g[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)])])),s.value?(e.openBlock(),e.createElementBlock("div",Y6,[e.createElementVNode("div",{class:"media-item__progress-bar",style:e.normalizeStyle({width:`${u.value}%`})},null,4),e.createElementVNode("span",Q6,e.toDisplayString(u.value)+"%",1)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",e$,[...g[4]||(g[4]=[e.createElementVNode("div",{class:"media-item__spinner","aria-label":"Processing"},null,-1)])])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",t$,[...g[5]||(g[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",a$,[e.createElementVNode("span",{class:"media-item__name",title:f.value},e.toDisplayString(f.value),9,n$),m.value?(e.openBlock(),e.createElementBlock("span",o$,e.toDisplayString(m.value),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("span",i$,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",r$,[s.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-item__action media-item__action--cancel",disabled:_.disabled,"aria-label":"Cancel upload",onClick:B},[...g[6]||(g[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,s$)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-item__action media-item__action--retry",disabled:_.disabled,"aria-label":"Retry upload",onClick:V},[...g[7]||(g[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,l$)):e.createCommentVNode("",!0),_.showEdit&&_.item.media&&!s.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-item__action media-item__action--edit",disabled:_.disabled,"aria-label":"Edit",onClick:k},[...g[8]||(g[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,d$)):e.createCommentVNode("",!0),_.showRemove?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-item__action media-item__action--remove",disabled:_.disabled,"aria-label":"Remove",onClick:v},[...g[9]||(g[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,c$)):e.createCommentVNode("",!0)])],42,X6))}}),Nd=Ie(u$,[["__scopeId","data-v-ff81c9ec"]]),m$=["aria-label"],p$=["draggable","data-index","onDragstart","onDragover","onDragend","onDrop"],f$={key:0,class:"media-collection__footer"},h$={class:"media-collection__count"},v$={key:0},g$={key:0,class:"media-collection__uploading"},b$=["name","value"],y$=["name","value"],w$=["name","value"],k$=["name","value"],_$={key:3,class:"media-collection__errors",role:"alert","aria-live":"polite"},E$=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(n,{emit:a}){const t=n,o=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:T=>{o("update:modelValue",T),o("change",T)},onUpload:T=>{o("upload",T)},onUploadComplete:T=>{o("upload-complete",T)},onUploadError:T=>{o("upload-error",T)},onRemove:T=>{o("remove",T)},onReorder:T=>{o("reorder",T)},onError:T=>{o("validation-error",T)},onReadyToSubmitChange:T=>{o("is-ready-to-submit-change",T)}},{items:r,setItems:s,addFiles:l,removeItem:d,reorderItems:c,cancelUpload:u,retryUpload:f,isLoading:m,isUploading:p,isAtMaxItems:h,errors:v,dragState:k,getDragProps:V,adapter:B,formValues:_,acceptString:g,count:E,remainingSlots:S}=fs(i);e.provide("mediaAdapter",B),e.provide("mediaCollection",{items:r,addFiles:l,removeItem:d,reorderItems:c}),e.watch(()=>t.modelValue,T=>{T!==r.value&&s(T)},{deep:!0});const N=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),C=e.computed(()=>({"media-collection":!0,"media-collection--disabled":t.disabled,"media-collection--readonly":t.readonly,"media-collection--loading":m.value,"media-collection--has-items":r.value.length>0,"media-collection--dragging":k.value.isDragging}));function A(T){l(T)}function j(T){d(T)}function x(T){f(T.clientId)}function F(T){u(T.clientId)}function y(T){}function D(T,I,z){if(!t.sortable||t.disabled)return;const X=V(I,z);X.onDragstart&&X.onDragstart(T)}function P(T,I){if(!t.sortable||t.disabled)return;T.preventDefault();const z=r.value[I],X=V(z,I);X.onDragover&&X.onDragover(T)}function O(T,I){const z=V(T,I);z.onDragend&&z.onDragend()}function U(T,I){T.preventDefault();const z=r.value[I],X=V(z,I);X.onDrop&&X.onDrop(T)}return(T,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[e.renderSlot(T.$slots,"dropzone",{addFiles:e.unref(l)},()=>[N.value?(e.openBlock(),e.createBlock(Vd,{key:0,accept:e.unref(g),multiple:T.maxItems!==1,disabled:T.disabled,"max-file-size":T.maxFileSize,"max-items":e.unref(S),onFiles:A},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(E)} media items`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(z,X)=>e.renderSlot(T.$slots,"item",{key:z.clientId,item:z,index:X,remove:()=>j(z)},()=>[e.createElementVNode("div",{class:e.normalizeClass(["media-collection__item-wrapper",{"media-collection__item-wrapper--drag-over":e.unref(k).dropIndex===X}]),draggable:T.sortable&&!T.disabled,"data-index":X,onDragstart:le=>D(le,z,X),onDragover:le=>P(le,X),onDragend:le=>O(z,X),onDrop:le=>U(le,X)},[e.createVNode(Nd,{item:z,adapter:e.unref(B),disabled:T.disabled,sortable:T.sortable,"show-remove":!T.readonly,"show-edit":!1,index:X,onRemove:j,onRetry:x,onCancel:F,onEdit:y},null,8,["item","adapter","disabled","sortable","show-remove","index"])],42,p$)],!0)),128))],8,m$)):N.value?e.createCommentVNode("",!0):e.renderSlot(T.$slots,"empty",{key:1},()=>[I[0]||(I[0]=e.createElementVNode("div",{class:"media-collection__empty"},[e.createElementVNode("p",null,"No files uploaded")],-1))],!0),e.renderSlot(T.$slots,"footer",{count:e.unref(E),isUploading:e.unref(p)},()=>[e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",f$,[e.createElementVNode("span",h$,[e.createTextVNode(e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(E)===1?"file":"files")+" ",1),T.maxItems?(e.openBlock(),e.createElementBlock("span",v$," / "+e.toDisplayString(T.maxItems)+" max",1)):e.createCommentVNode("",!0)]),e.unref(p)?(e.openBlock(),e.createElementBlock("span",g$," Uploading... ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0),T.generateFormFields?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}`,type:"hidden",name:`${T.name}[${X}][uuid]`,value:z.uuid},null,8,b$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}-name`,type:"hidden",name:`${T.name}[${X}][name]`,value:z.name},null,8,y$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}-order`,type:"hidden",name:`${T.name}[${X}][order]`,value:z.order},null,8,w$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${T.name}-${z.uuid}-props`},[z.custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${T.name}[${X}][custom_properties]`,value:JSON.stringify(z.custom_properties)},null,8,k$)):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",_$,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),z=>(e.openBlock(),e.createElementBlock("p",{key:z.code||z.message,class:"media-collection__error"},e.toDisplayString(z.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),x$=Ie(E$,[["__scopeId","data-v-10a5bfff"]]);function Td(n={}){const{initialItem:a,onChange:t,onReplace:o,onUpload:i,onUploadComplete:r,onUploadError:s,onRemove:l,onError:d,onReadyToSubmitChange:c,...u}=n,m={...u,initialItems:a?[a]:[],maxItems:1,sortable:!1,onChange:N=>{t==null||t(N[0]||null)},onUpload:i,onUploadComplete:r,onUploadError:s,onRemove:l,onError:d,onReadyToSubmitChange:c},p=fs(m),h=e.computed(()=>p.items.value[0]||null),v=e.computed(()=>h.value!==null),k=e.computed(()=>p.formValues.value[0]||null);function V(N){N===null?p.clearAll():p.setItems([N])}async function B(N){const C=h.value;C&&p.removeItem(C),await p.addFiles([N])}function _(){h.value&&p.removeItem(h.value)}async function g(N){const C=h.value;C&&p.removeItem(C),await p.addFiles([N]);const A=p.items.value[0];A&&(o==null||o(C,A))}function E(){var N;(N=h.value)!=null&&N.upload&&p.cancelUpload(h.value.clientId)}async function S(){var N,C;((C=(N=h.value)==null?void 0:N.upload)==null?void 0:C.status)==="error"&&await p.retryUpload(h.value.clientId)}return{item:h,setItem:V,addFile:B,removeItem:_,replaceItem:g,cancelUpload:E,retryUpload:S,save:p.save,load:p.load,isLoading:p.isLoading,isUploading:p.isUploading,isReadyToSubmit:p.isReadyToSubmit,hasItem:v,errors:p.errors,adapter:p.adapter,formValue:k,acceptString:p.acceptString}}const S$=["accept","disabled"],C$={class:"media-attachment__preview"},V$=["name","value"],N$=["name","value"],T$=["name","value"],M$=["name","value"],B$={key:4,class:"media-attachment__errors",role:"alert","aria-live":"polite"},I$=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(n,{emit:a}){const t=n,o=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:x=>{o("update:modelValue",x),o("change",x)},onUpload:x=>{o("upload",x)},onUploadComplete:x=>{o("upload-complete",x)},onUploadError:x=>{o("upload-error",x)},onRemove:x=>{o("remove",x)},onReplace:(x,F)=>{o("replace",F)},onError:x=>{o("validation-error",x)},onReadyToSubmitChange:x=>{o("is-ready-to-submit-change",x)}},{item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,hasItem:h,errors:v,adapter:k,formValue:V,acceptString:B}=Td(r);e.provide("mediaAdapter",k),e.watch(()=>t.modelValue,x=>{x!==s.value&&l(x)},{deep:!0});const _=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),g=e.computed(()=>({"media-attachment":!0,"media-attachment--disabled":t.disabled,"media-attachment--readonly":t.readonly,"media-attachment--loading":p.value,"media-attachment--has-item":h.value}));function E(x){x.length>0&&d(x[0])}function S(){var x;(x=i.value)==null||x.click()}function N(x){const F=x.target,y=F.files;y&&y.length>0&&u(y[0]),F.value=""}function C(x){c()}function A(x){m()}function j(x){f()}return(x,F)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value)},[e.createElementVNode("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:e.unref(B),disabled:x.disabled,class:"media-attachment__hidden-input",onChange:N},null,40,S$),_.value?e.renderSlot(x.$slots,"dropzone",{key:0,addFile:e.unref(d)},()=>[e.createVNode(Vd,{accept:e.unref(B),multiple:!1,disabled:x.disabled,"max-file-size":x.maxFileSize,onFiles:E},null,8,["accept","disabled","max-file-size"])],!0):e.unref(h)&&e.unref(s)?e.renderSlot(x.$slots,"preview",{key:1,item:e.unref(s),remove:e.unref(c),replace:S},()=>[e.createElementVNode("div",C$,[e.createVNode(Nd,{item:e.unref(s),adapter:e.unref(k),disabled:x.disabled,sortable:!1,"show-remove":!x.readonly,"show-edit":!1,onRemove:C,onRetry:A,onCancel:j},null,8,["item","adapter","disabled","show-remove"]),x.showReplaceButton&&!x.readonly&&!x.disabled&&e.unref(s).media?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-attachment__replace-button",onClick:S},[...F[0]||(F[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(x.$slots,"empty",{key:2},()=>[F[1]||(F[1]=e.createElementVNode("div",{class:"media-attachment__empty"},[e.createElementVNode("p",null,"No file selected")],-1))],!0),x.generateFormFields&&e.unref(V)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("input",{type:"hidden",name:`${x.name}[uuid]`,value:e.unref(V).uuid},null,8,V$),e.createElementVNode("input",{type:"hidden",name:`${x.name}[name]`,value:e.unref(V).name},null,8,N$),e.createElementVNode("input",{type:"hidden",name:`${x.name}[order]`,value:e.unref(V).order},null,8,T$),e.unref(V).custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${x.name}[custom_properties]`,value:JSON.stringify(e.unref(V).custom_properties)},null,8,M$)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",B$,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),y=>(e.openBlock(),e.createElementBlock("p",{key:y.code||y.message,class:"media-attachment__error"},e.toDisplayString(y.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),F$=Ie(I$,[["__scopeId","data-v-26911174"]]),of={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"}},$$=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(n,{expose:a,emit:t}){const o=n,i=t,r={initialItems:o.modelValue,modelType:o.modelType,modelId:o.modelId,collection:o.collection,maxItems:o.maxItems,maxFileSize:o.maxFileSize,acceptedMimeTypes:o.acceptedMimeTypes,sortable:o.sortable,disabled:o.disabled,rules:o.rules,adapterType:o.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)},onReorder:x=>{i("reorder",x)},onError:x=>{i("validation-error",x)},onReadyToSubmitChange:x=>{i("is-ready-to-submit-change",x)}},{items:s,setItems:l,addFiles:d,removeItem:c,reorderItems:u,updateItem:f,cancelUpload:m,retryUpload:p,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:V,errors:B,dragState:_,getDragProps:g,adapter:E,formValues:S,acceptString:N}=fs(r);e.provide("mediaAdapter",E),e.provide("mediaCollection",{items:s,addFiles:d,removeItem:c,reorderItems:u}),e.watch(()=>o.modelValue,x=>{x!==s.value&&l(x)},{deep:!0});const C=e.computed(()=>({...of,...o.labels})),A=e.computed(()=>({accept:N.value,multiple:o.maxItems!==1,disabled:o.disabled||o.readonly||V.value})),j=e.computed(()=>({items:s.value,isLoading:h.value,isUploading:v.value,isReadyToSubmit:k.value,isAtMaxItems:V.value,errors:B.value,addFiles:d,removeItem:c,reorderItems:u,clearAll:()=>{s.value.forEach(x=>c(x))},cancelUpload:m,retryUpload:p,labels:C.value,dropzoneProps:A.value}));return a({items:s,addFiles:d,removeItem:c,reorderItems:u,updateItem:f,cancelUpload:m,retryUpload:p,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:V,errors:B,dragState:_,getDragProps:g,adapter:E,formValues:S,acceptString:N}),(x,F)=>e.renderSlot(x.$slots,"default",e.normalizeProps(e.guardReactiveProps(j.value)))}}),D$=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(n,{expose:a,emit:t}){const o=n,i=t,r={initialItem:o.modelValue,modelType:o.modelType,modelId:o.modelId,collection:o.collection,maxFileSize:o.maxFileSize,acceptedMimeTypes:o.acceptedMimeTypes,disabled:o.disabled,rules:o.rules,adapterType:o.adapter,onChange:C=>{i("update:modelValue",C),i("change",C)},onUpload:C=>{i("upload",C)},onUploadComplete:C=>{i("upload-complete",C)},onUploadError:C=>{i("upload-error",C)},onRemove:C=>{i("remove",C)},onReplace:(C,A)=>{i("replace",A)},onError:C=>{i("validation-error",C)},onReadyToSubmitChange:C=>{i("is-ready-to-submit-change",C)}},{item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:V,adapter:B,formValue:_,acceptString:g}=Td(r);e.provide("mediaAdapter",B),e.watch(()=>o.modelValue,C=>{C!==s.value&&l(C)},{deep:!0});const E=e.computed(()=>({...of,...o.labels})),S=e.computed(()=>({accept:g.value,multiple:!1,disabled:o.disabled||o.readonly||k.value})),N=e.computed(()=>({item:s.value,hasItem:k.value,isLoading:p.value,isUploading:h.value,isReadyToSubmit:v.value,errors:V.value,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,labels:E.value,dropzoneProps:S.value}));return a({item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:V,adapter:B,formValue:_,acceptString:g}),(C,A)=>e.renderSlot(C.$slots,"default",e.normalizeProps(e.guardReactiveProps(N.value)))}}),R$=["name","value"],A$=["name","value"],L$=["name","value"],P$=["name","value"],O$=e.defineComponent({__name:"MediaHiddenFields",props:{items:{default:()=>[]},item:{default:null},name:{default:"media"},format:{default:"mediables"}},setup(n){const a=n,t=e.computed(()=>a.item?[a.item]:a.items),o=e.computed(()=>xd(t.value));function i(l,d){var u;const c=((u=o.value[l])==null?void 0:u.uuid)||"";return`${a.name}[${c}][${d}]`}function r(l,d){return`${a.name}[${l}][${d}]`}function s(l,d){return a.format==="spatie"?i(l,d):r(l,d)}return(l,d)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c.uuid},[e.createElementVNode("input",{type:"hidden",name:s(u,"uuid"),value:c.uuid},null,8,R$),e.createElementVNode("input",{type:"hidden",name:s(u,"name"),value:c.name},null,8,A$),e.createElementVNode("input",{type:"hidden",name:s(u,"order"),value:c.order},null,8,L$),c.custom_properties&&Object.keys(c.custom_properties).length>0?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:s(u,"custom_properties"),value:JSON.stringify(c.custom_properties)},null,8,P$)):e.createCommentVNode("",!0)],64))),128))}}),U$=["data-testid"],z$=["data-testid"],j$=["id"],W$=["value","maxlength","disabled","aria-labelledby","placeholder","data-testid","onInput"],Z$=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:(n,a)=>`${n.type==="video"?"video":"photo"} ${a+1}`}},emits:["update:items"],setup(n,{emit:a}){const t=n,o=a;function i(r,s){const l=s.target;l instanceof HTMLInputElement&&o("update:items",t.items.map((d,c)=>c!==r?d:{...d,caption:l.value===""?null:l.value}))}return(r,s)=>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,(l,d)=>(e.openBlock(),e.createElementBlock("div",{key:l._key??l.id??`${l.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(l,d)),9,j$),e.createElementVNode("input",{value:l.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,W$)],8,z$))),128))],8,U$)):e.createCommentVNode("",!0)}}),H$=Ie(Z$,[["__scopeId","data-v-a153768a"]]),X$="/v1/media/deletion/check",G$="/v1/media/deletion/delete",sr=100;function yu(n){const a=new Set,t=[];for(const o of n){const i=o.trim().toLowerCase();i===""||a.has(i)||(a.add(i),t.push(i))}return t.sort()}function rf(n){const a=n.checkEndpoint??X$,t=n.deleteEndpoint??G$,o=e.ref(!1),i=e.ref(!1),r=e.ref(null),s=e.ref(null),l=e.ref(null);async function d(f){l.value=null;const m=yu(f);if(m.length===0)return r.value=[],[];if(m.length>sr){const p=new Error(`Cannot check more than ${sr} media items at once.`);throw l.value=p,p}o.value=!0;try{const p=await n.httpClient.post(a,{uuids:m}),h=((p==null?void 0:p.data)??[]).map(v=>{var k,V,B,_;return{uuid:v.uuid,canDelete:((k=v.report)==null?void 0:k.canDelete)??!1,blocks:Array.isArray((V=v.report)==null?void 0:V.blocks)?v.report.blocks:[],cascade:Array.isArray((B=v.report)==null?void 0:B.cascade)?v.report.cascade:[],variantCount:typeof((_=v.report)==null?void 0:_.variantCount)=="number"?v.report.variantCount:0}});return r.value=h,h}catch(p){throw l.value=p instanceof Error?p:new Error(String(p)),l.value}finally{o.value=!1}}async function c(f,m={}){l.value=null;const p=yu(f);if(p.length===0){const h={results:[],summary:{}};return s.value=h,h}if(p.length>sr){const h=new Error(`Cannot delete more than ${sr} media items at once.`);throw l.value=h,h}i.value=!0;try{const h=await n.httpClient.post(t,{uuids:p,force:m.force===!0}),v={results:Array.isArray(h==null?void 0:h.results)?h.results:[],summary:(h==null?void 0:h.summary)??{}};return s.value=v,v}catch(h){throw l.value=h instanceof Error?h:new Error(String(h)),l.value}finally{i.value=!1}}function u(){r.value=null,s.value=null,l.value=null}return{isChecking:o,isDeleting:i,lastReport:r,lastResponse:s,error:l,checkDependencies:d,deleteMany:c,reset:u}}const J$="/v1/user/media/trash";function K$(n){return`/v1/user/media/${encodeURIComponent(n)}/restore`}function sf(n){const a=n.listEndpoint??J$,t=n.buildRestoreEndpoint??K$,o=n.perPage??50,i=e.ref([]),r=e.ref(0),s=e.ref(1),l=e.ref(!1),d=e.ref(!1),c=e.ref(null);async function u(p=1){var h,v;c.value=null,l.value=!0;try{const k=await n.httpClient.get(a,{params:{page:p,per_page:o}});i.value=Array.isArray(k==null?void 0:k.data)?k.data:[],r.value=typeof((h=k==null?void 0:k.meta)==null?void 0:h.total)=="number"?k.meta.total:0,s.value=typeof((v=k==null?void 0:k.meta)==null?void 0:v.current_page)=="number"?k.meta.current_page:p}catch(k){throw c.value=k instanceof Error?k:new Error(String(k)),c.value}finally{l.value=!1}}async function f(p){c.value=null,d.value=!0;try{const h=await n.httpClient.post(t(p)),v={status:(h==null?void 0:h.status)??"failed",data:(h==null?void 0:h.data)??null,duplicate_uuid:(h==null?void 0:h.duplicate_uuid)??null};return typeof(h==null?void 0:h.message)=="string"&&(v.message=h.message),v.status==="restored"&&(i.value=i.value.filter(k=>k.uuid!==p),r.value=Math.max(0,r.value-1)),v}catch(h){const v=q$(h);if(v&&typeof v.status=="string"){const k={status:v.status,duplicate_uuid:typeof v.duplicate_uuid=="string"?v.duplicate_uuid:null};return typeof v.message=="string"&&(k.message=v.message),k}throw c.value=h instanceof Error?h:new Error(String(h)),c.value}finally{d.value=!1}}function m(){i.value=[],r.value=0,s.value=1,c.value=null}return{items:i,total:r,currentPage:s,isLoading:l,isRestoring:d,error:c,fetch:u,restore:f,reset:m}}function q$(n){var t;if(typeof n!="object"||n===null)return null;const a=n;return(t=a.response)!=null&&t.data&&typeof a.response.data=="object"?a.response.data:null}const Y$={class:"media-management-view","data-testid":"media-management-view"},Q$={class:"media-management-view__header"},eD={class:"media-management-view__title"},tD={class:"media-management-view__actions"},aD={key:0,class:"media-management-view__badge"},nD={key:0,class:"media-management-view__panel","data-testid":"panel-library"},oD={key:0,class:"media-management-view__status","data-testid":"library-loading"},iD={key:1,class:"media-management-view__status media-management-view__status--error","data-testid":"library-error"},rD={key:2,class:"media-management-view__empty","data-testid":"library-empty"},sD={class:"media-management-view__empty-state"},lD={class:"media-management-view__empty-title","data-testid":"library-empty-title"},dD={class:"media-management-view__empty-description","data-testid":"library-empty-description"},cD={key:3,class:"media-management-view__grid","data-testid":"library-grid"},uD=["data-testid"],mD=["data-testid","aria-pressed","onClick"],pD=["src","alt"],fD={key:1,class:"media-management-view__item-placeholder"},hD={class:"media-management-view__item-meta"},vD={class:"media-management-view__item-name"},gD=["data-testid"],bD={key:1,class:"media-management-view__item-badge","data-testid":"badge-orphaned"},yD={class:"media-management-view__bulk-bar","data-testid":"bulk-bar"},wD={"data-testid":"bulk-count"},kD=["disabled"],_D={key:1,class:"media-management-view__panel","data-testid":"panel-trash"},ED={key:0,class:"media-management-view__status","data-testid":"trash-loading"},xD={key:1,class:"media-management-view__empty","data-testid":"trash-empty"},SD={class:"media-management-view__empty-state"},CD={class:"media-management-view__empty-title","data-testid":"trash-empty-title"},VD={class:"media-management-view__empty-description","data-testid":"trash-empty-description"},ND={key:2,class:"media-management-view__grid","data-testid":"trash-grid"},TD=["data-testid"],MD={class:"media-management-view__item-thumb"},BD=["src","alt"],ID={class:"media-management-view__item-meta"},FD={class:"media-management-view__item-name"},$D={key:0,class:"media-management-view__item-meta-line"},DD=["data-testid","disabled","onClick"],RD=["data-testid"],AD=e.defineComponent({__name:"MediaManagementView",props:{httpClient:{},capabilities:{default:()=>({})},labels:{default:()=>({})},confirmBulkDelete:{},onRestoreCollision:{}},emits:["deleted","restored","restore-conflict","error"],setup(n,{expose:a,emit:t}){const o=n,i=t,r=e.computed(()=>({showTrash:!0,allowBulkDelete:!0,showOwner:!1,...o.capabilities})),s=e.computed(()=>{var re,oe,L,R,Z,G,te,ce,me,ge,Te,he,ye,Ne,Ce,nt,et;return{title:((re=o.labels)==null?void 0:re.title)??"My Media",libraryTab:((oe=o.labels)==null?void 0:oe.libraryTab)??"Library",trashTab:((L=o.labels)==null?void 0:L.trashTab)??"Trash",loading:((R=o.labels)==null?void 0:R.loading)??"Loading…",emptyLibrary:((Z=o.labels)==null?void 0:Z.emptyLibrary)??"No media yet — upload your first creation.",emptyLibraryTitle:((G=o.labels)==null?void 0:G.emptyLibraryTitle)??"Your media library is ready",emptyLibraryDescription:((te=o.labels)==null?void 0:te.emptyLibraryDescription)??"Images and videos you upload for creations are saved here so you can reuse them later.",emptyTrash:((ce=o.labels)==null?void 0:ce.emptyTrash)??"Trash is empty.",emptyTrashTitle:((me=o.labels)==null?void 0:me.emptyTrashTitle)??"No media in trash",emptyTrashDescription:((ge=o.labels)==null?void 0:ge.emptyTrashDescription)??"Deleted files appear here for 30 days before permanent removal.",orphanedBadge:((Te=o.labels)==null?void 0:Te.orphanedBadge)??"Not in use",selectedCount:((he=o.labels)==null?void 0:he.selectedCount)??(bt=>`${bt} selected`),deleteButton:((ye=o.labels)==null?void 0:ye.deleteButton)??"Delete",restoreButton:((Ne=o.labels)==null?void 0:Ne.restoreButton)??"Restore",restoreUnavailable:((Ce=o.labels)==null?void 0:Ce.restoreUnavailable)??"Restore unavailable",purgeAfter:((nt=o.labels)==null?void 0:nt.purgeAfter)??(bt=>`Purges ${bt}`),ownerLabel:((et=o.labels)==null?void 0:et.ownerLabel)??(bt=>`User ${bt.user_id??""}`)}}),l=e.computed(()=>s.value.title),d=e.computed(()=>s.value.libraryTab),c=e.computed(()=>s.value.trashTab),u=e.computed(()=>s.value.loading),f=e.computed(()=>s.value.emptyLibraryTitle),m=e.computed(()=>s.value.emptyLibraryDescription),p=e.computed(()=>s.value.emptyTrashTitle),h=e.computed(()=>s.value.emptyTrashDescription),v=e.computed(()=>s.value.orphanedBadge),k=e.computed(()=>s.value.deleteButton),V=e.computed(()=>s.value.restoreButton),B=e.computed(()=>s.value.restoreUnavailable);function _(re){const oe=r.value.canRestore;return oe?oe(re):!0}const g=e.ref("library"),E=e.ref({scope:"library"}),S=e.ref({}),N=_d({httpClient:o.httpClient,view:E,filters:S,perPage:50}),C=e.computed(()=>N.items.value),A=e.computed(()=>N.loading.value),j=e.computed(()=>{var re;return((re=N.error.value)==null?void 0:re.message)??null}),x=Au(C),F=rf({httpClient:o.httpClient}),y=sf({httpClient:o.httpClient});function D(re){return s.value.selectedCount(re)}function P(re){return s.value.purgeAfter(re)}function O(re){return s.value.ownerLabel(re)}async function U(){const re=x.selectedItems.value;if(re.length===0)return;const oe=r.value.canDelete?re.filter(L=>r.value.canDelete(L)):re;if(oe.length!==0&&!(o.confirmBulkDelete&&!await o.confirmBulkDelete(oe)))try{const L=oe.map(G=>G.uuid),Z=(await F.deleteMany(L)).results.filter(G=>G.status==="trashed"||G.status==="already_trashed").map(G=>G.uuid);if(Z.length>0){for(const G of Z)x.deselect(G);i("deleted",Z),await N.refresh(),r.value.showTrash!==!1&&await y.fetch(y.currentPage.value).catch(()=>{})}}catch(L){i("error",L instanceof Error?L:new Error(String(L)))}}async function T(re){var L;const oe=y.items.value.find(R=>R.uuid===re);if(!(oe&&!_(oe)))try{const R=await y.restore(re);if(R.status==="restored"){i("restored",re),await N.refresh().catch(()=>{});return}if(R.status==="duplicate_conflict"){i("restore-conflict",{uuid:re,duplicateUuid:R.duplicate_uuid??null}),(L=o.onRestoreCollision)==null||L.call(o,re,R.duplicate_uuid??null);return}}catch(R){i("error",R instanceof Error?R:new Error(String(R)))}}async function I(){g.value="trash",y.items.value.length===0&&!y.isLoading.value&&await y.fetch().catch(re=>{i("error",re instanceof Error?re:new Error(String(re)))})}function z(re){if(re==="trash"){I();return}g.value=re}const X=e.computed(()=>({activeTab:g.value,setActiveTab:z,trashCount:y.total.value,showTrash:r.value.showTrash!==!1,labels:{libraryTab:s.value.libraryTab,trashTab:s.value.trashTab}})),le=e.computed(()=>({selectedCount:x.selectedCount.value,isDeleting:F.isDeleting.value,onBulkDelete:U,labels:{deleteButton:s.value.deleteButton,selectedCount:s.value.selectedCount}}));function ve(re){return{media:re,canRestore:_(re),isRestoring:y.isRestoring.value,onRestore:()=>T(re.uuid),labels:{restoreButton:s.value.restoreButton,restoreUnavailable:s.value.restoreUnavailable}}}return e.watch(g,async re=>{re==="library"&&C.value.length===0&&!A.value&&await N.refresh().catch(()=>{})}),e.onMounted(async()=>{await N.refresh().catch(re=>{i("error",re instanceof Error?re:new Error(String(re)))}),r.value.showTrash!==!1&&y.fetch().catch(()=>{})}),a({refresh:()=>N.refresh(),refreshTrash:()=>y.fetch(),selection:x,deletion:F,trash:y}),(re,oe)=>(e.openBlock(),e.createElementBlock("div",Y$,[e.createElementVNode("header",Q$,[e.createElementVNode("h2",eD,e.toDisplayString(l.value),1),e.createElementVNode("div",tD,[e.renderSlot(re.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(X.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":g.value==="library"}]),"data-testid":"tab-library",onClick:oe[0]||(oe[0]=L=>g.value="library")},e.toDisplayString(d.value),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":g.value==="trash"}]),"data-testid":"tab-trash",onClick:I},[e.createTextVNode(e.toDisplayString(c.value)+" ",1),e.unref(y).total.value>0?(e.openBlock(),e.createElementBlock("span",aD,e.toDisplayString(e.unref(y).total.value),1)):e.createCommentVNode("",!0)],2)],64)):e.createCommentVNode("",!0)],!0)])]),g.value==="library"?(e.openBlock(),e.createElementBlock("section",nD,[A.value?(e.openBlock(),e.createElementBlock("div",oD,e.toDisplayString(u.value),1)):j.value?(e.openBlock(),e.createElementBlock("div",iD,e.toDisplayString(j.value),1)):C.value.length===0?(e.openBlock(),e.createElementBlock("div",rD,[e.renderSlot(re.$slots,"empty-library",{},()=>[e.createElementVNode("div",sD,[e.createElementVNode("p",lD,e.toDisplayString(f.value),1),e.createElementVNode("p",dD,e.toDisplayString(m.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",cD,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,L=>(e.openBlock(),e.createElementBlock("li",{key:L.uuid,class:e.normalizeClass(["media-management-view__item",{"is-selected":e.unref(x).isSelected(L.uuid)}]),"data-testid":`media-item-${L.uuid}`},[e.createElementVNode("button",{type:"button",class:"media-management-view__item-thumb","data-testid":`btn-select-${L.uuid}`,"aria-pressed":e.unref(x).isSelected(L.uuid),onClick:R=>e.unref(x).toggle(L.uuid)},[L.thumbnail_url||L.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:L.thumbnail_url||L.original_url,alt:L.alt_text||L.file_name,loading:"lazy"},null,8,pD)):(e.openBlock(),e.createElementBlock("span",fD,e.toDisplayString(L.file_name),1))],8,mD),e.createElementVNode("div",hD,[e.createElementVNode("span",vD,e.toDisplayString(L.file_name),1),r.value.showOwner&&L.user_id?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__item-owner","data-testid":`owner-${L.uuid}`},e.toDisplayString(O(L)),9,gD)):e.createCommentVNode("",!0),L.is_orphaned?(e.openBlock(),e.createElementBlock("span",bD,e.toDisplayString(v.value),1)):e.createCommentVNode("",!0)])],10,uD))),128))])),e.unref(x).selectedCount.value>0&&r.value.allowBulkDelete!==!1?e.renderSlot(re.$slots,"bulk-actions",e.normalizeProps(e.mergeProps({key:4},le.value)),()=>[e.createElementVNode("footer",yD,[e.createElementVNode("span",wD,e.toDisplayString(D(e.unref(x).selectedCount.value)),1),e.createElementVNode("button",{type:"button",class:"media-management-view__btn-delete","data-testid":"btn-bulk-delete",disabled:e.unref(F).isDeleting.value,onClick:U},e.toDisplayString(k.value),9,kD)])],!0):e.createCommentVNode("",!0)])):g.value==="trash"?(e.openBlock(),e.createElementBlock("section",_D,[e.unref(y).isLoading.value?(e.openBlock(),e.createElementBlock("div",ED,e.toDisplayString(u.value),1)):e.unref(y).items.value.length===0?(e.openBlock(),e.createElementBlock("div",xD,[e.renderSlot(re.$slots,"empty-trash",{},()=>[e.createElementVNode("div",SD,[e.createElementVNode("p",CD,e.toDisplayString(p.value),1),e.createElementVNode("p",VD,e.toDisplayString(h.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",ND,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y).items.value,L=>(e.openBlock(),e.createElementBlock("li",{key:L.uuid,class:"media-management-view__item is-trashed","data-testid":`trash-item-${L.uuid}`},[e.createElementVNode("div",MD,[L.thumbnail_url||L.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:L.thumbnail_url||L.original_url,alt:L.alt_text||L.file_name,loading:"lazy"},null,8,BD)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ID,[e.createElementVNode("span",FD,e.toDisplayString(L.file_name),1),L.purge_after?(e.openBlock(),e.createElementBlock("span",$D,e.toDisplayString(P(L.purge_after)),1)):e.createCommentVNode("",!0)]),e.renderSlot(re.$slots,"trash-action",e.mergeProps({ref_for:!0},ve(L)),()=>[_(L)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-restore","data-testid":`btn-restore-${L.uuid}`,disabled:e.unref(y).isRestoring.value,onClick:R=>T(L.uuid)},e.toDisplayString(V.value),9,DD)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__btn-restore is-unavailable","data-testid":`btn-restore-${L.uuid}-unavailable`,"aria-disabled":!0},e.toDisplayString(B.value),9,RD))],!0)],8,TD))),128))]))])):e.createCommentVNode("",!0)]))}}),LD=Ie(AD,[["__scopeId","data-v-e83127cb"]]);exports.AlbumBrowser=Fp;exports.AlbumManager=OI;exports.AlbumMediaGrid=YI;exports.AlbumTree=Ip;exports.ArrayBufferTarget=Jl;exports.ExistingMediaSelector=Vg;exports.ImageEditor=Nu;exports.ImageEditorModal=Tu;exports.LiveStreamManager=pI;exports.ManagedMediaGallery=oh;exports.MediaAlbumInlineCreate=$p;exports.MediaAlbumUnavailableState=Dp;exports.MediaAttachment=F$;exports.MediaAttachmentMetadataFields=H$;exports.MediaCollection=x$;exports.MediaCollectionDropzone=Vd;exports.MediaCollectionItem=Nd;exports.MediaLibraryPicker=tf;exports.MediaLibraryPickerModal=w6;exports.MediaManagementView=LD;exports.MediaPreviewSheet=zp;exports.MediaSelectionTray=B6;exports.MediaSourceSheet=jp;exports.MediaThumbnailCell=Zp;exports.MediaUploadSheet=Wp;exports.MediaWorkspace=eh;exports.ModelMediaManager=Jv;exports.Muxer=Qu;exports.VideoEditor=Sp;exports.VideoEditorDialog=K4;exports.VideoEditorSimple=w3;exports.VideoExportPanel=QM;exports.VideoJobClient=us;exports.VideoPlayer=Tp;exports.VideoTimeline=W3;exports.VideoToolsPanel=FM;exports.VideoUploader=OB;exports.VirtualMediaGrid=Hp;exports._sfc_main=$$;exports._sfc_main$1=D$;exports._sfc_main$2=O$;exports.applyTemporaryMediaStoreConfig=Eu;exports.configureMediaStore=yo;exports.createAdapter=af;exports.createEmptyEditorState=$f;exports.createImageEditor=F6;exports.createMediablesAdapter=Sd;exports.createSpatieAdapter=Cd;exports.deserializeEditorState=Ff;exports.formatFileSize=Pr;exports.fromMediaArray=Ol;exports.getFileExtension=Xp;exports.getImageDimensions=Gp;exports.getMediablesAdapter=$6;exports.getSpatieAdapter=A6;exports.isImageFile=yd;exports.normalizeEditorState=Ul;exports.normalizeRecipeForServerRender=B4;exports.recipeHasServerRenderableEdits=M4;exports.recipeHasUnsupportedServerEdits=Np;exports.resetMediablesAdapter=D6;exports.resetSpatieAdapter=L6;exports.restoreMediaStoreConfig=_u;exports.serializeEditorState=wu;exports.snapshotMediaStoreConfig=ku;exports.toFormValues=xd;exports.useAdminMediaStore=xu;exports.useAlbumDragDrop=Bp;exports.useAlbumStore=ps;exports.useAlbums=Mp;exports.useGlobalImageEditor=I6;exports.useImageEditorModal=Ed;exports.useMediaAttachment=Td;exports.useMediaCollection=fs;exports.useMediaDeletion=rf;exports.useMediaDragSort=nf;exports.useMediaLibraryPickerController=ef;exports.useMediaLibraryQuery=_d;exports.useMediaLibrarySession=qp;exports.useMediaLibraryStateMachine=Yp;exports.useMediaLibraryTelemetry=Qp;exports.useMediaStore=ha;exports.useMediaTrash=sf;exports.useMediaUploadQueue=kd;exports.useMediaValidation=wd;exports.validateFile=Jp;
|
|
357
|
-
//# sourceMappingURL=index-
|
|
356
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cu(n,a){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);a&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,o)}return t}function uu(n){for(var a=1;a<arguments.length;a++){var t=arguments[a]!=null?arguments[a]:{};a%2?cu(Object(t),!0).forEach(function(o){M8(n,o,t[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cu(Object(t)).forEach(function(o){Object.defineProperty(n,o,Object.getOwnPropertyDescriptor(t,o))})}return n}function F8(n){return T8(n)||B8(n)||R8(n)||I8()}function $8(n,a){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var o=t.call(n,a);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(n)}function D8(n){var a=$8(n,"string");return typeof a=="symbol"?a:a+""}function R8(n,a){if(n){if(typeof n=="string")return Pl(n,a);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Pl(n,a):void 0}}var mu={activateTrap:function(a,t){if(a.length>0){var o=a[a.length-1];o!==t&&o._setPausedState(!0)}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(a,t){var o=a.indexOf(t);o!==-1&&a.splice(o,1),a.length>0&&!a[a.length-1]._isManuallyPaused()&&a[a.length-1]._setPausedState(!1)}},A8=function(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"},L8=function(a){return(a==null?void 0:a.key)==="Escape"||(a==null?void 0:a.key)==="Esc"||(a==null?void 0:a.keyCode)===27},ui=function(a){return(a==null?void 0:a.key)==="Tab"||(a==null?void 0:a.keyCode)===9},P8=function(a){return ui(a)&&!a.shiftKey},O8=function(a){return ui(a)&&a.shiftKey},pu=function(a){return setTimeout(a,0)},Jo=function(a){for(var t=arguments.length,o=new Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=arguments[i];return typeof a=="function"?a.apply(void 0,o):a},or=function(a){return a.target.shadowRoot&&typeof a.composedPath=="function"?a.composedPath()[0]:a.target},U8=[],z8=function(a,t){var o=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||U8,r=uu({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:P8,isKeyBackward:O8},t),s={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},l,d=function(y,D,P){return y&&y[D]!==void 0?y[D]:r[P||D]},c=function(y,D){var P=typeof(D==null?void 0:D.composedPath)=="function"?D.composedPath():void 0;return s.containerGroups.findIndex(function(O){var U=O.container,T=O.tabbableNodes;return U.contains(y)||(P==null?void 0:P.includes(U))||T.find(function(I){return I===y})})},u=function(y){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=D.hasFallback,O=P===void 0?!1:P,U=D.params,T=U===void 0?[]:U,I=r[y];if(typeof I=="function"&&(I=I.apply(void 0,F8(T))),I===!0&&(I=void 0),!I){if(I===void 0||I===!1)return I;throw new Error("`".concat(y,"` was specified but was not a node, or did not return a node"))}var z=I;if(typeof I=="string"){try{z=o.querySelector(I)}catch(X){throw new Error("`".concat(y,'` appears to be an invalid selector; error="').concat(X.message,'"'))}if(!z&&!O)throw new Error("`".concat(y,"` as selector refers to no known node"))}return z},f=function(){var y=u("initialFocus",{hasFallback:!0});if(y===!1)return!1;if(y===void 0||y&&!Gs(y,r.tabbableOptions))if(c(o.activeElement)>=0)y=o.activeElement;else{var D=s.tabbableGroups[0],P=D&&D.firstTabbableNode;y=P||u("fallbackFocus")}else y===null&&(y=u("fallbackFocus"));if(!y)throw new Error("Your focus-trap needs to have at least one focusable element");return y},m=function(){if(s.containerGroups=s.containers.map(function(y){var D=C8(y,r.tabbableOptions),P=V8(y,r.tabbableOptions),O=D.length>0?D[0]:void 0,U=D.length>0?D[D.length-1]:void 0,T=P.find(function(X){return po(X)}),I=P.slice().reverse().find(function(X){return po(X)}),z=!!D.find(function(X){return Ln(X)>0});return{container:y,tabbableNodes:D,focusableNodes:P,posTabIndexesFound:z,firstTabbableNode:O,lastTabbableNode:U,firstDomTabbableNode:T,lastDomTabbableNode:I,nextTabbableNode:function(le){var ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,re=D.indexOf(le);return re<0?ve?P.slice(P.indexOf(le)+1).find(function(oe){return po(oe)}):P.slice(0,P.indexOf(le)).reverse().find(function(oe){return po(oe)}):D[re+(ve?1:-1)]}}}),s.tabbableGroups=s.containerGroups.filter(function(y){return y.tabbableNodes.length>0}),s.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(s.containerGroups.find(function(y){return y.posTabIndexesFound})&&s.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.")},p=function(y){var D=y.activeElement;if(D)return D.shadowRoot&&D.shadowRoot.activeElement!==null?p(D.shadowRoot):D},h=function(y){if(y!==!1&&y!==p(document)){if(!y||!y.focus){h(f());return}y.focus({preventScroll:!!r.preventScroll}),s.mostRecentlyFocusedNode=y,A8(y)&&y.select()}},v=function(y){var D=u("setReturnFocus",{params:[y]});return D||(D===!1?!1:y)},k=function(y){var D=y.target,P=y.event,O=y.isBackward,U=O===void 0?!1:O;D=D||or(P),m();var T=null;if(s.tabbableGroups.length>0){var I=c(D,P),z=I>=0?s.containerGroups[I]:void 0;if(I<0)U?T=s.tabbableGroups[s.tabbableGroups.length-1].lastTabbableNode:T=s.tabbableGroups[0].firstTabbableNode;else if(U){var X=s.tabbableGroups.findIndex(function(R){var Z=R.firstTabbableNode;return D===Z});if(X<0&&(z.container===D||Gs(D,r.tabbableOptions)&&!po(D,r.tabbableOptions)&&!z.nextTabbableNode(D,!1))&&(X=I),X>=0){var le=X===0?s.tabbableGroups.length-1:X-1,ve=s.tabbableGroups[le];T=Ln(D)>=0?ve.lastTabbableNode:ve.lastDomTabbableNode}else ui(P)||(T=z.nextTabbableNode(D,!1))}else{var re=s.tabbableGroups.findIndex(function(R){var Z=R.lastTabbableNode;return D===Z});if(re<0&&(z.container===D||Gs(D,r.tabbableOptions)&&!po(D,r.tabbableOptions)&&!z.nextTabbableNode(D))&&(re=I),re>=0){var oe=re===s.tabbableGroups.length-1?0:re+1,L=s.tabbableGroups[oe];T=Ln(D)>=0?L.firstTabbableNode:L.firstDomTabbableNode}else ui(P)||(T=z.nextTabbableNode(D))}}else T=u("fallbackFocus");return T},V=function(y){var D=or(y);if(!(c(D,y)>=0)){if(Jo(r.clickOutsideDeactivates,y)){l.deactivate({returnFocus:r.returnFocusOnDeactivate});return}Jo(r.allowOutsideClick,y)||y.preventDefault()}},B=function(y){var D=or(y),P=c(D,y)>=0;if(P||D instanceof Document)P&&(s.mostRecentlyFocusedNode=D);else{y.stopImmediatePropagation();var O,U=!0;if(s.mostRecentlyFocusedNode)if(Ln(s.mostRecentlyFocusedNode)>0){var T=c(s.mostRecentlyFocusedNode),I=s.containerGroups[T].tabbableNodes;if(I.length>0){var z=I.findIndex(function(X){return X===s.mostRecentlyFocusedNode});z>=0&&(r.isKeyForward(s.recentNavEvent)?z+1<I.length&&(O=I[z+1],U=!1):z-1>=0&&(O=I[z-1],U=!1))}}else s.containerGroups.some(function(X){return X.tabbableNodes.some(function(le){return Ln(le)>0})})||(U=!1);else U=!1;U&&(O=k({target:s.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(s.recentNavEvent)})),h(O||s.mostRecentlyFocusedNode||f())}s.recentNavEvent=void 0},_=function(y){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;s.recentNavEvent=y;var P=k({event:y,isBackward:D});P&&(ui(y)&&y.preventDefault(),h(P))},g=function(y){(r.isKeyForward(y)||r.isKeyBackward(y))&&_(y,r.isKeyBackward(y))},E=function(y){L8(y)&&Jo(r.escapeDeactivates,y)!==!1&&(y.preventDefault(),l.deactivate())},S=function(y){var D=or(y);c(D,y)>=0||Jo(r.clickOutsideDeactivates,y)||Jo(r.allowOutsideClick,y)||(y.preventDefault(),y.stopImmediatePropagation())},N=function(){if(s.active)return mu.activateTrap(i,l),s.delayInitialFocusTimer=r.delayInitialFocus?pu(function(){h(f())}):h(f()),o.addEventListener("focusin",B,!0),o.addEventListener("mousedown",V,{capture:!0,passive:!1}),o.addEventListener("touchstart",V,{capture:!0,passive:!1}),o.addEventListener("click",S,{capture:!0,passive:!1}),o.addEventListener("keydown",g,{capture:!0,passive:!1}),o.addEventListener("keydown",E),l},C=function(){if(s.active)return o.removeEventListener("focusin",B,!0),o.removeEventListener("mousedown",V,!0),o.removeEventListener("touchstart",V,!0),o.removeEventListener("click",S,!0),o.removeEventListener("keydown",g,!0),o.removeEventListener("keydown",E),l},A=function(y){var D=y.some(function(P){var O=Array.from(P.removedNodes);return O.some(function(U){return U===s.mostRecentlyFocusedNode})});D&&h(f())},j=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(A):void 0,x=function(){j&&(j.disconnect(),s.active&&!s.paused&&s.containers.map(function(y){j.observe(y,{subtree:!0,childList:!0})}))};return l={get active(){return s.active},get paused(){return s.paused},activate:function(y){if(s.active)return this;var D=d(y,"onActivate"),P=d(y,"onPostActivate"),O=d(y,"checkCanFocusTrap");O||m(),s.active=!0,s.paused=!1,s.nodeFocusedBeforeActivation=p(o),D==null||D();var U=function(){O&&m(),N(),x(),P==null||P()};return O?(O(s.containers.concat()).then(U,U),this):(U(),this)},deactivate:function(y){if(!s.active)return this;var D=uu({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},y);clearTimeout(s.delayInitialFocusTimer),s.delayInitialFocusTimer=void 0,C(),s.active=!1,s.paused=!1,x(),mu.deactivateTrap(i,l);var P=d(D,"onDeactivate"),O=d(D,"onPostDeactivate"),U=d(D,"checkCanReturnFocus"),T=d(D,"returnFocus","returnFocusOnDeactivate");P==null||P();var I=function(){pu(function(){T&&h(v(s.nodeFocusedBeforeActivation)),O==null||O()})};return T&&U?(U(v(s.nodeFocusedBeforeActivation)).then(I,I),this):(I(),this)},pause:function(y){return s.active?(s.manuallyPaused=!0,this._setPausedState(!0,y)):this},unpause:function(y){return s.active?(s.manuallyPaused=!1,i[i.length-1]!==this?this:this._setPausedState(!1,y)):this},updateContainerElements:function(y){var D=[].concat(y).filter(Boolean);return s.containers=D.map(function(P){return typeof P=="string"?o.querySelector(P):P}),s.active&&m(),x(),this}},Object.defineProperties(l,{_isManuallyPaused:{value:function(){return s.manuallyPaused}},_setPausedState:{value:function(y,D){if(s.paused===y)return this;if(s.paused=y,y){var P=d(D,"onPause"),O=d(D,"onPostPause");P==null||P(),C(),x(),O==null||O()}else{var U=d(D,"onUnpause"),T=d(D,"onPostUnpause");U==null||U(),m(),N(),x(),T==null||T()}return this}}}),l.updateContainerElements(a),l};const j8=["aria-labelledby"],W8={class:"media-preview-sheet__header"},Z8=["id"],H8=["aria-label"],X8=["src","alt"],G8=["src"],J8={class:"media-preview-sheet__actions"},K8=["disabled","aria-label"],q8=["aria-label","aria-pressed"],Y8=["disabled","aria-label"],Q8=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(n,{emit:a}){const t=n,o=a,i=e.useId(),r=e.ref(null),s=e.ref(null);let l=null,d=null;const c=e.computed(()=>{var E;return((E=t.media)==null?void 0:E.mime_type.startsWith("image/"))===!0}),u=e.computed(()=>t.media?t.media.preview_url??t.media.original_url:""),f=e.computed(()=>t.media?`Preview ${t.media.file_name}`:"Media preview"),m=e.computed(()=>t.media?`Close preview of ${t.media.file_name}`:"Close preview"),p=e.computed(()=>t.canGoPrevious?"Previous media":"No previous media"),h=e.computed(()=>t.canGoNext?"Next media":"No next media"),v=e.computed(()=>{const E=t.selected?t.deselectLabel:t.selectLabel;return t.media?t.selected?`${t.deselectLabel} ${t.media.file_name}`:`${t.selectLabel} ${t.media.file_name}`:E}),k=e.computed(()=>t.selected?t.deselectLabel:t.selectLabel),V=()=>{t.media&&o("toggleSelect",t.media)},B=E=>{if(E.key==="Escape"){E.preventDefault(),o("close");return}if(E.key==="ArrowLeft"&&t.canGoPrevious){E.preventDefault(),o("previous");return}E.key==="ArrowRight"&&t.canGoNext&&(E.preventDefault(),o("next"))},_=()=>{if(l){try{l.deactivate({returnFocus:!1})}catch{}l=null}},g=()=>{const E=d;d=null,E&&typeof E.focus=="function"&&e.nextTick(()=>{E.focus()})};return e.watch(()=>t.open&&t.media!==null,async E=>{var S;if(E){d=document.activeElement instanceof HTMLElement?document.activeElement:null,await e.nextTick();const N=r.value;if(N)try{l=z8(N,{initialFocus:()=>s.value??N,escapeDeactivates:!1,clickOutsideDeactivates:!1,returnFocusOnDeactivate:!1,allowOutsideClick:!0}),l.activate()}catch{(S=s.value)==null||S.focus()}}else _(),g()},{immediate:!0}),e.onBeforeUnmount(()=>{_()}),(E,S)=>E.open&&E.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:B},[e.createElementVNode("header",W8,[e.createElementVNode("strong",{id:e.unref(i),"data-testid":"media-preview-sheet-title"},e.toDisplayString(f.value),9,Z8),e.createElementVNode("button",{ref_key:"closeButtonRef",ref:s,type:"button",class:"media-preview-sheet__close","aria-label":m.value,"data-testid":"btn-media-preview-close",onClick:S[0]||(S[0]=N=>o("close"))},e.toDisplayString(E.closeLabel),9,H8)]),c.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"media-preview-sheet__image",src:u.value,alt:E.media.file_name},null,8,X8)):(e.openBlock(),e.createElementBlock("video",{key:1,class:"media-preview-sheet__video",src:u.value,controls:""},null,8,G8)),e.createElementVNode("div",J8,[e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!E.canGoPrevious,"aria-label":p.value,"data-testid":"btn-media-preview-previous",onClick:S[1]||(S[1]=N=>o("previous"))},e.toDisplayString(E.previousLabel),9,K8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__select","aria-label":v.value,"aria-pressed":E.selected,"data-testid":"btn-media-preview-select",onClick:V},e.toDisplayString(k.value),9,q8),e.createElementVNode("button",{type:"button",class:"media-preview-sheet__nav",disabled:!E.canGoNext,"aria-label":h.value,"data-testid":"btn-media-preview-next",onClick:S[2]||(S[2]=N=>o("next"))},e.toDisplayString(E.nextLabel),9,Y8)])],40,j8)):e.createCommentVNode("",!0)}}),zp=Ie(Q8,[["__scopeId","data-v-0ca8008b"]]),eF={key:0,class:"media-album-grid","data-testid":"media-source-sheet"},tF={class:"media-album-grid__items"},aF={class:"media-album-grid__card-name"},nF={class:"media-album-grid__card-name"},oF=["data-testid","onClick"],iF={class:"media-album-grid__card-name"},rF={key:0,class:"media-album-grid__card-meta"},sF={key:0,class:"media-album-grid__empty"},lF=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(n,{emit:a}){const t=a;return(o,i)=>o.open?(e.openBlock(),e.createElementBlock("section",eF,[e.createElementVNode("div",tF,[o.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",aF,e.toDisplayString(o.createAlbumLabel),1)])):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":o.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",nF,e.toDisplayString(o.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(o.albums,r=>(e.openBlock(),e.createElementBlock("button",{key:r.id,type:"button",class:e.normalizeClass(["media-album-grid__card",{"is-active":o.currentView.scope==="album"&&o.currentView.albumId===r.id}]),"data-testid":`btn-media-source-album-${r.id}`,onClick:s=>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",iF,e.toDisplayString(r.name),1),r.mediaCount!==void 0?(e.openBlock(),e.createElementBlock("span",rF,e.toDisplayString(r.mediaCount)+" item"+e.toDisplayString(r.mediaCount===1?"":"s"),1)):e.createCommentVNode("",!0)],10,oF))),128))]),o.albums.length===0?(e.openBlock(),e.createElementBlock("p",sF," No albums yet. ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),jp=Ie(lF,[["__scopeId","data-v-129f67b1"]]),dF={key:0,class:"media-upload-sheet","data-testid":"media-upload-sheet"},cF={class:"media-upload-sheet__dropzone-text"},uF={key:0,class:"media-upload-sheet__dropzone-helper","data-testid":"text-media-upload-sheet-helper"},mF={class:"media-upload-sheet__sr-only"},pF=["accept","aria-label"],fF=["aria-label"],hF={class:"media-upload-sheet__queue-info"},vF={class:"media-upload-sheet__queue-status"},gF=["aria-valuenow","aria-label","data-testid"],bF=["aria-label"],yF=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=m=>{var h;return t.progressAriaLabel!==void 0?t.progressAriaLabel(m):`Uploading ${((h=m.file)==null?void 0:h.name)??"file"}`},s=m=>{const p=Number.isFinite(m.progress)?m.progress:0;return p<0?0:p>100?100:Math.round(p)},l=e.computed(()=>t.queue.length===0?"":`${t.queue.length} upload${t.queue.length===1?"":"s"} in progress`),d=m=>{const p=m.target;!(p instanceof HTMLInputElement)||p.files===null||(o("filesSelected",Array.from(p.files)),p.value="")},c=m=>{m.preventDefault(),i.value=!0},u=()=>{i.value=!1},f=m=>{var p;m.preventDefault(),i.value=!1,(p=m.dataTransfer)!=null&&p.files&&m.dataTransfer.files.length>0&&o("filesSelected",Array.from(m.dataTransfer.files))};return(m,p)=>m.open?(e.openBlock(),e.createElementBlock("section",dF,[e.createElementVNode("label",{class:e.normalizeClass(["media-upload-sheet__dropzone",{"is-drag-over":i.value}]),onDragover:c,onDragleave:u,onDrop:f},[p[1]||(p[1]=e.createStaticVNode('<div class="media-upload-sheet__dropzone-icon" data-v-89997025><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-89997025><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" data-v-89997025></path><polyline points="17 8 12 3 7 8" data-v-89997025></polyline><line x1="12" y1="3" x2="12" y2="15" data-v-89997025></line></svg></div>',1)),e.createElementVNode("span",cF,e.toDisplayString(m.dropzoneLabel),1),m.dropzoneHelperText?(e.openBlock(),e.createElementBlock("span",uF,e.toDisplayString(m.dropzoneHelperText),1)):e.createCommentVNode("",!0),e.createElementVNode("span",mF,e.toDisplayString(m.fileInputLabel),1),e.createElementVNode("input",{type:"file",accept:m.accept,multiple:"",class:"media-upload-sheet__file-input","data-testid":"input-media-upload-sheet","aria-label":m.fileInputLabel,onChange:d},null,40,pF)],34),m.queue.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,class:"media-upload-sheet__queue","aria-live":"polite","aria-label":l.value,"data-testid":"list-media-upload-sheet-queue"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.queue,h=>(e.openBlock(),e.createElementBlock("li",{key:h.id,class:"media-upload-sheet__queue-item"},[e.createElementVNode("div",hF,[e.createElementVNode("strong",null,e.toDisplayString(h.file.name),1),e.createElementVNode("span",vF,e.toDisplayString(h.status),1)]),e.createElementVNode("div",{class:"media-upload-sheet__progress-bar",role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":s(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:`${s(h)}%`})},null,4)],8,gF)]))),128))],8,fF)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"media-upload-sheet__close-btn","aria-label":m.closeButtonAriaLabel,"data-testid":"btn-close-upload-sheet",onClick:p[0]||(p[0]=h=>o("close"))},e.toDisplayString(m.closeButtonLabel),9,bF)])):e.createCommentVNode("",!0)}}),Wp=Ie(yF,[["__scopeId","data-v-89997025"]]),wF=["aria-label","aria-pressed","data-testid"],kF=["src","alt"],_F={key:1,class:"media-thumbnail-cell__video"},EF={class:"media-thumbnail-cell__video-name"},xF={key:2,class:"media-thumbnail-cell__selected-badge"},SF={key:3,class:"media-thumbnail-cell__status-badge"},CF=["aria-label"],VF=e.defineComponent({__name:"MediaThumbnailCell",props:{media:{},selected:{type:Boolean,default:!1},status:{},testId:{default:"media-library-thumbnail"}},emits:["toggle","preview"],setup(n,{emit:a}){const t=n,o=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/")),s=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}}),l=e.computed(()=>{const u=t.media.file_name;return t.selected?`Deselect ${u}`:`Select ${u}`}),d=()=>{o("toggle",t.media)},c=()=>{o("preview",t.media)};return(u,f)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["media-thumbnail-cell",{"is-selected":u.selected,"has-status":s.value!==null}])},[e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__button","aria-label":l.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,kF)):(e.openBlock(),e.createElementBlock("div",_F,[f[0]||(f[0]=e.createElementVNode("span",{class:"media-thumbnail-cell__video-label"},"Video",-1)),e.createElementVNode("span",EF,e.toDisplayString(u.media.file_name),1)])),u.selected?(e.openBlock(),e.createElementBlock("span",xF," Selected ")):e.createCommentVNode("",!0),s.value!==null?(e.openBlock(),e.createElementBlock("span",SF,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)],8,wF),e.createElementVNode("button",{type:"button",class:"media-thumbnail-cell__preview-button","aria-label":`Preview ${u.media.file_name}`,onClick:c}," Preview ",8,CF)],2))}}),Zp=Ie(VF,[["__scopeId","data-v-edd4f0ad"]]),NF={class:"virtual-media-grid"},TF={key:0,class:"virtual-media-grid__state","data-testid":"media-grid-loading"},MF={key:1,class:"virtual-media-grid__state","data-testid":"media-grid-empty"},BF={key:2,class:"virtual-media-grid__items"},IF=["disabled"],FF=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(n,{emit:a}){const t=n,o=a;function i(r){return t.selectedItems.find(s=>s.id===r)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",NF,[r.loading&&r.items.length===0?(e.openBlock(),e.createElementBlock("div",TF,e.toDisplayString(r.loadingMessage),1)):r.items.length===0?(e.openBlock(),e.createElementBlock("div",MF,e.toDisplayString(r.emptyMessage),1)):(e.openBlock(),e.createElementBlock("div",BF,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>{var d,c;return e.openBlock(),e.createBlock(Zp,{key:l.uuid,media:l,selected:((d=i(l.uuid))==null?void 0:d.status)==="ready",status:(c=i(l.uuid))==null?void 0:c.status,"test-id":`${r.testIdPrefix}-${l.uuid}`,onToggle:s[0]||(s[0]=u=>o("toggle",u)),onPreview:s[1]||(s[1]=u=>o("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:s[2]||(s[2]=l=>o("loadMore"))},e.toDisplayString(r.loadingMore?r.loadingMoreLabel:r.loadMoreLabel),9,IF)):e.createCommentVNode("",!0)]))}}),Hp=Ie(FF,[["__scopeId","data-v-34667f65"]]);function Pr(n){if(n===0)return"0 Bytes";const a=1024,t=["Bytes","KB","MB","GB"],o=Math.floor(Math.log(n)/Math.log(a));return parseFloat((n/Math.pow(a,o)).toFixed(2))+" "+t[o]}function Xp(n){var t;const a=n.split(".");return a.length>1?`.${(t=a.pop())==null?void 0:t.toLowerCase()}`:""}function yd(n){return n.type.startsWith("image/")}async function Gp(n){return yd(n)?new Promise(a=>{const t=new Image,o=URL.createObjectURL(n);t.onload=()=>{URL.revokeObjectURL(o),a({width:t.naturalWidth,height:t.naturalHeight})},t.onerror=()=>{URL.revokeObjectURL(o),a(null)},t.src=o}):null}async function Jp(n,a){const t=[];if(a.maxFileSize&&n.size>a.maxFileSize&&t.push({field:"size",message:`File exceeds maximum size of ${Pr(a.maxFileSize)}`,code:"MAX_FILE_SIZE"}),a.minFileSize&&n.size<a.minFileSize&&t.push({field:"size",message:`File is smaller than minimum size of ${Pr(a.minFileSize)}`,code:"MIN_FILE_SIZE"}),a.acceptedMimeTypes&&a.acceptedMimeTypes.length>0&&(a.acceptedMimeTypes.some(i=>i.endsWith("/*")?n.type.startsWith(i.slice(0,-1)):n.type===i)||t.push({field:"type",message:`File type "${n.type}" is not allowed`,code:"INVALID_MIME_TYPE"})),a.acceptedExtensions&&a.acceptedExtensions.length>0){const o=Xp(n.name);a.acceptedExtensions.some(r=>r.toLowerCase()===o.toLowerCase())||t.push({field:"extension",message:`File extension "${o}" is not allowed`,code:"INVALID_EXTENSION"})}if(yd(n)&&(a.maxDimensions||a.minDimensions)){const o=await Gp(n);o&&(a.maxDimensions&&(o.width>a.maxDimensions.width&&t.push({field:"dimensions",message:`Image width (${o.width}px) exceeds maximum (${a.maxDimensions.width}px)`,code:"MAX_WIDTH"}),o.height>a.maxDimensions.height&&t.push({field:"dimensions",message:`Image height (${o.height}px) exceeds maximum (${a.maxDimensions.height}px)`,code:"MAX_HEIGHT"})),a.minDimensions&&(o.width<a.minDimensions.width&&t.push({field:"dimensions",message:`Image width (${o.width}px) is smaller than minimum (${a.minDimensions.width}px)`,code:"MIN_WIDTH"}),o.height<a.minDimensions.height&&t.push({field:"dimensions",message:`Image height (${o.height}px) is smaller than minimum (${a.minDimensions.height}px)`,code:"MIN_HEIGHT"})))}if(a.customValidator){const o=await a.customValidator(n);t.push(...o)}return{valid:t.length===0,errors:t}}function wd(n={}){const a=e.ref(n.rules||{});function t(d){a.value=d}async function o(d){return Jp(d,a.value)}async function i(d){const c=new Map;return await Promise.all(d.map(async u=>{const f=await o(u);c.set(u,f)})),c}function r(d,c){return a.value.maxItems?c+d<=a.value.maxItems:!0}const s=e.computed(()=>{const d=[];return a.value.acceptedMimeTypes&&d.push(...a.value.acceptedMimeTypes),a.value.acceptedExtensions&&d.push(...a.value.acceptedExtensions),d.join(",")});function l(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:o,validateFiles:i,canAddFiles:r,acceptString:s,isMimeTypeAllowed:l}}function $F(){return`upload-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function DF(n){if(n.type.startsWith("image/"))return URL.createObjectURL(n)}function kd(n){const{adapter:a,maxConcurrent:t=3,rules:o,collection:i,onUploadStart:r,onUploadProgress:s,onUploadComplete:l,onUploadError:d,onQueueComplete:c,postUpload:u}=n,f=e.ref(new Map),m=e.ref(new Set),p=o?{rules:o}:{},{validateFile:h}=wd(p);async function v(){if(m.value.size>=t)return;const F=Array.from(f.value.entries()).find(([P,O])=>O.status==="pending"&&!m.value.has(P));if(!F){Array.from(f.value.values()).every(O=>O.status==="completed"||O.status==="error")&&f.value.size>0&&(c==null||c());return}const[y,D]=F;await k(y,D)}async function k(F,y){m.value.add(F),y.status="uploading",y.abortController=new AbortController,f.value.set(F,{...y}),r==null||r(y);try{const D={onProgress:O=>{y.progress=O,f.value.set(F,{...y}),s==null||s(y)},signal:y.abortController.signal};i&&(D.collection=i);const P=await a.upload(y.file,D);u&&(y.status="attaching",f.value.set(F,{...y}),s==null||s(y),await u(y,P.media,a)),y.status="completed",y.progress=100,y.media=P.media,f.value.set(F,{...y}),l==null||l(y,P.media)}catch(D){D.name==="AbortError"?f.value.delete(F):(y.status="error",y.error=D.message,f.value.set(F,{...y}),d==null||d(y,D))}finally{m.value.delete(F),delete y.abortController,v()}}async function V(F){var P;const y=Array.from(F),D=[];for(const O of y){const U=await h(O),T=$F(),I=DF(O),z={id:T,file:O,progress:0,status:U.valid?"pending":"error"};!U.valid&&((P=U.errors[0])!=null&&P.message)&&(z.error=U.errors[0].message),I&&(z.previewUrl=I),f.value.set(T,z);const X={media:null,clientId:T,name:O.name,order:0,upload:z,errors:U.errors};D.push(X)}for(let O=0;O<t;O++)v();return D}function B(F){const y=f.value.get(F);y&&(y.abortController&&y.abortController.abort(),y.previewUrl&&URL.revokeObjectURL(y.previewUrl),f.value.delete(F),m.value.delete(F),v())}async function _(F){const y=f.value.get(F);!y||y.status!=="error"||(y.status="pending",y.progress=0,delete y.error,f.value.set(F,{...y}),v())}function g(){for(const[F,y]of f.value.entries())(y.status==="completed"||y.status==="error")&&(y.previewUrl&&URL.revokeObjectURL(y.previewUrl),f.value.delete(F))}function E(){for(const F of f.value.values())F.abortController&&F.abortController.abort(),F.previewUrl&&URL.revokeObjectURL(F.previewUrl);f.value.clear(),m.value.clear()}function S(F){return f.value.get(F)}const N=e.computed(()=>m.value.size>0),C=e.computed(()=>m.value.size),A=e.computed(()=>Array.from(f.value.values()).filter(F=>F.status==="pending").length),j=e.computed(()=>f.value.size===0?!0:Array.from(f.value.values()).every(F=>F.status==="completed"||F.status==="error")),x=e.computed(()=>Array.from(f.value.values()));return{uploads:f,isUploading:N,activeCount:C,pendingCount:A,isComplete:j,addFiles:V,cancelUpload:B,retryUpload:_,clearCompleted:g,clearAll:E,getUpload:S,uploadsArray:x}}function Gn(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function yi(n){return typeof n=="string"?n:null}function fu(n){return typeof n=="number"?n:null}function RF(n){return typeof n=="boolean"?n:null}function Kp(n){return Gn(n)&&typeof n.uuid=="string"&&typeof n.file_name=="string"&&typeof n.mime_type=="string"&&(typeof n.original_url=="string"||n.original_url===null)&&typeof n.size=="number"&&typeof n.disk=="string"&&typeof n.created_at=="string"&&typeof n.updated_at=="string"}function AF(n){return!Gn(n)||typeof n.id!="string"||typeof n.status!="string"?null:n.status==="ready"?Kp(n.media)?{id:n.id,status:"ready",media:n.media}:null:n.status==="missing"||n.status==="forbidden"?{id:n.id,status:n.status}:null}function LF(n){return Gn(n)?{next_cursor:yi(n.next_cursor),previous_cursor:yi(n.previous_cursor),has_more:RF(n.has_more)??!1,per_page:fu(n.per_page),count:fu(n.count)}:null}function hu(n){const a=Gn(n)?n:{},t=Array.isArray(a.data)?a.data.filter(Kp):[],o=Gn(a.meta)?a.meta:{},i=LF(o.pagination),r=(i==null?void 0:i.next_cursor)??yi(o.next_cursor)??yi(o.cursor),s=(i==null?void 0:i.has_more)??o.has_more===!0,l=Array.isArray(a.hydrated)?a.hydrated.map(AF).filter(c=>c!==null):[],d={cursor:r,has_more:s};return i!==null&&(d.pagination=i),{data:t,meta:d,hydrated:l}}function vu(n,a,t,o,i){const r={view:n.scope==="album"?{scope:"album",album_id:n.albumId}:{scope:"library"},per_page:t,sort:a.sort??"newest"};return a.query&&a.query.trim()!==""&&(r.query=a.query.trim()),a.kinds&&a.kinds.length>0&&(r.kinds=a.kinds),o!==null&&(r.cursor=o),i&&i.length>0&&(r.hydrate_ids=i),r}function gu(n){const a=new Set,t=[];for(const o of n)a.has(o.uuid)||(a.add(o.uuid),t.push(o));return t}function PF(n){var t;if(!(n instanceof Error))return null;const a=(t=n.response)==null?void 0:t.status;return typeof a=="number"?a:null}function OF(n){var a;return n instanceof Error?((a=n.response)==null?void 0:a.data)??null:null}function UF(n){if(!Gn(n))return[];const a=[];for(const t of Object.values(n)){if(typeof t=="string"&&t.trim()!==""){a.push(t.trim());continue}if(Array.isArray(t))for(const o of t){if(typeof o!="string")continue;const i=o.trim();i!==""&&a.push(i)}}return Array.from(new Set(a))}function zF(n){var r;const a=OF(n),t=Gn(a)?a:null,o=((r=yi(t==null?void 0:t.message))==null?void 0:r.trim())??null,i=UF(t==null?void 0:t.errors);return o!==null&&i.length>0?o==="Validation failed"?i.join(" "):i.every(l=>o.includes(l))?o:`${o} ${i.join(" ")}`:o!==null?o:i.length>0?i.join(" "):n instanceof Error?n.message:"Failed to load media."}function bu(n,a){const t=zF(a),o=PF(a);return{code:o===403?"permission_denied":n,message:t,retriable:o!==403,cause:a}}function _d(n){const a=n.perPage??40,t=e.ref([]),o=e.ref([]),i=e.ref(null),r=e.ref(!1),s=e.ref(!1),l=e.ref(!1),d=e.ref(!1),c=e.ref(null);let u=null,f=0;const m=async v=>{f+=1;const k=f;u==null||u.abort();const V=new AbortController;u=V,v?l.value=!0:s.value=!0,c.value=null,d.value=!1;try{const B=await n.httpClient.get("/v1/media/library",{params:vu(n.view.value,n.filters.value,a,v?i.value:null),signal:V.signal});if(k!==f)return;const _=hu(B);t.value=v?gu([...t.value,..._.data]):_.data,o.value=_.hydrated,i.value=_.meta.cursor,r.value=_.meta.has_more}catch(B){if(V.signal.aborted||k!==f)return;const _=bu(v?"load_more_failed":"query_failed",B);c.value=_,d.value=_.code==="permission_denied",v||(t.value=[],i.value=null,r.value=!1)}finally{k===f&&(s.value=!1,l.value=!1)}};return{items:t,hydrated:o,cursor:i,hasMore:r,loading:s,loadingMore:l,permissionDenied:d,error:c,loadInitial:async()=>{i.value=null,await m(!1)},loadMore:async()=>{!r.value||l.value||await m(!0)},refresh:async()=>{i.value=null,await m(!1)},hydrateSelection:async v=>{if(v.length===0)return o.value=[],[];try{const k=await n.httpClient.get("/v1/media/library",{params:vu(n.view.value,n.filters.value,1,null,v)}),V=hu(k);return o.value=V.hydrated,V.hydrated}catch(k){return c.value=bu("hydration_failed",k),[]}},prepend:v=>{t.value=gu([v,...t.value])}}}const jF="mediables.media-library.";function WF(n){return!n||n.key.trim()===""?null:`${jF}${n.key}`}function Js(){return typeof window>"u"||typeof window.sessionStorage>"u"?null:window.sessionStorage}function ZF(n,a){const t=Date.parse(n);return Number.isFinite(t)?Date.now()-t>a*60*1e3:!0}function qp(n){const a=WF(n),t=(n==null?void 0:n.ttlMinutes)??30,o=`${(n==null?void 0:n.key)??"media-library"}:${Date.now()}`;return{restore:()=>{if(a===null)return null;const l=Js();if(l===null)return null;const d=l.getItem(a);if(d===null)return null;let c;try{c=JSON.parse(d)}catch{return l.removeItem(a),null}if(typeof c!="object"||c===null||Array.isArray(c))return l.removeItem(a),null;const u=c;if(u.version!==1||typeof u.savedAt!="string"||ZF(u.savedAt,t))return l.removeItem(a),null;const f={selectedIds:Array.isArray(u.selectedIds)?u.selectedIds.filter(m=>typeof m=="string"&&m.trim()!==""):[]};return((n==null?void 0:n.restoreView)??!0)&&u.view&&(f.view=u.view),u.filters&&(f.filters=u.filters),f},save:l=>{if(a===null)return;const d=Js();if(d===null)return;const c={version:1,savedAt:new Date().toISOString(),selectedIds:[...l.selectedIds]};((n==null?void 0:n.restoreView)??!0)&&l.view&&(c.view=l.view),l.filters&&(c.filters=l.filters),d.setItem(a,JSON.stringify(c))},clear:()=>{if(a===null)return;const l=Js();l==null||l.removeItem(a)},sessionId:o}}function Yp(n){const a=e.ref(n);return{state:a,transition:o=>{a.value=o}}}function Qp(n){return{emitMetric:(t,o)=>{const i={name:t,timestamp:new Date().toISOString()};o!==void 0&&(i.payload=o),n==null||n(i)}}}function bo(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function HF(n){const a=bo(n)?n:{};return(Array.isArray(a.data)?a.data:bo(a.data)&&Array.isArray(a.data.data)?a.data.data:Array.isArray(n)?n:[]).map(o=>{if(!bo(o)||typeof o.id!="string"||typeof o.name!="string")return null;const i={id:o.id,name:o.name};return typeof o.description=="string"&&o.description.trim()!==""&&(i.description=o.description),typeof o.media_count=="number"&&(i.mediaCount=o.media_count),i}).filter(o=>o!==null)}function XF(n){const a=bo(n)?n:{},t=bo(a.data)?a.data:bo(n)?n:null;if(t===null||typeof t.id!="string"||typeof t.name!="string")return null;const o={id:t.id,name:t.name};return typeof t.description=="string"&&t.description.trim()!==""&&(o.description=t.description),o}function GF(n){return n==="ready"||n==="uploading"||n==="failed"}function ir(n,a="ready"){return{id:n.uuid,media:n,status:a,countsTowardMax:GF(a)}}function JF(n,a){return n.scope==="library"?!0:a.type==="album"&&a.albumId===n.albumId}function KF(n,a){return n.scope==="library"?a.type==="library"||a.type==="album":a.type==="album"&&a.albumId===n.albumId}function Ks(n){return{code:"configuration_error",message:n,retriable:!1}}function qF(n){return typeof n!="string"||n.length===0?"document":n.startsWith("image/")?"image":n.startsWith("video/")?"video":n.startsWith("audio/")?"audio":"document"}function YF(n,a){return a.length===0||n===null?!0:a.includes(qF(n.mime_type))}function ef(n){var oe,L,R;const a=n.selectionMode??"multiple",t=n.maxSelection,o=n.uploadBehavior??"adapter",i=e.ref(n.initialView??{scope:"library"}),r=((oe=n.initialFilters)==null?void 0:oe.kinds)??(n.allowedMediaKinds&&n.allowedMediaKinds.length>0?[...n.allowedMediaKinds]:void 0),s=e.ref({sort:((L=n.initialFilters)==null?void 0:L.sort)??"newest",...(R=n.initialFilters)!=null&&R.query?{query:n.initialFilters.query}:{},...r?{kinds:r}:{}}),l=n.allowedMediaKinds?[...n.allowedMediaKinds]:[],d=e.ref([]),c=e.ref([]),u=e.ref(null),f=e.ref(null),m=qp(n.sessionPolicy),{emitMetric:p}=Qp(n.telemetry),h=Yp("idle"),v=_d({httpClient:n.deps.httpClient,view:i,filters:s}),k=e.computed(()=>c.value.map(Z=>Z.id)),V=e.computed(()=>{const Z=u.value;return Z===null?null:v.items.value[Z]??null}),B=e.computed(()=>n.uploadTarget??{type:"library"}),_=kd({adapter:n.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:Z=>Z.original_url,getThumbnailUrl:Z=>Z.thumbnail_url??Z.preview_url??Z.original_url},postUpload:async(Z,G,te)=>{const ce=B.value;ce.type!=="album"||!ce.albumId||await te.attach(G.uuid,{modelType:"album",modelId:ce.albumId})},onUploadComplete:(Z,G)=>{const te=B.value;JF(i.value,te)&&v.prepend(G),n.autoSelectUploaded&&KF(i.value,te)&&A(G),p("upload-complete",{mediaId:G.uuid,targetType:te.type,targetAlbumId:te.albumId})},onUploadError:(Z,G)=>{f.value={code:"upload_failed",message:G.message,retriable:!0,cause:G}}}),g=e.computed(()=>_.isUploading.value),E=()=>{m.save({selectedIds:[...k.value],view:i.value,filters:s.value})},S=async Z=>{const G=await v.hydrateSelection(Z);c.value=G.map(te=>te.status==="ready"&&te.media?ir(te.media):{id:te.id,media:null,status:te.status,countsTowardMax:!1})},N=e.computed(()=>c.value.filter(Z=>Z.countsTowardMax).length),C=()=>a==="single"||t===void 0?!0:N.value<t,A=Z=>{if(c.value.findIndex(te=>te.id===Z.uuid)>=0){a==="multiple"?c.value=c.value.filter(te=>te.id!==Z.uuid):c.value=[ir(Z)],E();return}if(!C()){f.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=[ir(Z)]:c.value=[...c.value,ir(Z)],f.value=null,E()},j=async()=>{var G;h.transition("restoring");const Z=m.restore();if(Z===null){h.transition("ready");return}Z.view&&(i.value=Z.view),Z.filters&&(s.value={sort:Z.filters.sort??"newest",...Z.filters.query?{query:Z.filters.query}:{},...Z.filters.kinds?{kinds:Z.filters.kinds}:{}}),await v.loadInitial(),(((G=n.sessionPolicy)==null?void 0:G.restoreSelection)??!0)&&await S(Z.selectedIds),h.transition("ready")};e.watch(()=>v.error.value,Z=>{Z!==null&&(f.value=Z,h.transition("error"))});const x=async()=>{f.value=null,h.transition("idle"),await j(),v.items.value.length===0&&!v.loading.value&&!v.permissionDenied.value&&await v.loadInitial();const Z=n.defaultSelectedIds??[];c.value.length===0&&Z.length>0&&await S(Z),h.transition("ready")},F=async(Z,G="user")=>{const te=i.value;i.value=Z,G==="user"&&n.preserveSelectionOnViewChange===!1&&(c.value=[]),p("view-change",{from:te.scope,to:Z.scope,reason:G}),await v.loadInitial(),E()},y=async()=>{const Z=await n.deps.httpClient.get("/v1/albums");d.value=HF(Z)},D=async(Z,G)=>{try{const te={name:Z,visibility:"private"};G&&G.trim()!==""&&(te.parent_id=G);const ce=await n.deps.httpClient.post("/v1/albums",te),me=XF(ce);return me===null?Ks("Album creation response was invalid."):(d.value=[me,...d.value.filter(ge=>ge.id!==me.id)],await F({scope:"album",albumId:me.id,albumName:me.name},"inline-album-created"),me)}catch(te){const ce={code:"album_create_failed",message:te instanceof Error?te.message:"Album creation failed.",retriable:!0,cause:te};return f.value=ce,ce}},P=async Z=>{if(!n.enableUpload){f.value=Ks("Uploads are not enabled for this picker.");return}if(o!=="delegate"){if(!n.deps.uploadAdapter){f.value=Ks("Uploads require a configured upload adapter.");return}await _.addFiles(Z)}},O=()=>{var te;if(l.length>0&&c.value.find(me=>me.media!==null&&!YF(me.media,l))){const ge={code:"selection_invalid",message:`Selected media is not allowed here. Choose one of: ${l.join(", ")}.`,retriable:!0};return f.value=ge,ge}const Z=((te=n.validateSelection)==null?void 0:te.call(n,c.value))??null;if(Z!==null){const ce={code:"selection_invalid",message:Z,retriable:!0};return f.value=ce,ce}if(c.value.filter(ce=>ce.status==="ready"&&ce.media!==null).length===0){const ce={code:"selection_invalid",message:"Select at least one available media item.",retriable:!0};return f.value=ce,ce}return{orderedIds:k.value,items:[...c.value],view:i.value,filters:s.value,dirty:!0,sessionId:m.sessionId}},U=Z=>{const G=v.items.value.findIndex(te=>te.uuid===Z.uuid);u.value=G>=0?G:null},T=()=>{u.value=null},I=()=>{u.value===null||u.value<=0||(u.value-=1)},z=()=>{u.value===null||u.value>=v.items.value.length-1||(u.value+=1)},X=Z=>{c.value=c.value.filter(G=>G.id!==Z),E()},le=async()=>{await v.refresh()},ve=async Z=>{s.value={...s.value,...Z&&Z.trim()!==""?{query:Z.trim()}:{}},(!Z||Z.trim()==="")&&delete s.value.query,await v.loadInitial(),E()},re=async()=>{await F({scope:"library"},"permission-unavailable")};return{view:i,filters:s,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:f,uploadQueue:_.uploadsArray,isUploading:g,previewIndex:u,previewItem:V,initialize:x,refresh:le,loadMore:v.loadMore,setQuery:ve,setView:F,toggleSelection:A,removeSelected:X,confirmSelection:O,openPreview:U,closePreview:T,showPreviousPreview:I,showNextPreview:z,loadAlbums:y,createAlbum:D,addUploadFiles:P,goToLibrary:re,sessionId:m.sessionId}}const QF=["data-testid"],e6={class:"mlp-location-bar"},t6={class:"mlp-location-bar__left"},a6={class:"mlp-location-bar__label"},n6={class:"mlp-tabs","data-testid":"media-picker-tabs"},o6={key:0,class:"mlp-search-row"},i6=["placeholder"],r6={key:2,class:"mlp-overlay-panel"},s6={key:0,class:"mlp-error","data-testid":"media-picker-error"},l6={key:5,class:"mlp-bottom-bar"},d6={key:0,class:"mlp-bottom-bar__selection"},c6={class:"mlp-bottom-bar__count"},u6={class:"mlp-bottom-bar__thumbs"},m6=["src","alt"],p6={key:1,class:"mlp-bottom-bar__thumb-placeholder"},f6=["aria-label","onClick"],h6={class:"mlp-bottom-bar__actions"},v6=e.defineComponent({__name:"MediaLibraryPicker",props:{deps:{},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","view-change","error","metric","request-upload-files"],setup(n,{expose:a,emit:t}){const o=n,i=t,r=e.computed(()=>{var I,z,X,le,ve,re,oe,L,R,Z,G,te,ce,me,ge,Te,he,ye,Ne,Ce,nt,et,bt,Vt,yt,Nt,Tt,qe,ft,we,ke,Fe;return{title:((I=o.labels)==null?void 0:I.title)??"Media library",searchPlaceholder:((z=o.labels)==null?void 0:z.searchPlaceholder)??"Search your media",viewLibrary:((X=o.labels)==null?void 0:X.viewLibrary)??"Library",browseAlbums:((le=o.labels)==null?void 0:le.browseAlbums)??"Albums",createAlbum:((ve=o.labels)==null?void 0:ve.createAlbum)??"Create album",createAlbumNameLabel:((re=o.labels)==null?void 0:re.createAlbumNameLabel)??"Album name",emptyLibrary:((oe=o.labels)==null?void 0:oe.emptyLibrary)??"No media found in your library.",emptyAlbum:((L=o.labels)==null?void 0:L.emptyAlbum)??"No media found in this album.",networkError:((R=o.labels)==null?void 0:R.networkError)??"Unable to load media right now.",retry:((Z=o.labels)==null?void 0:Z.retry)??"Retry",selectedCount:((G=o.labels)==null?void 0:G.selectedCount)??(tt=>`${tt} selected`),confirmAction:((te=o.labels)==null?void 0:te.confirmAction)??"Attach selected",cancel:((ce=o.labels)==null?void 0:ce.cancel)??"Cancel",dismiss:((me=o.labels)==null?void 0:me.dismiss)??"Remove",uploadLabel:((ge=o.labels)==null?void 0:ge.uploadLabel)??"Upload",albumUnavailableTitle:((Te=o.labels)==null?void 0:Te.albumUnavailableTitle)??"Album unavailable",albumUnavailableBody:((he=o.labels)==null?void 0:he.albumUnavailableBody)??"You no longer have access to this album.",goToLibrary:((ye=o.labels)==null?void 0:ye.goToLibrary)??"Go to library",allMediaTab:((Ne=o.labels)==null?void 0:Ne.allMediaTab)??"All Media",loadingMedia:((Ce=o.labels)==null?void 0:Ce.loadingMedia)??"Loading media…",loadMore:((nt=o.labels)==null?void 0:nt.loadMore)??"Load more",loadingMore:((et=o.labels)==null?void 0:et.loadingMore)??"Loading…",uploadDropzone:((bt=o.labels)==null?void 0:bt.uploadDropzone)??"Drop files here or browse",uploadDropzoneHelper:((Vt=o.labels)==null?void 0:Vt.uploadDropzoneHelper)??"",uploadDone:((yt=o.labels)==null?void 0:yt.uploadDone)??"Done",uploadDoneAria:((Nt=o.labels)==null?void 0:Nt.uploadDoneAria)??"Close upload panel",uploadFileInputLabel:((Tt=o.labels)==null?void 0:Tt.uploadFileInputLabel)??"Choose media files",previewClose:((qe=o.labels)==null?void 0:qe.previewClose)??"Close preview",previewPrevious:((ft=o.labels)==null?void 0:ft.previewPrevious)??"Previous media",previewNext:((we=o.labels)==null?void 0:we.previewNext)??"Next media",previewSelect:((ke=o.labels)==null?void 0:ke.previewSelect)??"Select media",previewDeselect:((Fe=o.labels)==null?void 0:Fe.previewDeselect)??"Deselect media"}}),s={deps:o.deps,selectionMode:o.selectionMode,initialView:o.initialView,initialFilters:o.initialFilters,...o.maxSelection!==void 0?{maxSelection:o.maxSelection}:{},...o.modelValue.length>0||o.defaultSelectedIds.length>0?{defaultSelectedIds:o.modelValue.length>0?o.modelValue:o.defaultSelectedIds}:{},...o.sessionPolicy?{sessionPolicy:o.sessionPolicy}:{},...o.enableUpload?{enableUpload:!0}:{},uploadBehavior:o.uploadBehavior,...o.uploadTarget?{uploadTarget:o.uploadTarget}:{},...o.autoSelectUploaded?{autoSelectUploaded:!0}:{},...o.validateSelection?{validateSelection:o.validateSelection}:{},...o.allowedMediaKinds&&o.allowedMediaKinds.length>0?{allowedMediaKinds:o.allowedMediaKinds}:{},preserveSelectionOnViewChange:o.preserveSelectionOnViewChange,telemetry:I=>{var z;(z=o.telemetry)==null||z.call(o,I),i("metric",I)}},l=ef(s),d=e.ref(o.initialFilters.query??""),c=e.ref(o.enableUpload?"upload":"media"),u=e.ref(!1),f=JSON.stringify(o.modelValue.length>0?o.modelValue:o.defaultSelectedIds);let m=null;const p=e.computed(()=>JSON.stringify(l.orderedIds.value)!==f),h=e.computed(()=>l.view.value.scope==="album"?r.value.emptyAlbum:r.value.emptyLibrary),v=e.computed(()=>r.value.selectedCount(l.selectedItems.value.length)),k=e.computed(()=>l.view.value.scope==="album"?l.view.value.albumName??"Album":r.value.viewLibrary),V=e.computed(()=>l.view.value.scope==="album"),B=()=>{m!==null&&(window.clearTimeout(m),m=null)},_=()=>{i("update:modelValue",[...l.orderedIds.value]),i("selection-change",{orderedIds:[...l.orderedIds.value],items:[...l.selectedItems.value],dirty:p.value})},g=I=>{I!==null&&i("error",I)},E=I=>typeof I.code=="string",S=I=>typeof I=="object"&&I!==null&&"code"in I&&typeof I.code=="string",N=()=>{const I=l.confirmSelection();if(E(I)){g(I);return}i("confirm",{...I,dirty:p.value})},C=(I="user")=>{i("cancel",{dirty:p.value,reason:I,sessionId:l.sessionId})},A=async()=>{c.value="albums",await l.loadAlbums()},j=async()=>{await l.goToLibrary(),c.value="albums",await l.loadAlbums()},x=I=>{l.setView({scope:"album",albumId:I.id,albumName:I.name}),c.value="media"},F=async(I,z)=>{const X=l.view.value,le=await l.createAlbum(I,z);if(S(le)){g(le);return}u.value=!1,c.value="media",i("view-change",{from:X,to:{scope:"album",albumId:le.id,albumName:le.name},reason:"inline-album-created",restoredFromSession:!1})},y=async I=>{if(o.uploadBehavior==="delegate"){i("request-upload-files",{files:[...I],view:l.view.value,filters:l.filters.value,sessionId:l.sessionId});return}await l.addUploadFiles(I)};function D(I){var z;return I?I.thumbnail_url??((z=I.conversion_urls)==null?void 0:z.thumb)??I.preview_url??I.original_url??I.url??null:null}function P(I){return I!=null&&I.mime_type?I.mime_type.startsWith("image/"):!1}e.watch(()=>d.value,I=>{B(),m=window.setTimeout(()=>{l.setQuery(I)},250)}),e.watch(()=>l.selectedItems.value,()=>{_()},{deep:!0}),e.watch(()=>l.error.value,I=>{g(I)}),e.watch(()=>o.enableUpload,I=>{!I&&c.value==="upload"&&(c.value="media")}),e.onMounted(()=>{l.initialize()}),e.onBeforeUnmount(()=>{B()}),a({refresh:l.refresh});function O(I){if(I==="albums"){A();return}if(I==="upload"&&!o.enableUpload){c.value="media";return}c.value=I}const U=e.computed(()=>({activeTab:c.value,setActiveTab:O,enableUpload:o.enableUpload,labels:{uploadLabel:r.value.uploadLabel,allMediaTab:r.value.allMediaTab,browseAlbums:r.value.browseAlbums}})),T=e.computed(()=>({query:d.value,setQuery:I=>{d.value=I},placeholder:r.value.searchPlaceholder}));return(I,z)=>(e.openBlock(),e.createElementBlock("section",{class:"media-library-picker","data-testid":I.testIdPrefix},[e.createElementVNode("header",e6,[e.createElementVNode("div",t6,[V.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:j},[...z[8]||(z[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",a6,e.toDisplayString(k.value),1)])]),e.renderSlot(I.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(U.value)),()=>[e.createElementVNode("nav",n6,[I.enableUpload?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="upload"}]),"data-testid":"tab-media-picker-upload",onClick:z[0]||(z[0]=X=>c.value="upload")},e.toDisplayString(r.value.uploadLabel),3)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="media"}]),"data-testid":"tab-media-picker-all",onClick:z[1]||(z[1]=X=>c.value="media")},e.toDisplayString(r.value.allMediaTab),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["mlp-tabs__tab",{"is-active":c.value==="albums"}]),"data-testid":"tab-media-picker-albums",onClick:A},e.toDisplayString(r.value.browseAlbums),3)])],!0),c.value==="media"||c.value==="albums"?(e.openBlock(),e.createElementBlock("div",o6,[e.renderSlot(I.$slots,"search",e.normalizeProps(e.guardReactiveProps(T.value)),()=>[z[9]||(z[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":z[2]||(z[2]=X=>d.value=X),class:"mlp-search-row__input",type:"search",placeholder:r.value.searchPlaceholder,"data-testid":"input-media-picker-search"},null,8,i6),[[e.vModelText,d.value]])],!0)])):e.createCommentVNode("",!0),I.enableUpload&&c.value==="upload"?(e.openBlock(),e.createBlock(Wp,{key:1,open:!0,queue:e.unref(l).uploadQueue.value,accept:I.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:z[3]||(z[3]=X=>c.value="media"),onFilesSelected:y},null,8,["queue","accept","upload-label","dropzone-label","dropzone-helper-text","file-input-label","close-button-label","close-button-aria-label"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",r6,[e.createVNode($p,{open:u.value,"name-label":r.value.createAlbumNameLabel,albums:e.unref(l).albums.value,onCancel:z[4]||(z[4]=X=>u.value=!1),onCreate:F},null,8,["open","name-label","albums"])])):e.createCommentVNode("",!0),e.unref(l).permissionDenied.value&&e.unref(l).view.value.scope==="album"?(e.openBlock(),e.createBlock(Dp,{key:3,title:r.value.albumUnavailableTitle,body:r.value.albumUnavailableBody,"action-label":r.value.goToLibrary,onGoToLibrary:e.unref(l).goToLibrary},null,8,["title","body","action-label","onGoToLibrary"])):e.createCommentVNode("",!0),!e.unref(l).permissionDenied.value||e.unref(l).view.value.scope!=="album"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.unref(l).error.value?(e.openBlock(),e.createElementBlock("div",s6,[e.createElementVNode("p",null,e.toDisplayString(e.unref(l).error.value.message||r.value.networkError),1),e.createElementVNode("button",{type:"button",class:"mlp-error__retry",onClick:z[5]||(z[5]=(...X)=>e.unref(l).refresh&&e.unref(l).refresh(...X))},e.toDisplayString(r.value.retry),1)])):e.createCommentVNode("",!0),c.value==="media"?(e.openBlock(),e.createBlock(Hp,{key:1,items:e.unref(l).queryItems.value,"selected-items":e.unref(l).selectedItems.value,loading:e.unref(l).loading.value,"loading-more":e.unref(l).loadingMore.value,"has-more":e.unref(l).hasMore.value,"empty-message":h.value,"loading-message":r.value.loadingMedia,"load-more-label":r.value.loadMore,"loading-more-label":r.value.loadingMore,"test-id-prefix":`${I.testIdPrefix}-item`,onToggle:e.unref(l).toggleSelection,onPreview:e.unref(l).openPreview,onLoadMore:e.unref(l).loadMore},null,8,["items","selected-items","loading","loading-more","has-more","empty-message","loading-message","load-more-label","loading-more-label","test-id-prefix","onToggle","onPreview","onLoadMore"])):c.value==="albums"?(e.openBlock(),e.createBlock(jp,{key:2,open:!0,"current-view":e.unref(l).view.value,albums:e.unref(l).albums.value,"view-library-label":r.value.viewLibrary,"browse-albums-label":r.value.browseAlbums,"create-album-label":r.value.createAlbum,"enable-album-creation":I.enableAlbumCreation,onSelectLibrary:j,onSelectAlbum:x,onCreateAlbum:z[6]||(z[6]=X=>u.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),I.showFooter?(e.openBlock(),e.createElementBlock("footer",l6,[e.unref(l).selectedItems.value.length>0?(e.openBlock(),e.createElementBlock("div",d6,[e.createElementVNode("span",c6,e.toDisplayString(v.value),1),e.createElementVNode("div",u6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).selectedItems.value,X=>{var le,ve,re;return e.openBlock(),e.createElementBlock("div",{key:X.id,class:"mlp-bottom-bar__thumb-item"},[P(X.media)&&D(X.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:D(X.media),alt:((le=X.media)==null?void 0:le.alt_text)??((ve=X.media)==null?void 0:ve.file_name)??"Selected",class:"mlp-bottom-bar__thumb-img"},null,8,m6)):(e.openBlock(),e.createElementBlock("div",p6,[...z[10]||(z[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} ${((re=X.media)==null?void 0:re.file_name)??X.id}`,"data-testid":"btn-media-picker-remove-selected",onClick:oe=>e.unref(l).removeSelected(X.id)},[...z[11]||(z[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,f6)])}),128))])])):e.createCommentVNode("",!0),e.createElementVNode("div",h6,[e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__cancel","data-testid":"btn-media-picker-cancel",onClick:z[7]||(z[7]=X=>C())},e.toDisplayString(r.value.cancel),1),e.createElementVNode("button",{type:"button",class:"mlp-bottom-bar__confirm","data-testid":"btn-media-picker-confirm",onClick:N},e.toDisplayString(r.value.confirmAction),1)])])):e.createCommentVNode("",!0),I.enablePreview?(e.openBlock(),e.createBlock(zp,{key:6,open:e.unref(l).previewItem.value!==null,media:e.unref(l).previewItem.value,"can-go-previous":e.unref(l).previewIndex.value!==null&&e.unref(l).previewIndex.value>0,"can-go-next":e.unref(l).previewIndex.value!==null&&e.unref(l).previewIndex.value<e.unref(l).queryItems.value.length-1,selected:e.unref(l).previewItem.value!==null&&e.unref(l).orderedIds.value.includes(e.unref(l).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(l).closePreview,onPrevious:e.unref(l).showPreviousPreview,onNext:e.unref(l).showNextPreview,onToggleSelect:e.unref(l).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,QF))}}),tf=Ie(v6,[["__scopeId","data-v-68a73e25"]]),g6={key:0,class:"media-library-picker-modal","data-testid":"media-library-picker-modal"},b6={class:"media-library-picker-modal__panel"},y6=e.defineComponent({__name:"MediaLibraryPickerModal",props:{deps:{},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(n,{emit:a}){const t=n,o=a,i=()=>{t.closeOnBackdrop&&o("close")};return(r,s)=>r.isOpen?(e.openBlock(),e.createElementBlock("div",g6,[e.createElementVNode("button",{type:"button",class:"media-library-picker-modal__backdrop","aria-label":"Close media picker",onClick:i}),e.createElementVNode("div",b6,[e.createVNode(tf,e.mergeProps(t,{"onUpdate:modelValue":s[0]||(s[0]=l=>o("update:modelValue",l)),onConfirm:s[1]||(s[1]=l=>o("confirm",l)),onCancel:s[2]||(s[2]=l=>o("cancel",l))}),null,16)])])):e.createCommentVNode("",!0)}}),w6=Ie(y6,[["__scopeId","data-v-a92e8703"]]),k6={key:0,class:"media-selection-tray","data-testid":"media-selection-tray"},_6={class:"media-selection-tray__header"},E6={class:"media-selection-tray__title"},x6={class:"media-selection-tray__items"},S6={class:"media-selection-tray__item-preview"},C6=["src","alt"],V6={key:1,class:"media-selection-tray__file-icon"},N6={class:"media-selection-tray__item-copy"},T6=["aria-label","onClick"],M6=e.defineComponent({__name:"MediaSelectionTray",props:{items:{},selectedCountLabel:{default:"Selected items"},dismissLabel:{default:"Remove"}},emits:["remove"],setup(n,{emit:a}){const t=a;function o(r){var s;return r?r.thumbnail_url??((s=r.conversion_urls)==null?void 0:s.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,s)=>r.items.length>0?(e.openBlock(),e.createElementBlock("section",k6,[e.createElementVNode("header",_6,[e.createElementVNode("h3",E6,e.toDisplayString(r.selectedCountLabel),1)]),e.createElementVNode("div",x6,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.items,l=>{var d,c,u,f;return e.openBlock(),e.createElementBlock("article",{key:l.id,class:"media-selection-tray__item"},[e.createElementVNode("div",S6,[i(l.media)&&o(l.media)?(e.openBlock(),e.createElementBlock("img",{key:0,src:o(l.media),alt:((d=l.media)==null?void 0:d.alt_text)??((c=l.media)==null?void 0:c.file_name)??"Selected media",class:"media-selection-tray__thumb"},null,8,C6)):(e.openBlock(),e.createElementBlock("div",V6,[...s[0]||(s[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",N6,[e.createElementVNode("strong",null,e.toDisplayString(((u=l.media)==null?void 0:u.file_name)??l.id),1),e.createElementVNode("span",null,e.toDisplayString(l.status),1)]),e.createElementVNode("button",{type:"button",class:"media-selection-tray__remove","aria-label":`${r.dismissLabel} ${((f=l.media)==null?void 0:f.file_name)??l.id}`,onClick:m=>t("remove",l.id)},e.toDisplayString(r.dismissLabel),9,T6)])}),128))])])):e.createCommentVNode("",!0)}}),B6=Ie(M6,[["__scopeId","data-v-f2a3d69d"]]);function Ed(n={}){const a=e.ref(!1),t=e.ref(!1),o=e.ref(null),i=e.ref(null),r=e.ref(0),s=e.ref(null),l=e.ref(null),d=e.computed(()=>l.value!==null),c=V=>{if(r.value++,l.value=null,i.value=null,t.value=!1,V!=null&&typeof V=="object"&&!(V instanceof Blob)&&("image"in V||"state"in V||"sessionKey"in V)){const B=V;o.value=B.image??null,s.value=B.state??null}else o.value=V??null,s.value=null;a.value=!0},u=()=>{a.value=!1,o.value=null,i.value=null,l.value=null,t.value=!1,s.value=null},f=async V=>{try{return t.value=!0,i.value=V,n.onSave&&await n.onSave(V),u(),V}catch(B){const _=B;throw l.value=_,n.onError&&n.onError(_),_}finally{t.value=!1}},m=()=>{n.onCancel&&n.onCancel(),u()},p=V=>{l.value=V,n.onError&&n.onError(V)},h=()=>{l.value=null},v=()=>i.value,k=e.computed(()=>a.value&&i.value!==null&&!t.value);return{isOpen:a,isProcessing:t,uploadedImage:o,editedImage:i,sessionKey:r,initialState:s,error:l,hasError:d,hasUnsavedChanges:k,open:c,close:u,handleSave:f,handleCancel:m,handleError:p,clearError:h,getEditedImage:v}}let qs=null;function I6(n){return qs||(qs=Ed(n)),qs}function F6(n){return a=>new Promise((t,o)=>{Ed({...n,onSave:async r=>{n!=null&&n.onSave&&await n.onSave(r),t(r)},onError:r=>{n!=null&&n.onError&&n.onError(r),o(r)},onCancel:()=>{n!=null&&n.onCancel&&n.onCancel(),o(new Error("User cancelled"))}}).open(a)})}function xd(n){return n.filter(a=>a.media&&!a.markedForRemoval).map((a,t)=>{const o={uuid:a.media.uuid,name:a.name,order:t};return a.customProperties&&(o.custom_properties=a.customProperties),o})}function Ol(n){return n.map((a,t)=>{const o={media:a,clientId:a.uuid,name:a.name||a.file_name,order:t};return a.custom_properties&&(o.customProperties=a.custom_properties),o})}function Sd(n){if(n){const t={};n.apiBaseUrl!==void 0&&(t.apiBaseUrl=n.apiBaseUrl),n.isAdmin!==void 0&&(t.isAdmin=n.isAdmin),yo(t)}return{name:"mediables",async upload(t,o){const r=await ha().uploadFile(t,{collection:(o==null?void 0:o.collection)||"default",customProperties:o==null?void 0:o.customProperties});if(!r)throw new Error("Upload failed: No media returned");return{media:r,uuid:r.uuid}},async attach(t,o){await ha().attachMedia(o.modelType,String(o.modelId),[t],o.collection||"images")},async attachMany(t,o){await ha().attachMedia(o.modelType,String(o.modelId),t,o.collection||"images")},async detach(t,o){await ha().detachMedia(o.modelType,String(o.modelId),t,o.collection||"images")},async reorder(t,o){await ha().reorderMedia(t.modelType,String(t.modelId),o,t.collection||"images")},async fetchModelMedia(t){return await ha().fetchModelMedia(t.modelType,String(t.modelId),t.collection||"images")},getUrl(t,o){return ha().getMediaUrl(t,o)},getThumbnailUrl(t){var o,i;return(o=t.conversion_urls)!=null&&o.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 ha().deleteMedia(t)},async update(t,o){const r=await ha().updateMedia(t,o);if(!r)throw new Error("Update failed: No media returned");return r},configure(t){const o={};t.apiBaseUrl!==void 0&&(o.apiBaseUrl=t.apiBaseUrl),t.isAdmin!==void 0&&(o.isAdmin=t.isAdmin),yo(o)}}}let yr=null;function $6(){return yr||(yr=Sd()),yr}function D6(){yr=null}const R6={apiBaseUrl:"/media-library-pro"};function rr(){var n;return typeof document>"u"?null:((n=document.querySelector('meta[name="csrf-token"]'))==null?void 0:n.getAttribute("content"))||null}function Ys(n){const a={uuid:n.uuid,file_name:n.fileName||n.name,mime_type:`application/${n.extension}`,size:n.size,disk:"public",original_url:n.original_url||"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return n.name&&(a.name=n.name),n.original_url&&(a.url=n.original_url),n.preview_url&&(a.thumbnail_url=n.preview_url,a.preview_url=n.preview_url),n.custom_properties&&(a.custom_properties=n.custom_properties),a}function Cd(n){const a={...R6,...n};return{name:"spatie",async upload(o,i){const r=new FormData;r.append("file",o),i!=null&&i.collection&&r.append("collection",i.collection),i!=null&&i.customProperties&&r.append("custom_properties",JSON.stringify(i.customProperties));const s={Accept:"application/json",...a.headers},l=a.csrfToken||rr();l&&(s["X-CSRF-TOKEN"]=l);const d={method:"POST",headers:s,body:r,credentials:"include"};i!=null&&i.signal&&(d.signal=i.signal);const c=await fetch(`${a.apiBaseUrl}/uploads`,d);if(!c.ok){const m=await c.json().catch(()=>({message:"Upload failed"}));throw new Error(m.message||`HTTP ${c.status}`)}const u=await c.json(),f=Ys(u);return i!=null&&i.onProgress&&i.onProgress(100),{media:f,uuid:u.uuid}},async attach(o,i){},async attachMany(o,i){},async detach(o,i){},async reorder(o,i){},async fetchModelMedia(o){const i={Accept:"application/json",...a.headers},r=a.csrfToken||rr();r&&(i["X-CSRF-TOKEN"]=r);const s=new URLSearchParams;s.append("model_type",o.modelType),s.append("model_id",String(o.modelId)),o.collection&&s.append("collection",o.collection);try{const l=await fetch(`${a.apiBaseUrl}/media?${s}`,{method:"GET",headers:i,credentials:"include"});if(!l.ok)throw new Error(`HTTP ${l.status}`);return(await l.json()).map(Ys)}catch{return[]}},getUrl(o,i){var r;if(i){const s=(r=o.conversion_urls)==null?void 0:r[i];if(s)return s}return o.original_url||o.url||""},getThumbnailUrl(o){var i,r;return o.preview_url?o.preview_url:(i=o.conversion_urls)!=null&&i.preview?o.conversion_urls.preview:o.thumbnail_url?o.thumbnail_url:(r=o.conversion_urls)!=null&&r.thumb?o.conversion_urls.thumb:o.original_url||o.url||""},async delete(o){const i={Accept:"application/json",...a.headers},r=a.csrfToken||rr();r&&(i["X-CSRF-TOKEN"]=r);const s=await fetch(`${a.apiBaseUrl}/uploads/${o}`,{method:"DELETE",headers:i,credentials:"include"});if(!s.ok){const l=await s.json().catch(()=>({message:"Delete failed"}));throw new Error(l.message||`HTTP ${s.status}`)}},async update(o,i){const r={Accept:"application/json","Content-Type":"application/json",...a.headers},s=a.csrfToken||rr();s&&(r["X-CSRF-TOKEN"]=s);const l=await fetch(`${a.apiBaseUrl}/uploads/${o}`,{method:"PATCH",headers:r,body:JSON.stringify(i),credentials:"include"});if(!l.ok){const c=await l.json().catch(()=>({message:"Update failed"}));throw new Error(c.message||`HTTP ${l.status}`)}const d=await l.json();return Ys(d)},configure(o){Object.assign(a,o)}}}let wr=null;function A6(){return wr||(wr=Cd()),wr}function L6(){wr=null}function af(n,a){switch(n){case"mediables":return Sd(a);case"spatie":return Cd(a);default:throw new Error(`Unknown adapter: ${n}`)}}function nf(n={}){const{enabled:a=!0,onReorder:t,onDragStart:o,onDragEnd:i,draggingClass:r="is-dragging",dropTargetClass:s="is-drop-target"}=n,l=e.ref({isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null}),d=e.ref(!1);let c=null;function u(B,_,g){a&&("dataTransfer"in B&&B.dataTransfer&&(B.dataTransfer.effectAllowed="move",B.dataTransfer.setData("text/plain",String(g))),c=B.target,c&&c.classList.add(r),l.value={isDragging:!0,dragIndex:g,dropIndex:g,draggedItem:_},d.value=!0,o==null||o(_,g))}function f(B,_){var g;if(!(!a||!l.value.isDragging)&&(B.preventDefault(),l.value.dropIndex!==_)){const E=document.querySelector(`.${s}`);E==null||E.classList.remove(s);const S=(g=B.target)==null?void 0:g.closest("[data-index]");S==null||S.classList.add(s),l.value.dropIndex=_}}function m(){if(!l.value.isDragging)return;const{dragIndex:B,dropIndex:_,draggedItem:g}=l.value;c&&c.classList.remove(r);const E=document.querySelector(`.${s}`);E==null||E.classList.remove(s),B!==null&&_!==null&&B!==_&&g&&(t==null||t({fromIndex:B,toIndex:_,item:g})),h(),i==null||i()}function p(){c&&c.classList.remove(r);const B=document.querySelector(`.${s}`);B==null||B.classList.remove(s),h(),i==null||i()}function h(){l.value={isDragging:!1,dragIndex:null,dropIndex:null,draggedItem:null},d.value=!1,c=null}function v(B,_,g){const E=[...B],[S]=E.splice(_,1);return E.splice(g,0,S),E.map((N,C)=>({...N,order:C}))}function k(B,_){return{draggable:a,"data-index":_,onDragstart:g=>u(g,B,_),onDragover:g=>f(g,_),onDragend:()=>m(),onDrop:g=>{g.preventDefault(),m()}}}function V(B){B.key==="Escape"&&l.value.isDragging&&p()}return e.onMounted(()=>{document.addEventListener("keydown",V)}),e.onUnmounted(()=>{document.removeEventListener("keydown",V),p()}),{dragState:l,isDragging:d,startDrag:u,handleDragOver:f,endDrag:m,cancelDrag:p,reorderItems:v,getDragProps:k}}function fs(n={}){const{initialItems:a=[],modelType:t,modelId:o,collection:i="images",maxItems:r,maxFileSize:s,acceptedMimeTypes:l,sortable:d=!0,disabled:c=!1,rules:u={},adapterType:f="mediables",adapter:m,maxConcurrentUploads:p=3,onChange:h,onUpload:v,onUploadComplete:k,onUploadError:V,onRemove:B,onReorder:_,onError:g,onReadyToSubmitChange:E}=n,S={maxItems:r,maxFileSize:s,acceptedMimeTypes:l,...u},N=m||af(f),C=e.ref([]),A=e.ref(!1),j=e.ref([]);function x(he){if(he.length===0)return[];const ye=he[0];return"media"in ye&&"clientId"in ye?he:Ol(he)}C.value=x(a);const{acceptString:F,canAddFiles:y}=wd({rules:S}),D=kd({adapter:N,maxConcurrent:p,rules:S,collection:i,onUploadStart:he=>{v==null||v(he)},onUploadComplete:(he,ye)=>{const Ne=C.value.findIndex(Ce=>Ce.clientId===he.id);Ne!==-1&&(C.value[Ne]={...C.value[Ne],media:ye,name:ye.name||ye.file_name,upload:{...he,status:"completed"}}),k==null||k(ye)},onUploadError:(he,ye)=>{const Ne=C.value.findIndex(Ce=>Ce.clientId===he.id);Ne!==-1&&(C.value[Ne]={...C.value[Ne],upload:{...he,status:"error",error:ye.message},errors:[{field:"upload",message:ye.message,code:"UPLOAD_ERROR"}]}),V==null||V({file:he.file,message:ye.message})},onQueueComplete:()=>{h==null||h(C.value)}}),{dragState:P,getDragProps:O,reorderItems:U}=nf({enabled:d&&!c,onReorder:he=>{C.value=U(C.value,he.fromIndex,he.toIndex),_==null||_(C.value),h==null||h(C.value)}}),T=e.computed(()=>D.isUploading.value),I=e.computed(()=>!D.isUploading.value&&D.pendingCount.value===0),z=e.computed(()=>r?C.value.length>=r:!1),X=e.computed(()=>xd(C.value)),le=e.computed(()=>C.value.length),ve=e.computed(()=>r?Math.max(0,r-C.value.length):1/0);e.watch(I,he=>{E==null||E(he)});function re(he){C.value=x(he),h==null||h(C.value)}async function oe(he){if(c)return;const ye=Array.from(he);if(!y(ye.length,C.value.length)){const et={field:"count",message:`Maximum ${r} files allowed`,code:"MAX_ITEMS"};j.value=[et],g==null||g([et]);return}const Ne=await D.addFiles(ye),Ce=C.value.length,nt=Ne.map((et,bt)=>({...et,order:Ce+bt}));C.value=[...C.value,...nt],h==null||h(C.value)}function L(he){c||(he.upload&&(he.upload.status==="uploading"||he.upload.status==="pending")&&D.cancelUpload(he.clientId),C.value=C.value.filter(ye=>ye.clientId!==he.clientId),C.value=C.value.map((ye,Ne)=>({...ye,order:Ne})),B==null||B(he),h==null||h(C.value))}function R(he){const ye=C.value.find(Ne=>Ne.clientId===he);ye&&L(ye)}function Z(){c||(D.clearAll(),C.value=[],h==null||h(C.value))}function G(he,ye){c||!d||(C.value=U(C.value,he,ye),_==null||_(C.value),h==null||h(C.value))}function te(he,ye){if(c)return;const Ne=C.value.findIndex(Ce=>Ce.clientId===he);Ne!==-1&&(C.value[Ne]={...C.value[Ne],...ye},h==null||h(C.value))}function ce(he){D.cancelUpload(he),R(he)}async function me(he){await D.retryUpload(he)}async function ge(){if(!t||!o)throw new Error("modelType and modelId are required for save()");const he={modelType:t,modelId:o,collection:i},ye=C.value.filter(Ne=>Ne.media&&!Ne.markedForRemoval).map(Ne=>Ne.media.uuid);A.value=!0;try{await N.attachMany(ye,he),await N.reorder(he,ye)}finally{A.value=!1}}async function Te(){if(!t||!o)throw new Error("modelType and modelId are required for load()");const he={modelType:t,modelId:o,collection:i};A.value=!0;try{const ye=await N.fetchModelMedia(he);C.value=Ol(ye),h==null||h(C.value)}finally{A.value=!1}}return e.onMounted(()=>{t&&o&&a.length===0&&Te().catch(console.error)}),e.onUnmounted(()=>{D.clearAll()}),{items:C,setItems:re,addFiles:oe,removeItem:L,removeItemById:R,clearAll:Z,reorderItems:G,updateItem:te,cancelUpload:ce,retryUpload:me,save:ge,load:Te,isLoading:A,isUploading:T,isReadyToSubmit:I,isAtMaxItems:z,errors:j,dragState:P,getDragProps:O,adapter:N,formValues:X,acceptString:F,count:le,remainingSlots:ve}}const P6=["aria-disabled"],O6=["accept","multiple","disabled"],U6={class:"media-dropzone__content"},z6={class:"media-dropzone__title"},j6={class:"media-dropzone__subtitle"},W6=["disabled"],Z6={key:0,class:"media-dropzone__helper"},H6=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=e.ref(null),s=e.computed(()=>({"media-dropzone":!0,"media-dropzone--drag-over":i.value,"media-dropzone--disabled":t.disabled})),l=e.computed(()=>{const v=[];return t.maxFileSize&&v.push(`Max size: ${Pr(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 f(v){var V;if(v.preventDefault(),i.value=!1,t.disabled)return;const k=(V=v.dataTransfer)==null?void 0:V.files;k&&k.length>0&&o("files",k)}function m(){var v;t.disabled||(v=r.value)==null||v.click()}function p(v){const k=v.target,V=k.files;V&&V.length>0&&o("files",V),k.value=""}function h(v){(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),m())}return(v,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value),role:"button",tabindex:"0","aria-disabled":v.disabled,"aria-label":"Upload files",onClick:m,onKeydown:h,onDragenter:d,onDragleave:c,onDragover:u,onDrop:f},[e.createElementVNode("input",{ref_key:"fileInput",ref:r,type:"file",accept:v.accept,multiple:v.multiple,disabled:v.disabled,class:"media-dropzone__input",onChange:p},null,40,O6),e.createElementVNode("div",U6,[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",z6,[e.renderSlot(v.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(v.title),1)],!0)]),e.createElementVNode("p",j6,[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(m,["stop"])},[e.renderSlot(v.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(v.buttonText),1)],!0)],8,W6),l.value?(e.openBlock(),e.createElementBlock("p",Z6,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0)])],42,P6))}}),Vd=Ie(H6,[["__scopeId","data-v-b1366c1e"]]),X6=["data-index"],G6={key:0,class:"media-item__drag-handle","aria-label":"Drag to reorder",role:"button",tabindex:"0"},J6={class:"media-item__thumbnail"},K6=["src","alt"],q6={key:1,class:"media-item__file-icon"},Y6={key:2,class:"media-item__progress-overlay"},Q6={class:"media-item__progress-text"},e$={key:3,class:"media-item__processing-overlay"},t$={key:4,class:"media-item__error-overlay"},a$={class:"media-item__info"},n$=["title"],o$={key:0,class:"media-item__size"},i$={key:1,class:"media-item__error-message"},r$={class:"media-item__actions"},s$=["disabled"],l$=["disabled"],d$=["disabled"],c$=["disabled"],u$=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(n,{emit:a}){const t=n,o=a,i=e.ref(!1),r=e.computed(()=>{var _;return(_=t.item.upload)!=null&&_.previewUrl?t.item.upload.previewUrl:t.item.media?t.adapter.getThumbnailUrl(t.item.media):null}),s=e.computed(()=>{var _,g,E;return((_=t.item.upload)==null?void 0:_.status)==="uploading"||((g=t.item.upload)==null?void 0:g.status)==="pending"||((E=t.item.upload)==null?void 0:E.status)==="queued"}),l=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.status)==="processing"}),d=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.status)==="error"||t.item.errors&&t.item.errors.length>0}),c=e.computed(()=>{var _;return(_=t.item.upload)!=null&&_.error?t.item.upload.error:t.item.errors&&t.item.errors.length>0?t.item.errors[0].message:null}),u=e.computed(()=>{var _;return((_=t.item.upload)==null?void 0:_.progress)||0}),f=e.computed(()=>{var _;return t.item.name||((_=t.item.media)==null?void 0:_.file_name)||"Unknown file"}),m=e.computed(()=>{var N,C;const _=((N=t.item.media)==null?void 0:N.size)||((C=t.item.upload)==null?void 0:C.file.size);if(!_)return"";const g=1024,E=["Bytes","KB","MB","GB"],S=Math.floor(Math.log(_)/Math.log(g));return parseFloat((_/Math.pow(g,S)).toFixed(2))+" "+E[S]}),p=e.computed(()=>{var g,E;const _=((g=t.item.media)==null?void 0:g.mime_type)||((E=t.item.upload)==null?void 0:E.file.type);return _==null?void 0:_.startsWith("image/")}),h=e.computed(()=>({"media-item":!0,"media-item--uploading":s.value,"media-item--processing":l.value,"media-item--error":d.value,"media-item--disabled":t.disabled,"media-item--sortable":t.sortable}));function v(){t.disabled||o("remove",t.item)}function k(){t.disabled||o("edit",t.item)}function V(){t.disabled||o("retry",t.item)}function B(){t.disabled||o("cancel",t.item)}return(_,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value),"data-index":_.index,onMouseenter:g[0]||(g[0]=E=>i.value=!0),onMouseleave:g[1]||(g[1]=E=>i.value=!1)},[_.sortable&&!_.disabled?(e.openBlock(),e.createElementBlock("div",G6,[...g[2]||(g[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",J6,[r.value&&p.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.value,alt:f.value,class:"media-item__image"},null,8,K6)):(e.openBlock(),e.createElementBlock("div",q6,[...g[3]||(g[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)])])),s.value?(e.openBlock(),e.createElementBlock("div",Y6,[e.createElementVNode("div",{class:"media-item__progress-bar",style:e.normalizeStyle({width:`${u.value}%`})},null,4),e.createElementVNode("span",Q6,e.toDisplayString(u.value)+"%",1)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",e$,[...g[4]||(g[4]=[e.createElementVNode("div",{class:"media-item__spinner","aria-label":"Processing"},null,-1)])])):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",t$,[...g[5]||(g[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",a$,[e.createElementVNode("span",{class:"media-item__name",title:f.value},e.toDisplayString(f.value),9,n$),m.value?(e.openBlock(),e.createElementBlock("span",o$,e.toDisplayString(m.value),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("span",i$,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",r$,[s.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-item__action media-item__action--cancel",disabled:_.disabled,"aria-label":"Cancel upload",onClick:B},[...g[6]||(g[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,s$)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"media-item__action media-item__action--retry",disabled:_.disabled,"aria-label":"Retry upload",onClick:V},[...g[7]||(g[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,l$)):e.createCommentVNode("",!0),_.showEdit&&_.item.media&&!s.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"media-item__action media-item__action--edit",disabled:_.disabled,"aria-label":"Edit",onClick:k},[...g[8]||(g[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,d$)):e.createCommentVNode("",!0),_.showRemove?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"media-item__action media-item__action--remove",disabled:_.disabled,"aria-label":"Remove",onClick:v},[...g[9]||(g[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,c$)):e.createCommentVNode("",!0)])],42,X6))}}),Nd=Ie(u$,[["__scopeId","data-v-ff81c9ec"]]),m$=["aria-label"],p$=["draggable","data-index","onDragstart","onDragover","onDragend","onDrop"],f$={key:0,class:"media-collection__footer"},h$={class:"media-collection__count"},v$={key:0},g$={key:0,class:"media-collection__uploading"},b$=["name","value"],y$=["name","value"],w$=["name","value"],k$=["name","value"],_$={key:3,class:"media-collection__errors",role:"alert","aria-live":"polite"},E$=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(n,{emit:a}){const t=n,o=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:T=>{o("update:modelValue",T),o("change",T)},onUpload:T=>{o("upload",T)},onUploadComplete:T=>{o("upload-complete",T)},onUploadError:T=>{o("upload-error",T)},onRemove:T=>{o("remove",T)},onReorder:T=>{o("reorder",T)},onError:T=>{o("validation-error",T)},onReadyToSubmitChange:T=>{o("is-ready-to-submit-change",T)}},{items:r,setItems:s,addFiles:l,removeItem:d,reorderItems:c,cancelUpload:u,retryUpload:f,isLoading:m,isUploading:p,isAtMaxItems:h,errors:v,dragState:k,getDragProps:V,adapter:B,formValues:_,acceptString:g,count:E,remainingSlots:S}=fs(i);e.provide("mediaAdapter",B),e.provide("mediaCollection",{items:r,addFiles:l,removeItem:d,reorderItems:c}),e.watch(()=>t.modelValue,T=>{T!==r.value&&s(T)},{deep:!0});const N=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),C=e.computed(()=>({"media-collection":!0,"media-collection--disabled":t.disabled,"media-collection--readonly":t.readonly,"media-collection--loading":m.value,"media-collection--has-items":r.value.length>0,"media-collection--dragging":k.value.isDragging}));function A(T){l(T)}function j(T){d(T)}function x(T){f(T.clientId)}function F(T){u(T.clientId)}function y(T){}function D(T,I,z){if(!t.sortable||t.disabled)return;const X=V(I,z);X.onDragstart&&X.onDragstart(T)}function P(T,I){if(!t.sortable||t.disabled)return;T.preventDefault();const z=r.value[I],X=V(z,I);X.onDragover&&X.onDragover(T)}function O(T,I){const z=V(T,I);z.onDragend&&z.onDragend()}function U(T,I){T.preventDefault();const z=r.value[I],X=V(z,I);X.onDrop&&X.onDrop(T)}return(T,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[e.renderSlot(T.$slots,"dropzone",{addFiles:e.unref(l)},()=>[N.value?(e.openBlock(),e.createBlock(Vd,{key:0,accept:e.unref(g),multiple:T.maxItems!==1,disabled:T.disabled,"max-file-size":T.maxFileSize,"max-items":e.unref(S),onFiles:A},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(E)} media items`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(z,X)=>e.renderSlot(T.$slots,"item",{key:z.clientId,item:z,index:X,remove:()=>j(z)},()=>[e.createElementVNode("div",{class:e.normalizeClass(["media-collection__item-wrapper",{"media-collection__item-wrapper--drag-over":e.unref(k).dropIndex===X}]),draggable:T.sortable&&!T.disabled,"data-index":X,onDragstart:le=>D(le,z,X),onDragover:le=>P(le,X),onDragend:le=>O(z,X),onDrop:le=>U(le,X)},[e.createVNode(Nd,{item:z,adapter:e.unref(B),disabled:T.disabled,sortable:T.sortable,"show-remove":!T.readonly,"show-edit":!1,index:X,onRemove:j,onRetry:x,onCancel:F,onEdit:y},null,8,["item","adapter","disabled","sortable","show-remove","index"])],42,p$)],!0)),128))],8,m$)):N.value?e.createCommentVNode("",!0):e.renderSlot(T.$slots,"empty",{key:1},()=>[I[0]||(I[0]=e.createElementVNode("div",{class:"media-collection__empty"},[e.createElementVNode("p",null,"No files uploaded")],-1))],!0),e.renderSlot(T.$slots,"footer",{count:e.unref(E),isUploading:e.unref(p)},()=>[e.unref(r).length>0?(e.openBlock(),e.createElementBlock("div",f$,[e.createElementVNode("span",h$,[e.createTextVNode(e.toDisplayString(e.unref(E))+" "+e.toDisplayString(e.unref(E)===1?"file":"files")+" ",1),T.maxItems?(e.openBlock(),e.createElementBlock("span",v$," / "+e.toDisplayString(T.maxItems)+" max",1)):e.createCommentVNode("",!0)]),e.unref(p)?(e.openBlock(),e.createElementBlock("span",g$," Uploading... ")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0),T.generateFormFields?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}`,type:"hidden",name:`${T.name}[${X}][uuid]`,value:z.uuid},null,8,b$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}-name`,type:"hidden",name:`${T.name}[${X}][name]`,value:z.name},null,8,y$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock("input",{key:`${T.name}-${z.uuid}-order`,type:"hidden",name:`${T.name}[${X}][order]`,value:z.order},null,8,w$))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(z,X)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${T.name}-${z.uuid}-props`},[z.custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${T.name}[${X}][custom_properties]`,value:JSON.stringify(z.custom_properties)},null,8,k$)):e.createCommentVNode("",!0)],64))),128))],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",_$,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),z=>(e.openBlock(),e.createElementBlock("p",{key:z.code||z.message,class:"media-collection__error"},e.toDisplayString(z.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),x$=Ie(E$,[["__scopeId","data-v-10a5bfff"]]);function Td(n={}){const{initialItem:a,onChange:t,onReplace:o,onUpload:i,onUploadComplete:r,onUploadError:s,onRemove:l,onError:d,onReadyToSubmitChange:c,...u}=n,m={...u,initialItems:a?[a]:[],maxItems:1,sortable:!1,onChange:N=>{t==null||t(N[0]||null)},onUpload:i,onUploadComplete:r,onUploadError:s,onRemove:l,onError:d,onReadyToSubmitChange:c},p=fs(m),h=e.computed(()=>p.items.value[0]||null),v=e.computed(()=>h.value!==null),k=e.computed(()=>p.formValues.value[0]||null);function V(N){N===null?p.clearAll():p.setItems([N])}async function B(N){const C=h.value;C&&p.removeItem(C),await p.addFiles([N])}function _(){h.value&&p.removeItem(h.value)}async function g(N){const C=h.value;C&&p.removeItem(C),await p.addFiles([N]);const A=p.items.value[0];A&&(o==null||o(C,A))}function E(){var N;(N=h.value)!=null&&N.upload&&p.cancelUpload(h.value.clientId)}async function S(){var N,C;((C=(N=h.value)==null?void 0:N.upload)==null?void 0:C.status)==="error"&&await p.retryUpload(h.value.clientId)}return{item:h,setItem:V,addFile:B,removeItem:_,replaceItem:g,cancelUpload:E,retryUpload:S,save:p.save,load:p.load,isLoading:p.isLoading,isUploading:p.isUploading,isReadyToSubmit:p.isReadyToSubmit,hasItem:v,errors:p.errors,adapter:p.adapter,formValue:k,acceptString:p.acceptString}}const S$=["accept","disabled"],C$={class:"media-attachment__preview"},V$=["name","value"],N$=["name","value"],T$=["name","value"],M$=["name","value"],B$={key:4,class:"media-attachment__errors",role:"alert","aria-live":"polite"},I$=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(n,{emit:a}){const t=n,o=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:x=>{o("update:modelValue",x),o("change",x)},onUpload:x=>{o("upload",x)},onUploadComplete:x=>{o("upload-complete",x)},onUploadError:x=>{o("upload-error",x)},onRemove:x=>{o("remove",x)},onReplace:(x,F)=>{o("replace",F)},onError:x=>{o("validation-error",x)},onReadyToSubmitChange:x=>{o("is-ready-to-submit-change",x)}},{item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,hasItem:h,errors:v,adapter:k,formValue:V,acceptString:B}=Td(r);e.provide("mediaAdapter",k),e.watch(()=>t.modelValue,x=>{x!==s.value&&l(x)},{deep:!0});const _=e.computed(()=>t.showUploadZone&&!t.disabled&&!t.readonly&&!h.value),g=e.computed(()=>({"media-attachment":!0,"media-attachment--disabled":t.disabled,"media-attachment--readonly":t.readonly,"media-attachment--loading":p.value,"media-attachment--has-item":h.value}));function E(x){x.length>0&&d(x[0])}function S(){var x;(x=i.value)==null||x.click()}function N(x){const F=x.target,y=F.files;y&&y.length>0&&u(y[0]),F.value=""}function C(x){c()}function A(x){m()}function j(x){f()}return(x,F)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value)},[e.createElementVNode("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:e.unref(B),disabled:x.disabled,class:"media-attachment__hidden-input",onChange:N},null,40,S$),_.value?e.renderSlot(x.$slots,"dropzone",{key:0,addFile:e.unref(d)},()=>[e.createVNode(Vd,{accept:e.unref(B),multiple:!1,disabled:x.disabled,"max-file-size":x.maxFileSize,onFiles:E},null,8,["accept","disabled","max-file-size"])],!0):e.unref(h)&&e.unref(s)?e.renderSlot(x.$slots,"preview",{key:1,item:e.unref(s),remove:e.unref(c),replace:S},()=>[e.createElementVNode("div",C$,[e.createVNode(Nd,{item:e.unref(s),adapter:e.unref(k),disabled:x.disabled,sortable:!1,"show-remove":!x.readonly,"show-edit":!1,onRemove:C,onRetry:A,onCancel:j},null,8,["item","adapter","disabled","show-remove"]),x.showReplaceButton&&!x.readonly&&!x.disabled&&e.unref(s).media?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-attachment__replace-button",onClick:S},[...F[0]||(F[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(x.$slots,"empty",{key:2},()=>[F[1]||(F[1]=e.createElementVNode("div",{class:"media-attachment__empty"},[e.createElementVNode("p",null,"No file selected")],-1))],!0),x.generateFormFields&&e.unref(V)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("input",{type:"hidden",name:`${x.name}[uuid]`,value:e.unref(V).uuid},null,8,V$),e.createElementVNode("input",{type:"hidden",name:`${x.name}[name]`,value:e.unref(V).name},null,8,N$),e.createElementVNode("input",{type:"hidden",name:`${x.name}[order]`,value:e.unref(V).order},null,8,T$),e.unref(V).custom_properties?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:`${x.name}[custom_properties]`,value:JSON.stringify(e.unref(V).custom_properties)},null,8,M$)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",B$,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),y=>(e.openBlock(),e.createElementBlock("p",{key:y.code||y.message,class:"media-attachment__error"},e.toDisplayString(y.message),1))),128))])):e.createCommentVNode("",!0)],2))}}),F$=Ie(I$,[["__scopeId","data-v-26911174"]]),of={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"}},$$=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(n,{expose:a,emit:t}){const o=n,i=t,r={initialItems:o.modelValue,modelType:o.modelType,modelId:o.modelId,collection:o.collection,maxItems:o.maxItems,maxFileSize:o.maxFileSize,acceptedMimeTypes:o.acceptedMimeTypes,sortable:o.sortable,disabled:o.disabled,rules:o.rules,adapterType:o.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)},onReorder:x=>{i("reorder",x)},onError:x=>{i("validation-error",x)},onReadyToSubmitChange:x=>{i("is-ready-to-submit-change",x)}},{items:s,setItems:l,addFiles:d,removeItem:c,reorderItems:u,updateItem:f,cancelUpload:m,retryUpload:p,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:V,errors:B,dragState:_,getDragProps:g,adapter:E,formValues:S,acceptString:N}=fs(r);e.provide("mediaAdapter",E),e.provide("mediaCollection",{items:s,addFiles:d,removeItem:c,reorderItems:u}),e.watch(()=>o.modelValue,x=>{x!==s.value&&l(x)},{deep:!0});const C=e.computed(()=>({...of,...o.labels})),A=e.computed(()=>({accept:N.value,multiple:o.maxItems!==1,disabled:o.disabled||o.readonly||V.value})),j=e.computed(()=>({items:s.value,isLoading:h.value,isUploading:v.value,isReadyToSubmit:k.value,isAtMaxItems:V.value,errors:B.value,addFiles:d,removeItem:c,reorderItems:u,clearAll:()=>{s.value.forEach(x=>c(x))},cancelUpload:m,retryUpload:p,labels:C.value,dropzoneProps:A.value}));return a({items:s,addFiles:d,removeItem:c,reorderItems:u,updateItem:f,cancelUpload:m,retryUpload:p,isLoading:h,isUploading:v,isReadyToSubmit:k,isAtMaxItems:V,errors:B,dragState:_,getDragProps:g,adapter:E,formValues:S,acceptString:N}),(x,F)=>e.renderSlot(x.$slots,"default",e.normalizeProps(e.guardReactiveProps(j.value)))}}),D$=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(n,{expose:a,emit:t}){const o=n,i=t,r={initialItem:o.modelValue,modelType:o.modelType,modelId:o.modelId,collection:o.collection,maxFileSize:o.maxFileSize,acceptedMimeTypes:o.acceptedMimeTypes,disabled:o.disabled,rules:o.rules,adapterType:o.adapter,onChange:C=>{i("update:modelValue",C),i("change",C)},onUpload:C=>{i("upload",C)},onUploadComplete:C=>{i("upload-complete",C)},onUploadError:C=>{i("upload-error",C)},onRemove:C=>{i("remove",C)},onReplace:(C,A)=>{i("replace",A)},onError:C=>{i("validation-error",C)},onReadyToSubmitChange:C=>{i("is-ready-to-submit-change",C)}},{item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:V,adapter:B,formValue:_,acceptString:g}=Td(r);e.provide("mediaAdapter",B),e.watch(()=>o.modelValue,C=>{C!==s.value&&l(C)},{deep:!0});const E=e.computed(()=>({...of,...o.labels})),S=e.computed(()=>({accept:g.value,multiple:!1,disabled:o.disabled||o.readonly||k.value})),N=e.computed(()=>({item:s.value,hasItem:k.value,isLoading:p.value,isUploading:h.value,isReadyToSubmit:v.value,errors:V.value,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,labels:E.value,dropzoneProps:S.value}));return a({item:s,setItem:l,addFile:d,removeItem:c,replaceItem:u,cancelUpload:f,retryUpload:m,isLoading:p,isUploading:h,isReadyToSubmit:v,hasItem:k,errors:V,adapter:B,formValue:_,acceptString:g}),(C,A)=>e.renderSlot(C.$slots,"default",e.normalizeProps(e.guardReactiveProps(N.value)))}}),R$=["name","value"],A$=["name","value"],L$=["name","value"],P$=["name","value"],O$=e.defineComponent({__name:"MediaHiddenFields",props:{items:{default:()=>[]},item:{default:null},name:{default:"media"},format:{default:"mediables"}},setup(n){const a=n,t=e.computed(()=>a.item?[a.item]:a.items),o=e.computed(()=>xd(t.value));function i(l,d){var u;const c=((u=o.value[l])==null?void 0:u.uuid)||"";return`${a.name}[${c}][${d}]`}function r(l,d){return`${a.name}[${l}][${d}]`}function s(l,d){return a.format==="spatie"?i(l,d):r(l,d)}return(l,d)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c.uuid},[e.createElementVNode("input",{type:"hidden",name:s(u,"uuid"),value:c.uuid},null,8,R$),e.createElementVNode("input",{type:"hidden",name:s(u,"name"),value:c.name},null,8,A$),e.createElementVNode("input",{type:"hidden",name:s(u,"order"),value:c.order},null,8,L$),c.custom_properties&&Object.keys(c.custom_properties).length>0?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:s(u,"custom_properties"),value:JSON.stringify(c.custom_properties)},null,8,P$)):e.createCommentVNode("",!0)],64))),128))}}),U$=["data-testid"],z$=["data-testid"],j$=["id"],W$=["value","maxlength","disabled","aria-labelledby","placeholder","data-testid","onInput"],Z$=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:(n,a)=>`${n.type==="video"?"video":"photo"} ${a+1}`}},emits:["update:items"],setup(n,{emit:a}){const t=n,o=a;function i(r,s){const l=s.target;l instanceof HTMLInputElement&&o("update:items",t.items.map((d,c)=>c!==r?d:{...d,caption:l.value===""?null:l.value}))}return(r,s)=>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,(l,d)=>(e.openBlock(),e.createElementBlock("div",{key:l._key??l.id??`${l.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(l,d)),9,j$),e.createElementVNode("input",{value:l.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,W$)],8,z$))),128))],8,U$)):e.createCommentVNode("",!0)}}),H$=Ie(Z$,[["__scopeId","data-v-a153768a"]]),X$="/v1/media/deletion/check",G$="/v1/media/deletion/delete",sr=100;function yu(n){const a=new Set,t=[];for(const o of n){const i=o.trim().toLowerCase();i===""||a.has(i)||(a.add(i),t.push(i))}return t.sort()}function rf(n){const a=n.checkEndpoint??X$,t=n.deleteEndpoint??G$,o=e.ref(!1),i=e.ref(!1),r=e.ref(null),s=e.ref(null),l=e.ref(null);async function d(f){l.value=null;const m=yu(f);if(m.length===0)return r.value=[],[];if(m.length>sr){const p=new Error(`Cannot check more than ${sr} media items at once.`);throw l.value=p,p}o.value=!0;try{const p=await n.httpClient.post(a,{uuids:m}),h=((p==null?void 0:p.data)??[]).map(v=>{var k,V,B,_;return{uuid:v.uuid,canDelete:((k=v.report)==null?void 0:k.canDelete)??!1,blocks:Array.isArray((V=v.report)==null?void 0:V.blocks)?v.report.blocks:[],cascade:Array.isArray((B=v.report)==null?void 0:B.cascade)?v.report.cascade:[],variantCount:typeof((_=v.report)==null?void 0:_.variantCount)=="number"?v.report.variantCount:0}});return r.value=h,h}catch(p){throw l.value=p instanceof Error?p:new Error(String(p)),l.value}finally{o.value=!1}}async function c(f,m={}){l.value=null;const p=yu(f);if(p.length===0){const h={results:[],summary:{}};return s.value=h,h}if(p.length>sr){const h=new Error(`Cannot delete more than ${sr} media items at once.`);throw l.value=h,h}i.value=!0;try{const h=await n.httpClient.post(t,{uuids:p,force:m.force===!0}),v={results:Array.isArray(h==null?void 0:h.results)?h.results:[],summary:(h==null?void 0:h.summary)??{}};return s.value=v,v}catch(h){throw l.value=h instanceof Error?h:new Error(String(h)),l.value}finally{i.value=!1}}function u(){r.value=null,s.value=null,l.value=null}return{isChecking:o,isDeleting:i,lastReport:r,lastResponse:s,error:l,checkDependencies:d,deleteMany:c,reset:u}}const J$="/v1/user/media/trash";function K$(n){return`/v1/user/media/${encodeURIComponent(n)}/restore`}function sf(n){const a=n.listEndpoint??J$,t=n.buildRestoreEndpoint??K$,o=n.perPage??50,i=e.ref([]),r=e.ref(0),s=e.ref(1),l=e.ref(!1),d=e.ref(!1),c=e.ref(null);async function u(p=1){var h,v;c.value=null,l.value=!0;try{const k=await n.httpClient.get(a,{params:{page:p,per_page:o}});i.value=Array.isArray(k==null?void 0:k.data)?k.data:[],r.value=typeof((h=k==null?void 0:k.meta)==null?void 0:h.total)=="number"?k.meta.total:0,s.value=typeof((v=k==null?void 0:k.meta)==null?void 0:v.current_page)=="number"?k.meta.current_page:p}catch(k){throw c.value=k instanceof Error?k:new Error(String(k)),c.value}finally{l.value=!1}}async function f(p){c.value=null,d.value=!0;try{const h=await n.httpClient.post(t(p)),v={status:(h==null?void 0:h.status)??"failed",data:(h==null?void 0:h.data)??null,duplicate_uuid:(h==null?void 0:h.duplicate_uuid)??null};return typeof(h==null?void 0:h.message)=="string"&&(v.message=h.message),v.status==="restored"&&(i.value=i.value.filter(k=>k.uuid!==p),r.value=Math.max(0,r.value-1)),v}catch(h){const v=q$(h);if(v&&typeof v.status=="string"){const k={status:v.status,duplicate_uuid:typeof v.duplicate_uuid=="string"?v.duplicate_uuid:null};return typeof v.message=="string"&&(k.message=v.message),k}throw c.value=h instanceof Error?h:new Error(String(h)),c.value}finally{d.value=!1}}function m(){i.value=[],r.value=0,s.value=1,c.value=null}return{items:i,total:r,currentPage:s,isLoading:l,isRestoring:d,error:c,fetch:u,restore:f,reset:m}}function q$(n){var t;if(typeof n!="object"||n===null)return null;const a=n;return(t=a.response)!=null&&t.data&&typeof a.response.data=="object"?a.response.data:null}const Y$={class:"media-management-view","data-testid":"media-management-view"},Q$={class:"media-management-view__header"},eD={class:"media-management-view__title"},tD={class:"media-management-view__actions"},aD={key:0,class:"media-management-view__badge"},nD={key:0,class:"media-management-view__panel","data-testid":"panel-library"},oD={key:0,class:"media-management-view__status","data-testid":"library-loading"},iD={key:1,class:"media-management-view__status media-management-view__status--error","data-testid":"library-error"},rD={key:2,class:"media-management-view__empty","data-testid":"library-empty"},sD={class:"media-management-view__empty-state"},lD={class:"media-management-view__empty-title","data-testid":"library-empty-title"},dD={class:"media-management-view__empty-description","data-testid":"library-empty-description"},cD={key:3,class:"media-management-view__grid","data-testid":"library-grid"},uD=["data-testid"],mD=["data-testid","aria-pressed","onClick"],pD=["src","alt"],fD={key:1,class:"media-management-view__item-placeholder"},hD={class:"media-management-view__item-meta"},vD={class:"media-management-view__item-name"},gD=["data-testid"],bD={key:1,class:"media-management-view__item-badge","data-testid":"badge-orphaned"},yD={class:"media-management-view__bulk-bar","data-testid":"bulk-bar"},wD={"data-testid":"bulk-count"},kD=["disabled"],_D={key:1,class:"media-management-view__panel","data-testid":"panel-trash"},ED={key:0,class:"media-management-view__status","data-testid":"trash-loading"},xD={key:1,class:"media-management-view__empty","data-testid":"trash-empty"},SD={class:"media-management-view__empty-state"},CD={class:"media-management-view__empty-title","data-testid":"trash-empty-title"},VD={class:"media-management-view__empty-description","data-testid":"trash-empty-description"},ND={key:2,class:"media-management-view__grid","data-testid":"trash-grid"},TD=["data-testid"],MD={class:"media-management-view__item-thumb"},BD=["src","alt"],ID={class:"media-management-view__item-meta"},FD={class:"media-management-view__item-name"},$D={key:0,class:"media-management-view__item-meta-line"},DD=["data-testid","disabled","onClick"],RD=["data-testid"],AD=e.defineComponent({__name:"MediaManagementView",props:{httpClient:{},capabilities:{default:()=>({})},labels:{default:()=>({})},confirmBulkDelete:{},onRestoreCollision:{}},emits:["deleted","restored","restore-conflict","error"],setup(n,{expose:a,emit:t}){const o=n,i=t,r=e.computed(()=>({showTrash:!0,allowBulkDelete:!0,showOwner:!1,...o.capabilities})),s=e.computed(()=>{var re,oe,L,R,Z,G,te,ce,me,ge,Te,he,ye,Ne,Ce,nt,et;return{title:((re=o.labels)==null?void 0:re.title)??"My Media",libraryTab:((oe=o.labels)==null?void 0:oe.libraryTab)??"Library",trashTab:((L=o.labels)==null?void 0:L.trashTab)??"Trash",loading:((R=o.labels)==null?void 0:R.loading)??"Loading…",emptyLibrary:((Z=o.labels)==null?void 0:Z.emptyLibrary)??"No media yet — upload your first creation.",emptyLibraryTitle:((G=o.labels)==null?void 0:G.emptyLibraryTitle)??"Your media library is ready",emptyLibraryDescription:((te=o.labels)==null?void 0:te.emptyLibraryDescription)??"Images and videos you upload for creations are saved here so you can reuse them later.",emptyTrash:((ce=o.labels)==null?void 0:ce.emptyTrash)??"Trash is empty.",emptyTrashTitle:((me=o.labels)==null?void 0:me.emptyTrashTitle)??"No media in trash",emptyTrashDescription:((ge=o.labels)==null?void 0:ge.emptyTrashDescription)??"Deleted files appear here for 30 days before permanent removal.",orphanedBadge:((Te=o.labels)==null?void 0:Te.orphanedBadge)??"Not in use",selectedCount:((he=o.labels)==null?void 0:he.selectedCount)??(bt=>`${bt} selected`),deleteButton:((ye=o.labels)==null?void 0:ye.deleteButton)??"Delete",restoreButton:((Ne=o.labels)==null?void 0:Ne.restoreButton)??"Restore",restoreUnavailable:((Ce=o.labels)==null?void 0:Ce.restoreUnavailable)??"Restore unavailable",purgeAfter:((nt=o.labels)==null?void 0:nt.purgeAfter)??(bt=>`Purges ${bt}`),ownerLabel:((et=o.labels)==null?void 0:et.ownerLabel)??(bt=>`User ${bt.user_id??""}`)}}),l=e.computed(()=>s.value.title),d=e.computed(()=>s.value.libraryTab),c=e.computed(()=>s.value.trashTab),u=e.computed(()=>s.value.loading),f=e.computed(()=>s.value.emptyLibraryTitle),m=e.computed(()=>s.value.emptyLibraryDescription),p=e.computed(()=>s.value.emptyTrashTitle),h=e.computed(()=>s.value.emptyTrashDescription),v=e.computed(()=>s.value.orphanedBadge),k=e.computed(()=>s.value.deleteButton),V=e.computed(()=>s.value.restoreButton),B=e.computed(()=>s.value.restoreUnavailable);function _(re){const oe=r.value.canRestore;return oe?oe(re):!0}const g=e.ref("library"),E=e.ref({scope:"library"}),S=e.ref({}),N=_d({httpClient:o.httpClient,view:E,filters:S,perPage:50}),C=e.computed(()=>N.items.value),A=e.computed(()=>N.loading.value),j=e.computed(()=>{var re;return((re=N.error.value)==null?void 0:re.message)??null}),x=Au(C),F=rf({httpClient:o.httpClient}),y=sf({httpClient:o.httpClient});function D(re){return s.value.selectedCount(re)}function P(re){return s.value.purgeAfter(re)}function O(re){return s.value.ownerLabel(re)}async function U(){const re=x.selectedItems.value;if(re.length===0)return;const oe=r.value.canDelete?re.filter(L=>r.value.canDelete(L)):re;if(oe.length!==0&&!(o.confirmBulkDelete&&!await o.confirmBulkDelete(oe)))try{const L=oe.map(G=>G.uuid),Z=(await F.deleteMany(L)).results.filter(G=>G.status==="trashed"||G.status==="already_trashed").map(G=>G.uuid);if(Z.length>0){for(const G of Z)x.deselect(G);i("deleted",Z),await N.refresh(),r.value.showTrash!==!1&&await y.fetch(y.currentPage.value).catch(()=>{})}}catch(L){i("error",L instanceof Error?L:new Error(String(L)))}}async function T(re){var L;const oe=y.items.value.find(R=>R.uuid===re);if(!(oe&&!_(oe)))try{const R=await y.restore(re);if(R.status==="restored"){i("restored",re),await N.refresh().catch(()=>{});return}if(R.status==="duplicate_conflict"){i("restore-conflict",{uuid:re,duplicateUuid:R.duplicate_uuid??null}),(L=o.onRestoreCollision)==null||L.call(o,re,R.duplicate_uuid??null);return}}catch(R){i("error",R instanceof Error?R:new Error(String(R)))}}async function I(){g.value="trash",y.items.value.length===0&&!y.isLoading.value&&await y.fetch().catch(re=>{i("error",re instanceof Error?re:new Error(String(re)))})}function z(re){if(re==="trash"){I();return}g.value=re}const X=e.computed(()=>({activeTab:g.value,setActiveTab:z,trashCount:y.total.value,showTrash:r.value.showTrash!==!1,labels:{libraryTab:s.value.libraryTab,trashTab:s.value.trashTab}})),le=e.computed(()=>({selectedCount:x.selectedCount.value,selectedItemIds:Array.from(x.selectedIds.value),selectedItems:x.selectedItems.value,isDeleting:F.isDeleting.value,onBulkDelete:U,clearSelection:x.clear,labels:{deleteButton:s.value.deleteButton,selectedCount:s.value.selectedCount}}));function ve(re){return{media:re,canRestore:_(re),isRestoring:y.isRestoring.value,onRestore:()=>T(re.uuid),labels:{restoreButton:s.value.restoreButton,restoreUnavailable:s.value.restoreUnavailable}}}return e.watch(g,async re=>{re==="library"&&C.value.length===0&&!A.value&&await N.refresh().catch(()=>{})}),e.onMounted(async()=>{await N.refresh().catch(re=>{i("error",re instanceof Error?re:new Error(String(re)))}),r.value.showTrash!==!1&&y.fetch().catch(()=>{})}),a({refresh:()=>N.refresh(),refreshTrash:()=>y.fetch(),selection:x,deletion:F,trash:y}),(re,oe)=>(e.openBlock(),e.createElementBlock("div",Y$,[e.createElementVNode("header",Q$,[e.createElementVNode("h2",eD,e.toDisplayString(l.value),1),e.createElementVNode("div",tD,[e.renderSlot(re.$slots,"tabs",e.normalizeProps(e.guardReactiveProps(X.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":g.value==="library"}]),"data-testid":"tab-library",onClick:oe[0]||(oe[0]=L=>g.value="library")},e.toDisplayString(d.value),3),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["media-management-view__tab-button",{"is-active":g.value==="trash"}]),"data-testid":"tab-trash",onClick:I},[e.createTextVNode(e.toDisplayString(c.value)+" ",1),e.unref(y).total.value>0?(e.openBlock(),e.createElementBlock("span",aD,e.toDisplayString(e.unref(y).total.value),1)):e.createCommentVNode("",!0)],2)],64)):e.createCommentVNode("",!0)],!0)])]),g.value==="library"?(e.openBlock(),e.createElementBlock("section",nD,[A.value?(e.openBlock(),e.createElementBlock("div",oD,e.toDisplayString(u.value),1)):j.value?(e.openBlock(),e.createElementBlock("div",iD,e.toDisplayString(j.value),1)):C.value.length===0?(e.openBlock(),e.createElementBlock("div",rD,[e.renderSlot(re.$slots,"empty-library",{},()=>[e.createElementVNode("div",sD,[e.createElementVNode("p",lD,e.toDisplayString(f.value),1),e.createElementVNode("p",dD,e.toDisplayString(m.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",cD,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,L=>(e.openBlock(),e.createElementBlock("li",{key:L.uuid,class:e.normalizeClass(["media-management-view__item",{"is-selected":e.unref(x).isSelected(L.uuid)}]),"data-testid":`media-item-${L.uuid}`},[e.createElementVNode("button",{type:"button",class:"media-management-view__item-thumb","data-testid":`btn-select-${L.uuid}`,"aria-pressed":e.unref(x).isSelected(L.uuid),onClick:R=>e.unref(x).toggle(L.uuid)},[L.thumbnail_url||L.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:L.thumbnail_url||L.original_url,alt:L.alt_text||L.file_name,loading:"lazy"},null,8,pD)):(e.openBlock(),e.createElementBlock("span",fD,e.toDisplayString(L.file_name),1))],8,mD),e.createElementVNode("div",hD,[e.createElementVNode("span",vD,e.toDisplayString(L.file_name),1),r.value.showOwner&&L.user_id?(e.openBlock(),e.createElementBlock("span",{key:0,class:"media-management-view__item-owner","data-testid":`owner-${L.uuid}`},e.toDisplayString(O(L)),9,gD)):e.createCommentVNode("",!0),L.is_orphaned?(e.openBlock(),e.createElementBlock("span",bD,e.toDisplayString(v.value),1)):e.createCommentVNode("",!0)])],10,uD))),128))])),e.unref(x).selectedCount.value>0&&r.value.allowBulkDelete!==!1?e.renderSlot(re.$slots,"bulk-actions",e.normalizeProps(e.mergeProps({key:4},le.value)),()=>[e.createElementVNode("footer",yD,[e.createElementVNode("span",wD,e.toDisplayString(D(e.unref(x).selectedCount.value)),1),e.createElementVNode("button",{type:"button",class:"media-management-view__btn-delete","data-testid":"btn-bulk-delete",disabled:e.unref(F).isDeleting.value,onClick:U},e.toDisplayString(k.value),9,kD)])],!0):e.createCommentVNode("",!0)])):g.value==="trash"?(e.openBlock(),e.createElementBlock("section",_D,[e.unref(y).isLoading.value?(e.openBlock(),e.createElementBlock("div",ED,e.toDisplayString(u.value),1)):e.unref(y).items.value.length===0?(e.openBlock(),e.createElementBlock("div",xD,[e.renderSlot(re.$slots,"empty-trash",{},()=>[e.createElementVNode("div",SD,[e.createElementVNode("p",CD,e.toDisplayString(p.value),1),e.createElementVNode("p",VD,e.toDisplayString(h.value),1)])],!0)])):(e.openBlock(),e.createElementBlock("ul",ND,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y).items.value,L=>(e.openBlock(),e.createElementBlock("li",{key:L.uuid,class:"media-management-view__item is-trashed","data-testid":`trash-item-${L.uuid}`},[e.createElementVNode("div",MD,[L.thumbnail_url||L.original_url?(e.openBlock(),e.createElementBlock("img",{key:0,src:L.thumbnail_url||L.original_url,alt:L.alt_text||L.file_name,loading:"lazy"},null,8,BD)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ID,[e.createElementVNode("span",FD,e.toDisplayString(L.file_name),1),L.purge_after?(e.openBlock(),e.createElementBlock("span",$D,e.toDisplayString(P(L.purge_after)),1)):e.createCommentVNode("",!0)]),e.renderSlot(re.$slots,"trash-action",e.mergeProps({ref_for:!0},ve(L)),()=>[_(L)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"media-management-view__btn-restore","data-testid":`btn-restore-${L.uuid}`,disabled:e.unref(y).isRestoring.value,onClick:R=>T(L.uuid)},e.toDisplayString(V.value),9,DD)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"media-management-view__btn-restore is-unavailable","data-testid":`btn-restore-${L.uuid}-unavailable`,"aria-disabled":!0},e.toDisplayString(B.value),9,RD))],!0)],8,TD))),128))]))])):e.createCommentVNode("",!0)]))}}),LD=Ie(AD,[["__scopeId","data-v-0118e1bd"]]);exports.AlbumBrowser=Fp;exports.AlbumManager=OI;exports.AlbumMediaGrid=YI;exports.AlbumTree=Ip;exports.ArrayBufferTarget=Jl;exports.ExistingMediaSelector=Vg;exports.ImageEditor=Nu;exports.ImageEditorModal=Tu;exports.LiveStreamManager=pI;exports.ManagedMediaGallery=oh;exports.MediaAlbumInlineCreate=$p;exports.MediaAlbumUnavailableState=Dp;exports.MediaAttachment=F$;exports.MediaAttachmentMetadataFields=H$;exports.MediaCollection=x$;exports.MediaCollectionDropzone=Vd;exports.MediaCollectionItem=Nd;exports.MediaLibraryPicker=tf;exports.MediaLibraryPickerModal=w6;exports.MediaManagementView=LD;exports.MediaPreviewSheet=zp;exports.MediaSelectionTray=B6;exports.MediaSourceSheet=jp;exports.MediaThumbnailCell=Zp;exports.MediaUploadSheet=Wp;exports.MediaWorkspace=eh;exports.ModelMediaManager=Jv;exports.Muxer=Qu;exports.VideoEditor=Sp;exports.VideoEditorDialog=K4;exports.VideoEditorSimple=w3;exports.VideoExportPanel=QM;exports.VideoJobClient=us;exports.VideoPlayer=Tp;exports.VideoTimeline=W3;exports.VideoToolsPanel=FM;exports.VideoUploader=OB;exports.VirtualMediaGrid=Hp;exports._sfc_main=$$;exports._sfc_main$1=D$;exports._sfc_main$2=O$;exports.applyTemporaryMediaStoreConfig=Eu;exports.configureMediaStore=yo;exports.createAdapter=af;exports.createEmptyEditorState=$f;exports.createImageEditor=F6;exports.createMediablesAdapter=Sd;exports.createSpatieAdapter=Cd;exports.deserializeEditorState=Ff;exports.formatFileSize=Pr;exports.fromMediaArray=Ol;exports.getFileExtension=Xp;exports.getImageDimensions=Gp;exports.getMediablesAdapter=$6;exports.getSpatieAdapter=A6;exports.isImageFile=yd;exports.normalizeEditorState=Ul;exports.normalizeRecipeForServerRender=B4;exports.recipeHasServerRenderableEdits=M4;exports.recipeHasUnsupportedServerEdits=Np;exports.resetMediablesAdapter=D6;exports.resetSpatieAdapter=L6;exports.restoreMediaStoreConfig=_u;exports.serializeEditorState=wu;exports.snapshotMediaStoreConfig=ku;exports.toFormValues=xd;exports.useAdminMediaStore=xu;exports.useAlbumDragDrop=Bp;exports.useAlbumStore=ps;exports.useAlbums=Mp;exports.useGlobalImageEditor=I6;exports.useImageEditorModal=Ed;exports.useMediaAttachment=Td;exports.useMediaCollection=fs;exports.useMediaDeletion=rf;exports.useMediaDragSort=nf;exports.useMediaLibraryPickerController=ef;exports.useMediaLibraryQuery=_d;exports.useMediaLibrarySession=qp;exports.useMediaLibraryStateMachine=Yp;exports.useMediaLibraryTelemetry=Qp;exports.useMediaStore=ha;exports.useMediaTrash=sf;exports.useMediaUploadQueue=kd;exports.useMediaValidation=wd;exports.validateFile=Jp;
|
|
357
|
+
//# sourceMappingURL=index-CAPdRZVb.cjs.map
|