1import{r as S,j as e,d as G}from"./vendor-react-DfYGAhtm.js";import{aE as A,a$ as j,U as N,G as P,m as a,c as Y,g as v,bE as w,o as I,A as F,bF as z,t as U}from"./index-DsBgCU7r.js";import{u as V,T as K}from"./useTravelFlowGuard-BzKYpJZB.js";import{S as H}from"./StepPageLayout-DdZUweau.js";import{u as O}from"./vendor-state-BsBVN-fX.js";import{D as B}from"./DatePickerField-CClDGS0S.js";import{g as k}from"./errors-BYKXB8DF.js";import{u as Z,t as L}from"./travelPolicyApi-CKfMwwJq.js";import{o as W,s as y,b as J,c as q,d as R}from"./vendor-forms-BP-7CbAP.js";import{T as _}from"./routes-SlierU_8.js";import{Z as Q}from"./vendor-icons-1odZwi-b.js";import{a as h,v as $,F as E,T as c,V as X,i as ee}from"./vendor-ui-DA_r9yXk.js";import"./DropdownPopover-KjBTPKBF.js";const ae=[{name:"Afghanistan",code:"AF"},{name:"Albania",code:"AL"},{name:"Algeria",code:"DZ"},{name:"Andorra",code:"AD"},{name:"Angola",code:"AO"},{name:"Antigua and Barbuda",code:"AG"},{name:"Argentina",code:"AR"},{name:"Armenia",code:"AM"},{name:"Australia",code:"AU"},{name:"Austria",code:"AT"},{name:"Azerbaijan",code:"AZ"},{name:"Bahamas",code:"BS"},{name:"Bahrain",code:"BH"},{name:"Bangladesh",code:"BD"},{name:"Barbados",code:"BB"},{name:"Belarus",code:"BY"},{name:"Belgium",code:"BE"},{name:"Belize",code:"BZ"},{name:"Benin",code:"BJ"},{name:"Bhutan",code:"BT"},{name:"Bolivia",code:"BO"},{name:"Bosnia and Herzegovina",code:"BA"},{name:"Botswana",code:"BW"},{name:"Brazil",code:"BR"},{name:"Brunei",code:"BN"},{name:"Bulgaria",code:"BG"},{name:"Burkina Faso",code:"BF"},{name:"Burundi",code:"BI"},{name:"Cabo Verde",code:"CV"},{name:"Cambodia",code:"KH"},{name:"Cameroon",code:"CM"},{name:"Canada",code:"CA"},{name:"Central African Republic",code:"CF"},{name:"Chad",code:"TD"},{name:"Chile",code:"CL"},{name:"China",code:"CN"},{name:"Colombia",code:"CO"},{name:"Comoros",code:"KM"},{name:"Congo (Congo-Brazzaville)",code:"CG"},{name:"Costa Rica",code:"CR"},{name:"Croatia",code:"HR"},{name:"Cuba",code:"CU"},{name:"Cyprus",code:"CY"},{name:"Czechia (Czech Republic)",code:"CZ"},{name:"Democratic Republic of the Congo",code:"CD"},{name:"Denmark",code:"DK"},{name:"Djibouti",code:"DJ"},{name:"Dominica",code:"DM"},{name:"Dominican Republic",code:"DO"},{name:"Ecuador",code:"EC"},{name:"Egypt",code:"EG"},{name:"El Salvador",code:"SV"},{name:"Equatorial Guinea",code:"GQ"},{name:"Eritrea",code:"ER"},{name:"Estonia",code:"EE"},{name:"Eswatini",code:"SZ"},{name:"Ethiopia",code:"ET"},{name:"Fiji",code:"FJ"},{name:"Finland",code:"FI"},{name:"France",code:"FR"},{name:"Gabon",code:"GA"},{name:"Gambia",code:"GM"},{name:"Georgia",code:"GE"},{name:"Germany",code:"DE"},{name:"Ghana",code:"GH"},{name:"Greece",code:"GR"},{name:"Grenada",code:"GD"},{name:"Guatemala",code:"GT"},{name:"Guinea",code:"GN"},{name:"Guinea-Bissau",code:"GW"},{name:"Guyana",code:"GY"},{name:"Haiti",code:"HT"},{name:"Holy See",code:"VA"},{name:"Honduras",code:"HN"},{name:"Hungary",code:"HU"},{name:"Iceland",code:"IS"},{name:"India",code:"IN"},{name:"Indonesia",code:"ID"},{name:"Iran",code:"IR"},{name:"Iraq",code:"IQ"},{name:"Ireland",code:"IE"},{name:"Israel",code:"IL"},{name:"Italy",code:"IT"},{name:"Jamaica",code:"JM"},{name:"Japan",code:"JP"},{name:"Jordan",code:"JO"},{name:"Kazakhstan",code:"KZ"},{name:"Kenya",code:"KE"},{name:"Kiribati",code:"KI"},{name:"Kuwait",code:"KW"},{name:"Kyrgyzstan",code:"KG"},{name:"Laos",code:"LA"},{name:"Latvia",code:"LV"},{name:"Lebanon",code:"LB"},{name:"Lesotho",code:"LS"},{name:"Liberia",code:"LR"},{name:"Libya",code:"LY"},{name:"Liechtenstein",code:"LI"},{name:"Lithuania",code:"LT"},{name:"Luxembourg",code:"LU"},{name:"Madagascar",code:"MG"},{name:"Malawi",code:"MW"},{name:"Malaysia",code:"MY"},{name:"Maldives",code:"MV"},{name:"Mali",code:"ML"},{name:"Malta",code:"MT"},{name:"Marshall Islands",code:"MH"},{name:"Mauritania",code:"MR"},{name:"Mauritius",code:"MU"},{name:"Mexico",code:"MX"},{name:"Micronesia",code:"FM"},{name:"Moldova",code:"MD"},{name:"Monaco",code:"MC"},{name:"Mongolia",code:"MN"},{name:"Montenegro",code:"ME"},{name:"Morocco",code:"MA"},{name:"Mozambique",code:"MZ"},{name:"Myanmar (Burma)",code:"MM"},{name:"Namibia",code:"NA"},{name:"Nauru",code:"NR"},{name:"Nepal",code:"NP"},{name:"Netherlands",code:"NL"},{name:"New Zealand",code:"NZ"},{name:"Nicaragua",code:"NI"},{name:"Niger",code:"NE"},{name:"Nigeria",code:"NG"},{name:"North Korea",code:"KP"},{name:"North Macedonia",code:"MK"},{name:"Norway",code:"NO"},{name:"Oman",code:"OM"},{name:"Pakistan",code:"PK"},{name:"Palau",code:"PW"},{name:"Palestine State",code:"PS"},{name:"Panama",code:"PA"},{name:"Papua New Guinea",code:"PG"},{name:"Paraguay",code:"PY"},{name:"Peru",code:"PE"},{name:"Philippines",code:"PH"},{name:"Poland",code:"PL"},{name:"Portugal",code:"PT"},{name:"Qatar",code:"QA"},{name:"Romania",code:"RO"},{name:"Russia",code:"RU"},{name:"Rwanda",code:"RW"},{name:"Saint Kitts and Nevis",code:"KN"},{name:"Saint Lucia",code:"LC"},{name:"Saint Vincent and the Grenadines",code:"VC"},{name:"Samoa",code:"WS"},{name:"San Marino",code:"SM"},{name:"Sao Tome and Principe",code:"ST"},{name:"Saudi Arabia",code:"SA"},{name:"Senegal",code:"SN"},{name:"Serbia",code:"RS"},{name:"Seychelles",code:"SC"},{name:"Sierra Leone",code:"SL"},{name:"Singapore",code:"SG"},{name:"Slovakia",code:"SK"},{name:"Slovenia",code:"SI"},{name:"Solomon Islands",code:"SB"},{name:"Somalia",code:"SO"},{name:"South Africa",code:"ZA"},{name:"South Korea",code:"KR"},{name:"South Sudan",code:"SS"},{name:"Spain",code:"ES"},{name:"Sri Lanka",code:"LK"},{name:"Sudan",code:"SD"},{name:"Suriname",code:"SR"},{name:"Sweden",code:"SE"},{name:"Switzerland",code:"CH"},{name:"Syria",code:"SY"},{name:"Taiwan",code:"TW"},{name:"Tajikistan",code:"TJ"},{name:"Tanzania",code:"TZ"},{name:"Thailand",code:"TH"},{name:"Timor-Leste",code:"TL"},{name:"Togo",code:"TG"},{name:"Tonga",code:"TO"},{name:"Trinidad and Tobago",code:"TT"},{name:"Tunisia",code:"TN"},{name:"Turkey",code:"TR"},{name:"Turkmenistan",code:"TM"},{name:"Tuvalu",code:"TV"},{name:"Uganda",code:"UG"},{name:"Ukraine",code:"UA"},{name:"United Arab Emirates",code:"AE"},{name:"United Kingdom",code:"GB"},{name:"United States of America",code:"US"},{name:"Uruguay",code:"UY"},{name:"Uzbekistan",code:"UZ"},{name:"Vanuatu",code:"VU"},{name:"Venezuela",code:"VE"},{name:"Vietnam",code:"VN"},{name:"Yemen",code:"YE"},{name:"Zambia",code:"ZM"},{name:"Zimbabwe",code:"ZW"}],ne=n=>n.toUpperCase().split("").map(r=>
1String.fromCodePoint(r.charCodeAt(0)+127397)).join(""),oe=W({destination:y().min(1,"Destination is required"),departureDate:y().min(1,"Departure date is required"),returnDate:y().min(1,"Return date is required")}).refine(n=>{if(!n.departureDate)return!0;const r=A(n.departureDate);if(!r)return!0;const i=j();return r.setHours(0,0,0,0),r>=i},{message:"Departure date cannot be in the past",path:["departureDate"]}).refine(n=>{if(!n.departureDate||!n.returnDate)return!0;const r=A(n.departureDate),i=A(n.returnDate);return!r||!i?!0:i>=r},{message:"Return date must be on or after departure date",path:["returnDate"]}),re={destination:"",departureDate:"",returnDate:""},te=()=>{const n=J({resolver:q(oe),defaultValues:re}),r=R({control:n.control,name:"departureDate",defaultValue:""}),i=R({control:n.control,name:"returnDate",defaultValue:""}),l=N(new Date().getDate(),new Date().getMonth(),new Date().getFullYear());return{...n,departureDate:r,returnDate:i,todayDDMMYYYY:l}},de=10,ie=({value:n,onChange:r,hasError:i,error:l,placeholder:f="Search destination country"})=>{const[m,D]=S.useState(n),[b,s]=S.useState(!1),u=S.useRef(null),d=S.useMemo(()=>{if(!m.trim())return[];const o=m.toLowerCase();return ae.filter(g=>g.name.toLowerCase().includes(o)).slice(0,de)},[m]),T=o=>{const g=o.target.value;D(g),g||r(""),s(!0)},x=o=>{u.current&&clearTimeout(u.current),D(o.name),r(o.name),s(!1)},M=()=>{u.current=setTimeout(()=>s(!1),150)},C=()=>{u.current&&clearTimeout(u.current),m.trim()&&s(!0)},t=b&&d.length>0,p=b&&m.trim().length>0&&d.length===0;return e.jsxs(h,{position:"relative",w:"100%",children:[e.jsx(P,{value:m,onChange:T,onFocus:C,onBlur:M,placeholder:f,border:`1px solid ${a.border.primary}`,bg:a.white.DEFAULT,_hover:{bg:a.white.DEFAULT},hasError:i,leftIcon:e.jsx($,{as:Q,boxSize:5,color:a.orange[500]}),autoComplete:"off"}),(t||p)&&e.jsxs(h,{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,zIndex:20,bg:"white",border:"1px solid",borderColor:a.gray[200],borderRadius:"lg",boxShadow:"md",overflow:"hidden",children:[t&&e.jsx(h,{maxH:"260px",overflowY:"auto",children:d.map(o=>e.jsxs(E,{align:"center",gap:2.5,px:4,py:2.5,cursor:"pointer",fontSize:"sm",color:a.gray[800],bg:n===o.name?a.gray[100]:"transparent",_hover:{bg:a.gray[100]},onMouseDown:g=>g.preventDefault(),onClick:()=>x(o),children:[e.jsx(c,{fontSize:"lg",lineHeight:1,flexShrink:0,children:ne(o.code)}),e.jsx(c,{fontSize:"sm",color:a.gray[800],children:o.name})]},o.code))}),p&&e.jsx(E,{px:4,py:3,align:"center",children:e.jsxs(c,{fontSize:"sm",color:a.text.gray,children:["No countries found for â",m,"â"]})})]}),l&&e.jsx(c,{fontSize:"sm",color:a.error[500],mt:1,children:l})]})},ce=()=>{const n=G(),r=O(),{isAuthenticated:i}=Y(),[l,f]=S.useState(null),{createTravelPolicyAsync:m,isLoading:D}=Z(),{handleSubmit:b,setValue:s,watch:u,formState:{errors:d},departureDate:T,returnDate:x,todayDDMMYYYY:M}=te(),C=async t=>{const p={destination:t.destination,departureDate:t.departureDate,returnDate:t.returnDate};if(r(w(p)),!i){r(I({step:F.LOGIN}));return}try{const o=await m({usageType:"PERSONAL",destinations:[p.destination],departureDate:L(p.departureDate),returnDate:L(p.returnDate)});r(z({id:o.data.id,ourReference:o.data.ourReference,status:o.data.status,createdAt:o.data.createdAt})),n(`/${_.Travellers}`)}catch(o){U.error(k(o)??"Unable to create your travel application. Please try again.")}};return e.jsx("form",{onSubmit:b(C),children:e.jsxs(X,{gap:6,align:"stretch",children:[e.jsxs(h,{children:[e.jsx(c,{fontSize:"sm",fontWeight:"medium",color:a.text.info,mb:2,children:"Destination"}),e.jsx(ie,{value:u("destination"),onChange:t=>s("destination",t,{shouldValidate:!0}),hasError:!!d.destination,error:d.destination?.message})]}),e.jsxs(E,{gap:4,direction:"column",children:[e.jsxs(h,{flex:1,children:[e.jsx(c,{fontSize:"sm",fontWeight:"medium",color:a.text.info,mb:2,children:"Departure Date"}),e.jsx(B,{value:T,IconColor:a.orange[500],borderColor:a.border.primary,placeholder:"DD-MM-YYYY",onChange:t=>s("departureDate",t,{shouldValidate:!0}),hasError:!!d.departureDate,borderRadius:"full",minDate:M,isOpen:l==="departure",onOpenChange:t=>f(t?"departure":null)}),d.departureDate&&e.jsx(c,{fontSize:"sm",color:a.error[500],mt:1,children:d.departureDate.message})]}),e.jsxs(h,{flex:1,children:[e.jsx(c,{fontSize:"sm",fontWeight:"medium",color:a.text.info,mb:2,children:"Return Date"}),e.jsx(B,{value:x,IconColor:a.orange[500],borderColor:a.border.primary,placeholder:"DD-MM-YYYY",onChange:t=>s("returnDate",t,{shouldValidate:!0}),hasError:!!d.returnDate,borderRadius:"full",minDate:T||M,isOpen:l==="return",onOpenChange:t=>f(t?"return":null)}),d.returnDate&&e.jsx(c,{fontSize:"sm",color:a.error[500],mt:1,children:d.returnDate.message})]})]}),e.jsx(v,{buttonType:"primary",text:"Continue",fullWidth:!0,type:"submit",h:"50px",loading:D,disabled:D})]})})},xe=()=>{const{isBlocked:n}=V(K.TripDetails);return n?null:e.jsx(H,{items:[],hideGoBack:!0,contentMaxW:"680px",children:e.jsxs(h,{bg:"white",borderRadius:"2xl",border:"1px solid",borderColor:a.border.secondary,p:{base:6,md:10},style:{background:"linear-gradient(to bottom right, transparent 60%, #FEF9F3 100%)"},children:[e.jsx(ee,{fontSize:{base:"3xl",md:"4xl"},fontWeight:"bold",color:a.text.primary,mb:1,children:"Trip Details"}),e.jsx(c,{fontSize:"md",color:a.text.gray,mb:6,children:"Tell us where you're going and when"}),e.jsx(ce,{})]})})};export{xe 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.