1import{p as E}from"./excelUtils-B6c4w-tr.js";const P=[{key:"empCode",label:"Employee ID",required:!0},{key:"fullName",label:"Employee Name",required:!0},{key:"workEmail",label:"Work Email",required:!0},{key:"designation",label:"Job Title",required:!0},{key:"joiningDate",label:"Joining Date",required:!0},{key:"status",label:"Status",required:!1},{key:"personalPhone",label:"Phone Number",required:!1},{key:"skills",label:"Skills",required:!1},{key:"password",label:"Password",required:!1}],j={status:["status"],fullName:["employeename","employee name","name","full name"],empCode:["employeeid","employee id","emp id","empcode","emp code"],workEmail:["workemail","work email","email"],personalPhone:["phonenumber","phone number","phone","mobile"],designation:["jobtitle","job title","designation","title"],joiningDate:["joiningdata","joining date","joiningdate","join date","doj"],skills:["skills","skill"],password:["password","temp password"]};function D(t){return t.trim().toLowerCase().replace(/\s+/g," ")}function v(t){return t.replace(/[^a-z0-9]/gi,"").toLowerCase()}function R(t){const e={};for(const s of P){const n=j[s.key],i=t.find(o=>{const r=v(o),l=D(o);return n.some(m=>r===m.replace(/\s/g,"")||l===m)});i&&(e[s.key]=i)}return e}function h(t){const e=[];let s="",n=!1;for(let i=0;i<t.length;i++){const o=t[i];o==='"'?n&&t[i+1]==='"'?(s+='"',i++):n=!n:o===","&&!n?(e.push(s.trim()),s=""):s+=o}return e.push(s.trim()),e}function W(t){const e=t.split(/\r?\n/).filter(i=>i.trim().length>0);if(e.length===0)return{headers:[],rows:[]};const s=h(e[0]),n=e.slice(1).map(h);return{headers:s,rows:n}}async function M(t){const e=new Blob([t]),s=new File([e],"upload.xlsx");return E(s)}function A(t){const e=t.trim().split(/\s+/).filter(Boolean);return e.length===0?{firstName:"",lastName:""}:e.length===1?{firstName:e[0],lastName:"."}:{firstName:e[0],lastName:e.slice(1).join(" ")}}function C(t){const e=t.trim();if(!e)return null;const s=e.match(/^(\d{1,2})[-/](\d{1,2})[-/](\d{4})$/);if(s){const[,o,r,l]=s;return`${l}-${r.padStart(2,"0")}-${o.padStart(2,"0")}`}const n=e.match(/^(\d{4})-(\d{2})-(\d{2})/);if(n)return n[0].slice(0,10);const i=new Date(e);return Number.isNaN(i.getTime())?null:i.toISOString().slice(0,10)}function a(t,e,s){if(!s)return"";const n=t.indexOf(s);return n>=0?String(e[n]??"").trim():""}const I=["Active","Probation","On Leave","Notice Period","Resigned","Inactive"];function L(t){return I.find(s=>s.toLowerCase()===t.trim().toLowerCase())}function T(t){const e=t.replace(/\D/g,"");return e?e.startsWith("91")&&e.length>10?`+${e}`:e.length===10?e:t.replace(/^-/,"").trim():""}function $(t,e,s){const n=[],i=[];return e.forEach((o,r)=>{const l=r+2,m=a(t,o,s.fullName),c=a(t,o,s.empCode),u=a(t,o,s.workEmail),d=a(t,o,s.designation),b=a(t,o,s.joiningDate),p=a(t,o,s.status),f=a(t,o,s.personalPhone),k=a(t,o,s.skills),y=a(t,o,s.password);if(!c&&!u&&!m)return;const{firstName:w,lastName:N}=A(m),g=C(b);if(!c||!w||!u||!d||!g){i.push({row:l,reason:"Missing Employee ID, name, work email, job title, or invalid joining date"});return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u)){i.push({row:l,reason:"Invalid work email"});return}n.push({empCode:c,firstName:w,lastName:N,workEmail:u,personalPhone:f?T(f):void 0,designation:d,joiningDate:g,status:p?L(p):"Active",skills:k?k.split(/[,;|]/).map(S=>S.trim()).filter(Boolean):[],password:y||void 0})}),{valid:n,invalid:i}}function x(t){return t.map(e=>({empCode:e.empCode,firstName:e.firstName,lastName:e.lastName,workEmail:e.workEmail,personalPhone:e.personalPhone,designation:e.designation,joiningDate:e.joiningDate,status:e.status,skills:e.skills,password:e.password}))}const J=`Status,Employee Name,Employee ID,Work Email,Phone Number,Job Title,Role,Joining data,Skills,password 2Active,Akash Mehra,TWS4310,[email protected],7888658632,Sr. PHP Developer,Employee,08-04-2024,,Password@123 3Active,Amritpal Singh,TWS60,[email protected],9876543210,QA Lead,Employee,15-01-2023,Manual Testing,Password@124 4`;export{P as I,J as S,M as a,R as b,$ as m,W as p,x as t};
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.