@roomstay/frontend 2.3.38 → 2.3.39

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.
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[975],{2258:function(e,t,n){n.d(t,{Z:function(){return h}});var r=n(885),o=n(360),a=n(7294),l=n(6793),i=n(9478),c=n(1126),m=n(8442),u=n(858),s=n(3010),d=n(8886),f=n(4485),v=n(584),g=n(4744),p=n(7754),y=n(292);function h(e){var t=(0,l.$)().t,n=(0,a.useContext)(o.g7),h=(0,a.useContext)(o.hy),E=(0,a.useState)(!1),S=(0,r.Z)(E,2),Z=S[0],b=S[1],R=(0,a.useState)(!0),N=(0,r.Z)(R,2),x=N[0],C=N[1],P=(0,a.useState)(!0),I=(0,r.Z)(P,2),k=I[0],w=I[1],A=(0,a.useState)(""),D=(0,r.Z)(A,2),M=D[0],W=D[1],T=(0,a.useState)(""),Y=(0,r.Z)(T,2),G=Y[0],L=Y[1],O=(0,a.useState)(""),B=(0,r.Z)(O,2),z=B[0],F=B[1],j=(0,a.useState)(""),_=(0,r.Z)(j,2),H=_[0],U=_[1],$=(0,a.useState)([]),q=(0,r.Z)($,2),J=q[0],Q=q[1];return(0,a.useEffect)((function(){var t=h.selectedBasketRow;t&&m.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(c.yJ)]){r=!1;break}if(b(r),C(!0),r){w(!0);var a=m.Z.Availability.getCrossSellHotelInfo(e.hotelId);L(a.name),W(a.image),F(a.description);var l=["arrive="+t.getStartDate().format("YYYY-M-D"),"depart="+t.getEndDate().format("YYYY-M-D")];t.getAdults()>1&&l.push("adults="+t.getAdults()),t.getChildren()>0&&l.push("children="+t.getChildren()),t.getPromoCode()&&l.push("promocode="+t.getPromoCode()),U(a.checkoutUrl+"#/step/room/?"+l.join("&")),m.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){null!=e&&e.length?(Q(e),w(!1)):(C(!1),w(!1))}))}}}))}),[h.selectedBasketRow]),Z?a.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},a.createElement("div",{className:"cross-sell-module"},a.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(g.Z.resizeImage(M,g.h.Original),"')")}}),a.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},a.createElement(s.Z,{bold:!0,size:x?"large":"normal"},t(k?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy1:x?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy2:i.W.Step.Room.CrossSellBlock.DateUnavailable))),x&&a.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},a.createElement(v.ZP,{color:p.Il.DarkGrey,type:v.yG.Body},a.createElement("strong",{style:{color:p.Il.Accent}},G),a.createElement("div",{dangerouslySetInnerHTML:{__html:z}})))),k?a.createElement(f.Z,null):a.createElement(a.Fragment,null,J.slice(0,4).map((function(e,n){var r=H+"&room="+e.code,o="u-flex align-items-end";return n<J.length-1&&(o+=" u-pad-bottom u-border-bottom u-marg-bottom"),a.createElement("a",{key:e.code,className:o,href:r,target:"_blank",rel:"noreferrer"},a.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},a.createElement(v.ZP,{type:v.yG.Body,color:p.Il.Accent,bold:!0},e.name),a.createElement(v.ZP,{type:v.yG.Small,color:p.Il.DarkGrey},t(i.W.Step.Room.Sleeps,{maxOccupancy:e.occupancy}))),a.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},a.createElement(v.ZP,{type:v.yG.Small,color:p.Il.DarkGrey,inline:!0},t(i.W.Misc.From)),a.createElement(v.ZP,{type:v.yG.Body,color:p.Il.Accent,bold:!0},a.createElement(u.Z,null,e.getLowestPrice(!0)))))}))),x&&a.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},a.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=y.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:H,target:"_blank",rel:"noreferrer"},a.createElement("span",null,"See all ",J.length," rooms",a.createElement(d.ZP,{icon:d.Tu.ArrowRight,size:"1em"}))))))):null}},2458:function(e,t,n){n.d(t,{Z:function(){return y}});var r=n(2982),o=n(7688),a=n(7294),l=n(6793),i=n(9478),c=n(3010),m=n(8886),u=n(9874),s=n(5128),d=n(584),f=n(291),v=n(8013),g=n(4354),p=n(7754);function y(e){var t,n=(0,l.$)().t,y=(0,o.WP)().hotel,h=y,E=h.perks,S=h.rooms,Z=null==S?void 0:S[e.room.code],b=null!=Z&&Z.amenities?(0,r.Z)(Z.amenities):[];return null!=Z&&null!==(t=Z.features)&&void 0!==t&&t.length&&Z.features.forEach((function(e){b.push(e)})),a.createElement(s.Z,{title:e.room.name+" "+n(i.W.Step.Room.RoomInfo.Information),open:e.open,size:s.g.Small,onClose:e.onClose},a.createElement("div",null,a.createElement("div",{style:{height:"350px"}},a.createElement(f.Z,{images:e.room.getImages()})),a.createElement("div",{className:"u-marg-heavy u-marg@m-"},a.createElement("div",{className:"u-marg-bottom--light"},a.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),a.createElement(v.R,{room:e.room}),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{color:p.Il.DarkGrey,type:d.yG.Small},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)||""}}))),!(null!=y&&y.perksHideOnRoomDetail)&&a.createElement("div",{className:"u-marg-bottom--heavy"},!!E&&a.createElement("div",{className:"row"},E.map((function(e,t){return a.createElement("div",{key:t,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},a.createElement("div",{className:"room-perk-icon --has-bg"},e.iconElement?e.iconElement:a.createElement(m.ZP,{icon:e.icon})),a.createElement("div",{className:"u-marg-left--light"},a.createElement(d.ZP,{type:d.yG.Small},e.name)))})))),!(null==b||!b.length)&&a.createElement(a.Fragment,null,a.createElement("div",{className:"u-marg-bottom"},a.createElement(d.ZP,{color:p.Il.Accent,type:d.yG.Small},a.createElement("strong",null,n(i.W.Step.Room.RoomInfo.RoomAmenities)))),a.createElement("div",{className:"row"},b.map((function(e){return a.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},a.createElement(m.ZP,{icon:m.Tu.Check,color:p.Il.White,backgroundColor:p.Il.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),a.createElement("div",{className:"u-marg-left--light u-flex"},a.createElement(d.ZP,{type:d.yG.Small,inline:!0},e.description)))})))),a.createElement(u.Z,null),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{type:d.yG.Small,color:p.Il.Graphite},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),a.createElement(g.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}},9368:function(e,t,n){n.d(t,{F:function(){return C}});var r=n(7462),o=n(5861),a=n(885),l=n(4687),i=n.n(l),c=n(360),m=n(7484),u=n.n(m),s=n(7294),d=n(7536),f=n(6793),v=n(9478),g=n(9740),p=n(8442),y=n(7933),h=n(4854),E=n(3010),S=n(8886),Z=n(584),b=n(1432),R=n(514),N=n(7754),x=n(6431),C=function(){var e=(0,d.cI)(),t=e.register,n=e.handleSubmit,l=e.formState,m=(0,R.W)().hotel,C=(0,s.useContext)(c.hy),P=(0,f.$)().t,I=(0,s.useState)({}),k=(0,a.Z)(I,2),w=k[0],A=k[1],D=(0,s.useState)(!1),M=(0,a.Z)(D,2),W=M[0],T=M[1],Y=function(){var e=(0,o.Z)(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A({}),T(!0),e.prev=2,n=C.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:u()().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,p.Z.Error.sendRoomFallbackForm(null==m?void 0:m.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:A({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),A({success:!1,message:P(v.W.Step.Room.ErrorForm.APIError)});case 14:T(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return s.createElement("div",{className:"u-fill-white u-rounded"},s.createElement("div",{className:"row u-pad--heavy"},s.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(S.ZP,{icon:S.Tu.Error,color:N.Il.Alert,size:"24px"})),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(E.Z,{bold:!0,color:N.Il.Alert},s.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:P(v.W.Step.Room.ErrorForm.Title)}}))),s.createElement(Z.ZP,{type:Z.yG.Small},s.createElement("span",{dangerouslySetInnerHTML:{__html:P(v.W.Step.Room.ErrorForm.Description)}}))),s.createElement("div",{className:"col-lg-6"},s.createElement("form",null,s.createElement(g.Z,{open:!!l.errors},Object.values(l.errors).map((function(e,t){return s.createElement(y.ZP,{key:t,type:y.NK.Danger},s.createElement(Z.ZP,{type:Z.yG.Small},null==e?void 0:e.message))}))),s.createElement("div",{className:"u-marg-bottom--light u-marg-top"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:x.CU,message:"Email must be valid"}})))),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),s.createElement(h.Z,{filled:!0,primary:!0,onClick:n(Y),isLoading:W,disabled:W||w.success},P(v.W.Step.Room.ErrorForm.ContactUsButton)),s.createElement(g.Z,{open:!!w.success},s.createElement("div",{className:"u-pad-top"},s.createElement(Z.ZP,{color:N.Il.Success},P(v.W.Step.Room.ErrorForm.ConfirmationMessage)))),s.createElement(g.Z,{open:!1===w.success},s.createElement("div",{className:"u-pad-top"},s.createElement(Z.ZP,{color:N.Il.Alert},w.message)))))))}},2870:function(e,t,n){n.d(t,{y:function(){return a}});var r=n(360),o=n(7294),a=function(){var e=(0,o.useContext)(r.hy).selectedBasketRow;return o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==e?void 0:e.getStartDate().format("YYYY-M-D"),checkoutTime:null==e?void 0:e.getEndDate().format("YYYY-M-D"),numAdults:null==e?void 0:e.getAdults(),numChildren:null==e?void 0:e.getChildren(),numRooms:"1",offerCode:null==e?void 0:e.getPromoCode()}))}},9546:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(2982),o=n(7688),a=n(7294),l=n(6793),i=n(9478),c=n(3351),m=n(3261);function u(e){var t,n,u,s=(0,o.WP)().hotel,d=(0,l.$)().t,f=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getAdults())&&void 0!==t?t:1,v=Math.max((null==s?void 0:s.maxOccupancy)-(null===(u=e.row)||void 0===u?void 0:u.getChildren()),f);return(v<1||isNaN(v))&&(v=1),a.createElement(c.P,{nativeOnMobile:!0,options:(0,r.Z)(Array(v)).map((function(e,t){return t+=1,{text:m.Z.pluralWithDictAndCount(t,i.W.Step.Date.Adult,d),value:t.toString()}})),value:null==f?void 0:f.toString(),onChange:e.onChange,keyName:"value",labelName:"text",inputLabelColor:e.labelColor})}},8341:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(2982),o=n(7688),a=n(7294),l=n(6793),i=n(9478),c=n(3351),m=n(3261);function u(e){var t,n,u,s=(0,o.WP)().hotel,d=(0,l.$)().t,f=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getChildren())&&void 0!==t?t:1,v=Math.max((null==s?void 0:s.maxOccupancy)+1-(null===(u=e.row)||void 0===u?void 0:u.getAdults()));return(v<1||isNaN(v))&&(v=1),a.createElement(c.P,{nativeOnMobile:!0,options:(0,r.Z)(Array(v)).map((function(e,t){return{text:m.Z.pluralWithDictAndCount(t,i.W.Step.Date.Child,d),value:t.toString()}})),value:null==f?void 0:f.toString(),onChange:e.onChange,keyName:"value",labelName:"text",inputLabelColor:e.labelColor})}},4101:function(e,t,n){n.d(t,{Z:function(){return Y}});var r=n(4942),o=n(885),a=n(360),l=n(7688),i=n(4184),c=n.n(i),m=n(7294),u=n(6793),s=n(9478),d=n(9740),f=n(4854),v=n(858),g=n(3010),p=n(8886),y=n(9874),h=n(6573),E=n(584),S=n(291),Z=n(8013),b=n(292);function R(e){var t,n=(0,m.useContext)(a.g7),r=e.perks,l=n.screenSize<=b.Z.Large,i=(0,m.useState)(null===(t=r[0])||void 0===t?void 0:t.name),u=(0,o.Z)(i,2),s=u[0],d=u[1],f=c()("room-perk-icon",{"--has-bg":l});return m.createElement(m.Fragment,null,!(null==r||!r.length)&&m.createElement("ul",null,r.map((function(e,t){if(!(l&&t>=4))return m.createElement("li",{key:t,onClick:function(){d(e.name)}},m.createElement("div",{className:f},e.iconElement?e.iconElement:m.createElement(p.ZP,{icon:e.icon})),m.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(l&&s!==e.name||n.screenSize===b.Z.Tiny?"u-none-2":"")},m.createElement(E.xv,{type:E.yG.Small},e.name)))}))))}var N=n(7700),x=n(4354),C=n(2458),P=n(9723),I=n(6716),k=n(8361),w=n(3633),A=n(4744),D=n(7754),M=n(1715),W=n(4544);function T(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 Y(e){var t,n=(0,m.useState)([]),i=(0,o.Z)(n,2),Y=i[0],G=i[1],L=(0,m.useState)([]),O=(0,o.Z)(L,2),B=O[0],z=O[1],F=(0,m.useState)(null),j=(0,o.Z)(F,2),_=j[0],H=j[1],U=(0,m.useState)(!1),$=(0,o.Z)(U,2),q=$[0],J=$[1],Q=(0,u.$)().t,V=(0,m.useContext)(a.g7),K=(0,m.useContext)(a.hy),X=(0,m.useContext)(a.Qm),ee=(0,l.WP)().hotel,te=e.room,ne=c()("room-details",(0,r.Z)({},"+is-open",_));(0,m.useEffect)((function(){var t;null!==(t=K.selectedBasketRow)&&void 0!==t&&t.getRoom()&&K.selectedBasketRow.getRoom().code===e.room.code&&H(!0),W.ZP.instance.addRoomImpression(te)}),[K.selectedBasketRow]),(0,m.useEffect)((function(){var e=[],t=[];if(w.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 T(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)?T(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 a,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,a=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw a}}}}(te.getRates());try{for(r.s();!(n=r.n()).done;){var o,a,l,i=n.value;(null===(o=i.promoCode)||void 0===o?void 0:o.toLowerCase())===(null===(a=K.selectedBasketRow)||void 0===a||null===(l=a.getPromoCode())||void 0===l?void 0:l.toLowerCase())?t.unshift(i):e.push(i)}}catch(e){r.e(e)}finally{r.f()}t.length>0&&(H(!0),G(t))}else e=te.getRates();z(e)}),[te.getRates()]);var re=null==ee||null===(t=ee.perks)||void 0===t?void 0:t.slice(0,5),oe=te.getShortDescription(),ae=V.screenSize<=b.Z.Large,le=_||V.screenSize<=b.Z.Medium&&null===_,ie=Math.round(te.getLowestPrice(!1,!0)),ce=V.screenSize>b.Z.Medium&&ie.toLocaleString().length<7?"large":"normal",me=function(e){return Math.round(M.z7(e,!0,X.currentCurrency,null==ee?void 0:ee.defaultCurrency))},ue=(0,P.Z)({hideDecimals:!0,children:ie}),se=ue.value,de=ue.isLoading,fe=K.selectedBasketRow,ve=(0,I.Z)().hasPricePreview;return m.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},m.createElement("div",{className:ne},m.createElement("div",{className:"room-details--image"},m.createElement(S.Z,{images:e.room.getImages(),imageSize:A.h.Medium})),m.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},m.createElement("div",{className:"u-marg-bottom"},V.screenSize>b.Z.Large&&m.createElement(m.Fragment,null,m.createElement("div",{className:"u-marg-bottom"},m.createElement(N.Z,{room:te,limit:2}))),m.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},m.createElement(g.Z,{bold:!0},te.name)),m.createElement(Z.R,{room:te}),(null==oe?void 0:oe.replace(/<br(\/|)>/g,""))&&m.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},m.createElement(E.ZP,{color:D.Il.DarkGrey,type:E.yG.Small},m.createElement("span",{dangerouslySetInnerHTML:{__html:(null==oe?void 0:oe.replace(/<br(\/|)>/g,""))||""}})))),m.createElement("div",{className:"row"},!(null!=ee&&ee.perksHideOnRoomRow)&&m.createElement("div",{className:"col-12 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},ae&&m.createElement("div",{className:"u-marg-bottom"},m.createElement(E.ZP,{type:E.yG.Small,bold:!0,color:D.Il.Accent},Q(s.W.Misc.Perks.AndYouGetAll))),m.createElement(R,{perks:re}))),(null==ee?void 0:ee.showDescriptionOnRoomDetails)&&m.createElement("div",{className:"col-12"},m.createElement(y.Z,{noMargins:!0}),m.createElement("div",{className:"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom"},m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Graphite},m.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),m.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement(f.Z,{icon:p.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){W.ZP.instance.sendInteraction("More Room Details",W.s_.LINK,W._J.ROOMS),J(!0)}},Q(s.W.Step.Room.RoomInfo.MoreDetails))),m.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Navy,inline:!0},Q(s.W.Misc.From)),m.createElement("div",{className:"room-details--content-price flex-row align-items-end"},m.createElement(g.Z,{size:ce,bold:!0},m.createElement(v.Z,{hideDecimals:!0},ie)),m.createElement(E.ZP,{color:D.Il.DarkGrey,inline:!0},"/",Q(s.W.Misc.Night))),m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Grey,inline:!0,className:"u-nowrap"},te.getLowestPriceType()===k.I.IncludingFeesAndTaxes?Q(s.W.Step.Room.RoomInfo.IncludesTaxes):Q(s.W.Step.Room.ExcludingTaxes)))),m.createElement("div",{className:"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-"},!de&&ve?m.createElement("div",{className:"u-marg-top--light"},m.createElement(h.C,{price:se,checkin:((null==fe?void 0:fe.getStartDate())||K.endDate).format("YYYY-MM-DD"),currency:X.currentCurrency})):null,m.createElement(f.Z,{className:"u-marg-top--light",name:"ViewRatesNowButton",primary:!0,primaryActive:!!le,filled:!0,stopIconAnimation:!0,icon:le?p.Tu.ArrowUp2:p.Tu.ArrowDown2,iconPosition:"right",onClick:function(){le||W.ZP.instance.sendRoomClick(te,K.startDate,K.endDate),H(!le)},wide:V.screenSize<=b.Z.Large,textColor:(0,D.pJ)(le?null==ee?void 0:ee.colors.accent3:null==ee?void 0:ee.colors.accent)},Q(le?s.W.Step.Room.RoomInfo.CloseRates:s.W.Step.Room.RoomInfo.ViewRates))))),m.createElement(d.Z,{open:!!le},m.createElement(x.Z,{roomCode:te.code,rates:B,featuredRates:Y})),m.createElement(C.Z,{open:q,room:e.room,rates:B,featuredRates:Y,onClose:function(){J(!1)}}),te.getRates().map((function(e){return m.createElement("script",{key:te.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:te.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:me(e.getAveragePrice(!0)),basePrice:me(e.getTotalPrice(!0)),totalPrice:me(e.getAveragePrice()),priceCurrency:X.currentCurrency,unitText:"Nightly"}}))})))}},8013:function(e,t,n){n.d(t,{R:function(){return u}});var r=n(7688),o=n(7294),a=n(6793),l=n(8886),i=n(584),c=n(9478),m=n(7754);function u(e){var t,n,u,s,d,f,v=(0,r.WP)().hotel,g=(0,a.$)().t,p=null==v||null===(t=v.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],y=null==v||null===(u=v.overwrites)||void 0===u?void 0:u[null===(s=e.room)||void 0===s?void 0:s.code],h=null!==(d=e.textColor)&&void 0!==d?d:m.Il.DarkGrey,E="".concat((null==p?void 0:p.bedQuantity)>0?null==p?void 0:p.bedQuantity:""," ").concat(null==p?void 0:p.bedType);return null!=p&&null!==(f=p.bedTypeOverride)&&void 0!==f&&f.trim()&&(E=p.bedTypeOverride),o.createElement("ul",{className:"u-inline-flex u-flex-gap u-flex-wrap u-marg-bottom"},o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.People,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:h},g(c.W.Step.Room.Sleeps,{maxOccupancy:null==p?void 0:p.maxOccupancy})))),o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.Bed,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:h},E))),!(null==y||!y.RoomDimensions)&&o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.RoomSize,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:h},y.RoomDimensions))))}},9699:function(e,t,n){n.d(t,{i:function(){return c}});var r=n(5671),o=n(3144),a=n(136),l=n(2963),i=n(1120);var c=function(e){(0,a.Z)(m,e);var t,n,c=(t=m,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,l.Z)(this,e)});function m(e){var t;return(0,r.Z)(this,m),(t=c.call(this)).search=void 0,t.search=e,t}return(0,o.Z)(m,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),m}(n(7112).x)},9136:function(e,t,n){n.d(t,{w:function(){return d}});var r=n(885),o=n(360),a=n(9699),l=n(119),i=n(7688),c=n(7484),m=n.n(c),u=n(7294),s=n(4862),d=function(){var e=(0,i.WP)().hotel,t=(0,u.useContext)(o.Qm),n=(0,u.useContext)(o.g7),c=(0,u.useContext)(o.P0).roomstayMember,d=(0,u.useContext)(o.hy),f=d.attemptSelectUnfilledRow,v=d.selectedBasketRow,g=d.getAllValidRows,p=(0,u.useState)([]),y=(0,r.Z)(p,2),h=y[0],E=y[1],S=(0,u.useState)(!1),Z=(0,r.Z)(S,2),b=Z[0],R=Z[1],N=(0,u.useState)(null),x=(0,r.Z)(N,2),C=x[0],P=x[1],I=(0,u.useState)(null),k=(0,r.Z)(I,2),w=k[0],A=k[1],D=null==v?void 0:v.getStartDate(),M=null==v?void 0:v.getEndDate(),W=null==v?void 0:v.getPromoCode(),T=null==v?void 0:v.getAdults(),Y=null==v?void 0:v.getChildren(),G=(0,i.zX)().raise,L=(0,u.useMemo)((function(){var t,n;if(!c||0===(null===(t=c.bookings)||void 0===t?void 0:t.length))return null;var r="";return c.bookings.forEach((function(t){t.hotelId===(null==e?void 0:e.hotelID)&&Object.values(t.itinerary).map((function(e){var t=e.roomCode,o=e.nights,a=Object.keys(o).map(m()),l=m()(Math.max.apply(null,a.map((function(e){return+e}))));n&&!l.isAfter(l)||(n=l,r=t)}))})),h.find((function(e){return e.code===r}))}),[h,c]);return(0,u.useEffect)((function(){var r=!1;try{var o={checkInTime:null==D?void 0:D.format("YYYY-M-D"),checkOutTime:null==M?void 0:M.format("YYYY-M-D"),numAdults:T,numChildren:Y,numRooms:1,promoCode:W},i=new a.i(o);G(i);var c=Object.values(n.currentFilters).filter((function(e){return!!e})),m=v;if(m||h.length||(m=f()),!m){var u=g();m=u[u.length-1]}m&&(R(!0),s.Z.getRoomList(m,c,null==e?void 0:e.hotelID).then((function(e){if(!r){var n;E(e),P(!!v),A(!1);var a=null!==(n=null==e?void 0:e.map((function(e){var n,r;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:t.currentCurrency,rates:null!==(n=null===(r=e.getRates())||void 0===r?void 0:r.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:t.currentCurrency}}})))&&void 0!==n?n:[]}})))&&void 0!==n?n:[],i=new l.j(o,a);G(i)}})).catch((function(){r||(E([]),P(null),A(!0))})).finally((function(){R(!1)})))}catch(e){}return function(){R(!1),r=!0}}),[T,Y,D,M,W,t.currentLanguage,n.currentFilters,null==v?void 0:v.getStale()]),{isLoading:b,rooms:h,openRoom:C,apiHasError:w,retargetingRoom:L}}},4862:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(5861),o=n(3144),a=n(5671),l=n(4687),i=n.n(l),c=n(8442);function m(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 u=(0,o.Z)((function e(){(0,a.Z)(this,e)}));u.getRoomList=function(){var e=(0,r.Z)(i().mark((function e(t,n,r){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=u,e.next=3,u.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)}}(),u.filterRooms=function(e,t){var n=[];return e.forEach((function(e){var r=e;r.filteredRates=e.getOriginalRates();var o,a=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 m(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)?m(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 a,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,a=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw a}}}}(t);try{for(a.s();!(o=a.n()).done;){var l=o.value;if(l&&!(r=l.check(e)))break}}catch(e){a.e(e)}finally{a.f()}r&&n.push(r)})),n.filter((function(e){var t;return!(null===(t=e.filteredRates)||void 0===t||!t.length)}))},u.getUnfilteredRoomList=function(){var e=(0,r.Z)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[975],{2258:function(e,t,n){n.d(t,{Z:function(){return h}});var r=n(885),o=n(360),l=n(7294),a=n(6793),i=n(9478),c=n(1126),m=n(8442),u=n(858),s=n(3010),d=n(8886),f=n(4485),v=n(584),g=n(4744),p=n(7754),y=n(292);function h(e){var t=(0,a.$)().t,n=(0,l.useContext)(o.g7),h=(0,l.useContext)(o.hy),E=(0,l.useState)(!1),S=(0,r.Z)(E,2),Z=S[0],b=S[1],R=(0,l.useState)(!0),N=(0,r.Z)(R,2),x=N[0],C=N[1],P=(0,l.useState)(!0),I=(0,r.Z)(P,2),k=I[0],w=I[1],A=(0,l.useState)(""),D=(0,r.Z)(A,2),M=D[0],W=D[1],T=(0,l.useState)(""),Y=(0,r.Z)(T,2),G=Y[0],L=Y[1],O=(0,l.useState)(""),z=(0,r.Z)(O,2),B=z[0],F=z[1],j=(0,l.useState)(""),_=(0,r.Z)(j,2),H=_[0],U=_[1],$=(0,l.useState)([]),q=(0,r.Z)($,2),J=q[0],Q=q[1];return(0,l.useEffect)((function(){var t=h.selectedBasketRow;t&&m.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(c.yJ)]){r=!1;break}if(b(r),C(!0),r){w(!0);var l=m.Z.Availability.getCrossSellHotelInfo(e.hotelId);L(l.name),W(l.image),F(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()),U(l.checkoutUrl+"#/step/room/?"+a.join("&")),m.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){null!=e&&e.length?(Q(e),w(!1)):(C(!1),w(!1))}))}}}))}),[h.selectedBasketRow]),Z?l.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},l.createElement("div",{className:"cross-sell-module"},l.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(g.Z.resizeImage(M,g.h.Original),"')")}}),l.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},l.createElement(s.Z,{bold:!0,size:x?"large":"normal"},t(k?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy1:x?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy2:i.W.Step.Room.CrossSellBlock.DateUnavailable))),x&&l.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},l.createElement(v.ZP,{color:p.Il.DarkGrey,type:v.yG.Body},l.createElement("strong",{style:{color:p.Il.Accent}},G),l.createElement("div",{dangerouslySetInnerHTML:{__html:B}})))),k?l.createElement(f.Z,null):l.createElement(l.Fragment,null,J.slice(0,4).map((function(e,n){var r=H+"&room="+e.code,o="u-flex align-items-end";return n<J.length-1&&(o+=" u-pad-bottom u-border-bottom u-marg-bottom"),l.createElement("a",{key:e.code,className:o,href:r,target:"_blank",rel:"noreferrer"},l.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},l.createElement(v.ZP,{type:v.yG.Body,color:p.Il.Accent,bold:!0},e.name),l.createElement(v.ZP,{type:v.yG.Small,color:p.Il.DarkGrey},t(i.W.Step.Room.Sleeps,{maxOccupancy:e.occupancy}))),l.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},l.createElement(v.ZP,{type:v.yG.Small,color:p.Il.DarkGrey,inline:!0},t(i.W.Misc.From)),l.createElement(v.ZP,{type:v.yG.Body,color:p.Il.Accent,bold:!0},l.createElement(u.Z,null,e.getLowestPrice(!0)))))}))),x&&l.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},l.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=y.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:H,target:"_blank",rel:"noreferrer"},l.createElement("span",null,"See all ",J.length," rooms",l.createElement(d.ZP,{icon:d.Tu.ArrowRight,size:"1em"}))))))):null}},2458:function(e,t,n){n.d(t,{Z:function(){return y}});var r=n(2982),o=n(7688),l=n(7294),a=n(6793),i=n(9478),c=n(3010),m=n(8886),u=n(9874),s=n(5128),d=n(584),f=n(291),v=n(8013),g=n(4354),p=n(7754);function y(e){var t,n=(0,a.$)().t,y=(0,o.WP)().hotel,h=y,E=h.perks,S=h.rooms,Z=null==S?void 0:S[e.room.code],b=null!=Z&&Z.amenities?(0,r.Z)(Z.amenities):[];return null!=Z&&null!==(t=Z.features)&&void 0!==t&&t.length&&Z.features.forEach((function(e){b.push(e)})),l.createElement(s.Z,{title:e.room.name+" "+n(i.W.Step.Room.RoomInfo.Information),open:e.open,size:s.g.Small,onClose:e.onClose},l.createElement("div",null,l.createElement("div",{style:{height:"350px"}},l.createElement(f.Z,{images:e.room.getImages()})),l.createElement("div",{className:"u-marg-heavy u-marg@m-"},l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),l.createElement(v.R,{room:e.room}),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(d.ZP,{color:p.Il.DarkGrey,type:d.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)||""}}))),!(null!=y&&y.perksHideOnRoomDetail)&&l.createElement("div",{className:"u-marg-bottom--heavy"},!!E&&l.createElement("div",{className:"row"},E.map((function(e,t){return l.createElement("div",{key:t,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},l.createElement("div",{className:"room-perk-icon --has-bg"},e.iconElement?e.iconElement:l.createElement(m.ZP,{icon:e.icon})),l.createElement("div",{className:"u-marg-left--light"},l.createElement(d.ZP,{type:d.yG.Small},e.name)))})))),!(null==b||!b.length)&&l.createElement(l.Fragment,null,l.createElement("div",{className:"u-marg-bottom"},l.createElement(d.ZP,{color:p.Il.Accent,type:d.yG.Small},l.createElement("strong",null,n(i.W.Step.Room.RoomInfo.RoomAmenities)))),l.createElement("div",{className:"row"},b.map((function(e){return l.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},l.createElement(m.ZP,{icon:m.Tu.Check,color:p.Il.White,backgroundColor:p.Il.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),l.createElement("div",{className:"u-marg-left--light u-flex"},l.createElement(d.ZP,{type:d.yG.Small,inline:!0},e.description)))})))),l.createElement(u.Z,null),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(d.ZP,{type:d.yG.Small,color:p.Il.Graphite},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),l.createElement(g.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}},9368:function(e,t,n){n.d(t,{F:function(){return C}});var r=n(7462),o=n(5861),l=n(885),a=n(4687),i=n.n(a),c=n(360),m=n(7484),u=n.n(m),s=n(7294),d=n(7536),f=n(6793),v=n(9478),g=n(9740),p=n(8442),y=n(7933),h=n(4854),E=n(3010),S=n(8886),Z=n(584),b=n(1432),R=n(514),N=n(7754),x=n(6431),C=function(){var e=(0,d.cI)(),t=e.register,n=e.handleSubmit,a=e.formState,m=(0,R.W)().hotel,C=(0,s.useContext)(c.hy),P=(0,f.$)().t,I=(0,s.useState)({}),k=(0,l.Z)(I,2),w=k[0],A=k[1],D=(0,s.useState)(!1),M=(0,l.Z)(D,2),W=M[0],T=M[1],Y=function(){var e=(0,o.Z)(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A({}),T(!0),e.prev=2,n=C.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:u()().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,p.Z.Error.sendRoomFallbackForm(null==m?void 0:m.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:A({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),A({success:!1,message:P(v.W.Step.Room.ErrorForm.APIError)});case 14:T(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return s.createElement("div",{className:"u-fill-white u-rounded"},s.createElement("div",{className:"row u-pad--heavy"},s.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(S.ZP,{icon:S.Tu.Error,color:N.Il.Alert,size:"24px"})),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(E.Z,{bold:!0,color:N.Il.Alert},s.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:P(v.W.Step.Room.ErrorForm.Title)}}))),s.createElement(Z.ZP,{type:Z.yG.Small},s.createElement("span",{dangerouslySetInnerHTML:{__html:P(v.W.Step.Room.ErrorForm.Description)}}))),s.createElement("div",{className:"col-lg-6"},s.createElement("form",null,s.createElement(g.Z,{open:!!a.errors},Object.values(a.errors).map((function(e,t){return s.createElement(y.ZP,{key:t,type:y.NK.Danger},s.createElement(Z.ZP,{type:Z.yG.Small},null==e?void 0:e.message))}))),s.createElement("div",{className:"u-marg-bottom--light u-marg-top"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:x.CU,message:"Email must be valid"}})))),s.createElement("div",{className:"u-marg-bottom--light"},s.createElement(b.Z,(0,r.Z)({placeholder:P(v.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(P(v.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),s.createElement(h.Z,{filled:!0,primary:!0,onClick:n(Y),isLoading:W,disabled:W||w.success},P(v.W.Step.Room.ErrorForm.ContactUsButton)),s.createElement(g.Z,{open:!!w.success},s.createElement("div",{className:"u-pad-top"},s.createElement(Z.ZP,{color:N.Il.Success},P(v.W.Step.Room.ErrorForm.ConfirmationMessage)))),s.createElement(g.Z,{open:!1===w.success},s.createElement("div",{className:"u-pad-top"},s.createElement(Z.ZP,{color:N.Il.Alert},w.message)))))))}},2870:function(e,t,n){n.d(t,{y:function(){return l}});var r=n(360),o=n(7294),l=function(){var e=(0,o.useContext)(r.hy).selectedBasketRow;return o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==e?void 0:e.getStartDate().format("YYYY-M-D"),checkoutTime:null==e?void 0:e.getEndDate().format("YYYY-M-D"),numAdults:null==e?void 0:e.getAdults(),numChildren:null==e?void 0:e.getChildren(),numRooms:"1",offerCode:null==e?void 0:e.getPromoCode()}))}},9546:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(2982),o=n(7688),l=n(7294),a=n(6793),i=n(9478),c=n(3351),m=n(3261);function u(e){var t,n,u,s=(0,o.WP)().hotel,d=(0,a.$)().t,f=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getAdults())&&void 0!==t?t:1,v=Math.max((null==s?void 0:s.maxOccupancy)-(null===(u=e.row)||void 0===u?void 0:u.getChildren()),f);return(v<1||isNaN(v))&&(v=1),l.createElement(c.P,{nativeOnMobile:!0,options:(0,r.Z)(Array(v)).map((function(e,t){return t+=1,{text:m.Z.pluralWithDictAndCount(t,i.W.Step.Date.Adult,d),value:t.toString()}})),value:null==f?void 0:f.toString(),onChange:e.onChange,keyName:"value",labelName:"text",inputLabelColor:e.labelColor})}},8341:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(2982),o=n(7688),l=n(7294),a=n(6793),i=n(9478),c=n(3351),m=n(3261);function u(e){var t,n,u,s=(0,o.WP)().hotel,d=(0,a.$)().t,f=null!==(t=null===(n=e.row)||void 0===n?void 0:n.getChildren())&&void 0!==t?t:1,v=Math.max((null==s?void 0:s.maxOccupancy)+1-(null===(u=e.row)||void 0===u?void 0:u.getAdults()));return(v<1||isNaN(v))&&(v=1),l.createElement(c.P,{nativeOnMobile:!0,options:(0,r.Z)(Array(v)).map((function(e,t){return{text:m.Z.pluralWithDictAndCount(t,i.W.Step.Date.Child,d),value:t.toString()}})),value:null==f?void 0:f.toString(),onChange:e.onChange,keyName:"value",labelName:"text",inputLabelColor:e.labelColor})}},4101:function(e,t,n){n.d(t,{Z:function(){return Y}});var r=n(4942),o=n(885),l=n(360),a=n(7688),i=n(4184),c=n.n(i),m=n(7294),u=n(6793),s=n(9478),d=n(9740),f=n(4854),v=n(858),g=n(3010),p=n(8886),y=n(9874),h=n(6573),E=n(584),S=n(291),Z=n(8013),b=n(292);function R(e){var t,n=(0,m.useContext)(l.g7),r=e.perks,a=n.screenSize<=b.Z.Large,i=(0,m.useState)(null===(t=r[0])||void 0===t?void 0:t.name),u=(0,o.Z)(i,2),s=u[0],d=u[1],f=c()("room-perk-icon",{"--has-bg":a});return m.createElement(m.Fragment,null,!(null==r||!r.length)&&m.createElement("ul",null,r.map((function(e,t){if(!(a&&t>=4))return m.createElement("li",{key:t,onClick:function(){d(e.name)}},m.createElement("div",{className:f},e.iconElement?e.iconElement:m.createElement(p.ZP,{icon:e.icon})),m.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(a&&s!==e.name||n.screenSize===b.Z.Tiny?"u-none-2":"")},m.createElement(E.xv,{type:E.yG.Small},e.name)))}))))}var N=n(7700),x=n(4354),C=n(2458),P=n(9723),I=n(6716),k=n(8361),w=n(3633),A=n(4744),D=n(7754),M=n(1715),W=n(4544);function T(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 Y(e){var t,n=(0,m.useState)([]),i=(0,o.Z)(n,2),Y=i[0],G=i[1],L=(0,m.useState)([]),O=(0,o.Z)(L,2),z=O[0],B=O[1],F=(0,m.useState)(null),j=(0,o.Z)(F,2),_=j[0],H=j[1],U=(0,m.useState)(!1),$=(0,o.Z)(U,2),q=$[0],J=$[1],Q=(0,u.$)().t,V=(0,m.useContext)(l.g7),K=(0,m.useContext)(l.hy),X=(0,m.useContext)(l.Qm),ee=(0,a.WP)().hotel,te=e.room,ne=c()("room-details",(0,r.Z)({},"+is-open",_));(0,m.useEffect)((function(){var t;null!==(t=K.selectedBasketRow)&&void 0!==t&&t.getRoom()&&K.selectedBasketRow.getRoom().code===e.room.code&&H(!0),W.ZP.instance.addRoomImpression(te)}),[K.selectedBasketRow]),(0,m.useEffect)((function(){var e=[],t=[];if(w.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 T(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)?T(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}}}}(te.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=K.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&&(H(!0),G(t))}else e=te.getRates();B(e)}),[te.getRates()]);var re=null==ee||null===(t=ee.perks)||void 0===t?void 0:t.slice(0,5),oe=te.getShortDescription(),le=V.screenSize<=b.Z.Large,ae=_||V.screenSize<=b.Z.Medium&&null===_,ie=Math.round(te.getLowestPrice(!1,!0)),ce=V.screenSize>b.Z.Medium&&ie.toLocaleString().length<7?"large":"normal",me=function(e){return Math.round(M.z7(e,!0,X.currentCurrency,null==ee?void 0:ee.defaultCurrency))},ue=(0,P.Z)({hideDecimals:!0,children:ie}),se=ue.value,de=ue.isLoading,fe=K.selectedBasketRow,ve=(0,I.Z)().hasPricePreview;return m.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},m.createElement("div",{className:ne},m.createElement("div",{className:"room-details--image"},m.createElement(S.Z,{images:e.room.getImages(),imageSize:A.h.Medium})),m.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},m.createElement("div",{className:"u-marg-bottom"},V.screenSize>b.Z.Large&&m.createElement(m.Fragment,null,m.createElement("div",{className:"u-marg-bottom"},m.createElement(N.Z,{room:te,limit:2}))),m.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},m.createElement(g.Z,{bold:!0},te.name)),m.createElement(Z.R,{room:te}),(null==oe?void 0:oe.replace(/<br(\/|)>/g,""))&&m.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},m.createElement(E.ZP,{color:D.Il.DarkGrey,type:E.yG.Small},m.createElement("span",{dangerouslySetInnerHTML:{__html:(null==oe?void 0:oe.replace(/<br(\/|)>/g,""))||""}})))),m.createElement("div",{className:"row"},!(null!=ee&&ee.perksHideOnRoomRow)&&m.createElement("div",{className:"col-12 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},le&&m.createElement("div",{className:"u-marg-bottom"},m.createElement(E.ZP,{type:E.yG.Small,bold:!0,color:D.Il.Accent},Q(s.W.Misc.Perks.AndYouGetAll))),m.createElement(R,{perks:re}))),(null==ee?void 0:ee.showDescriptionOnRoomDetails)&&m.createElement("div",{className:"col-12"},m.createElement(y.Z,{noMargins:!0}),m.createElement("div",{className:"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom"},m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Graphite},m.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),m.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement(f.Z,{icon:p.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){W.ZP.instance.sendInteraction("More Room Details",W.s_.LINK,W._J.ROOMS),J(!0)}},Q(s.W.Step.Room.RoomInfo.MoreDetails))),m.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Navy,inline:!0},Q(s.W.Misc.From)),m.createElement("div",{className:"room-details--content-price flex-row align-items-end"},m.createElement(g.Z,{size:ce,bold:!0},m.createElement(v.Z,{hideDecimals:!0},ie)),m.createElement(E.ZP,{color:D.Il.DarkGrey,inline:!0},"/",Q(s.W.Misc.Night))),m.createElement(E.ZP,{type:E.yG.Small,color:D.Il.Grey,inline:!0,className:"u-nowrap"},te.getLowestPriceType()===k.I.IncludingFeesAndTaxes?Q(s.W.Step.Room.RoomInfo.IncludesTaxes):Q(s.W.Step.Room.ExcludingTaxes)))),m.createElement("div",{className:"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-"},!de&&ve?m.createElement("div",{className:"u-marg-top--light"},m.createElement(h.C,{price:se,checkin:((null==fe?void 0:fe.getStartDate())||K.endDate).format("YYYY-MM-DD"),currency:X.currentCurrency})):null,m.createElement(f.Z,{className:"u-marg-top--light",name:"ViewRatesNowButton",primary:!0,primaryActive:!!ae,filled:!0,stopIconAnimation:!0,icon:ae?p.Tu.ArrowUp2:p.Tu.ArrowDown2,iconPosition:"right",onClick:function(){ae||W.ZP.instance.sendRoomClick(te,K.startDate,K.endDate),H(!ae)},wide:V.screenSize<=b.Z.Large,textColor:(0,D.pJ)(ae?null==ee?void 0:ee.colors.accent3:null==ee?void 0:ee.colors.accent)},Q(ae?s.W.Step.Room.RoomInfo.CloseRates:s.W.Step.Room.RoomInfo.ViewRates))))),m.createElement(d.Z,{open:!!ae},m.createElement(x.Z,{roomCode:te.code,rates:z,featuredRates:Y})),m.createElement(C.Z,{open:q,room:e.room,rates:z,featuredRates:Y,onClose:function(){J(!1)}}),te.getRates().map((function(e){return m.createElement("script",{key:te.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:te.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:me(e.getAveragePrice(!0)),basePrice:me(e.getTotalPrice(!0)),totalPrice:me(e.getAveragePrice()),priceCurrency:X.currentCurrency,unitText:"Nightly"}}))})))}},8013:function(e,t,n){n.d(t,{R:function(){return u}});var r=n(7688),o=n(7294),l=n(6793),a=n(8886),i=n(584),c=n(9478),m=n(7754);function u(e){var t,n,u,s,d,f,v,g,p,y,h=(0,r.WP)().hotel,E=(0,l.$)().t,S=null==h||null===(t=h.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],Z=null==h||null===(u=h.rooms)||void 0===u||null===(s=u[null===(d=e.room)||void 0===d?void 0:d.code])||void 0===s?void 0:s.roomSize,b=null==h||null===(f=h.overwrites)||void 0===f||null===(v=f[null===(g=e.room)||void 0===g?void 0:g.code])||void 0===v?void 0:v.RoomDimensions,R=null!=b?b:Z?"".concat(Z," m²"):void 0,N=null!==(p=e.textColor)&&void 0!==p?p:m.Il.DarkGrey,x="".concat((null==S?void 0:S.bedQuantity)>0?null==S?void 0:S.bedQuantity:""," ").concat(null==S?void 0:S.bedType);return null!=S&&null!==(y=S.bedTypeOverride)&&void 0!==y&&y.trim()&&(x=S.bedTypeOverride),o.createElement("ul",{className:"u-inline-flex u-flex-gap u-flex-wrap u-marg-bottom"},o.createElement("li",{className:"u-flex align-items-center"},o.createElement(a.ZP,{icon:a.Tu.People,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},E(c.W.Step.Room.Sleeps,{maxOccupancy:null==S?void 0:S.maxOccupancy})))),o.createElement("li",{className:"u-flex align-items-center"},o.createElement(a.ZP,{icon:a.Tu.Bed,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},x))),!!R&&o.createElement("li",{className:"u-flex align-items-center"},o.createElement(a.ZP,{icon:a.Tu.RoomSize,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},R))))}},9699:function(e,t,n){n.d(t,{i: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)(m,e);var t,n,c=(t=m,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 m(e){var t;return(0,r.Z)(this,m),(t=c.call(this)).search=void 0,t.search=e,t}return(0,o.Z)(m,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),m}(n(7112).x)},9136:function(e,t,n){n.d(t,{w:function(){return d}});var r=n(885),o=n(360),l=n(9699),a=n(119),i=n(7688),c=n(7484),m=n.n(c),u=n(7294),s=n(4862),d=function(){var e=(0,i.WP)().hotel,t=(0,u.useContext)(o.Qm),n=(0,u.useContext)(o.g7),c=(0,u.useContext)(o.P0).roomstayMember,d=(0,u.useContext)(o.hy),f=d.attemptSelectUnfilledRow,v=d.selectedBasketRow,g=d.getAllValidRows,p=(0,u.useState)([]),y=(0,r.Z)(p,2),h=y[0],E=y[1],S=(0,u.useState)(!1),Z=(0,r.Z)(S,2),b=Z[0],R=Z[1],N=(0,u.useState)(null),x=(0,r.Z)(N,2),C=x[0],P=x[1],I=(0,u.useState)(null),k=(0,r.Z)(I,2),w=k[0],A=k[1],D=null==v?void 0:v.getStartDate(),M=null==v?void 0:v.getEndDate(),W=null==v?void 0:v.getPromoCode(),T=null==v?void 0:v.getAdults(),Y=null==v?void 0:v.getChildren(),G=(0,i.zX)().raise,L=(0,u.useMemo)((function(){var t,n;if(!c||0===(null===(t=c.bookings)||void 0===t?void 0:t.length))return null;var r="";return c.bookings.forEach((function(t){t.hotelId===(null==e?void 0:e.hotelID)&&Object.values(t.itinerary).map((function(e){var t=e.roomCode,o=e.nights,l=Object.keys(o).map(m()),a=m()(Math.max.apply(null,l.map((function(e){return+e}))));n&&!a.isAfter(a)||(n=a,r=t)}))})),h.find((function(e){return e.code===r}))}),[h,c]);return(0,u.useEffect)((function(){var r=!1;try{var o={checkInTime:null==D?void 0:D.format("YYYY-M-D"),checkOutTime:null==M?void 0:M.format("YYYY-M-D"),numAdults:T,numChildren:Y,numRooms:1,promoCode:W},i=new l.i(o);G(i);var c=Object.values(n.currentFilters).filter((function(e){return!!e})),m=v;if(m||h.length||(m=f()),!m){var u=g();m=u[u.length-1]}m&&(R(!0),s.Z.getRoomList(m,c,null==e?void 0:e.hotelID).then((function(e){if(!r){var n;E(e),P(!!v),A(!1);var l=null!==(n=null==e?void 0:e.map((function(e){var n,r;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:t.currentCurrency,rates:null!==(n=null===(r=e.getRates())||void 0===r?void 0:r.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:t.currentCurrency}}})))&&void 0!==n?n:[]}})))&&void 0!==n?n:[],i=new a.j(o,l);G(i)}})).catch((function(){r||(E([]),P(null),A(!0))})).finally((function(){R(!1)})))}catch(e){}return function(){R(!1),r=!0}}),[T,Y,D,M,W,t.currentLanguage,n.currentFilters,null==v?void 0:v.getStale()]),{isLoading:b,rooms:h,openRoom:C,apiHasError:w,retargetingRoom:L}}},4862:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(5861),o=n(3144),l=n(5671),a=n(4687),i=n.n(a),c=n(8442);function m(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 u=(0,o.Z)((function e(){(0,l.Z)(this,e)}));u.getRoomList=function(){var e=(0,r.Z)(i().mark((function e(t,n,r){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=u,e.next=3,u.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)}}(),u.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 m(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)?m(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){var t;return!(null===(t=e.filteredRates)||void 0===t||!t.length)}))},u.getUnfilteredRoomList=function(){var e=(0,r.Z)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()}}]);