1import{A as e,D as t,E as n,O as r,Si as i,di as a,on as o,r as s,vn as c,wi as l}from"./I18nContext-DpOHf3wB.js";import{t as u}from"./index.es-y2Y3e86k.js";import{t as d}from"./UseRunOnce-DQw1DXm5.js";import{t as f}from"./lodash-DPrdimZK.js";import{a as p,c as m,f as h,i as g,p as _,r as v,t as y,u as b}from"./PassengerDetailsEventFactory-rfW3WF3A.js";import{t as x}from"./ErrorText-BJfP8GsJ.js";var S=f(),C=i();await l(`react`);var{createContext:w,useState:T}=await l(`react`),E=w(!1),D=({children:t,bookingProjectionAfterPageEvents:n,bookingProjectionBeforePageEvents:r,hasAnySailingDeparted:i,wheelchairHoldingsDifferPerDeparture:a=!1})=>{let o=e(),[s,c]=T(!1);return d(()=>{o(g(v(r))),o(p(v(n)));let e=(0,S.first)(n.departures);!i&&!a&&n.isSameCustomerCategoriesOnAllDepartures&&n.isSameGuestsOnAllDepartures&&e?o(b({targetDepartureId:e.departureId})):o(m()),!i&&n.isSameVehicleDetailsOnAllDepartures&&e?o(_({targetDepartureId:e.departureId})):o(h()),c(!0)}),s?(0,C.jsx)(E.Provider,{value:!0,children:t}):null},O=await l(`react`),{useCallback:k,useEffect:A,useState:j}=await l(`react`),M=O.forwardRef(({onBlur:e,onValueChange:t,value:n=``,uppercase:r,...i},a)=>{let[o,s]=j(n),[c,l]=j(!1);A(()=>{s(n)},[n]);let d=k(n=>{t?.(n),s(n),c||e?.(n)},[t,s,c,e]),f=k(()=>{l(!1),e?.(o)},[e,o]),p=r?o.toUpperCase():o;return(0,C.jsx)(u,{...i,value:p,onValueChange:d,onBlur:f,onFocus:()=>l(!0),ref:a,variant:i.variant})});await l(`react`);var N=({errorMessages:e})=>(0,C.jsx)(a,{gap:1,children:e?.map(e=>(0,C.jsx)(x,{text:e},e))}),P=await l(`react`),{useState:F}=await l(`react`),I=P.forwardRef(({loading:e,disabled:t,errorMessages:n,showErrorsOverride:r,variant:i,visited:o,...s},c)=>{let[l,u]=F(!1),d=(o||r)&&i===`error`;return!e&&l!==d&&u(d),(0,C.jsxs)(a,{gap:1,children:[(0,C.jsx)(M,{variant:l?`error`:`normal`,ref:c,disabled:t,...s}),l&&n&&(0,C.jsx)(N,{errorMessages:n})]})});await l(`react`);var L=()=>{let e=s();return(0,C.jsx)(c,{variant:`info`,icon:o,label:e(`Validation.Guest.UnsavedChanges`)})},R=e=>{let t=e.guestListSameOnAllDepartures?e.guestListSameOnAllDeparturesTargetDepartureId:void 0,n=e.vehicleDetailsSameOnAllDepartures?e.vehicleDetailsSameOnAllDeparturesTargetDepartureId:void 0;if(t==null&&n==null)return e.userSelection;let r=e.userSelection.byDeparture;if(t!=null){let e=r[t]?.guests??[];r=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,{...n,guests:e}]))}if(n!=null){let e=r[n]?.vehicles??[];r=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,{...n,vehicles:V(n.vehicles,e)}]))}return{byDeparture:r}},z=(e,t)=>e.vehicleTypeCode===t.vehicleTypeCode&&e.trailer?.trailerTypeCode===t.trailer?.trailerTypeCode,B=(e,n)=>z(e,n)&&t(e.form.vehicleRegistrationNumber)===t(n.form.vehicleRegistrationNumber)&&t(e.trailer?.form.trailerRegistrationNumber)===t(n.trailer?.form.trailerRegistrationNumber),V=(e,t)=>{let{pairs:r,unmatched:i}=n(e,t,B),{pairs:a}=n(e.filter((e,t)=>r[t]==null),i,z),o=0;return e.map((e,t)=>r[t]==null?H(e,a[o++]):e)},H=(e,t)=>t==null?e:{...e,form:{...e.form,vehicleRegistrationNumber:t.form.vehicleRegistrationNumber},trailer:e.trailer==null?e.trailer:{...e.trailer,form:{...e.trailer.form,trailerRegistrationNumber:t.trailer?.form.trailerRegistrationNumber??e.trailer.form.trailerRegistrationNumber}}},U=e=>({departures:Object.entries(e.byDeparture).map(([e,t])=>({departureId:e,guests:t.guests.map(e=>({passengerId:e.passengerId,firstName:e.form.firstName,lastName:e.form.lastName,gender:e.form.gender,nationality:e.form.nationality,dateOfBirthYear:e.form.dateOfBirthYear,dateOfBirthMonth:e.form.dateOfBirthMonth,dateOfBirthDay:e.form.dateOfBirthDay,documentNumber:e.form.documentNumber??``,expiryDateYear:e.form.expiryDateYear,expiryDateMonth:e.form.expiryDateMonth,expiryDateDay:e.form.expiryDateDay})),vehicles:t.vehicles.map(e=>({vehicleId:e.vehicleId,vehicleTypeId:e.vehicleTypeCode,registrationNumber:e.form.vehicleRegistrationNumber,registrationNumberIsUnknown:!r(e.form.vehicleRegistrationNumber),trailer:e.trailer?{registrationNumber:e.trailer.form.trailerRegistrationNumber,registrationNumberIsUnknown:!r(e.trailer.form.trailerRegistrationNumber)}:null})),pets:[]}))}),W=e=>t(e)||null,G=e=>{let t=R(e);return Object.entries(t.byDeparture).flatMap(([t,n])=>n.vehicles.flatMap(n=>{let r=e.initialSelection.byDeparture[t]?.vehicles.find(e=>e.vehicleId===n.vehicleId);return r?K(n.vehicleId,r,n):[]}))},K=(e,t,n)=>{let r=[],i=W(n.form.vehicleRegistrationNumber);i!==W(t.form.vehicleRegistrationNumber)&&r.push({type:`VEHICLE_REGISTRATION_NUMBER_CHANGED`,vehicleId:e,registrationNumber:i});let a=W(n.trailer?.form.trailerRegistrationNumber),o=W(t.trailer?.form.trailerRegistrationNumber);return t.trailer!=null&&n.trailer!=null&&a!==o&&r.push({type:`TRAILER_REGISTRATION_NUMBER_CHANGED`,trailerId:n.trailer.trailerId,registrationNumber:a}),r},q=(e,t)=>
1[...y(e,t),...G(t)];await l(`react`);var{useEffect:J}=await l(`react`),Y=({bookingProjectionBeforePageEvents:e,partyDetailsState:t,children:n,setPageEvents:r})=>(J(()=>{r(q(e,t))},[e,t,r]),(0,C.jsx)(C.Fragment,{children:n}));export{R as a,N as c,U as i,D as l,q as n,L as o,G as r,I as s,Y as t,E as u};
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.