1import{b as O,aj as L,r as N,i as f,w as V,aG as E,aw as v,bK as J,e as o,W as n,a7 as s,an as u,a1 as l,bB as B,Z as p,X as R,aM as S,ao as _,a8 as m,f as b,a5 as j,T as c,al as q,bF as U,aA as z,U as W}from"./entry.kc5avEVQ.js";import{I as F}from"./icon-svg.3i0PTevW.js";import{J as Y}from"./Dropdown.So9DF6nf.js";import{M as K}from"./MoreInfo.NsKkMyQ8.js";import{e as I,d as X}from"./body-scroll-lock.SFLxkBvS.js";import{I as Z}from"./information-box-alternative.VbxVDtYb.js";import{J as H}from"./Button.SV4vzNGa.js";import{I as T}from"./InputText.VYpvIr7I.js";import{u as Q}from"./use-reactive-breakpoints.O-jKNsBw.js";const x={class:"booking-panel"},ee={key:0,class:"booking-panel__content","data-testid":"bookingContent"},oe={class:"booking-panel__header"},te={class:"booking-panel__header__title"},ne={class:"booking-panel__title"},le=["onClick"],ae=["disabled"],ie={key:1,class:"james-icon-disabled"},se={key:0,class:"booking-panel__body-header"},ce={key:0,class:"booking-panel__body-title"},de={key:1,class:"booking-panel__body-text"},re={key:2,class:"booking-panel__travel-info"},ue={class:"booking-panel__insufficient-capacity-text"},pe=O({__name:"AccommodationSidePanel",props:{panelTitle:{default:null},panelFields:{default:null},bodyTitle:{default:null},bodyText:{default:null},helpText:{default:null},showPanel:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["close"],setup(P,{emit:A}){const k=P,$=A,w=["scroll","auto"],{t:a}=L({useScope:"global"}),{isDesktop:C}=Q(),y=N(null),h=f(()=>k.panelFields?.insufficientGuestCapacity??null),D=f(()=>({content:k.helpText?.frontendTitle??a("cl.tooltip.help"),placement:"bottom",html:!1})),G=f(()=>{const e=h.value;return e?a("cl.accommodations.booking.insufficient_guest_capacity_intro",{requiredGuests:e.requiredGuests}):""}),M=f(()=>{const e=h.value;if(!e)return"";const d=e.missingAdults??0,r=e.missingChildren??0,t=d>0?a("cl.accommodations.general.%_adults",d):null,i=r>0?a("cl.accommodations.general.%_children",r):null;return t&&i?a("cl.accommodations.booking.insufficient_guest_capacity_fit_with_children",{adults:t,children:i}):t?a("cl.accommodations.booking.insufficient_guest_capacity_fit_adults_only",{adults:t}):i?a("cl.accommodations.booking.insufficient_guest_capacity_fit_children_only",{children:i}):""});function g(){$("close")}return V(()=>k.showPanel,e=>{const d=y.value;e?z(()=>{X(d,{allowTouchMove:r=>{let t=r;for(;t&&t!==document.body;){const i=window.getComputedStyle(t);if(w.includes(i.overflowY)||w.includes(i.overflow))return!0;t=t.parentElement}return!1}},v())}):I(d,v())}),E(()=>{I(y.value,v())}),(e,d)=>{const r=J("tooltip");return o(),n("div",x,[s(B,{name:"booking-panel__backdrop--transition",appear:""},{default:u(()=>[e.showPanel?(o(),n("button",{key:0,type:"button",class:"james-div-styles booking-panel__backdrop",onClick:g})):l("",!0)]),_:1}),s(B,{name:c(C)?"booking-panel__content--transition":"fade",appear:""},{default:u(()=>[e.showPanel?(o(),n("div",ee,[p("header",oe,[p("div",te,[p("h2",ne,[e.panelTitle?(o(),n(R,{key:0},[S(_(e.panelTitle),1)],64)):m(e.$slots,"title",{key:1},void 0,!0)]),e.helpText?(o(),b(Y,{key:0,class:"booking-panel__header__title__help-text",title:e.helpText.frontendTitle,type:c(q).MODAL,"hide-footer":""},{default:u(({toggleDropdown:t})=>[m(e.$slots,"select-toggle",{toggleSelect:t},()=>[j((o(),n("button",{type:"button",onClick:t},[s(F,{class:"booking-panel__header__title__help-text__icon",icon:"question-filled",size:"22"})],8,le)),[[r,c(D)]])],!0)]),content:u(()=>[s(K,{"is-mobile":!c(C),nodes:e.helpText.helpText},null,8,["is-mobile","nodes"])]),_:3},8,["title","type"])):l("",!0)]),p("button",{type:"button",disabled:e.loading,class:"btn-neutral booking-panel__back-button",onClick:U(g,["stop","prevent"])},[e.loading?(o(),n("span",ie)):(o(),b(F,{key:0,icon:"close",size:"24"}))],8,ae)]),p("main",{ref_key:"panelBody",ref:y,class:"booking-panel__body","data-testid":"bookingOfferList"},[e.bodyTitle||e.bodyText||e.panelFields?(o(),n("div",se,[e.bodyTitle?(o(),n("h3",ce,_(e.bodyTitle),1)):l("",!0),e.bodyText?(o(),n("p",de,_(e.bodyText),1)):l("",!0),e.panelFields?(o(),n("div",re,[s(T,{class:"booking-panel__travel-info-field",icon:"calendar",label:e.$t("cl.accommodations.booking.travel_date"),"is-fixed":"",disabled:"","model-value":e.panelFields.travelDate??""},null,8,["label","model-value"]),s(T,{class:"booking-panel__travel-info-field",icon:"accommodation",label:e.$t("cl.accommodations.booking.guest_and_rooms"),"is-fixed":"",disabled:"","model-value":e.panelFields.guestsAndRoomsText??""},null,8,["label","model-value"]),e.panelFields.roomTitle?(o(),b(T,{key:0,class:"booking-panel__travel-info-field",icon:"accommodation",label:e.$t("cl.accommodations.general.room"),"is-fixed":"",disabled:"","model-value":e.panelFields.roomTitle??""},null,8,["label","model-value"])):l("",!0)])):l("",!0),c(h)?(o(),b(Z,{key:3,text:"",type:"primary",class:"booking-panel__insufficient-capacity"},{default:u(()=>[p("span",ue,_(`${c(G)} ${c(M)}`),1),s(H,{"outline-color":"",sm:"",onClick:g},{default:u(()=>[S(_(e.$t("cl.accommodations.booking.insufficient_guest_capacity.change_selection")),1)]),_:1})]),_:1})):l("",!0)])):l("",!0),m(e.$slots,"content",{},void 0,!0)],512),m(e.$slots,"footer",{},void 0,!0)])):l("",!0)]),_:3},8,["name"])])}}}),Te=W(pe,[["__scopeId","data-v-fcbfe663"]]);export{Te as A};
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.