@roomstay/frontend 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/218.bundle.js +1 -1
  2. package/dist/882.bundle.js +1 -1
  3. package/dist/main.bundle.js +1 -1
  4. package/dist/src/api/ReservationAPI.js +2 -2
  5. package/dist/src/api/ReservationAPI.js.map +1 -1
  6. package/dist/src/components/generic/Placeholder.d.ts +4 -4
  7. package/dist/src/components/generic/Placeholder.js +7 -4
  8. package/dist/src/components/generic/Placeholder.js.map +1 -1
  9. package/dist/src/components/generic/date/DatePicker.js +4 -4
  10. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  11. package/dist/src/components/generic/date/WeekViewSkeleton.d.ts +2 -0
  12. package/dist/src/components/generic/date/WeekViewSkeleton.js +68 -0
  13. package/dist/src/components/generic/date/WeekViewSkeleton.js.map +1 -0
  14. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +8 -2
  15. package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
  16. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +6 -2
  17. package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
  18. package/dist/src/components/steps/room/StepRoomSortBy.js +7 -1
  19. package/dist/src/components/steps/room/StepRoomSortBy.js.map +1 -1
  20. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +2 -2
  21. package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
  22. package/dist/src/components/summary/BESummary.js +2 -2
  23. package/dist/src/components/summary/BESummary.js.map +1 -1
  24. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +1 -1
  25. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  26. package/dist/test.bundle.js +1 -1
  27. package/dist/tests/offline/entry/RSCompany.js +4 -0
  28. package/dist/tests/offline/entry/RSCompany.js.map +1 -1
  29. package/dist/vendors.bundle.js +1 -1
  30. package/package.json +2 -2
@@ -1 +1 @@
1
- (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[218],{5032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(5671),a=n(3144),o=n(136),l=n(2963),i=n(1120);var c=function(e){(0,o.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(s,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),s}(n(7112).x)},4218:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return et}});var r=n(7294),a=n(3010),o=n(5692),l=n(3933),i=n(3727),c=n(9874),s=n(3821),u=n(9478),m=n(370),d=n(292),f=n(8279),p=n(4478),v=n(7462),g=n(885),E=n(8886),h=n(584),y=n(7754);function b(e){var t=e.addon;return r.createElement("div",{className:"additional-offers--column "+(e.selected?"--selected":""),style:{backgroundImage:"url('".concat(t.image,"')")},onClick:function(){e.cardClicked()}},r.createElement("div",{className:"additional-offers--column-body"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.White},r.createElement("strong",null,t.name)),r.createElement("div",{className:"u-flex"},r.createElement(h.ZP,{inline:!0,type:h.yG.Small,color:y.I.White},"See details"),r.createElement(E.ZP,{icon:E.Tu.ArrowRight,color:y.I.White}))))}var C=n(1472),Z=n(3460),x=n(7582),k=n(5128),S=n(6380),P=n(3122),w=n(4854),N=n(858),A=n(9314);function I(e){var t,n=e.addon,o=((0,p.$)().t,(0,r.useContext)(A.hy)),l=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),i=(0,g.Z)(l,2),c=i[0],s=i[1],u=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),m=(0,g.Z)(u,2),d=m[0],f=m[1],v=(0,r.useState)({quantity:1}),b=(0,g.Z)(v,2),C=b[0],Z=b[1],x=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),I=(0,g.Z)(x,2),W=I[0],R=I[1],M=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),T=(0,g.Z)(M,2),_=T[0],D=T[1],q=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),F=(0,g.Z)(q,2),G=F[0],L=F[1];return r.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(Z(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),s(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),f(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),R(e.basketAddonRow.getQuantity()),D(e.basketAddonRow.getAdultQuantity()),L(e.basketAddonRow.getChildQuantity())):(Z(n.availability[n.firstDate]),s(n.firstDate),f(null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)),function(){R(1),D(1),L(0)}}),[n]),r.createElement(k.Z,{open:e.isOpen,onClose:e.onClose,size:k.g.Small,title:n?n.name:""},n&&r.createElement(r.Fragment,null,r.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image,'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n.name)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.DarkGrey},n.description)),r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Date"),r.createElement(P.Z,{className:"u-flex align-items-center",onChange:function(e){var t,r,a,o;t=e,Z(n.availability[t]),s(t),f(null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value),n.availability[t].quantity<W&&R(n.availability[t].quantity)},selectedValue:c,iconComponent:E.Tf,items:n.selectorDates}))),0!==(null==C||null===(t=C.selectorTimes)||void 0===t?void 0:t.length)&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Time"),r.createElement(P.Z,{className:"u-flex align-items-center",onChange:function(e){f(e)},selectedValue:d,iconComponent:E.Tf,items:null==C?void 0:C.selectorTimes}))),C.price&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Quantity"),r.createElement(S.Z,{number:W,min:1,max:C.quantity,onChange:function(e){R(e)}}))),C.adultPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Adults"),r.createElement(S.Z,{number:_,min:0,max:C.quantity-G,onChange:function(e){D(e)}}))),C.childPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Children"),r.createElement(S.Z,{number:G,min:0,max:C.quantity-_,onChange:function(e){L(e)}}))),r.createElement("div",{className:"u-flex align-items-center u-marg-top"},C.price&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.price),"/ Qty"),C.adultPrice&&C.childPrice&&r.createElement("h2",{className:"u-marg-none"},r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.adultPrice)," / Adult"),r.createElement("br",null),r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.childPrice)," / Child")),C.adultPrice&&!C.childPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.adultPrice)," / Adult"),C.childPrice&&!C.adultPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.childPrice)," / Child"),r.createElement(w.Z,{filled:!0,primary:!0,onClick:function(){o.setAddonQuantities(n,{quantity:W,adult:_,child:G},c,d),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(h.ZP,{type:h.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(h.ZP,{type:h.yG.Small},n.cancelPenalty))))))}var W=n(4516),R=n(9740),M=n(7832),T=n(7688);function _(){var e=(0,r.useContext)(A.hy),t=(0,r.useContext)(A.Qm),n=(0,T.WP)().hotel,o=(0,C.useSpring)((function(){return{x:0}})),l=(0,g.Z)(o,2),i=l[0].x,c=l[1],s=(0,Z.Z)(),m=(0,g.Z)(s,2),d=m[0],f=m[1],k=(0,p.$)().t,S=r.useState([]),P=(0,g.Z)(S,2),w=P[0],N=P[1],_=(0,r.useState)(!1),D=(0,g.Z)(_,2),q=D[0],F=D[1],G=(0,r.useState)(null),L=(0,g.Z)(G,2),O=L[0],H=L[1],U=(0,r.useState)(!1),B=(0,g.Z)(U,2),V=B[0],j=B[1],z=(0,r.useState)(0),Q=(0,g.Z)(z,2),Y=Q[0],J=Q[1],X=(0,r.useState)(0),K=(0,g.Z)(X,2),$=(K[0],K[1]),ee=(0,r.useState)(-1),te=(0,g.Z)(ee,2),ne=te[0],re=te[1];r.useEffect((function(){var t=!1,r=e.getAllValidRows();return j(!0),W.Z.Addons.findAddons(r,n.hotelID).then((function(e){t||(j(!1),N(e))})),function(){j(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*w.length>=f.width,le=(0,x.c0)((function(e){var t=e.down,n=(0,g.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)c({x:Y+1.5*t});else{var n=Y+t,r=(w.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-f.width+ae))a=-(r-f.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,$(l),re(0)}c({x:a}),J(a)}};return r.createElement(R.Z,{open:!V&&0!==(null==w?void 0:w.length)||(null==n?void 0:n.showAddonLoader)},r.createElement("div",{className:"u-pad-bottom--heavy "},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},k(u.W.Step.Confirmation.AdditionalOfferings))),V&&null!=n&&n.showAddonLoader?r.createElement(M.Z,null):0===(null==w?void 0:w.length)?r.createElement("div",null,r.createElement(h.ZP,{color:y.I.DarkGrey},"Sorry, there are currently no additional offerings available.")):r.createElement("div",{className:"additional-offers"+(w.length>2?"":" --wide"),ref:d},oe&&r.createElement("div",{className:"additional-offers--navigation"},r.createElement(E.ZP,{icon:E.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?y.I.DarkGrey:y.I.White,backgroundColor:y.I.Navy,borderRadius:"round",size:"24px"}),r.createElement(E.ZP,{icon:E.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?y.I.DarkGrey:y.I.White,backgroundColor:y.I.Navy,borderRadius:"round",size:"24px"})),r.createElement("div",{className:"additional-offers--track-container"},r.createElement(C.animated.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:i}}),w.map((function(t,n){return r.createElement(b,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){F(!0),H(t)}})}))))),r.createElement(I,{isOpen:q&&!!O,addon:O,basketAddonRow:e.getRowForAddon(O),onClose:function(){F(!1)}})))}var D=n(7933),q=n(7484);function F(e){var t=(0,r.useState)(e.endTimeDate.diff(q(),"second")),n=(0,g.Z)(t,2),a=n[0],o=n[1];return(0,r.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(a>0?o((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[a]),(0,r.useMemo)((function(){var e=[Math.floor(a/60/60),Math.floor(a/60%60),Math.floor(a%60)];return r.createElement(r.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[a])}var G=n(4544);function L(e){var t=(0,r.useState)(!1),n=(0,g.Z)(t,2),o=n[0],l=n[1];return r.createElement(D.ZP,{type:D.NK.Accent1},r.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},r.createElement("div",null,r.createElement(h.ZP,null,r.createElement("strong",null,"Your room is")),r.createElement(h.ZP,null,r.createElement("strong",null,"being held for"))),r.createElement("div",{className:o?"a-flash":""},r.createElement(a.Z,{size:"large",bold:!0,color:y.I.White},r.createElement(F,{endTimeDate:e.endDate,onEnd:function(){G.ZP.instance.sendInteraction("Countdown End Seen",G.s_.LINK,G._J.GUEST_DETAILS),l(!0)}})))))}var O,H=n(4511),U=n(5400),B=n(6337),V=n(5032),j=n(5861),z=n(4687),Q=n.n(z),Y=n(7536),J=n(5987),X=n(4942),K=n(5993),$=n(1432),ee=n(5762),te=n(3261),ne=n(6604),re=n(1248);!function(e){e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.Country="Country"}(O||(O={}));var ae=n(9024),oe=n(6598),le=n(6431),ie=["ref","onChange"],ce=function(){var e=(0,Y.Gc)(),t=e.register,n=e.formState,o=e.control,l=e.watch,i=e.getValues,s=e.setValue,m=(0,r.useContext)(A.hy),d=m.getAllValidRows(),f=m.basketAddonRows,b=(0,Y.Dq)({control:o,name:"userProfiles"}),C=b.update,Z=b.fields,x=l(["copyCheckBox","paymentMethod"]),k=(0,g.Z)(x,2),S=k[0],P=k[1],w=n.errors,N=(0,p.$)().t,I=(0,r.useContext)(A.P0).roomstayMember;(0,r.useEffect)((function(){var e;null===(e=w.userProfiles)||void 0===e||e.forEach((function(e,t){w.userProfiles[t]&&(T[t]=!0)})),_(T.slice(0))}),[w.userProfiles,S]),(0,r.useEffect)((function(){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return 0===e?t:""},t=d.map((function(t,n){var r,a,o,l,i;return i={},(0,X.Z)(i,O.Forename,e(n,null==I?void 0:I.forename)),(0,X.Z)(i,O.Surname,e(n,null==I?void 0:I.surname)),(0,X.Z)(i,O.Email,e(n,null==I?void 0:I.email)),(0,X.Z)(i,O.Phone,e(n,null==I?void 0:I.phoneNumber)),(0,X.Z)(i,O.Address,e(n,null==I||null===(r=I.address)||void 0===r?void 0:r.address)),(0,X.Z)(i,O.City,e(n,null==I||null===(a=I.address)||void 0===a?void 0:a.city)),(0,X.Z)(i,O.PostCode,e(n,null==I||null===(o=I.address)||void 0===o?void 0:o.zip)),(0,X.Z)(i,O.Country,e(n,null==I||null===(l=I.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",(null==d?void 0:d.length)&&d.length>1)}),[I,null==d?void 0:d.length]);var W=(0,r.useState)(d.map((function(e,t){return 0===t}))),M=(0,g.Z)(W,2),T=M[0],_=M[1],q=function(e,t){return function(e){G.ZP.instance.sendInteraction(t,G.s_.FORM_FIELD,G._J.GUEST_DETAILS)}};return(0,r.useEffect)((function(){S&&Z.forEach((function(e,t){0!==t&&C(t,i("userProfiles.0"))}))}),[S]),(0,r.useEffect)((function(){var e=l((function(e,t){var n=t.name;"change"===t.type&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&Z.map((function(e,t){0!==t&&C(t,i("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[Z]),(0,r.useEffect)((function(){G.ZP.instance.sendCheckoutView(d,f)}),[]),r.createElement(r.Fragment,null,Z.map((function(e,l){var i,s=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,l)},m=function(e){var t;return!w.userProfiles||S&&l>=1?null:null!==(t=w.userProfiles[l])&&void 0!==t&&t[e]?"error":"success"},f=d[l],p=S&&l>=1||P===oe.EBookingPaymentMethod.Planpay;return r.createElement("div",{key:e.id},r.createElement("div",{className:0===l?"":"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==l&&function(e,t){T.splice(e,1,t),_(T.slice(0))}(l,!T[l])}},r.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},r.createElement(a.Z,{bold:!0},N(u.W.Misc.Room)," ",l+1),0!==l&&r.createElement(E.ZP,{icon:T[l]?E.Tu.ArrowDown2:E.Tu.ArrowUp2,color:y.I.Grey})),f&&r.createElement("div",{className:"u-marg-bottom"},r.createElement(h.ZP,null,r.createElement("strong",{className:"u-block@l-"},f.getRoom().name)," for"," ",te.Z.pluralWithDictAndCount(f.getAdults(),u.W.Step.Date.Adult,N),", ",te.Z.pluralWithDictAndCount(f.getChildren(),u.W.Step.Date.Child,N)),r.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Accent},r.createElement("strong",null,f.getStartDate().format("ddd, MMM D"))),r.createElement(E.ZP,{icon:E.Tu.ArrowRight2,size:"18px"}),r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Accent},r.createElement("strong",null,f.getEndDate().format("ddd, MMM D"))))),(null===(i=w.userProfiles)||void 0===i?void 0:i[l])&&n.submitCount>=1&&(0===l||!S)&&Object.values(w.userProfiles[l]).map((function(e,t){return r.createElement(R.Z,{key:t,open:!0},r.createElement("div",{className:"u-flex"},r.createElement(D.ZP,{icon:E.Tu.Error,type:D.NK.Danger,noMargin:t===Object.keys(w.userProfiles[l]).length-1},r.createElement(h.ZP,{type:h.yG.Small},null==e?void 0:e.message))))}))),r.createElement("div",{className:"room-contact-details--row",style:{maxHeight:T[l]?"":0}},r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,N(u.W.Step.Confirmation.ContactInfo)))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:m(O.Forename)},t(s(O.Forename),{onChange:q(s(O.Forename),"Forename - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Forename)})}}))),r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:m(O.Surname)},t(s(O.Surname),{onChange:q(s(O.Surname),"Surname - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Surname)})}})))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:m(O.Email),required:!0},t(s(O.Email),{onChange:q(s(O.Email),"Email - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:le.CU,message:N(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),re.Z.isActive()?r.createElement(Y.Qr,{control:o,name:s(O.Phone),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return r.createElement(ne.Z,(0,v.Z)({disabled:p,validationStatus:m(O.Phone)},t,{onChange:function(e){t.onChange(e),q(s(O.Phone),"Phone - Contact Info")(e)}}))}}):r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:m(O.Phone)},t(s(O.Phone),{onChange:q(s(O.Phone),"Phone - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Phone)})}}))))),r.createElement("div",{className:""},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,N(u.W.Step.Confirmation.Address)))),r.createElement(K.Z,{dimensions:"3/1"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:m(O.Address)},t(s(O.Address),{onChange:q(s(O.Address),"Address - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Address)})}}))),r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:m(O.City)},t(s(O.City),{onChange:q(s(O.City),"City - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.City)})}})))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:m(O.PostCode)},t(s(O.PostCode),{onChange:q(s(O.PostCode),"PostCode - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.PostCode)})}}))),r.createElement(Y.Qr,{control:o,name:s(O.Country),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),a=(0,J.Z)(t,ie);return r.createElement(ee.Z,(0,v.Z)({disabled:p,validationStatus:m(O.Country),onChange:function(e){n(e),q(s(O.Country),"Country - Address")(e)}},a))}})))),r.createElement(c.Z,null)),Z.length>1&&0===l?r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(ae.Z,(0,v.Z)({label:N(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))};function se(){var e=(0,p.$)().t,t=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),r.createElement("div",{className:"u-marg-bottom"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6 col-md-3"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckIn))),r.createElement(h.ZP,{type:h.yG.Small},e(u.W.Misc.After)," ",t.checkInTime)),r.createElement("div",{className:"col-6 col-md-3"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckOut))),r.createElement(h.ZP,{type:h.yG.Small},e(u.W.Misc.Before)," ",t.checkOutTime)))))}var ue=n(8029),me=n(2364),de=n(5112);function fe(){return r.createElement(de.Z,{title:"Shop without worries! This site is protected by high level encryption, to ensure every purchase is always safe & secure"},r.createElement("img",{src:me.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var pe=n(3409);function ve(e){var t,n,o=(0,r.useContext)(A.hy),l=(0,r.useState)(q().add(14,"minute")),i=(0,g.Z)(l,2),s=i[0];i[1],(0,r.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var u=r.createElement("div",{className:"u-flex"},r.createElement(w.Z,{isText:!0,size:"small",icon:E.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},"Take me back"),r.createElement(w.Z,{primary:!0,filled:!0,icon:E.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},"Continue with reservation"));return r.createElement(k.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:"Your total price has Changed!",mobileFooter:u,desktopFooter:r.createElement("div",{className:"u-marg-heavy u-marg@m-"},u),size:k.g.Small,alignCenter:!0},r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-8"},r.createElement(h.ZP,{type:h.yG.Small},"We apologize for any inconvenience, but the price for your selected reservation has changed during your checkout, please confirm that you accept the new total shown below.")),r.createElement("div",{className:"col-md-4"},r.createElement(pe.ZP,{icon:E.Tu.Time,type:pe.Rm.Primary},r.createElement("span",{className:"u-marg-right--light"},"Reverts in"),r.createElement(F,{endTimeDate:s})))),r.createElement(c.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t=o.getAllValidRows().find((function(t){return t.getID()===e.id}));return r.createElement("div",{key:e.id},!!t&&r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,null,t.getRoom().name)),r.createElement(h.ZP,null,t.getRate().name)),r.createElement("div",{className:"u-flex u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Body},r.createElement("strong",null,"Displayed price:")),r.createElement(h.ZP,{color:y.I.Alert},r.createElement(N.Z,null,e.totalPrice.before))),r.createElement("div",{className:"u-flex"},r.createElement(h.ZP,{type:h.yG.Body},r.createElement("strong",null,"Actual price:")),r.createElement(h.ZP,{color:y.I.Success},r.createElement(N.Z,null,e.totalPrice.after))),r.createElement(c.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return r.createElement(h.ZP,{key:t},e)}))))}var ge=n(6550),Ee=n(1625);function he(){var e=(0,r.useContext)(A.hy),t=(0,p.$)().t,n=t(u.W.Misc.Room);return(0,r.useMemo)((function(){var a={},o=e.getAllValidRows(),l=0;return o.length>1?o.forEach((function(e){l++;var t=e.getRate(),n=a["".concat(t.cancelPolicyCode,"-").concat(t.guaranteeCode)];n||(n=a["".concat(t.cancelPolicyCode,"-").concat(t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:l,room:e})})):a[0]={rooms:[{index:1,room:o[0]}]},r.createElement("div",{className:"u-marg-bottom"},Object.values(a).map((function(e,a){var o=e.rooms[0];return r.createElement("div",{className:"u-marg-bottom--heavy",key:a},r.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){return r.createElement(h.ZP,{key:e.index,type:h.yG.Small},r.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",e.room.getRate().name)}))),r.createElement("div",{className:"u-marg-bottom"},r.createElement(h.ZP,{type:h.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),r.createElement(h.ZP,{type:h.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getGuaranteePolicy()}}))),r.createElement(h.ZP,{type:h.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),r.createElement(h.ZP,{type:h.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getCancellationPolicy()}})))})))}),[e.currentBasketRows])}var ye=n(6222),be=function(){var e,t=(0,p.$)().t,n=(0,T.WP)().hotel,o=(0,Y.Gc)(),l=o.control,i=null===(e=(0,o.getFieldState)("isPolicyConfirmed").error)||void 0===e?void 0:e.message;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},t(u.W.Step.Confirmation.Acknowledgement))),r.createElement("div",null,r.createElement(ae.Z,{label:t(u.W.Step.Confirmation.EmailSpecialOffers)})),r.createElement("div",{className:"u-marg-top--light"},r.createElement(Y.Qr,{control:l,render:function(e){var a=e.field,o=a.value,l=a.onChange,i=a.ref;return r.createElement(ae.Z,{checked:o,onChange:l,ref:i,label:r.createElement("div",null,t(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",r.createElement("a",{style:{color:y.I.Accent},className:"--underlined",href:n.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},t(u.W.Step.Confirmation.PrivacyPolicy)))})},name:"isPolicyConfirmed",rules:{required:{value:ye.Z.isActive(),message:t(u.W.Step.Confirmation.PrivacyPolicyError)}}})),r.createElement(R.Z,{open:!!i},r.createElement("div",{className:"u-flex u-marg-top"},r.createElement(D.ZP,{type:D.NK.Danger,icon:E.Tu.Error},r.createElement(h.ZP,{type:h.yG.Small},i)))))},Ce=n(4707),Ze=n(2912),xe=n(8016),ke=n(3423),Se=n(9747),Pe=n(514),we=function(){return r.createElement("div",null,r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(Se.Z,{type:"text",h:"md",blink:!0}),r.createElement(Se.Z,{type:"text",h:"md",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0}),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0}),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(Se.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(Se.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement(Se.Z,{type:"text",h:"lg",blink:!0})),r.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},r.createElement(Se.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},Ne=function(){var e,t,n=(0,r.useContext)(A.hy),a=(0,Pe.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,r.useLayoutEffect)((function(){null!=o&&o.id&&ke.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,r.useEffect)((function(){var e;ke.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),r.createElement(r.Fragment,null,r.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==o?void 0:o.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},r.createElement(we,null)))},Ae=n(258),Ie=(0,r.createContext)({}),We=function(){var e,t=(e=(0,ge.TH)().search,r.useMemo((function(){return new URLSearchParams(e)}),[e])),n=r.useMemo((function(){return new URLSearchParams(window.location.search)}),[window.location.search]),a=(0,r.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(e){return n.get(e)||t.get(e)}))}),[t]),o=(0,g.Z)(a,3);return{queryPaymentMethod:o[0],queryRoomstayId:o[1],queryPlanpayCheckoutId:o[2]}},Re={VI:"visa",MC:"mastercard",JC:"jcb",DS:"dinersclub",AX:"amex",DN:"dinersclub",UP:"unionpay"},Me=n(1291),Te=n(9527),_e=n(3733);function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qe=function(e){var t=(0,Te.K)().user,n=(0,r.useContext)(A.P0).cards,a=(0,r.useState)(),o=(0,g.Z)(a,2),l=o[0],i=o[1];return(0,r.useEffect)((function(){if(t.defaultCard){var e,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return De(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(n);try{for(r.s();!(e=r.n()).done;){var a=e.value;if(t.defaultCard===a.cardId)return void i(t.defaultCard)}}catch(e){r.e(e)}finally{r.f()}}n.length>0&&i(n[0].cardId)}),[t,n]),r.createElement(r.Fragment,null,r.createElement("div",null,n.map((function(e){return r.createElement(_e.c,{selected:l===e.cardId,onClick:function(){var t;t=e.cardId,i(t)},item:e})}))))},Fe=n(4184),Ge=function(e){var t,n=e.isCurrent,a=e.isDefault,o=e.style,l=(0,T.WP)().hotel,i=(null!==(t=null==l?void 0:l.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return Re[e]?{name:Re[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(i).map((function(e){return r.createElement("div",{key:e,id:i[e].name,className:Fe("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==a?void 0:a(e)}),style:Object.assign({backgroundImage:"url('".concat(me.Z.getAssetUrl()+"assets/img/"+i[e].name+".png","')"),backgroundSize:"contain"},o||{})})})))};function Le(e,t){var n,a=(0,T.WP)().hotel,o=(0,T.Kb)(),l=(0,r.useState)({}),i=(0,g.Z)(l,2),c=i[0],s=i[1],m=(0,p.$)().t,d=(0,T.b)().focusElement,f={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},v=(0,Me.c)([{label:m(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:m(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:f}},{label:m(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:f,placeholder:m(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:m(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:m(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:f}},{label:m(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:m(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:f}}]),y=(0,g.Z)(v.fields,4),b=y[0],C=y[1],Z=y[2],x=y[3],k=(v.triggerFieldUpdate,v.vgsForm),S=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r="Credit Card";break;case"expiration-date":r="Expiration Date";break;case"security-code":r="Security Code";break;default:r="Card Name"}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),s(t)};(0,r.useEffect)((function(){var e,t;c&&0!==Object.keys(c).length&&null!=b&&null!==(e=b.ref)&&void 0!==e&&e.current&&d(null==b||null===(t=b.ref)||void 0===t?void 0:t.current)}),[c]),(0,r.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){k?k.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=JSON.parse(r.data),o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return S({"expiration-date":{errorMessages:["Invalid - it must be in the format MM / YY or MM / YYYY"]}}),void t("invalid expiration date");var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:b.state.cardType};e(i)}),(function(e){S(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var P=(0,r.useRef)(null),w=(null!==(n=null==a?void 0:a.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Re[e]?{name:Re[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",null,r.createElement("div",null,!!o.user&&r.createElement(qe,{onCardSelected:function(e){}})),r.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=c[e];return r.createElement(R.Z,{open:!!t,key:e},r.createElement("div",{className:"u-flex"},r.createElement(D.ZP,{type:D.NK.Danger,icon:E.Tu.Error},r.createElement(h.ZP,{type:h.yG.Small},t))))})),r.createElement("div",{className:"u-marg-bottom"},r.createElement(Ge,{isCurrent:function(e){return null!==b.state.cardType&&w[e].name===b.state.cardType},isDefault:function(e){return null===b.state.cardType}})),r.createElement("form",{ref:P},r.createElement(K.Z,{dimensions:"2/2"},r.createElement("div",{className:b.getClasses(),ref:b.ref}),r.createElement(K.Z,{dimensions:"2/2"},r.createElement("div",{className:Z.getClasses(),ref:Z.ref}),r.createElement("div",{className:x.getClasses(),ref:x.ref}))),r.createElement(K.Z,{dimensions:"1"},r.createElement("div",{className:C.getClasses(),ref:C.ref})))))}var Oe=(0,r.forwardRef)(Le),He=n(4166),Ue=n.n(He),Be=function(e){var t,n=e.checked,a=e.onChange,o=e.disabled,l=e.label,i=e.renderContent,c=e.className,s=(0,r.useMemo)((function(){return Math.random().toString()}),[]);return r.createElement("label",{htmlFor:s,className:Fe(Ue().root,c,(t={},(0,X.Z)(t,Ue().disabled,o),(0,X.Z)(t,Ue().checked,n),t))},r.createElement("div",{className:Ue().header},r.createElement("input",{className:Ue().input,hidden:!0,disabled:o,id:s,onChange:a,type:"radio",checked:n}),r.createElement("div",{className:Ue().design}),r.createElement("div",{className:Ue().text},l)),r.createElement("div",null,i&&n&&r.createElement("div",{className:Ue().content},i())))},Ve=n(6928),je=n.n(Ve),ze=function(e){var t=e.options,n=e.value,a=e.onChange;return r.createElement("div",{className:je().root},t.map((function(e){var t=e.value,o=e.label,l=e.disabled,i=e.disabledReason,c=e.renderContent,s=r.createElement(Be,{className:je().item,key:t,checked:!l&&t===n,onChange:function(){l||a(t)},label:o,disabled:l,renderContent:function(){return r.createElement(R.Z,{open:!0},c())}});return l&&i?r.createElement(de.Z,{key:t,wrapperClasses:je().wrapper,title:i},s):r.createElement("div",{key:t,className:je().wrapper},s)})))};function Qe(){var e=(0,r.useState)({differences:[],warnings:[]}),t=(0,g.Z)(e,2),n=t[0],o=t[1],l=(0,r.useState)(""),i=(0,g.Z)(l,2),s=i[0],m=i[1],d=(0,p.$)().t,f=We(),b=f.queryPaymentMethod,C=f.queryRoomstayId,Z=f.queryPlanpayCheckoutId,x=(0,A.dF)(),k=(0,Y.Gc)(),S=(0,r.useContext)(Ie),P=S.isBackFromPlanpay,N=S.isLoading,I=S.apiErrors,W=S.clearApiErrors,R=S.book,_=S.rollbackReservation,F=S.commitReservation,G=(0,A.Kc)(),L=(0,r.useRef)(null),O=(0,ge.k6)(),H=(0,T.WP)().hotel,U=function(){var e=(0,j.Z)(Q().mark((function e(t){var n,r,a;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===oe.EBookingPaymentMethod.Planpay?3:10;break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",x.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",oe.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:oe.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:Z,RedirectUrl:a},e.abrupt("break",15);case 10:return e.t1=oe.EBookingPaymentMethod.Card,e.next=13,L.current.getTokenizedCode();case 13:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2};case 15:return e.abrupt("return",n);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,r.useEffect)((function(){var e,t=Object.values(oe.EBookingPaymentMethod).includes(b)?b:oe.EBookingPaymentMethod.Card;return k.setValue("paymentMethod",t),K(t),P&&(C===(null===(e=G.reservationData)||void 0===e?void 0:e.roomstayId)?B(t):_()),function(){P||_()}}),[]);var B=function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F(G.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),V=k.watch("paymentMethod");x.engine.getSessionProvider().getSession().then((function(e){m(e.source)}));var z=function(){var e=(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:O.push(Ze.Z.getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X(V,function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 2:return e.abrupt("return",!1);case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),X=function(){var e=(0,j.Z)(Q().mark((function e(t,n){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R((0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",U(t));case 1:case"end":return e.stop()}}),e)}))),(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,t!==oe.EBookingPaymentMethod.Card){e.next=4;break}return e.next=4,L.current.getTokenizedCode();case 4:return e.abrupt("return",!0);case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),(function(e){e&&o(e)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),K=function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===oe.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,_();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return r.createElement("form",null,P?r.createElement(M.Z,null):r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.GuestDetails))),r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Success},r.createElement("strong",null,d(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),r.createElement(ce,null),"inline"===s?r.createElement(D.ZP,{type:D.NK.Accent2,heavyPadding:!0},r.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},r.createElement("div",null,r.createElement(h.ZP,{color:y.I.Accent,bold:!0},d(u.W.Step.Confirmation.WantMoreRooms)),r.createElement(h.ZP,{color:y.I.Navy},d(u.W.Step.Confirmation.YouCanAddAndEditRooms))),r.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},r.createElement(w.Z,{filled:!0,primary:!0,icon:E.Tu.Add,iconPosition:"left",onClick:z},d(u.W.Step.Confirmation.AddMoreRooms))))):r.createElement(r.Fragment,null),xe.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},"Travel Agent")),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,d(u.W.Step.Confirmation.Inputs.IATANumber)))),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},d(u.W.Step.Confirmation.Inputs.IATANumberGuide))),r.createElement($.Z,(0,v.Z)({placeholder:d(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},k.register("IATANumber")))),r.createElement(c.Z,null)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.Comments))),r.createElement(Ae.Z,(0,v.Z)({disabled:V===oe.EBookingPaymentMethod.Planpay,placeholder:d(u.W.Step.Confirmation.Inputs.EnterSpecialRequestsHere)},k.register("comment")))),r.createElement(c.Z,null),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.PaymentInformation))),r.createElement(Y.Qr,{control:k.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,a=t.value;return r.createElement(r.Fragment,null,r.createElement("div",null,r.createElement(ze,{options:[{value:oe.EBookingPaymentMethod.Card,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",{className:"u-marg-right--light"},d(u.W.Step.Confirmation.CardLabel)),r.createElement(Ge,{isDefault:function(e){return!0},style:{height:16,width:24,borderRadius:2.5,border:"0.5px solid #DFE1E5",marginRight:4}})),renderContent:function(){return r.createElement(Oe,{ref:L})}},{value:oe.EBookingPaymentMethod.Planpay,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",null,d(u.W.Step.Confirmation.PlanpayLabel)),r.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},r.createElement("img",{height:16,src:me.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!k.formState.isValid&&r.createElement(h.ZP,{color:y.I.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},r.createElement(E.ZP,{color:y.I.DarkGrey,icon:E.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),d(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!k.formState.isValid,disabledReason:k.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return r.createElement(Ne,null)}}].filter((function(e){var t,n=e.value;return null==H||null===(t=H.paymentMethods)||void 0===t?void 0:t.includes(n)})).filter((function(e){var t;return e.value!==oe.EBookingPaymentMethod.Planpay||q(G.startDate).diff(q(),"day")>(null==H||null===(t=H.planpay)||void 0===t?void 0:t.minDaysShowPlanpay)})),value:a,onChange:function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n(t),e.next=3,K(t);case 3:if(t!==oe.EBookingPaymentMethod.Planpay){e.next=6;break}return e.next=6,X(t);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()})))}}),r.createElement("div",{className:"u-marg-top u-flex align-items-center"},r.createElement("div",{className:"u-flex align-items-center justify-content-start"},r.createElement(E.ZP,{icon:E.Tu.Lock,color:y.I.Success}),r.createElement("div",{className:"u-marg-left--light"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Success},r.createElement("strong",null,"Secured")))),r.createElement(fe,null))),r.createElement(c.Z,null),r.createElement(se,null),r.createElement("div",{className:"u-pad-top--light u-marg-bottom"},r.createElement(he,null)),ye.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement(c.Z,null),r.createElement("div",null,r.createElement(be,null))),r.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},r.createElement(ue.Z,{disabled:V===oe.EBookingPaymentMethod.Planpay||N,text:d(u.W.Step.Confirmation.ConfirmReservation),history:null,isLoading:N,currentStep:Ce.Z,onClick:J}))),r.createElement(Ee.default,{open:!!I,onClose:W},r.createElement(h.ZP,null,I)),r.createElement(ve,{differences:n.differences,warnings:n.warnings,isLoading:N,onClose:(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_();case 2:O.push(Ze.Z.getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(V!==oe.EBookingPaymentMethod.Planpay){e.next=4;break}o({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,F(G.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}var Ye=n(9666),Je=n(3819),Xe=Ie.Provider,Ke=function(e){var t=e.children,n=We(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,i=(0,r.useState)(!1),c=(0,g.Z)(i,2),s=c[0],u=c[1],m=(0,r.useState)(""),d=(0,g.Z)(m,2),f=d[0],p=d[1],v=(0,Y.cI)({mode:"onChange"}),E=(0,r.useContext)(A.hy),h=E.getAllValidRows(),y=E.basketAddonRows,b=(0,T.WP)().hotel,C=function(e){return e.userProfiles.map((function(e){return{FirstName:e.Forename,LastName:e.Surname,Phone:e.Phone.replace(" ",""),Email:e.Email,Address:{Line1:e.Address,City:e.City,PostalCode:e.PostCode,Country:e.Country},MarketingOptIn:!1}}))},Z=function(){var e=(0,j.Z)(Q().mark((function e(t){var n;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=E.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw Ye.n_({level:Je.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),x=function(e,t,n,r){return function(){var a=(0,j.Z)(Q().mark((function a(o){var l,i,c,s;return Q().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(G.ZP.instance.sendInteraction("Complete Booking",G.s_.BUTTON,G._J.GUEST_DETAILS),u(!0),a.t0=!t,a.t0){a.next=7;break}return a.next=6,t();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return u(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,a.prev=14,a.next=17,W.Z.Reservation.bookNow(h,C(o),i,y,o.comment,b.hotelID);case 17:return l=a.sent,E.booked(l),a.next=21,Z(l);case 21:(c=a.sent)?null==n||n(c):null==r||r(l),a.next=30;break;case 25:a.prev=25,a.t1=a.catch(14),console.log(a.t1),p(null!==(s=null===a.t1||void 0===a.t1?void 0:a.t1.Message)&&void 0!==s?s:"Unexpected error returned from the booking database."),u(!1);case 30:case"end":return a.stop()}}),a,null,[[14,25]])})));return function(e){return a.apply(this,arguments)}}()},k=!!l&&!!o&&!!a,S=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},P=function(){var e=(0,j.Z)(Q().mark((function e(t){var n,r;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{if(u(!0),t)if((n=S(t)).length)try{W.Z.Reservation.commit(n,t.itineraryNumber,b.hotelID,l).then((function(e){try{G.ZP.instance.sendReservationConfirmed(E.getAllValidRows(),E.basketAddonRows,e)}catch(e){Ye.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}E.checkedOut(e)})).catch((function(e){console.log(e),p("Unexpected error")})).finally((function(){u(!1)}))}catch(e){p(null!==(r=null==e?void 0:e.Message)&&void 0!==r?r:"Unexpected error returned from the booking database.")}else p("Committing reservation failed due to an unexpected error"),A.qL.add({message:"Committing reservation failed due to an unexpected error"}),Ye.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t))}catch(e){p("Failed to commit reservation"),console.log("Failed to commit reservation "),console.error(e),Ye.Tb(e)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(){var e=(0,j.Z)(Q().mark((function e(){var t;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(E.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=S(E.reservationData)).length){e.next=10;break}return u(!0),e.next=8,W.Z.Reservation.rollback(t,E.reservationData.itineraryNumber,b.hotelID);case 8:e.next=11;break;case 10:Ye.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(E.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),Ye.Tb(e.t0);case 17:return e.prev=17,E.rollback(),u(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),N=function(){var e=(0,j.Z)(Q().mark((function e(t,n,r,a){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.handleSubmit(x(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}();return r.createElement(Y.RV,v,r.createElement(Xe,{value:{book:N,commitReservation:P,rollbackReservation:w,isLoading:s,apiErrors:f,clearApiErrors:function(){return p("")},isBackFromPlanpay:k}},t))};function $e(){return r.createElement(Ke,null,r.createElement(Qe,null))}var et=function(){var e=(0,r.useContext)(A.g7),t=(0,r.useContext)(A.aN).currentStep,n=(0,r.useContext)(A.hy).currentBasketRows,v=(0,p.$)().t,g=(0,B.z)().raise;return(0,r.useEffect)((function(){var e=new V.z(n);g(e)}),[]),r.createElement("div",{className:"container"},r.createElement(m.default,null),r.createElement("div",{className:"row"+(e.screenSize>d.Z.ExtraLarge?" no-gutters":"")},r.createElement("div",{className:"col-md-7 col-xl-8"},e.screenSize>d.Z.Medium&&r.createElement(r.Fragment,null,r.createElement(i.rU,{to:o.Z.getPreviousStepUrl(t)},r.createElement(s.Z,null)),r.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},r.createElement(a.Z,{bold:!0},v(u.W.Navigation.Steps.Confirmation)))),r.createElement("div",{className:"u-marg-top@m-"},r.createElement(H.Z,null))),e.screenSize>d.Z.Medium&&r.createElement("div",{className:"offset-xl-1 col-md-4 col-xl-3 align-self-end"},r.createElement(f.Z,null))),r.createElement(c.Z,null),r.createElement("div",{className:"row"+(e.screenSize>d.Z.ExtraLarge?" no-gutters":"")},r.createElement("div",{className:"col-md-7 col-xl-8 d-table"},r.createElement("div",{className:"block-container"},!U.Z.isActive()&&r.createElement(_,null),r.createElement($e,null))),e.screenSize>d.Z.Medium&&r.createElement("div",{className:"col-xl-3 col-md-5 offset-xl-1"},r.createElement(L,{endDate:q().add(10,"minute")}),r.createElement(l.v,{showImages:!0}))))}},7701:function(e,t,n){(t=n(3645)(!1)).push([e.id,'.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE+._1w9esuEAWeVo01pSbRCYRE{margin-top:8px}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._3kmtWXHaspvwHpgixNLrHZ{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._3kmtWXHaspvwHpgixNLrHZ::before{background:rgba(0,0,0,0)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._1CCxUg3a1cMgFeQKuab4ZB{color:#c0c3cc}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._3kmtWXHaspvwHpgixNLrHZ{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._3kmtWXHaspvwHpgixNLrHZ::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._1CCxUg3a1cMgFeQKuab4ZB{color:var(--rs-color-navy)}.roomstay-booking-container ._3WTPlkWtf38fd4sYEWOHWF{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container ._3kmtWXHaspvwHpgixNLrHZ{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container ._3kmtWXHaspvwHpgixNLrHZ::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container ._1CCxUg3a1cMgFeQKuab4ZB{color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container ._2b4U9HVKpCst_LvAFwO94E{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container ._2nA7IF1LViqyTyoWBDZ9VN{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container ._2nA7IF1LViqyTyoWBDZ9VN:hover{background:rgba(204,204,204,.14)}',""]),t.locals={root:"_1w9esuEAWeVo01pSbRCYRE",disabled:"_1HXUOfG_q1yvxdAqMJTxpv",design:"_3kmtWXHaspvwHpgixNLrHZ",text:"_1CCxUg3a1cMgFeQKuab4ZB",checked:"XmNJ84nut1siTCddtQEhW",input:"_3WTPlkWtf38fd4sYEWOHWF",content:"_2b4U9HVKpCst_LvAFwO94E",header:"_2nA7IF1LViqyTyoWBDZ9VN"},e.exports=t},6728:function(e,t,n){(t=n(3645)(!1)).push([e.id,"._3QZUpAcJfjPS7WbzhW70jI ._3_Rg6DH-HSOj8aYOCLZmW0:first-child ._3rGSy_g5xOnECmj037thsT{border-top-left-radius:8px !important;border-top-right-radius:8px !important}._3QZUpAcJfjPS7WbzhW70jI ._3_Rg6DH-HSOj8aYOCLZmW0:last-child ._3rGSy_g5xOnECmj037thsT{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:8px !important;border-bottom-right-radius:8px !important}._3QZUpAcJfjPS7WbzhW70jI ._3rGSy_g5xOnECmj037thsT{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}",""]),t.locals={root:"_3QZUpAcJfjPS7WbzhW70jI",wrapper:"_3_Rg6DH-HSOj8aYOCLZmW0",item:"_3rGSy_g5xOnECmj037thsT"},e.exports=t},4166:function(e,t,n){var r=n(3379),a=n(7701);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},6928:function(e,t,n){var r=n(3379),a=n(6728);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
1
+ (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[218],{5032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(5671),a=n(3144),o=n(136),l=n(2963),i=n(1120);var c=function(e){(0,o.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(s,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),s}(n(7112).x)},4218:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return et}});var r=n(7294),a=n(3010),o=n(5692),l=n(3933),i=n(3727),c=n(9874),s=n(3821),u=n(9478),m=n(370),d=n(292),f=n(8279),p=n(4478),v=n(7462),g=n(885),E=n(8886),h=n(584),y=n(7754);function b(e){var t=e.addon;return r.createElement("div",{className:"additional-offers--column "+(e.selected?"--selected":""),style:{backgroundImage:"url('".concat(t.image,"')")},onClick:function(){e.cardClicked()}},r.createElement("div",{className:"additional-offers--column-body"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.White},r.createElement("strong",null,t.name)),r.createElement("div",{className:"u-flex"},r.createElement(h.ZP,{inline:!0,type:h.yG.Small,color:y.I.White},"See details"),r.createElement(E.ZP,{icon:E.Tu.ArrowRight,color:y.I.White}))))}var C=n(1472),Z=n(3460),x=n(7582),k=n(5128),S=n(6380),P=n(3122),w=n(4854),N=n(858),A=n(9314);function I(e){var t,n=e.addon,o=((0,p.$)().t,(0,r.useContext)(A.hy)),l=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),i=(0,g.Z)(l,2),c=i[0],s=i[1],u=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),m=(0,g.Z)(u,2),d=m[0],f=m[1],v=(0,r.useState)({quantity:1}),b=(0,g.Z)(v,2),C=b[0],Z=b[1],x=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),I=(0,g.Z)(x,2),W=I[0],R=I[1],M=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),T=(0,g.Z)(M,2),_=T[0],D=T[1],q=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),F=(0,g.Z)(q,2),G=F[0],L=F[1];return r.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(Z(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),s(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),f(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),R(e.basketAddonRow.getQuantity()),D(e.basketAddonRow.getAdultQuantity()),L(e.basketAddonRow.getChildQuantity())):(Z(n.availability[n.firstDate]),s(n.firstDate),f(null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)),function(){R(1),D(1),L(0)}}),[n]),r.createElement(k.Z,{open:e.isOpen,onClose:e.onClose,size:k.g.Small,title:n?n.name:""},n&&r.createElement(r.Fragment,null,r.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image,'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n.name)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.DarkGrey},n.description)),r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Date"),r.createElement(P.Z,{className:"u-flex align-items-center",onChange:function(e){var t,r,a,o;t=e,Z(n.availability[t]),s(t),f(null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value),n.availability[t].quantity<W&&R(n.availability[t].quantity)},selectedValue:c,iconComponent:E.Tf,items:n.selectorDates}))),0!==(null==C||null===(t=C.selectorTimes)||void 0===t?void 0:t.length)&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Time"),r.createElement(P.Z,{className:"u-flex align-items-center",onChange:function(e){f(e)},selectedValue:d,iconComponent:E.Tf,items:null==C?void 0:C.selectorTimes}))),C.price&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Quantity"),r.createElement(S.Z,{number:W,min:1,max:C.quantity,onChange:function(e){R(e)}}))),C.adultPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Adults"),r.createElement(S.Z,{number:_,min:0,max:C.quantity-G,onChange:function(e){D(e)}}))),C.childPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(h.ZP,null,"Children"),r.createElement(S.Z,{number:G,min:0,max:C.quantity-_,onChange:function(e){L(e)}}))),r.createElement("div",{className:"u-flex align-items-center u-marg-top"},C.price&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.price),"/ Qty"),C.adultPrice&&C.childPrice&&r.createElement("h2",{className:"u-marg-none"},r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.adultPrice)," / Adult"),r.createElement("br",null),r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.childPrice)," / Child")),C.adultPrice&&!C.childPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.adultPrice)," / Adult"),C.childPrice&&!C.adultPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,C.childPrice)," / Child"),r.createElement(w.Z,{filled:!0,primary:!0,onClick:function(){o.setAddonQuantities(n,{quantity:W,adult:_,child:G},c,d),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(h.ZP,{type:h.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(h.ZP,{type:h.yG.Small},n.cancelPenalty))))))}var W=n(4516),R=n(9740),M=n(7832),T=n(7688);function _(){var e=(0,r.useContext)(A.hy),t=(0,r.useContext)(A.Qm),n=(0,T.WP)().hotel,o=(0,C.useSpring)((function(){return{x:0}})),l=(0,g.Z)(o,2),i=l[0].x,c=l[1],s=(0,Z.Z)(),m=(0,g.Z)(s,2),d=m[0],f=m[1],k=(0,p.$)().t,S=r.useState([]),P=(0,g.Z)(S,2),w=P[0],N=P[1],_=(0,r.useState)(!1),D=(0,g.Z)(_,2),q=D[0],F=D[1],G=(0,r.useState)(null),L=(0,g.Z)(G,2),O=L[0],H=L[1],U=(0,r.useState)(!1),B=(0,g.Z)(U,2),V=B[0],j=B[1],z=(0,r.useState)(0),Q=(0,g.Z)(z,2),Y=Q[0],J=Q[1],X=(0,r.useState)(0),K=(0,g.Z)(X,2),$=(K[0],K[1]),ee=(0,r.useState)(-1),te=(0,g.Z)(ee,2),ne=te[0],re=te[1];r.useEffect((function(){var t=!1,r=e.getAllValidRows();return j(!0),W.Z.Addons.findAddons(r,n.hotelID).then((function(e){t||(j(!1),N(e))})),function(){j(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*w.length>=f.width,le=(0,x.c0)((function(e){var t=e.down,n=(0,g.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)c({x:Y+1.5*t});else{var n=Y+t,r=(w.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-f.width+ae))a=-(r-f.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,$(l),re(0)}c({x:a}),J(a)}};return r.createElement(R.Z,{open:!V&&0!==(null==w?void 0:w.length)||(null==n?void 0:n.showAddonLoader)},r.createElement("div",{className:"u-pad-bottom--heavy "},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},k(u.W.Step.Confirmation.AdditionalOfferings))),V&&null!=n&&n.showAddonLoader?r.createElement(M.Z,null):0===(null==w?void 0:w.length)?r.createElement("div",null,r.createElement(h.ZP,{color:y.I.DarkGrey},"Sorry, there are currently no additional offerings available.")):r.createElement("div",{className:"additional-offers"+(w.length>2?"":" --wide"),ref:d},oe&&r.createElement("div",{className:"additional-offers--navigation"},r.createElement(E.ZP,{icon:E.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?y.I.DarkGrey:y.I.White,backgroundColor:y.I.Navy,borderRadius:"round",size:"24px"}),r.createElement(E.ZP,{icon:E.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?y.I.DarkGrey:y.I.White,backgroundColor:y.I.Navy,borderRadius:"round",size:"24px"})),r.createElement("div",{className:"additional-offers--track-container"},r.createElement(C.animated.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:i}}),w.map((function(t,n){return r.createElement(b,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){F(!0),H(t)}})}))))),r.createElement(I,{isOpen:q&&!!O,addon:O,basketAddonRow:e.getRowForAddon(O),onClose:function(){F(!1)}})))}var D=n(7933),q=n(7484);function F(e){var t=(0,r.useState)(e.endTimeDate.diff(q(),"second")),n=(0,g.Z)(t,2),a=n[0],o=n[1];return(0,r.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(a>0?o((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[a]),(0,r.useMemo)((function(){var e=[Math.floor(a/60/60),Math.floor(a/60%60),Math.floor(a%60)];return r.createElement(r.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[a])}var G=n(4544);function L(e){var t=(0,r.useState)(!1),n=(0,g.Z)(t,2),o=n[0],l=n[1];return r.createElement(D.ZP,{type:D.NK.Accent1},r.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},r.createElement("div",null,r.createElement(h.ZP,null,r.createElement("strong",null,"Your room is")),r.createElement(h.ZP,null,r.createElement("strong",null,"being held for"))),r.createElement("div",{className:o?"a-flash":""},r.createElement(a.Z,{size:"large",bold:!0,color:y.I.White},r.createElement(F,{endTimeDate:e.endDate,onEnd:function(){G.ZP.instance.sendInteraction("Countdown End Seen",G.s_.LINK,G._J.GUEST_DETAILS),l(!0)}})))))}var O,H=n(4511),U=n(5400),B=n(6337),V=n(5032),j=n(5861),z=n(4687),Q=n.n(z),Y=n(7536),J=n(5987),X=n(4942),K=n(5993),$=n(1432),ee=n(5762),te=n(3261),ne=n(6604),re=n(1248);!function(e){e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.Country="Country"}(O||(O={}));var ae=n(9024),oe=n(7972),le=n(6431),ie=["ref","onChange"],ce=function(){var e=(0,Y.Gc)(),t=e.register,n=e.formState,o=e.control,l=e.watch,i=e.getValues,s=e.setValue,m=(0,r.useContext)(A.hy),d=m.getAllValidRows(),f=m.basketAddonRows,b=(0,Y.Dq)({control:o,name:"userProfiles"}),C=b.update,Z=b.fields,x=l(["copyCheckBox","paymentMethod"]),k=(0,g.Z)(x,2),S=k[0],P=k[1],w=n.errors,N=(0,p.$)().t,I=(0,r.useContext)(A.P0).roomstayMember;(0,r.useEffect)((function(){var e;null===(e=w.userProfiles)||void 0===e||e.forEach((function(e,t){w.userProfiles[t]&&(T[t]=!0)})),_(T.slice(0))}),[w.userProfiles,S]),(0,r.useEffect)((function(){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return 0===e?t:""},t=d.map((function(t,n){var r,a,o,l,i;return i={},(0,X.Z)(i,O.Forename,e(n,null==I?void 0:I.forename)),(0,X.Z)(i,O.Surname,e(n,null==I?void 0:I.surname)),(0,X.Z)(i,O.Email,e(n,null==I?void 0:I.email)),(0,X.Z)(i,O.Phone,e(n,null==I?void 0:I.phoneNumber)),(0,X.Z)(i,O.Address,e(n,null==I||null===(r=I.address)||void 0===r?void 0:r.address)),(0,X.Z)(i,O.City,e(n,null==I||null===(a=I.address)||void 0===a?void 0:a.city)),(0,X.Z)(i,O.PostCode,e(n,null==I||null===(o=I.address)||void 0===o?void 0:o.zip)),(0,X.Z)(i,O.Country,e(n,null==I||null===(l=I.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",(null==d?void 0:d.length)&&d.length>1)}),[I,null==d?void 0:d.length]);var W=(0,r.useState)(d.map((function(e,t){return 0===t}))),M=(0,g.Z)(W,2),T=M[0],_=M[1],q=function(e,t){return function(e){G.ZP.instance.sendInteraction(t,G.s_.FORM_FIELD,G._J.GUEST_DETAILS)}};return(0,r.useEffect)((function(){S&&Z.forEach((function(e,t){0!==t&&C(t,i("userProfiles.0"))}))}),[S]),(0,r.useEffect)((function(){var e=l((function(e,t){var n=t.name;"change"===t.type&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&Z.map((function(e,t){0!==t&&C(t,i("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[Z]),(0,r.useEffect)((function(){G.ZP.instance.sendCheckoutView(d,f)}),[]),r.createElement(r.Fragment,null,Z.map((function(e,l){var i,s=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,l)},m=function(e){var t;return!w.userProfiles||S&&l>=1?null:null!==(t=w.userProfiles[l])&&void 0!==t&&t[e]?"error":"success"},f=d[l],p=S&&l>=1||P===oe.EBookingPaymentMethod.Planpay;return r.createElement("div",{key:e.id},r.createElement("div",{className:0===l?"":"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==l&&function(e,t){T.splice(e,1,t),_(T.slice(0))}(l,!T[l])}},r.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},r.createElement(a.Z,{bold:!0},N(u.W.Misc.Room)," ",l+1),0!==l&&r.createElement(E.ZP,{icon:T[l]?E.Tu.ArrowDown2:E.Tu.ArrowUp2,color:y.I.Grey})),f&&r.createElement("div",{className:"u-marg-bottom"},r.createElement(h.ZP,null,r.createElement("strong",{className:"u-block@l-"},f.getRoom().name)," for"," ",te.Z.pluralWithDictAndCount(f.getAdults(),u.W.Step.Date.Adult,N),", ",te.Z.pluralWithDictAndCount(f.getChildren(),u.W.Step.Date.Child,N)),r.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Accent},r.createElement("strong",null,f.getStartDate().format("ddd, MMM D"))),r.createElement(E.ZP,{icon:E.Tu.ArrowRight2,size:"18px"}),r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Accent},r.createElement("strong",null,f.getEndDate().format("ddd, MMM D"))))),(null===(i=w.userProfiles)||void 0===i?void 0:i[l])&&n.submitCount>=1&&(0===l||!S)&&Object.values(w.userProfiles[l]).map((function(e,t){return r.createElement(R.Z,{key:t,open:!0},r.createElement("div",{className:"u-flex"},r.createElement(D.ZP,{icon:E.Tu.Error,type:D.NK.Danger,noMargin:t===Object.keys(w.userProfiles[l]).length-1},r.createElement(h.ZP,{type:h.yG.Small},null==e?void 0:e.message))))}))),r.createElement("div",{className:"room-contact-details--row",style:{maxHeight:T[l]?"":0}},r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,N(u.W.Step.Confirmation.ContactInfo)))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:m(O.Forename)},t(s(O.Forename),{onChange:q(s(O.Forename),"Forename - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Forename)})}}))),r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:m(O.Surname)},t(s(O.Surname),{onChange:q(s(O.Surname),"Surname - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Surname)})}})))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:m(O.Email),required:!0},t(s(O.Email),{onChange:q(s(O.Email),"Email - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:le.CU,message:N(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),re.Z.isActive()?r.createElement(Y.Qr,{control:o,name:s(O.Phone),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return r.createElement(ne.Z,(0,v.Z)({disabled:p,validationStatus:m(O.Phone)},t,{onChange:function(e){t.onChange(e),q(s(O.Phone),"Phone - Contact Info")(e)}}))}}):r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:m(O.Phone)},t(s(O.Phone),{onChange:q(s(O.Phone),"Phone - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Phone)})}}))))),r.createElement("div",{className:""},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,N(u.W.Step.Confirmation.Address)))),r.createElement(K.Z,{dimensions:"3/1"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:m(O.Address)},t(s(O.Address),{onChange:q(s(O.Address),"Address - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Address)})}}))),r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:m(O.City)},t(s(O.City),{onChange:q(s(O.City),"City - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.City)})}})))),r.createElement(K.Z,{dimensions:"2/2"},r.createElement($.Z,(0,v.Z)({inputProps:{disabled:p},placeholder:N(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:m(O.PostCode)},t(s(O.PostCode),{onChange:q(s(O.PostCode),"PostCode - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.PostCode)})}}))),r.createElement(Y.Qr,{control:o,name:s(O.Country),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),a=(0,J.Z)(t,ie);return r.createElement(ee.Z,(0,v.Z)({disabled:p,validationStatus:m(O.Country),onChange:function(e){n(e),q(s(O.Country),"Country - Address")(e)}},a))}})))),r.createElement(c.Z,null)),Z.length>1&&0===l?r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(ae.Z,(0,v.Z)({label:N(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))};function se(){var e=(0,p.$)().t,t=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),r.createElement("div",{className:"u-marg-bottom"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6 col-md-3"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckIn))),r.createElement(h.ZP,{type:h.yG.Small},e(u.W.Misc.After)," ",t.checkInTime)),r.createElement("div",{className:"col-6 col-md-3"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckOut))),r.createElement(h.ZP,{type:h.yG.Small},e(u.W.Misc.Before)," ",t.checkOutTime)))))}var ue=n(8029),me=n(2364),de=n(5112);function fe(){return r.createElement(de.Z,{title:"Shop without worries! This site is protected by high level encryption, to ensure every purchase is always safe & secure"},r.createElement("img",{src:me.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var pe=n(3409);function ve(e){var t,n,o=(0,r.useContext)(A.hy),l=(0,r.useState)(q().add(14,"minute")),i=(0,g.Z)(l,2),s=i[0];i[1],(0,r.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var u=r.createElement("div",{className:"u-flex"},r.createElement(w.Z,{isText:!0,size:"small",icon:E.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},"Take me back"),r.createElement(w.Z,{primary:!0,filled:!0,icon:E.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},"Continue with reservation"));return r.createElement(k.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:"Your total price has Changed!",mobileFooter:u,desktopFooter:r.createElement("div",{className:"u-marg-heavy u-marg@m-"},u),size:k.g.Small,alignCenter:!0},r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-8"},r.createElement(h.ZP,{type:h.yG.Small},"We apologize for any inconvenience, but the price for your selected reservation has changed during your checkout, please confirm that you accept the new total shown below.")),r.createElement("div",{className:"col-md-4"},r.createElement(pe.ZP,{icon:E.Tu.Time,type:pe.Rm.Primary},r.createElement("span",{className:"u-marg-right--light"},"Reverts in"),r.createElement(F,{endTimeDate:s})))),r.createElement(c.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t=o.getAllValidRows().find((function(t){return t.getID()===e.id}));return r.createElement("div",{key:e.id},!!t&&r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,null,t.getRoom().name)),r.createElement(h.ZP,null,t.getRate().name)),r.createElement("div",{className:"u-flex u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Body},r.createElement("strong",null,"Displayed price:")),r.createElement(h.ZP,{color:y.I.Alert},r.createElement(N.Z,null,e.totalPrice.before))),r.createElement("div",{className:"u-flex"},r.createElement(h.ZP,{type:h.yG.Body},r.createElement("strong",null,"Actual price:")),r.createElement(h.ZP,{color:y.I.Success},r.createElement(N.Z,null,e.totalPrice.after))),r.createElement(c.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return r.createElement(h.ZP,{key:t},e)}))))}var ge=n(6550),Ee=n(1625);function he(){var e=(0,r.useContext)(A.hy),t=(0,p.$)().t,n=t(u.W.Misc.Room);return(0,r.useMemo)((function(){var a={},o=e.getAllValidRows(),l=0;return o.length>1?o.forEach((function(e){l++;var t=e.getRate(),n=a["".concat(t.cancelPolicyCode,"-").concat(t.guaranteeCode)];n||(n=a["".concat(t.cancelPolicyCode,"-").concat(t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:l,room:e})})):a[0]={rooms:[{index:1,room:o[0]}]},r.createElement("div",{className:"u-marg-bottom"},Object.values(a).map((function(e,a){var o=e.rooms[0];return r.createElement("div",{className:"u-marg-bottom--heavy",key:a},r.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){return r.createElement(h.ZP,{key:e.index,type:h.yG.Small},r.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",e.room.getRate().name)}))),r.createElement("div",{className:"u-marg-bottom"},r.createElement(h.ZP,{type:h.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),r.createElement(h.ZP,{type:h.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getGuaranteePolicy()}}))),r.createElement(h.ZP,{type:h.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),r.createElement(h.ZP,{type:h.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getCancellationPolicy()}})))})))}),[e.currentBasketRows])}var ye=n(6222),be=function(){var e,t=(0,p.$)().t,n=(0,T.WP)().hotel,o=(0,Y.Gc)(),l=o.control,i=null===(e=(0,o.getFieldState)("isPolicyConfirmed").error)||void 0===e?void 0:e.message;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},t(u.W.Step.Confirmation.Acknowledgement))),r.createElement("div",null,r.createElement(ae.Z,{label:t(u.W.Step.Confirmation.EmailSpecialOffers)})),r.createElement("div",{className:"u-marg-top--light"},r.createElement(Y.Qr,{control:l,render:function(e){var a=e.field,o=a.value,l=a.onChange,i=a.ref;return r.createElement(ae.Z,{checked:o,onChange:l,ref:i,label:r.createElement("div",null,t(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",r.createElement("a",{style:{color:y.I.Accent},className:"--underlined",href:n.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},t(u.W.Step.Confirmation.PrivacyPolicy)))})},name:"isPolicyConfirmed",rules:{required:{value:ye.Z.isActive(),message:t(u.W.Step.Confirmation.PrivacyPolicyError)}}})),r.createElement(R.Z,{open:!!i},r.createElement("div",{className:"u-flex u-marg-top"},r.createElement(D.ZP,{type:D.NK.Danger,icon:E.Tu.Error},r.createElement(h.ZP,{type:h.yG.Small},i)))))},Ce=n(4707),Ze=n(2912),xe=n(8016),ke=n(3423),Se=n(9747),Pe=n(514),we=function(){return r.createElement("div",null,r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(Se.Z,{type:"text",h:"md",blink:!0}),r.createElement(Se.Z,{type:"text",h:"md",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0}),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0}),r.createElement(Se.Z,{type:"text",h:"sm",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(Se.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(Se.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(Se.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement(Se.Z,{type:"text",h:"lg",blink:!0})),r.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},r.createElement(Se.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},Ne=function(){var e,t,n=(0,r.useContext)(A.hy),a=(0,Pe.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,r.useLayoutEffect)((function(){null!=o&&o.id&&ke.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,r.useEffect)((function(){var e;ke.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),r.createElement(r.Fragment,null,r.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==o?void 0:o.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},r.createElement(we,null)))},Ae=n(258),Ie=(0,r.createContext)({}),We=function(){var e,t=(e=(0,ge.TH)().search,r.useMemo((function(){return new URLSearchParams(e)}),[e])),n=r.useMemo((function(){return new URLSearchParams(window.location.search)}),[window.location.search]),a=(0,r.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(e){return n.get(e)||t.get(e)}))}),[t]),o=(0,g.Z)(a,3);return{queryPaymentMethod:o[0],queryRoomstayId:o[1],queryPlanpayCheckoutId:o[2]}},Re={VI:"visa",MC:"mastercard",JC:"jcb",DS:"dinersclub",AX:"amex",DN:"dinersclub",UP:"unionpay"},Me=n(1291),Te=n(9527),_e=n(3733);function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var qe=function(e){var t=(0,Te.K)().user,n=(0,r.useContext)(A.P0).cards,a=(0,r.useState)(),o=(0,g.Z)(a,2),l=o[0],i=o[1];return(0,r.useEffect)((function(){if(t.defaultCard){var e,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return De(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(n);try{for(r.s();!(e=r.n()).done;){var a=e.value;if(t.defaultCard===a.cardId)return void i(t.defaultCard)}}catch(e){r.e(e)}finally{r.f()}}n.length>0&&i(n[0].cardId)}),[t,n]),r.createElement(r.Fragment,null,r.createElement("div",null,n.map((function(e){return r.createElement(_e.c,{selected:l===e.cardId,onClick:function(){var t;t=e.cardId,i(t)},item:e})}))))},Fe=n(4184),Ge=function(e){var t,n=e.isCurrent,a=e.isDefault,o=e.style,l=(0,T.WP)().hotel,i=(null!==(t=null==l?void 0:l.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return Re[e]?{name:Re[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(i).map((function(e){return r.createElement("div",{key:e,id:i[e].name,className:Fe("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==a?void 0:a(e)}),style:Object.assign({backgroundImage:"url('".concat(me.Z.getAssetUrl()+"assets/img/"+i[e].name+".png","')"),backgroundSize:"contain"},o||{})})})))};function Le(e,t){var n,a=(0,T.WP)().hotel,o=(0,T.Kb)(),l=(0,r.useState)({}),i=(0,g.Z)(l,2),c=i[0],s=i[1],m=(0,p.$)().t,d=(0,T.b)().focusElement,f={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},v=(0,Me.c)([{label:m(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:m(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:f}},{label:m(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:f,placeholder:m(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:m(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:m(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:f}},{label:m(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:m(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:f}}]),y=(0,g.Z)(v.fields,4),b=y[0],C=y[1],Z=y[2],x=y[3],k=(v.triggerFieldUpdate,v.vgsForm),S=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r="Credit Card";break;case"expiration-date":r="Expiration Date";break;case"security-code":r="Security Code";break;default:r="Card Name"}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),s(t)};(0,r.useEffect)((function(){var e,t;c&&0!==Object.keys(c).length&&null!=b&&null!==(e=b.ref)&&void 0!==e&&e.current&&d(null==b||null===(t=b.ref)||void 0===t?void 0:t.current)}),[c]),(0,r.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){k?k.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=JSON.parse(r.data),o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return S({"expiration-date":{errorMessages:["Invalid - it must be in the format MM / YY or MM / YYYY"]}}),void t("invalid expiration date");var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:b.state.cardType};e(i)}),(function(e){S(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var P=(0,r.useRef)(null),w=(null!==(n=null==a?void 0:a.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Re[e]?{name:Re[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",null,r.createElement("div",null,!!o.user&&r.createElement(qe,{onCardSelected:function(e){}})),r.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=c[e];return r.createElement(R.Z,{open:!!t,key:e},r.createElement("div",{className:"u-flex"},r.createElement(D.ZP,{type:D.NK.Danger,icon:E.Tu.Error},r.createElement(h.ZP,{type:h.yG.Small},t))))})),r.createElement("div",{className:"u-marg-bottom"},r.createElement(Ge,{isCurrent:function(e){return null!==b.state.cardType&&w[e].name===b.state.cardType},isDefault:function(e){return null===b.state.cardType}})),r.createElement("form",{ref:P},r.createElement(K.Z,{dimensions:"2/2"},r.createElement("div",{className:b.getClasses(),ref:b.ref}),r.createElement(K.Z,{dimensions:"2/2"},r.createElement("div",{className:Z.getClasses(),ref:Z.ref}),r.createElement("div",{className:x.getClasses(),ref:x.ref}))),r.createElement(K.Z,{dimensions:"1"},r.createElement("div",{className:C.getClasses(),ref:C.ref})))))}var Oe=(0,r.forwardRef)(Le),He=n(4166),Ue=n.n(He),Be=function(e){var t,n=e.checked,a=e.onChange,o=e.disabled,l=e.label,i=e.renderContent,c=e.className,s=(0,r.useMemo)((function(){return Math.random().toString()}),[]);return r.createElement("label",{htmlFor:s,className:Fe(Ue().root,c,(t={},(0,X.Z)(t,Ue().disabled,o),(0,X.Z)(t,Ue().checked,n),t))},r.createElement("div",{className:Ue().header},r.createElement("input",{className:Ue().input,hidden:!0,disabled:o,id:s,onChange:a,type:"radio",checked:n}),r.createElement("div",{className:Ue().design}),r.createElement("div",{className:Ue().text},l)),r.createElement("div",null,i&&n&&r.createElement("div",{className:Ue().content},i())))},Ve=n(6928),je=n.n(Ve),ze=function(e){var t=e.options,n=e.value,a=e.onChange;return r.createElement("div",{className:je().root},t.map((function(e){var t=e.value,o=e.label,l=e.disabled,i=e.disabledReason,c=e.renderContent,s=r.createElement(Be,{className:je().item,key:t,checked:!l&&t===n,onChange:function(){l||a(t)},label:o,disabled:l,renderContent:function(){return r.createElement(R.Z,{open:!0},c())}});return l&&i?r.createElement(de.Z,{key:t,wrapperClasses:je().wrapper,title:i},s):r.createElement("div",{key:t,className:je().wrapper},s)})))};function Qe(){var e=(0,r.useState)({differences:[],warnings:[]}),t=(0,g.Z)(e,2),n=t[0],o=t[1],l=(0,r.useState)(""),i=(0,g.Z)(l,2),s=i[0],m=i[1],d=(0,p.$)().t,f=We(),b=f.queryPaymentMethod,C=f.queryRoomstayId,Z=f.queryPlanpayCheckoutId,x=(0,A.dF)(),k=(0,Y.Gc)(),S=(0,r.useContext)(Ie),P=S.isBackFromPlanpay,N=S.isLoading,I=S.apiErrors,W=S.clearApiErrors,R=S.book,_=S.rollbackReservation,F=S.commitReservation,G=(0,A.Kc)(),L=(0,r.useRef)(null),O=(0,ge.k6)(),H=(0,T.WP)().hotel,U=function(){var e=(0,j.Z)(Q().mark((function e(t){var n,r,a;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===oe.EBookingPaymentMethod.Planpay?3:10;break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",x.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",oe.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:oe.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:Z,RedirectUrl:a},e.abrupt("break",15);case 10:return e.t1=oe.EBookingPaymentMethod.Card,e.next=13,L.current.getTokenizedCode();case 13:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2};case 15:return e.abrupt("return",n);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,r.useEffect)((function(){var e,t=Object.values(oe.EBookingPaymentMethod).includes(b)?b:oe.EBookingPaymentMethod.Card;return k.setValue("paymentMethod",t),K(t),P&&(C===(null===(e=G.reservationData)||void 0===e?void 0:e.roomstayId)?B(t):_()),function(){P||_()}}),[]);var B=function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F(G.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),V=k.watch("paymentMethod");x.engine.getSessionProvider().getSession().then((function(e){m(e.source)}));var z=function(){var e=(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:O.push(Ze.Z.getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),J=function(){var e=(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X(V,function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 2:return e.abrupt("return",!1);case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),X=function(){var e=(0,j.Z)(Q().mark((function e(t,n){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R((0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",U(t));case 1:case"end":return e.stop()}}),e)}))),(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,t!==oe.EBookingPaymentMethod.Card){e.next=4;break}return e.next=4,L.current.getTokenizedCode();case 4:return e.abrupt("return",!0);case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),(function(e){e&&o(e)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),K=function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===oe.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,_();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return r.createElement("form",null,P?r.createElement(M.Z,null):r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.GuestDetails))),r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Success},r.createElement("strong",null,d(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),r.createElement(ce,null),"inline"===s?r.createElement(D.ZP,{type:D.NK.Accent2,heavyPadding:!0},r.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},r.createElement("div",null,r.createElement(h.ZP,{color:y.I.Accent,bold:!0},d(u.W.Step.Confirmation.WantMoreRooms)),r.createElement(h.ZP,{color:y.I.Navy},d(u.W.Step.Confirmation.YouCanAddAndEditRooms))),r.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},r.createElement(w.Z,{filled:!0,primary:!0,icon:E.Tu.Add,iconPosition:"left",onClick:z},d(u.W.Step.Confirmation.AddMoreRooms))))):r.createElement(r.Fragment,null),xe.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},"Travel Agent")),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},r.createElement("strong",null,d(u.W.Step.Confirmation.Inputs.IATANumber)))),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(h.ZP,{type:h.yG.Small},d(u.W.Step.Confirmation.Inputs.IATANumberGuide))),r.createElement($.Z,(0,v.Z)({placeholder:d(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},k.register("IATANumber")))),r.createElement(c.Z,null)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.Comments))),r.createElement(Ae.Z,(0,v.Z)({disabled:V===oe.EBookingPaymentMethod.Planpay,placeholder:d(u.W.Step.Confirmation.Inputs.EnterSpecialRequestsHere)},k.register("comment")))),r.createElement(c.Z,null),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},d(u.W.Step.Confirmation.PaymentInformation))),r.createElement(Y.Qr,{control:k.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,a=t.value;return r.createElement(r.Fragment,null,r.createElement("div",null,r.createElement(ze,{options:[{value:oe.EBookingPaymentMethod.Card,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",{className:"u-marg-right--light"},d(u.W.Step.Confirmation.CardLabel)),r.createElement(Ge,{isDefault:function(e){return!0},style:{height:16,width:24,borderRadius:2.5,border:"0.5px solid #DFE1E5",marginRight:4}})),renderContent:function(){return r.createElement(Oe,{ref:L})}},{value:oe.EBookingPaymentMethod.Planpay,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",null,d(u.W.Step.Confirmation.PlanpayLabel)),r.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},r.createElement("img",{height:16,src:me.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!k.formState.isValid&&r.createElement(h.ZP,{color:y.I.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},r.createElement(E.ZP,{color:y.I.DarkGrey,icon:E.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),d(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!k.formState.isValid,disabledReason:k.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return r.createElement(Ne,null)}}].filter((function(e){var t,n=e.value;return null==H||null===(t=H.paymentMethods)||void 0===t?void 0:t.includes(n)})).filter((function(e){var t;return e.value!==oe.EBookingPaymentMethod.Planpay||q(G.startDate).diff(q(),"day")>(null==H||null===(t=H.planpay)||void 0===t?void 0:t.minDaysShowPlanpay)})),value:a,onChange:function(){var e=(0,j.Z)(Q().mark((function e(t){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n(t),e.next=3,K(t);case 3:if(t!==oe.EBookingPaymentMethod.Planpay){e.next=6;break}return e.next=6,X(t);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()})))}}),r.createElement("div",{className:"u-marg-top u-flex align-items-center"},r.createElement("div",{className:"u-flex align-items-center justify-content-start"},r.createElement(E.ZP,{icon:E.Tu.Lock,color:y.I.Success}),r.createElement("div",{className:"u-marg-left--light"},r.createElement(h.ZP,{type:h.yG.Small,color:y.I.Success},r.createElement("strong",null,"Secured")))),r.createElement(fe,null))),r.createElement(c.Z,null),r.createElement(se,null),r.createElement("div",{className:"u-pad-top--light u-marg-bottom"},r.createElement(he,null)),ye.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement(c.Z,null),r.createElement("div",null,r.createElement(be,null))),r.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},r.createElement(ue.Z,{disabled:V===oe.EBookingPaymentMethod.Planpay||N,text:d(u.W.Step.Confirmation.ConfirmReservation),history:null,isLoading:N,currentStep:Ce.Z,onClick:J}))),r.createElement(Ee.default,{open:!!I,onClose:W},r.createElement(h.ZP,null,I)),r.createElement(ve,{differences:n.differences,warnings:n.warnings,isLoading:N,onClose:(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_();case 2:O.push(Ze.Z.getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,j.Z)(Q().mark((function e(){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(V!==oe.EBookingPaymentMethod.Planpay){e.next=4;break}o({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,F(G.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}var Ye=n(9666),Je=n(3819),Xe=Ie.Provider,Ke=function(e){var t=e.children,n=We(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,i=(0,r.useState)(!1),c=(0,g.Z)(i,2),s=c[0],u=c[1],m=(0,r.useState)(""),d=(0,g.Z)(m,2),f=d[0],p=d[1],v=(0,Y.cI)({mode:"onChange"}),E=(0,r.useContext)(A.hy),h=E.getAllValidRows(),y=E.basketAddonRows,b=(0,T.WP)().hotel,C=function(e){return e.userProfiles.map((function(e){return{FirstName:e.Forename,LastName:e.Surname,Phone:e.Phone.replace(" ",""),Email:e.Email,Address:{Line1:e.Address,City:e.City,PostalCode:e.PostCode,Country:e.Country},MarketingOptIn:!1}}))},Z=function(){var e=(0,j.Z)(Q().mark((function e(t){var n;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=E.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw Ye.n_({level:Je.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),x=function(e,t,n,r){return function(){var a=(0,j.Z)(Q().mark((function a(o){var l,i,c,s;return Q().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(G.ZP.instance.sendInteraction("Complete Booking",G.s_.BUTTON,G._J.GUEST_DETAILS),u(!0),a.t0=!t,a.t0){a.next=7;break}return a.next=6,t();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return u(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,a.prev=14,a.next=17,W.Z.Reservation.bookNow(h,C(o),i,y,o.comment,b.hotelID);case 17:return l=a.sent,E.booked(l),a.next=21,Z(l);case 21:(c=a.sent)?null==n||n(c):null==r||r(l),a.next=30;break;case 25:a.prev=25,a.t1=a.catch(14),console.log(a.t1),p(null!==(s=null===a.t1||void 0===a.t1?void 0:a.t1.Message)&&void 0!==s?s:"Unexpected error returned from the booking database."),u(!1);case 30:case"end":return a.stop()}}),a,null,[[14,25]])})));return function(e){return a.apply(this,arguments)}}()},k=!!l&&!!o&&!!a,S=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},P=function(){var e=(0,j.Z)(Q().mark((function e(t){var n,r;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{if(u(!0),t)if((n=S(t)).length)try{W.Z.Reservation.commit(n,t.itineraryNumber,b.hotelID,l).then((function(e){try{G.ZP.instance.sendReservationConfirmed(E.getAllValidRows(),E.basketAddonRows,e)}catch(e){Ye.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}E.checkedOut(e)})).catch((function(e){console.log(e),p("Unexpected error")})).finally((function(){u(!1)}))}catch(e){p(null!==(r=null==e?void 0:e.Message)&&void 0!==r?r:"Unexpected error returned from the booking database.")}else p("Committing reservation failed due to an unexpected error"),A.qL.add({message:"Committing reservation failed due to an unexpected error"}),Ye.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t))}catch(e){p("Failed to commit reservation"),console.log("Failed to commit reservation "),console.error(e),Ye.Tb(e)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),w=function(){var e=(0,j.Z)(Q().mark((function e(){var t;return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(E.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=S(E.reservationData)).length){e.next=10;break}return u(!0),e.next=8,W.Z.Reservation.rollback(t,E.reservationData.itineraryNumber,b.hotelID);case 8:e.next=11;break;case 10:Ye.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(E.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),Ye.Tb(e.t0);case 17:return e.prev=17,E.rollback(),u(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),N=function(){var e=(0,j.Z)(Q().mark((function e(t,n,r,a){return Q().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.handleSubmit(x(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}();return r.createElement(Y.RV,v,r.createElement(Xe,{value:{book:N,commitReservation:P,rollbackReservation:w,isLoading:s,apiErrors:f,clearApiErrors:function(){return p("")},isBackFromPlanpay:k}},t))};function $e(){return r.createElement(Ke,null,r.createElement(Qe,null))}var et=function(){var e=(0,r.useContext)(A.g7),t=(0,r.useContext)(A.aN).currentStep,n=(0,r.useContext)(A.hy).currentBasketRows,v=(0,p.$)().t,g=(0,B.z)().raise;return(0,r.useEffect)((function(){var e=new V.z(n);g(e)}),[]),r.createElement("div",{className:"container"},r.createElement(m.default,null),r.createElement("div",{className:"row"+(e.screenSize>d.Z.ExtraLarge?" no-gutters":"")},r.createElement("div",{className:"col-md-7 col-xl-8"},e.screenSize>d.Z.Medium&&r.createElement(r.Fragment,null,r.createElement(i.rU,{to:o.Z.getPreviousStepUrl(t)},r.createElement(s.Z,null)),r.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},r.createElement(a.Z,{bold:!0},v(u.W.Navigation.Steps.Confirmation)))),r.createElement("div",{className:"u-marg-top@m-"},r.createElement(H.Z,null))),e.screenSize>d.Z.Medium&&r.createElement("div",{className:"offset-xl-1 col-md-4 col-xl-3 align-self-end"},r.createElement(f.Z,null))),r.createElement(c.Z,null),r.createElement("div",{className:"row"+(e.screenSize>d.Z.ExtraLarge?" no-gutters":"")},r.createElement("div",{className:"col-md-7 col-xl-8 d-table"},r.createElement("div",{className:"block-container"},!U.Z.isActive()&&r.createElement(_,null),r.createElement($e,null))),e.screenSize>d.Z.Medium&&r.createElement("div",{className:"col-xl-3 col-md-5 offset-xl-1"},r.createElement(L,{endDate:q().add(10,"minute")}),r.createElement(l.v,{showImages:!0}))))}},7701:function(e,t,n){(t=n(3645)(!1)).push([e.id,'.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE+._1w9esuEAWeVo01pSbRCYRE{margin-top:8px}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._3kmtWXHaspvwHpgixNLrHZ{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._3kmtWXHaspvwHpgixNLrHZ::before{background:rgba(0,0,0,0)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE._1HXUOfG_q1yvxdAqMJTxpv ._1CCxUg3a1cMgFeQKuab4ZB{color:#c0c3cc}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._3kmtWXHaspvwHpgixNLrHZ{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._3kmtWXHaspvwHpgixNLrHZ::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container ._1w9esuEAWeVo01pSbRCYRE.XmNJ84nut1siTCddtQEhW ._1CCxUg3a1cMgFeQKuab4ZB{color:var(--rs-color-navy)}.roomstay-booking-container ._3WTPlkWtf38fd4sYEWOHWF{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container ._3kmtWXHaspvwHpgixNLrHZ{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container ._3kmtWXHaspvwHpgixNLrHZ::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container ._1CCxUg3a1cMgFeQKuab4ZB{color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container ._2b4U9HVKpCst_LvAFwO94E{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container ._2nA7IF1LViqyTyoWBDZ9VN{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container ._2nA7IF1LViqyTyoWBDZ9VN:hover{background:rgba(204,204,204,.14)}',""]),t.locals={root:"_1w9esuEAWeVo01pSbRCYRE",disabled:"_1HXUOfG_q1yvxdAqMJTxpv",design:"_3kmtWXHaspvwHpgixNLrHZ",text:"_1CCxUg3a1cMgFeQKuab4ZB",checked:"XmNJ84nut1siTCddtQEhW",input:"_3WTPlkWtf38fd4sYEWOHWF",content:"_2b4U9HVKpCst_LvAFwO94E",header:"_2nA7IF1LViqyTyoWBDZ9VN"},e.exports=t},6728:function(e,t,n){(t=n(3645)(!1)).push([e.id,"._3QZUpAcJfjPS7WbzhW70jI ._3_Rg6DH-HSOj8aYOCLZmW0:first-child ._3rGSy_g5xOnECmj037thsT{border-top-left-radius:8px !important;border-top-right-radius:8px !important}._3QZUpAcJfjPS7WbzhW70jI ._3_Rg6DH-HSOj8aYOCLZmW0:last-child ._3rGSy_g5xOnECmj037thsT{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:8px !important;border-bottom-right-radius:8px !important}._3QZUpAcJfjPS7WbzhW70jI ._3rGSy_g5xOnECmj037thsT{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}",""]),t.locals={root:"_3QZUpAcJfjPS7WbzhW70jI",wrapper:"_3_Rg6DH-HSOj8aYOCLZmW0",item:"_3rGSy_g5xOnECmj037thsT"},e.exports=t},4166:function(e,t,n){var r=n(3379),a=n(7701);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},6928:function(e,t,n){var r=n(3379),a=n(6728);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
@@ -1 +1 @@
1
- (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[882],{119:function(e,t,n){"use strict";n.d(t,{j:function(){return c}});var r=n(5671),o=n(3144),l=n(136),a=n(2963),i=n(1120);var c=function(e){(0,l.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var o=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return(0,a.Z)(this,e)});function s(e,t){var n;return(0,r.Z)(this,s),(n=c.call(this)).search=void 0,n.roomList=void 0,n.search=e,n.roomList=t,n}return(0,o.Z)(s,null,[{key:"getLabel",value:function(){return"Search/RoomList"}}]),s}(n(7112).x)},7882:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ke}});var r=n(885),o=n(7294),l=n(4478),a=n(3727),i=n(3821),c=n(3010),s=n(8886),m=n(9874),u=n(584),d=n(4942),f=n(7930),g=n(3409),v=n(4854),p=n(9478),E=n(9314);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,o.useContext)(E.g7),t=(0,l.$)().t,n=Object.keys(e.currentFilters).filter((function(t){return t&&e.currentFilters[t]instanceof f.Z}));return n.length?o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"filter-height"},n&&(n.length<=2?n.map((function(t){if(t&&e.currentFilters[t]instanceof f.Z)return o.createElement(g.ZP,{key:t,onClickIcon:function(){e.setCurrentFilters(h(h({},e.currentFilters),{},(0,d.Z)({},t,null)))},type:g.Rm.Secondary,icon:s.Tu.Close,iconPosition:"right"},e.currentFilters[t].getLabel())})):o.createElement(g.ZP,{onClickIcon:function(){e.setCurrentFilters({})},type:g.Rm.Secondary,icon:s.Tu.Close,iconPosition:"right"},n.length," Filters Applied"))),!!Object.values(e.currentFilters).filter((function(e){return!!e})).length&&o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){e.setCurrentFilters({})}},t(p.W.Misc.ClearAll))):o.createElement(o.Fragment,null)}var Z=n(7754),S=n(292),P=n(5128),R=n(858),w=n(3144),C=n(5671),x=n(136),N=n(2963),k=n(1120);var I=function(e){(0,x.Z)(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,k.Z)(t);if(n){var o=(0,k.Z)(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return(0,N.Z)(this,e)});function o(e,t){var n;return(0,C.Z)(this,o),(n=r.call(this)).min=void 0,n.max=void 0,n.getMin=function(){return n.min},n.getMax=function(){return n.max},n.getLabel=function(){return"Budget"},n.check=function(e){if(e.getLowestPrice()>n.max)return null;var t=[];return e.getOriginalRates().forEach((function(e){e.getAveragePrice()<=n.max&&e.getAveragePrice()>=n.min&&t.push(e)})),e.filteredRates=t,e},n.min=e,n.max=t,n}return(0,w.Z)(o)}(f.Z),O=n(4485),M=n(4184),D=n(2982),A=n(9525),_=n.n(A),L=function(e){var t,n,r=M(_().marker,(t={},(0,d.Z)(t,_()["--fixed"],e.fixed),(0,d.Z)(t,_()["--hidden"],!e.marker.isVisible),(0,d.Z)(t,_()["--".concat(e.isEdge)],!!e.isEdge),t)),l=M(_()["marker-label"],(n={},(0,d.Z)(n,_()["--fixed"],e.fixed),(0,d.Z)(n,_()["--".concat(e.isEdge)],!!e.isEdge),n)),a={};return e.offset&&(a.left=Math.max(Math.min(100,e.offset),0)+"%"),o.createElement("span",{className:r,style:a},e.marker&&!!e.marker.label&&o.createElement("span",{className:l},e.marker.label))},j=function(e){var t,n,l=e.min,a=void 0===l?0:l,i=e.max,c=void 0===i?100:i,s=(0,o.useState)(!1),m=(0,r.Z)(s,2),u=(m[0],m[1]),d=(0,o.useState)(null),f=(0,r.Z)(d,2),g=f[0],v=f[1],p=(0,o.useRef)(null),E=(e.markers.map((function(){})),function(t){var n,r=null==p||null===(n=p.current)||void 0===n?void 0:n.getBoundingClientRect();if(r){for(var o=r.x,l=r.x+r.width,i=Math.max(Math.min(Math.round(a+(c-a)*(t.clientX-o)/(l-o)),e.max),e.min),s=g,m=e.markers,u=0;u<m.length;u++)m[u].isVisible&&(null===s||Math.abs(i-m[s].value)>Math.abs(i-m[u].value))&&(s=u);var d=(0,D.Z)(e.markers);d[s].value=i,e.onChange(d),v(s)}}),y=function(e){var t;return t=(e-a)/(c-a)*100,Math.min(Math.max(t,0),100)};return(0,o.useEffect)((function(){var e,t=!1,n=null==p||null===(e=p.current)||void 0===e?void 0:e.getBoundingClientRect();if(n){n.x,n.x,n.width;var r=function(e){t||null===g||E(e)},o=function(){u(!1),v(null)};return document.body.addEventListener("mouseup",o),document.body.addEventListener("mousemove",r),function(){t=!0,document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",r)}}}),[g]),o.createElement("div",{className:_().slider,onMouseDown:function(e){u(!0),E(e)},ref:p},o.createElement("div",{className:_()["slider-track"]},null===(t=null!==(n=e.backgroundMarkers)&&void 0!==n?n:[])||void 0===t?void 0:t.map((function(e){return o.createElement(L,{offset:y(e.value),marker:e,fixed:!0,isEdge:e.isEdge})})),o.createElement("div",{className:_()["slider-rail"],style:{left:"".concat(y(e.markers[0].value),"%"),right:"".concat(100-y(e.markers[1].value),"%")}}),e.markers.map((function(e){return o.createElement(L,{offset:y(e.value),marker:e})}))))};function T(e){var t,n,a,i,c,s=(0,l.$)().t,m=(0,o.useState)([null!==(t=null===(n=e.filter)||void 0===n?void 0:n.getMin())&&void 0!==t?t:0,null!==(a=null===(i=e.filter)||void 0===i?void 0:i.getMax())&&void 0!==a?a:0]),d=(0,r.Z)(m,2),f=d[0],g=d[1],E=(0,o.useState)(f),y=(0,r.Z)(E,2),h=y[0],b=y[1],S=(0,o.useState)(null),P=(0,r.Z)(S,2),w=P[0],C=P[1];(0,o.useEffect)((function(){var t,n,r,o,l,a,i=null!==(t=e.roomList)&&void 0!==t&&t.length?e.roomList.reduce((function(e,t){var n=t.getLowestPrice(!0);return e<n&&e?e:n}),null):0,c=null!==(n=e.roomList)&&void 0!==n&&n.length?e.roomList.reduce((function(e,t){var n=t.getHighestPrice(!0);return e>n&&e?e:n}),0):0;g([i,c]),b([null!==(r=null===(o=e.filter)||void 0===o?void 0:o.getMin())&&void 0!==r?r:i,null!==(l=null===(a=e.filter)||void 0===a?void 0:a.getMax())&&void 0!==l?l:c])}),[e.roomList]),(0,o.useEffect)((function(){var e=f[1]-f[0];h[1]<f[0]+.3*e?C("left"):h[0]>f[1]-.3*e?C("right"):C(null)}),[h]);var x=function(e){return o.createElement(R.Z,{hideDecimals:!0,disableLoading:!0},e)},N=(Z.I.Grey,x(f[0]),f[0],Z.I.Grey,x(f[1]),f[1],x(h[0]),x(h[1]),h[1],h[0],h[0],[{isVisible:!0,value:h[0]},{isVisible:!0,value:h[1]},{isVisible:!1,label:o.createElement(o.Fragment,null,x(h[0])," - ",x(h[1])),value:h[0]+(h[1]-h[0])/2}]),k=[{isVisible:!0,value:f[0],label:x(f[0]),isEdge:"start"},{isVisible:!0,value:f[1],label:x(f[1]),isEdge:"end"}];return o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex"},o.createElement("div",null,o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,s(p.W.Step.Room.Filter.Budget))),o.createElement(u.ZP,{inline:!0,type:u.yG.Small},"/",s(p.W.Misc.PerNight))),o.createElement("div",null,o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){return b(f),void e.onChange(null)}},s(p.W.Misc.Clear)))),(null===(c=e.roomList)||void 0===c?void 0:c.length)>0?o.createElement("div",{className:M("roomstay-slider",{"--min-limit":"left"===w,"--max-limit":"right"===w})},o.createElement(j,{min:f[0],max:f[1],onChange:function(t){b(t.map((function(e){return e.value}))),e.onChange(new I(t[0].value,t[1].value))},markers:N,backgroundMarkers:k})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null)))}var B=n(5861),F=n(4687),W=n.n(F),G=n(4516);function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Y=(0,w.Z)((function e(){(0,C.Z)(this,e)}));Y.getRoomList=function(){var e=(0,B.Z)(W().mark((function e(t,n,r){return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Y,e.next=3,Y.getUnfilteredRoomList(t,r);case 3:return e.t1=e.sent,e.t2=n,e.abrupt("return",e.t0.filterRooms.call(e.t0,e.t1,e.t2));case 6:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),Y.filterRooms=function(e,t){var n=[];return e.forEach((function(e){var r=e;r.filteredRates=e.getOriginalRates();var o,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(t);try{for(l.s();!(o=l.n()).done;){var a=o.value;if(a&&!(r=a.check(e)))break}}catch(e){l.e(e)}finally{l.f()}r&&n.push(r)})),n.filter((function(e){return!!e.filteredRates.length}))},Y.getUnfilteredRoomList=function(){var e=(0,B.Z)(W().mark((function e(t,n){return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();var V=n(9087),U=n(9024);function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Q(e){var t,n=(0,l.$)().t,a=(0,o.useState)({}),i=(0,r.Z)(a,2),c=i[0],s=i[1],m=(0,o.useState)(0),f=(0,r.Z)(m,2),g=f[0],E=f[1],y=(0,o.useRef)();return(0,o.useEffect)((function(){if(e.roomList){var t={},n=e.filter?e.filter.getViewOnly():null;e.roomList.forEach((function(e){e.getOriginalRates().forEach((function(e){t[e.name]={status:!n||n.includes(e.name)}}))})),s(t)}}),[e.roomList,g]),(0,o.useEffect)((function(){var t;if(null!=y&&y.current&&null!==(t=e.roomList)&&void 0!==t&&t.length){var n=Object.keys(c),r=n.filter((function(e){return c[e].status}));n.length===r.length?e.onChange(null):e.onChange(new V.Z(r))}}),[c]),o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex u-marg-bottom",ref:y},o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.Filter.RateType))),o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),E((function(e){return e+1}))}},n(p.W.Misc.Clear))),o.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?c&&Object.keys(c).map((function(e){return o.createElement("div",{className:"u-marg-bottom--light",key:e},o.createElement(U.Z,{label:e,checked:c[e].status,onChange:function(t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},c);n[e].status=t.target.checked,s(n)}}))})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null))))}var X=n(742);function $(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){var t,n=(0,l.$)().t,a=(0,o.useState)({}),i=(0,r.Z)(a,2),c=i[0],s=i[1],m=(0,o.useState)(0),f=(0,r.Z)(m,2),g=f[0],E=f[1],y=(0,o.useRef)();(0,o.useEffect)((function(){if(e.roomList){var t={},n=e.filter?e.filter.getVisibleRooms():null;e.roomList.forEach((function(e){t[e.name]={status:!n||n.includes(e.name)||n.includes(e.code)}})),s(t)}}),[e.roomList,g]);var h=Object.keys(c),b=h.filter((function(e){return c[e].status}));return(0,o.useEffect)((function(){var t;null!=y&&y.current&&null!==(t=e.roomList)&&void 0!==t&&t.length&&(b.length===h.length?e.onChange(null):e.onChange(new X.Z(b)))}),[c]),o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex u-marg-bottom u-marg-top--heavy",ref:y},o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.Filter.RoomType))),o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),E((function(e){return e+1}))}},n(p.W.Misc.Clear))),o.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?c&&Object.keys(c).map((function(e){return o.createElement("div",{className:"u-marg-bottom--light",key:e},o.createElement(U.Z,{label:e,checked:c[e].status,onChange:function(t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},c);n[e].status=t.target.checked,s(n)}}))})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null))))}var K=n(4544),q=n(7688),ee=n(9089);function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function re(e){var t=(0,o.useContext)(E.g7),n=(0,o.useContext)(E.hy),a=(0,q.WP)().hotel,i=(0,l.$)().t,s=(0,o.useState)(t.currentFilters),f=(0,r.Z)(s,2),g=f[0],y=f[1],h=(0,o.useState)([]),b=(0,r.Z)(h,2),R=b[0],w=b[1];(0,o.useEffect)((function(){if(y(ne({},t.currentFilters)),e.open){var r,o=n.getAllValidRows();Y.getUnfilteredRoomList(null!==(r=n.selectedBasketRow)&&void 0!==r?r:o[o.length-1],a.hotelID).then((function(e){w(e)}))}}),[e.open]);var C=o.createElement("div",{className:"u-flex align-items-center justify-content-between justify-content-md-end"},o.createElement("div",{className:"u-marg-right--heavy"},o.createElement(u.ZP,{color:Z.I.Accent},o.createElement("strong",null,Y.filterRooms(R,Object.values(g)).length," ",i(p.W.Step.Room.Filter.MatchingRoomsRates)))),o.createElement(v.Z,{primary:!0,filled:!0,onClick:function(){K.ZP.instance.sendInteraction("Apply Filters",K.s_.BUTTON,K._J.ROOMS),t.setCurrentFilters(g),e.onClose()}},i(p.W.Misc.ApplyChanges))),x=function(e,t){y((function(n){return ne(ne({},n),{},(0,d.Z)({},e,t))}))},N=o.createElement("div",{className:"room-filter"},o.createElement("div",{className:"u-pad--heavy u-pad-bottom--none"},t.screenSize>S.Z.Medium&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(c.Z,{bold:!0},i(p.W.Step.Room.FilterBy))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6"},o.createElement(T,{filter:g.Budget,onChange:function(e){return x("Budget",e)},roomList:R}),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(H,{roomList:R,filter:g.RoomType,onChange:function(e){return x("RoomType",e)}}))),o.createElement("div",{className:"col-md-6"},o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(Q,{roomList:R,filter:g.RateType,onChange:function(e){return x("RateType",e)}}))))));return t.screenSize>S.Z.Medium?o.createElement(ee.a,{followElement:e.anchorEl,onClose:e.onClose,open:e.open,placement:"bottom-start"},o.createElement(o.Fragment,null,N,o.createElement("div",{className:"u-pad--heavy u-pad-top--none"},o.createElement(m.Z,null),C))):o.createElement(P.Z,{open:e.open,onClose:e.onClose,title:"Filter",mobileFooter:C},N)}var oe=n(4354),le=n(291);function ae(e){var t,n,r,l,a,i=(0,q.WP)().hotel,c=null===(t=i.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],m=null==i||null===(r=i.overwrites)||void 0===r?void 0:r[null===(l=e.room)||void 0===l?void 0:l.code],d=null!==(a=e.textColor)&&void 0!==a?a:Z.I.DarkGrey;return o.createElement("ul",{className:"u-list-inline-flex u-marg-bottom"},o.createElement("li",{className:"align-items-center"},o.createElement(s.ZP,{icon:s.Tu.People,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},"Sleeps ",null==c?void 0:c.maxOccupancy))),o.createElement("li",{className:"u-pad-left align-items-center"},o.createElement(s.ZP,{icon:s.Tu.Bed,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},(null==c?void 0:c.bedQuantity)>0?null==c?void 0:c.bedQuantity:""," ",null==c?void 0:c.bedType))),!(null==m||!m.RoomDimensions)&&o.createElement("li",{className:"u-pad-left align-items-center"},o.createElement(s.ZP,{icon:s.Tu.RoomSize,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},m.RoomDimensions))))}function ie(e){var t,n=(0,l.$)().t,r=(0,q.WP)().hotel,a=r.perks,i=r.rooms,d=null==i?void 0:i[e.room.code],f=null!=d&&d.amenities?(0,D.Z)(null==d?void 0:d.amenities):[];return null!=d&&null!==(t=d.features)&&void 0!==t&&t.length&&d.features.forEach((function(e){f.push(e)})),o.createElement(P.Z,{title:e.room.name+" "+n(p.W.Step.Room.RoomInfo.Information),open:e.open,size:P.g.Small,onClose:e.onClose},o.createElement("div",null,o.createElement("div",{style:{height:"350px"}},o.createElement(le.Z,{images:e.room.getImages()})),o.createElement("div",{className:"u-marg-heavy u-marg@m-"},o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),o.createElement(ae,{room:e.room}),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)}}))),o.createElement("div",{className:"u-marg-bottom--heavy"},!!a&&o.createElement("div",{className:"row"},a.map((function(e,t){return o.createElement("div",{key:t,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},o.createElement("div",{className:"room-perk-icon --has-bg"},e.iconElement?e.iconElement:o.createElement(s.ZP,{icon:e.icon})),o.createElement("div",{className:"u-marg-left--light"},o.createElement(u.ZP,{type:u.yG.Small},e.name)))})))),!(null==f||!f.length)&&o.createElement(o.Fragment,null,o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{color:Z.I.Accent,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.RoomInfo.RoomAmenities)))),o.createElement("div",{className:"row"},f.map((function(e){return o.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},o.createElement(s.ZP,{icon:s.Tu.Check,color:Z.I.White,backgroundColor:Z.I.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),o.createElement("div",{className:"u-marg-left--light u-flex"},o.createElement(u.ZP,{type:u.yG.Small,inline:!0},e.description)))})))),o.createElement(m.Z,null),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Graphite},o.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()}})))),o.createElement(oe.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}var ce=n(9740);function se(e){var t,n=(0,o.useContext)(E.g7),l=e.perks,a=n.screenSize<=S.Z.Large,i=(0,o.useState)(null===(t=l[0])||void 0===t?void 0:t.name),c=(0,r.Z)(i,2),m=c[0],d=c[1],f=M("room-perk-icon",{"--has-bg":a});return o.createElement(o.Fragment,null,!(null==l||!l.length)&&o.createElement("ul",null,l.map((function(e,t){if(!(a&&t>=4))return o.createElement("li",{key:t,onClick:function(){d(e.name)}},o.createElement("div",{className:f},e.iconElement?e.iconElement:o.createElement(s.ZP,{icon:e.icon})),o.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(a&&m!==e.name||n.screenSize===S.Z.Tiny?"u-none-2":"")},o.createElement(u.xv,{type:u.yG.Small},e.name)))}))))}var me=n(8361),ue=n(3633),de=n(7700),fe=n(4744);function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ve(e){var t,n=(0,o.useState)([]),a=(0,r.Z)(n,2),i=a[0],m=a[1],f=(0,o.useState)([]),g=(0,r.Z)(f,2),y=g[0],h=g[1],b=(0,o.useState)(null),P=(0,r.Z)(b,2),w=P[0],C=P[1],x=(0,o.useState)(!1),N=(0,r.Z)(x,2),k=N[0],I=N[1],O=(0,l.$)().t,D=(0,o.useContext)(E.g7),A=(0,o.useContext)(E.hy),_=(0,o.useContext)(E.Qm),L=(0,q.WP)().hotel,j=e.room,T=M("room-details",(0,d.Z)({},"+is-open",w));(0,o.useEffect)((function(){var t;null!==(t=A.selectedBasketRow)&&void 0!==t&&t.getRoom()&&A.selectedBasketRow.getRoom().code===e.room.code&&C(!0),K.ZP.instance.addRoomImpression(j)}),[A.selectedBasketRow]),(0,o.useEffect)((function(){var e=[],t=[];if(ue.Z.isActive()){var n,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ge(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(j.getRates());try{for(r.s();!(n=r.n()).done;){var o,l,a,i=n.value;(null===(o=i.promoCode)||void 0===o?void 0:o.toLowerCase())===(null===(l=A.selectedBasketRow)||void 0===l||null===(a=l.getPromoCode())||void 0===a?void 0:a.toLowerCase())?t.unshift(i):e.push(i)}}catch(e){r.e(e)}finally{r.f()}t.length>0&&(C(!0),m(t))}else e=j.getRates();h(e)}),[j.getRates()]);var B=null===(t=L.perks)||void 0===t?void 0:t.slice(0,5),F=j.getShortDescription(),W=D.screenSize<=S.Z.Large,G=w||D.screenSize<=S.Z.Medium&&null===w,z=Math.round(j.getLowestPrice(!1,!0)),Y=D.screenSize>S.Z.Medium&&z.toLocaleString().length<7?"large":"normal";return o.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},o.createElement("div",{className:T},o.createElement("div",{className:"room-details--image"},o.createElement(le.Z,{images:e.room.getImages(),imageSize:fe.h.Medium})),o.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},o.createElement("div",{className:"u-marg-bottom"},D.screenSize>S.Z.Large&&o.createElement(o.Fragment,null,o.createElement("div",{className:"u-marg-bottom"},o.createElement(de.Z,{room:j,limit:2}))),o.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0},j.name)),o.createElement(ae,{room:j}),o.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:F.replace(/<br(\/|)>/g,"")}})))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},o.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},W&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:Z.I.Accent},O(p.W.Misc.Perks.AndYouGetAll))),o.createElement(se,{perks:B})),o.createElement(v.Z,{icon:s.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){K.ZP.instance.sendInteraction("More Room Details",K.s_.LINK,K._J.ROOMS),I(!0)}},O(p.W.Step.Room.RoomInfo.MoreDetails))),o.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0},O(p.W.Misc.From)),o.createElement("div",{className:"room-details--content-price flex-row align-items-end"},o.createElement(c.Z,{size:Y,bold:!0},o.createElement(R.Z,{hideDecimals:!0},z)),o.createElement(u.ZP,{color:Z.I.DarkGrey,inline:!0},"/",O(p.W.Misc.Night))),o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Grey,inline:!0,className:"u-nowrap"},j.getLowestPriceType()===me.I.IncludingFeesAndTaxes?O(p.W.Step.Room.RoomInfo.IncludesTaxes):O(p.W.Step.Room.ExcludingTaxes))),o.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},o.createElement(v.Z,{name:"ViewRatesNowButton",primary:!0,primaryActive:G,filled:!0,stopIconAnimation:!0,icon:G?s.Tu.ArrowUp2:s.Tu.ArrowDown2,iconPosition:"right",onClick:function(){G||K.ZP.instance.sendRoomClick(j,A.startDate,A.endDate),C(!G)},wide:D.screenSize<=S.Z.Large},O(G?p.W.Step.Room.RoomInfo.CloseRates:p.W.Step.Room.RoomInfo.ViewRates))))))),o.createElement(ce.Z,{open:G},o.createElement(oe.Z,{roomCode:j.code,rates:y,featuredRates:i})),o.createElement(ie,{open:k,room:e.room,rates:y,featuredRates:i,onClose:function(){I(!1)}}),j.getRates().map((function(e){return o.createElement("script",{key:j.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:j.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:e.getAveragePrice(),priceCurrency:_.currentCurrency,unitText:"Nightly"}}))})))}var pe=n(7832),Ee=n(281),ye=n(1126);function he(e){var t=(0,l.$)().t,n=(0,o.useContext)(E.g7),a=(0,o.useContext)(E.hy),i=(0,o.useState)(!1),m=(0,r.Z)(i,2),d=m[0],f=m[1],g=(0,o.useState)(!0),v=(0,r.Z)(g,2),y=v[0],h=v[1],b=(0,o.useState)(!0),P=(0,r.Z)(b,2),w=P[0],C=P[1],x=(0,o.useState)(""),N=(0,r.Z)(x,2),k=N[0],I=N[1],M=(0,o.useState)(""),D=(0,r.Z)(M,2),A=D[0],_=D[1],L=(0,o.useState)(""),j=(0,r.Z)(L,2),T=j[0],B=j[1],F=(0,o.useState)(""),W=(0,r.Z)(F,2),z=W[0],Y=W[1],V=(0,o.useState)([]),U=(0,r.Z)(V,2),J=U[0],Q=U[1];return(0,o.useEffect)((function(){var t=a.selectedBasketRow;t&&G.Z.Availability.getCheapestPricePerDay(t.getStartDate(),t.getEndDate(),t.getAdults(),t.getChildren(),t.getPromoCode(),e.hotelId,!0).catch().then((function(n){if(n){for(var r=!0,o=t.getStartDate();o.isBefore(t.getEndDate(),"day");o=o.add(1,"day"))if(!n[o.format(ye.yJ)]){r=!1;break}if(f(r),h(!0),r){C(!0);var l=G.Z.Availability.getCrossSellHotelInfo(e.hotelId);_(l.name),I(l.image),B(l.description);var a=["arrive="+t.getStartDate().format("YYYY-M-D"),"depart="+t.getEndDate().format("YYYY-M-D")];t.getAdults()>1&&a.push("adults="+t.getAdults()),t.getChildren()>0&&a.push("children="+t.getChildren()),t.getPromoCode()&&a.push("promocode="+t.getPromoCode()),Y(l.checkoutUrl+"#/step/room/?"+a.join("&")),G.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){e.length?(Q(e),C(!1)):(h(!1),C(!1))}))}}}))}),[a.selectedBasketRow]),d&&o.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},o.createElement("div",{className:"cross-sell-module"},o.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(k,"')")}}),o.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,size:y?"large":"normal"},w?"A nearby hotel may have availability on your dates...":y?"Nearby hotel has availability on your dates!":"Sorry, we checked and your dates are also unavailable in our nearby hotels")),y&&o.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Body},o.createElement("strong",{style:{color:Z.I.Accent}},A)," ",o.createElement("div",{dangerouslySetInnerHTML:{__html:T}})))),w?o.createElement(O.Z,null):o.createElement(o.Fragment,null,J.slice(0,4).map((function(e,n){var r=z+"&room="+e.code,l="u-flex align-items-end";return n<J.length-1&&(l+=" u-pad-bottom u-border-bottom u-marg-bottom"),o.createElement("a",{key:e.code,className:l,href:r,target:"_blank",rel:"noreferrer"},o.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},o.createElement(u.ZP,{type:u.yG.Body,color:Z.I.Accent,bold:!0},e.name),o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey},"Sleeps ",e.occupancy)),o.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey,inline:!0},t(p.W.Misc.From)),o.createElement(u.ZP,{type:u.yG.Body,color:Z.I.Accent,bold:!0},o.createElement(R.Z,null,e.getLowestPrice(!0)))))}))),y&&o.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},o.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=S.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:z,target:"_blank",rel:"noreferrer"},o.createElement("span",null,"See all ",J.length," rooms",o.createElement(s.ZP,{icon:s.Tu.ArrowRight,size:"1em"})))))))}var be=n(9699),Ze=n(119);function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Pe=function(e){var t=e.room,n=(0,o.useState)([]),a=(0,r.Z)(n,2),i=a[0],m=a[1],d=(0,o.useState)([]),f=(0,r.Z)(d,2),y=f[0],h=f[1],b=(0,o.useState)(!1),P=(0,r.Z)(b,2),w=P[0],C=P[1],x=o.useContext(E.g7),N=(0,o.useContext)(E.hy),k=(0,l.$)().t;(0,o.useEffect)((function(){var e=[],n=[];if(ue.Z.isActive()){var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(t.getRates());try{for(o.s();!(r=o.n()).done;){var l,a,i,c=r.value;(null===(l=c.promoCode)||void 0===l?void 0:l.toLowerCase())===(null===(a=N.selectedBasketRow)||void 0===a||null===(i=a.getPromoCode())||void 0===i?void 0:i.toLowerCase())?n.unshift(c):e.push(c)}}catch(e){o.e(e)}finally{o.f()}n.length>0&&m(n)}else e=t.getRates();h(e)}),[t.getRates()]);var I=t.getShortDescription(),O=x.screenSize<=S.Z.Large,M=Math.round(t.getLowestPrice(!1,!0)),D=x.screenSize>S.Z.Medium&&M.toLocaleString().length<7?"large":"normal";return o.createElement("div",{className:"room-details-container --theme-retargeting u-marg-top u-marg-bottom"},o.createElement("div",{className:"room-details"},o.createElement("div",{className:"room-details--image"},o.createElement(le.Z,{images:t.getImages(),imageSize:fe.h.Medium})),o.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},o.createElement("div",{className:"u-marg-bottom"},o.createElement("div",{className:"u-marg-bottom"},o.createElement(g.ZP,{type:g.Rm.Primary,icon:s.Tu.Add},"You booked this room recently!")),o.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0},t.name)),o.createElement(ae,{room:t,textColor:Z.I.Navy}),o.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.Navy,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:I.replace(/<br(\/|)>/g,"")}})))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},o.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},O&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:Z.I.Accent},k(p.W.Misc.Perks.AndYouGetAll))))),o.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0},k(p.W.Misc.From)),o.createElement("div",{className:"room-details--content-price flex-row align-items-end"},o.createElement(c.Z,{size:D,bold:!0},o.createElement(R.Z,{hideDecimals:!0},M)),o.createElement(u.ZP,{color:Z.I.Navy,inline:!0},"/",k(p.W.Misc.Night))),o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0,className:"u-nowrap"},t.getLowestPriceType()===me.I.IncludingFeesAndTaxes?k(p.W.Step.Room.RoomInfo.IncludesTaxes):k(p.W.Step.Room.ExcludingTaxes))),o.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},o.createElement(v.Z,{name:"ViewRatesNowButton",primary:!0,filled:!0,stopIconAnimation:!0,iconPosition:"right",wide:x.screenSize<=S.Z.Large,onClick:function(){K.ZP.instance.sendInteraction("More Room Details",K.s_.LINK,K._J.ROOMS),C(!0)}},k(p.W.Step.Room.RoomInfo.ViewRates))))))),o.createElement(ie,{open:w,room:e.room,rates:y,featuredRates:i,onClose:function(){C(!1)}}))},Re=n(7484),we=n(2841),Ce=n(1092),xe=n(3261),Ne=n(2530),ke=n(5112),Ie=n(5986),Oe=n(3122);function Me(e){var t,n,r,a=(0,q.WP)().hotel,i=(0,l.$)().t,c=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getChildren())&&void 0!==t?t:1,m=Math.max((null==a?void 0:a.maxOccupancy)+1-(null===(r=e.row)||void 0===r?void 0:r.getAdults()));return(m<1||isNaN(m))&&(m=1),o.createElement(Oe.Z,{selectedValue:c,onChange:e.onChange,iconComponent:s.Tf,items:(0,D.Z)(Array(m)).map((function(e,t){return{text:xe.Z.pluralWithDictAndCount(t,p.W.Step.Date.Child,i),value:t}}))})}function De(e){var t,n,r,a=(0,q.WP)().hotel,i=(0,l.$)().t,c=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getAdults())&&void 0!==t?t:1,m=Math.max((null==a?void 0:a.maxOccupancy)-(null===(r=e.row)||void 0===r?void 0:r.getChildren()),c);return(m<1||isNaN(m))&&(m=1),o.createElement(Oe.Z,{selectedValue:c,onChange:e.onChange,iconComponent:s.Tf,items:(0,D.Z)(Array(m)).map((function(e,t){return t+=1,{text:xe.Z.pluralWithDictAndCount(t,p.W.Step.Date.Adult,i),value:t}}))})}function Ae(e){var t,n,a,i=(0,o.useContext)(E.hy),c=(0,o.useContext)(E.g7),m=(0,l.$)().t,d=(0,o.useState)(!1),f=(0,r.Z)(d,2),y=f[0],h=f[1],b=e.row,P=i.selectedBasketRow&&i.selectedBasketRow.getID()===b.getID(),R=M("room-builder-progress--item",{"--current":P,"--complete":b.isValid()}),w=(0,o.useState)(b.getPromoCode()),C=(0,r.Z)(w,2),x=(C[0],C[1]),N=(0,o.useRef)(),k=(0,o.useState)(!1),I=(0,r.Z)(k,2),O=I[0],D=I[1];(0,o.useEffect)((function(){y&&!P&&h(!1)}),[i.selectBasketRow]);var A,_=function(e){var t=e.adults,n=e.children,r=e.updatedPromoCode;t&&t!==b.getAdults()&&(K.ZP.instance.sendInteraction("Guests",K.s_.NUMBER_INPUT,K._J.ROOMS),b.setAdults(t)),!n&&0!==n||n===b.getChildren()||(K.ZP.instance.sendInteraction("Guests",K.s_.NUMBER_INPUT,K._J.ROOMS),b.setChildren(n)),!r&&""!==r||r===b.getPromoCode()||(K.ZP.instance.sendInteraction("Promo Code",K.s_.FORM_FIELD,K._J.ROOMS),b.setPromoCode(r)),i.updateBasketRow(b)},L=i.currentBasketRows.length>1,j=o.createElement(ke.Z,{title:L?"Remove this room":"Cannot remove this room as at least one must be selected."},o.createElement("div",{className:"room-builder-progress--remove"},o.createElement(v.Z,{isText:!0,icon:s.Tu.Close,iconPosition:"right",stopIconAnimation:!0,disabled:!L,onClick:function(){K.ZP.instance.sendInteraction("Remove Room",K.s_.BUTTON,K._J.ROOMS),i.removeBasketRow(b)}}))),T=c.screenSize>S.Z.ExtraLarge,B=T||P,F=1!==i.currentBasketRows.length?e.number+1:"";return A="new"===b.getPromoCodeStatus()?b.getPromoCode()?"Promo Code is being checked... please wait.":"Set a Promo Code for a possible offer!":"valid"===b.getPromoCodeStatus()?"Successful promo code entered":"Error code not valid",o.createElement("div",{className:R},P||!b.isValid()?o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl- align-items-center"},o.createElement("div",null,b.isValid()?o.createElement(u.ZP,null,o.createElement("strong",{className:"u-nowrap"},m(p.W.Step.Room.EditingRoom)," ",F)):o.createElement(u.ZP,null,o.createElement("strong",{className:"u-nowrap"},m(p.W.Step.Room.SelectRoom)," ",F))),B?o.createElement(o.Fragment,null,!T&&o.createElement("div",{className:"w-100 d-flex"+(B?" u-marg-bottom@xl-":"")},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey,inline:!0},"Choose room below")),o.createElement(ke.Z,{title:"Update number of adults",wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value"},o.createElement(De,{row:b,onChange:function(e){_({adults:e})}}))),o.createElement(ke.Z,{title:"Update number of children",wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value"},o.createElement(Me,{row:b,onChange:function(e){_({children:e})}}))),o.createElement(o.Fragment,null,o.createElement("div",{className:"room-builder-progress--value"},o.createElement(Ne.Z,{startDate:b.getStartDate(),selectedDateChanged:function(e,t){e&&b.setStartDate(e),t&&b.setEndDate(t),i.updateBasketRow(b)},className:"u-w-100@xl- d-flex align-items-center justify-content-center"},o.createElement(ke.Z,{title:"Select Arrival and departure dates by clicking here"},o.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer"},o.createElement(u.ZP,{color:Z.I.Accent,bold:!0,className:"u-nowrap"},b.getArrivalDate()),o.createElement(s.ZP,{icon:s.Tu.ArrowRight2}),o.createElement(u.ZP,{color:Z.I.Accent,bold:!0,className:"u-nowrap"},b.getDepartureDate()))))),o.createElement(ke.Z,{title:A,wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value u-cursor-pointer",ref:N,onClick:function(){D(!0)}},o.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl-"},o.createElement(u.ZP,{className:"u-pad-right--light",type:u.yG.Body,color:b.getPromoCode()?b.getPromoCodeColour():Z.I.Navy},b.getPromoCode()?b.getPromoCode():"Promo Code"),o.createElement(s.ZP,{icon:s.Tu.Dropdown,color:Z.I.DarkGrey}))))),o.createElement(ee.a,{open:O,followElement:N.current,onClose:function(){x(b.getPromoCode()),D(!1)}},o.createElement("div",{className:"u-pad--heavy"},o.createElement("div",null,o.createElement(Ie.Z,{value:null===(t=i.selectedBasketRow)||void 0===t?void 0:t.getPromoCode(),onChange:function(e){var t;t=e,K.ZP.instance.sendInteraction("Promo Code",K.s_.FORM_FIELD,K._J.ROOMS),i.selectedBasketRow&&(i.selectedBasketRow.setPromoCode(t),i.updateBasketRow(i.selectedBasketRow),t&&D(!1))},valid:"new"!==(null===(n=i.selectedBasketRow)||void 0===n?void 0:n.getPromoCodeStatus())?"valid"===(null===(a=i.selectedBasketRow)||void 0===a?void 0:a.getPromoCodeStatus()):null})),o.createElement("div",{className:"u-flex justify-content-end align-items-center u-marg-top"},o.createElement(v.Z,{isText:!0,size:"small",onClick:function(){K.ZP.instance.sendInteraction("Cancel Promo Popup",K.s_.BUTTON,K._J.ROOMS),x(b.getPromoCode()),D(!1)}},"Cancel")))),!T&&b.isValid()&&o.createElement(v.Z,{wide:!0,primary:!0,filled:!0,onClick:function(){K.ZP.instance.sendInteraction("Save Room Changes",K.s_.BUTTON,K._J.ROOMS),i.selectBasketRow(null),h(!1)}},"Save")):o.createElement("div",{className:"w-100"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey},m(p.W.Step.Room.NextRoom)))),o.createElement("div",{className:"u-flex align-items-center"},b.isValid()&&o.createElement("div",{className:"u-none@xl-"},o.createElement(ke.Z,{title:"Cancel changes"},o.createElement("div",{className:"u-flex align-items-center"},o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){K.ZP.instance.sendInteraction("Cancel Room Changes",K.s_.LINK,K._J.ROOMS),i.selectBasketRow(null),h(!1)}},m(p.W.Misc.Cancel).toUpperCase())))),j)):o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"u-flex justify-content-start"},o.createElement("div",{className:"u-flex flex-column"},o.createElement("span",null,o.createElement(u.ZP,{inline:T},o.createElement("strong",null,b.getRoom().name)),o.createElement(u.ZP,{inline:T,type:T?u.yG.Body:u.yG.Small},o.createElement("span",{className:"u-marg-left--light@xl"},xe.Z.pluralWithDictAndCount(b.getAdults(),p.W.Step.Date.Adult,m),", ",xe.Z.pluralWithDictAndCount(b.getChildren(),p.W.Step.Date.Child,m)))),o.createElement(u.ZP,{type:u.yG.Caption,color:Z.I.DarkGrey},o.createElement("strong",null,b.getStayDateRange("ddd, MMM D, YYYY"," -")))),b.isPromoCodeValid()&&o.createElement("div",{className:"u-marg-left d-flex align-items-center"},o.createElement(g.ZP,{type:g.Rm.Success,icon:s.Tu.Money},b.getPromoCode()))),o.createElement("div",{className:"u-flex align-items-center"},o.createElement(ke.Z,{title:"Edit this room"},o.createElement("div",{className:"u-flex align-items-center room-builder-progress--edit"},o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){K.ZP.instance.sendInteraction("Edit Room",K.s_.LINK,K._J.ROOMS),i.selectBasketRow(b),h(!0)}},m(p.W.Misc.Edit).toUpperCase()))),j)))}function _e(){var e=(0,o.useContext)(E.hy),t=e.currentBasketRows,n=e.addBasketRow,r=e.selectedBasketRow,a=(0,l.$)().t,i=function(){K.ZP.instance.sendInteraction("Add Room Row",K.s_.BUTTON,K._J.ROOMS),n(new Ce.Z)};return(0,o.useMemo)((function(){return o.createElement(o.Fragment,null,o.createElement("div",{className:"room-builder-progress"},!!t.length&&t.map((function(e,t){return o.createElement(Ae,{row:e,key:e.getID(),number:t})})),o.createElement("div",{className:"u-flex justify-content-end"},o.createElement(v.Z,{icon:s.Tu.Add,onClick:i,stopIconAnimation:!0},a(p.W.Step.Room.RoomInfo.AddRoom)))),o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==r?void 0:r.getStartDate().format("YYYY-M-D"),checkoutTime:null==r?void 0:r.getEndDate().format("YYYY-M-D"),numAdults:null==r?void 0:r.getAdults(),numChildren:null==r?void 0:r.getChildren(),numRooms:"1"})))}),[t,a])}var Le=n(7933),je=n(4511);function Te(){var e=(0,o.useContext)(E.hy),t=(0,l.$)().t,n=!(!e.selectedBasketRow||!e.selectedBasketRow.isValid());return o.createElement("div",{className:"u-marg-top u-marg-bottom"},o.createElement(je.Z,null),o.createElement(ce.Z,{open:n},o.createElement(Le.ZP,{icon:s.Tu.Edit,type:Le.NK.Accent1},o.createElement(u.ZP,{type:u.yG.Small},o.createElement("strong",null,t(p.W.Misc.Alerts.YouAreEditing))," - ",t(p.W.Misc.Alerts.YouAreEditingAlert)))))}var Be=function(e){return(0,o.useContext)(E.g7).screenSize<=S.Z.Medium?o.createElement(o.Fragment,null,o.createElement(Te,null),o.createElement(m.Z,{smallMargins:!0}),o.createElement(_e,null),e.children,o.createElement(m.Z,{smallMargins:!0})):o.createElement(o.Fragment,null,o.createElement(_e,null),e.children,o.createElement(Te,null))},Fe=n(7462),We=n(1432),Ge=n(514),ze=n(7536),Ye=n(6431),Ve=function(){var e=(0,ze.cI)(),t=e.register,n=e.handleSubmit,a=e.formState,i=(0,Ge.W)().hotel,m=(0,o.useContext)(E.hy),d=(0,l.$)().t,f=(0,o.useState)({}),g=(0,r.Z)(f,2),y=g[0],h=g[1],b=(0,o.useState)(!1),S=(0,r.Z)(b,2),P=S[0],R=S[1],w=function(){var e=(0,B.Z)(W().mark((function e(t){var n,r;return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return h({}),R(!0),e.prev=2,n=m.selectedBasketRow,r="",[{name:"Adults",value:n.getAdults()},{name:"Children",value:n.getChildren()},{name:"Promo Code",value:n.getPromoCode()},{name:"Dates range",value:n.getStayDateRange("ddd D MMM YYYY"," till ")},{name:"Date Sent",value:Re().format("dd D MMM YYYY")}].forEach((function(e){var t=e.name,n=e.value;n&&(r+="".concat(t,": ").concat(n,"\n"))})),e.next=8,G.Z.Error.sendRoomFallbackForm(i.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:h({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),h({success:!1,message:d(p.W.Step.Room.ErrorForm.APIError)});case 14:R(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return o.createElement("div",{className:"u-fill-white u-rounded"},o.createElement("div",{className:"row u-pad--heavy"},o.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(s.ZP,{icon:s.Tu.Error,color:Z.I.Alert,size:"24px"})),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,color:Z.I.Alert},o.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:d(p.W.Step.Room.ErrorForm.Title)}}))),o.createElement(u.ZP,{type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:d(p.W.Step.Room.ErrorForm.Description)}}))),o.createElement("div",{className:"col-lg-6"},o.createElement("form",null,o.createElement(ce.Z,{open:!!a.errors},Object.values(a.errors).map((function(e){return o.createElement(Le.ZP,{type:Le.NK.Danger},o.createElement(u.ZP,{type:u.yG.Small},e.message))}))),o.createElement("div",{className:"u-marg-bottom--light u-marg-top"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:Ye.CU,message:"Email must be valid"}})))),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),o.createElement(v.Z,{filled:!0,primary:!0,onClick:n(w),isLoading:P,disabled:P||y.success},d(p.W.Step.Room.ErrorForm.ContactUsButton)),o.createElement(ce.Z,{open:y.success},o.createElement("div",{className:"u-pad-top"},o.createElement(u.ZP,{color:Z.I.Success},d(p.W.Step.Room.ErrorForm.ConfirmationMessage)))),o.createElement(ce.Z,{open:!1===y.success},o.createElement("div",{className:"u-pad-top"},o.createElement(u.ZP,{color:Z.I.Alert},y.message)))))))};function Ue(){var e,t=(0,o.useContext)(E.hy),n=(0,o.useContext)(E.g7),l=(0,o.useContext)(E.Qm),a=(0,o.useContext)(E.P0).roomstayMember,i=(0,q.WP)().hotel,c=o.useState([]),s=(0,r.Z)(c,2),m=s[0],u=s[1],d=(0,o.useState)(!1),f=(0,r.Z)(d,2),g=f[0],v=f[1],p=(0,o.useState)(null),y=(0,r.Z)(p,2),h=y[0],b=y[1],Z=(0,o.useState)(null),P=(0,r.Z)(Z,2),R=P[0],w=P[1],C=(0,o.useRef)(null),x=t.selectedBasketRow,N=null==x?void 0:x.getStartDate(),k=null==x?void 0:x.getEndDate(),I=null==x?void 0:x.getPromoCode(),O=null==x?void 0:x.getAdults(),M=null==x?void 0:x.getChildren(),A=n.currentRoomSort,_=null,L=(0,q.zX)().raise;(0,o.useEffect)((function(){var e=!1;try{var r={checkInTime:null==N?void 0:N.format("YYYY-M-D"),checkOutTime:null==k?void 0:k.format("YYYY-M-D"),numAdults:O,numChildren:M,numRooms:1,promoCode:I},o=new be.i(r);L(o);var a=Object.values(n.currentFilters).filter((function(e){return!!e})),c=t.selectedBasketRow;if(c||m.length||(c=t.attemptSelectUnfilledRow()),!c){var s=t.getAllValidRows();c=s[s.length-1]}c&&(v(!0),Y.getRoomList(c,a,i.hotelID).then((function(n){if(!e){var o;u(n),b(t.selectedBasketRow),w(!1);var a=null!==(o=null==n?void 0:n.map((function(e){var t,n;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:l.currentCurrency,rates:null!==(t=null===(n=e.getRates())||void 0===n?void 0:n.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:l.currentCurrency}}})))&&void 0!==t?t:[]}})))&&void 0!==o?o:[],i=new Ze.j(r,a);L(i)}})).catch((function(){e||(u([]),b(null),w(!0))})).finally((function(){v(!1)})))}catch(e){}return function(){v(!1),e=!0}}),[O,M,N,k,I,l.currentLanguage,n.currentFilters,null===(e=t.selectedBasketRow)||void 0===e?void 0:e.getStale()]);var j=(0,o.useMemo)((function(){var e,t;if(!a||0===(null===(e=a.bookings)||void 0===e?void 0:e.length))return null;var n="";return a.bookings.forEach((function(e){e.hotelId===i.hotelID&&Object.values(e.itinerary).map((function(e){var r=e.roomCode,o=e.nights,l=Object.keys(o).map(Re),a=Re(Math.max.apply(null,l));t&&!a.isAfter(a)||(t=a,n=r)}))})),m.find((function(e){return e.code===n}))}),[m,a]);return(0,o.useMemo)((function(){var e,t=(0,D.Z)(m);0!==t.length&&t.sort(Ee.Z.getSortByFunction(A)),setTimeout((function(){!function(){if(C.current&&_!==m){_=m;var e=n.screenSize<=S.Z.Medium?185:350;window.scrollTo({top:window.scrollY+(C.current.getBoundingClientRect().top-e),behavior:"smooth"})}}()}),100);var r=o.createElement("div",{ref:C},g?o.createElement(pe.Z,null):t.length?t.map((function(e,n){return o.createElement(ve,{key:e.code,room:e,disableMarginBottom:n===t.length-1})})):o.createElement(o.Fragment,null,R?o.createElement(Ve,null):o.createElement(we.Z,null),null==i||null===(e=i.crossSellHotelIds)||void 0===e?void 0:e.map((function(e){return o.createElement(he,{key:e,hotelId:e})}))));return K.ZP.instance.sendRoomImpressions(),o.createElement(o.Fragment,null,o.createElement(Be,null,!g&&j?o.createElement(Pe,{key:j.code,room:j}):null),r)}),[m,g,h,A,n.currentFilters,t.loadedPromotion])}var Je=n(8279);function Qe(){var e=(0,o.useContext)(E.g7),t=(0,o.useState)(e.currentRoomSort),n=(0,r.Z)(t,2),l=n[0],a=n[1];return o.createElement(Oe.Z,{className:"u-flex align-items-center",onChange:function(t){K.ZP.instance.sendInteraction("Change Sort",K.s_.DROPDOWN,K._J.ROOMS),a(t),e.setCurrentRoomSort(t)},selectedValue:l,iconComponent:s.Tf,items:Object.values(Ee.s).map((function(e){return{text:e,value:e}}))})}var Xe=n(1972),$e=n(370),He=n(5692),Ke=function(){var e=(0,o.useContext)(E.g7),t=(0,l.$)().t,n=(0,o.useRef)(),d=(0,o.useState)(!1),f=(0,r.Z)(d,2),g=f[0],v=f[1],y=(0,o.useContext)(E.aN).currentStep;return o.createElement("div",{className:"container"},o.createElement($e.default,null),o.createElement("div",{className:"row"+(e.screenSize>S.Z.ExtraLarge?" no-gutters":"")},o.createElement("div",{className:"col-md-8"},e.screenSize>S.Z.Medium&&o.createElement(o.Fragment,null,o.createElement(a.rU,{to:He.Z.getPreviousStepUrl(y)},o.createElement(i.Z,null)),o.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},o.createElement(c.Z,{bold:!0},t(p.W.Step.Room.ChooseRoom)))),o.createElement("div",{className:"row align-items-end"},o.createElement("div",{className:"col-6 col-md-4 col-lg-3"},o.createElement(u.ZP,{type:u.yG.Label,color:Z.I.DarkGrey},o.createElement("strong",null,t(p.W.Step.Room.SortBy))),o.createElement("div",null,o.createElement(Qe,null))),o.createElement("div",{className:"col-6 col-md-2 col-lg-2"},o.createElement("div",{ref:n},o.createElement("div",{className:"filter-button d-flex align-items-center u-cursor-pointer",onClick:function(){K.ZP.instance.sendInteraction("Show Filters",K.s_.DROPDOWN,K._J.ROOMS),v(!0)}},o.createElement(u.ZP,null,e.screenSize>S.Z.Medium?t(p.W.Step.Room.FilterBy):t(p.W.Step.Room.Filter.ShowFilters)),o.createElement(s.ZP,{icon:s.Tu.Dropdown,color:Z.I.DarkGrey})),o.createElement(re,{open:g,anchorEl:n.current,onClose:function(){v(!1)}}))),o.createElement("div",{className:"col-md-12 col-lg-7 u-align-right u-marg-top@l- u-empty-none filter-push-down"},o.createElement(b,null)))),e.screenSize>S.Z.Medium&&o.createElement("div",{className:"col-xl-3 col-md-4 offset-xl-1 align-self-end"},o.createElement(Je.Z,null))),e.screenSize>S.Z.Medium&&o.createElement(m.Z,null),o.createElement("div",{className:"row"+(e.screenSize>S.Z.ExtraLarge?" no-gutters":"")},o.createElement("div",{className:"col-md-7 col-lg-8"},o.createElement(Ue,null)),o.createElement("div",{className:"col-xl-3 col-md-5 col-lg-4 offset-xl-1"},o.createElement(Xe.Z,null))))}},7661:function(e,t,n){(t=n(3645)(!1)).push([e.id,"._2f65h3p_FonVJPmJ0VNpaa{width:100%;display:flex;padding:13px 0;user-select:none}._3uTXL2rFqb00T64EoKQ_x0{height:4px;width:100%;background-color:var(--rs-color-snow);position:relative;border-radius:4px;z-index:1}._2JeoyipP9PKQmHuHR7x-K3{top:0;left:0;right:0;bottom:0;background-color:var(--rs-color-accent-1);position:absolute;display:block;border-radius:4px;z-index:2}._1duEi_7VDCuILwY5-lrBw1{position:absolute;top:50%;transform:translate(-50%, -50%);border-radius:100%;width:14px;height:14px;background-color:var(--rs-color-accent-1);border:2px solid var(--rs-color-white);cursor:grab}._1duEi_7VDCuILwY5-lrBw1._2PnRKxd5Yqm81i9z68twNJ{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}._1duEi_7VDCuILwY5-lrBw1._3P_lSrzSfCoUQtuy_ADGRV{background-color:var(--rs-color-navy);width:8px;height:8px;border:unset}._1duEi_7VDCuILwY5-lrBw1._2VXUnq7mxLPQXEPNd5SR-s{left:0}._1duEi_7VDCuILwY5-lrBw1._1d_8mywvEQWyX1sMPQf0r_{left:100%}._2nSLZe0JilPLyI-BFXo8V8{position:absolute;left:50%;top:16px;transform:translateX(-50%);display:block;white-space:nowrap;user-select:none;font-size:14px !important;line-height:1em !important}._2nSLZe0JilPLyI-BFXo8V8._3P_lSrzSfCoUQtuy_ADGRV{color:var(--rs-color-grey)}._2nSLZe0JilPLyI-BFXo8V8:not(._3P_lSrzSfCoUQtuy_ADGRV){background-color:#fff;padding:0px 4px}._2nSLZe0JilPLyI-BFXo8V8._2VXUnq7mxLPQXEPNd5SR-s{transform:translateX(-10%)}._2nSLZe0JilPLyI-BFXo8V8._1d_8mywvEQWyX1sMPQf0r_{transform:translateX(-75%)}",""]),t.locals={slider:"_2f65h3p_FonVJPmJ0VNpaa","slider-track":"_3uTXL2rFqb00T64EoKQ_x0","slider-rail":"_2JeoyipP9PKQmHuHR7x-K3",marker:"_1duEi_7VDCuILwY5-lrBw1","--hidden":"_2PnRKxd5Yqm81i9z68twNJ","--fixed":"_3P_lSrzSfCoUQtuy_ADGRV","--start":"_2VXUnq7mxLPQXEPNd5SR-s","--end":"_1d_8mywvEQWyX1sMPQf0r_","marker-label":"_2nSLZe0JilPLyI-BFXo8V8"},e.exports=t},9525:function(e,t,n){var r=n(3379),o=n(7661);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);r(o,{insert:"head",singleton:!1}),e.exports=o.locals||{}}}]);
1
+ (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[882],{119:function(e,t,n){"use strict";n.d(t,{j:function(){return c}});var r=n(5671),o=n(3144),l=n(136),a=n(2963),i=n(1120);var c=function(e){(0,l.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var o=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return(0,a.Z)(this,e)});function s(e,t){var n;return(0,r.Z)(this,s),(n=c.call(this)).search=void 0,n.roomList=void 0,n.search=e,n.roomList=t,n}return(0,o.Z)(s,null,[{key:"getLabel",value:function(){return"Search/RoomList"}}]),s}(n(7112).x)},7882:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ke}});var r=n(885),o=n(7294),l=n(4478),a=n(3727),i=n(3821),c=n(3010),s=n(8886),m=n(9874),u=n(584),d=n(4942),f=n(7930),g=n(3409),v=n(4854),p=n(9478),E=n(9314);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,o.useContext)(E.g7),t=(0,l.$)().t,n=Object.keys(e.currentFilters).filter((function(t){return t&&e.currentFilters[t]instanceof f.Z}));return n.length?o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"filter-height"},n&&(n.length<=2?n.map((function(t){if(t&&e.currentFilters[t]instanceof f.Z)return o.createElement(g.ZP,{key:t,onClickIcon:function(){e.setCurrentFilters(h(h({},e.currentFilters),{},(0,d.Z)({},t,null)))},type:g.Rm.Secondary,icon:s.Tu.Close,iconPosition:"right"},e.currentFilters[t].getLabel())})):o.createElement(g.ZP,{onClickIcon:function(){e.setCurrentFilters({})},type:g.Rm.Secondary,icon:s.Tu.Close,iconPosition:"right"},n.length," Filters Applied"))),!!Object.values(e.currentFilters).filter((function(e){return!!e})).length&&o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){e.setCurrentFilters({})}},t(p.W.Misc.ClearAll))):o.createElement(o.Fragment,null)}var Z=n(7754),S=n(292),P=n(5128),R=n(858),w=n(3144),x=n(5671),C=n(136),N=n(2963),k=n(1120);var I=function(e){(0,C.Z)(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,k.Z)(t);if(n){var o=(0,k.Z)(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return(0,N.Z)(this,e)});function o(e,t){var n;return(0,x.Z)(this,o),(n=r.call(this)).min=void 0,n.max=void 0,n.getMin=function(){return n.min},n.getMax=function(){return n.max},n.getLabel=function(){return"Budget"},n.check=function(e){if(e.getLowestPrice()>n.max)return null;var t=[];return e.getOriginalRates().forEach((function(e){e.getAveragePrice()<=n.max&&e.getAveragePrice()>=n.min&&t.push(e)})),e.filteredRates=t,e},n.min=e,n.max=t,n}return(0,w.Z)(o)}(f.Z),O=n(4485),M=n(4184),D=n(2982),A=n(9525),_=n.n(A),L=function(e){var t,n,r=M(_().marker,(t={},(0,d.Z)(t,_()["--fixed"],e.fixed),(0,d.Z)(t,_()["--hidden"],!e.marker.isVisible),(0,d.Z)(t,_()["--".concat(e.isEdge)],!!e.isEdge),t)),l=M(_()["marker-label"],(n={},(0,d.Z)(n,_()["--fixed"],e.fixed),(0,d.Z)(n,_()["--".concat(e.isEdge)],!!e.isEdge),n)),a={};return e.offset&&(a.left=Math.max(Math.min(100,e.offset),0)+"%"),o.createElement("span",{className:r,style:a},e.marker&&!!e.marker.label&&o.createElement("span",{className:l},e.marker.label))},j=function(e){var t,n,l=e.min,a=void 0===l?0:l,i=e.max,c=void 0===i?100:i,s=(0,o.useState)(!1),m=(0,r.Z)(s,2),u=(m[0],m[1]),d=(0,o.useState)(null),f=(0,r.Z)(d,2),g=f[0],v=f[1],p=(0,o.useRef)(null),E=(e.markers.map((function(){})),function(t){var n,r=null==p||null===(n=p.current)||void 0===n?void 0:n.getBoundingClientRect();if(r){for(var o=r.x,l=r.x+r.width,i=Math.max(Math.min(Math.round(a+(c-a)*(t.clientX-o)/(l-o)),e.max),e.min),s=g,m=e.markers,u=0;u<m.length;u++)m[u].isVisible&&(null===s||Math.abs(i-m[s].value)>Math.abs(i-m[u].value))&&(s=u);var d=(0,D.Z)(e.markers);d[s].value=i,e.onChange(d),v(s)}}),y=function(e){var t;return t=(e-a)/(c-a)*100,Math.min(Math.max(t,0),100)};return(0,o.useEffect)((function(){var e,t=!1,n=null==p||null===(e=p.current)||void 0===e?void 0:e.getBoundingClientRect();if(n){n.x,n.x,n.width;var r=function(e){t||null===g||E(e)},o=function(){u(!1),v(null)};return document.body.addEventListener("mouseup",o),document.body.addEventListener("mousemove",r),function(){t=!0,document.body.removeEventListener("mouseup",o),document.body.removeEventListener("mousemove",r)}}}),[g]),o.createElement("div",{className:_().slider,onMouseDown:function(e){u(!0),E(e)},ref:p},o.createElement("div",{className:_()["slider-track"]},null===(t=null!==(n=e.backgroundMarkers)&&void 0!==n?n:[])||void 0===t?void 0:t.map((function(e){return o.createElement(L,{offset:y(e.value),marker:e,fixed:!0,isEdge:e.isEdge})})),o.createElement("div",{className:_()["slider-rail"],style:{left:"".concat(y(e.markers[0].value),"%"),right:"".concat(100-y(e.markers[1].value),"%")}}),e.markers.map((function(e){return o.createElement(L,{offset:y(e.value),marker:e})}))))};function T(e){var t,n,a,i,c,s=(0,l.$)().t,m=(0,o.useState)([null!==(t=null===(n=e.filter)||void 0===n?void 0:n.getMin())&&void 0!==t?t:0,null!==(a=null===(i=e.filter)||void 0===i?void 0:i.getMax())&&void 0!==a?a:0]),d=(0,r.Z)(m,2),f=d[0],g=d[1],E=(0,o.useState)(f),y=(0,r.Z)(E,2),h=y[0],b=y[1],S=(0,o.useState)(null),P=(0,r.Z)(S,2),w=P[0],x=P[1];(0,o.useEffect)((function(){var t,n,r,o,l,a,i=null!==(t=e.roomList)&&void 0!==t&&t.length?e.roomList.reduce((function(e,t){var n=t.getLowestPrice(!0);return e<n&&e?e:n}),null):0,c=null!==(n=e.roomList)&&void 0!==n&&n.length?e.roomList.reduce((function(e,t){var n=t.getHighestPrice(!0);return e>n&&e?e:n}),0):0;g([i,c]),b([null!==(r=null===(o=e.filter)||void 0===o?void 0:o.getMin())&&void 0!==r?r:i,null!==(l=null===(a=e.filter)||void 0===a?void 0:a.getMax())&&void 0!==l?l:c])}),[e.roomList]),(0,o.useEffect)((function(){var e=f[1]-f[0];h[1]<f[0]+.3*e?x("left"):h[0]>f[1]-.3*e?x("right"):x(null)}),[h]);var C=function(e){return o.createElement(R.Z,{hideDecimals:!0,disableLoading:!0},e)},N=(Z.I.Grey,C(f[0]),f[0],Z.I.Grey,C(f[1]),f[1],C(h[0]),C(h[1]),h[1],h[0],h[0],[{isVisible:!0,value:h[0]},{isVisible:!0,value:h[1]},{isVisible:!1,label:o.createElement(o.Fragment,null,C(h[0])," - ",C(h[1])),value:h[0]+(h[1]-h[0])/2}]),k=[{isVisible:!0,value:f[0],label:C(f[0]),isEdge:"start"},{isVisible:!0,value:f[1],label:C(f[1]),isEdge:"end"}];return o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex"},o.createElement("div",null,o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,s(p.W.Step.Room.Filter.Budget))),o.createElement(u.ZP,{inline:!0,type:u.yG.Small},"/",s(p.W.Misc.PerNight))),o.createElement("div",null,o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){return b(f),void e.onChange(null)}},s(p.W.Misc.Clear)))),(null===(c=e.roomList)||void 0===c?void 0:c.length)>0?o.createElement("div",{className:M("roomstay-slider",{"--min-limit":"left"===w,"--max-limit":"right"===w})},o.createElement(j,{min:f[0],max:f[1],onChange:function(t){b(t.map((function(e){return e.value}))),e.onChange(new I(t[0].value,t[1].value))},markers:N,backgroundMarkers:k})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null)))}var B=n(5861),F=n(4687),W=n.n(F),G=n(4516);function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Y=(0,w.Z)((function e(){(0,x.Z)(this,e)}));Y.getRoomList=function(){var e=(0,B.Z)(W().mark((function e(t,n,r){return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Y,e.next=3,Y.getUnfilteredRoomList(t,r);case 3:return e.t1=e.sent,e.t2=n,e.abrupt("return",e.t0.filterRooms.call(e.t0,e.t1,e.t2));case 6:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),Y.filterRooms=function(e,t){var n=[];return e.forEach((function(e){var r=e;r.filteredRates=e.getOriginalRates();var o,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(t);try{for(l.s();!(o=l.n()).done;){var a=o.value;if(a&&!(r=a.check(e)))break}}catch(e){l.e(e)}finally{l.f()}r&&n.push(r)})),n.filter((function(e){return!!e.filteredRates.length}))},Y.getUnfilteredRoomList=function(){var e=(0,B.Z)(W().mark((function e(t,n){return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",G.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();var V=n(9087),U=n(9024);function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Q(e){var t,n=(0,l.$)().t,a=(0,o.useState)({}),i=(0,r.Z)(a,2),c=i[0],s=i[1],m=(0,o.useState)(0),f=(0,r.Z)(m,2),g=f[0],E=f[1],y=(0,o.useRef)();return(0,o.useEffect)((function(){if(e.roomList){var t={},n=e.filter?e.filter.getViewOnly():null;e.roomList.forEach((function(e){e.getOriginalRates().forEach((function(e){t[e.name]={status:!n||n.includes(e.name)}}))})),s(t)}}),[e.roomList,g]),(0,o.useEffect)((function(){var t;if(null!=y&&y.current&&null!==(t=e.roomList)&&void 0!==t&&t.length){var n=Object.keys(c),r=n.filter((function(e){return c[e].status}));n.length===r.length?e.onChange(null):e.onChange(new V.Z(r))}}),[c]),o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex u-marg-bottom",ref:y},o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.Filter.RateType))),o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),E((function(e){return e+1}))}},n(p.W.Misc.Clear))),o.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?c&&Object.keys(c).map((function(e){return o.createElement("div",{className:"u-marg-bottom--light",key:e},o.createElement(U.Z,{label:e,checked:c[e].status,onChange:function(t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},c);n[e].status=t.target.checked,s(n)}}))})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null))))}var X=n(742);function $(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){var t,n=(0,l.$)().t,a=(0,o.useState)({}),i=(0,r.Z)(a,2),c=i[0],s=i[1],m=(0,o.useState)(0),f=(0,r.Z)(m,2),g=f[0],E=f[1],y=(0,o.useRef)();(0,o.useEffect)((function(){if(e.roomList){var t={},n=e.filter?e.filter.getVisibleRooms():null;e.roomList.forEach((function(e){t[e.name]={status:!n||n.includes(e.name)||n.includes(e.code)}})),s(t)}}),[e.roomList,g]);var h=Object.keys(c),b=h.filter((function(e){return c[e].status}));return(0,o.useEffect)((function(){var t;null!=y&&y.current&&null!==(t=e.roomList)&&void 0!==t&&t.length&&(b.length===h.length?e.onChange(null):e.onChange(new X.Z(b)))}),[c]),o.createElement(o.Fragment,null,o.createElement("div",{className:"u-flex u-marg-bottom u-marg-top--heavy",ref:y},o.createElement(u.ZP,{inline:!0,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.Filter.RoomType))),o.createElement(v.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),E((function(e){return e+1}))}},n(p.W.Misc.Clear))),o.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?c&&Object.keys(c).map((function(e){return o.createElement("div",{className:"u-marg-bottom--light",key:e},o.createElement(U.Z,{label:e,checked:c[e].status,onChange:function(t){var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},c);n[e].status=t.target.checked,s(n)}}))})):o.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},o.createElement(O.Z,null))))}var K=n(4544),q=n(7688),ee=n(9089);function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(Object(n),!0).forEach((function(t){(0,d.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function re(e){var t=(0,o.useContext)(E.g7),n=(0,o.useContext)(E.hy),a=(0,q.WP)().hotel,i=(0,l.$)().t,s=(0,o.useState)(t.currentFilters),f=(0,r.Z)(s,2),g=f[0],y=f[1],h=(0,o.useState)([]),b=(0,r.Z)(h,2),R=b[0],w=b[1];(0,o.useEffect)((function(){if(y(ne({},t.currentFilters)),e.open){var r,o=n.getAllValidRows();Y.getUnfilteredRoomList(null!==(r=n.selectedBasketRow)&&void 0!==r?r:o[o.length-1],a.hotelID).then((function(e){w(e)}))}}),[e.open]);var x=o.createElement("div",{className:"u-flex align-items-center justify-content-between justify-content-md-end"},o.createElement("div",{className:"u-marg-right--heavy"},o.createElement(u.ZP,{color:Z.I.Accent},o.createElement("strong",null,Y.filterRooms(R,Object.values(g)).length," ",i(p.W.Step.Room.Filter.MatchingRoomsRates)))),o.createElement(v.Z,{primary:!0,filled:!0,onClick:function(){K.ZP.instance.sendInteraction("Apply Filters",K.s_.BUTTON,K._J.ROOMS),t.setCurrentFilters(g),e.onClose()}},i(p.W.Misc.ApplyChanges))),C=function(e,t){y((function(n){return ne(ne({},n),{},(0,d.Z)({},e,t))}))},N=o.createElement("div",{className:"room-filter"},o.createElement("div",{className:"u-pad--heavy u-pad-bottom--none"},t.screenSize>S.Z.Medium&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(c.Z,{bold:!0},i(p.W.Step.Room.FilterBy))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6"},o.createElement(T,{filter:g.Budget,onChange:function(e){return C("Budget",e)},roomList:R}),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(H,{roomList:R,filter:g.RoomType,onChange:function(e){return C("RoomType",e)}}))),o.createElement("div",{className:"col-md-6"},o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(Q,{roomList:R,filter:g.RateType,onChange:function(e){return C("RateType",e)}}))))));return t.screenSize>S.Z.Medium?o.createElement(ee.a,{followElement:e.anchorEl,onClose:e.onClose,open:e.open,placement:"bottom-start"},o.createElement(o.Fragment,null,N,o.createElement("div",{className:"u-pad--heavy u-pad-top--none"},o.createElement(m.Z,null),x))):o.createElement(P.Z,{open:e.open,onClose:e.onClose,title:"Filter",mobileFooter:x},N)}var oe=n(4354),le=n(291);function ae(e){var t,n,r,l,a,i=(0,q.WP)().hotel,c=null===(t=i.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],m=null==i||null===(r=i.overwrites)||void 0===r?void 0:r[null===(l=e.room)||void 0===l?void 0:l.code],d=null!==(a=e.textColor)&&void 0!==a?a:Z.I.DarkGrey;return o.createElement("ul",{className:"u-list-inline-flex u-marg-bottom"},o.createElement("li",{className:"align-items-center"},o.createElement(s.ZP,{icon:s.Tu.People,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},"Sleeps ",null==c?void 0:c.maxOccupancy))),o.createElement("li",{className:"u-pad-left align-items-center"},o.createElement(s.ZP,{icon:s.Tu.Bed,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},(null==c?void 0:c.bedQuantity)>0?null==c?void 0:c.bedQuantity:""," ",null==c?void 0:c.bedType))),!(null==m||!m.RoomDimensions)&&o.createElement("li",{className:"u-pad-left align-items-center"},o.createElement(s.ZP,{icon:s.Tu.RoomSize,size:"24px",color:Z.I.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(u.xv,{type:u.yG.Small,inline:!0,color:d},m.RoomDimensions))))}function ie(e){var t,n=(0,l.$)().t,r=(0,q.WP)().hotel,a=r.perks,i=r.rooms,d=null==i?void 0:i[e.room.code],f=null!=d&&d.amenities?(0,D.Z)(null==d?void 0:d.amenities):[];return null!=d&&null!==(t=d.features)&&void 0!==t&&t.length&&d.features.forEach((function(e){f.push(e)})),o.createElement(P.Z,{title:e.room.name+" "+n(p.W.Step.Room.RoomInfo.Information),open:e.open,size:P.g.Small,onClose:e.onClose},o.createElement("div",null,o.createElement("div",{style:{height:"350px"}},o.createElement(le.Z,{images:e.room.getImages()})),o.createElement("div",{className:"u-marg-heavy u-marg@m-"},o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),o.createElement(ae,{room:e.room}),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)}}))),o.createElement("div",{className:"u-marg-bottom--heavy"},!!a&&o.createElement("div",{className:"row"},a.map((function(e,t){return o.createElement("div",{key:t,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},o.createElement("div",{className:"room-perk-icon --has-bg"},e.iconElement?e.iconElement:o.createElement(s.ZP,{icon:e.icon})),o.createElement("div",{className:"u-marg-left--light"},o.createElement(u.ZP,{type:u.yG.Small},e.name)))})))),!(null==f||!f.length)&&o.createElement(o.Fragment,null,o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{color:Z.I.Accent,type:u.yG.Small},o.createElement("strong",null,n(p.W.Step.Room.RoomInfo.RoomAmenities)))),o.createElement("div",{className:"row"},f.map((function(e){return o.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},o.createElement(s.ZP,{icon:s.Tu.Check,color:Z.I.White,backgroundColor:Z.I.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),o.createElement("div",{className:"u-marg-left--light u-flex"},o.createElement(u.ZP,{type:u.yG.Small,inline:!0},e.description)))})))),o.createElement(m.Z,null),o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Graphite},o.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()}})))),o.createElement(oe.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}var ce=n(9740);function se(e){var t,n=(0,o.useContext)(E.g7),l=e.perks,a=n.screenSize<=S.Z.Large,i=(0,o.useState)(null===(t=l[0])||void 0===t?void 0:t.name),c=(0,r.Z)(i,2),m=c[0],d=c[1],f=M("room-perk-icon",{"--has-bg":a});return o.createElement(o.Fragment,null,!(null==l||!l.length)&&o.createElement("ul",null,l.map((function(e,t){if(!(a&&t>=4))return o.createElement("li",{key:t,onClick:function(){d(e.name)}},o.createElement("div",{className:f},e.iconElement?e.iconElement:o.createElement(s.ZP,{icon:e.icon})),o.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(a&&m!==e.name||n.screenSize===S.Z.Tiny?"u-none-2":"")},o.createElement(u.xv,{type:u.yG.Small},e.name)))}))))}var me=n(8361),ue=n(3633),de=n(7700),fe=n(4744);function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ve(e){var t,n=(0,o.useState)([]),a=(0,r.Z)(n,2),i=a[0],m=a[1],f=(0,o.useState)([]),g=(0,r.Z)(f,2),y=g[0],h=g[1],b=(0,o.useState)(null),P=(0,r.Z)(b,2),w=P[0],x=P[1],C=(0,o.useState)(!1),N=(0,r.Z)(C,2),k=N[0],I=N[1],O=(0,l.$)().t,D=(0,o.useContext)(E.g7),A=(0,o.useContext)(E.hy),_=(0,o.useContext)(E.Qm),L=(0,q.WP)().hotel,j=e.room,T=M("room-details",(0,d.Z)({},"+is-open",w));(0,o.useEffect)((function(){var t;null!==(t=A.selectedBasketRow)&&void 0!==t&&t.getRoom()&&A.selectedBasketRow.getRoom().code===e.room.code&&x(!0),K.ZP.instance.addRoomImpression(j)}),[A.selectedBasketRow]),(0,o.useEffect)((function(){var e=[],t=[];if(ue.Z.isActive()){var n,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ge(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ge(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(j.getRates());try{for(r.s();!(n=r.n()).done;){var o,l,a,i=n.value;(null===(o=i.promoCode)||void 0===o?void 0:o.toLowerCase())===(null===(l=A.selectedBasketRow)||void 0===l||null===(a=l.getPromoCode())||void 0===a?void 0:a.toLowerCase())?t.unshift(i):e.push(i)}}catch(e){r.e(e)}finally{r.f()}t.length>0&&(x(!0),m(t))}else e=j.getRates();h(e)}),[j.getRates()]);var B=null===(t=L.perks)||void 0===t?void 0:t.slice(0,5),F=j.getShortDescription(),W=D.screenSize<=S.Z.Large,G=w||D.screenSize<=S.Z.Medium&&null===w,z=Math.round(j.getLowestPrice(!1,!0)),Y=D.screenSize>S.Z.Medium&&z.toLocaleString().length<7?"large":"normal";return o.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},o.createElement("div",{className:T},o.createElement("div",{className:"room-details--image"},o.createElement(le.Z,{images:e.room.getImages(),imageSize:fe.h.Medium})),o.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},o.createElement("div",{className:"u-marg-bottom"},D.screenSize>S.Z.Large&&o.createElement(o.Fragment,null,o.createElement("div",{className:"u-marg-bottom"},o.createElement(de.Z,{room:j,limit:2}))),o.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0},j.name)),o.createElement(ae,{room:j}),o.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:F.replace(/<br(\/|)>/g,"")}})))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},o.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},W&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:Z.I.Accent},O(p.W.Misc.Perks.AndYouGetAll))),o.createElement(se,{perks:B})),o.createElement(v.Z,{icon:s.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){K.ZP.instance.sendInteraction("More Room Details",K.s_.LINK,K._J.ROOMS),I(!0)}},O(p.W.Step.Room.RoomInfo.MoreDetails))),o.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0},O(p.W.Misc.From)),o.createElement("div",{className:"room-details--content-price flex-row align-items-end"},o.createElement(c.Z,{size:Y,bold:!0},o.createElement(R.Z,{hideDecimals:!0},z)),o.createElement(u.ZP,{color:Z.I.DarkGrey,inline:!0},"/",O(p.W.Misc.Night))),o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Grey,inline:!0,className:"u-nowrap"},j.getLowestPriceType()===me.I.IncludingFeesAndTaxes?O(p.W.Step.Room.RoomInfo.IncludesTaxes):O(p.W.Step.Room.ExcludingTaxes))),o.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},o.createElement(v.Z,{name:"ViewRatesNowButton",primary:!0,primaryActive:G,filled:!0,stopIconAnimation:!0,icon:G?s.Tu.ArrowUp2:s.Tu.ArrowDown2,iconPosition:"right",onClick:function(){G||K.ZP.instance.sendRoomClick(j,A.startDate,A.endDate),x(!G)},wide:D.screenSize<=S.Z.Large},O(G?p.W.Step.Room.RoomInfo.CloseRates:p.W.Step.Room.RoomInfo.ViewRates))))))),o.createElement(ce.Z,{open:G},o.createElement(oe.Z,{roomCode:j.code,rates:y,featuredRates:i})),o.createElement(ie,{open:k,room:e.room,rates:y,featuredRates:i,onClose:function(){I(!1)}}),j.getRates().map((function(e){return o.createElement("script",{key:j.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:j.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:e.getAveragePrice(),priceCurrency:_.currentCurrency,unitText:"Nightly"}}))})))}var pe=n(7832),Ee=n(281),ye=n(1126);function he(e){var t=(0,l.$)().t,n=(0,o.useContext)(E.g7),a=(0,o.useContext)(E.hy),i=(0,o.useState)(!1),m=(0,r.Z)(i,2),d=m[0],f=m[1],g=(0,o.useState)(!0),v=(0,r.Z)(g,2),y=v[0],h=v[1],b=(0,o.useState)(!0),P=(0,r.Z)(b,2),w=P[0],x=P[1],C=(0,o.useState)(""),N=(0,r.Z)(C,2),k=N[0],I=N[1],M=(0,o.useState)(""),D=(0,r.Z)(M,2),A=D[0],_=D[1],L=(0,o.useState)(""),j=(0,r.Z)(L,2),T=j[0],B=j[1],F=(0,o.useState)(""),W=(0,r.Z)(F,2),z=W[0],Y=W[1],V=(0,o.useState)([]),U=(0,r.Z)(V,2),J=U[0],Q=U[1];return(0,o.useEffect)((function(){var t=a.selectedBasketRow;t&&G.Z.Availability.getCheapestPricePerDay(t.getStartDate(),t.getEndDate(),t.getAdults(),t.getChildren(),t.getPromoCode(),e.hotelId,!0).catch().then((function(n){if(n){for(var r=!0,o=t.getStartDate();o.isBefore(t.getEndDate(),"day");o=o.add(1,"day"))if(!n[o.format(ye.yJ)]){r=!1;break}if(f(r),h(!0),r){x(!0);var l=G.Z.Availability.getCrossSellHotelInfo(e.hotelId);_(l.name),I(l.image),B(l.description);var a=["arrive="+t.getStartDate().format("YYYY-M-D"),"depart="+t.getEndDate().format("YYYY-M-D")];t.getAdults()>1&&a.push("adults="+t.getAdults()),t.getChildren()>0&&a.push("children="+t.getChildren()),t.getPromoCode()&&a.push("promocode="+t.getPromoCode()),Y(l.checkoutUrl+"#/step/room/?"+a.join("&")),G.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){e.length?(Q(e),x(!1)):(h(!1),x(!1))}))}}}))}),[a.selectedBasketRow]),d&&o.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},o.createElement("div",{className:"cross-sell-module"},o.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(k,"')")}}),o.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},o.createElement("div",{className:"u-marg-bottom--heavy"},o.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,size:y?"large":"normal"},w?"A nearby hotel may have availability on your dates...":y?"Nearby hotel has availability on your dates!":"Sorry, we checked and your dates are also unavailable in our nearby hotels")),y&&o.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.DarkGrey,type:u.yG.Body},o.createElement("strong",{style:{color:Z.I.Accent}},A)," ",o.createElement("div",{dangerouslySetInnerHTML:{__html:T}})))),w?o.createElement(O.Z,null):o.createElement(o.Fragment,null,J.slice(0,4).map((function(e,n){var r=z+"&room="+e.code,l="u-flex align-items-end";return n<J.length-1&&(l+=" u-pad-bottom u-border-bottom u-marg-bottom"),o.createElement("a",{key:e.code,className:l,href:r,target:"_blank",rel:"noreferrer"},o.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},o.createElement(u.ZP,{type:u.yG.Body,color:Z.I.Accent,bold:!0},e.name),o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey},"Sleeps ",e.occupancy)),o.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey,inline:!0},t(p.W.Misc.From)),o.createElement(u.ZP,{type:u.yG.Body,color:Z.I.Accent,bold:!0},o.createElement(R.Z,null,e.getLowestPrice(!0)))))}))),y&&o.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},o.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=S.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:z,target:"_blank",rel:"noreferrer"},o.createElement("span",null,"See all ",J.length," rooms",o.createElement(s.ZP,{icon:s.Tu.ArrowRight,size:"1em"})))))))}var be=n(9699),Ze=n(119);function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Pe=function(e){var t=e.room,n=(0,o.useState)([]),a=(0,r.Z)(n,2),i=a[0],m=a[1],d=(0,o.useState)([]),f=(0,r.Z)(d,2),y=f[0],h=f[1],b=(0,o.useState)(!1),P=(0,r.Z)(b,2),w=P[0],x=P[1],C=o.useContext(E.g7),N=(0,o.useContext)(E.hy),k=(0,l.$)().t;(0,o.useEffect)((function(){var e=[],n=[];if(ue.Z.isActive()){var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw l}}}}(t.getRates());try{for(o.s();!(r=o.n()).done;){var l,a,i,c=r.value;(null===(l=c.promoCode)||void 0===l?void 0:l.toLowerCase())===(null===(a=N.selectedBasketRow)||void 0===a||null===(i=a.getPromoCode())||void 0===i?void 0:i.toLowerCase())?n.unshift(c):e.push(c)}}catch(e){o.e(e)}finally{o.f()}n.length>0&&m(n)}else e=t.getRates();h(e)}),[t.getRates()]);var I=t.getShortDescription(),O=C.screenSize<=S.Z.Large,M=Math.round(t.getLowestPrice(!1,!0)),D=C.screenSize>S.Z.Medium&&M.toLocaleString().length<7?"large":"normal";return o.createElement("div",{className:"room-details-container --theme-retargeting u-marg-top u-marg-bottom"},o.createElement("div",{className:"room-details"},o.createElement("div",{className:"room-details--image"},o.createElement(le.Z,{images:t.getImages(),imageSize:fe.h.Medium})),o.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},o.createElement("div",{className:"u-marg-bottom"},o.createElement("div",{className:"u-marg-bottom"},o.createElement(g.ZP,{type:g.Rm.Primary,icon:s.Tu.Add},"You booked this room recently!")),o.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},o.createElement(c.Z,{bold:!0},t.name)),o.createElement(ae,{room:t,textColor:Z.I.Navy}),o.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},o.createElement(u.ZP,{color:Z.I.Navy,type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:I.replace(/<br(\/|)>/g,"")}})))),o.createElement("div",{className:"row"},o.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},o.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},O&&o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:Z.I.Accent},k(p.W.Misc.Perks.AndYouGetAll))))),o.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0},k(p.W.Misc.From)),o.createElement("div",{className:"room-details--content-price flex-row align-items-end"},o.createElement(c.Z,{size:D,bold:!0},o.createElement(R.Z,{hideDecimals:!0},M)),o.createElement(u.ZP,{color:Z.I.Navy,inline:!0},"/",k(p.W.Misc.Night))),o.createElement("div",{className:"u-marg-bottom"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.Navy,inline:!0,className:"u-nowrap"},t.getLowestPriceType()===me.I.IncludingFeesAndTaxes?k(p.W.Step.Room.RoomInfo.IncludesTaxes):k(p.W.Step.Room.ExcludingTaxes))),o.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},o.createElement(v.Z,{name:"ViewRatesNowButton",primary:!0,filled:!0,stopIconAnimation:!0,iconPosition:"right",wide:C.screenSize<=S.Z.Large,onClick:function(){K.ZP.instance.sendInteraction("More Room Details",K.s_.LINK,K._J.ROOMS),x(!0)}},k(p.W.Step.Room.RoomInfo.ViewRates))))))),o.createElement(ie,{open:w,room:e.room,rates:y,featuredRates:i,onClose:function(){x(!1)}}))},Re=n(7484),we=n(2841),xe=n(1092),Ce=n(3261),Ne=n(2530),ke=n(5112),Ie=n(5986),Oe=n(3122);function Me(e){var t,n,r,a=(0,q.WP)().hotel,i=(0,l.$)().t,c=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getChildren())&&void 0!==t?t:1,m=Math.max((null==a?void 0:a.maxOccupancy)+1-(null===(r=e.row)||void 0===r?void 0:r.getAdults()));return(m<1||isNaN(m))&&(m=1),o.createElement(Oe.Z,{selectedValue:c,onChange:e.onChange,iconComponent:s.Tf,items:(0,D.Z)(Array(m)).map((function(e,t){return{text:Ce.Z.pluralWithDictAndCount(t,p.W.Step.Date.Child,i),value:t}}))})}function De(e){var t,n,r,a=(0,q.WP)().hotel,i=(0,l.$)().t,c=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getAdults())&&void 0!==t?t:1,m=Math.max((null==a?void 0:a.maxOccupancy)-(null===(r=e.row)||void 0===r?void 0:r.getChildren()),c);return(m<1||isNaN(m))&&(m=1),o.createElement(Oe.Z,{selectedValue:c,onChange:e.onChange,iconComponent:s.Tf,items:(0,D.Z)(Array(m)).map((function(e,t){return t+=1,{text:Ce.Z.pluralWithDictAndCount(t,p.W.Step.Date.Adult,i),value:t}}))})}function Ae(e){var t,n,a,i=(0,o.useContext)(E.hy),c=(0,o.useContext)(E.g7),m=(0,l.$)().t,d=(0,o.useState)(!1),f=(0,r.Z)(d,2),y=f[0],h=f[1],b=e.row,P=i.selectedBasketRow&&i.selectedBasketRow.getID()===b.getID(),R=M("room-builder-progress--item",{"--current":P,"--complete":b.isValid()}),w=(0,o.useState)(b.getPromoCode()),x=(0,r.Z)(w,2),C=(x[0],x[1]),N=(0,o.useRef)(),k=(0,o.useState)(!1),I=(0,r.Z)(k,2),O=I[0],D=I[1];(0,o.useEffect)((function(){y&&!P&&h(!1)}),[i.selectBasketRow]);var A,_=function(e){var t=e.adults,n=e.children,r=e.updatedPromoCode;t&&t!==b.getAdults()&&(K.ZP.instance.sendInteraction("Guests",K.s_.NUMBER_INPUT,K._J.ROOMS),b.setAdults(t)),!n&&0!==n||n===b.getChildren()||(K.ZP.instance.sendInteraction("Guests",K.s_.NUMBER_INPUT,K._J.ROOMS),b.setChildren(n)),!r&&""!==r||r===b.getPromoCode()||(K.ZP.instance.sendInteraction("Promo Code",K.s_.FORM_FIELD,K._J.ROOMS),b.setPromoCode(r)),i.updateBasketRow(b)},L=i.currentBasketRows.length>1,j=o.createElement(ke.Z,{title:L?"Remove this room":"Cannot remove this room as at least one must be selected."},o.createElement("div",{className:"room-builder-progress--remove"},o.createElement(v.Z,{isText:!0,icon:s.Tu.Close,iconPosition:"right",stopIconAnimation:!0,disabled:!L,onClick:function(){K.ZP.instance.sendInteraction("Remove Room",K.s_.BUTTON,K._J.ROOMS),i.removeBasketRow(b)}}))),T=c.screenSize>S.Z.ExtraLarge,B=T||P,F=1!==i.currentBasketRows.length?e.number+1:"";return A="new"===b.getPromoCodeStatus()?b.getPromoCode()?"Promo Code is being checked... please wait.":"Set a Promo Code for a possible offer!":"valid"===b.getPromoCodeStatus()?"Successful promo code entered":"Error code not valid",o.createElement("div",{className:R},P||!b.isValid()?o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl- align-items-center"},o.createElement("div",null,b.isValid()?o.createElement(u.ZP,null,o.createElement("strong",{className:"u-nowrap"},m(p.W.Step.Room.EditingRoom)," ",F)):o.createElement(u.ZP,null,o.createElement("strong",{className:"u-nowrap"},m(p.W.Step.Room.SelectRoom)," ",F))),B?o.createElement(o.Fragment,null,!T&&o.createElement("div",{className:"w-100 d-flex"+(B?" u-marg-bottom@xl-":"")},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey,inline:!0},"Choose room below")),o.createElement(ke.Z,{title:"Update number of adults",wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value u-flex-justify-center u-flex"},o.createElement(De,{row:b,onChange:function(e){_({adults:e})}}))),o.createElement(ke.Z,{title:"Update number of children",wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value u-flex-justify-center u-flex"},o.createElement(Me,{row:b,onChange:function(e){_({children:e})}}))),o.createElement(o.Fragment,null,o.createElement("div",{className:"room-builder-progress--value"},o.createElement(Ne.Z,{startDate:b.getStartDate(),selectedDateChanged:function(e,t){e&&b.setStartDate(e),t&&b.setEndDate(t),i.updateBasketRow(b)},className:"u-w-100@xl- d-flex align-items-center justify-content-center"},o.createElement(ke.Z,{title:"Select Arrival and departure dates by clicking here"},o.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer"},o.createElement(u.ZP,{color:Z.I.Accent,bold:!0,className:"u-nowrap"},b.getArrivalDate()),o.createElement(s.ZP,{icon:s.Tu.ArrowRight2}),o.createElement(u.ZP,{color:Z.I.Accent,bold:!0,className:"u-nowrap"},b.getDepartureDate()))))),o.createElement(ke.Z,{title:A,wrapperClasses:"u-w-100@xl- d-flex"},o.createElement("div",{className:"room-builder-progress--value u-cursor-pointer",ref:N,onClick:function(){D(!0)}},o.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl-"},o.createElement(u.ZP,{className:"u-pad-right--light",type:u.yG.Body,color:b.getPromoCode()?b.getPromoCodeColour():Z.I.Navy},b.getPromoCode()?b.getPromoCode():"Promo Code"),o.createElement(s.ZP,{icon:s.Tu.Dropdown,color:Z.I.DarkGrey}))))),o.createElement(ee.a,{open:O,followElement:N.current,onClose:function(){C(b.getPromoCode()),D(!1)}},o.createElement("div",{className:"u-pad--heavy"},o.createElement("div",null,o.createElement(Ie.Z,{value:null===(t=i.selectedBasketRow)||void 0===t?void 0:t.getPromoCode(),onChange:function(e){var t;t=e,K.ZP.instance.sendInteraction("Promo Code",K.s_.FORM_FIELD,K._J.ROOMS),i.selectedBasketRow&&(i.selectedBasketRow.setPromoCode(t),i.updateBasketRow(i.selectedBasketRow),t&&D(!1))},valid:"new"!==(null===(n=i.selectedBasketRow)||void 0===n?void 0:n.getPromoCodeStatus())?"valid"===(null===(a=i.selectedBasketRow)||void 0===a?void 0:a.getPromoCodeStatus()):null})),o.createElement("div",{className:"u-flex justify-content-end align-items-center u-marg-top"},o.createElement(v.Z,{isText:!0,size:"small",onClick:function(){K.ZP.instance.sendInteraction("Cancel Promo Popup",K.s_.BUTTON,K._J.ROOMS),C(b.getPromoCode()),D(!1)}},"Cancel")))),!T&&b.isValid()&&o.createElement(v.Z,{wide:!0,primary:!0,filled:!0,onClick:function(){K.ZP.instance.sendInteraction("Save Room Changes",K.s_.BUTTON,K._J.ROOMS),i.selectBasketRow(null),h(!1)}},"Save")):o.createElement("div",{className:"w-100"},o.createElement(u.ZP,{type:u.yG.Small,color:Z.I.DarkGrey},m(p.W.Step.Room.NextRoom)))),o.createElement("div",{className:"u-flex align-items-center"},b.isValid()&&o.createElement("div",{className:"u-none@xl-"},o.createElement(ke.Z,{title:"Cancel changes"},o.createElement("div",{className:"u-flex align-items-center"},o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){K.ZP.instance.sendInteraction("Cancel Room Changes",K.s_.LINK,K._J.ROOMS),i.selectBasketRow(null),h(!1)}},m(p.W.Misc.Cancel).toUpperCase())))),j)):o.createElement("div",{className:"u-flex w-100"},o.createElement("div",{className:"u-flex justify-content-start"},o.createElement("div",{className:"u-flex flex-column"},o.createElement("span",null,o.createElement(u.ZP,{inline:T},o.createElement("strong",null,b.getRoom().name)),o.createElement(u.ZP,{inline:T,type:T?u.yG.Body:u.yG.Small},o.createElement("span",{className:"u-marg-left--light@xl"},Ce.Z.pluralWithDictAndCount(b.getAdults(),p.W.Step.Date.Adult,m),", ",Ce.Z.pluralWithDictAndCount(b.getChildren(),p.W.Step.Date.Child,m)))),o.createElement(u.ZP,{type:u.yG.Caption,color:Z.I.DarkGrey},o.createElement("strong",null,b.getStayDateRange("ddd, MMM D, YYYY"," -")))),b.isPromoCodeValid()&&o.createElement("div",{className:"u-marg-left d-flex align-items-center"},o.createElement(g.ZP,{type:g.Rm.Success,icon:s.Tu.Money},b.getPromoCode()))),o.createElement("div",{className:"u-flex align-items-center"},o.createElement(ke.Z,{title:"Edit this room"},o.createElement("div",{className:"u-flex align-items-center room-builder-progress--edit"},o.createElement(v.Z,{isText:!0,size:"tiny",onClick:function(){K.ZP.instance.sendInteraction("Edit Room",K.s_.LINK,K._J.ROOMS),i.selectBasketRow(b),h(!0)}},m(p.W.Misc.Edit).toUpperCase()))),j)))}function _e(){var e=(0,o.useContext)(E.hy),t=e.currentBasketRows,n=e.addBasketRow,r=e.selectedBasketRow,a=(0,l.$)().t,i=function(){K.ZP.instance.sendInteraction("Add Room Row",K.s_.BUTTON,K._J.ROOMS),n(new xe.Z)};return(0,o.useMemo)((function(){return o.createElement(o.Fragment,null,o.createElement("div",{className:"room-builder-progress"},!!t.length&&t.map((function(e,t){return o.createElement(Ae,{row:e,key:e.getID(),number:t})})),o.createElement("div",{className:"u-flex justify-content-end"},o.createElement(v.Z,{icon:s.Tu.Add,onClick:i,stopIconAnimation:!0},a(p.W.Step.Room.RoomInfo.AddRoom)))),o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==r?void 0:r.getStartDate().format("YYYY-M-D"),checkoutTime:null==r?void 0:r.getEndDate().format("YYYY-M-D"),numAdults:null==r?void 0:r.getAdults(),numChildren:null==r?void 0:r.getChildren(),numRooms:"1"})))}),[t,a])}var Le=n(7933),je=n(4511);function Te(){var e=(0,o.useContext)(E.hy),t=(0,l.$)().t,n=!(!e.selectedBasketRow||!e.selectedBasketRow.isValid());return o.createElement("div",{className:"u-marg-top u-marg-bottom"},o.createElement(je.Z,null),o.createElement(ce.Z,{open:n},o.createElement(Le.ZP,{icon:s.Tu.Edit,type:Le.NK.Accent1},o.createElement(u.ZP,{type:u.yG.Small},o.createElement("strong",null,t(p.W.Misc.Alerts.YouAreEditing))," - ",t(p.W.Misc.Alerts.YouAreEditingAlert)))))}var Be=function(e){return(0,o.useContext)(E.g7).screenSize<=S.Z.Medium?o.createElement(o.Fragment,null,o.createElement(Te,null),o.createElement(m.Z,{smallMargins:!0}),o.createElement(_e,null),e.children,o.createElement(m.Z,{smallMargins:!0})):o.createElement(o.Fragment,null,o.createElement(_e,null),e.children,o.createElement(Te,null))},Fe=n(7462),We=n(1432),Ge=n(514),ze=n(7536),Ye=n(6431),Ve=function(){var e=(0,ze.cI)(),t=e.register,n=e.handleSubmit,a=e.formState,i=(0,Ge.W)().hotel,m=(0,o.useContext)(E.hy),d=(0,l.$)().t,f=(0,o.useState)({}),g=(0,r.Z)(f,2),y=g[0],h=g[1],b=(0,o.useState)(!1),S=(0,r.Z)(b,2),P=S[0],R=S[1],w=function(){var e=(0,B.Z)(W().mark((function e(t){var n,r;return W().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return h({}),R(!0),e.prev=2,n=m.selectedBasketRow,r="",[{name:"Adults",value:n.getAdults()},{name:"Children",value:n.getChildren()},{name:"Promo Code",value:n.getPromoCode()},{name:"Dates range",value:n.getStayDateRange("ddd D MMM YYYY"," till ")},{name:"Date Sent",value:Re().format("dd D MMM YYYY")}].forEach((function(e){var t=e.name,n=e.value;n&&(r+="".concat(t,": ").concat(n,"\n"))})),e.next=8,G.Z.Error.sendRoomFallbackForm(i.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:h({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),h({success:!1,message:d(p.W.Step.Room.ErrorForm.APIError)});case 14:R(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return o.createElement("div",{className:"u-fill-white u-rounded"},o.createElement("div",{className:"row u-pad--heavy"},o.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(s.ZP,{icon:s.Tu.Error,color:Z.I.Alert,size:"24px"})),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(c.Z,{bold:!0,color:Z.I.Alert},o.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:d(p.W.Step.Room.ErrorForm.Title)}}))),o.createElement(u.ZP,{type:u.yG.Small},o.createElement("span",{dangerouslySetInnerHTML:{__html:d(p.W.Step.Room.ErrorForm.Description)}}))),o.createElement("div",{className:"col-lg-6"},o.createElement("form",null,o.createElement(ce.Z,{open:!!a.errors},Object.values(a.errors).map((function(e){return o.createElement(Le.ZP,{type:Le.NK.Danger},o.createElement(u.ZP,{type:u.yG.Small},e.message))}))),o.createElement("div",{className:"u-marg-bottom--light u-marg-top"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:Ye.CU,message:"Email must be valid"}})))),o.createElement("div",{className:"u-marg-bottom--light"},o.createElement(We.Z,(0,Fe.Z)({placeholder:d(p.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(d(p.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),o.createElement(v.Z,{filled:!0,primary:!0,onClick:n(w),isLoading:P,disabled:P||y.success},d(p.W.Step.Room.ErrorForm.ContactUsButton)),o.createElement(ce.Z,{open:y.success},o.createElement("div",{className:"u-pad-top"},o.createElement(u.ZP,{color:Z.I.Success},d(p.W.Step.Room.ErrorForm.ConfirmationMessage)))),o.createElement(ce.Z,{open:!1===y.success},o.createElement("div",{className:"u-pad-top"},o.createElement(u.ZP,{color:Z.I.Alert},y.message)))))))};function Ue(){var e,t=(0,o.useContext)(E.hy),n=(0,o.useContext)(E.g7),l=(0,o.useContext)(E.Qm),a=(0,o.useContext)(E.P0).roomstayMember,i=(0,q.WP)().hotel,c=o.useState([]),s=(0,r.Z)(c,2),m=s[0],u=s[1],d=(0,o.useState)(!1),f=(0,r.Z)(d,2),g=f[0],v=f[1],p=(0,o.useState)(null),y=(0,r.Z)(p,2),h=y[0],b=y[1],Z=(0,o.useState)(null),P=(0,r.Z)(Z,2),R=P[0],w=P[1],x=(0,o.useRef)(null),C=t.selectedBasketRow,N=null==C?void 0:C.getStartDate(),k=null==C?void 0:C.getEndDate(),I=null==C?void 0:C.getPromoCode(),O=null==C?void 0:C.getAdults(),M=null==C?void 0:C.getChildren(),A=n.currentRoomSort,_=null,L=(0,q.zX)().raise;(0,o.useEffect)((function(){var e=!1;try{var r={checkInTime:null==N?void 0:N.format("YYYY-M-D"),checkOutTime:null==k?void 0:k.format("YYYY-M-D"),numAdults:O,numChildren:M,numRooms:1,promoCode:I},o=new be.i(r);L(o);var a=Object.values(n.currentFilters).filter((function(e){return!!e})),c=t.selectedBasketRow;if(c||m.length||(c=t.attemptSelectUnfilledRow()),!c){var s=t.getAllValidRows();c=s[s.length-1]}c&&(v(!0),Y.getRoomList(c,a,i.hotelID).then((function(n){if(!e){var o;u(n),b(t.selectedBasketRow),w(!1);var a=null!==(o=null==n?void 0:n.map((function(e){var t,n;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:l.currentCurrency,rates:null!==(t=null===(n=e.getRates())||void 0===n?void 0:n.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:l.currentCurrency}}})))&&void 0!==t?t:[]}})))&&void 0!==o?o:[],i=new Ze.j(r,a);L(i)}})).catch((function(){e||(u([]),b(null),w(!0))})).finally((function(){v(!1)})))}catch(e){}return function(){v(!1),e=!0}}),[O,M,N,k,I,l.currentLanguage,n.currentFilters,null===(e=t.selectedBasketRow)||void 0===e?void 0:e.getStale()]);var j=(0,o.useMemo)((function(){var e,t;if(!a||0===(null===(e=a.bookings)||void 0===e?void 0:e.length))return null;var n="";return a.bookings.forEach((function(e){e.hotelId===i.hotelID&&Object.values(e.itinerary).map((function(e){var r=e.roomCode,o=e.nights,l=Object.keys(o).map(Re),a=Re(Math.max.apply(null,l));t&&!a.isAfter(a)||(t=a,n=r)}))})),m.find((function(e){return e.code===n}))}),[m,a]);return(0,o.useMemo)((function(){var e,t=(0,D.Z)(m);0!==t.length&&t.sort(Ee.Z.getSortByFunction(A)),setTimeout((function(){!function(){if(x.current&&_!==m){_=m;var e=n.screenSize<=S.Z.Medium?185:350;window.scrollTo({top:window.scrollY+(x.current.getBoundingClientRect().top-e),behavior:"smooth"})}}()}),100);var r=o.createElement("div",{ref:x},g?o.createElement(pe.Z,null):t.length?t.map((function(e,n){return o.createElement(ve,{key:e.code,room:e,disableMarginBottom:n===t.length-1})})):o.createElement(o.Fragment,null,R?o.createElement(Ve,null):o.createElement(we.Z,null),null==i||null===(e=i.crossSellHotelIds)||void 0===e?void 0:e.map((function(e){return o.createElement(he,{key:e,hotelId:e})}))));return K.ZP.instance.sendRoomImpressions(),o.createElement(o.Fragment,null,o.createElement(Be,null,!g&&j?o.createElement(Pe,{key:j.code,room:j}):null),r)}),[m,g,h,A,n.currentFilters,t.loadedPromotion])}var Je=n(8279);function Qe(){var e=(0,o.useContext)(E.g7).screenSize<=S.Z.Medium,t=(0,o.useContext)(E.g7),n=(0,o.useState)(t.currentRoomSort),l=(0,r.Z)(n,2),a=l[0],i=l[1];return o.createElement(Oe.Z,{className:M("u-flex align-items-center",{"text-small":e}),onChange:function(e){K.ZP.instance.sendInteraction("Change Sort",K.s_.DROPDOWN,K._J.ROOMS),i(e),t.setCurrentRoomSort(e)},selectedValue:a,iconComponent:s.Tf,items:Object.values(Ee.s).map((function(e){return{text:e,value:e}}))})}var Xe=n(1972),$e=n(370),He=n(5692),Ke=function(){var e=(0,o.useContext)(E.g7),t=(0,l.$)().t,n=(0,o.useRef)(),d=(0,o.useState)(!1),f=(0,r.Z)(d,2),g=f[0],v=f[1],y=(0,o.useContext)(E.aN).currentStep;return o.createElement("div",{className:"container"},o.createElement($e.default,null),o.createElement("div",{className:"row"+(e.screenSize>S.Z.ExtraLarge?" no-gutters":"")},o.createElement("div",{className:"col-md-8"},e.screenSize>S.Z.Medium&&o.createElement(o.Fragment,null,o.createElement(a.rU,{to:He.Z.getPreviousStepUrl(y)},o.createElement(i.Z,null)),o.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},o.createElement(c.Z,{bold:!0},t(p.W.Step.Room.ChooseRoom)))),o.createElement("div",{className:"row align-items-end"},o.createElement("div",{className:"col-6 col-md-4 col-lg-3"},o.createElement(u.ZP,{type:u.yG.Label,color:Z.I.DarkGrey},o.createElement("strong",null,t(p.W.Step.Room.SortBy))),o.createElement("div",null,o.createElement(Qe,null))),o.createElement("div",{className:"col-6 col-md-2 col-lg-2"},o.createElement("div",{ref:n},o.createElement("div",{className:"filter-button d-flex align-items-center u-cursor-pointer",onClick:function(){K.ZP.instance.sendInteraction("Show Filters",K.s_.DROPDOWN,K._J.ROOMS),v(!0)}},o.createElement(u.ZP,null,e.screenSize>S.Z.Medium?t(p.W.Step.Room.FilterBy):t(p.W.Step.Room.Filter.ShowFilters)),o.createElement(s.ZP,{icon:s.Tu.Dropdown,color:Z.I.DarkGrey})),o.createElement(re,{open:g,anchorEl:n.current,onClose:function(){v(!1)}}))),o.createElement("div",{className:"col-md-12 col-lg-7 u-align-right u-marg-top@l- u-empty-none filter-push-down"},o.createElement(b,null)))),e.screenSize>S.Z.Medium&&o.createElement("div",{className:"col-xl-3 col-md-4 offset-xl-1 align-self-end"},o.createElement(Je.Z,null))),e.screenSize>S.Z.Medium&&o.createElement(m.Z,null),o.createElement("div",{className:"row"+(e.screenSize>S.Z.ExtraLarge?" no-gutters":"")},o.createElement("div",{className:"col-md-7 col-lg-8"},o.createElement(Ue,null)),o.createElement("div",{className:"col-xl-3 col-md-5 col-lg-4 offset-xl-1"},o.createElement(Xe.Z,null))))}},7661:function(e,t,n){(t=n(3645)(!1)).push([e.id,"._2f65h3p_FonVJPmJ0VNpaa{width:100%;display:flex;padding:13px 0;user-select:none}._3uTXL2rFqb00T64EoKQ_x0{height:4px;width:100%;background-color:var(--rs-color-snow);position:relative;border-radius:4px;z-index:1}._2JeoyipP9PKQmHuHR7x-K3{top:0;left:0;right:0;bottom:0;background-color:var(--rs-color-accent-1);position:absolute;display:block;border-radius:4px;z-index:2}._1duEi_7VDCuILwY5-lrBw1{position:absolute;top:50%;transform:translate(-50%, -50%);border-radius:100%;width:14px;height:14px;background-color:var(--rs-color-accent-1);border:2px solid var(--rs-color-white);cursor:grab}._1duEi_7VDCuILwY5-lrBw1._2PnRKxd5Yqm81i9z68twNJ{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}._1duEi_7VDCuILwY5-lrBw1._3P_lSrzSfCoUQtuy_ADGRV{background-color:var(--rs-color-navy);width:8px;height:8px;border:unset}._1duEi_7VDCuILwY5-lrBw1._2VXUnq7mxLPQXEPNd5SR-s{left:0}._1duEi_7VDCuILwY5-lrBw1._1d_8mywvEQWyX1sMPQf0r_{left:100%}._2nSLZe0JilPLyI-BFXo8V8{position:absolute;left:50%;top:16px;transform:translateX(-50%);display:block;white-space:nowrap;user-select:none;font-size:14px !important;line-height:1em !important}._2nSLZe0JilPLyI-BFXo8V8._3P_lSrzSfCoUQtuy_ADGRV{color:var(--rs-color-grey)}._2nSLZe0JilPLyI-BFXo8V8:not(._3P_lSrzSfCoUQtuy_ADGRV){background-color:#fff;padding:0px 4px}._2nSLZe0JilPLyI-BFXo8V8._2VXUnq7mxLPQXEPNd5SR-s{transform:translateX(-10%)}._2nSLZe0JilPLyI-BFXo8V8._1d_8mywvEQWyX1sMPQf0r_{transform:translateX(-75%)}",""]),t.locals={slider:"_2f65h3p_FonVJPmJ0VNpaa","slider-track":"_3uTXL2rFqb00T64EoKQ_x0","slider-rail":"_2JeoyipP9PKQmHuHR7x-K3",marker:"_1duEi_7VDCuILwY5-lrBw1","--hidden":"_2PnRKxd5Yqm81i9z68twNJ","--fixed":"_3P_lSrzSfCoUQtuy_ADGRV","--start":"_2VXUnq7mxLPQXEPNd5SR-s","--end":"_1d_8mywvEQWyX1sMPQf0r_","marker-label":"_2nSLZe0JilPLyI-BFXo8V8"},e.exports=t},9525:function(e,t,n){var r=n(3379),o=n(7661);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);r(o,{insert:"head",singleton:!1}),e.exports=o.locals||{}}}]);