"use client";import{a as C,b as S}from"./chunk-O6XRT2H3.js";import{a as x}from"./chunk-INBEEENE.js";import{a as N}from"./chunk-F26IQ5RE.js";import{b as m}from"./chunk-BZZVLW4U.js";import{jsx as a,jsxs as n}from"react/jsx-runtime";import{useLexicalComposerContext as Y}from"@lexical/react/LexicalComposerContext.js";import{useLexicalEditable as Z}from"@lexical/react/useLexicalEditable";import{getTranslation as y}from"@payloadcms/translations";import{Button as p,formatDrawerSlug as ee,Thumbnail as te,useConfig as ae,useEditDepth as oe,usePayloadAPI as le,useTranslation as ie}from"@payloadcms/ui";import{$getNodeByKey as R}from"lexical";import{isImage as se}from"payload/shared";import{useCallback as h,useId as re,useReducer as ne,useRef as de,useState as ce}from"react";var E={depth:0},Ne=L=>{let{className:e,data:{fields:P,relationTo:f,value:d},format:T,nodeKey:l}=L;if(typeof d=="object")throw new Error("Upload value should be a string or number. The Lexical Upload component should not receive the populated value object.");let{config:{routes:{api:U},serverURL:F},getEntityConfig:j}=ae(),I=de(null),{uuid:z}=m(),B=oe(),[i]=Y(),{editorConfig:k,fieldProps:{schemaPath:A}}=m(),c=Z(),{i18n:g,t:s}=ie(),[_,K]=ne(r=>r+1,0),[o]=ce(()=>j({collectionSlug:f})),M=re(),b=ee({slug:"lexical-upload-drawer-"+z+M,depth:B}),{toggleDrawer:O}=x(b,!0),{closeDocumentDrawer:w,DocumentDrawer:W,DocumentDrawerToggler:H}=N({id:d,collectionSlug:o.slug}),[{data:t},{setParams:D}]=le(`${F}${U}/${o.slug}/${d}`,{initialParams:E}),v=t?.thumbnailURL||t?.url,q=h(()=>{i.update(()=>{R(l)?.remove()})},[i,l]),G=h(r=>{D({...E,cacheBust:_}),K(),w()},[D,_,w]),$=k?.resolvedFeatureMap?.get("upload")?.sanitizedClientFeatureProps.collections?.[o.slug]?.hasExtraFields,J=h((r,V)=>{i.update(()=>{let u=R(l);if(u){let X={...u.getData(),fields:V};u.setData(X)}})},[i,l]),Q=v&&t?.width&&t?.height?t.width>t.height?"landscape":"portrait":"landscape";return n("div",{className:`${e}__contents ${e}__contents--${Q}`,"data-align":T||void 0,"data-filename":t?.filename,ref:I,children:[n("div",{className:`${e}__card`,children:[n("div",{className:`${e}__media`,children:[a(te,{collectionSlug:f,fileSrc:se(t?.mimeType)?v:null,height:t?.height,size:"none",width:t?.width}),c&&a("div",{className:`${e}__overlay ${e}__floater`,children:n("div",{className:`${e}__actions`,role:"toolbar",children:[$?a(p,{buttonStyle:"icon-label",className:`${e}__upload-drawer-toggler`,disabled:!c,el:"button",icon:"edit",onClick:O,round:!0,size:"medium",tooltip:s("fields:editRelationship")}):null,a(p,{buttonStyle:"icon-label",className:`${e}__swap-drawer-toggler`,disabled:!c,el:"button",icon:"swap",onClick:()=>{i.dispatchCommand(S,{replace:{nodeKey:l}})},round:!0,size:"medium",tooltip:s("fields:swapUpload")}),a(p,{buttonStyle:"icon-label",className:`${e}__removeButton`,disabled:!c,icon:"x",onClick:r=>{r.preventDefault(),q()},round:!0,size:"medium",tooltip:s("fields:removeUpload")})]})})]}),n("div",{className:`${e}__metaOverlay ${e}__floater`,children:[a(H,{className:`${e}__doc-drawer-toggler`,children:a("strong",{className:`${e}__filename`,children:t?.filename||s("general:untitled")})}),a("div",{className:`${e}__collectionLabel`,children:y(o.labels.singular,g)})]})]}),d?a(W,{onSave:G}):null,$?a(C,{data:P,drawerSlug:b,drawerTitle:s("general:editLabel",{label:y(o.labels.singular,g)}),featureKey:"upload",handleDrawerSubmit:J,schemaPath:A,schemaPathSuffix:o.slug}):null]})};export{Ne as UploadComponent};
//# sourceMappingURL=component-5IW2M4GH.js.map
