PageSourceSearch

https://managebooking.stenaline.pl/assets/VehicleListComposer-CUAnT8oP.js

js stenaline.pl collected 2026-09-24 21:48:03 UTC 13,911 bytes, 66 lines download raw bytes

1import{A as e,Dn as t,J as n,Jr as r,O as i,Si as a,_ as o,_t as s,bi as c,cr as l,di as u,ht as d,ir as f,j as p,li as m,nr as h,pi as g,pt as _,r as v,ri as y,rr as b,ui as x,ur as S,vn as C,wi as w,yr as T}from"./I18nContext-DpOHf3wB.js";import{c as E,f as D,m as O,s as k}from"./AppSettingsContext-FD_CI3WH.js";import{a as A}from"./SailingApi-DS5IfF2K.js";import{r as j}from"./index.es-y2Y3e86k.js";import{U as M}from"./DateWithoutTimeFormatter-BC8Byimo.js";import{i as N,n as P}from"./ContinueButton-CYnA_-20.js";import{t as F}from"./lodash-DPrdimZK.js";import{t as I}from"./MainContentCardy-D7nlvatD.js";import{t as L}from"./SailingDepartedInfoBanner-hO80xx2E.js";import{d as R,m as ee,o as z}from"./PassengerDetailsEventFactory-rfW3WF3A.js";import{o as te,s as B}from"./PartyDetailsBrowserHistoryStateSynchronizer-CoXUlJtY.js";import{n as ne}from"./UseHasAnySailingDeparted-B1xk0HCw.js";import{t as re}from"./NoItemsCardContent-C5vXbjLA.js";import{n as ie,r as ae,t as oe}from"./VehicleRegistrationMissing-BP8_pAhv.js";var se=F(),V={vehicleList:`_vehicleList_dswlp_1`},H=a();await w(`react`);var U=({children:e})=>(0,H.jsx)(`ul`,{className:V.vehicleList,children:e});await w(`react`);var W={vehicleRegistrationNumber:``,trailerRegistrationNumber:``},G=({vehicleTypeName:e,trailerTypeName:t,value:n,onValueChange:i,hasTrailer:a,validationErrorMessages:o})=>{let s=v();return(0,H.jsxs)(u,{gap:2,children:[(0,H.jsxs)(r,{alignItems:`center`,justifyContent:`space-between`,gap:2,children:[(0,H.jsx)(g,{variant:`bold`,size:`large`,children:s(`VehicleDetails.Edit.Form.VehicleHeading`)}),(0,H.jsx)(C,{label:e,icon:T,size:`small`,variant:`info`})]}),(0,H.jsx)(x,{children:(0,H.jsx)(B,{label:s(`VehicleDetails.Edit.Form.RegistrationNumber`),value:n?.vehicleRegistrationNumber??``,onValueChange:e=>i?.({...n,vehicleRegistrationNumber:e}),visited:!0,showErrorsOverride:!1,variant:o?.vehicleRegistrationNumber?`error`:`normal`})}),a&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(r,{alignItems:`center`,justifyContent:`space-between`,gap:2,children:[(0,H.jsx)(g,{variant:`bold`,size:`medium`,children:s(`VehicleDetails.Edit.Form.TrailerHeading`)}),(0,H.jsx)(C,{label:t,icon:T,size:`small`,variant:`info`})]}),(0,H.jsx)(x,{children:(0,H.jsx)(B,{label:s(`VehicleDetails.Edit.Form.RegistrationNumber`),value:n?.trailerRegistrationNumber??``,onValueChange:e=>i?.({...n,trailerRegistrationNumber:e}),visited:!0,showErrorsOverride:!1,variant:o?.trailerRegistrationNumber?`error`:`normal`})})]})]})};await w(`react`);var K=({vehicleName:e,onSubmit:t,onCancel:n,renderForm:r})=>{let i=v();return(0,H.jsx)(E,{"data-comp":`EditVehicleModal`,"data-vehicle":e,maxWidth:`756px`,children:(0,H.jsxs)(k,{gap:4,children:[(0,H.jsx)(D,{heading:i(`VehicleDetails.Edit.Modal.Heading`),onClickClose:n,headingSize:`large`,headingLevel:`h2`,closeButtonAriaLabel:i(`Common.Close`)}),(0,H.jsx)(y,{children:i(`VehicleDetails.Edit.Modal.IntroText`)}),(0,H.jsx)(I,{children:(0,H.jsx)(S,{children:r()})}),(0,H.jsx)(u,{gap:3,children:(0,H.jsx)(b,{label:i(`Common.Done`),size:`larger`,variant:`heavy`,onClick:t})})]})})};await w(`react`);var{useCallback:q,useMemo:J,useState:Y}=await w(`react`),ce=_(`
2  query EditVehicleButtonValidation(
3    $routeId: ID!
4    $localeId: ID!
5    $vehicleDetails: VehicleDetailsInput!
6  ) {
7    validation {
8      validateVehicleDetails(
9        routeId: $routeId
10        vehicleDetails: $vehicleDetails
11      ) {
12        __typename
13        vehicleResult {
14          __typename
15          ... on ValidateVehicleDetailsInvalid {
16            registrationNumber {
17              __typename
18              ... on ValidateVehicleFieldInvalid {
19                messages {
20                  text(localeId: $localeId)
21                }
22              }
23            }
24          }
25        }
26        trailerResult {
27          __typename
28          ... on ValidateTrailerDetailsInvalid {
29            registrationNumber {
30              __typename
31              ... on ValidateTrailerFieldInvalid {
32                messages {
33                  text(localeId: $localeId)
34                }
35              }
36            }
37          }
38        }
39      }
40    }
41  }
42`),le=e=>e.partyDetails,ue=({departureId:t,vehicleId:n,localeId:r,routeId:a,vehicleName:o,vehicleTypeId:c,vehicleTypeLabel:l,hasTrailer:u,trailerTypeLabel:d,registrationMissing:f,isRegistrationNumberMandatory:m})=>{let g=v(),_=g(`VehicleDetails.Overview.EditVehicleButtonAriaLabel`).replace(`{vehicleName}`,o),y=e(),x=p(le).userSelection.byDeparture[t],[S,C]=Y(!1),[w,T]=Y(W),E=J(()=>{let e=x?.vehicles.find(e=>e.vehicleId===n);return{vehicleId:n,vehicleTypeId:c,registrationNumber:e?.form.vehicleRegistrationNumber??``,registrationNumberIsUnknown:!e?.form.vehicleRegistrationNumber||e?.form.vehicleRegistrationNumber===`TBA`,trailer:{registrationNumber:e?.trailer?.form.trailerRegistrationNumber??``,registrationNumberIsUnknown:!e?.trailer?.form.trailerRegistrationNumber||e?.trailer?.form.trailerRegistrationNumber===`TBA`}}},[x?.vehicles,n,c]),[{data:D}]=s({query:ce,variables:{routeId:a,localeId:r,vehicleDetails:E},pause:!S}),k=J(()=>{if(D?.validation.validateVehicleDetails)return de(D.validation.validateVehicleDetails)},[D?.validation.validateVehicleDetails]),A=q(()=>{let e=x?.vehicles.find(e=>e.vehicleId===n);T({vehicleRegistrationNumber:e?.form.vehicleRegistrationNumber??``,trailerRegistrationNumber:e?.trailer?.form.trailerRegistrationNumber??``}),C(!0)},[x,n]),j=q(()=>
42{y(ee({departureId:t,vehicleId:n,fields:{vehicleRegistrationNumber:w.vehicleRegistrationNumber}})),u&&y(R({departureId:t,vehicleId:n,fields:{trailerRegistrationNumber:w.trailerRegistrationNumber}})),C(!1)},[y,t,n,w.vehicleRegistrationNumber,w.trailerRegistrationNumber,u]),M=q(()=>{C(!1)},[]),N=x?.vehicles.find(e=>e.vehicleId===n),P=i(N?.form.vehicleRegistrationNumber)||i(N?.trailer?.form.trailerRegistrationNumber);return!m&&!P?null:(0,H.jsxs)(H.Fragment,{children:[f?(0,H.jsx)(b,{label:g(`VehicleDetails.Overview.EditVehicleButton`),"aria-label":_,variant:`heavy`,onClick:A}):(0,H.jsx)(h,{label:g(`VehicleDetails.Overview.EditVehicleButton`),"aria-label":_,variant:`heavy`,onClick:A}),(0,H.jsx)(O,{isOpen:S,onRequestClose:M,children:(0,H.jsx)(K,{vehicleName:o,onSubmit:j,onCancel:M,renderForm:()=>(0,H.jsx)(G,{hasTrailer:u,vehicleTypeName:l,trailerTypeName:d,value:w,onValueChange:T,validationErrorMessages:k})})})]})},de=e=>{let t={vehicleRegistrationNumber:void 0,trailerRegistrationNumber:void 0};return e.vehicleResult.__typename===`ValidateVehicleDetailsInvalid`&&e.vehicleResult.registrationNumber.__typename===`ValidateVehicleFieldInvalid`&&(t.vehicleRegistrationNumber=e.vehicleResult.registrationNumber.messages.map(e=>e.text)),e.trailerResult?.__typename===`ValidateTrailerDetailsInvalid`&&e.trailerResult.registrationNumber.__typename===`ValidateTrailerFieldInvalid`&&(t.trailerRegistrationNumber=e.trailerResult.registrationNumber.messages.map(e=>e.text)),t},X={detailsRow:`_detailsRow_14eyz_1`};await w(`react`);var fe=({index:e,id:t,isRegistrationNumberMandatory:n,renderEditVehicleModalButton:i,vehicleRegistrationNumber:a,trailerRegistrationNumber:o,vehicleTypeName:s,trailerTypeLabel:l,hasTrailer:d,hasUnsavedChanges:f})=>{let p=v(),h=`${s} ${e}`,_=`${t}-name`,y=oe(a,d,o,n);return(0,H.jsx)(`li`,{children:(0,H.jsx)(`article`,{"aria-labelledby":_,children:(0,H.jsxs)(r,{alignItems:`center`,justifyContent:`space-between`,flexWrap:`wrap`,gap:2,children:[(0,H.jsxs)(u,{children:[(0,H.jsx)(m,{id:_,variant:`h4`,children:h}),(0,H.jsxs)(u,{"data-piimask":!0,children:[(n||a)&&(0,H.jsxs)(`dl`,{className:X.detailsRow,children:[(0,H.jsx)(`dt`,{hidden:!0,children:p(`VehicleDetails.Overview.RegistrationNumberScreenReaderLabel`)}),` `,(0,H.jsx)(`dd`,{children:(0,H.jsx)(g,{color:c(`--swui-text-disabled-color`),children:a||p(`VehicleDetails.Overview.NoRegistrationNumberTagLabel`)})})]}),d&&(0,H.jsx)(H.Fragment,{children:(0,H.jsx)(`dl`,{className:X.detailsRow,children:n||o?(0,H.jsxs)(`dt`,{children:[(0,H.jsxs)(g,{variant:`bold`,children:[l,`:\xA0`]}),(0,H.jsx)(g,{color:c(`--swui-text-disabled-color`),children:o||p(`VehicleDetails.Overview.NoRegistrationNumberTagLabel`)})]}):(0,H.jsx)(`dt`,{children:(0,H.jsx)(g,{variant:`bold`,children:l})})})}),(f||y)&&(0,H.jsxs)(r,{gap:1,alignItems:`center`,flexWrap:`wrap`,children:[f&&(0,H.jsx)(te,{}),y&&(0,H.jsx)(ie,{})]})]})]}),(0,H.jsx)(u,{children:i(h,y)})]})})})},pe=_(`
43  query VehicleRegistrationNumberMandatoryForSailing(
44    $routeId: ID!
45    $salesOwnerId: ID!
46    $sailingId: ID!
47  ) {
48    vehicleType {
49      all(
50        routeId: $routeId
51        salesOwnerId: $salesOwnerId
52        salesChannelCode: "PIB"
53      ) {
54        id
55        config(
56          routeId: $routeId
57          salesOwnerId: $salesOwnerId
58          salesChannelCode: "PIB"
59        ) {
60          id
61          isVehicleRegistrationNumberMandatory(outwardSailingId: $sailingId)
62        }
63      }
64    }
65  }
66`),me=({routeId:e,sailingId:t})=>`${t}::${e}`,he=e=>{let t=new Map;for(let n of e)t.set(me(n),n);return[...t.values()]},ge=async(e,t,{routeId:n,sailingId:r})=>{let{data:i,error:a}=await e.query(pe,{routeId:n,salesOwnerId:t,sailingId:r}).toPromise();if(a)throw a;return(i?.vehicleType.all??[]).some(e=>e.config.isVehicleRegistrationNumberMandatory)},_e=async(e,t,n)=>{let r=await Promise.all(he(n).map(async n=>[n.sailingId,await ge(e,t,n)]));return Object.fromEntries(r)},ve=e=>i(e.vehicleRegistrationNumber)||i(e.trailerRegistrationNumber),ye=e=>e.some(e=>e.vehicles.some(ve)),be=e=>Object.values(e).some(Boolean),xe=({anyRegistrationNumberPresent:e,vehicleRegistrationNumberMandatoryForAnySailing:t,loading:n,error:r})=>e||r!=null?!0:!n&&t===!0;await w(`react`);var{useEffect:Se,useState:Z}=await w(`react`),Ce=({salesOwnerId:e,sailings:t,render:n})=>{let r=d(),[i,a]=Z({value:void 0,loading:!0,error:void 0});return Se(()=>{let n=!0;return a(e=>({...e,loading:!0,error:void 0})),_e(r,e,t).then(e=>{n&&a({value:be(e),loading:!1,error:void 0})}).catch(e=>{n&&a({value:void 0,loading:!1,error:e})}),()=>{n=!1}},[r,e,t]),(0,H.jsx)(H.Fragment,{children:n({vehicleRegistrationNumberMandatoryForAnySailing:i.value,loading:i.loading,error:i.error})})},we=(e,t,n)=>t?e.flatMap(e=>{let r=t.find(t=>
66t.id===e.departureId)?.route.id;if(!r)return[];let i=(n[e.departureId]?.vehicles??[]).map(e=>({vehicleRegistrationNumber:e.form.vehicleRegistrationNumber,trailerRegistrationNumber:e.trailer?.form.trailerRegistrationNumber}));return[{routeId:r,sailingId:e.departureId,vehicles:i}]}):[],Q=await w(`react`),{useMemo:$}=await w(`react`),Te=e=>e.partyDetails,Ee=({renderBelow:r,bookingProjectionAfterPageEvents:i,editEnabled:a,localeId:s,changedVehicleIds:c,changedTrailerIds:d,renderLoading:m,renderError:h})=>{let g=v(),_=M(),y=p(Te),{data:b,isFetching:x,error:C}=A({sailingIds:i.departures.map(e=>e.departureId)}),{hasAnySailingDeparted:w,departedByDepartureId:T}=ne(i.departures.map(e=>e.departureId)),E=e(),D=p(o),O=(0,se.first)(i.departures),k=$(()=>{if(!y.vehicleDetailsSameOnAllDepartures||!y.vehicleDetailsSameOnAllDeparturesTargetDepartureId)return i.departures;let e=i.departureById[y.vehicleDetailsSameOnAllDeparturesTargetDepartureId];return e?[e]:i.departures},[i.departureById,i.departures,y.vehicleDetailsSameOnAllDepartures,y.vehicleDetailsSameOnAllDeparturesTargetDepartureId]),F=$(()=>we(i.departures,b,y.userSelection.byDeparture),[b,i.departures,y.userSelection.byDeparture]),I=$(()=>F.map(({routeId:e,sailingId:t})=>({routeId:e,sailingId:t})),[F]);if(x)return m();if(i.departures.length===0||C||!b||b.length===0)return h();let R=ye(F);return(0,H.jsxs)(t,{children:[k.map((e,t)=>{let r=b.find(t=>t.id===e.departureId)?.route.id,o=T[e.departureId];return r?(0,H.jsxs)(Q.Fragment,{children:[!y.vehicleDetailsSameOnAllDepartures&&(0,H.jsx)(P,{departureId:e.departureId,languageId:_.languageCode,salesOwnerId:_.salesOwnerId,render:e=>(0,H.jsx)(N,{localeId:s,...e})}),(0,H.jsx)(f,{children:(0,H.jsx)(S,{children:(0,H.jsxs)(u,{gap:3,children:[e.vehicles.length===0?(0,H.jsx)(re,{text:g(`VehicleDetails.Overview.Vehicle.NoVehiclesText`),icon:l,variant:`small`}):(0,H.jsx)(U,{children:e.vehicles.map((t,n)=>{let i=y.userSelection.byDeparture[e.departureId]?.vehicles.find(e=>e.vehicleId===t.vehicleId);if(i==null)return null;let l=(c?.has(i.vehicleId)??!1)||i.trailer!=null&&(d?.has(i.trailer.trailerId)??!1);return(0,H.jsx)(ae,{routeId:r,sailingId:e.departureId,salesOwnerId:_.salesOwnerId,localeId:s,vehicleTypeId:i.vehicleTypeCode,trailerTypeId:i.trailer?.trailerTypeCode,renderVehicle:(t,c,u)=>(0,H.jsx)(fe,{id:i.vehicleId,hasUnsavedChanges:l,"data-piimask":!0,vehicleTypeName:t,trailerTypeLabel:g(`VehicleDetails.Overview.Trailer.Description`),vehicleRegistrationNumber:i.form.vehicleRegistrationNumber,trailerRegistrationNumber:i.trailer?.form.trailerRegistrationNumber,isRegistrationNumberMandatory:c,hasTrailer:i.trailer!=null,index:n+1,renderEditVehicleModalButton:(n,l)=>a&&!o&&(0,H.jsx)(ue,{localeId:s,routeId:r,vehicleTypeId:i.vehicleTypeCode,departureId:e.departureId,vehicleId:i.vehicleId,vehicleName:n,vehicleTypeLabel:t,hasTrailer:!!i.trailer,trailerTypeLabel:u,isRegistrationNumberMandatory:c,registrationMissing:l})})},i.vehicleId)})}),o&&(0,H.jsx)(L,{})]})})}),a&&t===0&&!w&&i.departures.length>1&&i.isSameVehicleStructureOnAllDepartures&&!D&&O&&(0,H.jsx)(Ce,{salesOwnerId:_.salesOwnerId,sailings:I,render:({vehicleRegistrationNumberMandatoryForAnySailing:e,loading:t,error:n})=>xe({anyRegistrationNumberPresent:R,vehicleRegistrationNumberMandatoryForAnySailing:e,loading:t,error:n})?(0,H.jsx)(j,{label:g(`PartyDetails.VehicleDetailsPerDeparture`),value:!y.vehicleDetailsSameOnAllDepartures,onValueChange:()=>{y.vehicleDetailsSameOnAllDepartures?E(z.setVehicleDetailsPerDeparture()):E(z.setVehicleDetailsSameOnAllDepartures({targetDepartureId:O.departureId}))}}):null})]},e.departureId):(0,H.jsx)(Q.Fragment,{children:(0,H.jsx)(n,{heading:g(`EmptyState.CouldNotFindRouteForDeparture`)})},e.departureId)}),r?.()]})};export{Ee as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.