PageSourceSearch

https://www.logistap.com/assets/EmployeeDetail-DPMcfshm.js

js logistap.com collected 2026-10-02 01:35:18 UTC 93,657 bytes, 6 lines download raw bytes

1import{g as Gt,a as ws,i as Cs,j as e,h as wr,n as Xa}from"./index-CkAxGocv.js";import{u as ke,r as u}from"./i18n-vendor-Co-krN6G.js";import{b as Tt,c as Es,f as Ds,e as Cr,g as at,w as Ss}from"./employeeData-C8aL7inU.js";import{r as As,a as Is,e as $s}from"./employeeExitStore-Dzn5jaTi.js";import{a as Ts,f as Mt,d as Ms,b as zs,s as Bs}from"./employeeStore-DaTEjH3m.js";import{b as rt,f as Fs,a as Ps}from"./employeePhotos-Bk2b9ZIj.js";import{b as zt,c as Os,d as Us}from"./employees-CZ6YCCge.js";import{f as Ks}from"./idRecords-BTEnaOsB.js";import{p as Vs,f as Ls,n as qs}from"./platforms-CuFZQmDd.js";import{f as _s,a as Ja,c as Ys,b as Hs,d as Rs,g as Ws,r as Er,e as Dr}from"./globalDocuments-DfK9f5uV.js";import{p as Gs,f as Xs,g as Qa}from"./fileUploadPolicy-Dsb_MFV2.js";import{c as Js,d as Qs}from"./permissionGuard-BRj1WUDY.js";import{a as Za}from"./documentCompliance-Uez4h3Bj.js";import{a as Xt,f as Zs}from"./dateFormatting-BQ_Cyswc.js";import{d as Oe}from"./documentDownload-y9Y71sKx.js";import{G as en}from"./GlobalDocumentModal-DZG8uXtI.js";import{a as tn,f as Bt}from"./vehicleStore-Bv4yO8k3.js";import{A as an}from"./AddableCombobox-DhfuL5bQ.js";import{u as rn}from"./listPageFilterStore-f3vrQt4m.js";import{u as sn,a as nn,n as er,d as tr}from"./useCompanyDesignations-CcXr4bom.js";import{s as on}from"./setupShortcuts-DJYo-GrJ.js";import{p as ln,t as dn,b as cn,c as mn}from"./setupReturnDrafts-CLfnNXpA.js";import{r as un}from"./appNavigationGuard-DFhsd4TY.js";import{g as pn,B as gn}from"./employeeListView-CxZWBZKH.js";import{c as xn,f as bn}from"./vehicleWorkflow-DKXxDiNy.js";import{e as fn,a as yn,c as hn}from"./react-vendor-D5E1hOjb.js";import{A as ar}from"./arrow-right-BNGfgpkH.js";import{A as rr}from"./arrow-left-CFpNP7-3.js";import{U as Ft}from"./upload-CSd9GWjy.js";import{C as Jt}from"./car-front-B5Iqc2A_.js";import{I as nt}from"./id-card-Bnn-5gHP.js";import{C as Sr}from"./clock-3-BAwmYtdH.js";import{R as Pt}from"./rotate-ccw-DvoKa9GG.js";import{C as kn}from"./credit-card-CNTyMAcQ.js";import{B as jn}from"./building-2-cUnDNkc8.js";import{S as vn}from"./shield-check-CoXA4xpb.js";import{P as sr}from"./plus-kWcs1cQG.js";import{B as Nn}from"./banknote-CS0Js15q.js";import{P as Ue}from"./pen-Bwcrd9my.js";import{D as Ot}from"./download-Cj8OUOB8.js";import{P as nr}from"./paperclip-314kDu4j.js";import{F as Ar}from"./file-pen-line-CWIubxiM.js";import{c as wn}from"./createLucideIcon-BPd9wT8k.js";import{T as or}from"./trash-2-Dqc_E09R.js";import{X as ee}from"./x-vmD7m2IU.js";import{T as ot}from"./triangle-alert-JFzfoOgH.js";import{S as Ir}from"./save-rkWxRPRI.js";import{P as Cn}from"./phone-2YosEfW8.js";import{M as En}from"./message-circle-DjE03uxv.js";import{C as Dn}from"./copy-CeMvOoUT.js";import{U as Sn}from"./user-round-o3gGotEV.js";import{B as $r}from"./badge-check-IHaADcji.js";import"./supabase-vendor-Co_IX6oM.js";import"./logging-BzcNMByf.js";import"./browserCache-CpZow4D-.js";import"./documentWarningSettings-DSXYxoo4.js";import"./employeeDocumentOcr-D3pLfBnL.js";import"./minus-ydyAg4tj.js";import"./loader-circle-BnjBO311.js";import"./search-BjfNVckD.js";import"./DropdownSurface-DpDK6NwL.js";import"./SearchHighlight-D6e_kZJN.js";import"./chevron-down-dM4Lsy2M.js";import"./check-Dmd9WXya.js";import"./companySettings-Be7HYk9G.js";import"./operationalQuotas-CgvdjzHg.js";import"./subscriptions-Tkjwci4N.js";import"./subscriptionData-Cd7olKM2.js";import"./listSortRules-BuRGlpy7.js";/**
2 * @license lucide-react v1.11.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const An=[["path",{d:"M13 22h5a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v7",key:"oagw2b"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M3.62 18.8A2.25 2.25 0 1 1 7 15.836a2.25 2.25 0 1 1 3.38 2.966l-2.626 2.856a1 1 0 0 1-1.507 0z",key:"rg3psg"}]],Tr=wn("file-heart",An),Qt=r=>({exitDate:(r==null?void 0:r.exitDate)??new Date().toISOString().slice(0,10),reason:(r==null?void 0:r.reason)??"",destination:(r==null?void 0:r.destination)??"",exitMethod:(r==null?void 0:r.exitMethod)??"",salaryStatus:(r==null?void 0:r.salaryStatus)??"",transactionStatus:(r==null?void 0:r.transactionStatus)??""}),Ut=()=>({...Qt(),images:[]}),lr=async r=>{var y;const l=(y=Gt())==null?void 0:y.companyId;if(!l)throw new Error("Company session not found. Please log in again.");const{data:m,error:f}=await ws.from("employee_audit_history").select("*").eq("company_id",l).eq("employee_no",r).order("changed_at",{ascending:!1});if(f)throw f;return(m??[]).map(g=>({id:String(g.id),entityType:g.entity_type,entityId:String(g.entity_id),action:String(g.action),details:g.details&&typeof g.details=="object"?g.details:{},changedBy:String(g.changed_by_name||g.changed_by||"System"),changedAt:String(g.changed_at)}))},ir="__add_new__",In=["Working","Waiting","Ready","On-Leave","Exited"],$n=new Set(["vehicle_history","status_history","exit_record","accident_records","progress_reports"]),Tn=(r,l)=>{const f={vehicles:{title:["Linked vehicles","المركبات المرتبطة"],description:["Remove or change this employee as Driver and Authorized Employee from each vehicle.","أزل أو غيّر هذا الموظف كسائق وموظف مفوض من كل مركبة."]},id_records:{title:["Platform IDs","معرفات المنصات"],description:["Reassign or delete these IDs from ID Manager.","أعد تعيين هذه المعرفات أو احذفها من مدير المعرفات."]},vehicle_history:{title:["Vehicle assignment history","سجل تعيين المركبات"],description:["Assignment history is an operational record and cannot be erased. Move the employee to Exited instead.","سجل التعيين سجل تشغيلي ولا يمكن مسحه. انقل الموظف إلى المغادرين بدلاً من ذلك."]},status_history:{title:["Status history","سجل الحالة"],description:["Status history must remain for audit. Move the employee to Exited instead.","يجب الاحتفاظ بسجل الحالة للتدقيق. انقل الموظف إلى المغادرين بدلاً من ذلك."]},exit_record:{title:["Exit history","سجل المغادرة"],description:["An existing exit record must remain in company history.","يجب الاحتفاظ بسجل المغادرة الموجود ضمن سجل الشركة."]},accident_records:{title:["Accident records","سجلات الحوادث"],description:["Accident history is an operational record and cannot be erased. Move the employee to Exited instead.","سجل الحوادث سجل تشغيلي ولا يمكن مسحه. انقل الموظف إلى المغادرين بدلاً من ذلك."]},progress_reports:{title:["Progress reports","تقارير التقدم"],description:["Daily or monthly reports reference this employee and must remain auditable.","تشير التقارير اليومية أو الشهرية إلى هذا الموظف ويجب أن تبقى قابلة للتدقيق."]},managed_documents:{title:["Managed documents","المستندات المدارة"],description:["Remove the managed documents from Attachments & Documents, then check again.","احذف المستندات المدارة من المرفقات والمستندات، ثم تحقق مرة أخرى."]}}[r];return{title:f.title[l?1:0],description:f.description[l?1:0]}},Mn=["0","1","2","3","3+"],dr=["Complete","Not Complete"],zn=[0,1,2],Kt={fileType:"image",f
6ile:null,title:"",expiresAt:""},Vt=(r,l)=>{if(r instanceof Error&&r.message)return r.message;if(typeof r=="string"&&r)return r;if(r&&typeof r=="object"&&"message"in r){const m=String(r.message??"");if(m)return m}return l},Bn={branch:"Branch",designation:"Designation",status:"Current Status",visaOccupation:"Visa Occupation",sponsor:"Sponsor Name",insurance:"Insurance Name",accommodation:"Accommodation",bank:"Bank Name"},Lt=[{key:"selfie",label:"Selfie",icon:e.jsx(Sn,{size:25})},{key:"iqama",label:"Iqama",icon:e.jsx(nt,{size:25})},{key:"license",label:"License",icon:e.jsx(Jt,{size:25})},{key:"passport",label:"Passport",icon:e.jsx(gn,{size:25})},{key:"medicalInfo",label:"Medical Paper",icon:e.jsx(Tr,{size:25})},{key:"driverCard",label:"Driver Card",icon:e.jsx($r,{size:25})},{key:"ajeerContract",label:"Ajeer Contract",icon:e.jsx(Ar,{size:25})}],_=(r,l=[])=>Array.from(new Set([...l,...r].map(m=>(m==null?void 0:m.trim())??"").filter(m=>m&&m!=="-"))),Mr=["Driver","Supervisor"],ue=r=>{if(!r)return"-";const l=new Date(r);return Number.isNaN(l.getTime())?r:l.toLocaleDateString("en-GB")},Fn=r=>{if(!r)return"";if(/^\d{4}-\d{2}-\d{2}$/.test(r))return r;const[l,m,f]=r.split("/");return l&&m&&f?`${f}-${m}-${l}`:r},cr=r=>{if(!r)return null;const l=new Date;l.setHours(0,0,0,0);const m=new Date(r);return m.setHours(0,0,0,0),Number.isNaN(m.getTime())?null:Math.floor((m.getTime()-l.getTime())/864e5)},mr=r=>{const l=Math.floor(r/30),m=r%30;return[l>0?`${l}m`:"",m>0||l===0?`${m}d`:""].filter(Boolean).join(" ")},Pn=r=>
6{if(!r)return null;const l=new Date(r);if(Number.isNaN(l.getTime()))return null;const m=new Date;let f=m.getFullYear()-l.getFullYear();const y=m.getMonth()-l.getMonth();return(y<0||y===0&&m.getDate()<l.getDate())&&(f-=1),f},On=(r,l="en")=>{if(!r)return"";const m=new Date(r);if(Number.isNaN(m.getTime()))return"";const f=new Date;let y=f.getFullYear()-m.getFullYear(),g=f.getMonth()-m.getMonth();f.getDate()<m.getDate()&&(g-=1),g<0&&(y-=1,g+=12);const a=lt(l),b=[];return y>0&&b.push(a?`${y} سنة`:`${y} Yrs`),g>0&&b.push(a?`${g} شهر`:`${g} M`),b.join(" ")||(a?"0 شهر":"0 M")},lt=r=>r.startsWith("ar"),je=(r,l)=>String(r(`terms.${l}`,{defaultValue:l})),Zt=r=>r.replace(/[^0-9]/g,""),Un=r=>{const l=r.trim().match(/^#([0-9a-f]{6})$/i);if(!l)return"#ffffff";const m=Number.parseInt(l[1],16),f=m>>16&255,y=m>>8&255,g=m&255;return f*.299+y*.587+g*.114>155?"#0f172a":"#ffffff"},Kn=r=>r.type==="application/pdf"||r.name.toLowerCase().endsWith(".pdf")?"pdf":"image",zr=()=>({selfie:!1,iqama:!1,license:!1,passport:!1,medicalInfo:!1,driverCard:!1,ajeerContract:!1}),Br=r=>({id:r,idNumber:"",nickName:"",arabicName:"",fullName:"",phoneNo:"",phoneNo2:"",email:"",designation:"",occupationVisa:"",branch:"",status:"Working",vehicleNumber:"-",iqamaNumber:"",iqamaExpiry:"",dateOfBirth:"",passportNo:"",passportExpiry:"",nationality:"",entryDate:"",sponsor:"",accomodation:"",agreement:"Not Complete",commitment:"Not Complete",transferCount:"0",healthInsuranceName:"",healthInsuranceExpiry:"",bankAccounts:[],documents:zr()}),qt=(r,l=r.id)=>Ss({...Br(l),...r,bankAccounts:Array.isArray(r.bankAccounts)?r.bankAccounts:[],documents:{...zr(),...r.documents??{}}}),Vn=r=>{var f;let l="",m="";for(const y of r){const g=(f=y.details)==null?void 0:f.previous;if(!g||typeof g!="object"||Array.isArray(g))continue;const a=g;if(!l&&typeof a.designation=="string"&&(l=a.designation.trim()),!m&&typeof a.accomodation=="string"&&(m=a.accomodation.trim()),l&&m)break}return{designation:l,accommodation:m}},Ln=new Set(["selfie","iqama","license","passport","medicalInfo","driverCard","ajeerContract"]),st=r=>{const l=Er("employee",r);if(!l)return;const m=Dr("employee",l);return Ln.has(m)?m:void 0},qn=new Set(["driverCard","ajeerContract"]),_n=r=>Er("employee",r)??r,ur=r=>r==="available"?{Icon:$r,label:"Available",tileClass:"border-blue-100 bg-blue-50 shadow-sm hover:border-blue-300 dark:border-blue-900 dark:bg-blue-950/40",badgeClass:"bg-emerald-50 text-emerald-700 ring-1 ring-emerald-100"}:r==="expiringSoon"?{Icon:Sr,label:"Expiring Soon",tileClass:"border-amber-200 bg-amber-50 shadow-sm hover:border-amber-300 dark:border-amber-900/70 dark:bg-amber-950/30",badgeClass:"bg-amber-50 text-amber-700 ring-1 ring-amber-100"}:r==="expired"?{Icon:ot,label:"Expired",tileClass:"border-red-200 bg-red-50 shadow-sm hover:border-red-300 dark:border-red-900/70 dark:bg-red-950/30",badgeClass:"bg-red-50 text-red-700 ring-1 ring-red-100"}:{Icon:ot,label:"Missing",tileClass:"border-dashed border-gray-300 bg-white px-2 py-2 text-gray-400 hover:border-blue-300 hover:text-blue-500 dark:border-gray-700 dark:bg-gray-800",badgeClass:"bg-red-50 text-red-700 ring-1 ring-red-100"},pr=r=>/^\d{4}-\d{2}-\d{2}$/.test(r),Yn=(r,l)=>Zs(r,l),gr=(r,l)=>Xt(r,l),xr=r=>r?r.length>12?`${r.slice(0,8)}...`:r:"",br=(r,l)=>{if(r instanceof Error&&r.message)return r.message;if(r&&typeof r=="object"&&"message"in r){const m=String(r.message??"").trim();if(m)return m}return l},fr=r=>({fileKey:r.fileKey,fileType:r.fileType,name:r.title,title:r.title,url:r.signedUrl,expiresAt:r.expiresAt,uploadedBy:r.uploadedBy,updatedBy:r.updatedBy,createdAt:r.createdAt,updatedAt:r.updatedAt}),yr=r=>{var y,g;const l=r.updatedAt||r.createdAt,m=l?Date.parse(l):Number.NaN;if(Number.isFinite(m))return m;const f=(g=(y=r.fileKey)==null?void 0:y.match(/-(\d{10,})\./))==null?void 0:g[1];return f?Number(f):0},hr=(r,l)=>!l||yr(r)>=yr(l),kr=r=>!!(r&&(r.bank.trim()&&r.bank.trim()!=="-"||r.ibanNo.trim()&&r.ibanNo.trim()!=="-")),_t=()=>({bank:"",ibanNo:""}),jr=()=>({branch:[],designation:Mr,status:In,visaOccupation:[],sponsor:[],insurance:[],accommodation:[],bank:[]}),Hn=(r,l)=>l.find(m=>m.driverEmployeeNo===r.id||Cr(r,m.driver));function cl({exitRecord:r}){const l=fn(),m=yn(),f=hn(),{t:y,i18n:g}=ke(),a=u.useCallback(t=>
6je(y,t),[y]),b=lt(g.language),A=Ts(),z=tn(),I=rn(t=>t.employees),E=(r==null?void 0:r.employeeId)??Number(f.id||1),Y=Gt(),H=`employee-detail:${(Y==null?void 0:Y.companyId)??""}:${(Y==null?void 0:Y.uid)??""}:${E}`,C=u.useMemo(()=>ln(H),[H]);u.useEffect(()=>{C&&dn(H)},[C,H]);const te=(r==null?void 0:r.employeeSnapshot)??A.find(t=>t.id===E)??Br(E),[o,F]=u.useState(()=>(C==null?void 0:C.employee)??qt(te,E)),[k,it]=u.useState((C==null?void 0:C.editing)??{personal:!1,contact:!1,visa:!1,company:!1,banks:!1,documents:!1}),{branches:dt,status:ta}=sn(),aa=Cs(Gt()),ra=t=>{var s;un()&&(cn(H,{employee:o,editing:k,snapshots:{...le.current},scrollTop:((s=document.querySelector("main.ars-main-surface"))==null?void 0:s.scrollTop)??0}),l(mn(on[t],m.pathname+m.search)))},{assignableDesignationNames:ct,status:mt}=nn(),[V,ut]=u.useState(()=>jr()),Fr=u.useMemo(()=>{if(ta!=="ready"||dt.length===0)return V.branch;const t=dt.map(n=>n.name),s=(o.branch||"").trim();return s&&!t.some(n=>er(n)===er(s))?[s,...t]:t},[dt,ta,V.branch,o.branch]),sa=u.useMemo(()=>mt==="ready"?ct(o.branch||"",o.designation||""):_([o.designation||""],V.designation),[ct,mt,V.designation,o.branch,o.designation]),[pt,ae]=u.useState({}),[na,ge]=u.useState([]),[Pr,Ke]=u.useState(null),$e=u.useRef(null),[j,ve]=u.useState(null),[re,oa]=u.useState(null),[Or,Ur]=u.useState("preview"),[Ne,gt]=u.useState(null),[xt,Ve]=u.useState(""),[Kr,la]=u.useState(!1),[B,we]=u.useState(Kt),[Vr,ia]=u.useState(null),[da,bt]=u.useState(!1),[D,X]=u.useState(()=>Ut()),[Lr,ft]=u.useState(!1),[O,xe]=u.useState(()=>Qt(r)),[be,ca]=u.useState(!1),[ma,Le]=u.useState(""),[Te,ua]=u.useState(!1),[qr,pa]=u.useState(!1),[T,L]=u.useState(!1),[J,ga]=u.useState(!1),[se,xa]=u.useState(!1),[_r,Ce]=u.useState(!1),[Me,ba]=u.useState(!1),[M,yt]=u.useState(null),[fa,Ee]=u.useState(""),[qe,N]=u.useState(""),[_e,Yr]=u.useState([]),[ya,Hr]=u.useState([]),[ha,Ye]=u.useState(""),[ka,He]=u.useState(""),[ja,De]=u.useState(""),[va,Se]=u.useState(""),[Rr,Na]=u.useState(!0),[wa,ne]=u.useState(""),[Ca,ht]=u.useState(""),[Ea,Re]=u.useState(null),[oe,P]=u.useState(""),[Da,Wr]=u.useState([]),[ze,Sa]=u.useState([]),[Gr,kt]=u.useState(!1),[K,fe]=u.useState(null),[Be,jt]=u.useState(!1),Aa=u.useRef(null),Ia=u.useRef(null),$a=u.useRef(null),Ae=u.useRef(null),vt=u.useRef(!1),We=u.useRef(!1),q=u.useRef(!1),Ge=u.useRef(!1),le=u.useRef((C==null?void 0:C.snapshots)??{}),Xe=u.useRef(!!(C&&Object.values(C.editing).some(Boolean))),Fe=u.useCallback(t=>{F(t);for(const s of Object.keys(le.current)){const n=le.current[s];n&&(le.current[s]=t(n))}},[]),Je=u.useCallback(t=>Fe(s=>({...s,branch:t.branch,designation:t.designation})),[Fe]);u.useEffect(()=>{if(!C)return;const t=window.requestAnimationFrame(()=>{const s=document.querySelector("main.ars-main-surface");s&&(s.scrollTop=C.scrollTop)});return()=>window.cancelAnimationFrame(t)},[C]);const h=Js("employees"),Nt=Qs("employees"),wt=!Tt(o.status),Ta=Es(o.status),Q=pt.selfie,Qe=(Q==null?void 0:Q.url)||(o.documents.selfie?Ds("Selfie",{bg:"#e0f2fe",fg:"#0284c7"}):""),Ma=Pn(o.dateOfBirth),Xr=cr(o.iqamaExpiry),Jr=cr(o.passportExpiry),za=On(o.entryDate,g.language),Ze=Ne?a(Bn[Ne]):"",ye=Hn(o,z),Qr=u.useMemo(()=>Vs(ya),[ya]),Zr=u.useMemo(()=>{const t=[o.phoneNo,o.phoneNo2].map(Zt).filter(Boolean);return _e.filter(s=>{if(s.employeeId)return!!(o.databaseId&&s.employeeId===o.databaseId);if(Cr(o,s.owner))return!0;const n=Zt(s.phoneNumber);return!!(n&&t.includes(n))})},[o,_e]),es=!!(M!=null&&M.blockers.some(t=>$n.has(t.code))),Ba=u.useMemo(()=>{var c;const t=o.nickName.trim()||at(o),s=Ta&&((c=o.designation)==null?void 0:c.trim())||"",n=s?a(s):"",d=a(o.status).replace(/-/g," ");if(b)return n?`${t} يعمل بصفة ${n} وحالته ${d}`:`${t} حالته ${d}`;if(!n)return`${t} is ${d}`;const i=/^[aeiou]/i.test(n)?"an":"a";return`${t} is ${d} as ${i} ${n}`},[o,b,Ta,a]),Ct=async(t,s=!1,n)=>{if(vt.current)return!1;vt.current=!0,L(!0),P("");try{await xn(o.id,t,{keysReturned:s,expectedUpdatedAt:o.updatedAt,designation:n==null?void 0:n.designation,accommodation:n==null?void 0:n.accommodation});const[d]=await Promise.all([Mt(),Bt()]),i=d.find(c=>c.id===o.id);return i&&F(i),N(a("Saved.")),!0}catch(d){return P(d instanceof Error?a(d.message):a("Employee Status could not be changed.")),!1}finally{vt.current=!1,L(!1)}},Fa=async(t,s="status")=>{var i;const n=s==="return"?r==null?void 0:r.employeeSnapshot:void 0,d={source:s,status:t,designation:((i=n==null?void 0:n.designation)==null?void 0:i.trim())||"",accommodation:(n==null?void 0:n.accomodation.trim())||""};
6if(P(""),jt(!1),fe(d),!(d.designation&&d.accommodation)){jt(!0);try{const c=ze.length?ze:await lr(o.id);ze.length||Sa(c);const x=Vn(c);fe(p=>p&&{...p,designation:p.designation||x.designation,accommodation:p.accommodation||x.accommodation})}catch(c){P(c instanceof Error?c.message:a("Previous assignment details could not be loaded."))}finally{jt(!1)}}},Et=()=>{T||J||(fe(null),P(""))},ts=async()=>{if(!K||Be)return;const t=K.designation.trim(),s=K.accommodation.trim();if(!t||!s){P(a("Designation and Accommodation are required before activating an Employee."));return}if(K.source==="return"){if(!r||r.returnedAt||J)return;ga(!0),P("");try{const d=await zt(o.id);await As(r.id,{expectedUpdatedAt:(d==null?void 0:d.updatedAt)??o.updatedAt,designation:t,accommodation:s}),await Promise.all([Mt(),Bt()]),fe(null),l("/employees")}catch(d){P(d instanceof Error?a(d.message):a("Employee could not be returned."))}finally{ga(!1)}return}await Ct(K.status,!1,{designation:t,accommodation:s})&&fe(null)},as=t=>{if(t!==o.status){if(Tt(t)&&!Tt(o.status)){Fa(t);return}if(t!=="Working"&&ye){P(""),Re(t);return}Ct(t)}},rs=async()=>{kt(!0);try{const[t,s]=await Promise.all([bn(o.id),lr(o.id)]);Wr(t),Sa(s)}catch(t){P(t instanceof Error?t.message:a("History could not be loaded."))}},Dt=u.useMemo(()=>{if(r)return null;const t=pn({activeFilter:I.activeFilter,columnFilters:I.columnFilters,employees:A,language:g.language,managedIds:_e,searchTerm:I.searchTerm,sortBy:I.sortBy}),s=t.findIndex(n=>n.id===E);return s>=0?t[s+1]??null:null},[E,I.activeFilter,I.columnFilters,I.searchTerm,I.sortBy,A,r,g.language,_e]),Pa=u.useMemo(()=>o.bankAccounts.filter(kr).slice(0,3),[o.bankAccounts]),Oa=!!(h&&B.file&&B.title.trim()),ss=(t,s=pt[t])=>t==="iqama"?o.iqamaExpiry:t==="passport"?o.passportExpiry:(s==null?void 0:s.expiresAt)||"";u.useEffect(()=>{let t=!0;return Promise.all([Ks(),Ls(!0)]).then(([s,n])=>{t&&(Yr(s),Hr(n))}).catch(()=>{}),()=>{t=!1}},[]);const Ua=u.useCallback(t=>{var d;const s={},n=[];if(t.forEach(i=>{const c=fr(i),x=st(i.fileKey);x?hr(c,s[x])&&(s[x]=c):n.push(c)}),ae(i=>{const c={...i};return Object.entries(s).forEach(([x,p])=>{hr(p,c[x])&&(c[x]=p)}),c}),(d=s.selfie)!=null&&d.url){const i=t.find(c=>st(c.fileKey)==="selfie");rt(o.id,(i==null?void 0:i.thumbnailUrl)||s.selfie.url)}ge(n),F(i=>{const c={...i.documents};return Object.keys(s).forEach(x=>{c[x]=!0}),{...i,documents:c}})},[o.id]),ns=t=>{const s={},n={};Object.entries(t??{}).forEach(([d,i])=>{if(!(i!=null&&i.hasFile))return;const c=st(d);c&&(s[c]=!0,n[c]={fileKey:c,fileType:"image",name:i.title,title:i.title,url:"",expiresAt:i.expiresAt})}),ae(d=>({...n,...d})),F(d=>({...d,documents:{...d.documents,...s}}))},Ka=u.useCallback(t=>{var d;const s={},n=[];t.forEach(({documentType:i,bundle:c})=>{var Z;const x=st(i),p=c.versions.find($=>$.versionId===c.selectedVersionId)??c.versions[0];if(!p)return;const v={fileKey:x??`managed:${i}`,fileType:p.fileType,name:p.originalFilename,title:((Z=c.document)==null?void 0:Z.title)||p.originalFilename,url:p.signedUrl,expiresAt:p.expiresAt,uploadedBy:p.createdBy,createdAt:p.createdAt,updatedAt:p.createdAt};x?s[x]=v:i==="otherDocument"&&n.push(v)}),ae(i=>({...i,...s})),n.length>0&&ge(i=>[...i.filter(c=>c.fileKey!=="managed:otherDocument"),...n]),(d=s.selfie)!=null&&d.url&&rt(E,s.selfie.url)},[E]);u.useEffect(()=>{let t=!0;return N(""),Na(!0),(async()=>{try{const p=await zt(E);if(t&&p){const v=qt(p,E);Xe.current?Je(v):F(v)}}catch(p){console.warn("Employee detail fallback:",p)}try{const p=await Os();if(!t)return;ut(()=>({...jr(),insurance:_(Array.from(p.insurance)),branch:_(Array.from(p.branch)),designation:_(Array.from(p.designation),Mr),visaOccupation:_(Array.from(p.occupationVisa)),sponsor:_(Array.from(p.sponsor)),accommodation:_(Array.from(p.accomodation)),bank:_(Array.from(p.bank))}))}catch(p){console.warn("Dropdown fallback:",p)}const[n,d]=await Promise.allSettled([Fs(E),_s("employee")]),i=d.status==="fulfilled"?d.value[String(E)]??{}:{},c=await Promise.allSettled(Object.entries(i).filter(([,p])=>(p==null?void 0:p.hasFile)&&p.managed).map(async([p])=>({documentType:p,bundle:await Ja({ownerType:"employee",ownerId:String(E),documentType:p})})));if(!t)return;n.status==="fulfilled"?Ua(n.value):console.warn("Employee files fallback:",n.reason),d.status==="fulfilled"?ns(i):console.warn("Managed employee documents fallback:",d.reason);const x=c.flatMap(p=>p.status==="fulfilled"?[p.value]:(console.warn("Managed employee document fallback:",p.reason),[]));Ka(x),Na(!1)})(),()=>{t=!1}},[Je,Ka,Ua,E]),u.useEffect(()=>{const t=A.find(n=>n.id===E);if(!t)return;const s=qt(t,E);if(Xe.current){Je(s);return}F(n=>n.id===s.id?{...s,documents:{...s.documents,...n.documents}}:s)},[Je,E,A]),u.useEffect(()=>{if(!qe)return;const t=window.setTimeout(()=>N(""),2200);return()=>window.clearTimeout(t)},[qe]);const Va=async(t,s=a("Saved."))=>{if(!h)return N(a("You do not have edit permission for this module.")),!1;if(q.current)return!1;q.current=!0,L(!0),N("");const n={...t,nickName:t.nickName.trim(),phoneNo:Xa(t.phoneNo),phoneNo2:Xa(t.phoneNo2),bankAccounts:t.bankAccounts.filter(kr).slice(0,3)};if(!n.nickName)return N(a("Nickname is required.")),q.current=!1,L(!1),!1;if(!/^[\p{L}\p{N}_-]+$/u.test(n.nickName))return N(a("Nickname can only contain letters, numbers, dashes, or underscores.")),q.current=!1,L(!1),!1;const d=n.nickName.toLowerCase();if(A.some(c=>
6c.id!==n.id&&c.nickName.trim().toLowerCase()===d))return N(a("Nickname must be unique.")),q.current=!1,L(!1),!1;if(n.healthInsuranceName.trim()&&!n.healthInsuranceExpiry.trim())return N(a("Insurance expiry date is required when Insurance Name is selected.")),q.current=!1,L(!1),!1;const i=n.iqamaNumber.trim();if(i&&A.some(c=>c.id!==n.id&&c.iqamaNumber.trim()===i))return N(a("Iqama Number must be unique.")),q.current=!1,L(!1),!1;try{const c=await Bs(n.id,n);return F(x=>({...c,documents:x.documents})),N(s),!0}catch(c){N(c instanceof Error?a(c.message):a("Employee could not be saved."));try{const x=await zt(n.id);x&&F(p=>({...x,documents:p.documents}))}catch{}return!1}finally{q.current=!1,L(!1)}},os=async(t,s)=>{if(q.current)return;q.current=!0;const n=(i,c)=>t==="branch"?{...i,branch:c}:{...i,designation:c},d=o[t]??"";Fe(i=>n(i,s)),L(!0),N("");try{const i=await zs(o.id,t,s,o.updatedAt);Fe(c=>({...c,branch:i.branch,designation:i.designation,updatedAt:i.updatedAt})),N(a("Saved."))}catch(i){Fe(c=>n(c,d)),N(i instanceof Error?a(i.message):a("Employee could not be saved."))}finally{q.current=!1,L(!1)}},S=(t,s,n=!1)=>{if(!h){N(a("You do not have edit permission for this module."));return}if(n&&(t==="branch"||t==="designation")){os(t,String(s??""));return}const d=t==="phoneNo"||t==="phoneNo2"?wr(s):s,i={...o,[t]:d};F(i),n&&Va(i)},La=(t,s,n)=>{F(d=>{const i=[...d.bankAccounts];for(;i.length<=t;)i.push(_t());return i[t]={...i[t],[s]:n},{...d,bankAccounts:i.slice(0,3)}})},ls=()=>
6{if(!h){N(a("You do not have edit permission for this module."));return}F(t=>t.bankAccounts.length>=3?t:{...t,bankAccounts:[...t.bankAccounts,_t()].slice(0,3)}),it(t=>({...t,banks:!0}))},ie=(t,s,n)=>{const d=s.trim();if(d&&s!==ir&&ut(i=>({...i,[t]:_([d],i[t])})),s!==ir){n(s);return}Ae.current=n,Ve(""),gt(t)},is=()=>{var s;if(!Ne)return;const t=xt.trim();t&&(ut(n=>({...n,[Ne]:_([t],n[Ne])})),(s=Ae.current)==null||s.call(Ae,t),Ae.current=null,gt(null),Ve(""))},St=()=>{Ae.current=null,gt(null),Ve("")},qa=()=>{if(!h){N(a("You do not have edit permission for this module."));return}X(Ut()),ht(""),P(""),bt(!0)},At=()=>{Te||(bt(!1),X(Ut()))},ds=()=>{!h||!r||(xe(Qt(r)),Le(""),ft(!0))},It=()=>{be||(ft(!1),Le(""))},_a=!!(r&&O.exitDate&&O.reason.trim()&&O.destination.trim()&&O.exitMethod.trim()&&O.salaryStatus.trim()&&O.transactionStatus.trim()),cs=async()=>{if(!(!r||!h||!_a||be)){ca(!0),Le("");try{await Is(r.id,O,r.updatedAt),ft(!1),N(a("Saved."))}catch(t){Le(Vt(t,a("Exit Info could not be saved.")))}finally{ca(!1)}}},Ya=D.exitDate&&D.reason.trim()&&D.destination.trim()&&D.exitMethod.trim()&&D.salaryStatus.trim()&&D.transactionStatus.trim(),ms=async(t,s)=>{if(h&&s){ht("");try{const n=await Gs(s,"document"),d={dataUrl:await Xs(n),name:n.name};X(i=>{const c=[...i.images];return c[t]=d,{...i,images:c.slice(0,2)}})}catch(n){ht(n instanceof Error?n.message:a("File upload failed."))}}},us=async()=>{if(!(!h||!Ya||We.current)){if(ye){Re("Exited"),P("");return}await Ha(!1)}},Ha=async t=>{if(We.current)return;We.current=!0,ua(!0),P("");const s={...o,status:"Exited"};try{await $s({id:`${o.id}-${Date.now()}`,employeeId:o.id,employeeSnapshot:s,exitDate:D.exitDate,reason:D.reason.trim(),destination:D.destination.trim(),exitMethod:D.exitMethod.trim(),salaryStatus:D.salaryStatus.trim(),transactionStatus:D.transactionStatus.trim(),images:D.images.filter(Boolean).slice(0,2),createdAt:new Date().toISOString()},{keysReturned:t,expectedUpdatedAt:o.updatedAt}),await Promise.all([Mt(),Bt()]),bt(!1),l("/employees/exited")}catch(n){P(n instanceof Error?n.message:a("Employee exit could not be saved."))}finally{We.current=!1,ua(!1)}},$t=(t=null)=>{if(!h){N(a("You do not have edit permission for this module."));return}const s=t===null?null:na[t]??null;ia(t),ne(""),we(s?{fileType:s.fileType,file:null,title:s.title,expiresAt:s.expiresAt??""}:Kt),la(!0)},et=()=>{la(!1),ia(null),we(Kt),ne("")},ps=t=>{var d;if(!h)return;const s=((d=t.target.files)==null?void 0:d[0])??null;if(t.target.value="",!s)return;const n=Qa(s,B.fileType);if(n){ne(n);return}ne(""),we(i=>({...i,file:s,title:i.title||s.name.replace(/\.[^.]+$/,"")}))},gs=async()=>{var c;if(!h||!Oa||!B.file)return;const t=B.expiresAt.trim();if(t&&!pr(t)){ne(a("Use YYYY-MM-DD expiry date."));return}const s=B.file,n=B.title.trim(),d={ownerType:"employee",ownerId:String(o.id),documentType:"otherDocument"};let i=null;try{ne("");const x=await Ja(d);i=await Ys({identity:d,file:s});const p=await Hs({identity:d,draft:i,existingDocument:x.document,expectedLockVersion:(c=x.document)==null?void 0:c.lockVersion,expiresAt:t||null,titleOverride:n}),v={fileKey:"managed:otherDocument",fileType:p.version.fileType,name:p.version.originalFilename,title:p.document.title||n,url:p.version.signedUrl,expiresAt:p.version.expiresAt,uploadedBy:p.version.createdBy,createdAt:p.version.createdAt,updatedAt:p.version.createdAt};ge(Z=>[...Z.filter($=>$.fileKey!==v.fileKey),v]),et(),Se(""),De(a("File uploaded."))}catch(x){if(i)try{await Rs(i)}catch{}ne(br(x,a("File selected on this page. Login session is required for upload.")))}},R=async t=>{var s;if(t)try{if((s=navigator.clipboard)!=null&&s.writeText)await navigator.clipboard.writeText(t);else throw new Error("Clipboard API unavailable")}catch{try{const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly","true"),n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}catch{N(a("Clipboard permission is not available in this browser."));return}}finally{pa(!0),window.setTimeout(()=>pa(!1),1500)}},xs=()=>Va(o),de=async t=>{if(!h){N(a("You do not have edit permission for this module."));return}if(k[t]){if(!await xs())return;delete le.current[t]}else le.current[t]=o;it(s=>{const n={...s,[t]:!s[t]};return Xe.current=Object.values(n).some(Boolean),n})},ce=t=>{const s=le.current[t];s&&F(s),delete le.current[t],it(n=>{const d={...n,[t]:!1};return Xe.current=Object.values(d).some(Boolean),d})},Ra=t=>{var s;if(!h){N(a("You do not have edit permission for this module."));return}t.key==="selfie"?(Ye(""),He("")):(De(""),Se("")),$e.current=t,Ke(t),(s=Aa.current)==null||s.click()},bs=t=>{if(!t.standardKey||!qn.has(t.standardKey))return{ok:!0,expiresAt:void 0};const s=window.prompt(`${a(t.title)} ${a("Expiry Date")} (YYYY-MM-DD)`,""),n=(s==null?void 0:s.trim())??"";return n?pr(n)?{ok:!0,expiresAt:n}:(De(""),Se(a("Use YYYY-MM-DD expiry date.")),{ok:!1,expiresAt:void 0}):{ok:!0,expiresAt:null}},fs=async t=>{var Z;if(!h)return;const s=(Z=t.target.files)==null?void 0:Z[0],n=$e.current??Pr;if(t.target.value="",!s||!n)return;const d=n.fileType??Kn(s),i=Qa(s,d);if(i){n.key==="selfie"?(Ye(""),He(i)):(De(""),Se(i)),$e.current=null,Ke(null);return}n.key==="selfie"?He(""):Se("");const c=bs(n);if(!c.ok){$e.current=null,Ke(null);return}const x=n.title==="Add More"?window.prompt(a("Document name"),s.name.replace(/\.[^.]+$/,""))||s.name:n.title,p=URL.createObjectURL(s),v={fileKey:n.key,fileType:d,name:s.name,title:x,url:p,expiresAt:c.expiresAt||void 0};n.standardKey?(F($=>({...$,documents:{...$.documents,[n.standardKey]:!0}})),ae($=>({...$,[n.key]:v}))):ge($=>[...$,v]);try{const $=await Ps({employeeNo:o.id,fileKey:n.standardKey?n.key:`more-${Date.now()}`,title:x,fileType:d,file:s,expiresAt:c.expiresAt}),Pe={...fr($),fileKey:n.standardKey?n.key:$.fileKey,expiresAt:($.expiresAt??c.expiresAt)||void 0};n.standardKey?(ae(he=>({...he,[n.key]:Pe})),n.standardKey==="selfie"&&rt(o.id,$.thumbnailUrl||$.signedUrl)):ge(he=>he.map(me=>me.url===p?Pe:me)),n.key==="selfie"?Ye(a("File uploaded.")):De(a("File uploaded."))}catch($){n.standardKey?ae(he=>{var Ga;const me={...he};return((Ga=me[n.key])==null?void 0:Ga.url)===p&&delete me[n.key],me}):ge(he=>he.filter(me=>me.url!==p)),URL.revokeObjectURL(p);const Pe=br($,a("File selected on this page. Login session is required for upload."));n.key==="selfie"?(Ye(""),He(Pe)):(De(""),Se(Pe))}finally{$e.current=null,Ke(null)}},tt=(t,s="preview")=>{Ur(s),oa({ownerType:"employee",ownerId:String(o.id),documentType:_n(t)})},ys=t=>Ws(t.ownerType,t.documentType,o),hs=t=>{const s=Dr("employee",t);return s in o.documents?s:null},ks=t=>{var i,c;if((re==null?void 0:re.documentType)==="otherDocument"){const x=t.versions.find(v=>v.versionId===t.selectedVersionId)??t.versions[0];if(!x)return;const p={fileKey:"managed:otherDocument",fileType:x.fileType,name:x.originalFilename,title:((i=t.document)==null?void 0:i.title)||x.originalFilename,url:x.signedUrl,expiresAt:x.expiresAt,uploadedBy:x.createdBy,createdAt:x.createdAt,updatedAt:x.createdAt};ge(v=>[...v.filter(Z=>Z.fileKey!==p.fileKey),p]);return}const s=re?hs(re.documentType):null;if(!s)return;
6const n=t.versions.find(x=>x.versionId===t.selectedVersionId)??t.versions[0];if(F(x=>({...x,documents:{...x.documents,[s]:!!n}})),!n){ae(x=>{const p={...x};return delete p[s],p});return}const d={fileKey:s,fileType:n.fileType,name:n.originalFilename,title:((c=t.document)==null?void 0:c.title)||n.originalFilename,url:n.signedUrl,expiresAt:n.expiresAt,uploadedBy:n.createdBy,createdAt:n.createdAt,updatedAt:n.createdAt};ae(x=>({...x,[s]:d})),s==="selfie"&&rt(o.id,n.signedUrl)},js=t=>{if(t.fileType!=="image"||!t.fileKey)return;const s=Lt.find(n=>n.key===t.fileKey);s&&(ve(null),Ra({key:s.key,title:s.label,standardKey:s.key,fileType:"image"}))},Wa=async()=>{if(!(Me||Ge.current)){if(!Nt){Ee(a("You do not have delete permission for this module."));return}ba(!0),Ee("");try{yt(await Us(o.id))}catch(t){yt(null),Ee(Vt(t,b?"تعذر التحقق من إمكانية حذف الموظف.":"Employee delete check could not be completed."))}finally{ba(!1)}}},vs=()=>{Ce(!0),yt(null),Ee(""),Wa()},Ns=async()=>{if(!(Ge.current||!(M!=null&&M.canDelete)||!Nt)){Ge.current=!0,xa(!0),Ee("");try{await Ms(o.id,o.updatedAt),l("/employees")}catch(t){console.error("Employee profile delete failed:",t),Ee(Vt(t,a("Employee could not be deleted.")))}finally{Ge.current=!1,xa(!1)}}};return e.jsxs("section",{className:"ars-page min-h-full bg-[#f3f4f6] px-3 py-3 text-black dark:bg-gray-900 dark:text-gray-100 sm:px-4 lg:px-5",children:[e.jsx("input",{ref:Aa,type:"file",accept:"image/jpeg,image/png,image/webp,application/pdf",className:"sr-only",onChange:fs}),e.jsx("input",{ref:Ia,type:"file",accept:B.fileType==="image"?"image/jpeg,image/png,image/webp":"application/pdf",className:"sr-only",onChange:ps}),e.jsxs("div",{className:"mx-auto max-w-[1152px] min-w-0 space-y-4",children:[e.jsxs("div",{dir:"ltr",className:`flex items-center justify-between gap-3 ${b?"flex-row-reverse":""}`,children:[e.jsxs("button",{type:"button",onClick:()=>l(r?"/employees/exited":"/employees"),className:`inline-flex items-center gap-1.5 text-sm font-bold text-emerald-700 hover:text-emerald-800 ${b?"flex-row-reverse":""}`,children:[b?e.jsx(ar,{size:16}):e.jsx(rr,{size:16}),e.jsx("span",{dir:b?"rtl":"ltr",children:a("Back to Employees")})]}),!r&&e.jsxs("button",{type:"button",onClick:()=>Dt&&l(`/employees/${Dt.id}`),disabled:!Dt,className:`inline-flex items-center gap-1.5 text-sm font-bold text-emerald-700 transition hover:text-emerald-800 disabled:cursor-not-allowed disabled:text-slate-400 ${b?"flex-row-reverse":""}`,children:[e.jsx("span",{dir:b?"rtl":"ltr",children:a("Go to next employee")}),b?e.jsx(rr,{size:16}):e.jsx(ar,{size:16})]})]}),e.jsxs("div",{className:`rounded-lg border shadow-sm ${r?"border-red-200 bg-red-50/70 dark:border-red-900/70 dark:bg-red-950/20":"border-gray-200 bg-white dark:border-gray-700 dark:bg-gray-800"}`,children:[ha&&e.jsx("p",{className:"mx-5 mt-4 rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs font-bold text-emerald-700 dark:border-emerald-900/70 dark:bg-emerald-950/40 dark:text-emerald-200",children:ha}),ka&&e.jsx("p",{className:"mx-5 mt-4 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:ka}),e.jsxs("div",{className:`flex flex-col gap-3 border-l-4 px-4 py-4 lg:flex-row lg:items-center ${r?"border-red-500 dark:border-red-400":"border-blue-600 dark:border-blue-400"}`,children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[e.jsx("button",{type:"button",onClick:()=>Qe?ve({fileType:"image",name:(Q==null?void 0:Q.name)||a("Selfie"),title:(Q==null?void 0:Q.title)||a("Selfie"),url:Qe}):Ra({key:"selfie",title:"Selfie",standardKey:"selfie"}),className:"flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-xl border-2 border-blue-500 bg-sky-50 text-blue-500 shadow-sm ring-1 ring-blue-200 dark:bg-gray-900 dark:ring-blue-900","aria-label":a("Selfie"),children:Qe?e.jsx("img",{src:Qe,alt:a("Selfie"),className:"h-full w-full object-cover"}):e.jsx(Ft,{size:24})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h1",{className:"min-w-0 truncate text-lg font-black leading-tight text-black dark:text-gray-50 sm:text-xl",title:Ba,children:Ba}),e.jsxs("div",{className:"mt-1.5 flex min-w-0 max-w-full flex-wrap items-center gap-1.5",children:[ye&&e.jsxs("button",{type:"button",onClick:()=>l(`/vehicles/${ye.id}`),className:"inline-flex h-7 max-w-full items-center gap-1.5 rounded-md border border-slate-200 bg-slate-50 px-2 text-xs font-black text-slate-800 transition hover:border-blue-400 hover:bg-blue-50 hover:text-blue-700 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:hover:border-blue-500 dark:hover:bg-blue-950/40 dark:hover:text-blue-200",title:a("Open vehicle details"),"aria-label":a("Open vehicle details"),children:[e.jsx(Jt,{size:14,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono uppercase",children:ye.vehicleNumber})]}),Zr.map(t=>{const s=Qr.get(qs(t.platform))??"#64748b";return e.jsxs("button",{type:"button",onClick:()=>l(`/id-manager?record=${t.id}`),className:"inline-flex h-7 max-w-full items-center gap-1.5 rounded-md px-2 text-xs font-black shadow-sm transition hover:brightness-110 focus:outline-none focus:ring-2 focus:ring-blue-300",style:{backgroundColor:s,color:Un(s)},title:`${t.platform}: ${t.idNumber}`,"aria-label":`${a("ID Manager")}: ${t.platform} ${t.idNumber}`,children:[e.jsx(nt,{size:14,className:"shrink-0"}),e.jsx("span",{className:"truncate font-mono uppercase",children:t.idNumber})]},t.databaseId??t.id)})]})]})]}),e.jsxs("div",{className:`grid w-full min-w-0 gap-2 lg:ml-auto lg:min-w-[360px] lg:flex-1 xl:flex-none ${r?"grid-cols-2 lg:max-w-sm":"grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 lg:max-w-xl"}`,children:[e.jsx("div",{className:"min-w-0",children:e.jsx(W,{value:o.branch||"",placeholder:a("Branch"),options:Fr,allowAdd:!1,managed:!0,managementAction:aa?{label:a("Manage branches"),onInvoke:()=>ra("branches")}:void 0,disabled:!h,getOptionLabel:a,onChange:t=>ie("branch",t,s=>{const n=(o.designation||"").trim();if(mt==="ready"&&o.status!=="Exited"&&n&&!ct(s).some(d=>tr(d)===tr(n))){N(`${a(n)} ${a("is not active in")} ${s}. ${a("Change the designation first, or activate it under Settings → Operations.")}`);return}S("branch",s,!0)})})}),e.jsx("div",{className:"min-w-0",children:e.jsx(W,{value:o.designation||"",placeholder:a("Designation"),options:sa,allowAdd:!1,managed:!0,managementAction:aa?{label:a("Manage designations"),onInvoke:()=>ra("designations")}:void 0,disabled:!h||wt,disabledReason:wt?a("The designation stays fixed while the employee is On-Leave or Exited."):void 0,getOptionLabel:a,onChange:t=>ie("designation",t,s=>S("designation",s,!0))})}),!r&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"min-w-0",children:e.jsx(W,{value:o.status,placeholder:a("Status"),options:V.status,tone:o.status==="Working"?"success":"default",allowAdd:!1,disabled:!h,getOptionLabel:a,onChange:t=>{if(t==="Exited"){qa();return}ie("status",t,s=>as(s))}})}),e.jsxs("button",{type:"button",onClick:()=>void rs(),className:"flex h-10 w-full min-w-0 items-center justify-center gap-1.5 rounded-lg border border-gray-300 bg-gray-50 px-3 text-sm font-medium text-gray-700 transition hover:border-blue-400 hover:bg-blue-50 hover:text-blue-700 dark:border-gray-600 dark:bg-gray-900 dark:text-gray-200 dark:hover:border-blue-500 dark:hover:bg-blue-950/40",title:a("Employee Status History"),"aria-label":a("Employee Status History"),children:[e.jsx(Sr,{size:16,className:"shrink-0"}),e.jsx("span",{className:"truncate",children:a("History")})]})]})]}),r&&e.jsxs("button",{type:"button",onClick:()=>void Fa("Working","return"),disabled:!h||!!r.returnedAt||J||Be,className:"inline-flex shrink-0 items-center justify-center gap-2 rounded-lg bg-emerald-600 px-4 py-2 text-sm font-black text-white transition hover:bg-emerald-700 disabled:cursor-not-allowed disabled:bg-gray-300 dark:disabled:bg-gray-700",children:[e.jsx(Pt,{size:16}),a(r.returnedAt?"Returned":"Return Employee")]})]})]}),qe&&e.jsx("div",{className:"rounded-lg border border-blue-100 bg-blue-50 px-4 py-2 text-xs font-semibold text-blue-700 dark:border-blue-900 dark:bg-blue-950 dar
6k:text-blue-200",children:qe}),oe&&!da&&!K&&e.jsx("div",{className:"rounded-lg border border-red-200 bg-red-50 px-4 py-2 text-xs font-semibold text-red-700 dark:border-red-900 dark:bg-red-950 dark:text-red-200",children:oe}),e.jsxs("div",{className:"grid min-w-0 gap-4 lg:grid-cols-2 lg:items-start",children:[e.jsxs("div",{className:"contents lg:block lg:space-y-4",children:[e.jsxs(pe,{className:"order-1 lg:order-none",title:a("Personal Info"),icon:e.jsx(kn,{size:19}),iconClassName:"text-blue-600 dark:text-blue-300",section:"personal",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,children:[e.jsx(w,{label:a("Nickname"),value:o.nickName||"-",valueClassName:"text-base font-bold",copyValue:o.nickName,onCopy:R,editing:k.personal,editControl:e.jsx(U,{value:o.nickName,placeholder:"Karim_1",onChange:t=>S("nickName",t)})}),e.jsx(Ie,{}),e.jsx(w,{label:a("Full Name (EN)"),value:o.fullName,valueClassName:"text-base font-bold",copyValue:o.fullName,onCopy:R,editing:k.personal,editControl:e.jsx(U,{value:o.fullName,onChange:t=>S("fullName",t)})}),e.jsx(w,{label:a("Full Name (AR)"),value:o.arabicName||"-",valueClassName:"text-base font-bold",copyValue:o.arabicName,onCopy:R,editing:k.personal,editControl:e.jsx(U,{value:o.arabicName,onChange:t=>S("arabicName",t)})}),e.jsx(Ie,{}),e.jsx(w,{label:a("Iqama No."),value:o.iqamaNumber||"-",valueClassName:"text-base font-bold tracking-wide",copyValue:o.iqamaNumber,onCopy:R,editing:k.personal,editControl:e.jsx(U,{value:o.iqamaNumber,onChange:t=>S("iqamaNumber",t)})}),e.jsx(w,{label:a("Iqama Expiry"),value:e.jsxs(e.Fragment,{children:[ue(o.iqamaExpiry),e.jsx(Nr,{days:Xr,alwaysVisible:!0,onRenew:h?()=>tt("iqama","edit"):void 0})]}),valueClassName:"text-sm font-bold",editing:k.personal,editControl:e.jsx(Rt,{value:o.iqamaExpiry,onChange:t=>S("iqamaExpiry",t)})}),e.jsx(Ie,{}),e.jsx(w,{label:a("Nationality"),value:o.nationality||"-",valueClassName:"text-base font-bold"}),e.jsx(w,{label:a("Date of Birth"),value:e.jsxs(e.Fragment,{children:[ue(o.dateOfBirth),Ma!==null&&e.jsxs("span",{className:"ml-2 text-[11px] font-semibold text-gray-400",children:["(",Ma," ",a(b?"years":"Yrs"),")"]})]}),valueClassName:"text-sm font-bold",copyValue:ue(o.dateOfBirth),onCopy:R}),e.jsx(Ie,{}),e.jsx(w,{label:a("Passport No."),value:o.passportNo||"-",valueClassName:"text-base font-bold",copyValue:o.passportNo,onCopy:R,editing:k.personal,editControl:e.jsx(U,{value:o.passportNo,onChange:t=>S("passportNo",t)})}),e.jsx(w,{label:a("Passport Expiry"),value:e.jsxs(e.Fragment,{children:[ue(o.passportExpiry),e.jsx(Nr,{days:Jr})]}),valueClassName:"text-sm font-bold",editing:k.personal,editControl:e.jsx(Rt,{value:o.passportExpiry,onChange:t=>S("passportExpiry",t)})})]}),e.jsxs(pe,{className:"order-4 lg:order-none",title:a("Company Info"),icon:e.jsx(jn,{size:19}),iconClassName:"text-orange-600 dark:text-orange-300",section:"company",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,children:[e.jsx(w,{label:a("Agreement"),value:e.jsx(vr,{value:o.agreement}),editing:k.company,editControl:e.jsx(Wt,{value:o.agreement,options:dr,getOptionLabel:a,onChange:t=>S("agreement",t)})}),e.jsx(w,{label:a("Commitment"),value:e.jsx(vr,{value:o.commitment}),editing:k.company,editControl:e.jsx(Wt,{value:o.commitment,options:dr,getOptionLabel:a,onChange:t=>S("commitment",t)})}),e.jsx(Ie,{}),e.jsx(w,{label:a("Accommodation"),value:o.accomodation||"-",editing:k.company,editControl:e.jsx(W,{value:o.accomodation,options:V.accommodation,placeholder:a("Accommodation"),disabled:wt,getOptionLabel:a,onChange:t=>ie("accommodation",t,s=>S("accomodation",s))})}),e.jsx(w,{label:a("Entry Date"),value:e.jsxs(e.Fragment,{children:[ue(o.entryDate),za&&e.jsxs("span",{className:"ml-2 text-[11px] font-semibold text-gray-400",children:["(",za,")"]})]}),valueClassName:"text-sm font-bold"})]})]}),e.jsxs("div",{className:"contents lg:block lg:space-y-4",children:[e.jsxs(pe,{className:"order-2 lg:order-none",title:a("Contact Details"),icon:e.jsx(nt,{size:19}),iconClassName:"text-green-600 dark:text-green-300",section:"contact",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,children:[e.jsx(Yt,{label:a("Primary Phone"),value:o.phoneNo,editing:k.contact,onChange:t=>S("phoneNo",t),onCopy:R}),e.jsx(Yt,{label:a("Alternative Phone"),value:o.phoneNo2,editing:k.contact,onChange:t=>S("phoneNo2",t),onCopy:R}),e.jsx(Yt,{label:a("Email Address"),value:o.email,type:"email",editing:k.contact,onChange:t=>S("email",t),onCopy:R})]}),e.jsxs(pe,{className:"order-3 lg:order-none",title:a("Visa & Sponsor"),icon:e.jsx(vn,{size:19}
6),iconClassName:"text-purple-600 dark:text-purple-300",section:"visa",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,children:[e.jsx(w,{label:a("Visa Occupation"),value:o.occupationVisa||"-",editing:k.visa,editControl:e.jsx(W,{value:o.occupationVisa,options:V.visaOccupation,placeholder:a("Visa Occupation"),getOptionLabel:a,onChange:t=>ie("visaOccupation",t,s=>S("occupationVisa",s))})}),e.jsx(w,{label:a("Sponsor Name"),value:o.sponsor||"-",editing:k.visa,editControl:e.jsx(W,{value:o.sponsor,options:V.sponsor,placeholder:a("Sponsor Name"),getOptionLabel:a,onChange:t=>ie("sponsor",t,s=>S("sponsor",s))})}),e.jsx(w,{label:a("Transfers"),value:o.transferCount||"0",editing:k.visa,editControl:e.jsx(Wt,{value:o.transferCount||"0",options:Mn,getOptionLabel:a,onChange:t=>S("transferCount",t)})}),e.jsx(Ie,{}),e.jsx(w,{label:a("Insurance Name"),value:e.jsxs("span",{className:"inline-flex min-w-0 flex-col items-start leading-tight",children:[e.jsx("span",{children:o.healthInsuranceName||"-"}),e.jsxs("span",{className:"mt-1 text-[11px] font-medium text-gray-500 dark:text-gray-400",children:[a("Exp"),": ",ue(o.healthInsuranceExpiry)]})]}),editing:k.visa,editControl:e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsx(W,{value:o.healthInsuranceName,options:V.insurance,placeholder:a("Insurance Name"),getOptionLabel:a,onChange:t=>ie("insurance",t,s=>S("healthInsuranceName",s))}),e.jsx(Rt,{value:o.healthInsuranceExpiry,onChange:t=>S("healthInsuranceExpiry",t)})]})})]}),e.jsx(pe,{className:"order-5 lg:order-none",title:a("Bank Accounts"),icon:e.jsx(Nn,{size:20}),iconClassName:"text-amber-500 dark:text-amber-300",section:"banks",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,children:e.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-2",children:[(k.banks?zn:Pa).map((t,s)=>{const n=typeof t=="number"?t:s,d=typeof t=="number"?o.bankAccounts[t]??_t():t;return e.jsx("div",{className:"min-h-[88px] rounded-lg border border-gray-200 bg-gray-50 p-2.5 dark:border-gray-700 dark:bg-gray-900 lg:min-h-[88px]",children:k.banks?e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(W,{value:d.bank,options:V.bank,placeholder:a("Bank Name"),getOptionLabel:a,onChange:i=>ie("bank",i,c=>La(n,"bank",c))}),e.jsx(U,{value:d.ibanNo,placeholder:a("IBAN number"),onChange:i=>La(n,"ibanNo",i)})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"border-b border-gray-200 pb-1.5 text-sm font-black text-black dark:border-gray-700 dark:text-gray-100",children:d.bank||"-"}),e.jsx("p",{className:"mt-1.5 text-[10px] font-black uppercase tracking-[0.14em] text-gray-500 dark:text-gray-400",children:a("IBAN Number")}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("p",{className:"min-w-0 flex-1 truncate font-mono text-sm font-black tracking-wider text-black dark:text-gray-100",children:d.ibanNo||"-"}),d.ibanNo&&e.jsx(ea,{value:d.ibanNo,onCopy:R})]})]})},n)}),!k.banks&&Pa.length<3&&h&&e.jsxs("button",{type:"button",onClick:ls,className:"flex min-h-[88px] flex-col items-center justify-center rounded-lg border-2 border-dashed border-gray-300 bg-white px-3 py-2.5 text-sm font-black text-blue-600 transition hover:border-blue-300 hover:bg-blue-50 dark:border-gray-700 dark:bg-gray-800 dark:text-blue-300 dark:hover:bg-blue-950 lg:min-h-[88px]",children:[e.jsx(sr,{size:22}),e.jsx("span",{className:"mt-1.5",children:a("Add Bank Account")})]})]})})]})]}),e.jsx("div",{ref:$a,children:e.jsxs(pe,{title:a("Attachments & Documents"),icon:e.jsx(nr,{size:20}),iconClassName:"text-teal-500 dark:text-teal-300",section:"documents",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,hideEdit:!0,children:[ja&&e.jsx("p",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs font-bold text-emerald-700 dark:border-emerald-900/70 dark:bg-emerald-950/40 dark:text-emerald-200",children:ja}),va&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:va}),e.jsx("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-6",children:Rr?e.jsx(Rn,{count:Lt.length}):e.jsxs(e.Fragment,{children:[Lt.map(t=>{const s=!!o.documents[t.key],n=pt[t.key],d=(n==null?void 0:n.fileType)==="image"&&!!n.url,i=a(t.label),c=Za({exists:s,expiryDate:ss(t.key,n)}),x=ur(c.status),p=x.Icon;return e.jsxs("div",{className:"min-w-0",children:[e.jsx("button",{type:"button",onClick:()=>tt(t.key,s?"preview":"edit"),className:`group relative flex h-24 w-full overflow-hidden rounded-lg border text-center transition sm:h-28 ${x.tileClass}`,title:a(x.label),children:s?e.jsxs(e.Fragment,{children:[d?e.jsx("img",{src:n.url,alt:i,className:"absolute inset-0 h-full w-full object-cover"}):e.jsx("span",{className:"flex h-full w-full items-center justify-center bg-blue-50 text-xs font-black uppercase tracking-[0.18em] text-blue-600 dar
6k:bg-blue-950/50 dark:text-blue-200",children:(n==null?void 0:n.fileType)==="pdf"?a("PDF"):a("FILE")}),h&&e.jsx("span",{role:"button",tabIndex:0,onClick:v=>{v.stopPropagation(),tt(t.key,"edit")},onKeyDown:v=>{v.key==="Enter"&&tt(t.key,"edit")},className:"absolute right-2 top-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white text-blue-600 shadow-sm dark:bg-gray-700 dark:text-blue-300","aria-label":b?`${a("Edit")} ${i}`:`Edit ${i}`,children:e.jsx(Ue,{size:14})}),(n==null?void 0:n.url)&&e.jsx("span",{role:"button",tabIndex:0,onClick:v=>{v.stopPropagation(),Oe({fileType:n.fileType,filename:n.name||i,url:n.url})},onKeyDown:v=>{v.key!=="Enter"&&v.key!==" "||(v.preventDefault(),v.stopPropagation(),Oe({fileType:n.fileType,filename:n.name||i,url:n.url}))},className:"absolute bottom-2 end-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white text-slate-600 opacity-100 shadow-md ring-1 ring-slate-200 transition-[opacity,transform,color] hover:scale-105 hover:text-blue-600 focus:opacity-100 focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-slate-800 dark:text-slate-200 dark:ring-slate-600 dark:hover:text-blue-300 sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100","aria-label":`${a("Download")} ${i}`,title:a("Download"),children:e.jsx(Ot,{size:15})}),e.jsx("span",{className:`absolute left-2 top-2 z-10 inline-flex h-7 w-7 items-center justify-center rounded-full ${x.badgeClass}`,title:a(x.label),children:e.jsx(p,{size:12})})]}):e.jsxs("span",{className:"flex h-full w-full flex-col items-center justify-center",children:[e.jsx("span",{className:"text-gray-300 dark:text-gray-500",children:t.icon}),e.jsx("span",{className:"mt-2 max-w-full truncate text-sm font-bold text-gray-500 dark:text-gray-400",children:i})]})}),s&&e.jsx("p",{className:"mt-0.5 truncate text-center text-xs font-bold text-gray-600 dark:text-gray-300",children:(n==null?void 0:n.title)||i})]},t.key)}),na.map((t,s)=>{const n=Za({exists:!0,expiryDate:t.expiresAt}),d=ur(n.status),i=d.Icon;return e.jsxs("div",{className:"min-w-0",children:[e.jsxs("button",{type:"button",onClick:()=>ve(t),className:`group relative flex h-24 w-full overflow-hidden rounded-lg border text-center shadow-sm sm:h-28 ${d.tileClass}`,title:a(d.label),children:[t.fileType==="image"?e.jsx("img",{src:t.url,alt:t.title,className:"absolute inset-0 h-full w-full object-cover"}):e.jsx("span",{className:"flex h-full w-full items-center justify-center text-xs font-black uppercase tracking-[0.18em] text-blue-600 dark:text-blue-200",children:a("PDF")}),e.jsx("span",{className:`absolute left-2 top-2 z-10 inline-flex h-7 w-7 items-center justify-center rounded-full ${d.badgeClass}`,title:a(d.label),children:e.jsx(i,{size:12})}),h&&e.jsx("span",{role:"button",tabIndex:0,onClick:c=>{c.stopPropagation(),$t(s)},onKeyDown:c=>{c.key==="Enter"&&$t(s)},className:"absolute right-2 top-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white text-blue-600 shadow-sm dark:bg-gray-700 dark:text-blue-300","aria-label":b?`${a("Edit")} ${t.title}`:`Edit ${t.title}`,children:e.jsx(Ue,{size:14})}),e.jsx("span",{role:"button",tabIndex:0,onClick:c=>{c.stopPropagation(),Oe({fileType:t.fileType,filename:t.name||t.title,url:t.url})},onKeyDown:c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),c.stopPropagation(),Oe({fileType:t.fileType,filename:t.name||t.title,url:t.url}))},className:"absolute bottom-2 end-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-white text-slate-600 opacity-100 shadow-md ring-1 ring-slate-200 transition-[opacity,transform,color] hover:scale-105 hover:text-blue-600 focus:opacity-100 focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-slate-800 dark:text-slate-200 dark:ring-slate-600 dark:hover:text-blue-300 sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100","aria-label":`${a("Download")} ${t.title}`,title:a("Download"),children:e.jsx(Ot,{size:15})})]}),e.jsx("p",{className:"mt-0.5 truncate text-center text-xs font-bold text-gray-600 dark:text-gray-300",children:t.title})]},t.url)}),h&&e.jsxs("button",{type:"button",onClick:()=>$t(),className:"flex h-24 flex-col items-center justify-center rounded-lg border-2 border-dashed border-gray-300 bg-white px-3 py-3 text-center text-gray-500 transition hover:border-blue-300 hover:text-blue-600 dar
6k:border-gray-700 dark:bg-gray-800 dark:text-gray-400 sm:h-28",children:[e.jsx(sr,{size:30}),e.jsxs("span",{className:"mt-2 text-sm font-bold leading-tight",children:[a("Add More"),e.jsx("br",{}),"(",a("Img"),"/",a("PDF"),")"]})]})]})})]})}),r&&e.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[e.jsxs(pe,{title:a("Exit Info"),icon:e.jsx(Ar,{size:20}),iconClassName:"text-red-500 dark:text-red-300",section:"company",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,hideEdit:!0,actions:h?e.jsxs("button",{type:"button",onClick:ds,disabled:be,className:"inline-flex min-w-[62px] items-center justify-center gap-1.5 rounded-md bg-gray-100 px-2.5 py-1 text-sm font-bold text-black hover:bg-gray-200 disabled:opacity-60 dark:bg-gray-700 dark:text-gray-100 dark:hover:bg-gray-600",children:[e.jsx(Ue,{size:15}),a("Edit")]}):null,children:[e.jsx(w,{label:a("Exit Date"),value:ue(r.exitDate)}),e.jsx(w,{label:a("Reason"),value:r.reason||"-"}),e.jsx(w,{label:a("Destination"),value:r.destination||"-"}),e.jsx(w,{label:a("How"),value:r.exitMethod||"-"}),e.jsx(w,{label:a("Salary Status"),value:r.salaryStatus||"-"}),e.jsx(w,{label:a("Transaction Status"),value:r.transactionStatus||"-"}),e.jsx(w,{label:a("Returned At"),value:r.returnedAt?ue(r.returnedAt):"-"})]}),e.jsx(pe,{title:a("Exit Images"),icon:e.jsx(Tr,{size:20}),iconClassName:"text-rose-500 dark:text-rose-300",section:"documents",editing:k,saving:T,onToggle:de,onClose:ce,canEdit:h,hideEdit:!0,children:e.jsx("div",{className:"grid gap-2.5 sm:grid-cols-2",children:[0,1].map(t=>{const s=r.images[t];return e.jsx("button",{type:"button",disabled:!s,onClick:()=>s&&ve({fileType:"image",name:s.name,title:s.name,url:s.dataUrl}),className:"flex min-h-[160px] items-center justify-center overflow-hidden rounded-lg border border-gray-200 bg-gray-50 text-sm font-bold text-gray-400 dark:border-gray-700 dark:bg-gray-900",children:s?e.jsx("img",{src:s.dataUrl,alt:s.name,className:"h-full min-h-[160px] w-full object-cover"}):a("No image")},t)})})})]}),Nt&&!r&&e.jsx("div",{className:"flex justify-end pb-4",children:e.jsxs("button",{type:"button",onClick:vs,disabled:se,className:"inline-flex items-center gap-2 rounded-lg px-3 py-2 text-sm font-bold text-red-600 hover:bg-red-50 disabled:cursor-wait disabled:opacity-50 dark:text-red-400 dark:hover:bg-red-950",children:[e.jsx(or,{size:16}),a(se?"Deleting...":"Delete Profile")]})})]}),_r&&e.jsx("div",{className:"fixed inset-0 z-[430] flex items-center justify-center bg-black/65 p-4",onClick:()=>{se||Ce(!1)},children:e.jsxs("div",{className:"flex max-h-[92vh] w-full max-w-2xl flex-col overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-base font-black text-gray-950 dark:text-white",children:b?"حذف الموظف":"Delete employee"}),e.jsxs("p",{className:"mt-0.5 truncate text-xs font-semibold text-gray-500 dark:text-gray-300",children:[o.id,". ",at(o,g.language)]})]}),e.jsx("button",{type:"button",onClick:()=>Ce(!1),disabled:se,className:"rounded-md p-1.5 text-gray-500 hover:bg-gray-100 disabled:opacity-50 dark:hover:bg-gray-700","aria-label":a("Close"),children:e.jsx(ee,{size:18})})]}),e.jsxs("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto p-4",children:[e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-amber-200 bg-amber-50 p-3 text-amber-950 dark:border-amber-900/70 dark:bg-amber-950/40 dark:text-amber-100",children:[e.jsx(ot,{size:20,className:"mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-black",children:b?"يتم فحص جميع الروابط قبل الحذف.":"All linked records are checked before deletion."}),e.jsx("p",{className:"mt-0.5 text-xs font-semibold leading-5",children:b?"ستظهر جميع العوائق مع الإجراء المناسب، ولن تختفي هذه الرسالة تلقائياً.":"Every blocker and its next action appears here. This dialog stays open until you close it."})]})]}),fa&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold leading-5 text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:fa}),Me&&e.jsx("div",{className:"flex min-h-[120px] items-center justify-center rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-900",children:e.jsxs("div",{className:"text-center",children:[e.jsx(Pt,{size:22,className:"mx-auto animate-spin text-blue-600"}),e.jsx("p",{className:"mt-2 text-xs font-bold text-gray-600 dark:text-gray-300",children:b?"جارٍ فحص الروابط...":"Checking linked records..."})]})}),!Me&&(M==null?void 0:M.canDelete)&&e.jsxs("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 p-3 text-emerald-900 dark:border-emerald-900/70 dark:bg-emerald-950/40 dark:text-emerald-100",children:[e.jsx("p",{className:"text-sm font-black",children:b?"لم يتم العثور على سجلات مرتبطة تمنع الحذف.":"No linked records are blocking deleti
6on."}),e.jsx("p",{className:"mt-1 text-xs font-semibold leading-5",children:b?"الحذف نهائي ولا يمكن التراجع عنه.":"Deletion is permanent and cannot be undone."})]}),!Me&&(M==null?void 0:M.blockers.map(t=>{const s=Tn(t.code,b);return e.jsxs("article",{className:"rounded-lg border border-gray-200 bg-white p-3 dark:border-gray-700 dark:bg-gray-900",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h4",{className:"text-sm font-black text-gray-950 dark:text-white",children:s.title}),e.jsx("p",{className:"mt-1 text-xs font-semibold leading-5 text-gray-600 dark:text-gray-300",children:s.description})]}),e.jsx("span",{className:"inline-flex h-7 min-w-7 shrink-0 items-center justify-center rounded-md bg-red-100 px-2 text-xs font-black text-red-700 dark:bg-red-950 dark:text-red-200",children:t.count})]}),t.code==="vehicles"&&t.records.length>0&&e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:t.records.map(n=>e.jsxs("button",{type:"button",onClick:()=>l(`/vehicles/${n.id}`),className:"inline-flex min-h-9 items-center gap-2 rounded-md border border-blue-200 bg-blue-50 px-2.5 text-xs font-black text-blue-700 hover:border-blue-400 hover:bg-blue-100 dark:border-blue-900 dark:bg-blue-950/50 dark:text-blue-200",children:[e.jsx(Jt,{size:15}),e.jsx("span",{children:n.vehicleNumber||n.id}),e.jsx("span",{className:"font-semibold opacity-75",children:n.isDriver&&n.isAuthorized?b?"سائق + مفوض":"Driver + Auth":n.isDriver?b?"سائق":"Driver":b?"مفوض":"Auth"})]},`${n.id}-${n.vehicleNumber}`))}),t.code==="id_records"&&t.records.length>0&&e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:t.records.map(n=>e.jsxs("button",{type:"button",onClick:()=>l(`/id-manager?record=${n.recordNo}`),className:"inline-flex min-h-9 items-center gap-2 rounded-md border border-violet-200 bg-violet-50 px-2.5 text-xs font-black text-violet-700 hover:border-violet-400 hover:bg-violet-100 dark:border-violet-900 dark:bg-violet-950/50 dark:text-violet-200",children:[e.jsx(nt,{size:15}),e.jsx("span",{children:n.platform}),e.jsx("span",{className:"font-mono",children:n.idNumber})]},`${n.recordNo}-${n.idNumber}`))}),t.code==="managed_documents"&&e.jsxs("button",{type:"button",onClick:()=>{Ce(!1),window.requestAnimationFrame(()=>{var n;return(n=$a.current)==null?void 0:n.scrollIntoView({behavior:"smooth",block:"start"})})},className:"mt-3 inline-flex min-h-9 items-center gap-2 rounded-md border border-teal-200 bg-teal-50 px-2.5 text-xs font-black text-teal-700 hover:border-teal-400 hover:bg-teal-100 dark:border-teal-900 dark:bg-teal-950/50 dark:text-teal-200",children:[e.jsx(nr,{size:15}),b?"مراجعة المستندات":"Review documents"]})]},t.code)}))]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:()=>Ce(!1),disabled:se,className:"min-h-9 rounded-md bg-gray-100 px-3 text-xs font-bold text-gray-700 hover:bg-gray-200 disabled:opacity-50 dark:bg-gray-700 dark:text-gray-100",children:a("Close")}),M&&!M.canDelete&&e.jsxs("button",{type:"button",onClick:()=>void Wa(),disabled:Me||se,className:"inline-flex min-h-9 items-center gap-2 rounded-md border border-blue-200 bg-blue-50 px-3 text-xs font-black text-blue-700 hover:bg-blue-100 disabled:opacity-50 dark:border-blue-900 dark:bg-blue-950/50 dark:text-blue-200",children:[e.jsx(Pt,{size:14}),b?"تحقق مرة أخرى":"Check again"]}),es&&o.status!=="Exited"&&e.jsx("button",{type:"button",onClick:()=>{Ce(!1),qa()},className:"min-h-9 rounded-md bg-amber-500 px-3 text-xs font-black text-white hover:bg-amber-600",children:b?"نقل إلى المغادرين":"Move to Exited"}),(M==null?void 0:M.canDelete)&&e.jsxs("button",{type:"button",onClick:()=>void Ns(),disabled:se,className:"inline-flex min-h-9 items-center gap-2 rounded-md bg-red-600 px-3 text-xs font-black text-white hover:bg-red-700 disabled:cursor-wait disabled:opacity-50",children:[e.jsx(or,{size:14}),se?b?"جارٍ الحذف...":"Deleting...":b?"حذف نهائي":"Delete permanently"]})]})]})}),Ne&&e.jsx("div",{className:"fixed inset-0 z-[300] flex items-center justify-center bg-black/60 p-4",onClick:St,children:e.jsxs("form",{className:"max-h-[calc(100dvh-2rem)] w-full max-w-sm overflow-y-auto rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),onSubmit:t=>{t.preventDefault(),is()},children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("p",{className:"text-sm font-black text-gray-900 dark:text-gray-100",children:b?`إضافة ${Ze}`:`Add ${Ze}`}),e.jsx("button",{type:"button",onClick:St,className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700","aria-label":a("Close add option"),children:e.jsx(ee,{size:18})})]}),e.jsx("div",{className:"space-y-3 p-4",children:e.jsx(U,{value:xt,placeholder:b?`${a("New")} ${Ze}`:`New ${Ze}`,onChange:Ve})}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:St,className:"rounded-md bg-gray-100 px-3 py-2 text-xs font-bold text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-100",children:a("Cancel")}),e.jsx("button",{type:"submit",disabled:!xt.trim(),className:"rounded-md bg-blue-600 px-3 py-2 text-xs font-black text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50",children:a("Save")})]})]})}),K&&e.jsx("div",{className:"fixed inset-0 z-[390] flex items-center justify-center bg-black/60 p-4",onClick:Et,children:e.jsxs("form",{className:"w-full max-w-md overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),onSubmit:t=>{t.preventDefault(),ts()},children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"truncate text-sm font-black text-gray-900 dark:text-gray-100",children:a("Reactivate Employee")}),e.jsxs("p",{className:"truncate text-xs font-semibold text-gray-500 dark:text-gray-300",children:[o.nickName," · ",a(K.status)]})]}),e.jsx("button",{type:"button",onClick:Et,disabled:T||J,className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 disabled:opacity-50 dark:hover:bg-gray-700","aria-label":a("Close"),children:e.jsx(ee,{size:18})})]}),e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsxs("label",{className:"block space-y-1",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-gray-500",children:[a("Designation")," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(W,{value:K.designation,options:sa,allowAdd:!1,placeholder:a("Designation"),disabled:Be||T||J,getOptionLabel:a,onChange:t=>fe(s=>s&&{...s,designation:t})})]}),e.jsxs("label",{className:"block space-y-1",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-gray-500",children:[a("Accommodation")," ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx(W,{value:K.accommodation,options:V.accommodation,placeholder:a("Accommodation"),disabled:Be||T||J,getOptionLabel:a,onChange:t=>fe(s=>s&&{...s,accommodation:t})})]}),oe&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:oe})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:Et,disabled:T||J,className:"rounded-md bg-gray-100 px-3 py-2 text-xs font-bold text-gray-700 hover:bg-gray-200 disabled:opacity-50 dark:bg-gray-700 dark:text-gray-100",children:a("Cancel")}),e.jsx("button",{type:"submit",disabled:Be||T||J||!K.designation.trim()||!K.accommodation.trim(),className:"rounded-md bg-emerald-600 px-3 py-2 text-xs font-black text-white hover:bg-emerald-700 disabled:cursor-not-allowed disabled:opacity-50",children:a(T||J?"
6Saving...":"Save and Reactivate")})]})]})}),Ea&&ye&&e.jsx("div",{className:"fixed inset-0 z-[380] flex items-center justify-center bg-black/60 p-4",children:e.jsxs("div",{className:"w-full max-w-md rounded-lg bg-white p-4 shadow-2xl dark:bg-gray-800",children:[e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-amber-200 bg-amber-50 p-3 text-amber-900 dark:border-amber-900 dark:bg-amber-950/40 dark:text-amber-100",children:[e.jsx(ot,{size:20,className:"mt-0.5 shrink-0"}),e.jsx("p",{className:"text-sm font-semibold leading-6",children:a("Has the key for vehicle {vehicle}, assigned to {employee}, been returned?").replace("{vehicle}",ye.vehicleNumber).replace("{employee}",o.fullName)})]}),oe&&e.jsx("p",{className:"mt-3 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700",children:oe}),e.jsxs("div",{className:"mt-4 flex justify-end gap-2",children:[e.jsx("button",{type:"button",onClick:()=>Re(null),disabled:T||Te,className:"rounded-lg bg-slate-100 px-4 py-2 text-xs font-black text-slate-600 dark:bg-gray-700 dark:text-white",children:a("No")}),e.jsx("button",{type:"button",onClick:()=>{const t=Ea;Re(null),t==="Exited"?Ha(!0):Ct(t,!0)},disabled:T||Te,className:"rounded-lg bg-emerald-600 px-4 py-2 text-xs font-black text-white disabled:opacity-50",children:a("Yes")})]})]})}),Gr&&e.jsx("div",{className:"fixed inset-0 z-[370] flex items-center justify-center bg-black/60 p-4",onClick:()=>kt(!1),children:e.jsxs("div",{className:"max-h-[80vh] w-full max-w-2xl overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-slate-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("h3",{className:"text-sm font-black text-slate-900 dark:text-white",children:a("Employee Status History")}),e.jsx("button",{type:"button",onClick:()=>kt(!1),className:"rounded-md p-1 text-slate-500 hover:bg-slate-100 dark:hover:bg-gray-700","aria-label":a("Close"),children:e.jsx(ee,{size:17})})]}),e.jsxs("div",{className:"max-h-[calc(80vh-3.5rem)] overflow-auto p-4",children:[Da.length?e.jsx("div",{className:"space-y-2",children:Da.map(t=>e.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-gray-700",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs("p",{className:"text-xs font-black text-slate-800 dark:text-white",children:[a(t.previousStatus)," → ",a(t.newStatus)]}),e.jsx("time",{className:"text-[11px] font-semibold text-slate-500",children:Xt(t.changedAt,g.language,"-")})]}),e.jsx("p",{className:"mt-1 text-xs font-semibold text-slate-600 dark:text-slate-300",children:t.changeReason||"-"}),e.jsxs("p",{className:"mt-1 text-[11px] text-slate-500",children:[a("Changed By"),": ",t.changedBy,t.relatedVehicleId?` · ${a("Vehicle")} #${t.relatedVehicleId}`:""]})]},t.id))}):e.jsx("p",{className:"py-10 text-center text-sm font-semibold text-slate-500",children:a("No status history yet")}),e.jsxs("div",{className:"mt-4 border-t border-slate-200 pt-4 dark:border-gray-700",children:[e.jsx("h4",{className:"mb-2 text-xs font-black uppercase text-slate-500",children:a("Employee Activity")}),ze.length?e.jsx("div",{className:"space-y-2",children:ze.map(t=>e.jsxs("div",{className:"rounded-lg border border-slate-200 p-3 dark:border-gray-700",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsx("p",{className:"text-xs font-black text-slate-800 dark:text-white",children:a(t.action)}),e.jsx("time",{className:"text-[11px] font-semibold text-slate-500",children:Xt(t.changedAt,g.language,"-")})]}),e.jsxs("p",{className:"mt-1 text-[11px] text-slate-500",children:[a(t.entityType)," · ",a("Changed By"),": ",t.changedBy]})]},t.id))}):e.jsx("p",{className:"py-6 text-center text-sm font-semibold text-slate-500",children:a("No activity history yet")})]})]})]})}),Lr&&r&&e.jsx("div",{className:"fixed inset-0 z-[300] flex items-center justify-center bg-black/60 p-4",onClick:It,children:e.jsxs("form",{className:"max-h-[calc(100dvh-2rem)] w-full max-w-2xl overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),onSubmit:t=>{t.preventDefault(),cs()},children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-sm font-black text-gray-900 dark:text-gray-100",children:a("Edit Exit Info")}),e.jsxs("p",{className:"truncate text-xs font-semibold text-gray-500 dark:text-gray-300",children:[o.id,". ",at(o,g.language)]})]}),e.jsx("button",{type:"button",onClick:It,disabled:be,className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 disabled:opacity-50 dark:hover:bg-gray-700","aria-label":a("Close"),children:e.jsx(ee,{size:18})})]}),e.jsxs("div",{className:"max-h-[70vh] space-y-3 overflow-y-auto p-4",children:[ma&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:ma}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("label",{className:"space-y-1",children:[e.jsxs("span",{className:"text-[10px] font-black uppercase tracking-wider text-gray-500",children:[a("Exit Date"),"*"]}),e.jsx(U,{type:"date",value:O.exitDate,onChange:t=>xe(s=>({...s,exitDate:t}))})]}),e.jsx(G,{label:`${a("Reason")}*`,value:O.reason,onChange:t=>xe(s=>({...s,reason:t}))}),e.jsx(G,{label:`${a("Destination")}*`,value:O.destination,onChange:t=>xe(s=>({...s,destination:t}))}),e.jsx(G,{label:`${a("How")}*`,value:O.exitMethod,onChange:t=>xe(s=>({...s,exitMethod:t}))}),e.jsx(G,{label:`${a("Salary Status")}*`,value:O.salaryStatus,onChange:t=>xe(s=>({...s,salaryStatus:t}))}),e.jsx(G,{label:`${a("Transaction Status")}*`,value:O.transactionStatus,onChange:t=>xe(s=>({...s,transactionStatus:t}))})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:It,disabled:be,className:"rounded-md bg-gray-100 px-3 py-2 text-xs font-bold text-gray-700 hover:bg-gray-200 disabled:opacity-50 dark:bg-gray-700 dark:text-gray-100",children:a("Cancel")}),e.jsxs("button",{type:"submit",disabled:!_a||be,className:"inline-flex items-center gap-2 rounded-md bg-blue-600 px-3 py-2 text-xs font-black text-white hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50",children:[e.jsx(Ir,{size:15}),a(be?"Saving...":"Save")]})]})]})}),da&&e.jsx("div",{className:"fixed inset-0 z-[300] flex items-center justify-center bg-black/60 p-4",onClick:At,children:e.jsxs("form",{className:"max-h-[92vh] w-full max-w-3xl overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),onSubmit:t=>{t.preventDefault(),us()},children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-black text-gray-900 dark:text-gray-100",children:a("Move to Exited")}),e.jsxs("p",{className:"text-xs font-semibold text-gray-500 dark:text-gray-300",children:[o.id,". ",at(o,g.language)," ·"," ",o.idNumber]}
6)]}),e.jsx("button",{type:"button",onClick:At,className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700","aria-label":a("Close"),children:e.jsx(ee,{size:18})})]}),e.jsxs("div",{className:"max-h-[70vh] space-y-4 overflow-y-auto p-4",children:[oe&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:oe}),e.jsxs("div",{className:"grid gap-3 rounded-lg border border-slate-100 bg-slate-50 p-3 text-sm md:grid-cols-3",children:[e.jsx(Ht,{label:a("Name"),value:o.fullName}),e.jsx(Ht,{label:a("Phone"),value:o.phoneNo||"-"}),e.jsx(Ht,{label:a("Iqama No."),value:o.iqamaNumber||"-"})]}),e.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[e.jsxs("label",{className:"space-y-1",children:[e.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-gray-500",children:a("Exit Date")}),e.jsx(U,{type:"date",value:D.exitDate,onChange:t=>X(s=>({...s,exitDate:t}))})]}),e.jsx(G,{label:a("Why"),value:D.reason,onChange:t=>X(s=>({...s,reason:t}))}),e.jsx(G,{label:a("Where"),value:D.destination,onChange:t=>X(s=>({...s,destination:t}))}),e.jsx(G,{label:a("How"),value:D.exitMethod,onChange:t=>X(s=>({...s,exitMethod:t}))}),e.jsx(G,{label:a("Salary Status"),value:D.salaryStatus,onChange:t=>X(s=>({...s,salaryStatus:t}))}),e.jsx(G,{label:a("Transaction Status"),value:D.transactionStatus,onChange:t=>X(s=>({...s,transactionStatus:t}))})]}),Ca&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:Ca}),e.jsx("div",{className:"grid gap-3 sm:grid-cols-2",children:[0,1].map(t=>{const s=D.images[t];return e.jsxs("label",{className:"flex min-h-[150px] cursor-pointer flex-col items-center justify-center overflow-hidden rounded-lg border-2 border-dashed border-gray-300 bg-gray-50 text-center text-gray-500 hover:border-blue-300 hover:text-blue-600 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-400",children:[e.jsx("input",{type:"file",accept:"image/jpeg,image/png,image/webp",className:"hidden",onChange:n=>{var i;const d=((i=n.target.files)==null?void 0:i[0])??null;n.target.value="",ms(t,d)}}),s?e.jsx("img",{src:s.dataUrl,alt:s.name,className:"h-full max-h-[220px] w-full object-cover"}):e.jsxs(e.Fragment,{children:[e.jsx(Ft,{size:24}),e.jsxs("span",{className:"mt-2 text-sm font-black",children:[a("Upload Image")," ",t+1]})]})]},t)})})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:At,className:"rounded-md bg-gray-100 px-3 py-2 text-xs font-bold text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-100",children:a("Cancel")}),e.jsx("button",{type:"submit",disabled:!Ya||Te,className:"rounded-md bg-red-600 px-3 py-2 text-xs font-black text-white hover:bg-red-700 disabled:cursor-not-allowed disabled:opacity-50",children:a(Te?"Saving...":"Submit")})]})]})}),Kr&&e.jsx("div",{className:"fixed inset-0 z-[300] flex items-center justify-center bg-black/60 p-4",onClick:et,children:e.jsxs("div",{className:"max-h-[calc(100dvh-2rem)] w-full max-w-md overflow-y-auto rounded-lg bg-white shadow-2xl dark:bg-gray-800",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("p",{className:"text-sm font-black text-gray-900 dark:text-gray-100",children:a(Vr===null?"Add More Document":"Replace Document")}),e.jsx("button",{type:"button",onClick:et,className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700","aria-label":a("Close document upload"),children:e.jsx(ee,{size:18})})]}),e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsx("div",{className:"grid grid-cols-2 gap-2",children:["image","pdf"].map(t=>e.jsx("button",{type:"button",onClick:()=>{ne(""),we(s=>({...s,fileType:t,file:null}))},className:`rounded-lg border px-3 py-2 text-sm font-black capitalize ${B.fileType===t?"border-blue-500 bg-blue-50 text-blue-700 dark:border-blue-400 dark:bg-blue-950 dar
6k:text-blue-200":"border-gray-200 bg-white text-gray-600 hover:bg-gray-50 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300"}`,children:a(t==="image"?"Image":"PDF")},t))}),wa&&e.jsx("p",{className:"rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs font-bold text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-200",children:wa}),e.jsxs("button",{type:"button",onClick:()=>{var t;return(t=Ia.current)==null?void 0:t.click()},className:"flex min-h-[96px] w-full flex-col items-center justify-center rounded-lg border-2 border-dashed border-gray-300 bg-gray-50 px-3 py-3 text-center text-gray-500 hover:border-blue-300 hover:text-blue-600 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-400",children:[e.jsx(Ft,{size:24}),e.jsx("span",{className:"mt-2 max-w-full truncate text-sm font-bold",children:B.file?B.file.name:b?`${a("Upload")} ${B.fileType==="image"?a("image"):a("PDF")}`:`Upload ${B.fileType==="image"?"image":"PDF"}`})]}),e.jsx(U,{value:B.title,placeholder:a("File title"),onChange:t=>we(s=>({...s,title:t}))}),e.jsxs("label",{className:"block",children:[e.jsxs("span",{className:"mb-1 block text-[11px] font-black uppercase text-gray-500 dark:text-gray-400",children:[a("Expiry Date")," (",a("Optional"),")"]}),e.jsx(U,{type:"date",value:B.expiresAt,onChange:t=>we(s=>({...s,expiresAt:t}))})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("button",{type:"button",onClick:et,className:"rounded-md bg-gray-100 px-3 py-2 text-xs font-bold text-gray-700 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-100",children:a("Cancel")}),Oa&&e.jsx("button",{type:"button",onClick:gs,className:"rounded-md bg-blue-600 px-3 py-2 text-xs font-black text-white hover:bg-blue-700",children:a("Save")})]})]})}),j&&e.jsx("div",{className:"fixed inset-0 z-[300] flex items-center justify-center bg-black/70 p-3 sm:p-4",onClick:()=>ve(null),children:e.jsxs("div",{className:"flex h-[calc(100dvh-1.5rem)] w-full max-w-3xl flex-col overflow-hidden rounded-lg bg-white shadow-2xl dark:bg-gray-800 sm:h-[88vh]",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"shrink-0 flex items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-gray-700",children:[e.jsx("p",{className:"text-sm font-black text-gray-900 dark:text-gray-100",children:j.title}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[j.fileType==="image"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:()=>void Oe({fileType:j.fileType,filename:j.name||j.title,url:j.url}),className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","aria-label":a("Download"),title:a("Download"),children:e.jsx(Ot,{size:18})}),j.fileKey&&e.jsx("button",{type:"button",onClick:()=>js(j),className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700","aria-label":a("Edit"),title:a("Edit"),children:e.jsx(Ue,{size:18})})]}),e.jsx("button",{type:"button",onClick:()=>ve(null),className:"rounded-md p-1 text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-700","aria-label":a("Close preview"),children:e.jsx(ee,{size:18})})]})]}),(j.uploadedBy||j.updatedBy||j.createdAt||j.updatedAt||j.expiresAt)&&e.jsxs("div",{className:"grid shrink-0 grid-cols-1 gap-x-4 gap-y-1 border-b border-gray-200 bg-gray-50 px-4 py-3 text-[11px] font-semibold text-gray-600 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 sm:grid-cols-2 lg:grid-cols-3",children:[j.uploadedBy&&e.jsxs("span",{className:"min-w-0 whitespace-normal break-words leading-snug",children:[a("Uploaded By"),": ",xr(j.uploadedBy)]}),j.updatedBy&&e.jsxs("span",{className:"min-w-0 whitespace-normal break-words leading-snug",children:[a("Last Updated By"),": ",xr(j.updatedBy)]}),j.createdAt&&e.jsxs("span",{className:"min-w-0 whitespace-normal break-words leading-snug",children:[a("Uploaded Date"),": ",gr(j.createdAt,g.language)]}),j.updatedAt&&e.jsxs("span",{className:"min-w-0 whitespace-normal break-words leading-snug",children:[a("Last Updated Date"),": ",gr(j.updatedAt,g.language)]}
6),j.expiresAt&&e.jsxs("span",{className:"min-w-0 whitespace-normal break-words leading-snug",children:[a("Expiry Date"),": ",Yn(j.expiresAt,g.language)]})]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden bg-gray-950 p-3",children:j.fileType==="pdf"?e.jsx("iframe",{src:j.url,title:j.title,className:"h-full min-h-0 w-full rounded bg-white"}):e.jsx("img",{src:j.url,alt:j.title,className:"h-full max-h-full w-full max-w-full rounded object-contain"})})]})}),re&&e.jsx(en,{isOpen:!0,identity:re,initialMode:Or,currentData:ys(re),onClose:()=>oa(null),onSaved:ks}),e.jsx("div",{id:"toast",className:`fixed bottom-5 left-1/2 z-[300] -translate-x-1/2 rounded-full bg-gray-950 px-4 py-2 text-sm font-bold text-white shadow-xl transition-all duration-300 dark:bg-gray-100 dark:text-gray-950 ${qr?"translate-y-0 opacity-100":"pointer-events-none translate-y-3 opacity-0"}`,children:a("Copied to clipboard!")})]})}function pe({className:r="",title:l,icon:m,iconClassName:f,section:y,editing:g,saving:a,onToggle:b,onClose:A,actions:z,hideEdit:I=!1,canEdit:E=!0,children:Y}){const{t:H}=ke(),C=o=>je(H,o),te=g[y];return e.jsxs("article",{className:`min-w-0 max-w-full overflow-hidden rounded-lg border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-800 ${r}`,children:[e.jsxs("header",{className:"flex items-center justify-between gap-2.5 border-b border-gray-200 px-4 py-2 dark:border-gray-700",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2.5 pl-2",children:[e.jsx("span",{className:f,children:m}),e.jsx("h2",{className:"truncate text-base font-black leading-tight text-black dark:text-gray-50",children:l})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-2.5 pr-2",children:[z,!I&&E&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:()=>b(y),disabled:a,className:"inline-flex min-w-[62px] items-center justify-center gap-1.5 rounded-md bg-gray-100 px-2.5 py-1 text-sm font-bold text-black hover:bg-gray-200 disabled:opacity-60 dark:bg-gray-700 dark:text-gray-100 dark:hover:bg-gray-600",children:[te?e.jsx(Ir,{size:15}):e.jsx(Ue,{size:15}),C(te?"Save":"Edit")]}),te&&A&&e.jsx("button",{type:"button",onClick:()=>A(y),disabled:a,className:"inline-flex h-7 w-7 items-center justify-center rounded-md bg-gray-100 text-gray-600 hover:bg-gray-200 hover:text-gray-900 disabled:opacity-60 dark:bg-gray-700 dark:text-gray-100 dark:hover:bg-gray-600","aria-label":C("Close"),title:C("Close"),children:e.jsx(ee,{size:16})})]})]})]}),e.jsx("div",{className:"p-4 pt-3",children:Y})]})}function Rn({count:r}){return e.jsx(e.Fragment,{children:Array.from({length:r}).map((l,m)=>e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"h-24 w-full animate-pulse overflow-hidden rounded-lg border border-gray-200 bg-white p-3 dark:border-gray-700 dark:bg-gray-800 sm:h-28",children:e.jsx("div",{className:"h-full rounded-md bg-gray-100 dark:bg-gray-700/70"})}),e.jsx("div",{className:"mx-auto mt-1 h-3 w-16 animate-pulse rounded bg-gray-200 dark:bg-gray-700"})]},m))})}function w({label:r,value:l,valueClassName:m="text-sm font-bold",copyValue:f,onCopy:y,editing:g=!1,editControl:a}){return e.jsxs("div",{className:"flex min-h-[30px] items-center gap-2.5 py-1 leading-tight",children:[e.jsx("p",{className:"w-32 shrink-0 truncate text-sm font-medium text-gray-600 dark:text-gray-300 sm:w-40",children:r}),g&&a?e.jsx("div",{className:"min-w-0 flex-1",children:a}):e.jsxs("div",{className:"flex min-w-0 flex-1 items-center justify-start gap-1.5 text-left",children:[e.jsx("span",{className:`block min-w-0 max-w-full truncate text-black dark:text-gray-100 ${m}`,children:l}),f&&y&&e.jsx(ea,{value:f,onCopy:y})]})]})}function Yt({label:r,value:l,type:m="phone",editing:f,onChange:y,onCopy:g}){const{i18n:a,t:b}=ke(),A=I=>je(b,I),z=lt(a.language);return e.jsxs("div",{className:"flex min-h-[30px] items-center gap-2.5 py-1 leading-tight",children:[e.jsx("p",{className:"w-32 shrink-0 truncate text-sm font-medium text-gray-600 dark:text-gray-300 sm:w-40",children:r}),f?e.jsx("div",{className:"min-w-0 flex-1",children:e.jsx(U,{type:m==="email"?"email":"tel",value:l,onCh
6ange:I=>y(m==="phone"?wr(I):I)})}):e.jsxs("div",{className:"flex min-w-0 flex-1 items-center justify-start gap-2 text-left",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[e.jsx("p",{className:"min-w-0 truncate text-sm font-bold text-black dark:text-gray-100",children:l||"-"}),l&&e.jsx(ea,{value:l,onCopy:g})]}),m==="phone"&&l&&e.jsxs(e.Fragment,{children:[e.jsx("a",{href:`tel:${l}`,className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-lg bg-blue-50 text-blue-600 hover:bg-blue-100 dark:bg-blue-950/60 dark:text-blue-300 dark:hover:bg-blue-900","aria-label":z?`${A("Call")} ${r}`:`Call ${r}`,children:e.jsx(Cn,{size:15})}),e.jsx("a",{href:`https://wa.me/${Zt(l)}`,target:"_blank",rel:"noreferrer",className:"inline-flex h-7 w-7 items-center justify-center rounded-lg bg-green-50 text-green-600 hover:bg-green-100 dark:bg-green-950/60 dark:text-green-300 dark:hover:bg-green-900","aria-label":z?`${A("WhatsApp")} ${r}`:`WhatsApp ${r}`,children:e.jsx(En,{size:15})})]})]})]})}function W({value:r,options:l,onChange:m,tone:f="default",placeholder:y,allowAdd:g=!0,disabled:a=!1,getOptionLabel:b,fixedOptions:A=[],managed:z=!1,managementAction:I,disabledReason:E}){const{t:Y}=ke(),H=o=>je(Y,o),C=!!(r&&l.includes(r)),te=y??H("Select");return g||z?e.jsx(an,{value:r||"",options:_([r],l),onChange:m,placeholder:te,addLabel:H("Add"),disabled:z?a&&!I:a,allowCreate:g&&!z,managementAction:I,selectionDisabled:z&&a,selectionDisabledReason:z&&a?E:void 0,renderOption:b,fixedOptions:A}):e.jsxs("select",{value:r||"",disabled:a,onChange:o=>m(o.target.value),className:`h-10 w-full truncate rounded-lg border px-3 text-sm font-medium outline-none transition focus:border-blue-400 focus:ring-2 focus:ring-blue-100 dark:focus:ring-blue-950 ${f==="success"?"border-green-300 bg-green-50 text-green-700 disabled:cursor-not-allowed disabled:opacity-70 dark:border-green-700 dark:bg-green-950 dark:text-green-200":"border-gray-300 bg-gray-50 text-black disabled:cursor-not-allowed disabled:opacity-70 dark:border-gray-600 dark:bg-gray-900 dark:text-gray-100"}`,children:[!r&&e.jsx("option",{value:"",children:te}),r&&!C&&e.jsx("option",{value:r,children:b?b(r):r}),l.map(o=>e.jsx("option",{value:o,children:b?b(o):o},o))]})}function U({value:r,onChange:l,type:m="text",placeholder:f}){return e.jsx("input",{type:m,value:r,placeholder:f,onChange:y=>l(y.target.value),className:"h-9 w-full rounded-lg border border-gray-300 bg-white px-3 text-sm font-semibold text-black outline-none focus:border-blue-400 focus:ring-2 focus:ring-blue-100 dark:border-gray-600 dark:bg-gray-900 dark:text-gray-100 dark:focus:ring-blue-950"})}function G({label:r,onChange:l,value:m}){return e.jsxs("label",{className:"space-y-1",children:[e.jsx("span",{className:"text-[10px] font-black uppercase tracking-wider text-gray-500",children:r}),e.jsx("textarea",{value:m,onChange:f=>l(f.target.value),className:"min-h-[88px] w-full resize-none rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm font-semibold text-black outline-none focus:border-blue-400 focus:ring-2 focus:ring-blue-100 dark:border-gray-600 dark:bg-gray-900 dark:text-gray-100 dark:focus:ring-blue-950"})]})}function Ht({label:r,value:l}){return e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-[10px] font-black uppercase tracking-wider text-slate-400",children:r}),e.jsx("p",{className:"truncate text-sm font-black text-slate-800",children:l})]})}function Rt({value:r,onChange:l}){return e.jsx(U,{type:"date",value:Fn(r),onChange:m=>l(m)})}function Wt({value:r,options:l,onChange:m,getOptionLabel:f}){return e.jsx("div",{className:"flex flex-wrap justify-start gap-1.5",children:l.map(y=>e.jsx("button",{type:"button",onClick:()=>m(y),className:`rounded-md border px-3 py-1.5 text-xs ${r===y?"border-gray-300 bg-gray-200 font-black text-black dark:border-gray-600 dark:bg-gray-700 dark:text-gray-100":"border-gray-200 bg-transparent font-semibold text-gray-500 hover:bg-gray-50 dark:border-gray-700 dark:text-gray-300 dark:hover:bg-gray-700"}`,children:f?f(y):y},y))})}function vr({value:r}){const{t:l}=ke(),m=f=>je(l,f);return e.jsx("span",{className:r==="Not Complete"?"font-black text-red-600 dark:text-red-400":"font-semibold text-gray-800 dark:text-gray-200",children:m(r)})}function Nr({days:r,alwaysVisible:l=!1,onRenew:m}){const{i18n:f,t:y}=ke(),g=z=>je(y,z);if(r===null)return null;const a=r<0;if(!l){if(r>60)return null;const z=a||r<=30;return e.jsxs("span",{className:`ml-2 shrink-0 text-[11px] font-semibold ${z?"text-red-600 dark:text-red-400":"text-amber-600 dar
6k:text-amber-300"}`,children:["(",lt(f.language)?a?`انتهت منذ ${Math.abs(r)} ${g("days")}`:`${g("Expires in")} ${r} ${g("days")}`:a?`Expired ${Math.abs(r)} days`:`Expires in ${r} days`,")"]})}const b=!a&&r<15,A=a?`${g("Expired")} ${mr(Math.abs(r))}`:b?`${g("Expires in")} ${r} ${g("days")}`:`${g("Available")} ${mr(r)}`;return(a||b)&&m?e.jsxs("button",{type:"button",onClick:m,title:g("Renewed"),className:`group ml-2 inline-grid shrink-0 items-center justify-items-center rounded-full border px-2 py-0.5 text-[11px] font-semibold transition-colors ${a?"border-red-200 bg-red-50 text-red-600 hover:border-red-300 hover:bg-red-100 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-400 dark:hover:bg-red-950/70":"border-amber-200 bg-amber-50 text-amber-600 hover:border-amber-300 hover:bg-amber-100 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-300 dark:hover:bg-amber-950/70"}`,children:[e.jsx("span",{className:"col-start-1 row-start-1 whitespace-nowrap group-hover:invisible",children:A}),e.jsx("span",{className:"invisible col-start-1 row-start-1 whitespace-nowrap group-hover:visible",children:g("Renewed")})]}):e.jsxs("span",{className:`ml-2 shrink-0 text-[11px] font-semibold ${a?"text-red-600 dark:text-red-400":b?"text-amber-600 dark:text-amber-300":"text-emerald-600 dark:text-emerald-400"}`,children:["(",A,")"]})}function ea({value:r,onCopy:l}){const{t:m}=ke(),f=y=>je(m,y);return e.jsx("button",{type:"button",onClick:()=>l(r),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded text-gray-400 hover:bg-gray-100 hover:text-blue-600 dark:text-gray-500 dark:hover:bg-gray-700 dark:hover:text-blue-300","aria-label":f("Copy"),children:e.jsx(Dn,{size:15})})}function Ie(){return e.jsx("hr",{className:"my-1.5 border-gray-200 dark:border-gray-700"})}export{cl as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.