import{u as S,o as P,r as c,p as E,j as e,c as w,q as R,v as k,t as A}from"./index-kE4_6-nI.js";import{P as T}from"./PageHeader-BIrj68Xg.js";const I=[{id:1,label:"Vacante",helper:"Qué y dónde"},{id:2,label:"Contexto",helper:"Por qué y cuándo"},{id:3,label:"Compensación",helper:"Presupuesto"},{id:4,label:"Revisión",helper:"Confirmar"}],L={country:"",city:"",position:"",vacancyType:"Nueva",quantity:1,duration:"",startDate:"",client:"",replacementName:"",replacementExitDate:"",justification:"",comments:"",budget:"",salaryPackage:"",currency:"USD"};function O(){const{createRequisition:x}=S(),j=P(),[r,t]=c.useState(1),[a,v]=c.useState(L),[i,p]=c.useState({}),y=a.country?E[a.country]??[]:[],d=a.vacancyType!=="Nueva",o=/gerente|manager|coordinador|supervisor/i.test(a.position)?3:/analista|desarrollador|representante/i.test(a.position)?2:1,m=o===1?5:o===2?10:15,b=m+Math.max(0,a.quantity-1)*2,u=a.startDate?new Date(a.startDate).getTime()-Date.now()>25*864e5:!1,l=(s,n)=>{v(h=>({...h,[s]:n,...s==="country"?{city:""}:{}})),i[s]&&p(h=>({...h,[s]:""}))},f=s=>{const n={};return s===1&&(a.country||(n.country="Selecciona el país."),a.city||(n.city="Selecciona la ciudad."),a.position||(n.position="Selecciona la posición."),a.duration.trim()||(n.duration="Indica la duración."),a.startDate||(n.startDate="Indica la fecha de inicio."),a.client||(n.client="Selecciona el cliente o proyecto."),a.quantity<1&&(n.quantity="La cantidad mínima es 1.")),s===2&&(d&&!a.replacementName.trim()&&(n.replacementName="Indica la persona o posición que se reemplaza."),d&&!a.replacementExitDate&&(n.replacementExitDate="Indica la fecha de salida."),a.justification.trim().length<20&&(n.justification="Explica el motivo con al menos 20 caracteres.")),s===3&&((!a.budget||Number(a.budget)<=0)&&(n.budget="Indica un presupuesto mayor que cero."),a.salaryPackage.trim().length<8&&(n.salaryPackage="Describe el paquete salarial.")),p(n),Object.keys(n).length===0},N=()=>{f(r)&&t(s=>Math.min(4,s+1))},g=()=>t(s=>Math.max(1,s-1)),C=c.useMemo(()=>({...a,country:a.country||"Sin definir",city:a.city||"Sin definir",position:a.position||"Posición sin definir",duration:a.duration||"Sin definir",startDate:a.startDate||new Date().toISOString().slice(0,10),client:a.client||"Sin definir"}),[a]),q=()=>{x(C,!0),j("/mis-requisiciones")},D=()=>{const s=x(a,!1);j(`/requisiciones/${s}`)};return e.jsxs("div",{className:"page-stack form-page",children:[e.jsx(T,{eyebrow:"Coordinación · Nueva solicitud",title:"Requisición de personal",description:"Completa lo esencial. La ruta de aprobación y el SLA se generan al enviar."}),e.jsx("ol",{className:"form-stepper","aria-label":"Progreso del formulario",children:I.map(s=>e.jsx("li",{className:`${r===s.id?"is-current":""}${r>s.id?" is-complete":""}`,children:e.jsxs("button",{type:"button",disabled:s.id>r,onClick:()=>t(s.id),children:[e.jsx("span",{children:r>s.id?"✓":String(s.id).padStart(2,"0")}),e.jsx("b",{children:s.label}),e.jsx("small",{children:s.helper})]})},s.id))}),e.jsxs("div",{className:"form-layout",children:[e.jsxs("form",{className:"requisition-form",onSubmit:s=>s.preventDefault(),noValidate:!0,children:[r===1?e.jsxs("section",{className:"form-section","aria-labelledby":"step-1-title",children:[e.jsxs("header",{children:[e.jsx("p",{children:"PASO 01"}),e.jsx("h2",{id:"step-1-title",children:"Información de la vacante"}),e.jsx("span",{children:"Tipo, cantidad y duración se definen primero para calcular correctamente IDs y SLA."})]}),e.jsxs("div",{className:"field-grid",children:[e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["País ",e.jsx("b",{children:"*"})]}),e.jsxs("select",{value:a.country,onChange:s=>l("country",s.target.value),className:i.country?"is-invalid":"",children:[e.jsx("option",{value:"",children:"Seleccionar país"}),w.map(s=>e.jsx("option",{children:s},s))]}),i.country?e.jsx("small",{className:"field-error",children:i.country}):null]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Ciudad / zona ",e.jsx("b",{children:"*"})]}),e.jsxs("select",{value:a.city,disabled:!a.country,onChange:s=>l("city",s.target.value),className:i.city?"is-invalid":"",children:[e.jsx("option",{value:"",children:a.country?"Seleccionar ciudad":"Primero selecciona el país"}),y.map(s=>e.jsx("option",{children:s},s))]}),i.city?e.jsx("small",{className:"field-error",children:i.city}):null]}),e.jsxs("label",{className:"field field--wide",children:[e.jsxs("span",{children:["Posición ",e.jsx("b",{children:"*"})]}),e.jsxs("select",{value:a.position,onChange:s=>l("position",s.target.value),className:i.position?"is-invalid":"",children:[e.jsx("option",{value:"",children:"Seleccionar posición"}),R.map(s=>e.jsx("option",{children:s},s))]}),i.position?e.jsx("small",{className:"field-error",children:i.position}):null]}),e.jsxs("fieldset",{className:"field field--wide choice-field",children:[e.jsxs("legend",{children:["Tipo de vacante ",e.jsx("b",{children:"*"})]}),e.jsx("div",{children:k.map(s=>e.jsxs("label",{className:a.vacancyType===s?"is-selected":"",children:[e.jsx("input",{type:"radio",name:"vacancyType",value:s,checked:a.vacancyType===s,onChange:()=>l("vacancyType",s)}),e.jsx("span",{children:s})]},s))})]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Cantidad de vacantes ",e.jsx("b",{children:"*"})]}),e.jsxs("div",{className:"number-control",children:[e.jsx("button",{type:"button",onClick:()=>l("quantity",Math.max(1,a.quantity-1)),"aria-label":"Restar una vacante",children:"−"}),e.jsx("input",{type:"number",min:"1",max:"99",value:a.quantity,onChange:s=>l("quantity",Math.max(1,Number(s.target.value)))}),e.jsx("button",{type:"button",onClick:()=>l("quantity",Math.min(99,a.quantity+1)),"aria-label":"Agregar una vacante",children:"+"})]}),i.quantity?e.jsx("small",{className:"field-error",children:i.quantity}):e.jsxs("small",{children:["Se crearán ",a.quantity," IDs individuales bajo una sola solicitud."]})]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Duración de la posición ",e.jsx("b",{children:"*"})]}),e.jsx("input",{value:a.duration,onChange:s=>l("duration",s.target.value),placeholder:"Ej. Indefinida, 6 meses",className:i.duration?"is-invalid":""}),i.duration?e.jsx("small",{className:"field-error",children:i.duration}):null]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Fecha de inicio requerida ",e.jsx("b",{children:"*"})]}),e.jsx("input",{type:"date",value:a.startDate,onChange:s=>l("startDate",s.target.value),className:i.startDate?"is-invalid":""}),i.startDate?e.jsx("small",{className:"field-error",children:i.startDate}):null]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Cliente / proyecto ",e.jsx("b",{children:"*"})]}),e.jsxs("select",{value:a.client,onChange:s=>l("client",s.target.value),className:i.client?"is-invalid":"",children:[e.jsx("option",{value:"",children:"Seleccionar cliente o proyecto"}),A.map(s=>e.jsx("option",{children:s},s))]}),i.client?e.jsx("small",{className:"field-error",children:i.client}):null]})]})]}):null,r===2?e.jsxs("section",{className:"form-section","aria-labelledby":"step-2-title",children:[e.jsxs("header",{children:[e.jsx("p",{children:"PASO 02"}),e.jsx("h2",{id:"step-2-title",children:"Contexto de la solicitud"}),e.jsx("span",{children:"La información condicional aparece solo cuando realmente hace falta."})]}),e.jsxs("div",{className:"field-grid",children:[d?e.jsxs("div",{className:"conditional-fields field--wide",children:[e.jsxs("p",{children:["Datos de ",a.vacancyType.toLowerCase()]}),e.jsxs("div",{className:"field-grid",children:[e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Persona o posición a reemplazar ",e.jsx("b",{children:"*"})]}),e.jsx("input",{value:a.replacementName,onChange:s=>l("replacementName",s.target.value),className:i.replacementName?"is-invalid":""}),i.replacementName?e.jsx("small",{className:"field-error",children:i.replacementName}):null]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Fecha de salida ",e.jsx("b",{children:"*"})]}),e.jsx("input",{type:"date",value:a.replacementExitDate,onChange:s=>l("replacementExitDate",s.target.value),className:i.replacementExitDate?"is-invalid":""}),i.replacementExitDate?e.jsx("small",{className:"field-error",children:i.replacementExitDate}):null]})]})]}):null,e.jsxs("label",{className:"field field--wide",children:[e.jsxs("span",{children:["Justificación de la requisición ",e.jsx("b",{children:"*"})]}),e.jsx("textarea",{rows:6,value:a.justification,onChange:s=>l("justification",s.target.value),placeholder:"Describe el motivo, el impacto operativo y por qué se necesita ahora…",className:i.justification?"is-invalid":""}),i.justification?e.jsx("small",{className:"field-error",children:i.justification}):e.jsxs("small",{children:[a.justification.length," caracteres · mínimo 20"]})]}),e.jsxs("label",{className:"field field--wide",children:[e.jsx("span",{children:"Comentarios adicionales"}),e.jsx("textarea",{rows:4,value:a.comments,onChange:s=>l("comments",s.target.value),placeholder:"Uniformes, horario, requisitos de movilidad u otra aclaración relevante…"})]})]})]}):null,r===3?e.jsxs("section",{className:"form-section","aria-labelledby":"step-3-title",children:[e.jsxs("header",{children:[e.jsx("p",{children:"PASO 03"}),e.jsx("h2",{id:"step-3-title",children:"Compensación y presupuesto"}),e.jsx("span",{children:"Estos datos solo serán visibles para los roles autorizados."})]}),e.jsxs("div",{className:"privacy-note",children:[e.jsx("span",{"aria-hidden":"true",children:"PRIVADO"}),e.jsx("p",{children:"RRHH revisa el paquete; Administración realiza la aprobación financiera final."})]}),e.jsxs("div",{className:"field-grid",children:[e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Moneda ",e.jsx("b",{children:"*"})]}),e.jsxs("select",{value:a.currency,onChange:s=>l("currency",s.target.value),children:[e.jsx("option",{children:"USD"}),e.jsx("option",{children:"DOP"}),e.jsx("option",{children:"GTQ"}),e.jsx("option",{children:"COP"}),e.jsx("option",{children:"PAB"}),e.jsx("option",{children:"MXN"})]})]}),e.jsxs("label",{className:"field",children:[e.jsxs("span",{children:["Presupuesto mensual total ",e.jsx("b",{children:"*"})]}),e.jsx("input",{type:"number",min:"0",value:a.budget,onChange:s=>l("budget",s.target.value),placeholder:"0",className:i.budget?"is-invalid":""}),i.budget?e.jsx("small",{className:"field-error",children:i.budget}):e.jsxs("small",{children:["Para ",a.quantity," ",a.quantity===1?"vacante":"vacantes","."]})]}),e.jsxs("label",{className:"field field--wide",children:[e.jsxs("span",{children:["Paquete salarial ",e.jsx("b",{children:"*"})]}),e.jsx("textarea",{rows:5,value:a.salaryPackage,onChange:s=>l("salaryPackage",s.target.value),placeholder:"Salario base, variable, viáticos, beneficios y cualquier condición relevante…",className:i.salaryPackage?"is-invalid":""}),i.salaryPackage?e.jsx("small",{className:"field-error",children:i.salaryPackage}):null]})]})]}):null,r===4?e.jsxs("section",{className:"form-section review-step","aria-labelledby":"step-4-title",children:[e.jsxs("header",{children:[e.jsx("p",{children:"PASO 04"}),e.jsx("h2",{id:"step-4-title",children:"Revisa antes de enviar"}),e.jsx("span",{children:"Al enviar, el reloj del SLA inicia y la solicitud pasa a RRHH."})]}),e.jsxs("div",{className:"review-hero",children:[e.jsxs("div",{children:[e.jsx("p",{children:"SOLICITUD"}),e.jsx("h3",{children:a.position}),e.jsxs("span",{children:[a.city,", ",a.country," · ",a.client]})]}),e.jsxs("strong",{children:[a.quantity,e.jsx("small",{children:a.quantity===1?"vacante":"vacantes"})]})]}),e.jsxs("div",{className:"review-grid",children:[e.jsxs("section",{children:[e.jsx("h4",{children:"Vacante"}),e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Tipo"}),e.jsx("dd",{children:a.vacancyType})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Duración"}),e.jsx("dd",{children:a.duration})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Inicio"}),e.jsx("dd",{children:a.startDate})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Tier estimado"}),e.jsxs("dd",{children:["Tier ",o]})]})]}),e.jsx("button",{type:"button",onClick:()=>t(1),children:"Editar"})]}),e.jsxs("section",{children:[e.jsx("h4",{children:"Contexto"}),e.jsx("p",{children:a.justification}),a.comments?e.jsx("small",{children:a.comments}):null,e.jsx("button",{type:"button",onClick:()=>t(2),children:"Editar"})]}),e.jsxs("section",{children:[e.jsx("h4",{children:"Compensación"}),e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Presupuesto"}),e.jsxs("dd",{children:[a.currency," ",Number(a.budget).toLocaleString("es-419")]})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Paquete"}),e.jsx("dd",{children:a.salaryPackage})]})]}),e.jsx("button",{type:"button",onClick:()=>t(3),children:"Editar"})]})]}),e.jsxs("div",{className:"sla-preview",children:[e.jsx("span",{className:u?"sla-preview__date":"sla-preview__days",children:u?"CUMPLE / NO CUMPLE":`${b} DÍAS HÁBILES`}),e.jsxs("div",{children:[e.jsx("h4",{children:"SLA estimado"}),e.jsx("p",{children:u?"La fecha de inicio es futura; se medirá el cumplimiento de la incorporación, no días transcurridos.":`${m} días base + ${Math.max(0,a.quantity-1)*2} días por volumen.`})]})]}),e.jsxs("div",{className:"id-preview",children:[e.jsx("p",{children:"Esta solicitud generará:"}),Array.from({length:Math.min(a.quantity,5)},(s,n)=>e.jsxs("span",{children:["REQ-…-",String(n+1).padStart(2,"0")]},n)),a.quantity>5?e.jsxs("span",{children:["+ ",a.quantity-5," IDs"]}):null]})]}):null,e.jsxs("footer",{className:"form-actions",children:[e.jsx("button",{className:"button button--quiet",type:"button",onClick:q,children:"Guardar borrador"}),e.jsxs("div",{children:[r>1?e.jsx("button",{className:"button button--quiet",type:"button",onClick:g,children:"Anterior"}):null,r<4?e.jsx("button",{className:"button button--primary",type:"button",onClick:N,children:"Continuar"}):e.jsx("button",{className:"button button--primary",type:"button",onClick:D,children:"Enviar a RRHH"})]})]})]}),e.jsxs("aside",{className:"form-aside",children:[e.jsxs("section",{children:[e.jsx("p",{className:"eyebrow",children:"Solicitante"}),e.jsxs("div",{className:"requester",children:[e.jsx("span",{className:"avatar",children:"LM"}),e.jsxs("div",{children:[e.jsx("b",{children:"Laura Medina"}),e.jsx("small",{children:"laura.medina@gomezleemarketing.com"})]})]}),e.jsx("p",{children:"El país y los permisos se validarán con el perfil de Google al integrar el backend."})]}),e.jsxs("section",{className:"form-aside__route",children:[e.jsx("p",{className:"eyebrow",children:"Ruta de aprobación"}),e.jsxs("ol",{children:[e.jsxs("li",{className:"is-current",children:[e.jsx("span",{children:"01"}),e.jsx("b",{children:"RRHH"}),e.jsx("small",{children:"Validación inicial"})]}),e.jsxs("li",{children:[e.jsx("span",{children:"02"}),e.jsx("b",{children:"Administración"}),e.jsx("small",{children:"Presupuesto final"})]}),e.jsxs("li",{children:[e.jsx("span",{children:"03"}),e.jsx("b",{children:"Dirección RRHH"}),e.jsx("small",{children:"Activa reclutamiento"})]})]})]}),e.jsxs("section",{className:"form-tip",children:[e.jsx("span",{children:"BUENA PRÁCTICA"}),e.jsx("p",{children:"Si dos personas tienen distinta ciudad o salario, crea requisiciones separadas. Si comparten ambos, usa la cantidad."})]})]})]})]})}export{O as default};