PageSourceSearch

https://rohitpatil.me/_next/static/chunks/pages/tools/resume-builder-6f846d55acfb5be0.js

js rohitpatil.me collected 2026-09-28 07:17:25 UTC 59,757 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9259],{2812:(n,e,l)=>{"use strict";l.r(e),l.d(e,{default:()=>nv});var t=l(37876),i=l(14232),a=l(89099),o=l(18480),s=l(87156),r=l(83872),c=l(21639),d=l(11023);let u=[{label:"Harvard Template",type:"HARVARD_TEMPLATE"},{label:"Two Column",type:"TWO_COLUMN_TEMPLATE"}],m=n=>{let{selectedResumeType:e,setSelectedResumeType:l}=n;return(0,t.jsx)(d.A,{dropdownButton:(0,t.jsx)(c.Ay.CarbonOutline,{iconRight:(0,t.jsx)(r.ChevronDownIcon,{size:16}),children:e.label}),children:u.map(n=>(0,t.jsx)(d.e.Item,{onClick:()=>l(n),children:n.label},n.type))})};var v=l(3153),p=l(2171),h=l(77e3),x=l(95726),g=l(86425),f=l(51100),b=l(46250);let j={fullName:"fullName",summary:"summary",email:"email",mobile:"mobile",peerlistURL:"peerlistURL",website:"website",skills:"skills"},y=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(n,e)=>{l(l=>({...l,[n]:e}))};return(0,t.jsx)(g.A.Section,{icon:(0,t.jsx)(r.UserAddIcon,{size:16}),title:"Basic",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(x.Ay,{label:"Full Name",onBlur:()=>i(),value:null==e?void 0:e[j.fullName],onChange:n=>a(j.fullName,n.target.value)}),(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)(x.Ay,{label:"Email",onBlur:()=>i(),value:null==e?void 0:e[j.email],onChange:n=>a(j.email,n.target.value)}),(0,t.jsx)(x.Ay,{label:"Contact Number",onBlur:()=>i(),value:null==e?void 0:e[j.mobile],onChange:n=>a(j.mobile,n.target.value)})]}),(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)(x.Ay,{label:"Peerlist URL",onBlur:()=>i(),value:null==e?void 0:e[j.peerlistURL],onChange:n=>a(j.peerlistURL,n.target.value)}),(0,t.jsx)(x.Ay,{label:"Website/Other URL",onBlur:()=>i(),value:null==e?void 0:e[j.website],onChange:n=>a(j.website,n.target.value)})]}),(0,t.jsx)(f.Ay,{label:"Headline",onBlur:()=>i(),value:null==e?void 0:e[j.summary],onChange:n=>a(j.summary,n.target.value)}),(0,t.jsx)(b.T,{label:"Search skills & tools",isMulti:!0,onChange:n=>(n=>{let t=n||(null==e?void 0:e.skills)||[],a={...e};a.skills=t,l(a),i(a)})(n),value:(null==e?void 0:e[j.skills])||[],onBlur:()=>i()})]})})};var w=l(16495),N=l(63819),A=l(50803),S=l(95372),C=l(19392),k=l(61028),z=l(89311),E=l(60644);let D=n=>{let{content:e,headerLabel:l,onRemove:a}=n,[o,s]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let n=setTimeout(()=>{s(!0)},1);return()=>{clearTimeout(n)}},[]),(0,t.jsx)(E.A,{isOpen:o,setIsOpen:s,btnStyle:"w-full px-4 py-2",className:"!rounded-2xl",chevronStyle:"ml-2",content:(0,t.jsx)("div",{className:"space-y-4",children:e}),header:(0,t.jsxs)("div",{className:"flex items-center justify-between w-full gap-x-4",children:[(0,t.jsx)(z.default.SemiBoldText,{xs:!0,className:"uppercase paragraph-clamp1 break-all tracking-wide",textColor:"text-gray-500",children:l}),(0,t.jsx)(c.Ay.CarbonTransparent,{circular:!0,small:!0,onClick:n=>{n.stopPropagation(),a()},className:"text-red-300","aria-label":"Remove",children:(0,t.jsx)(r.TrashIcon,{size:16})})]})})},T=(0,N.getYearsList)(100).reverse(),B={id:(0,v.A)(),company:"",jobTitle:"",location:"",startMonth:"",startYear:"",endMonth:"",endYear:"",present:!1,description:""},P=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(null==e?void 0:e.experiences)||[],o=(n,e,t)=>{var i;let o=null==a?void 0:a.map(l=>{var i,a,o,s;if((null==l?void 0:l.id)!==t)return l;let r={...l,[n]:e};if((null==r||null==(i=r.startMonth)?void 0:i.value)&&(null==r||null==(a=r.startYear)?void 0:a.value)){let n=parseInt(r.startMonth.value,10)-1,e=parseInt(r.startYear.value,10);r.startDate=new Date(e,n,2).toISOString()}if((null==r||null==(o=r.endMonth)?void 0:o.value)&&(null==r||null==(s=r.endYear)?void 0:s.value)){let n=parseInt(r.endMonth.value,10)-1,e=parseInt(r.endYear.value,10);r.endDate=new Date(e,n,2).toISOString()}return r}),s=null==(i=(0,N.calculateExperience)(o))?void 0:i.experiences;l(n=>({...n,experiences:s}))};return(0,t.jsx)(g.A.Section,{title:"Work Experience ".concat((null==a?void 0:a.length)?": ".concat(null==a?void 0:a.length):""),icon:(0,t.jsx)(r.BriefCaseIcon,{size:16}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(c.Ay.CarbonOutline,{className:"mx-auto w-full justify-center",onClick:()=>{l(n=>({...n,experiences:[{...B,id:(0,v.A)()},...a]}))},iconLeft:(0,t.jsx)(r.PlusIcon,{size:16}),children:"Add Work Experience"}),null==a?void 0:a.map((n,s)=>{var r;return(0,t.jsx)(D,{headerLabel:"".concat((null==n?void 0:n.company)||"Experience ".concat(s+1)),onRemove:()=>(n=>{e.experiences=a.filter(e=>(null==e?void 0:e.id)!==(null==n?void 0:n.id)),l(e),i(e)})(n),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)(x.Ay,{label:"Job Title",value:null==n?void 0:n.jobTitle,onBlur:()=>i(),onChange:e=>o("jobTitle",e.target.value,null==n?void 0:n.id)}),(0,t.jsx)(x.Ay,{label:"Company",value:null==n?void 0:n.company,onBlur:()=>i(),onChange:e=>o("company",e.target.value,null==n?void 0:n.id)})]}),(0,t.jsx)(x.Ay,{label:"Location",value:null==n?void 0:n.location,onBlur:()=>i(),onChange:e=>o("location",e.target.value,null==n?void 0:n.id)}),(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"From month",options:w.monthsList,onBlur:()=>i(),value:null==n?void 0:n.startMonth,onChange:e=>o("startMonth",e,null==n?void 0:n.id)})}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"From year",options:T,onBlur:()=>i(),value:null==n?void 0:n.startYear,onChange:e=>o("startYear",e,null==n?void 0:n.id)})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"To month",options:w.monthsList,value:null==n?void 0:n.endMonth,onBlur:()=>i(),disabled:null==n?void 0:n.present,onChange:e=>o("endMonth",e,null==n?void 0:n.id)})}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"To year",options:T,onBlur:()=>i(),value:null==n?void 0:n.endYear,disabled:null==n?void 0:n.present,onChange:e=>o("endYear",e,null==n?void 0:n.id)})})]}),(0,t.jsx)(A.A,{label:"I currently work here",value:null==n?void 0:n.present,onChange:()=>{var t,o;return t=null==n?void 0:n.present,o=null==n?void 0:n.id,void(e.experiences=null==a?void 0:a.map(n=>
1(null==n?void 0:n.id)===o?{...n,present:!t,endMonth:{label:"",value:""},endYear:{label:"",value:""}}:n),l(e),i(e))}})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(z.default.SemiBoldText,{sm:!0,children:"Job Description"}),(0,t.jsx)("div",{className:"border relative border-gray-200 p-3 rounded-xl",children:(0,t.jsx)(S.A,{editorType:C.Q.DESCRIPTION,characterLimit:1500,editorClassName:"min-h-16 max-h-40 overflow-y-auto job-description",placeholder:"Focus on your accomplishments and results you achieved than just duties.",onBlur:()=>i(),content:null==n||null==(r=n.description)?void 0:r.slice(0,500),focusOnContentInsert:!1,hideToolbar:!0,onChange:e=>o("description",e,null==n?void 0:n.id)})})]})]})},null==n?void 0:n.id)})]})})};var R=l(68608);let I={id:(0,v.A)(),clgName:"",degree:"",major:"",startYear:"",endYear:""},M=R.DEGREE_TYPES.map(n=>({label:n,value:n})),L=(0,N.getYearsList)(100).reverse(),Y=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(null==e?void 0:e.education)||[],o=(n,e,t)=>{let i=a.map(l=>l.id===t?{...l,[n]:e}:l);l(n=>({...n,education:i}))};return(0,t.jsx)(g.A.Section,{title:"Education ".concat((null==a?void 0:a.length)?": ".concat(null==a?void 0:a.length):""),icon:(0,t.jsx)(r.SchoolIcon,{size:16}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(c.Ay.CarbonOutline,{className:"mx-auto w-full justify-center",onClick:()=>{l(n=>({...n,education:[{...I,id:(0,v.A)()},...a]}))},iconLeft:(0,t.jsx)(r.PlusIcon,{size:16}),children:"Add Education"}),null==a?void 0:a.map((n,s)=>{let r=N.default.getEndYearOptions((null==n?void 0:n.startYear)||new Date().getFullYear());return(0,t.jsx)(D,{headerLabel:"".concat((null==n?void 0:n.clgName)||"Education ".concat(s+1)),onRemove:()=>(n=>{e.education=a.filter(e=>(null==e?void 0:e.id)!==(null==n?void 0:n.id)),l(e),i(e)})(n),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"Degree",value:null==n?void 0:n.degree,options:M,onChange:e=>o("degree",e,null==n?void 0:n.id),onBlur:()=>i()})}),(0,t.jsx)(x.Ay,{label:"Major / Field of study",value:null==n?void 0:n.major,onChange:e=>o("major",e.target.value,null==n?void 0:n.id),onBlur:()=>i()})]}),(0,t.jsx)(x.Ay,{label:"School/University Name",value:null==n?void 0:n.clgName,onChange:e=>o("clgName",e.target.value,null==n?void 0:n.id),onBlur:()=>i()}),(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"Start Year",value:null==n?void 0:n.startYear,options:L,onChange:e=>o("startYear",e,null==n?void 0:n.id),onBlur:()=>i()})}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)(k.A,{label:"End Year",value:null==n?void 0:n.endYear,options:r,onChange:e=>o("endYear",e,null==n?void 0:n.id),onBlur:()=>i()})})]})]})},null==n?void 0:n.id)})]})})},F={id:(0,v.A)(),name:"",url:"",description:""},_=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(null==e?void 0:e.projects)||[],o=(n,e,t)=>{let i=a.map(l=>l.id===t?{...l,[n]:e}:l);l(n=>({...n,projects:i}))};return(0,t.jsx)(g.A.Section,{title:"Projects ".concat((null==a?void 0:a.length)?": ".concat(null==a?void 0:a.length):""),icon:(0,t.jsx)(r.ProjectsIcon,{size:16}),children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(c.Ay.CarbonOutline,{className:"mx-auto w-full justify-center",onClick:()=>{l(n=>({...n,projects:[{...F,id:(0,v.A)()},...a]}))},iconLeft:(0,t.jsx)(r.PlusIcon,{size:16}),children:"Add Project"}),null==a?void 0:a.map((n,s)=>{var r;return(0,t.jsx)(D,{headerLabel:"".concat((null==n?void 0:n.name)||"Project ".concat(s+1)),onRemove:()=>(n=>{e.projects=a.filter(e=>(null==e?void 0:e.id)!==(null==n?void 0:n.id)),l(e),i(e)})(n),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-x-4",children:[(0,t.jsx)(x.Ay,{label:"Project Name",value:null==n?void 0:n.name,onBlur:()=>i(),onChange:e=>o("name",e.target.value,null==n?void 0:n.id)}),(0,t.jsx)(x.Ay,{label:"Project URL",value:null==n?void 0:n.url,onBlur:()=>i(),onChange:e=>o("url",e.target.value,null==n?void 0:n.id)})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(z.default.SemiBoldText,{sm:!0,children:"Project Description"}),(0,t.jsx)("div",{className:"border relative border-gray-200 p-3 rounded-xl",children:(0,t.jsx)(S.A,{hideToolbar:!0,editorType:C.Q.DESCRIPTION,characterLimit:1500,editorClassName:"min-h-16 max-h-40 overflow-y-auto job-description",placeholder:"Describe your project in a few sentences",content:null==n||null==(r=n.description)?void 0:r.slice(0,500),onBlur:()=>i(),focusOnContentInsert:!1,onChange:e=>o("description",e,null==n?void 0:n.id)})})]})]})},null==n?void 0:n.id)})]})})},U={id:(0,v.A)(),name:"",issuedBy:""},O=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(null==e?void 0:e.certifications)||[],o=(n,e,t)=>
1{let i=a.map(l=>l.id===t?{...l,[n]:e}:l);l(n=>({...n,certifications:i}))};return(0,t.jsx)(g.A.Section,{title:"Certifications ".concat((null==a?void 0:a.length)?": ".concat(null==a?void 0:a.length):""),icon:(0,t.jsx)(r.CertificateIcon,{size:16}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(c.Ay.CarbonOutline,{className:"mx-auto w-full justify-center",onClick:()=>{l(n=>({...n,certifications:[{...U,id:(0,v.A)()},...a]}))},iconLeft:(0,t.jsx)(r.PlusIcon,{size:16}),children:"Add Certification"}),null==a?void 0:a.map((n,s)=>(0,t.jsx)(D,{headerLabel:"".concat((null==n?void 0:n.name)||"Certificate ".concat(s+1)),onRemove:()=>(n=>{e.certifications=a.filter(e=>(null==e?void 0:e.id)!==(null==n?void 0:n.id)),l(e),i(e)})(n),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Ay,{label:"Certification Name",value:null==n?void 0:n.name,onChange:e=>o("name",e.target.value,null==n?void 0:n.id),onBlur:()=>i()}),(0,t.jsx)(x.Ay,{label:"Issued By",value:null==n?void 0:n.issuedBy,onChange:e=>o("issuedBy",e.target.value,null==n?void 0:n.id),onBlur:()=>i()})]})},null==n?void 0:n.id))]})})},H={id:(0,v.A)(),name:"",description:""},W=n=>{let{form:e,setForm:l,onBlur:i}=n,a=(null==e?void 0:e.awards)||[],o=(n,e,t)=>{let i=a.map(l=>l.id===t?{...l,[n]:e}:l);l(n=>({...n,awards:i}))};return(0,t.jsx)(g.A.Section,{title:"Awards ".concat((null==a?void 0:a.length)?": ".concat(null==a?void 0:a.length):""),icon:(0,t.jsx)(r.SparkIcon,{size:16}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(c.Ay.CarbonOutline,{className:"mx-auto w-full justify-center",onClick:()=>{l(n=>({...n,awards:[{...H,id:(0,v.A)()},...a]}))},iconLeft:(0,t.jsx)(r.PlusIcon,{size:16}),children:"Add Award"}),null==a?void 0:a.map((n,s)=>(0,t.jsx)(D,{headerLabel:"".concat((null==n?void 0:n.name)||"Awards ".concat(s+1)),onRemove:()=>(n=>{e.awards=a.filter(e=>(null==e?void 0:e.id)!==(null==n?void 0:n.id)),l(e),i(e)})(n),content:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Ay,{label:"Name",value:null==n?void 0:n.name,onChange:e=>o("name",e.target.value,null==n?void 0:n.id),onBlur:()=>i()}),(0,t.jsx)(f.Ay,{label:"Description",value:null==n?void 0:n.description,onBlur:()=>i(),onChange:e=>o("description",e.target.value,null==n?void 0:n.id)})]})},null==n?void 0:n.id))]})})},J={fullName:"Johnrao Doekar",summary:"Experienced designer creating intuitive experiences for businesses and helping designers to grow in their careers. Mentoring and managing design teams.",email:"[email protected]",mobile:"+1 1234567890",peerlistURL:"https://peerlist.io/username",website:"https://your-website.com",skills:[{name:"JavaScript"},{name:"ReactJS"},{name:"TypeScript"},{name:"Redux"},{name:"Java"},{name:"NodeJS"}],experiences:[{id:"02130de2-2e72-462c-9c79-2b12ae6e23c8",company:"Company",jobTitle:"Position Title I",location:"San Francisco, USA",startMonth:{value:"12",label:"Dec"},startYear:{value:2022,label:2022},endMonth:{label:"",value:""},endYear:{label:"",value:""},present:!0,description:"<ul><li><p>Beginning with your most recent position, describe your experience, skills, and resulting outcomes in bullet or paragraph form.</p></li><li><p>Begin each line with an action verb and include details that will help the reader understand your accomplishments, skills, knowledge, abilities, or achievements.</p></li><li><p>Quantify where possible.</p></li></ul>"},{id:"c27027a8-3b0d-4e09-974c-ed8f3e9f3a0c",company:"Previous Company",jobTitle:"Position Title II",location:"Singapore",startMonth:{value:"01",label:"Jan"},startYear:{value:2020,label:2020},endMonth:{value:"12",label:"Dec"},endYear:{value:2022,label:2022},present:!1,description:"<ul><li><p>Begin each line with an action verb and include details that will help the </p></li><li><p>reader understand your accomplishments, skills, knowledge, abilities, or achievements.</p><p></p></li></ul>"}],education:[{id:"e13a9ca7-85a1-4e53-9e2e-ab48ec2e462f",clgName:"University of Washington",degree:{label:"Master of Science (MS)",value:"Master of Science (MS)"},major:"Computer Science",startYear:{value:2018,label:2018},endYear:{value:2020,label:2020}}],projects:[{id:"089afa63-4f43-46f9-be5c-9d0642092166",name:"Project 1",url:"",description:"<p>Led the design process for our main product from scratch. Facilitated road map brainstorms and collaborations across product teams. Led the new Design System creation process.</p>"}],certifications:[{id:"7f6530d1-73e8-423c-851e-22dfa3c6a14b",name:"Responsive Web Design",issuedBy:"freeCodeCamp"},{id:"84bb6ea3-7f29-4590-ab57-70e2e8e3c89e",name:"Cybersecurity Certification",issuedBy:"RedHat"}],awards:[]},G=[{label:"Basic Info",value:"basic-info",icon:(0,t.jsx)(r.UserAddIcon,{size:16})},{label:"Experience",value:"work-experience",icon:(0,t.jsx)(r.BriefCaseIcon,{size:16})},{label:"Education",value:"education",icon:(0,t.jsx)(r.SchoolIcon,{size:16})},{label:"Projects",value:"projects",icon:(0,t.jsx)(r.ProjectsIcon,{size:16})},{label:"Certifications",value:"certifications",icon:(0,t.jsx)(r.CertificateIcon,{size:16})},{label:"Awards",value:"awards",icon:(0,t.jsx)(r.SparkIcon,{size:16})}],V=n=>{var e;let{updateResumeData:l}=n,a=N.default.isUserLoggedIn(),{primaryUserData:o}=(0,p.useSelector)(n=>n.PrimaryUserData),[s,r]=(0,i.useState)({}),[c,d]=(0,i.useState)(null==(e=G[0])?void 0:e.value),u=function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;l(n),localStorage.setItem(w.STORAGE_KEYS.PDF_RESUME,JSON.stringify(n||""))},m=n=>{r(n),u(n)};return(0,i.useEffect)(()=>{var n;if((null==(n=Object.values(s||{}))?void 0:n.length)||"undefined"==typeof document)return;let e=localStorage.getItem(w.STORAGE_KEYS.PDF_RESUME);if(null==e?void 0:e.length)return void m(JSON.parse(e));if(a){(null==o?void 0:o.id)&&m((n=>{var e,l,t,i,a,o,s;let r=(null==(e=(0,N.calculateExperience)(null==n?void 0:n.experience))?void 0:e.experiences)||[];return{fullName:N.default.getDisplayName(n),summary:(null==n?void 0:n.headline)||"",email:(null==n?void 0:n.email)||"",mobile:(null==n?void 0:n.mobile)||"",website:(null==n?void 0:n.website)||"",peerlistURL:w.APP_PATHS.userProfile({profileHandle:null==n?void 0:n.profileHandle,absolute:!0}),skills:(null==n?void 0:n.skills)||[],experiences:(null==r?void 0:r.length)?null==r?void 0:r.map(n=>({id:(null==n?void 0:n.id)||(0,v.A)(),company:null==n?void 0:n.company,jobTitle:null==n?void 0:n.title,location:N.default.convertLocationObjectToString((null==n?void 0:n.location)||""),startDate:null==n?void 0:n.startDate,endD
1ate:null==n?void 0:n.endDate,startMonth:(null==n?void 0:n.startDate)?w.monthsList[new Date(null==n?void 0:n.startDate).getMonth()]:{label:"",value:""},startYear:{label:(null==n?void 0:n.startDate)?new Date(null==n?void 0:n.startDate).getFullYear():"",value:(null==n?void 0:n.startDate)?new Date(null==n?void 0:n.startDate).getFullYear():""},endMonth:(null==n?void 0:n.endDate)?w.monthsList[new Date(null==n?void 0:n.endDate).getMonth()]:{label:"",value:""},endYear:{label:(null==n?void 0:n.endDate)?new Date(null==n?void 0:n.endDate).getFullYear():"",value:(null==n?void 0:n.endDate)?new Date(null==n?void 0:n.endDate).getFullYear():""},present:(null==n?void 0:n.current)||!1,description:(null==n?void 0:n.description)||""})):[],education:(null==n||null==(l=n.education)?void 0:l.length)?null==n||null==(t=n.education)?void 0:t.map(n=>({id:(null==n?void 0:n.id)||(0,v.A)(),clgName:(null==n?void 0:n.organizationName)||"",degree:{label:(null==n?void 0:n.degree)||"",value:(null==n?void 0:n.degree)||""},major:(null==n?void 0:n.major)||"",startYear:{label:new Date((null==n?void 0:n.startDate)||new Date).getFullYear(),value:new Date((null==n?void 0:n.startDate)||new Date).getFullYear()},endYear:{label:new Date((null==n?void 0:n.endDate)||new Date).getFullYear(),value:new Date((null==n?void 0:n.endDate)||new Date).getFullYear()}})):[],projects:(null==n||null==(i=n.projects)?void 0:i.length)?null==n||null==(a=n.projects)?void 0:a.map(n=>({id:(null==n?void 0:n.id)||(0,v.A)(),name:(null==n?void 0:n.title)||"",url:null==n?void 0:n.url,description:null==n?void 0:n.tagline})):[],certifications:(null==n||null==(o=n.certifications)?void 0:o.length)?null==n||null==(s=n.certifications)?void 0:s.map(n=>({id:(null==n?void 0:n.id)||(0,v.A)(),name:null==n?void 0:n.title,issuedBy:null==n?void 0:n.organizationName})):[]}})(o));return}m(J)},[null==o?void 0:o.id,a,s]),(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsx)(h.K,{navTabs:G,currentActiveTab:c,onClick:n=>d(n.value)}),(()=>{switch(c){case"basic-info":return(0,t.jsx)(y,{form:s,setForm:r,onBlur:u});case"work-experience":return(0,t.jsx)(P,{form:s,setForm:r,onBlur:u});case"education":return(0,t.jsx)(Y,{form:s,setForm:r,onBlur:u});case"projects":return(0,t.jsx)(_,{form:s,setForm:r,onBlur:u});case"certifications":return(0,t.jsx)(O,{form:s,setForm:r,onBlur:u});case"awards":return(0,t.jsx)(W,{form:s,setForm:r,onBlur:u});default:return null}})()]})},X=n=>n?n.replace(/^(https?:\/\/)?(www\.)?/i,""):"",q=n=>n?n.replace(/^(https?:\/\/)?(www\.)?/i,""):"",K=n=>{let{frameId:e,resumeData:l,templateType:i,width:a="100%",height:o="100%",className:s="h-[calc(100vh-142px)]"}=n;return(0,t.jsx)("div",{children:(0,t.jsx)("iframe",{id:e,srcDoc:"TWO_COLUMN_TEMPLATE"===i?(n=>{var e,l,t,i,a,o,s,r,c,d,u,m;return'<!DOCTYPE html>\n<html lang="en">\n<head>\n    <meta charset="UTF-8">\n    <meta name="viewport" content="width=device-width, initial-scale=1.0">\n    <title>'.concat((null==n?void 0:n.fullName)||"User",' - Resume</title>\n    <style>\n        /* Reset and Base Styles */\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n                    html {\n              scrollbar-width: none; \n    -ms-overflow-style: none;  /* Internet Explorer 10+ */\n    overflow: -moz-scrollbars-none;\n            }\n\n             html::-webkit-scrollbar {\n    display: none;            \n}\n\n        body {\n            font-family: -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif;\n            line-height: 1.5;\n            color: #333;\n            zoom: 0.7;\n        }\n\n        a {\n            color: #666;\n            text-decoration: underline;\n        }\n\n        /* Print Styles for A4 Portrait */\n        @media print {\n            body {\n                background-color: white;\n                padding: 0;\n                margin: 0;\n                font-size: 14px;\n                line-height: 1.4;\n                 zoom: 1;\n            }\n                 \n\n            .resume-container {\n                max-width: none;\n                width: 100%;\n                margin: 0;\n                padding: 15mm;\n                box-shadow: none;\n                border-radius: 0;\n            }\n\n            .main-grid {\n                gap: 25px;\n            }\n\n            .section {\n                margin-bottom: 20px;\n                break-inside: avoid-column;\n            }\n\n            .experience-item,\n            .project-item,\n            .education-item {\n                margin-bottom: 12px;\n                break-inside: avoid;\n            }\n\n            .header {\n                margin-bottom: 20px;\n                break-after: avoid;\n            }\n\n            .header h1 {\n                font-size: 28px;\n            }\n\n            .section-title {\n                font-size: 16px;\n                margin-bottom: 12px;\n                break-after: avoid;\n            }\n\n            .job-title,\n            .project-title,\n            .education-title {\n                font-size: 15px;\n            }\n\n            .company-name,\n            .date-range,\n            .skills-list div,\n            .award-title,\n            .cert-title {\n                font-size: 13px;\n            }\n\n            .job-description,\n            .project-description {\n                font-size: 13px;\n            }\n\n            .contact-info {\n                font-size: 13px;\n            }\n\n            .professional-summary {\n                font-size: 13px;\n            }\n\n            .job-header,\n            .education-header {\n                break-after: avoid;\n            }\n\n            /* Hide elements that shouldn\'t print */\n            .no-print {\n                display: none;\n            }\n        }\n\n        @page {\n            size: A4 portrait;\n            margin: 5mm;\n        }\n\n        /* Container Styles */\n        .resume-container {\n            margin: 0 auto;\n            background-color: white;\n            padding: 40px;\n            border-radius: 8px;\n        }\n\n        /* Header Styles */\n        .header {\n            text-align: left;\n            margin-bottom: 40px;\n        }\n\n        .header h1 {\n            font-size: 32px;\n            font-weight: 700;\n            margin-bottom: 12px;\n            color: #1a1a1a;\n        }\n\n        .contact-info {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 20px;\n            margin-bottom: 8px;\n            font-size: 14px;\n            color: #666;\n        }\n\n        .contact-link {\n            color: #666;\n            text-decoration: none;\n        }\n\n        .contact-link:hover {\n            color: #333;\n        }\n\n        .professional-summary {\n            margin-top: 16px;\n            font-size: 14px;\n            color: #555;\n            line-height: 1.6;\n        }\n\n        /* Grid Layout */\n        .main-grid {\n            display: grid;\n            grid-template-columns: 2fr 1fr;\n            gap: 40px;\n        }\n\n        /* Section Styles */\n        .section {\n            margin-bottom: 40px;\n        }\n\n        .section-title {\n            font-size: 16px;\n            font-weight: 600;\n            color: #888;\n            text-transform: uppercase;\n            letter-spacing: 1px;\n            margin-bottom: 20px;\n        }\n\n        /* Experience Styles */\n        .experience-item {\n            margin-bottom: 24px;\n        }\n\n        .job-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: baseline;\n            margin-bottom: 8px;\n        }\n\n        .job-title {\n            font-size: 16px;\n            font-weight: 600;\n            color: #1a1a1a;\n        }\n\n        .date-range {\n            font-size: 14px;\n            color: #666;\n            white-space: nowrap;\n        }\n\n        .company-name {\n            font-size: 14px;\n            color: #666;\n            margin-bottom: 8px;\n            font-style: italic;\n        }\n\n        .job-description {\n            margin: 0;\n            padding-left: 18px;\n            font-size: 14px;\n            color: #555;\n        }
1\n\n        .job-description li {\n            margin-bottom: 6px;\n        }\n\n        /* Project Styles */\n        .project-item {\n            margin-bottom: 20px;\n        }\n\n        .project-title {\n            font-size: 16px;\n            font-weight: 600;\n            color: #1a1a1a;\n        }\n\n        .project-description {\n            margin: 0;\n            font-size: 14px;\n            color: #555;\n        }\n\n        .project-description ul, .project-description ol {\n            padding-left: 18px;\n        }\n\n        .project-description li {\n            margin-bottom: 6px;\n        }\n\n        /* Education Styles */\n        .education-item {\n            margin-bottom: 20px;\n        }\n\n        .education-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: baseline;\n            margin-bottom: 4px;\n        }\n\n        .education-title {\n            font-size: 16px;\n            font-weight: 600;\n            color: #1a1a1a;\n        }\n\n        .university-name {\n            font-size: 14px;\n            color: #666;\n        }\n\n        /* Skills Styles */\n        .skills-list {\n            font-size: 14px;\n            color: #555;\n            line-height: 1.8;\n        }\n\n        .skills-list div {\n            margin-bottom: 8px;\n        }\n\n        /* Awards and Certifications Styles */\n        .award-item,\n        .cert-item {\n            margin-bottom: 16px;\n        }\n\n        .award-title,\n        .cert-title {\n            font-size: 14px;\n            font-weight: 600;\n            margin-bottom: 4px;\n            color: #1a1a1a;\n        }\n\n        .award-org,\n        .cert-org {\n            font-size: 13px;\n            color: #666;\n        }\n\n    </style>\n</head>\n<body>\n    <div class="resume-container">\n        \x3c!-- Header Section --\x3e\n        <header class="header">\n            <h1>').concat((null==n?void 0:n.fullName)||"User",'</h1>\n            \n            <div class="contact-info">\n            ').concat((null==n?void 0:n.email)?'<a href="mailto:'.concat(null==n?void 0:n.email,'" class="contact-link">').concat(null==n?void 0:n.email,"</a>"):"","\n                ").concat((null==n?void 0:n.mobile)?"<span>".concat(null==n?void 0:n.mobile,"</span>"):"","\n                ").concat((null==n?void 0:n.peerlistURL)?'<a href="'.concat(null==n?void 0:n.peerlistURL,'" class="contact-link">').concat(X(null==n?void 0:n.peerlistURL),"</a>"):"","\n                ").concat((null==n?void 0:n.website)?'<a href="'.concat(null==n?void 0:n.website,'" class="contact-link">').concat(X(null==n?void 0:n.website),"</a>"):"","\n            </div>\n            ").concat((null==n?void 0:n.summary)?' <p class="professional-summary">\n                '.concat(null==n?void 0:n.summary,"\n            </p>"):"",'\n           \n        </header>\n\n        <div class="main-grid">\n            \x3c!-- Left Column --\x3e\n            <div class="left-column">\n                \x3c!-- Work Experience --\x3e\n                ').concat((null==n||null==(e=n.experiences)?void 0:e.length)?'\n                <section class="section">\n                    <h2 class="section-title">Work Experience</h2>\n                    \n                    '.concat(null==n||null==(l=n.experiences)?void 0:l.map(n=>{var e,l,t,i;return'\n                    <div class="experience-item">\n                        <div class="job-header">\n                            <h3 class="job-title">'.concat((null==n?void 0:n.jobTitle)||"",'</h3>\n                            <span class="date-range">').concat((null==n||null==(e=n.startMonth)?void 0:e.label)||""," ").concat((null==n||null==(l=n.startYear)?void 0:l.value)||""," - ").concat((null==n?void 0:n.present)?"Present":"".concat((null==n||null==(t=n.endMonth)?void 0:t.label)||""," ").concat((null==n||null==(i=n.endYear)?void 0:i.value)||""),'</span>\n                        </div>\n                        <p class="company-name">').concat((null==n?void 0:n.company)||""," ").concat((null==n?void 0:n.location)?"• ".concat(null==n?void 0:n.location):"","</p>\n                        ").concat((null==n?void 0:n.description)?'\n                        <div class="job-description">\n                            '.concat(null==n?void 0:n.description,"\n                        </div>\n                        "):"","\n                    </div>\n                    ")}).join(""),"\n                </section>\n                "):"","\n\n                \x3c!-- Projects --\x3e\n                ").concat((null==n||null==(t=n.projects)?void 0:t.length)?'\n                <section class="section">\n                    <h2 class="section-title">Projects</h2>\n                    \n                    '.concat(null==n||null==(i=n.projects)?void 0:i.map(n=>'\n                    <div class="project-item">\n                        <div class="job-header">\n                            <h3 class="project-title">'.concat((null==n?void 0:n.name)||"","</h3>\n                            ").concat((null==n?void 0:n.url)?'\n                            <a href="'.concat(null==n?void 0:n.url,'" class="contact-link date-range" target="_blank" rel="noopener noreferrer">\n                                Visit ↗\n                            </a>\n                            '):"","\n                        </div>\n                        ").concat((null==n?void 0:n.description)?'\n                        <div class="project-description">\n                            '.concat(null==n?void 0:n.description,"\n                        </div>\n                        "):"","\n                    </div>\n                    ")).join(""),"\n                </section>
1\n                "):"","\n\n                \x3c!-- Education --\x3e\n                ").concat((null==n||null==(a=n.education)?void 0:a.length)?'\n                <section class="section">\n                    <h2 class="section-title">Education</h2>\n                    \n                    '.concat(null==n||null==(o=n.education)?void 0:o.map(n=>{var e,l,t;return'\n                    <div class="education-item">\n                        <div class="education-header">\n                            <h3 class="education-title">'.concat((null==n||null==(e=n.degree)?void 0:e.label)||""," ").concat((null==n?void 0:n.major)?"in ".concat(null==n?void 0:n.major):"",'</h3>\n                            <span class="date-range">').concat((null==n||null==(l=n.startYear)?void 0:l.value)||""," - ").concat((null==n||null==(t=n.endYear)?void 0:t.value)||"",'</span>\n                        </div>\n                        <p class="university-name">').concat((null==n?void 0:n.clgName)||"","</p>\n                    </div>\n                    ")}).join(""),"\n                </section>\n                "):"",'\n            </div>\n\n            \x3c!-- Right Column --\x3e\n            <div class="right-column">\n                \x3c!-- Skills --\x3e\n                ').concat((null==n||null==(s=n.skills)?void 0:s.length)?'\n                <section class="section">\n                    <h2 class="section-title">Skills</h2>\n                    \n                    <div class="skills-list">\n                        '.concat(null==n||null==(r=n.skills)?void 0:r.map(n=>"\n                            <div>".concat((null==n?void 0:n.label)||(null==n?void 0:n.name)||(null==n?void 0:n.value)||"","</div>\n                        ")).join(""),"\n                    </div>\n                </section>\n                "):"","\n\n                \x3c!-- Certifications --\x3e\n                ").concat((null==n||null==(c=n.certifications)?void 0:c.length)?'\n                <section class="section">\n                    <h2 class="section-title">Certifications</h2>\n                    \n                    '.concat(null==n||null==(d=n.certifications)?void 0:d.map(n=>'\n                    <div class="cert-item">\n                        <h3 class="cert-title">'.concat((null==n?void 0:n.name)||"","</h3>\n                        ").concat((null==n?void 0:n.issuedBy)?'<p class="cert-org">'.concat(null==n?void 0:n.issuedBy,"</p>"):"","\n                    </div>\n                    ")).join(""),"\n                </section>\n                "):"","\n\n                \x3c!-- Awards --\x3e\n                ").concat((null==n||null==(u=n.awards)?void 0:u.length)?'\n                <section class="section">\n                    <h2 class="section-title">Awards</h2>\n                    \n                    '.concat(null==n||null==(m=n.awards)?void 0:m.map(n=>'\n                    <div class="award-item">\n                        <h3 class="award-title">'.concat((null==n?void 0:n.name)||"","</h3>\n                        ").concat((null==n?void 0:n.description)?'<p class="award-org">'.concat(null==n?void 0:n.description,"</p>"):"","\n                    </div>\n                    ")).join(""),"\n                </section>\n                "):"","\n\n            </div>\n        </div>\n    </div>\n</body>\n</html>")})(l):(n=>{var e,l,t,i,a,o,s,r,c,d,u,m;return'<!DOCTYPE html>\n<html lang="en">\n<head>\n    <meta charset="UTF-8">\n    <meta name="viewport" content="width=device-width, initial-scale=1.0">\n    <title>'.concat((null==n?void 0:n.fullName)||"User",' - Resume</title>\n    <link href="https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap" rel="stylesheet">\n    <style>\n        /* Reset and Base Styles */\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n            html {\n              scrollbar-width: none; \n    -ms-overflow-style: none;  /* Internet Explorer 10+ */\n    overflow: -moz-scrollbars-none;\n            }\n\n             html::-webkit-scrollbar {\n    display: none;            \n}\n\n        body {\n            font-family: \'Crimson Text\', serif;\n            line-height: 1.6;\n            color: #333;\n            padding: 24px;\n            zoom: 0.7;\n        }\n\n        a {\n            color: #2c3e50;\n            text-decoration: underline;\n        }\n\n        /* Print Styles for A4 Portrait */\n        @media print {\n            body {\n                background-color: white;\n                padding: 0;\n                margin: 0;\n                font-size: 11pt;\n                line-height: 1.4;\n                zoom: 1;\n            }\n\n            .resume-container {\n                max-width: none;\n                width: 100%;\n                margin: 0;\n                padding: 5mm;\n                box-shadow: none;\n                border-radius: 0;\n            }\n\n            .section {\n                margin-bottom: 16pt;
1\n                break-inside: avoid-column;\n            }\n\n            .experience-item,\n            .education-item,\n            .activity-item {\n                margin-bottom: 10pt;\n                break-inside: avoid;\n            }\n\n            .header {\n                margin-bottom: 20pt;\n                break-after: avoid;\n            }\n\n            .header-name {\n                font-size: 18pt;\n                margin-bottom: 6pt;\n            }\n\n            .section-title {\n                font-size: 12pt;\n                margin-bottom: 8pt;\n                break-after: avoid;\n            }\n\n            .position-title,\n            .degree-title {\n                font-size: 11pt;\n            }\n\n            .organization-name,\n            .date-range,\n            .location {\n                font-size: 10pt;\n            }\n\n            .contact-info {\n                font-size: 10pt;\n            }\n\n            .description li {\n                font-size: 10pt;\n                margin-bottom: 2pt;\n            }\n\n            .section-divider {\n                border-top: 0.5pt solid #000;\n                margin: 8pt 0 6pt 0;\n            }\n\n            /* Hide elements that shouldn\'t print */\n            .no-print {\n                display: none;\n            }\n        }\n\n        @page {\n            size: A4 portrait;\n            margin: 15mm;\n        }\n\n        /* Container Styles */\n        .resume-container {\n            margin: 0 auto;\n            background-color: white;\n            padding: 0px;\n        }\n\n        /* Header Styles */\n        .header {\n            text-align: center;\n            margin-bottom: 40px;\n            padding-bottom: 25px;\n            border-bottom: 2px solid #2c3e50;\n        }\n\n        .header-name {\n            font-size: 32px;\n            font-weight: 700;\n            margin-bottom: 12px;\n            color: #2c3e50;\n            letter-spacing: 2px;\n            text-transform: uppercase;\n        }\n\n        .contact-info {\n            font-size: 14px;\n            color: #555;\n            font-weight: 400;\n        }\n\n        .contact-info span {\n            margin: 0 8px;\n        }\n\n        .contact-info span:first-child {\n            margin-left: 0;\n        }\n\n        .contact-info span:last-child {\n            margin-right: 0;\n        }\n\n        .contact-divider {\n            color: #888;\n            font-weight: 300;\n        }\n\n        /* Section Styles */\n        .section {\n            margin-bottom: 35px;\n        }\n\n        .section-title {\n            font-size: 16px;\n            font-weight: 700;\n            color: #2c3e50;\n            text-transform: uppercase;\n            letter-spacing: 1.5px;\n            margin-bottom: 12px;\n        }\n\n        .section-divider {\n            border-top: 1px solid #2c3e50;\n            margin: 0 0 20px 0;\n        }\n\n        /* Experience and Education Styles */\n        .experience-item,\n        .education-item,\n        .activity-item {\n            margin-bottom: 24px;\n        }\n\n        .job-header,\n        .education-header,\n        .activity-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: baseline;\n            margin-bottom: 4px;\n        }\n\n        .position-title,\n        .degree-title,\n        .activity-title {\n            font-size: 15px;\n            font-weight: 700;\n            color: #2c3e50;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .activity-title-project {\n            font-size: 15px;\n            font-weight: 700;\n            color: #2c3e50;\n            letter-spacing: 0.5px;\n        }\n\n        .date-range {\n            font-size: 13px;\n            color: #666;\n            font-style: italic;\n            white-space: nowrap;\n            font-weight: 400;\n        }\n\n        .organization-info {\n            display: flex;\n            justify-content: space-between;\n            align-items: baseline;\n            margin-bottom: 8px;\n        }\n\n        .organization-name {\n            font-size: 13px;\n            color: #555;\n            font-weight: 400;\n        }\n\n        .location {\n            font-size: 13px;\n            color: #666;\n            font-style: italic;\n        }\n\n        .university-info {\n            margin-bottom: 6px;\n        }\n\n        .university-details {\n            font-size: 13px;\n            color: #555;\n            margin-bottom: 2px;\n        }\n\n        .description {\n            margin: 0;\n            padding: 0;\n        }\n\n        .description ul, \n        .description ol {\n            margin-left: 20px;\n        }
1\n\n        .description li {\n            font-size: 13px;\n            color: #444;\n            margin-bottom: 4px;\n            list-style-type: disc;\n            line-height: 1.5;\n        }\n\n        /* Skills Section */\n        .skills-section {\n            margin-bottom: 20px;\n        }\n\n        .skills-category {\n            margin-bottom: 10px;\n            display: flex;\n            align-items: baseline;\n        }\n\n        .skills-category-title {\n            font-weight: 700;\n            font-size: 13px;\n            color: #2c3e50;\n            min-width: 80px;\n            margin-right: 8px;\n        }\n\n        .skills-list {\n            font-size: 13px;\n            color: #555;\n            flex: 1;\n        }\n    </style>\n</head>\n<body>\n    <div class="resume-container">\n        \x3c!-- Header Section --\x3e\n        <header class="header">\n            <h1 class="header-name">').concat((null==n?void 0:n.fullName)||"User",'</h1>\n            <div class="contact-info">\n                ').concat((null==n?void 0:n.email)?"<span>".concat(null==n?void 0:n.email,"</span>"):"","\n                ").concat((null==n?void 0:n.mobile)?'<span class="contact-divider">|</span><span>'.concat(null==n?void 0:n.mobile,"</span>"):"","\n                ").concat((null==n?void 0:n.peerlistURL)?'<span class="contact-divider">|</span><span>'.concat(q(null==n?void 0:n.peerlistURL),"</span>"):"","\n                ").concat((null==n?void 0:n.website)?'<span class="contact-divider">|</span><span>'.concat(q(null==n?void 0:n.website),"</span>"):"","\n            </div>\n        </header>\n\n        \x3c!-- Education Section --\x3e\n        ").concat((null==n||null==(e=n.education)?void 0:e.length)?'\n        <section class="section">\n            <h2 class="section-title">Education</h2>\n            <div class="section-divider"></div>\n            \n            '.concat(null==n||null==(l=n.education)?void 0:l.map(n=>{var e,l,t;return'\n            <div class="education-item">\n                <div class="education-header">\n                    <h3 class="degree-title">'.concat((null==n?void 0:n.clgName)||"",'</h3>\n                    <span class="location">').concat((null==n?void 0:n.location)||"",'</span>\n                </div>\n                <div class="university-info">\n                    <div class="organization-info">\n                        <p class="university-details">').concat((null==n||null==(e=n.degree)?void 0:e.label)||""," ").concat((null==n?void 0:n.major)?"in ".concat(null==n?void 0:n.major):"",'</p>\n                        <span class="date-range">').concat((null==n||null==(l=n.startYear)?void 0:l.value)||""," - ").concat((null==n||null==(t=n.endYear)?void 0:t.value)||"","</span>\n                    </div>\n                </div>\n            </div>\n            ")}).join(""),"\n        </section>\n        "):"","\n\n        \x3c!-- Experience Section --\x3e\n        ").concat((null==n||null==(t=n.experiences)?void 0:t.length)?'\n        <section class="section">\n            <h2 class="section-title">Experience</h2>\n            <div class="section-divider"></div>\n            \n            '.concat(null==n||null==(i=n.experiences)?void 0:i.map(n=>{var e,l,t,i;return'\n            <div class="experience-item">\n                <div class="job-header">\n                    <h3 class="position-title">'.concat((null==n?void 0:n.company)||"",'</h3>\n                    <span class="location">').concat((null==n?void 0:n.location)||"",'</span>\n                </div>\n                <div class="organization-info">\n                    <p class="organization-name">').concat((null==n?void 0:n.jobTitle)||"",'</p>\n                    <span class="date-range">').concat((null==n||null==(e=n.startMonth)?void 0:e.label)||""," ").concat((null==n||null==(l=n.startYear)?void 0:l.value)||""," - ").concat((null==n?void 0:n.present)?"Present":"".concat((null==n||null==(t=n.endMonth)?void 0:t.label)||""," ").concat((null==n||null==(i=n.endYear)?void 0:i.value)||""),"</span>\n                </div>\n                ").concat((null==n?void 0:n.description)?'\n                <div class="description">\n                    '.concat(null==n?void 0:n.description,"\n                </div>\n                "):"","\n            </div>\n            ")}).join(""),"\n        </section>\n        "):"","\n\n        \x3c!-- Projects Section --\x3e\n        ").concat((null==n||null==(a=n.projects)?void 0:a.length)?'\n        <section class="section">\n            <h2 class="section-title">Projects</h2>\n            <div class="section-divider"></div>\n            \n            '.concat(null==n||null==(o=n.projects)?void 0:o.map(n=>'\n            <div class="activity-item">\n                <div class="activity-header">\n                    <h3 class="activity-title-project">'.concat((null==n?void 0:n.name)||"","</h3>\n                    ").concat((null==n?void 0:n.url)?'\n                    <sp
1an class="location">\n                        <a href="'.concat(null==n?void 0:n.url,'" target="_blank" rel="noopener noreferrer">Visit</a>\n                    </span>\n                    '):"","\n                </div>\n                ").concat((null==n?void 0:n.description)?'\n                <div class="description">\n                    '.concat(null==n?void 0:n.description,"\n                </div>\n                "):"","\n            </div>\n            ")).join(""),"\n        </section>\n        "):"","\n\n        \x3c!-- Skills Section --\x3e\n        ").concat((null==n||null==(s=n.skills)?void 0:s.length)?'\n        <section class="section">\n            <h2 class="section-title">Skills</h2>\n            <div class="section-divider"></div>\n            \n            <div class="skills-section">\n                <div class="skills-category">\n                    <span class="skills-list">\n                        '.concat(null==n||null==(r=n.skills)?void 0:r.map(n=>(null==n?void 0:n.label)||(null==n?void 0:n.name)||(null==n?void 0:n.value)||"").join(" • "),"\n                    </span>\n                </div>\n            </div>\n        </section>\n        "):"","\n\n        \x3c!-- Certifications Section --\x3e\n        ").concat((null==n||null==(c=n.certifications)?void 0:c.length)?'\n        <section class="section">\n            <h2 class="section-title">Certifications</h2>\n            <div class="section-divider"></div>\n            \n            '.concat(null==n||null==(d=n.certifications)?void 0:d.map(n=>'\n            <div class="activity-item">\n                <div class="activity-header">\n                    <h3 class="activity-title">'.concat((null==n?void 0:n.name)||"","</h3>\n                </div>\n                ").concat((null==n?void 0:n.issuedBy)?'\n                <div class="organization-info">\n                    <p class="organization-name">'.concat(null==n?void 0:n.issuedBy,"</p>\n                </div>\n                "):"","\n            </div>\n            ")).join(""),"\n        </section>\n        "):"","\n\n        \x3c!-- Awards Section --\x3e\n        ").concat((null==n||null==(u=n.awards)?void 0:u.length)?'\n        <section class="section">\n            <h2 class="section-title">Awards</h2>\n            <div class="section-divider"></div>\n            \n            '.concat(null==n||null==(m=n.awards)?void 0:m.map(n=>'\n            <div class="activity-item">\n                <div class="activity-header">\n                    <h3 class="activity-title">'.concat((null==n?void 0:n.name)||"","</h3>\n                </div>\n                ").concat((null==n?void 0:n.description)?'\n                <div class="organization-info">\n                    <p class="organization-name">'.concat(null==n?void 0:n.description,"</p>\n                </div>\n                "):"","\n            </div>\n            ")).join(""),"\n        </section>\n        "):"","\n    </div>\n</body>\n</html>")})(l),width:a,height:o,className:"border max-h-[720px] ".concat(s),title:(null==l?void 0:l.fullName)||"Resume"})})},Q={short:["dev","code","tech","design","web","js","py","ui","ai"],numbers:["1","2","7","9","21","42","99","39","49","59","20","30","37","29","03","36","53"],prefixes:["x","i","e","v","z"]},Z={MIN_LENGTH:5,MAX_LENGTH:15},$=n=>n[Math.floor(Math.random()*n.length)],nn=n=>n.length>=Z.MIN_LENGTH&&n.length<=Z.MAX_LENGTH;var ne=l(38243),nl=l(8712),nt=l(93988);let ni=n=>{let{showModal:e,frameId:l,setShowModal:a,resumeData:o}=n,[s,r]=(0,i.useState)(!1),c=(0,i.useMemo)(()=>Math.floor(91*Math.random())+10,[]),d=(0,i.useMemo)(()=>(function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;try{let l=function(n){if(!(null==n?void 0:n.includes("@")))throw Error("Valid email required");let[e,l]=n.toLowerCase().split("@"),t=e.replace(/[^a-z0-9]/g,"");return{full:t,domain:l.split(".")[0],segments:e.split(/[._-]/).map(n=>n.replace(/[^a-z0-9]/g,"")).filter(n=>n.length>0),numbers:(e.match(/\d+/g)||[]).join(""),first:t.slice(0,Math.min(8,t.length)),last:t.slice(-Math.min(6,t.length))}}(n),t=function(n){let e=[];
1if(nn(n.full)&&e.push(n.full),n.segments.forEach(n=>{nn(n)&&e.push(n)}),n.segments.length>1)for(let l=0;l<n.segments.length-1;l+=1){let t="".concat(n.segments[l],"_").concat(n.segments[l+1]);nn(t)&&e.push(t)}if(n.numbers){let l=n.first+n.numbers;nn(l)&&e.push(l);let t="".concat(n.first,"_").concat(n.numbers);nn(t)&&e.push(t)}if(n.domain&&!["gmail","yahoo","hotmail","outlook"].includes(n.domain)){nn(n.domain)&&e.push(n.domain);let l="".concat(n.first,"_").concat(n.domain.slice(0,4));nn(l)&&e.push(l)}return[...new Set(e)]}(l),i=function(n,e,l){let t=[],i=l-e;return i<=0?t:([n.first,n.full.slice(0,8)].filter(n=>n.length>=2).forEach(n=>{Q.short.slice(0,i).forEach(e=>{let l="".concat(n,"_").concat(e);nn(l)&&t.push(l)}),t.length<i&&Q.prefixes.slice(0,2).forEach(e=>{let l="".concat(e,"_").concat(n);nn(l)&&t.push(l)})}),t.length<i&&n.first.length>=3&&Q.numbers.slice(0,i-t.length).forEach(e=>{let l="".concat(n.first,"_").concat(e);nn(l)&&t.push(l)}),t.slice(0,i))}(l,t.length,e);return[...t,...i].slice(0,e)}catch(n){return["user_".concat($(Q.numbers)),"dev_".concat($(Q.numbers))]}})(null==o?void 0:o.email,1));return(0,i.useEffect)(()=>{let n=setTimeout(()=>{(0,N.downloadPDFWindow)(l),r(!0)},2500);return()=>clearTimeout(n)},[]),(0,t.jsx)(ne.Ay,{showModal:e,setShowModal:a,children:(0,t.jsxs)("div",{className:"flex flex-col px-6 py-6 gap-6",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)(na,{isDownloadResume:s}),(0,t.jsx)("div",{className:"flex flex-col items-center pb-6 gap-1 border-b",children:(0,t.jsx)(z.default.MutedText,{xs:!0,children:s?(0,t.jsx)(t.Fragment,{children:"Your resume is ready!"}):(0,t.jsx)(t.Fragment,{children:"Your resume is getting ready... "})})})]}),(0,t.jsxs)("div",{className:"flex items-center flex-col gap-2",children:[(0,t.jsxs)(z.default.NormalText,{xxl:!0,className:"font-instrument text-center",children:["We found ",c,"+ jobs matching your resume!"]}),(0,t.jsx)(z.default.NormalText,{sm:!0,textColor:"text-gray-700",className:"text-center",children:"Find and apply to exciting job opportunities from fast-growing, early-stage startups to the unicorns you know & love."})]}),(0,t.jsx)("div",{className:"px-4",children:(0,t.jsx)(nl.A,{preSetUsernameState:{value:d[0],autoCheck:!0},small:!0,message:"Check if your favorite username is available!"})})]})})},na=n=>{let{isDownloadResume:e=!1}=n;return(0,t.jsx)("div",{className:"flex flex-col",children:(0,t.jsx)("div",{className:"relative flex justify-center rounded-full",children:(0,t.jsxs)("div",{className:"relative w-20 h-20 rounded-full flex items-center justify-center",children:[e?null:(0,t.jsx)("div",{className:"absolute w-20 h-20 p-0.5 rounded-full",style:{background:"conic-gradient(from 0deg, #E2F5EA 0%, #00AA45 50%, #E2F5EA 100%)",animation:"spin 2000ms linear infinite"},children:(0,t.jsx)("div",{className:"w-full h-full bg-gray-00 rounded-full"})}),(0,t.jsx)("div",{className:"relative z-10 flex items-center justify-center",children:(0,t.jsx)(nt.A,{src:w.CDNImage.emptyResumeImage,className:"w-16 h-16"})})]})})})};var no=l(57994);let ns=n=>{let{resumeData:e}=n,[l,a]=(0,i.useState)(!1),[o,d]=(0,i.useState)(!1),[v,p]=(0,i.useState)(u[0]),{isLoggedIn:h}=(0,s.A)(),{RESUME_PREVIEW_CONTAINER_ID:x}=w.RESUME_BULDER;return(0,t.jsxs)("div",{children:[(0,t.jsx)(c.Ay.CarbonOutline,{onClick:()=>a(!0),children:"Preview"}),l?(0,t.jsxs)(ne.Ay,{medium:!0,title:"Resume Preview",showModal:l,setShowModal:a,children:[(0,t.jsx)(ne.Ep.Body,{className:"space-y-4",children:(0,t.jsx)(K,{frameId:x,resumeData:e,height:500,className:"auto",templateType:v.type})}),(0,t.jsxs)(ne.Ep.Footer,{className:"flex justify-between",children:[(0,t.jsx)(m,{selectedResumeType:v,setSelectedResumeType:p}),(0,t.jsx)(c.Ay.Carbon,{onClick:()=>{h?(0,N.downloadPDFWindow)(x):d(!0)},iconLeft:(0,t.jsx)(r.DownloadIcon,{size:16}),children:"Download PDF"})]})]}):null,o?(0,t.jsx)(ni,{frameId:x,showModal:o,setShowModal:d}):null]})},nr=n=>{let{setResumeData:e,resumeData:l}=n,[a,o]=(0,i.useState)(u[0]),d=w.RESUME_BULDER.FULL_PAGE_RESUME_PREVIEW_ID,[v,p]=(0,i.useState)(!1),{isLoggedIn:h}=(0,s.A)();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(no.A.CenterTop,{internalPage:!0,children:[(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)(no.A.BackButton,{}),(0,t.jsx)(no.A.PageHeading,{children:"Peerlist Resume Builder"})]}),(0,t.jsx)("div",{className:"block md:hidden",children:(0,t.jsx)(ns,{resumeData:l})})]}),(0,t.jsxs)("div",{className:"mt-14 p-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-x-10",children:[(0,t.jsx)("div",{className:"w-full md:max-w-96 space-y-10 mb-20",children:(0,t.jsx)(V,{updateResumeData:n=>
1{e(e=>({...e,...n}))}})}),(0,t.jsxs)("div",{className:"w-full space-y-10 sticky top-18 hidden md:block",children:[(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)(m,{selectedResumeType:a,setSelectedResumeType:o}),(0,t.jsx)(c.Ay.Carbon,{onClick:()=>void(h?(0,N.downloadPDFWindow)(d):p(!0)),iconLeft:(0,t.jsx)(r.DownloadIcon,{size:16}),children:"Download PDF"})]}),(0,t.jsx)(K,{frameId:d,resumeData:l,templateType:a.type})]})]}),v?(0,t.jsx)(ni,{frameId:d,showModal:v,setShowModal:p,resumeData:l}):null]})]})};var nc=l(58385),nd=l(20328),nu=l(68827);let nm=()=>{let n=(0,p.useDispatch)(),[e,l]=(0,i.useState)(""),[o,s]=(0,i.useState)(null),d=(0,a.useRouter)();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(no.A.CenterTop,{internalPage:!0,children:(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsx)(no.A.BackButton,{}),(0,t.jsx)(no.A.PageHeading,{children:"Peerlist Resume Builder"})]})}),(0,t.jsx)("div",{className:"w-full h-full flex flex-col items-center justify-center gap-8",children:(0,t.jsxs)("div",{className:"px-4 md:px-0 md:max-w-[420px] flex flex-col gap-8",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)(z.default.NormalText,{xxxxl:!0,className:"font-instrument",children:"Resume Builder"}),(0,t.jsx)(z.default.NormalText,{textColor:"text-gray-700",className:"md:px-8 text-center",children:"Create an ATS-friendly resume that stands out and hopefully get you noticed by top companies."})]}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 w-full justify-center",children:[(0,t.jsxs)("form",{onSubmit:t=>{if(t.preventDefault(),!(null==e?void 0:e.length))return void l(null);(0,N.isValidPeerlistUrl)(e)?n(nd.commonAppDataAction.setShowLoginModal({showLoginModal:!0})):s(nu.A.USER_PROFILE.inValidPeerlistURL)},className:"flex items-center py-2 pl-4 pr-2 justify-between bg-gray-00  dark:bg-gray-100 dark:hover:bg-gray-200 rounded-2xl border border-primaryBorder transition-all  duration-300  hover:border-gray-300 focus-within:border-gray-300 gap-2",children:[(0,t.jsx)("input",{className:"outline-none font-normal text-base placeholder:text-base w-full placeholder:text-gray-300 placeholder:font-normal text-gray-1k",placeholder:"Enter your Peerlist URL",onChange:n=>{l(n.target.value.trim()),o&&s(null)}}),(0,t.jsx)(c.Ay.Carbon,{className:"bg-green-300 border-none hover:bg-green hover:shadow-focus-border hover:shadow-green-00",type:"submit",circular:!0,"aria-label":"Submit",children:(0,t.jsx)(r.ArrowRightIcon,{size:20})})]}),o?(0,t.jsx)(z.default.ErrorText,{sm:!0,className:"text-center",children:o}):null]}),(0,t.jsxs)("div",{className:"flex items-center justify-center flex-wrap md:flex-nowrap gap-1 ",children:[(0,t.jsx)(z.default.NormalText,{sm:!0,children:"Import your Resume from your"}),(0,t.jsx)(nc.A.PeerlistP,{height:16,width:16}),(0,t.jsx)(z.default.NormalText,{sm:!0,children:"Peerlist profile"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 text-center text-gray-200",children:[(0,t.jsx)("span",{className:"border-b border-gray-200 flex-1"}),(0,t.jsx)(z.default.SemiBoldText,{xs:!0,textColor:"text-gray-700",className:"uppercase",children:"OR"}),(0,t.jsx)("span",{className:"border-b border-gray-200 flex-1"})]}),(0,t.jsx)("div",{className:"flex w-full justify-center",children:(0,t.jsx)(c.Ay.CarbonTransparent,{onClick:()=>d.push({query:{showResumePage:!0}}),iconLeft:(0,t.jsx)(r.EditPageIcon,{size:16}),children:(0,t.jsx)(z.default.SemiBoldText,{sm:!0,children:"Build from scratch"})})})]})})]})},nv=()=>{let[n,e]=(0,i.useState)({}),{isLoggedIn:l}=(0,s.A)(),{showResumePage:r}=(0,a.useRouter)().query;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.A,{title:"Free LinkedIn Resume Builder | Peerlist",description:"Create an ATS friendly resume with LinkedIn Resume Builder by Peerlist. Easy to use, customizable templates, and instant PDF download.",keywords:"resume builder, free resume builder, professional resume, CV maker, job application, career tools",ogImage:w.CDNImage.resumeBuilderTools}),l||r?(0,t.jsx)(nr,{setResumeData:e,resumeData:n}):(0,t.jsx)(nm,{setResumeData:e})]})}},88864:(n,e,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/tools/resume-builder",function(){return l(2812)}])}},n=>{n.O(0,[636,6593,8792],()=>n(n.s=88864)),_N_E=n.O()}]);

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.