@roomstay/frontend 1.5.7 → 1.5.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.
- package/dist/661.bundle.js +1 -1
- package/dist/876.bundle.js +1 -0
- package/dist/main.bundle.js +1 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js +2 -1
- package/dist/src/components/steps/room/MemberSignInModal/MemberSignInModal.js.map +1 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js +2 -1
- package/dist/src/components/steps/room/StepRoomErrorForm.js.map +1 -1
- package/dist/src/pages/findReservation/FindReservation.js +2 -1
- package/dist/src/pages/findReservation/FindReservation.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +1 -1
- package/dist/103.bundle.js +0 -1
package/dist/661.bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[661],{9699:function(e,t,n){n.d(t,{i:function(){return i}});var r=n(5671),l=n(3144),o=n(136),a=n(2963),c=n(1120);var i=function(e){(0,o.Z)(s,e);var t,n,i=(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,c.Z)(t);if(n){var l=(0,c.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return(0,a.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=i.call(this)).search=void 0,t.search=e,t}return(0,l.Z)(s,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),s}(n(7112).x)},119:function(e,t,n){n.d(t,{j:function(){return i}});var r=n(5671),l=n(3144),o=n(136),a=n(2963),c=n(1120);var i=function(e){(0,o.Z)(s,e);var t,n,i=(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,c.Z)(t);if(n){var l=(0,c.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}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=i.call(this)).search=void 0,n.roomList=void 0,n.search=e,n.roomList=t,n}return(0,l.Z)(s,null,[{key:"getLabel",value:function(){return"Search/RoomList"}}]),s}(n(7112).x)},6661:function(e,t,n){n.r(t),n.d(t,{default:function(){return $e}});var r=n(885),l=n(7294),o=n(4478),a=n(3727),c=n(3821),i=n(3010),s=n(1944),m=n(9874),u=n(584),d=n(1092),f=n(4184),g=n(4854),v=n(9478),p=n(3261),E=n(7754),y=n(966),h=n(2530),Z=n(292),b=n(2460),S=n(2387),R=n(3784),C=n(3409),P=n(4544),w=n(5986),N=n(2982),x=n(8324),O=n(3122);function k(e){var t,n,r,a=(0,x.WP)().hotel,c=(0,o.$)().t,i=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),l.createElement(O.Z,{selectedValue:i,onChange:e.onChange,iconComponent:s.Tf,items:(0,N.Z)(Array(m)).map((function(e,t){return{text:p.Z.pluralWithDictAndCount(t,v.W.Step.Date.Child,c),value:t}}))})}function I(e){var t,n,r,a=(0,x.WP)().hotel,c=(0,o.$)().t,i=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()),i);return(m<1||isNaN(m))&&(m=1),l.createElement(O.Z,{selectedValue:i,onChange:e.onChange,iconComponent:s.Tf,items:(0,N.Z)(Array(m)).map((function(e,t){return t+=1,{text:p.Z.pluralWithDictAndCount(t,v.W.Step.Date.Adult,c),value:t}}))})}function D(e){var t,n,a,c=(0,l.useContext)(y.hy),i=(0,l.useContext)(y.g7),m=(0,o.$)().t,d=(0,l.useState)(!1),N=(0,r.Z)(d,2),x=N[0],O=N[1],D=e.row,A=c.selectedBasketRow&&c.selectedBasketRow.getID()===D.getID(),M=f("room-builder-progress--item",{"--current":A,"--complete":D.isValid()}),j=(0,l.useState)(D.getPromoCode()),T=(0,r.Z)(j,2),B=(T[0],T[1]),L=(0,l.useRef)(),F=(0,l.useState)(!1),W=(0,r.Z)(F,2),G=W[0],_=W[1];(0,l.useEffect)((function(){x&&!A&&O(!1)}),[c.selectBasketRow]);var z,Y=function(e){var t=e.adults,n=e.children,r=e.updatedPromoCode;t&&t!==D.getAdults()&&(P.ZP.instance.sendInteraction("Guests",P.s_.NUMBER_INPUT,P._J.ROOMS),D.setAdults(t)),!n&&0!==n||n===D.getChildren()||(P.ZP.instance.sendInteraction("Guests",P.s_.NUMBER_INPUT,P._J.ROOMS),D.setChildren(n)),!r&&""!==r||r===D.getPromoCode()||(P.ZP.instance.sendInteraction("Promo Code",P.s_.FORM_FIELD,P._J.ROOMS),D.setPromoCode(r)),c.updateBasketRow(D)},U=c.currentBasketRows.length>1,$=l.createElement(b.Z,{title:U?"Remove this room":"Cannot remove this room as at least one must be selected.",arrow:!0,enterDelay:500},l.createElement("div",{className:"room-builder-progress--remove"},l.createElement(g.Z,{isText:!0,icon:s.Tu.Close,iconPosition:"right",stopIconAnimation:!0,disabled:!U,onClick:function(){P.ZP.instance.sendInteraction("Remove Room",P.s_.BUTTON,P._J.ROOMS),c.removeBasketRow(D)}}))),J=i.screenSize>Z.Z.ExtraLarge,V=J||A,H=1!==c.currentBasketRows.length?e.number+1:"";return z="new"===D.getPromoCodeStatus()?D.getPromoCode()?"Promo Code is being checked... please wait.":"Set a Promo Code for a possible offer!":"valid"===D.getPromoCodeStatus()?"Successful promo code entered":"Error code not valid",l.createElement("div",{className:M},A||!D.isValid()?l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-"},l.createElement("div",null,D.isValid()?l.createElement(u.ZP,null,l.createElement("strong",{className:"u-nowrap"},m(v.W.Step.Room.EditingRoom)," ",H)):l.createElement(u.ZP,null,l.createElement("strong",{className:"u-nowrap"},m(v.W.Step.Room.SelectRoom)," ",H))),V?l.createElement(l.Fragment,null,!J&&l.createElement("div",{className:"w-100"+(V?" u-marg-bottom@xl-":"")},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},"Choose room below")),l.createElement(b.Z,{title:"Update number of adults",arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value"},l.createElement(I,{row:D,onChange:function(e){Y({adults:e})}}))),l.createElement(b.Z,{title:"Update number of children",arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value"},l.createElement(k,{row:D,onChange:function(e){Y({children:e})}}))),l.createElement(l.Fragment,null,l.createElement("div",{className:"room-builder-progress--value"},l.createElement(h.Z,{startDate:D.getStartDate(),selectedDateChanged:function(e,t){e&&D.setStartDate(e),t&&D.setEndDate(t),c.updateBasketRow(D)},className:"u-w-100@xl- d-flex align-items-center justify-content-center"},l.createElement(b.Z,{title:"Select Arrival and departure dates by clicking here",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer"},l.createElement(u.ZP,{color:E.I.Accent,bold:!0,className:"u-nowrap"},D.getArrivalDate()),l.createElement(s.ZP,{icon:s.Tu.ArrowRight2}),l.createElement(u.ZP,{color:E.I.Accent,bold:!0,className:"u-nowrap"},D.getDepartureDate()))))),l.createElement(b.Z,{title:z,arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value u-cursor-pointer",ref:L,onClick:function(){return _(!0)}},l.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl-"},l.createElement(u.ZP,{className:"u-pad-right--light",type:u.yG.Body,color:D.getPromoCode()?D.getPromoCodeColour():E.I.Navy},D.getPromoCode()?D.getPromoCode():"Promo Code"),l.createElement(s.ZP,{icon:s.Tu.Dropdown,color:E.I.DarkGrey}))))),l.createElement(S.ZP,{open:G,container:R.ZP.EngineContainer,anchorEl:L.current,disableScrollLock:!0,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:function(){B(D.getPromoCode()),_(!1)}},l.createElement("div",{className:"u-pad--heavy"},l.createElement("div",null,l.createElement(w.Z,{value:null===(t=c.selectedBasketRow)||void 0===t?void 0:t.getPromoCode(),onChange:function(e){var t;t=e,P.ZP.instance.sendInteraction("Promo Code",P.s_.FORM_FIELD,P._J.ROOMS),c.selectedBasketRow&&(c.selectedBasketRow.setPromoCode(t),c.updateBasketRow(c.selectedBasketRow),t&&_(!1))},valid:"new"!==(null===(n=c.selectedBasketRow)||void 0===n?void 0:n.getPromoCodeStatus())?"valid"===(null===(a=c.selectedBasketRow)||void 0===a?void 0:a.getPromoCodeStatus()):null})),l.createElement("div",{className:"u-flex justify-content-end align-items-center u-marg-top"},l.createElement(g.Z,{isText:!0,size:"small",onClick:function(){P.ZP.instance.sendInteraction("Cancel Promo Popup",P.s_.BUTTON,P._J.ROOMS),B(D.getPromoCode()),_(!1)}},"Cancel")))),!J&&D.isValid()&&l.createElement(g.Z,{wide:!0,primary:!0,filled:!0,onClick:function(){P.ZP.instance.sendInteraction("Save Room Changes",P.s_.BUTTON,P._J.ROOMS),c.selectBasketRow(null),O(!1)}},"Save")):l.createElement("div",{className:"w-100"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},m(v.W.Step.Room.NextRoom)))),l.createElement("div",{className:"u-flex align-items-center"},D.isValid()&&l.createElement("div",{className:"u-none@xl-"},l.createElement(b.Z,{title:"Cancel changes",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center"},l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){P.ZP.instance.sendInteraction("Cancel Room Changes",P.s_.LINK,P._J.ROOMS),c.selectBasketRow(null),O(!1)}},m(v.W.Misc.Cancel).toUpperCase())))),$)):l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"u-flex justify-content-start"},l.createElement("div",{className:"u-flex flex-column"},l.createElement("span",null,l.createElement(u.ZP,{inline:J},l.createElement("strong",null,D.getRoom().name)),l.createElement(u.ZP,{inline:J,type:J?u.yG.Body:u.yG.Small},l.createElement("span",{className:"u-marg-left--light@xl"},p.Z.pluralWithDictAndCount(D.getAdults(),v.W.Step.Date.Adult,m),", ",p.Z.pluralWithDictAndCount(D.getChildren(),v.W.Step.Date.Child,m)))),l.createElement(u.ZP,{type:u.yG.Caption,color:E.I.DarkGrey},l.createElement("strong",null,D.getStayDateRange("ddd, MMM D, YYYY"," -")))),D.isPromoCodeValid()&&l.createElement("div",{className:"u-marg-left d-flex align-items-center"},l.createElement(C.Z,{type:C.R.Success,icon:s.Tu.Money},D.getPromoCode()))),l.createElement("div",{className:"u-flex align-items-center"},l.createElement(b.Z,{title:"Edit this room",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center room-builder-progress--edit"},l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){P.ZP.instance.sendInteraction("Edit Room",P.s_.LINK,P._J.ROOMS),c.selectBasketRow(D),O(!0)}},m(v.W.Misc.Edit).toUpperCase()))),$)))}function A(){var e=(0,l.useContext)(y.hy),t=e.currentBasketRows,n=e.addBasketRow,r=e.selectedBasketRow,a=(0,o.$)().t,c=function(){P.ZP.instance.sendInteraction("Add Room Row",P.s_.BUTTON,P._J.ROOMS),n(new d.Z)};return(0,l.useMemo)((function(){return l.createElement(l.Fragment,null,l.createElement("div",{className:"room-builder-progress"},!!t.length&&t.map((function(e,t){return l.createElement(D,{row:e,key:e.getID(),number:t})})),l.createElement("div",{className:"u-flex justify-content-end"},l.createElement(g.Z,{icon:s.Tu.Add,onClick:c,stopIconAnimation:!0},a(v.W.Step.Room.RoomInfo.AddRoom)))),l.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 M=n(4942),j=n(7930);function T(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 B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){(0,M.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(){var e=(0,l.useContext)(y.g7),t=(0,o.$)().t,n=Object.keys(e.currentFilters).filter((function(t){return t&&e.currentFilters[t]instanceof j.Z}));return n.length?l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"filter-height"},n&&(n.length<=2?n.map((function(t){if(t&&e.currentFilters[t]instanceof j.Z)return l.createElement(C.Z,{key:t,onClickIcon:function(){e.setCurrentFilters(B(B({},e.currentFilters),{},(0,M.Z)({},t,null)))},type:C.R.Secondary,icon:s.Tu.Close,iconPosition:"right"},e.currentFilters[t].getLabel())})):l.createElement(C.Z,{onClickIcon:function(){e.setCurrentFilters({})},type:C.R.Secondary,icon:s.Tu.Close,iconPosition:"right"},n.length," Filters Applied"))),!!Object.values(e.currentFilters).filter((function(e){return!!e})).length&&l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){e.setCurrentFilters({})}},t(v.W.Misc.ClearAll))):l.createElement(l.Fragment,null)}var F=n(5128),W=n(858),G=n(4845),_=n(3144),z=n(5671),Y=n(136),U=n(2963),$=n(1120);var J=function(e){(0,Y.Z)(l,e);var t,n,r=(t=l,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,$.Z)(t);if(n){var l=(0,$.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return(0,U.Z)(this,e)});function l(e,t){var n;return(0,z.Z)(this,l),(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,_.Z)(l)}(j.Z),V=n(4485);function H(e){var t,n,a,c,i,s=(0,o.$)().t,m=(0,l.useState)([null!==(t=null===(n=e.filter)||void 0===n?void 0:n.getMin())&&void 0!==t?t:0,null!==(a=null===(c=e.filter)||void 0===c?void 0:c.getMax())&&void 0!==a?a:0]),d=(0,r.Z)(m,2),p=d[0],y=d[1],h=(0,l.useState)(p),Z=(0,r.Z)(h,2),b=Z[0],S=Z[1],R=(0,l.useState)(null),C=(0,r.Z)(R,2),P=C[0],w=C[1];(0,l.useEffect)((function(){var t,n,r,l,o,a,c=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,i=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;y([c,i]),S([null!==(r=null===(l=e.filter)||void 0===l?void 0:l.getMin())&&void 0!==r?r:c,null!==(o=null===(a=e.filter)||void 0===a?void 0:a.getMax())&&void 0!==o?o:i])}),[e.roomList]),(0,l.useEffect)((function(){var e=p[1]-p[0];b[1]<p[0]+.3*e?w("left"):b[0]>p[1]-.3*e?w("right"):w(null)}),[b]);var N=function(e){return l.createElement(W.Z,{hideDecimals:!0,disableLoading:!0},e)},x=[{label:l.createElement("span",{className:"be-slider-label --start",style:{color:E.I.Grey}},N(p[0])),value:p[0]-1},{label:l.createElement("span",{className:"be-slider-label",style:{color:E.I.Grey}},N(p[1])),value:p[1]+2},{label:l.createElement("span",{className:"be-slider-label --main"},N(b[0])," - ",N(b[1])),value:(b[1]-b[0])/2+b[0]}];return l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex"},l.createElement("div",null,l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,s(v.W.Step.Room.Filter.Budget))),l.createElement(u.ZP,{inline:!0,type:u.yG.Small},"/",s(v.W.Misc.PerNight))),l.createElement("div",null,l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){return S(p),void e.onChange(null)}},s(v.W.Misc.Clear)))),(null===(i=e.roomList)||void 0===i?void 0:i.length)>0?l.createElement("div",{className:f("roomstay-slider",{"--min-limit":"left"===P,"--max-limit":"right"===P})},l.createElement(G.Z,{min:p[0],max:p[1],valueLabelDisplay:"off",onChange:function(e,t){S(t)},onChangeCommitted:function(t,n){e.onChange(new J(n[0],n[1]))},"aria-labelledby":"track-false-range-slider",value:b,marks:x})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null)))}var q=n(5861),Q=n(4687),K=n.n(Q),X=n(7988);function ee(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 te=(0,_.Z)((function e(){(0,z.Z)(this,e)}));te.getRoomList=function(){var e=(0,q.Z)(K().mark((function e(t,n,r){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=te,e.next=3,te.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)}}(),te.filterRooms=function(e,t){var n=[];return e.forEach((function(e){var r=e;r.filteredRates=e.getOriginalRates();var l,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 ee(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)?ee(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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,a=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}(t);try{for(o.s();!(l=o.n()).done;){var a=l.value;if(a&&!(r=a.check(e)))break}}catch(e){o.e(e)}finally{o.f()}r&&n.push(r)})),n.filter((function(e){return!!e.filteredRates.length}))},te.getUnfilteredRoomList=function(){var e=(0,q.Z)(K().mark((function e(t,n){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",X.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();var ne=n(9087),re=n(3103);function le(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 oe(e){var t,n=(0,o.$)().t,a=(0,l.useState)({}),c=(0,r.Z)(a,2),i=c[0],s=c[1],m=(0,l.useState)(0),d=(0,r.Z)(m,2),f=d[0],p=d[1],E=(0,l.useRef)();return(0,l.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,f]),(0,l.useEffect)((function(){var t;if(null!=E&&E.current&&null!==(t=e.roomList)&&void 0!==t&&t.length){var n=Object.keys(i),r=n.filter((function(e){return i[e].status}));n.length===r.length?e.onChange(null):e.onChange(new ne.Z(r))}}),[i]),l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex u-marg-bottom",ref:E},l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.Filter.RateType))),l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),p((function(e){return e+1}))}},n(v.W.Misc.Clear))),l.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?i&&Object.keys(i).map((function(e){return l.createElement("div",{className:"u-marg-bottom--light",key:e},l.createElement(re.Z,{label:e,checked:i[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?le(Object(n),!0).forEach((function(t){(0,M.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):le(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i);n[e].status=t,s(n)}}))})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null))))}var ae=n(742);function ce(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 ie(e){var t,n=(0,o.$)().t,a=(0,l.useState)({}),c=(0,r.Z)(a,2),i=c[0],s=c[1],m=(0,l.useState)(0),d=(0,r.Z)(m,2),f=d[0],p=d[1],E=(0,l.useRef)();(0,l.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,f]);var y=Object.keys(i),h=y.filter((function(e){return i[e].status}));return(0,l.useEffect)((function(){var t;null!=E&&E.current&&null!==(t=e.roomList)&&void 0!==t&&t.length&&(h.length===y.length?e.onChange(null):e.onChange(new ae.Z(h)))}),[i]),l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex u-marg-bottom u-marg-top--heavy",ref:E},l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.Filter.RoomType))),l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),p((function(e){return e+1}))}},n(v.W.Misc.Clear))),l.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?i&&Object.keys(i).map((function(e){return l.createElement("div",{className:"u-marg-bottom--light",key:e},l.createElement(re.Z,{label:e,checked:i[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?ce(Object(n),!0).forEach((function(t){(0,M.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i);n[e].status=t,s(n)}}))})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null))))}function se(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 me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?se(Object(n),!0).forEach((function(t){(0,M.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ue(e){var t=(0,l.useContext)(y.g7),n=(0,l.useContext)(y.hy),a=(0,x.WP)().hotel,c=(0,o.$)().t,s=(0,l.useState)(t.currentFilters),d=(0,r.Z)(s,2),f=d[0],p=d[1],h=(0,l.useState)([]),b=(0,r.Z)(h,2),C=b[0],w=b[1];(0,l.useEffect)((function(){p(me({},t.currentFilters));var r=function(){document.body.style.overflow=null};if(e.open){var l;document.body.style.overflow="hidden";var o=n.getAllValidRows();te.getUnfilteredRoomList(null!==(l=n.selectedBasketRow)&&void 0!==l?l:o[o.length-1],a.hotelID).then((function(e){w(e)}))}else r();return function(){r()}}),[e.open]);var N=l.createElement("div",{className:"u-flex align-items-center justify-content-between justify-content-md-end"},l.createElement("div",{className:"u-marg-right--heavy"},l.createElement(u.ZP,{color:E.I.Accent},l.createElement("strong",null,te.filterRooms(C,Object.values(f)).length," ",c(v.W.Step.Room.Filter.MatchingRoomsRates)))),l.createElement(g.Z,{primary:!0,filled:!0,onClick:function(){P.ZP.instance.sendInteraction("Apply Filters",P.s_.BUTTON,P._J.ROOMS),t.setCurrentFilters(f),e.onClose()}},c(v.W.Misc.ApplyChanges))),O=function(e,t){p((function(n){return me(me({},n),{},(0,M.Z)({},e,t))}))},k=l.createElement("div",{className:"room-filter"},l.createElement("div",{className:"u-pad--heavy u-pad-bottom--none"},t.screenSize>Z.Z.Medium&&l.createElement("div",{className:"u-marg-bottom"},l.createElement(i.Z,{bold:!0},c(v.W.Step.Room.FilterBy))),l.createElement("div",{className:"row"},l.createElement("div",{className:"col-md-6"},l.createElement(H,{filter:f.Budget,onChange:function(e){return O("Budget",e)},roomList:C}),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(ie,{roomList:C,filter:f.RoomType,onChange:function(e){return O("RoomType",e)}}))),l.createElement("div",{className:"col-md-6"},l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(oe,{roomList:C,filter:f.RateType,onChange:function(e){return O("RateType",e)}}))))));return t.screenSize>Z.Z.Medium?l.createElement(S.ZP,{anchorEl:e.anchorEl,onClose:e.onClose,container:R.ZP.EngineContainer,open:e.open,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"left"}},l.createElement(l.Fragment,null,k,l.createElement("div",{className:"u-pad--heavy u-pad-top--none"},l.createElement(m.Z,null),N))):l.createElement(F.Z,{open:e.open,onClose:e.onClose,title:"Filter",mobileFooter:N},k)}var de=n(6008),fe=n(291);function ge(e){var t,n,r,o,a=(0,x.WP)().hotel,c=null===(t=a.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],i=null==a||null===(r=a.overwrites)||void 0===r?void 0:r[null===(o=e.room)||void 0===o?void 0:o.code];return l.createElement("ul",{className:"u-list-inline-flex u-marg-bottom"},l.createElement("li",{className:"align-items-center"},l.createElement(s.ZP,{icon:s.Tu.People,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},"Sleeps ",null==c?void 0:c.maxOccupancy))),l.createElement("li",{className:"u-pad-left align-items-center"},l.createElement(s.ZP,{icon:s.Tu.Bed,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},(null==c?void 0:c.bedQuantity)>0?null==c?void 0:c.bedQuantity:""," ",null==c?void 0:c.bedType))),!(null==i||!i.RoomDimensions)&&l.createElement("li",{className:"u-pad-left align-items-center"},l.createElement(s.ZP,{icon:s.Tu.RoomSize,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},i.RoomDimensions))))}function ve(e){var t,n=(0,o.$)().t,r=(0,x.WP)().hotel,a=r.perks,c=r.rooms,d=null==c?void 0:c[e.room.code],f=null!=d&&d.amenities?(0,N.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)})),l.createElement(F.Z,{title:e.room.name+" "+n(v.W.Step.Room.RoomInfo.Information),open:e.open,size:F.g.Small,onClose:e.onClose},l.createElement("div",null,l.createElement("div",{style:{height:"350px"}},l.createElement(fe.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(i.Z,{bold:!0,size:"large"},e.room.name)),l.createElement(ge,{room:e.room}),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)}}))),l.createElement("div",{className:"u-marg-bottom--heavy"},!!a&&l.createElement("div",{className:"row"},a.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(s.ZP,{icon:e.icon})),l.createElement("div",{className:"u-marg-left--light"},l.createElement(u.ZP,{type:u.yG.Small},e.name)))})))),!(null==f||!f.length)&&l.createElement(l.Fragment,null,l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{color:E.I.Accent,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.RoomInfo.RoomAmenities)))),l.createElement("div",{className:"row"},f.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(s.ZP,{icon:s.Tu.Check,color:E.I.White,backgroundColor:E.I.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),l.createElement("div",{className:"u-marg-left--light u-flex"},l.createElement(u.ZP,{type:u.yG.Small,inline:!0},e.description)))})))),l.createElement(m.Z,null),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Graphite},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()}})))),l.createElement(de.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}var pe=n(9740);function Ee(e){var t,n=(0,l.useContext)(y.g7),o=e.perks,a=n.screenSize<=Z.Z.Large,c=(0,l.useState)(null===(t=o[0])||void 0===t?void 0:t.name),i=(0,r.Z)(c,2),m=i[0],d=i[1],g=f("room-perk-icon",{"--has-bg":a});return l.createElement(l.Fragment,null,!(null==o||!o.length)&&l.createElement("ul",null,o.map((function(e,t){if(!(a&&t>=4))return l.createElement("li",{key:t,onClick:function(){d(e.name)}},l.createElement("div",{className:g},e.iconElement?e.iconElement:l.createElement(s.ZP,{icon:e.icon})),l.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(a&&m!==e.name||n.screenSize===Z.Z.Tiny?"u-none-2":"")},l.createElement(u.xv,{type:u.yG.Small},e.name)))}))))}var ye=n(8361),he=n(3633),Ze=n(7700),be=n(4744);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}function Re(e){var t,n=(0,l.useState)([]),a=(0,r.Z)(n,2),c=a[0],m=a[1],d=(0,l.useState)([]),p=(0,r.Z)(d,2),h=p[0],b=p[1],S=(0,l.useState)(null),R=(0,r.Z)(S,2),C=R[0],w=R[1],N=(0,l.useState)(!1),O=(0,r.Z)(N,2),k=O[0],I=O[1],D=(0,o.$)().t,A=(0,l.useContext)(y.g7),j=(0,l.useContext)(y.hy),T=(0,l.useContext)(y.Qm),B=(0,x.WP)().hotel,L=e.room,F=f("room-details",(0,M.Z)({},"+is-open",C));(0,l.useEffect)((function(){var t;null!==(t=j.selectedBasketRow)&&void 0!==t&&t.getRoom()&&j.selectedBasketRow.getRoom().code===e.room.code&&w(!0),P.ZP.instance.addRoomImpression(L)}),[j.selectedBasketRow]),(0,l.useEffect)((function(){var e=[],t=[];if(he.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 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,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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,a=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}(L.getRates());try{for(r.s();!(n=r.n()).done;){var l,o,a,c=n.value;(null===(l=c.promoCode)||void 0===l?void 0:l.toLowerCase())===(null===(o=j.selectedBasketRow)||void 0===o||null===(a=o.getPromoCode())||void 0===a?void 0:a.toLowerCase())?t.unshift(c):e.push(c)}}catch(e){r.e(e)}finally{r.f()}t.length>0&&(w(!0),m(t))}else e=L.getRates();b(e)}),[L.getRates()]);var G=null===(t=B.perks)||void 0===t?void 0:t.slice(0,5),_=L.getShortDescription(),z=A.screenSize<=Z.Z.Large,Y=C||A.screenSize<=Z.Z.Medium&&null===C,U=Math.round(L.getLowestPrice(!1,!0)),$=A.screenSize>Z.Z.Medium&&U.toLocaleString().length<7?"large":"normal";return l.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},l.createElement("div",{className:F},l.createElement("div",{className:"room-details--image"},l.createElement(fe.Z,{images:e.room.getImages(),imageSize:be.h.Medium})),l.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},l.createElement("div",{className:"u-marg-bottom"},A.screenSize>Z.Z.Large&&l.createElement(l.Fragment,null,l.createElement("div",{className:"u-marg-bottom"},l.createElement(Ze.Z,{room:L,limit:2}))),l.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},l.createElement(i.Z,{bold:!0},L.name)),l.createElement(ge,{room:L}),l.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:_.replace(/<br(\/|)>/g,"")}})))),l.createElement("div",{className:"row"},l.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},l.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},z&&l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:E.I.Accent},D(v.W.Misc.Perks.AndYouGetAll))),l.createElement(Ee,{perks:G})),l.createElement(g.Z,{icon:s.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){P.ZP.instance.sendInteraction("More Room Details",P.s_.LINK,P._J.ROOMS),I(!0)}},D(v.W.Step.Room.RoomInfo.MoreDetails))),l.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Navy,inline:!0},D(v.W.Misc.From)),l.createElement("div",{className:"room-details--content-price flex-row align-items-end"},l.createElement(i.Z,{size:$,bold:!0},l.createElement(W.Z,{hideDecimals:!0},U)),l.createElement(u.ZP,{color:E.I.DarkGrey,inline:!0},"/",D(v.W.Misc.Night))),l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Grey,inline:!0,className:"u-nowrap"},L.getLowestPriceType()===ye.I.IncludingFeesAndTaxes?D(v.W.Step.Room.RoomInfo.IncludesTaxes):D(v.W.Step.Room.ExcludingTaxes))),l.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},l.createElement(g.Z,{name:"ViewRatesNowButton",primary:!0,primaryActive:Y,filled:!0,stopIconAnimation:!0,icon:Y?s.Tu.ArrowUp2:s.Tu.ArrowDown2,iconPosition:"right",onClick:function(){Y||P.ZP.instance.sendRoomClick(L,j.startDate,j.endDate),w(!Y)},wide:A.screenSize<=Z.Z.Large},D(Y?v.W.Step.Room.RoomInfo.CloseRates:v.W.Step.Room.RoomInfo.ViewRates))))))),l.createElement(pe.Z,{open:Y},l.createElement(de.Z,{roomCode:L.code,rates:h,featuredRates:c})),l.createElement(ve,{open:k,room:e.room,rates:h,featuredRates:c,onClose:function(){I(!1)}}),L.getRates().map((function(e){return l.createElement("script",{key:L.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:L.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:e.getAveragePrice(),priceCurrency:T.currentCurrency,unitText:"Nightly"}}))})))}var Ce=n(7023),Pe=n(7832),we=n(281),Ne=n(1126);function xe(e){var t=(0,o.$)().t,n=(0,l.useContext)(y.g7),a=(0,l.useContext)(y.hy),c=(0,l.useState)(!1),m=(0,r.Z)(c,2),d=m[0],f=m[1],g=(0,l.useState)(!0),p=(0,r.Z)(g,2),h=p[0],b=p[1],S=(0,l.useState)(!0),R=(0,r.Z)(S,2),C=R[0],P=R[1],w=(0,l.useState)(""),N=(0,r.Z)(w,2),x=N[0],O=N[1],k=(0,l.useState)(""),I=(0,r.Z)(k,2),D=I[0],A=I[1],M=(0,l.useState)(""),j=(0,r.Z)(M,2),T=j[0],B=j[1],L=(0,l.useState)(""),F=(0,r.Z)(L,2),G=F[0],_=F[1],z=(0,l.useState)([]),Y=(0,r.Z)(z,2),U=Y[0],$=Y[1];return(0,l.useEffect)((function(){var t=a.selectedBasketRow;t&&X.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,l=t.getStartDate();l.isBefore(t.getEndDate(),"day");l=l.add(1,"day"))if(!n[l.format(Ne.yJ)]){r=!1;break}if(f(r),b(!0),r){P(!0);var o=X.Z.Availability.getCrossSellHotelInfo(e.hotelId);A(o.name),O(o.image),B(o.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()),_(o.checkoutUrl+"#/step/room/?"+a.join("&")),X.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){e.length?($(e),P(!1)):(b(!1),P(!1))}))}}}))}),[a.selectedBasketRow]),d&&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(x,"')")}}),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(i.Z,{bold:!0,size:h?"large":"normal"},C?"A nearby hotel may have availability on your dates...":h?"Nearby hotel has availability on your dates!":"Sorry, we checked and your dates are also unavailable in our nearby hotels")),h&&l.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Body},l.createElement("strong",{style:{color:E.I.Accent}},D)," ",l.createElement("div",{dangerouslySetInnerHTML:{__html:T}})))),C?l.createElement(V.Z,null):l.createElement(l.Fragment,null,U.slice(0,4).map((function(e,n){var r=G+"&room="+e.code,o="u-flex align-items-end";return n<U.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(u.ZP,{type:u.yG.Body,color:E.I.Accent,bold:!0},e.name),l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},"Sleeps ",e.occupancy)),l.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey,inline:!0},t(v.W.Misc.From)),l.createElement(u.ZP,{type:u.yG.Body,color:E.I.Accent,bold:!0},l.createElement(W.Z,null,e.getLowestPrice(!0)))))}))),h&&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:"MuiButtonBase-root link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=Z.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:G,target:"_blank",rel:"noreferrer"},l.createElement("span",null,"See all ",U.length," rooms",l.createElement(s.ZP,{icon:s.Tu.ArrowRight,size:"1em"}),l.createElement("span",{className:"MuiTouchRipple-root"})))))))}var Oe=n(7462),ke=n(7933),Ie=n(1432),De=n(7484),Ae=n(514),Me=n(7536),je=function(){var e=(0,Me.cI)(),t=e.register,n=e.handleSubmit,a=e.formState,c=(0,Ae.W)().hotel,m=(0,l.useContext)(y.hy),d=(0,o.$)().t,f=(0,l.useState)({}),p=(0,r.Z)(f,2),h=p[0],Z=p[1],b=(0,l.useState)(!1),S=(0,r.Z)(b,2),R=S[0],C=S[1],P=function(){var e=(0,q.Z)(K().mark((function e(t){var n,r;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Z({}),C(!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:De().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,X.Z.Error.sendRoomFallbackForm(c.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:Z({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),Z({success:!1,message:d(v.W.Step.Room.ErrorForm.APIError)});case 14:C(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return l.createElement("div",{className:"u-fill-white u-rounded"},l.createElement("div",{className:"row u-pad--heavy"},l.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(s.ZP,{icon:s.Tu.Error,color:E.I.Alert,size:"24px"})),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(i.Z,{bold:!0,color:E.I.Alert},l.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:d(v.W.Step.Room.ErrorForm.Title)}}))),l.createElement(u.ZP,{type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:d(v.W.Step.Room.ErrorForm.Description)}}))),l.createElement("div",{className:"col-lg-6"},l.createElement("form",null,l.createElement(pe.Z,{open:!!a.errors},Object.values(a.errors).map((function(e){return l.createElement(ke.Z,{type:ke.N.Danger},l.createElement(u.ZP,{type:u.yG.Small},e.message))}))),l.createElement("div",{className:"u-marg-bottom--light u-marg-top"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,message:"Email must be valid"}})))),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),l.createElement(g.Z,{filled:!0,primary:!0,onClick:n(P),isLoading:R,disabled:R||h.success},d(v.W.Step.Room.ErrorForm.ContactUsButton)),l.createElement(pe.Z,{open:h.success},l.createElement("div",{className:"u-pad-top"},l.createElement(u.ZP,{color:E.I.Success},d(v.W.Step.Room.ErrorForm.ConfirmationMessage)))),l.createElement(pe.Z,{open:!1===h.success},l.createElement("div",{className:"u-pad-top"},l.createElement(u.ZP,{color:E.I.Alert},h.message)))))))},Te=n(9699),Be=n(119);function Le(){var e,t=(0,l.useContext)(y.hy),n=(0,l.useContext)(y.g7),o=(0,l.useContext)(y.Qm),a=(0,x.WP)().hotel,c=l.useState([]),i=(0,r.Z)(c,2),s=i[0],m=i[1],u=(0,l.useState)(!1),d=(0,r.Z)(u,2),f=d[0],g=d[1],v=(0,l.useState)(null),p=(0,r.Z)(v,2),E=p[0],h=p[1],b=(0,l.useState)(null),S=(0,r.Z)(b,2),R=S[0],C=S[1],w=(0,l.useRef)(null),O=t.selectedBasketRow,k=null==O?void 0:O.getStartDate(),I=null==O?void 0:O.getEndDate(),D=null==O?void 0:O.getPromoCode(),A=null==O?void 0:O.getAdults(),M=null==O?void 0:O.getChildren(),j=n.currentRoomSort,T=null,B=(0,x.zX)().raise;return(0,l.useEffect)((function(){var e=!1;try{var r={checkInTime:null==k?void 0:k.format("YYYY-M-D"),checkOutTime:null==I?void 0:I.format("YYYY-M-D"),numAdults:A,numChildren:M,numRooms:1,promoCode:D},l=new Te.i(r);B(l);var c=Object.values(n.currentFilters).filter((function(e){return!!e})),i=t.selectedBasketRow;if(i||s.length||(i=t.attemptSelectUnfilledRow()),!i){var u=t.getAllValidRows();i=u[u.length-1]}i&&(g(!0),te.getRoomList(i,c,a.hotelID).then((function(n){if(!e){var l;m(n),h(t.selectedBasketRow),C(!1);var a=null!==(l=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:o.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:o.currentCurrency}}})))&&void 0!==t?t:[]}})))&&void 0!==l?l:[],c=new Be.j(r,a);B(c)}})).catch((function(){e||(m([]),h(null),C(!0))})).finally((function(){g(!1)})))}catch(e){}return function(){g(!1),e=!0}}),[A,M,k,I,D,o.currentLanguage,n.currentFilters,null===(e=t.selectedBasketRow)||void 0===e?void 0:e.getStale()]),(0,l.useMemo)((function(){var e,t=(0,N.Z)(s);0!==t.length&&t.sort(we.Z.getSortByFunction(j)),setTimeout((function(){!function(){if(w.current&&T!==s){T=s;var e=n.screenSize<=Z.Z.Medium?185:350;window.scrollTo({top:window.scrollY+(w.current.getBoundingClientRect().top-e),behavior:"smooth"})}}()}),100);var r=l.createElement("div",{ref:w},f?l.createElement(Pe.Z,null):t.length?t.map((function(e,n){return l.createElement(Re,{key:e.code,room:e,disableMarginBottom:n===t.length-1})})):l.createElement(l.Fragment,null,R?l.createElement(je,null):l.createElement(Ce.Z,null),null==a||null===(e=a.crossSellHotelIds)||void 0===e?void 0:e.map((function(e){return l.createElement(xe,{key:e,hotelId:e})}))));return P.ZP.instance.sendRoomImpressions(),r}),[s,f,E,j,n.currentFilters])}var Fe=n(4511);function We(){var e=(0,l.useContext)(y.hy),t=(0,o.$)().t,n=!(!e.selectedBasketRow||!e.selectedBasketRow.isValid());return l.createElement("div",{className:"u-marg-top u-marg-bottom"},l.createElement(Fe.Z,null),l.createElement(pe.Z,{open:n},l.createElement(ke.Z,{icon:s.Tu.Edit,type:ke.N.Accent1},l.createElement(u.ZP,{type:u.yG.Small},l.createElement("strong",null,t(v.W.Misc.Alerts.YouAreEditing))," - ",t(v.W.Misc.Alerts.YouAreEditingAlert)))))}var Ge=n(8279);function _e(){var e=(0,l.useContext)(y.g7),t=(0,l.useState)(e.currentRoomSort),n=(0,r.Z)(t,2),o=n[0],a=n[1];return l.createElement(O.Z,{className:"u-flex align-items-center",onChange:function(t){P.ZP.instance.sendInteraction("Change Sort",P.s_.DROPDOWN,P._J.ROOMS),a(t),e.setCurrentRoomSort(t)},selectedValue:o,iconComponent:s.Tf,items:Object.values(we.s).map((function(e){return{text:e,value:e}}))})}var ze=n(1972),Ye=n(370),Ue=n(5692);function $e(){var e=(0,l.useContext)(y.g7),t=(0,o.$)().t,n=(0,l.useRef)(),d=(0,l.useState)(!1),f=(0,r.Z)(d,2),g=f[0],p=f[1],h=(0,l.useContext)(y.aN).currentStep,b=l.createElement(We,null);return l.createElement("div",{className:"container"},l.createElement(Ye.default,null),l.createElement("div",{className:"row"+(e.screenSize>Z.Z.ExtraLarge?" no-gutters":"")},l.createElement("div",{className:"col-md-8"},e.screenSize>Z.Z.Medium&&l.createElement(l.Fragment,null,l.createElement(a.rU,{to:Ue.Z.getPreviousStepUrl(h)},l.createElement(c.Z,null)),l.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},l.createElement(i.Z,{bold:!0},t(v.W.Step.Room.ChooseRoom)))),l.createElement("div",{className:"row align-items-end"},l.createElement("div",{className:"col-6 col-md-4 col-lg-3"},l.createElement(u.ZP,{type:u.yG.Label,color:E.I.DarkGrey},l.createElement("strong",null,t(v.W.Step.Room.SortBy))),l.createElement("div",null,l.createElement(_e,null))),l.createElement("div",{className:"col-6 col-md-2 col-lg-2"},l.createElement("div",{ref:n},l.createElement("div",{className:"filter-button d-flex align-items-center u-cursor-pointer",onClick:function(){P.ZP.instance.sendInteraction("Show Filters",P.s_.DROPDOWN,P._J.ROOMS),p(!0)}},l.createElement(u.ZP,null,e.screenSize>Z.Z.Medium?t(v.W.Step.Room.FilterBy):t(v.W.Step.Room.Filter.ShowFilters)),l.createElement(s.ZP,{icon:s.Tu.Dropdown,color:E.I.DarkGrey})),l.createElement(ue,{open:g,anchorEl:n.current,onClose:function(){p(!1)}}))),l.createElement("div",{className:"col-md-12 col-lg-7 u-align-right u-marg-top@l- u-empty-none filter-push-down"},l.createElement(L,null)))),e.screenSize>Z.Z.Medium&&l.createElement("div",{className:"col-xl-3 col-md-4 offset-xl-1 align-self-end"},l.createElement(Ge.Z,null))),e.screenSize>Z.Z.Medium&&l.createElement(m.Z,null),l.createElement("div",{className:"row"+(e.screenSize>Z.Z.ExtraLarge?" no-gutters":"")},l.createElement("div",{className:"col-md-7 col-lg-8"},e.screenSize<=Z.Z.Medium?l.createElement(l.Fragment,null,b,l.createElement(m.Z,{smallMargins:!0}),l.createElement(A,null),l.createElement(m.Z,{smallMargins:!0})):l.createElement(l.Fragment,null,l.createElement(A,null),b),l.createElement(Le,null)),l.createElement("div",{className:"col-xl-3 col-md-5 col-lg-4 offset-xl-1"},l.createElement(ze.Z,null))))}}}]);
|
|
1
|
+
"use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[661],{9699:function(e,t,n){n.d(t,{i:function(){return i}});var r=n(5671),l=n(3144),o=n(136),a=n(2963),c=n(1120);var i=function(e){(0,o.Z)(s,e);var t,n,i=(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,c.Z)(t);if(n){var l=(0,c.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return(0,a.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=i.call(this)).search=void 0,t.search=e,t}return(0,l.Z)(s,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),s}(n(7112).x)},119:function(e,t,n){n.d(t,{j:function(){return i}});var r=n(5671),l=n(3144),o=n(136),a=n(2963),c=n(1120);var i=function(e){(0,o.Z)(s,e);var t,n,i=(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,c.Z)(t);if(n){var l=(0,c.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}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=i.call(this)).search=void 0,n.roomList=void 0,n.search=e,n.roomList=t,n}return(0,l.Z)(s,null,[{key:"getLabel",value:function(){return"Search/RoomList"}}]),s}(n(7112).x)},6661:function(e,t,n){n.r(t),n.d(t,{default:function(){return $e}});var r=n(885),l=n(7294),o=n(4478),a=n(3727),c=n(3821),i=n(3010),s=n(1944),m=n(9874),u=n(584),d=n(1092),f=n(4184),g=n(4854),v=n(9478),p=n(3261),E=n(7754),y=n(966),h=n(2530),Z=n(292),b=n(2460),S=n(2387),R=n(3784),C=n(3409),P=n(4544),w=n(5986),N=n(2982),x=n(8324),O=n(3122);function k(e){var t,n,r,a=(0,x.WP)().hotel,c=(0,o.$)().t,i=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),l.createElement(O.Z,{selectedValue:i,onChange:e.onChange,iconComponent:s.Tf,items:(0,N.Z)(Array(m)).map((function(e,t){return{text:p.Z.pluralWithDictAndCount(t,v.W.Step.Date.Child,c),value:t}}))})}function I(e){var t,n,r,a=(0,x.WP)().hotel,c=(0,o.$)().t,i=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()),i);return(m<1||isNaN(m))&&(m=1),l.createElement(O.Z,{selectedValue:i,onChange:e.onChange,iconComponent:s.Tf,items:(0,N.Z)(Array(m)).map((function(e,t){return t+=1,{text:p.Z.pluralWithDictAndCount(t,v.W.Step.Date.Adult,c),value:t}}))})}function D(e){var t,n,a,c=(0,l.useContext)(y.hy),i=(0,l.useContext)(y.g7),m=(0,o.$)().t,d=(0,l.useState)(!1),N=(0,r.Z)(d,2),x=N[0],O=N[1],D=e.row,M=c.selectedBasketRow&&c.selectedBasketRow.getID()===D.getID(),A=f("room-builder-progress--item",{"--current":M,"--complete":D.isValid()}),j=(0,l.useState)(D.getPromoCode()),T=(0,r.Z)(j,2),B=(T[0],T[1]),L=(0,l.useRef)(),F=(0,l.useState)(!1),W=(0,r.Z)(F,2),G=W[0],_=W[1];(0,l.useEffect)((function(){x&&!M&&O(!1)}),[c.selectBasketRow]);var z,Y=function(e){var t=e.adults,n=e.children,r=e.updatedPromoCode;t&&t!==D.getAdults()&&(P.ZP.instance.sendInteraction("Guests",P.s_.NUMBER_INPUT,P._J.ROOMS),D.setAdults(t)),!n&&0!==n||n===D.getChildren()||(P.ZP.instance.sendInteraction("Guests",P.s_.NUMBER_INPUT,P._J.ROOMS),D.setChildren(n)),!r&&""!==r||r===D.getPromoCode()||(P.ZP.instance.sendInteraction("Promo Code",P.s_.FORM_FIELD,P._J.ROOMS),D.setPromoCode(r)),c.updateBasketRow(D)},U=c.currentBasketRows.length>1,J=l.createElement(b.Z,{title:U?"Remove this room":"Cannot remove this room as at least one must be selected.",arrow:!0,enterDelay:500},l.createElement("div",{className:"room-builder-progress--remove"},l.createElement(g.Z,{isText:!0,icon:s.Tu.Close,iconPosition:"right",stopIconAnimation:!0,disabled:!U,onClick:function(){P.ZP.instance.sendInteraction("Remove Room",P.s_.BUTTON,P._J.ROOMS),c.removeBasketRow(D)}}))),$=i.screenSize>Z.Z.ExtraLarge,V=$||M,H=1!==c.currentBasketRows.length?e.number+1:"";return z="new"===D.getPromoCodeStatus()?D.getPromoCode()?"Promo Code is being checked... please wait.":"Set a Promo Code for a possible offer!":"valid"===D.getPromoCodeStatus()?"Successful promo code entered":"Error code not valid",l.createElement("div",{className:A},M||!D.isValid()?l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"u-flex flex-wrap flex-xl-nowrap flex-row u-w-100@xl-"},l.createElement("div",null,D.isValid()?l.createElement(u.ZP,null,l.createElement("strong",{className:"u-nowrap"},m(v.W.Step.Room.EditingRoom)," ",H)):l.createElement(u.ZP,null,l.createElement("strong",{className:"u-nowrap"},m(v.W.Step.Room.SelectRoom)," ",H))),V?l.createElement(l.Fragment,null,!$&&l.createElement("div",{className:"w-100"+(V?" u-marg-bottom@xl-":"")},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},"Choose room below")),l.createElement(b.Z,{title:"Update number of adults",arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value"},l.createElement(I,{row:D,onChange:function(e){Y({adults:e})}}))),l.createElement(b.Z,{title:"Update number of children",arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value"},l.createElement(k,{row:D,onChange:function(e){Y({children:e})}}))),l.createElement(l.Fragment,null,l.createElement("div",{className:"room-builder-progress--value"},l.createElement(h.Z,{startDate:D.getStartDate(),selectedDateChanged:function(e,t){e&&D.setStartDate(e),t&&D.setEndDate(t),c.updateBasketRow(D)},className:"u-w-100@xl- d-flex align-items-center justify-content-center"},l.createElement(b.Z,{title:"Select Arrival and departure dates by clicking here",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl- u-cursor-pointer"},l.createElement(u.ZP,{color:E.I.Accent,bold:!0,className:"u-nowrap"},D.getArrivalDate()),l.createElement(s.ZP,{icon:s.Tu.ArrowRight2}),l.createElement(u.ZP,{color:E.I.Accent,bold:!0,className:"u-nowrap"},D.getDepartureDate()))))),l.createElement(b.Z,{title:z,arrow:!0,enterDelay:500,wrapperClasses:"u-w-100@xl-"},l.createElement("div",{className:"room-builder-progress--value u-cursor-pointer",ref:L,onClick:function(){return _(!0)}},l.createElement("div",{className:"u-flex align-items-center justify-content-center u-w-100@xl-"},l.createElement(u.ZP,{className:"u-pad-right--light",type:u.yG.Body,color:D.getPromoCode()?D.getPromoCodeColour():E.I.Navy},D.getPromoCode()?D.getPromoCode():"Promo Code"),l.createElement(s.ZP,{icon:s.Tu.Dropdown,color:E.I.DarkGrey}))))),l.createElement(S.ZP,{open:G,container:R.ZP.EngineContainer,anchorEl:L.current,disableScrollLock:!0,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:function(){B(D.getPromoCode()),_(!1)}},l.createElement("div",{className:"u-pad--heavy"},l.createElement("div",null,l.createElement(w.Z,{value:null===(t=c.selectedBasketRow)||void 0===t?void 0:t.getPromoCode(),onChange:function(e){var t;t=e,P.ZP.instance.sendInteraction("Promo Code",P.s_.FORM_FIELD,P._J.ROOMS),c.selectedBasketRow&&(c.selectedBasketRow.setPromoCode(t),c.updateBasketRow(c.selectedBasketRow),t&&_(!1))},valid:"new"!==(null===(n=c.selectedBasketRow)||void 0===n?void 0:n.getPromoCodeStatus())?"valid"===(null===(a=c.selectedBasketRow)||void 0===a?void 0:a.getPromoCodeStatus()):null})),l.createElement("div",{className:"u-flex justify-content-end align-items-center u-marg-top"},l.createElement(g.Z,{isText:!0,size:"small",onClick:function(){P.ZP.instance.sendInteraction("Cancel Promo Popup",P.s_.BUTTON,P._J.ROOMS),B(D.getPromoCode()),_(!1)}},"Cancel")))),!$&&D.isValid()&&l.createElement(g.Z,{wide:!0,primary:!0,filled:!0,onClick:function(){P.ZP.instance.sendInteraction("Save Room Changes",P.s_.BUTTON,P._J.ROOMS),c.selectBasketRow(null),O(!1)}},"Save")):l.createElement("div",{className:"w-100"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},m(v.W.Step.Room.NextRoom)))),l.createElement("div",{className:"u-flex align-items-center"},D.isValid()&&l.createElement("div",{className:"u-none@xl-"},l.createElement(b.Z,{title:"Cancel changes",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center"},l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){P.ZP.instance.sendInteraction("Cancel Room Changes",P.s_.LINK,P._J.ROOMS),c.selectBasketRow(null),O(!1)}},m(v.W.Misc.Cancel).toUpperCase())))),J)):l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"u-flex justify-content-start"},l.createElement("div",{className:"u-flex flex-column"},l.createElement("span",null,l.createElement(u.ZP,{inline:$},l.createElement("strong",null,D.getRoom().name)),l.createElement(u.ZP,{inline:$,type:$?u.yG.Body:u.yG.Small},l.createElement("span",{className:"u-marg-left--light@xl"},p.Z.pluralWithDictAndCount(D.getAdults(),v.W.Step.Date.Adult,m),", ",p.Z.pluralWithDictAndCount(D.getChildren(),v.W.Step.Date.Child,m)))),l.createElement(u.ZP,{type:u.yG.Caption,color:E.I.DarkGrey},l.createElement("strong",null,D.getStayDateRange("ddd, MMM D, YYYY"," -")))),D.isPromoCodeValid()&&l.createElement("div",{className:"u-marg-left d-flex align-items-center"},l.createElement(C.Z,{type:C.R.Success,icon:s.Tu.Money},D.getPromoCode()))),l.createElement("div",{className:"u-flex align-items-center"},l.createElement(b.Z,{title:"Edit this room",arrow:!0,enterDelay:500},l.createElement("div",{className:"u-flex align-items-center room-builder-progress--edit"},l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){P.ZP.instance.sendInteraction("Edit Room",P.s_.LINK,P._J.ROOMS),c.selectBasketRow(D),O(!0)}},m(v.W.Misc.Edit).toUpperCase()))),J)))}function M(){var e=(0,l.useContext)(y.hy),t=e.currentBasketRows,n=e.addBasketRow,r=e.selectedBasketRow,a=(0,o.$)().t,c=function(){P.ZP.instance.sendInteraction("Add Room Row",P.s_.BUTTON,P._J.ROOMS),n(new d.Z)};return(0,l.useMemo)((function(){return l.createElement(l.Fragment,null,l.createElement("div",{className:"room-builder-progress"},!!t.length&&t.map((function(e,t){return l.createElement(D,{row:e,key:e.getID(),number:t})})),l.createElement("div",{className:"u-flex justify-content-end"},l.createElement(g.Z,{icon:s.Tu.Add,onClick:c,stopIconAnimation:!0},a(v.W.Step.Room.RoomInfo.AddRoom)))),l.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 A=n(4942),j=n(7930);function T(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 B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){(0,A.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function L(){var e=(0,l.useContext)(y.g7),t=(0,o.$)().t,n=Object.keys(e.currentFilters).filter((function(t){return t&&e.currentFilters[t]instanceof j.Z}));return n.length?l.createElement("div",{className:"u-flex w-100"},l.createElement("div",{className:"filter-height"},n&&(n.length<=2?n.map((function(t){if(t&&e.currentFilters[t]instanceof j.Z)return l.createElement(C.Z,{key:t,onClickIcon:function(){e.setCurrentFilters(B(B({},e.currentFilters),{},(0,A.Z)({},t,null)))},type:C.R.Secondary,icon:s.Tu.Close,iconPosition:"right"},e.currentFilters[t].getLabel())})):l.createElement(C.Z,{onClickIcon:function(){e.setCurrentFilters({})},type:C.R.Secondary,icon:s.Tu.Close,iconPosition:"right"},n.length," Filters Applied"))),!!Object.values(e.currentFilters).filter((function(e){return!!e})).length&&l.createElement(g.Z,{isText:!0,size:"tiny",onClick:function(){e.setCurrentFilters({})}},t(v.W.Misc.ClearAll))):l.createElement(l.Fragment,null)}var F=n(5128),W=n(858),G=n(4845),_=n(3144),z=n(5671),Y=n(136),U=n(2963),J=n(1120);var $=function(e){(0,Y.Z)(l,e);var t,n,r=(t=l,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,J.Z)(t);if(n){var l=(0,J.Z)(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return(0,U.Z)(this,e)});function l(e,t){var n;return(0,z.Z)(this,l),(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,_.Z)(l)}(j.Z),V=n(4485);function H(e){var t,n,a,c,i,s=(0,o.$)().t,m=(0,l.useState)([null!==(t=null===(n=e.filter)||void 0===n?void 0:n.getMin())&&void 0!==t?t:0,null!==(a=null===(c=e.filter)||void 0===c?void 0:c.getMax())&&void 0!==a?a:0]),d=(0,r.Z)(m,2),p=d[0],y=d[1],h=(0,l.useState)(p),Z=(0,r.Z)(h,2),b=Z[0],S=Z[1],R=(0,l.useState)(null),C=(0,r.Z)(R,2),P=C[0],w=C[1];(0,l.useEffect)((function(){var t,n,r,l,o,a,c=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,i=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;y([c,i]),S([null!==(r=null===(l=e.filter)||void 0===l?void 0:l.getMin())&&void 0!==r?r:c,null!==(o=null===(a=e.filter)||void 0===a?void 0:a.getMax())&&void 0!==o?o:i])}),[e.roomList]),(0,l.useEffect)((function(){var e=p[1]-p[0];b[1]<p[0]+.3*e?w("left"):b[0]>p[1]-.3*e?w("right"):w(null)}),[b]);var N=function(e){return l.createElement(W.Z,{hideDecimals:!0,disableLoading:!0},e)},x=[{label:l.createElement("span",{className:"be-slider-label --start",style:{color:E.I.Grey}},N(p[0])),value:p[0]-1},{label:l.createElement("span",{className:"be-slider-label",style:{color:E.I.Grey}},N(p[1])),value:p[1]+2},{label:l.createElement("span",{className:"be-slider-label --main"},N(b[0])," - ",N(b[1])),value:(b[1]-b[0])/2+b[0]}];return l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex"},l.createElement("div",null,l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,s(v.W.Step.Room.Filter.Budget))),l.createElement(u.ZP,{inline:!0,type:u.yG.Small},"/",s(v.W.Misc.PerNight))),l.createElement("div",null,l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){return S(p),void e.onChange(null)}},s(v.W.Misc.Clear)))),(null===(i=e.roomList)||void 0===i?void 0:i.length)>0?l.createElement("div",{className:f("roomstay-slider",{"--min-limit":"left"===P,"--max-limit":"right"===P})},l.createElement(G.Z,{min:p[0],max:p[1],valueLabelDisplay:"off",onChange:function(e,t){S(t)},onChangeCommitted:function(t,n){e.onChange(new $(n[0],n[1]))},"aria-labelledby":"track-false-range-slider",value:b,marks:x})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null)))}var q=n(5861),Q=n(4687),K=n.n(Q),X=n(7988);function ee(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 te=(0,_.Z)((function e(){(0,z.Z)(this,e)}));te.getRoomList=function(){var e=(0,q.Z)(K().mark((function e(t,n,r){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=te,e.next=3,te.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)}}(),te.filterRooms=function(e,t){var n=[];return e.forEach((function(e){var r=e;r.filteredRates=e.getOriginalRates();var l,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 ee(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)?ee(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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,a=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}(t);try{for(o.s();!(l=o.n()).done;){var a=l.value;if(a&&!(r=a.check(e)))break}}catch(e){o.e(e)}finally{o.f()}r&&n.push(r)})),n.filter((function(e){return!!e.filteredRates.length}))},te.getUnfilteredRoomList=function(){var e=(0,q.Z)(K().mark((function e(t,n){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",X.Z.Availability.fetchAvailabilityData(t,n));case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();var ne=n(9087),re=n(3103);function le(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 oe(e){var t,n=(0,o.$)().t,a=(0,l.useState)({}),c=(0,r.Z)(a,2),i=c[0],s=c[1],m=(0,l.useState)(0),d=(0,r.Z)(m,2),f=d[0],p=d[1],E=(0,l.useRef)();return(0,l.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,f]),(0,l.useEffect)((function(){var t;if(null!=E&&E.current&&null!==(t=e.roomList)&&void 0!==t&&t.length){var n=Object.keys(i),r=n.filter((function(e){return i[e].status}));n.length===r.length?e.onChange(null):e.onChange(new ne.Z(r))}}),[i]),l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex u-marg-bottom",ref:E},l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.Filter.RateType))),l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),p((function(e){return e+1}))}},n(v.W.Misc.Clear))),l.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?i&&Object.keys(i).map((function(e){return l.createElement("div",{className:"u-marg-bottom--light",key:e},l.createElement(re.Z,{label:e,checked:i[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?le(Object(n),!0).forEach((function(t){(0,A.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):le(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i);n[e].status=t,s(n)}}))})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null))))}var ae=n(742);function ce(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 ie(e){var t,n=(0,o.$)().t,a=(0,l.useState)({}),c=(0,r.Z)(a,2),i=c[0],s=c[1],m=(0,l.useState)(0),d=(0,r.Z)(m,2),f=d[0],p=d[1],E=(0,l.useRef)();(0,l.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,f]);var y=Object.keys(i),h=y.filter((function(e){return i[e].status}));return(0,l.useEffect)((function(){var t;null!=E&&E.current&&null!==(t=e.roomList)&&void 0!==t&&t.length&&(h.length===y.length?e.onChange(null):e.onChange(new ae.Z(h)))}),[i]),l.createElement(l.Fragment,null,l.createElement("div",{className:"u-flex u-marg-bottom u-marg-top--heavy",ref:E},l.createElement(u.ZP,{inline:!0,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.Filter.RoomType))),l.createElement(g.Z,{size:"tiny",isText:!0,disabled:!e.filter,onClick:function(){e.onChange(null),p((function(e){return e+1}))}},n(v.W.Misc.Clear))),l.createElement("div",null,(null===(t=e.roomList)||void 0===t?void 0:t.length)>0?i&&Object.keys(i).map((function(e){return l.createElement("div",{className:"u-marg-bottom--light",key:e},l.createElement(re.Z,{label:e,checked:i[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?ce(Object(n),!0).forEach((function(t){(0,A.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},i);n[e].status=t,s(n)}}))})):l.createElement("div",{className:"u-marg-top-bottom u-flex justify-content-center"},l.createElement(V.Z,null))))}function se(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 me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?se(Object(n),!0).forEach((function(t){(0,A.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ue(e){var t=(0,l.useContext)(y.g7),n=(0,l.useContext)(y.hy),a=(0,x.WP)().hotel,c=(0,o.$)().t,s=(0,l.useState)(t.currentFilters),d=(0,r.Z)(s,2),f=d[0],p=d[1],h=(0,l.useState)([]),b=(0,r.Z)(h,2),C=b[0],w=b[1];(0,l.useEffect)((function(){p(me({},t.currentFilters));var r=function(){document.body.style.overflow=null};if(e.open){var l;document.body.style.overflow="hidden";var o=n.getAllValidRows();te.getUnfilteredRoomList(null!==(l=n.selectedBasketRow)&&void 0!==l?l:o[o.length-1],a.hotelID).then((function(e){w(e)}))}else r();return function(){r()}}),[e.open]);var N=l.createElement("div",{className:"u-flex align-items-center justify-content-between justify-content-md-end"},l.createElement("div",{className:"u-marg-right--heavy"},l.createElement(u.ZP,{color:E.I.Accent},l.createElement("strong",null,te.filterRooms(C,Object.values(f)).length," ",c(v.W.Step.Room.Filter.MatchingRoomsRates)))),l.createElement(g.Z,{primary:!0,filled:!0,onClick:function(){P.ZP.instance.sendInteraction("Apply Filters",P.s_.BUTTON,P._J.ROOMS),t.setCurrentFilters(f),e.onClose()}},c(v.W.Misc.ApplyChanges))),O=function(e,t){p((function(n){return me(me({},n),{},(0,A.Z)({},e,t))}))},k=l.createElement("div",{className:"room-filter"},l.createElement("div",{className:"u-pad--heavy u-pad-bottom--none"},t.screenSize>Z.Z.Medium&&l.createElement("div",{className:"u-marg-bottom"},l.createElement(i.Z,{bold:!0},c(v.W.Step.Room.FilterBy))),l.createElement("div",{className:"row"},l.createElement("div",{className:"col-md-6"},l.createElement(H,{filter:f.Budget,onChange:function(e){return O("Budget",e)},roomList:C}),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(ie,{roomList:C,filter:f.RoomType,onChange:function(e){return O("RoomType",e)}}))),l.createElement("div",{className:"col-md-6"},l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(oe,{roomList:C,filter:f.RateType,onChange:function(e){return O("RateType",e)}}))))));return t.screenSize>Z.Z.Medium?l.createElement(S.ZP,{anchorEl:e.anchorEl,onClose:e.onClose,container:R.ZP.EngineContainer,open:e.open,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"left"}},l.createElement(l.Fragment,null,k,l.createElement("div",{className:"u-pad--heavy u-pad-top--none"},l.createElement(m.Z,null),N))):l.createElement(F.Z,{open:e.open,onClose:e.onClose,title:"Filter",mobileFooter:N},k)}var de=n(6008),fe=n(291);function ge(e){var t,n,r,o,a=(0,x.WP)().hotel,c=null===(t=a.rooms)||void 0===t?void 0:t[null===(n=e.room)||void 0===n?void 0:n.code],i=null==a||null===(r=a.overwrites)||void 0===r?void 0:r[null===(o=e.room)||void 0===o?void 0:o.code];return l.createElement("ul",{className:"u-list-inline-flex u-marg-bottom"},l.createElement("li",{className:"align-items-center"},l.createElement(s.ZP,{icon:s.Tu.People,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},"Sleeps ",null==c?void 0:c.maxOccupancy))),l.createElement("li",{className:"u-pad-left align-items-center"},l.createElement(s.ZP,{icon:s.Tu.Bed,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},(null==c?void 0:c.bedQuantity)>0?null==c?void 0:c.bedQuantity:""," ",null==c?void 0:c.bedType))),!(null==i||!i.RoomDimensions)&&l.createElement("li",{className:"u-pad-left align-items-center"},l.createElement(s.ZP,{icon:s.Tu.RoomSize,size:"24px",color:E.I.Navy}),l.createElement("div",{className:"u-pad-left--light"},l.createElement(u.xv,{type:u.yG.Small,inline:!0,color:E.I.DarkGrey},i.RoomDimensions))))}function ve(e){var t,n=(0,o.$)().t,r=(0,x.WP)().hotel,a=r.perks,c=r.rooms,d=null==c?void 0:c[e.room.code],f=null!=d&&d.amenities?(0,N.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)})),l.createElement(F.Z,{title:e.room.name+" "+n(v.W.Step.Room.RoomInfo.Information),open:e.open,size:F.g.Small,onClose:e.onClose},l.createElement("div",null,l.createElement("div",{style:{height:"350px"}},l.createElement(fe.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(i.Z,{bold:!0,size:"large"},e.room.name)),l.createElement(ge,{room:e.room}),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)}}))),l.createElement("div",{className:"u-marg-bottom--heavy"},!!a&&l.createElement("div",{className:"row"},a.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(s.ZP,{icon:e.icon})),l.createElement("div",{className:"u-marg-left--light"},l.createElement(u.ZP,{type:u.yG.Small},e.name)))})))),!(null==f||!f.length)&&l.createElement(l.Fragment,null,l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{color:E.I.Accent,type:u.yG.Small},l.createElement("strong",null,n(v.W.Step.Room.RoomInfo.RoomAmenities)))),l.createElement("div",{className:"row"},f.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(s.ZP,{icon:s.Tu.Check,color:E.I.White,backgroundColor:E.I.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),l.createElement("div",{className:"u-marg-left--light u-flex"},l.createElement(u.ZP,{type:u.yG.Small,inline:!0},e.description)))})))),l.createElement(m.Z,null),l.createElement("div",{className:"u-marg-bottom--heavy"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Graphite},l.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()}})))),l.createElement(de.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}var pe=n(9740);function Ee(e){var t,n=(0,l.useContext)(y.g7),o=e.perks,a=n.screenSize<=Z.Z.Large,c=(0,l.useState)(null===(t=o[0])||void 0===t?void 0:t.name),i=(0,r.Z)(c,2),m=i[0],d=i[1],g=f("room-perk-icon",{"--has-bg":a});return l.createElement(l.Fragment,null,!(null==o||!o.length)&&l.createElement("ul",null,o.map((function(e,t){if(!(a&&t>=4))return l.createElement("li",{key:t,onClick:function(){d(e.name)}},l.createElement("div",{className:g},e.iconElement?e.iconElement:l.createElement(s.ZP,{icon:e.icon})),l.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(a&&m!==e.name||n.screenSize===Z.Z.Tiny?"u-none-2":"")},l.createElement(u.xv,{type:u.yG.Small},e.name)))}))))}var ye=n(8361),he=n(3633),Ze=n(7700),be=n(4744);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}function Re(e){var t,n=(0,l.useState)([]),a=(0,r.Z)(n,2),c=a[0],m=a[1],d=(0,l.useState)([]),p=(0,r.Z)(d,2),h=p[0],b=p[1],S=(0,l.useState)(null),R=(0,r.Z)(S,2),C=R[0],w=R[1],N=(0,l.useState)(!1),O=(0,r.Z)(N,2),k=O[0],I=O[1],D=(0,o.$)().t,M=(0,l.useContext)(y.g7),j=(0,l.useContext)(y.hy),T=(0,l.useContext)(y.Qm),B=(0,x.WP)().hotel,L=e.room,F=f("room-details",(0,A.Z)({},"+is-open",C));(0,l.useEffect)((function(){var t;null!==(t=j.selectedBasketRow)&&void 0!==t&&t.getRoom()&&j.selectedBasketRow.getRoom().code===e.room.code&&w(!0),P.ZP.instance.addRoomImpression(L)}),[j.selectedBasketRow]),(0,l.useEffect)((function(){var e=[],t=[];if(he.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 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,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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,a=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){c=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}(L.getRates());try{for(r.s();!(n=r.n()).done;){var l,o,a,c=n.value;(null===(l=c.promoCode)||void 0===l?void 0:l.toLowerCase())===(null===(o=j.selectedBasketRow)||void 0===o||null===(a=o.getPromoCode())||void 0===a?void 0:a.toLowerCase())?t.unshift(c):e.push(c)}}catch(e){r.e(e)}finally{r.f()}t.length>0&&(w(!0),m(t))}else e=L.getRates();b(e)}),[L.getRates()]);var G=null===(t=B.perks)||void 0===t?void 0:t.slice(0,5),_=L.getShortDescription(),z=M.screenSize<=Z.Z.Large,Y=C||M.screenSize<=Z.Z.Medium&&null===C,U=Math.round(L.getLowestPrice(!1,!0)),J=M.screenSize>Z.Z.Medium&&U.toLocaleString().length<7?"large":"normal";return l.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},l.createElement("div",{className:F},l.createElement("div",{className:"room-details--image"},l.createElement(fe.Z,{images:e.room.getImages(),imageSize:be.h.Medium})),l.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},l.createElement("div",{className:"u-marg-bottom"},M.screenSize>Z.Z.Large&&l.createElement(l.Fragment,null,l.createElement("div",{className:"u-marg-bottom"},l.createElement(Ze.Z,{room:L,limit:2}))),l.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},l.createElement(i.Z,{bold:!0},L.name)),l.createElement(ge,{room:L}),l.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:_.replace(/<br(\/|)>/g,"")}})))),l.createElement("div",{className:"row"},l.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},l.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},z&&l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{type:u.yG.Small,bold:!0,color:E.I.Accent},D(v.W.Misc.Perks.AndYouGetAll))),l.createElement(Ee,{perks:G})),l.createElement(g.Z,{icon:s.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){P.ZP.instance.sendInteraction("More Room Details",P.s_.LINK,P._J.ROOMS),I(!0)}},D(v.W.Step.Room.RoomInfo.MoreDetails))),l.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Navy,inline:!0},D(v.W.Misc.From)),l.createElement("div",{className:"room-details--content-price flex-row align-items-end"},l.createElement(i.Z,{size:J,bold:!0},l.createElement(W.Z,{hideDecimals:!0},U)),l.createElement(u.ZP,{color:E.I.DarkGrey,inline:!0},"/",D(v.W.Misc.Night))),l.createElement("div",{className:"u-marg-bottom"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.Grey,inline:!0,className:"u-nowrap"},L.getLowestPriceType()===ye.I.IncludingFeesAndTaxes?D(v.W.Step.Room.RoomInfo.IncludesTaxes):D(v.W.Step.Room.ExcludingTaxes))),l.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@m-"},l.createElement(g.Z,{name:"ViewRatesNowButton",primary:!0,primaryActive:Y,filled:!0,stopIconAnimation:!0,icon:Y?s.Tu.ArrowUp2:s.Tu.ArrowDown2,iconPosition:"right",onClick:function(){Y||P.ZP.instance.sendRoomClick(L,j.startDate,j.endDate),w(!Y)},wide:M.screenSize<=Z.Z.Large},D(Y?v.W.Step.Room.RoomInfo.CloseRates:v.W.Step.Room.RoomInfo.ViewRates))))))),l.createElement(pe.Z,{open:Y},l.createElement(de.Z,{roomCode:L.code,rates:h,featuredRates:c})),l.createElement(ve,{open:k,room:e.room,rates:h,featuredRates:c,onClose:function(){I(!1)}}),L.getRates().map((function(e){return l.createElement("script",{key:L.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:L.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:e.getAveragePrice(),priceCurrency:T.currentCurrency,unitText:"Nightly"}}))})))}var Ce=n(7023),Pe=n(7832),we=n(281),Ne=n(1126);function xe(e){var t=(0,o.$)().t,n=(0,l.useContext)(y.g7),a=(0,l.useContext)(y.hy),c=(0,l.useState)(!1),m=(0,r.Z)(c,2),d=m[0],f=m[1],g=(0,l.useState)(!0),p=(0,r.Z)(g,2),h=p[0],b=p[1],S=(0,l.useState)(!0),R=(0,r.Z)(S,2),C=R[0],P=R[1],w=(0,l.useState)(""),N=(0,r.Z)(w,2),x=N[0],O=N[1],k=(0,l.useState)(""),I=(0,r.Z)(k,2),D=I[0],M=I[1],A=(0,l.useState)(""),j=(0,r.Z)(A,2),T=j[0],B=j[1],L=(0,l.useState)(""),F=(0,r.Z)(L,2),G=F[0],_=F[1],z=(0,l.useState)([]),Y=(0,r.Z)(z,2),U=Y[0],J=Y[1];return(0,l.useEffect)((function(){var t=a.selectedBasketRow;t&&X.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,l=t.getStartDate();l.isBefore(t.getEndDate(),"day");l=l.add(1,"day"))if(!n[l.format(Ne.yJ)]){r=!1;break}if(f(r),b(!0),r){P(!0);var o=X.Z.Availability.getCrossSellHotelInfo(e.hotelId);M(o.name),O(o.image),B(o.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()),_(o.checkoutUrl+"#/step/room/?"+a.join("&")),X.Z.Availability.fetchAvailabilityData(t,e.hotelId).catch((function(e){return[]})).then((function(e){e.length?(J(e),P(!1)):(b(!1),P(!1))}))}}}))}),[a.selectedBasketRow]),d&&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(x,"')")}}),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(i.Z,{bold:!0,size:h?"large":"normal"},C?"A nearby hotel may have availability on your dates...":h?"Nearby hotel has availability on your dates!":"Sorry, we checked and your dates are also unavailable in our nearby hotels")),h&&l.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},l.createElement(u.ZP,{color:E.I.DarkGrey,type:u.yG.Body},l.createElement("strong",{style:{color:E.I.Accent}},D)," ",l.createElement("div",{dangerouslySetInnerHTML:{__html:T}})))),C?l.createElement(V.Z,null):l.createElement(l.Fragment,null,U.slice(0,4).map((function(e,n){var r=G+"&room="+e.code,o="u-flex align-items-end";return n<U.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(u.ZP,{type:u.yG.Body,color:E.I.Accent,bold:!0},e.name),l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey},"Sleeps ",e.occupancy)),l.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},l.createElement(u.ZP,{type:u.yG.Small,color:E.I.DarkGrey,inline:!0},t(v.W.Misc.From)),l.createElement(u.ZP,{type:u.yG.Body,color:E.I.Accent,bold:!0},l.createElement(W.Z,null,e.getLowestPrice(!0)))))}))),h&&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:"MuiButtonBase-root link-button --primary --filled --success --icon-right --normal"+(n.screenSize<=Z.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:G,target:"_blank",rel:"noreferrer"},l.createElement("span",null,"See all ",U.length," rooms",l.createElement(s.ZP,{icon:s.Tu.ArrowRight,size:"1em"}),l.createElement("span",{className:"MuiTouchRipple-root"})))))))}var Oe=n(7462),ke=n(7933),Ie=n(1432),De=n(7484),Me=n(514),Ae=n(7536),je=n(6431),Te=function(){var e=(0,Ae.cI)(),t=e.register,n=e.handleSubmit,a=e.formState,c=(0,Me.W)().hotel,m=(0,l.useContext)(y.hy),d=(0,o.$)().t,f=(0,l.useState)({}),p=(0,r.Z)(f,2),h=p[0],Z=p[1],b=(0,l.useState)(!1),S=(0,r.Z)(b,2),R=S[0],C=S[1],P=function(){var e=(0,q.Z)(K().mark((function e(t){var n,r;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Z({}),C(!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:De().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,X.Z.Error.sendRoomFallbackForm(c.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:r});case 8:Z({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),Z({success:!1,message:d(v.W.Step.Room.ErrorForm.APIError)});case 14:C(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return l.createElement("div",{className:"u-fill-white u-rounded"},l.createElement("div",{className:"row u-pad--heavy"},l.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(s.ZP,{icon:s.Tu.Error,color:E.I.Alert,size:"24px"})),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(i.Z,{bold:!0,color:E.I.Alert},l.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:d(v.W.Step.Room.ErrorForm.Title)}}))),l.createElement(u.ZP,{type:u.yG.Small},l.createElement("span",{dangerouslySetInnerHTML:{__html:d(v.W.Step.Room.ErrorForm.Description)}}))),l.createElement("div",{className:"col-lg-6"},l.createElement("form",null,l.createElement(pe.Z,{open:!!a.errors},Object.values(a.errors).map((function(e){return l.createElement(ke.Z,{type:ke.N.Danger},l.createElement(u.ZP,{type:u.yG.Small},e.message))}))),l.createElement("div",{className:"u-marg-bottom--light u-marg-top"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:je.C,message:"Email must be valid"}})))),l.createElement("div",{className:"u-marg-bottom--light"},l.createElement(Ie.Z,(0,Oe.Z)({placeholder:d(v.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(d(v.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),l.createElement(g.Z,{filled:!0,primary:!0,onClick:n(P),isLoading:R,disabled:R||h.success},d(v.W.Step.Room.ErrorForm.ContactUsButton)),l.createElement(pe.Z,{open:h.success},l.createElement("div",{className:"u-pad-top"},l.createElement(u.ZP,{color:E.I.Success},d(v.W.Step.Room.ErrorForm.ConfirmationMessage)))),l.createElement(pe.Z,{open:!1===h.success},l.createElement("div",{className:"u-pad-top"},l.createElement(u.ZP,{color:E.I.Alert},h.message)))))))},Be=n(9699),Le=n(119);function Fe(){var e,t=(0,l.useContext)(y.hy),n=(0,l.useContext)(y.g7),o=(0,l.useContext)(y.Qm),a=(0,x.WP)().hotel,c=l.useState([]),i=(0,r.Z)(c,2),s=i[0],m=i[1],u=(0,l.useState)(!1),d=(0,r.Z)(u,2),f=d[0],g=d[1],v=(0,l.useState)(null),p=(0,r.Z)(v,2),E=p[0],h=p[1],b=(0,l.useState)(null),S=(0,r.Z)(b,2),R=S[0],C=S[1],w=(0,l.useRef)(null),O=t.selectedBasketRow,k=null==O?void 0:O.getStartDate(),I=null==O?void 0:O.getEndDate(),D=null==O?void 0:O.getPromoCode(),M=null==O?void 0:O.getAdults(),A=null==O?void 0:O.getChildren(),j=n.currentRoomSort,T=null,B=(0,x.zX)().raise;return(0,l.useEffect)((function(){var e=!1;try{var r={checkInTime:null==k?void 0:k.format("YYYY-M-D"),checkOutTime:null==I?void 0:I.format("YYYY-M-D"),numAdults:M,numChildren:A,numRooms:1,promoCode:D},l=new Be.i(r);B(l);var c=Object.values(n.currentFilters).filter((function(e){return!!e})),i=t.selectedBasketRow;if(i||s.length||(i=t.attemptSelectUnfilledRow()),!i){var u=t.getAllValidRows();i=u[u.length-1]}i&&(g(!0),te.getRoomList(i,c,a.hotelID).then((function(n){if(!e){var l;m(n),h(t.selectedBasketRow),C(!1);var a=null!==(l=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:o.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:o.currentCurrency}}})))&&void 0!==t?t:[]}})))&&void 0!==l?l:[],c=new Le.j(r,a);B(c)}})).catch((function(){e||(m([]),h(null),C(!0))})).finally((function(){g(!1)})))}catch(e){}return function(){g(!1),e=!0}}),[M,A,k,I,D,o.currentLanguage,n.currentFilters,null===(e=t.selectedBasketRow)||void 0===e?void 0:e.getStale()]),(0,l.useMemo)((function(){var e,t=(0,N.Z)(s);0!==t.length&&t.sort(we.Z.getSortByFunction(j)),setTimeout((function(){!function(){if(w.current&&T!==s){T=s;var e=n.screenSize<=Z.Z.Medium?185:350;window.scrollTo({top:window.scrollY+(w.current.getBoundingClientRect().top-e),behavior:"smooth"})}}()}),100);var r=l.createElement("div",{ref:w},f?l.createElement(Pe.Z,null):t.length?t.map((function(e,n){return l.createElement(Re,{key:e.code,room:e,disableMarginBottom:n===t.length-1})})):l.createElement(l.Fragment,null,R?l.createElement(Te,null):l.createElement(Ce.Z,null),null==a||null===(e=a.crossSellHotelIds)||void 0===e?void 0:e.map((function(e){return l.createElement(xe,{key:e,hotelId:e})}))));return P.ZP.instance.sendRoomImpressions(),r}),[s,f,E,j,n.currentFilters])}var We=n(4511);function Ge(){var e=(0,l.useContext)(y.hy),t=(0,o.$)().t,n=!(!e.selectedBasketRow||!e.selectedBasketRow.isValid());return l.createElement("div",{className:"u-marg-top u-marg-bottom"},l.createElement(We.Z,null),l.createElement(pe.Z,{open:n},l.createElement(ke.Z,{icon:s.Tu.Edit,type:ke.N.Accent1},l.createElement(u.ZP,{type:u.yG.Small},l.createElement("strong",null,t(v.W.Misc.Alerts.YouAreEditing))," - ",t(v.W.Misc.Alerts.YouAreEditingAlert)))))}var _e=n(8279);function ze(){var e=(0,l.useContext)(y.g7),t=(0,l.useState)(e.currentRoomSort),n=(0,r.Z)(t,2),o=n[0],a=n[1];return l.createElement(O.Z,{className:"u-flex align-items-center",onChange:function(t){P.ZP.instance.sendInteraction("Change Sort",P.s_.DROPDOWN,P._J.ROOMS),a(t),e.setCurrentRoomSort(t)},selectedValue:o,iconComponent:s.Tf,items:Object.values(we.s).map((function(e){return{text:e,value:e}}))})}var Ye=n(1972),Ue=n(370),Je=n(5692);function $e(){var e=(0,l.useContext)(y.g7),t=(0,o.$)().t,n=(0,l.useRef)(),d=(0,l.useState)(!1),f=(0,r.Z)(d,2),g=f[0],p=f[1],h=(0,l.useContext)(y.aN).currentStep,b=l.createElement(Ge,null);return l.createElement("div",{className:"container"},l.createElement(Ue.default,null),l.createElement("div",{className:"row"+(e.screenSize>Z.Z.ExtraLarge?" no-gutters":"")},l.createElement("div",{className:"col-md-8"},e.screenSize>Z.Z.Medium&&l.createElement(l.Fragment,null,l.createElement(a.rU,{to:Je.Z.getPreviousStepUrl(h)},l.createElement(c.Z,null)),l.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},l.createElement(i.Z,{bold:!0},t(v.W.Step.Room.ChooseRoom)))),l.createElement("div",{className:"row align-items-end"},l.createElement("div",{className:"col-6 col-md-4 col-lg-3"},l.createElement(u.ZP,{type:u.yG.Label,color:E.I.DarkGrey},l.createElement("strong",null,t(v.W.Step.Room.SortBy))),l.createElement("div",null,l.createElement(ze,null))),l.createElement("div",{className:"col-6 col-md-2 col-lg-2"},l.createElement("div",{ref:n},l.createElement("div",{className:"filter-button d-flex align-items-center u-cursor-pointer",onClick:function(){P.ZP.instance.sendInteraction("Show Filters",P.s_.DROPDOWN,P._J.ROOMS),p(!0)}},l.createElement(u.ZP,null,e.screenSize>Z.Z.Medium?t(v.W.Step.Room.FilterBy):t(v.W.Step.Room.Filter.ShowFilters)),l.createElement(s.ZP,{icon:s.Tu.Dropdown,color:E.I.DarkGrey})),l.createElement(ue,{open:g,anchorEl:n.current,onClose:function(){p(!1)}}))),l.createElement("div",{className:"col-md-12 col-lg-7 u-align-right u-marg-top@l- u-empty-none filter-push-down"},l.createElement(L,null)))),e.screenSize>Z.Z.Medium&&l.createElement("div",{className:"col-xl-3 col-md-4 offset-xl-1 align-self-end"},l.createElement(_e.Z,null))),e.screenSize>Z.Z.Medium&&l.createElement(m.Z,null),l.createElement("div",{className:"row"+(e.screenSize>Z.Z.ExtraLarge?" no-gutters":"")},l.createElement("div",{className:"col-md-7 col-lg-8"},e.screenSize<=Z.Z.Medium?l.createElement(l.Fragment,null,b,l.createElement(m.Z,{smallMargins:!0}),l.createElement(M,null),l.createElement(m.Z,{smallMargins:!0})):l.createElement(l.Fragment,null,l.createElement(M,null),b),l.createElement(Fe,null)),l.createElement("div",{className:"col-xl-3 col-md-5 col-lg-4 offset-xl-1"},l.createElement(Ye.Z,null))))}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[876],{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)},4876:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ve}});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(7462),v=n(5861),g=n(885),h=n(4687),E=n.n(h),y=n(584),b=n(7754),Z=n(7536),S=n(5987),C=n(5993),w=n(1432),N=n(4478),x=n(1944),P=n(5762),k=n(3261),I=n(7933),A=n(9740),R=n(4544),T=n(4942),W=n(6617),D=n(4184),G=n.n(D),F=n(5891),M=n(3784);function O(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}n(4126);var _=function(e){var t=(0,N.$)().t,n=(0,r.useMemo)((function(){return F.T.sort((function(e,t){return"".concat((e.suggested?"000":"")+e.label).localeCompare("".concat((t.suggested?"000":"")+t.label))}))}),[F.T]),a=(0,r.useState)(!1),o=(0,g.Z)(a,2),l=o[0],i=o[1],c=(0,r.useRef)(null),s=e.validationStatus,m=e.name,d=e.onChange,f=e.value,p=(0,r.useMemo)((function(){var e,t,r=null!==(e=null==f?void 0:f.split(" "))&&void 0!==e?e:[],a=(0,g.Z)(r,2),o=a[0],l=a[1];if(o){var i,c=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 O(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)?O(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){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((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){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){i=!0,o=e})),f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(n);try{for(c.s();!(i=c.n()).done;){var s=i.value;if(o==="".concat(s.phone)){t=s;break}}}catch(e){c.e(e)}finally{c.f()}return t||(t=n[0]),[t,l]}return[n[0],""]}),[f]),v=(0,g.Z)(p,2),h=v[0],E=v[1];(0,r.useEffect)((function(){var e=function(e){setTimeout((function(){l&&i(!1)}),5)};return document.body.addEventListener("click",e),function(){document.body.removeEventListener("click",e)}}),[l]);var y=function(e,t){var n,r=null!=t?t:E;r.startsWith("0")&&(r=r.substring(1));var a="".concat(null!==(n=null==e?void 0:e.phone)&&void 0!==n?n:h.phone).concat(" ").concat(r);f!=a&&d({target:{name:m,value:a}})},b=G()("rs-enhanced-phone-field",(0,T.Z)({},"--".concat(s),!!s));return r.createElement("div",{className:b},r.createElement("div",{className:"rs-enhanced-phone-field--country",onClick:function(e){e.preventDefault(),e.stopPropagation(),i((function(e){return!e}))}},r.createElement("div",{className:"rs-enhanced-phone-field--country-icon"},(0,F.H)(h.code)),r.createElement(x.ZP,{icon:x.Tu.Dropdown})),r.createElement("div",{className:"rs-enhanced-phone-field--number"},r.createElement("span",{className:"rs-enhanced-phone-field--number-prefix"},"+",h.phone),r.createElement("input",{placeholder:t(u.W.Step.Confirmation.Inputs.Phone)+" *",type:"number",style:{paddingLeft:8*h.phone.length+20+"px"},onChange:function(e){y(void 0,e.target.value)},value:E}),r.createElement("div",{className:"rs-enhanced-phone-field--number-status"})),r.createElement("div",{className:"rs-enhanced-phone-field--anchor",ref:c}),r.createElement(W.Z,{container:M.ZP.EngineContainer,anchorEl:null==c?void 0:c.current,placement:"bottom-start",disablePortal:!1,open:l,className:"rs-enhanced-phone-field--suggest-list",role:"presentation",modifiers:{flip:{enabled:!0},preventOverflow:{enabled:!1,boundariesElement:"scrollParent"}}},n.map((function(e){var t=e.code===h.code;return r.createElement("div",{className:"rs-enhanced-phone-field--suggest-list-item ".concat(t?"--selected":""),onClick:function(t){!function(e){y(e,void 0)}(e),i(!1)}},r.createElement("div",{className:"rs-enhanced-phone-field--suggest-list-country-icon"},(0,F.H)(e.code)),r.createElement("div",{className:"rs-enhanced-phone-field--suggest-list-country-name"},e.label," ",r.createElement("span",null,"+",e.phone)),t&&r.createElement("span",{className:"rs-enhanced-phone-field--suggest-list-selected"},r.createElement(x.ZP,{icon:x.Tu.Check})))}))))},L=n(1248),q=n(6431),V=["ref"];function j(e){var t=(0,Z.Gc)(),n=t.register,o=t.formState,l=t.getValues,i=t.control,s=o.errors,m=(0,N.$)().t,d=(0,r.useState)(1===e.roomNumber),f=(0,g.Z)(d,2),v=f[0],h=f[1],E=e.basketRow,T=-1!==Object.keys(s).join("").indexOf(""+e.roomNumber),W=function(t){var n=D(t);return s&&(o.touchedFields[n]||e.showErrors)?s[n]?"error":"success":null};T&&!v&&h(!0);var D=function(t){return"".concat(t).concat(e.roomNumber)},G=Object.keys(l()),F=function(){R.ZP.instance.sendInteraction("Phone - Contact Info",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)};return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom",onClick:function(){e.expandable&&h(!v)}},r.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},r.createElement(a.Z,{bold:!0},m(u.W.Misc.Room)," ",e.roomNumber),e.expandable&&r.createElement(x.ZP,{icon:v?x.Tu.ArrowDown2:x.Tu.ArrowUp2,color:b.I.Grey})),r.createElement("div",{className:"u-marg-bottom"},r.createElement(y.ZP,null,r.createElement("strong",{className:"u-block@l-"},E.getRoom().name)," for ",k.Z.pluralWithDictAndCount(E.getAdults(),u.W.Step.Date.Adult,m),", ",k.Z.pluralWithDictAndCount(E.getChildren(),u.W.Step.Date.Child,m)),r.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},r.createElement(y.ZP,{type:y.yG.Small,color:b.I.Accent},r.createElement("strong",null,E.getStartDate().format("ddd, MMM D"))),r.createElement(x.ZP,{icon:x.Tu.ArrowRight2,size:"18px"}),r.createElement(y.ZP,{type:y.yG.Small,color:b.I.Accent},r.createElement("strong",null,E.getEndDate().format("ddd, MMM D"))))),G.map((function(t,n){if(t.endsWith("".concat(e.roomNumber))){var a,o,l=null!==(a=null===(o=s[t])||void 0===o?void 0:o.message)&&void 0!==a?a:"";return l=l||t.replace("".concat(e.roomNumber),"")+" is required",r.createElement(A.Z,{key:t,open:e.showErrors&&T&&!!s[t]},r.createElement("div",{className:"u-flex"},r.createElement(I.Z,{icon:x.Tu.Error,type:I.N.Danger,noMargin:n===G.length-1},r.createElement(y.ZP,{type:y.yG.Small},l))))}}))),r.createElement("div",{className:"room-contact-details--row",style:{maxHeight:v?"":0}},r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(y.ZP,{type:y.yG.Small},r.createElement("strong",null,m(u.W.Step.Confirmation.ContactInfo)))),r.createElement(C.Z,{dimensions:"2/2"},r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:W("Forename")},n(D("Forename"),{onChange:function(){R.ZP.instance.sendInteraction("Forename - Contact Info",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Forename)})}}))),r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:W("Surname")},n(D("Surname"),{onChange:function(){R.ZP.instance.sendInteraction("Surname - Contact Info",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Surname)})}})))),r.createElement(C.Z,{dimensions:"2/2"},r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:W("Email"),required:!0},n(D("Email"),{onChange:function(){R.ZP.instance.sendInteraction("Email - Contact Info",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:q.C,message:m(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),L.Z.isActive()?r.createElement(Z.Qr,{control:i,name:D("Phone"),rules:{required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(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 e.fieldState,r.createElement(_,(0,p.Z)({validationStatus:W("Phone")},t,{onChange:function(e){t.onChange(e),F()}}))}}):r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:W("Phone")},n(D("Phone"),{onChange:F,required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Phone)})}}))))),r.createElement("div",{className:""},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(y.ZP,{type:y.yG.Small},r.createElement("strong",null,m(u.W.Step.Confirmation.Address)))),r.createElement(C.Z,{dimensions:"3/1"},r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:W("Address")},n(D("Address"),{onChange:function(){R.ZP.instance.sendInteraction("Address - Address",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Address)})}}))),r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:W("City")},n(D("City"),{onChange:function(){R.ZP.instance.sendInteraction("City - Address",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.City)})}})))),r.createElement(C.Z,{dimensions:"2/2"},r.createElement(w.Z,(0,p.Z)({placeholder:m(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:W("PostCode")},n(D("PostCode"),{onChange:function(){R.ZP.instance.sendInteraction("PostCode - Address",R.s_.FORM_FIELD,R._J.GUEST_DETAILS)},required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.PostCode)})}}))),r.createElement(Z.Qr,{control:i,name:D("Country"),rules:{required:{value:!0,message:m(u.W.Step.Confirmation.Inputs.Required,{field:m(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,(0,S.Z)(t,V));return r.createElement(P.Z,(0,p.Z)({validationStatus:W("Country")},n,{defaultValue:null}))}})))),r.createElement(c.Z,null))}var z=n(3144),U=n(5671),J={VI:"visa",MC:"mastercard",JC:"jcb",DS:"dinersclub",AX:"amex",DN:"dinersclub",UP:"unionpay"},$=n(7832),B=n(8324),Q=function(){return{focusElement:function(e){var t,n;window.scrollTo({top:window.scrollY+(null==e||null===(t=e.getBoundingClientRect)||void 0===t||null===(n=t.call(e))||void 0===n?void 0:n.top)-window.innerHeight/2,behavior:"smooth"})}}};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,T.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}window.VGSCollect=window.VGSCollect||{};var K=(0,z.Z)((function e(t,n,r,a){(0,U.Z)(this,e),this.ref=void 0,this.vgsProps=void 0,this.name=void 0,this.type=void 0,this.isFocused=void 0,this.isValid=void 0,this.name=t,this.ref=r,this.type=n,this.vgsProps=a,this.isValid=null,this.isFocused=!1}));function X(e,t){var n,a=(0,B.WP)().hotel,o=(0,r.useState)(null),l=(0,g.Z)(o,2),i=l[0],c=l[1],s=(0,r.useState)({}),m=(0,g.Z)(s,2),d=m[0],f=m[1],p=(0,r.useState)(!1),v=(0,g.Z)(p,2),h=v[0],E=v[1],b=Q().focusElement,Z=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]})),f(t)};(0,r.useEffect)((function(){var e,t;d&&d!=={}&&null!=_&&null!==(e=_.ref)&&void 0!==e&&e.current&&b(null==_||null===(t=_.ref)||void 0===t?void 0:t.current)}),[d]),(0,r.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){i?i.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 Z({"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:window.VGSCollect.enteredCardType};e(i)}),(function(e){Z(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var S=(0,r.useRef)(null),w=function(e){var t=["c-input"];return e.isFocused&&t.push("--selected"),null!==e.isValid&&(e.isValid?t.push("--success"):t.push("--error")),t.join(" ")},P={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},k=(0,N.$)().t,T=k(u.W.Step.Confirmation.Inputs.CardNumber),W=k(u.W.Step.Confirmation.Inputs.NameOnCard),D=k(u.W.Step.Confirmation.Inputs.SecurityCode),G=k(u.W.Step.Confirmation.Inputs.CardExpiry),F=(0,r.useState)(new K("credit-card","card-number",(0,r.useRef)(null),{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:T+" *",validations:["required","validCardNumber"],css:P})),O=(0,g.Z)(F,2),_=O[0],L=O[1],q=(0,r.useState)(new K("card-name","text",(0,r.useRef)(null),{placeholder:W+" *",validations:["required"],css:P})),V=(0,g.Z)(q,2),j=V[0],z=V[1],U=(0,r.useState)(new K("expiration-date","card-expiration-date",(0,r.useRef)(null),{placeholder:G+" *",validations:["required","validCardExpirationDate"],css:P})),Y=(0,g.Z)(U,2),X=Y[0],ee=Y[1],te=(0,r.useState)(new K("security-code","card-security-code",(0,r.useRef)(null),{placeholder:D+" *",validations:["required","validCardSecurityCode"],css:P})),ne=(0,g.Z)(te,2),re=ne[0],ae=ne[1],oe=[[_,L],[j,z],[X,ee],[re,ae]],le=(0,r.useState)(String),ie=(0,g.Z)(le,2),ce=ie[0],se=ie[1],ue=(null!==(n=null==a?void 0:a.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return J[e]?{name:J[e],status:!1}:null})).filter((function(e){return e}));return(0,r.useEffect)((function(){var e=!1;return M.ZP.loadScript("https://js.verygoodvault.com/vgs-collect/1/AC7dReJwJ6EWF1L9FHdcCw7n.js","vgs-collect").then((function(){e||E(!0)})),function(){e=!0}}),[]),(0,r.useEffect)((function(){h&&c(window.VGSCollect.create(null==a?void 0:a.vgsVaultName,(function(e){var t,n;R.ZP.instance.sendInteraction("Payment Info",R.s_.FORM_FIELD,R._J.GUEST_DETAILS),window.VGSCollect.enteredCardType=null===(t=e["credit-card"])||void 0===t?void 0:t.cardType,se(null===(n=e["credit-card"])||void 0===n?void 0:n.cardType),oe.forEach((function(t){var n=H({},t[0]),r=t[0],a=e[t[0].name];a&&(r.isFocused=a.isFocused,r.isValid=a.isEmpty?null:a.isValid),n!==H({},r)&&t[1](H({},r))}))})))}),[h]),(0,r.useEffect)((function(){i&&oe.forEach((function(e){var t=e[0];i.field(t.ref.current,function(e){return H({name:e.name,type:e.type},e.vgsProps)}(t))}))}),[i]),h?r.createElement(r.Fragment,null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=d[e];return r.createElement(A.Z,{open:!!t,key:e},r.createElement("div",{className:"u-flex"},r.createElement(I.Z,{type:I.N.Danger,icon:x.Tu.Error},r.createElement(y.ZP,{type:y.yG.Small},t))))})),r.createElement("div",{className:"u-flex flex-row justify-content-start u-marg-bottom"},Object.keys(ue).map((function(e){return r.createElement("div",{key:e,id:ue[e].name,className:"cc-icon u-flex u-marg-right--light"+(null!==ce?ue[e].name===ce?" -current":"":" -default"),style:{backgroundImage:"url('".concat(M.ZP.getAssetUrl()+"assets/img/"+ue[e].name+".png","')")}})}))),r.createElement("form",{ref:S},r.createElement(C.Z,{dimensions:"2/2"},r.createElement("div",{className:w(_),ref:_.ref}),r.createElement(C.Z,{dimensions:"2/2"},r.createElement("div",{className:w(X),ref:X.ref}),r.createElement("div",{className:w(re),ref:re.ref}))),r.createElement(C.Z,{dimensions:"1"},r.createElement("div",{className:w(j),ref:j.ref})))):r.createElement($.Z,null)}var ee=(0,r.forwardRef)(X);function te(){var e=(0,N.$)().t,t=(0,B.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(y.ZP,{type:y.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckIn))),r.createElement(y.ZP,{type:y.yG.Small},e(u.W.Misc.After)," ",t.checkInTime)),r.createElement("div",{className:"col-6 col-md-3"},r.createElement(y.ZP,{type:y.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckOut))),r.createElement(y.ZP,{type:y.yG.Small},e(u.W.Misc.Before)," ",t.checkOutTime)))))}var ne=n(8029),re=n(966),ae=n(3103),oe=n(7988),le=n(2460);function ie(){return r.createElement(le.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:M.ZP.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var ce=n(5128),se=n(4854),ue=n(858),me=n(7484);function de(e){var t=(0,r.useState)(e.endTimeDate.diff(me(),"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 fe=n(3409);function pe(e){var t,n,o=(0,r.useContext)(re.hy),l=(0,r.useState)(me().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(se.Z,{isText:!0,size:"small",icon:x.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},"Take me back"),r.createElement(se.Z,{primary:!0,filled:!0,icon:x.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},"Continue with reservation"));return r.createElement(ce.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:ce.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(y.ZP,{type:y.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(fe.Z,{icon:x.Tu.Time,type:fe.R.Primary},r.createElement("span",{className:"u-marg-right--light"},"Reverts in"),r.createElement(de,{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(y.ZP,null,t.getRate().name)),r.createElement("div",{className:"u-flex u-marg-bottom--light"},r.createElement(y.ZP,{type:y.yG.Body},r.createElement("strong",null,"Displayed price:")),r.createElement(y.ZP,{color:b.I.Alert},r.createElement(ue.Z,null,e.totalPrice.before))),r.createElement("div",{className:"u-flex"},r.createElement(y.ZP,{type:y.yG.Body},r.createElement("strong",null,"Actual price:")),r.createElement(y.ZP,{color:b.I.Success},r.createElement(ue.Z,null,e.totalPrice.after))),r.createElement(c.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return r.createElement(y.ZP,{key:t},e)}))))}var ve=n(6550),ge=n(1625),he=n(9666),Ee=n(9007);function ye(){var e=(0,r.useContext)(re.hy),t=(0,N.$)().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(y.ZP,{key:e.index,type:y.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(y.ZP,{type:y.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),r.createElement(y.ZP,{type:y.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getGuaranteePolicy()}}))),r.createElement(y.ZP,{type:y.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),r.createElement(y.ZP,{type:y.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:o.room.getRate().getCancellationPolicy()}})))})))}),[e.currentBasketRows])}var be=n(5732),Ze=r.forwardRef((function(e,t){var n=(0,N.$)().t,o=e.confirmationPolicyError,l=(0,B.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),r.createElement("div",null,r.createElement(ae.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),r.createElement("div",{className:"u-marg-top--light"},r.createElement(ae.Z,{ref:t,label:r.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",r.createElement("a",{style:{color:b.I.Accent},className:"--underlined",href:l.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),r.createElement(A.Z,{open:o},r.createElement("div",{className:"u-flex u-marg-top"},r.createElement(I.Z,{type:I.N.Danger,icon:x.Tu.Error},r.createElement(y.ZP,{type:y.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))})),Se=n(4707),Ce=n(2912),we=n(2710),Ne=n(6326),xe=n(6222),Pe=n(8016);function ke(){var e,t=(0,N.$)().t,n=(0,B.WP)().hotel,o=(0,r.useContext)(re.g7),l=(0,r.useContext)(Ne.Z),i=(0,r.useState)(""),s=(0,g.Z)(i,2),m=s[0],d=s[1];o.engine.getSessionProvider().getSession().then((function(e){d(e.source)}));var f=(0,r.useContext)(re.hy),h=(0,r.useState)(!1),S=(0,g.Z)(h,2),C=S[0],P=S[1],k=(0,r.useState)([]),A=(0,g.Z)(k,2),T=A[0],W=A[1],D=(0,r.useState)([]),G=(0,g.Z)(D,2),F=G[0],M=G[1],O=(0,r.useState)(null),_=(0,g.Z)(O,2),L=_[0],q=_[1],V=(0,r.useState)(""),z=(0,g.Z)(V,2),U=z[0],J=z[1],$=(0,r.useState)(!1),Y=(0,g.Z)($,2),H=Y[0],K=Y[1],X=(0,r.useRef)(null),le=(0,r.useRef)(null),ce=(0,r.useRef)(null),ue=Q().focusElement,me=(0,ve.k6)(),de=(0,Z.cI)({mode:"onChange",reValidateMode:"onChange"}),fe=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},ke=function(){var e=(0,v.Z)(E().mark((function e(t){var r,a;return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=null!=L?L:t,P(!0),r&&((a=fe(r)).length?oe.Z.Reservation.commit(a,n.hotelID).then((function(e){try{R.ZP.instance.sendReservationConfirmed(f.getAllValidRows(),f.basketAddonRows,e)}catch(e){he.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}f.checkedOut(e)})).catch((function(e){console.log(e),P(!1)})):(P(!1),be.qL.add({message:"Committing reservation failed due to an unexpected error"}),he.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(r))));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ie=function(){var e=(0,v.Z)(E().mark((function e(){var t;return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=fe(L)).length){e.next=8;break}return P(!0),e.next=5,oe.Z.Reservation.rollback(t,n.hotelID);case 5:P(!1),e.next=9;break;case 8:he.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(L));case 9:me.push(Ce.Z.getStepUrl());case 10:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Ae=function(){var e=(0,v.Z)(E().mark((function e(){return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:me.push(Ce.Z.getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Re=function(){var e=(0,v.Z)(E().mark((function e(){var t,r,a,o,i;return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!xe.Z.isActive()||null!=ce&&null!==(t=ce.current)&&void 0!==t&&t.checked){e.next=3;break}return K(!0),e.abrupt("return");case 3:if(r=!0,l.errorChecks.forEach((function(e){e().validate()||(r=!1)})),r){e.next=7;break}return e.abrupt("return");case 7:return K(!1),P(!0),e.prev=9,e.next=12,le.current.getTokenizedCode();case 12:a=e.sent,o=de.getValues(),i=We.map((function(e,t){var n,r,a=t+1;return{FirstName:o["Forename".concat(a)],LastName:o["Surname".concat(a)],Phone:null===(n=o["Phone".concat(a)])||void 0===n?void 0:n.replace(" ",""),Email:o["Email".concat(a)],Address:{Line1:o["Address".concat(a)],City:o["City".concat(a)],PostalCode:o["PostCode".concat(a)],Country:null===(r=o["Country".concat(a)])||void 0===r?void 0:r.label},MarketingOptIn:!1}})),R.ZP.instance.sendInteraction("Complete Booking",R.s_.BUTTON,R._J.GUEST_DETAILS),oe.Z.Reservation.bookNow(We,i,a,De,X.current.value,o.IATANumber,n.hotelID).then((function(e){q(e);var t=[];if(!e.reservations)throw he.n_({level:Ee.z.Error,message:"No reservation data: "+JSON.stringify(e)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");e.reservations.forEach((function(e,n){var r=f.currentBasketRows[n].checkDiffFromReservation(e);r&&t.push(r)})),t.length||e.warnings&&e.warnings.length?(P(!1),W(t),M(e.warnings)):ke(e)})).catch((function(e){var t;P(!1),J(null!==(t=null==e?void 0:e.Message)&&void 0!==t?t:"Unexpected error returned from the booking database.")})),e.next=22;break;case 19:e.prev=19,e.t0=e.catch(9),P(!1);case 22:case"end":return e.stop()}}),e,null,[[9,19]])})));return function(){return e.apply(this,arguments)}}(),Te=function(){var e=(0,v.Z)(E().mark((function e(){return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Re();case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),We=f.getAllValidRows(),De=f.basketAddonRows,Ge=(0,r.useState)(!0),Fe=(0,g.Z)(Ge,2),Me=Fe[0],Oe=Fe[1],_e=(0,r.useState)(!1),Le=(0,g.Z)(_e,2),qe=Le[0],Ve=Le[1];(0,r.useEffect)((function(){["Forename","Surname","Email","Phone","Country","City","Address","PostCode"].forEach((function(e){je(e,de.getValues("".concat(e,"1")))}))}),[Me]),(0,r.useEffect)((function(){R.ZP.instance.sendCheckoutView(We,De);var e=de.watch((function(e,t){var n=t.name;"change"===t.type&&ze(n,e[n])})).unsubscribe;return function(){e()}}),[]),(0,r.useEffect)((function(){Ue()}),[null==de||null===(e=de.formState)||void 0===e?void 0:e.errors]);var je=function(e,t){if(We.length>=2)for(var n=2;n<=We.length;n++)de.setValue("".concat(e).concat(n),t)},ze=function(e,t){null!=e&&e.endsWith("1")&&Me&&je(e.replace("1",""),t)},Ue=function(){var e;null!=de&&null!==(e=de.formState)&&void 0!==e&&e.errors&&setTimeout((function(){var e,t,n=Object.values(null==de||null===(e=de.formState)||void 0===e?void 0:e.errors);n.length>0&&null!==(t=n[0])&&void 0!==t&&t.ref&&ue(n[0].ref)}),350)},Je=function(){var e=(0,v.Z)(E().mark((function e(){return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de.handleSubmit(Te)();case 2:return Ue(),Ve(!0),e.abrupt("return",!1);case 5:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return 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},t(u.W.Step.Confirmation.GuestDetails))),r.createElement(y.ZP,{type:y.yG.Small,color:b.I.Success},r.createElement("strong",null,t(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),r.createElement(Z.RV,de,r.createElement("form",{onSubmit:de.handleSubmit(Te)},We.map((function(e,n){return r.createElement("div",{key:e.getID()},r.createElement("div",{className:0===n?"":"u-marg-bottom--heavy"},r.createElement(j,{showErrors:qe,basketRow:e,roomNumber:n+1,expandable:1!==We.length})),We.length>1&&0===n?r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(ae.Z,{label:t(u.W.Step.Confirmation.ApplySameInfoToOtherRooms),checked:Me,onChange:function(e){Oe(e)}})):null)})))),"inline"===m?r.createElement(I.Z,{type:I.N.Accent2,heavyPadding:!0},r.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},r.createElement("div",null,r.createElement(y.ZP,{color:b.I.Accent,bold:!0},t(u.W.Step.Confirmation.WantMoreRooms)),r.createElement(y.ZP,{color:b.I.Navy},t(u.W.Step.Confirmation.YouCanAddAndEditRooms))),r.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},r.createElement(se.Z,{filled:!0,primary:!0,icon:x.Tu.Add,iconPosition:"left",onClick:Ae},t(u.W.Step.Confirmation.AddMoreRooms))))):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},t(u.W.Step.Confirmation.PaymentInformation))),r.createElement(ee,{ref:le}),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(x.ZP,{icon:x.Tu.Lock,color:b.I.Success}),r.createElement("div",{className:"u-marg-left--light"},r.createElement(y.ZP,{type:y.yG.Small,color:b.I.Success},r.createElement("strong",null,"Secured")))),r.createElement(ie,null))),Pe.Z.isActive()&&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(y.ZP,{type:y.yG.Small},r.createElement("strong",null,t(u.W.Step.Confirmation.Inputs.IATANumber)))),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(y.ZP,{type:y.yG.Small},t(u.W.Step.Confirmation.Inputs.IATANumberGuide))),r.createElement(w.Z,(0,p.Z)({placeholder:t(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},de.register("IATANumber")))),r.createElement(we.h,{inputRef:X}),r.createElement(c.Z,null),r.createElement(te,null),r.createElement("div",{className:"u-pad-top--light u-marg-bottom"},r.createElement(ye,null)),xe.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement(c.Z,null),r.createElement("div",null,r.createElement(Ze,{ref:ce,confirmationPolicyError:H}))),r.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},r.createElement(ne.Z,{text:t(u.W.Step.Confirmation.ConfirmReservation),history:null,isLoading:C,currentStep:Se.Z,onClick:Je})),r.createElement(ge.default,{open:!!U,onClose:function(){return J("")}},r.createElement(y.ZP,null,U)),r.createElement(pe,{differences:T,warnings:F,isLoading:C,onClose:function(){try{Ie()}catch(e){console.log("Failed to rollback reservations"),he.Tb(e)}},onProceed:function(){try{ke()}catch(e){console.log("Failed to commit reservation"),he.Tb(e)}}}))}function Ie(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(y.ZP,{type:y.yG.Small,color:b.I.White},r.createElement("strong",null,t.name)),r.createElement("div",{className:"u-flex"},r.createElement(y.ZP,{inline:!0,type:y.yG.Small,color:b.I.White},"See details"),r.createElement(x.ZP,{icon:x.Tu.ArrowRight,color:b.I.White}))))}var Ae=n(1472),Re=n(3460),Te=n(7582),We=n(6380),De=n(3122);function Ge(e){var t,n=e.addon,o=((0,N.$)().t,(0,r.useContext)(re.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],p=(0,r.useState)({quantity:1}),v=(0,g.Z)(p,2),h=v[0],E=v[1],Z=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),S=(0,g.Z)(Z,2),C=S[0],w=S[1],P=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),k=(0,g.Z)(P,2),I=k[0],A=k[1],R=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),T=(0,g.Z)(R,2),W=T[0],D=T[1];return r.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(E(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:""),w(e.basketAddonRow.getQuantity()),A(e.basketAddonRow.getAdultQuantity()),D(e.basketAddonRow.getChildQuantity())):(E(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(){w(1),A(1),D(0)}}),[n]),r.createElement(ce.Z,{open:e.isOpen,onClose:e.onClose,size:ce.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(y.ZP,{type:y.yG.Small,color:b.I.DarkGrey},n.description)),r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(y.ZP,null,"Date"),r.createElement(De.Z,{className:"u-flex align-items-center",onChange:function(e){var t,r,a,o;t=e,E(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<C&&w(n.availability[t].quantity)},selectedValue:c,iconComponent:x.Tf,items:n.selectorDates}))),0!==(null==h||null===(t=h.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(y.ZP,null,"Time"),r.createElement(De.Z,{className:"u-flex align-items-center",onChange:function(e){f(e)},selectedValue:d,iconComponent:x.Tf,items:null==h?void 0:h.selectorTimes}))),h.price&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(y.ZP,null,"Quantity"),r.createElement(We.Z,{number:C,min:1,max:h.quantity,onChange:function(e){w(e)}}))),h.adultPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(y.ZP,null,"Adults"),r.createElement(We.Z,{number:I,min:0,max:h.quantity-W,onChange:function(e){A(e)}}))),h.childPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(y.ZP,null,"Children"),r.createElement(We.Z,{number:W,min:0,max:h.quantity-I,onChange:function(e){D(e)}}))),r.createElement("div",{className:"u-flex align-items-center u-marg-top"},h.price&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(ue.Z,null,h.price),"/ Qty"),h.adultPrice&&h.childPrice&&r.createElement("h2",{className:"u-marg-none"},r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(ue.Z,null,h.adultPrice)," / Adult"),r.createElement("br",null),r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(ue.Z,null,h.childPrice)," / Child")),h.adultPrice&&!h.childPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(ue.Z,null,h.adultPrice)," / Adult"),h.childPrice&&!h.adultPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(ue.Z,null,h.childPrice)," / Child"),r.createElement(se.Z,{filled:!0,primary:!0,onClick:function(){o.setAddonQuantities(n,{quantity:C,adult:I,child:W},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(y.ZP,{type:y.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(y.ZP,{type:y.yG.Small},n.cancelPenalty))))))}function Fe(){var e=(0,r.useContext)(re.hy),t=(0,r.useContext)(re.Qm),n=(0,B.WP)().hotel,o=(0,Ae.useSpring)((function(){return{x:0}})),l=(0,g.Z)(o,2),i=l[0].x,c=l[1],s=(0,Re.Z)(),m=(0,g.Z)(s,2),d=m[0],f=m[1],v=(0,N.$)().t,h=r.useState([]),E=(0,g.Z)(h,2),Z=E[0],S=E[1],C=(0,r.useState)(!1),w=(0,g.Z)(C,2),P=w[0],k=w[1],I=(0,r.useState)(null),R=(0,g.Z)(I,2),T=R[0],W=R[1],D=(0,r.useState)(!1),G=(0,g.Z)(D,2),F=G[0],M=G[1],O=(0,r.useState)(0),_=(0,g.Z)(O,2),L=_[0],q=_[1],V=(0,r.useState)(0),j=(0,g.Z)(V,2),z=(j[0],j[1]),U=(0,r.useState)(-1),J=(0,g.Z)(U,2),Q=J[0],Y=J[1];r.useEffect((function(){var t=!1,r=e.getAllValidRows();return M(!0),oe.Z.Addons.findAddons(r,n.hotelID).then((function(e){t||(M(!1),S(e))})),function(){M(!1),t=!0}}),[t.currentLanguage]);var H=222,K=H*Z.length>=f.width,X=(0,Te.c0)((function(e){var t=e.down,n=(0,g.Z)(e.movement,1)[0];ee(t,n)})),ee=function(e,t){if(K)if(e)c({x:L+1.5*t});else{var n=L+t,r=(Z.length-1)*H,a=0;if(n>0)a=0,Y(-1);else if(n<-(r-f.width+H))a=-(r-f.width+H),Y(1);else{var o=-n/H,l=n%H>-111?Math.floor(o):Math.ceil(o);a=-l*H,z(l),Y(0)}c({x:a}),q(a)}};return r.createElement(A.Z,{open:!F&&0!==(null==Z?void 0:Z.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},v(u.W.Step.Confirmation.AdditionalOfferings))),F&&null!=n&&n.showAddonLoader?r.createElement($.Z,null):0===(null==Z?void 0:Z.length)?r.createElement("div",null,r.createElement(y.ZP,{color:b.I.DarkGrey},"Sorry, there are currently no additional offerings available.")):r.createElement("div",{className:"additional-offers"+(Z.length>2?"":" --wide"),ref:d},K&&r.createElement("div",{className:"additional-offers--navigation"},r.createElement(x.ZP,{icon:x.Tu.ArrowLeft2,onClick:function(){ee(!1,H)},color:-1===Q?b.I.DarkGrey:b.I.White,backgroundColor:b.I.Navy,borderRadius:"round",size:"24px"}),r.createElement(x.ZP,{icon:x.Tu.ArrowRight2,onClick:function(){ee(!1,-222)},color:1===Q?b.I.DarkGrey:b.I.White,backgroundColor:b.I.Navy,borderRadius:"round",size:"24px"})),r.createElement("div",{className:"additional-offers--track-container"},r.createElement(Ae.animated.div,(0,p.Z)({className:"additional-offers--track"},X(),{style:{left:i}}),Z.map((function(t,n){return r.createElement(Ie,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){k(!0),W(t)}})}))))),r.createElement(Ge,{isOpen:P&&!!T,addon:T,basketAddonRow:e.getRowForAddon(T),onClose:function(){k(!1)}})))}function Me(e){var t=(0,r.useState)(!1),n=(0,g.Z)(t,2),o=n[0],l=n[1];return r.createElement(I.Z,{type:I.N.Accent1},r.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},r.createElement("div",null,r.createElement(y.ZP,null,r.createElement("strong",null,"Your room is")),r.createElement(y.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:b.I.White},r.createElement(de,{endTimeDate:e.endDate,onEnd:function(){R.ZP.instance.sendInteraction("Countdown End Seen",R.s_.LINK,R._J.GUEST_DETAILS),l(!0)}})))))}var Oe=n(4511),_e=n(5400),Le=n(6337),qe=n(5032),Ve=function(){var e=(0,r.useContext)(re.g7),t=(0,r.useContext)(re.aN).currentStep,n=(0,r.useContext)(re.hy).currentBasketRows,p=(0,N.$)().t,v=(0,Le.z)().raise;return(0,r.useEffect)((function(){var e=new qe.z(n);v(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},p(u.W.Navigation.Steps.Confirmation)))),r.createElement("div",{className:"u-marg-top@m-"},r.createElement(Oe.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"},!_e.Z.isActive()&&r.createElement(Fe,null),r.createElement(Ne.s,null,r.createElement(ke,null)))),e.screenSize>d.Z.Medium&&r.createElement("div",{className:"col-xl-3 col-md-5 offset-xl-1"},r.createElement(Me,{endDate:me().add(10,"minute")}),r.createElement(l.v,{showImages:!0}))))}},4646:function(e,t,n){(t=n(3645)(!1)).push([e.id,".rs-enhanced-phone-field{--color-input-border: var(--color-light-grey);display:flex;flex-direction:row;position:relative;border:1px solid var(--color-input-border);border-radius:4px;transition:0.2s border}.rs-enhanced-phone-field:hover{--color-input-border: var(--color-accent-1)}.rs-enhanced-phone-field.--error{--color-input-border: var(--color-alert)}.rs-enhanced-phone-field.--success{--color-input-border: var(--color-success)}.rs-enhanced-phone-field--country{display:flex;flex-direction:row;align-items:center;justify-items:center;padding:8px 8px 8px 12px;cursor:pointer;background-color:transparent;transition:background-color 0.2s;border-right:1px solid var(--color-input-border)}.rs-enhanced-phone-field--country:hover{background-color:var(--color-snow)}.rs-enhanced-phone-field--country-icon{margin-right:7.5px}.rs-enhanced-phone-field--country *{z-index:5}.rs-enhanced-phone-field--number{flex-grow:1;position:relative}.rs-enhanced-phone-field--number-prefix{position:absolute;top:50%;left:8px;transform:translateY(-50%);font-size:14px;line-height:18px;color:var(--color-dark-grey)}.rs-enhanced-phone-field--number input{border:none;width:100%;height:100%;appearance:none;outline:none;font-size:14px;line-height:18px;padding-left:40px;-moz-appearance:textfield}.rs-enhanced-phone-field--number input::-webkit-outer-spin-button,.rs-enhanced-phone-field--number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rs-enhanced-phone-field--anchor{position:absolute;left:0;top:100%;width:100%;z-index:5000}.rs-enhanced-phone-field--suggest-list{background-color:white;border:1px solid var(--color-light-grey);max-height:400px;max-width:395px;overflow-y:scroll;display:flex;flex-direction:column}.rs-enhanced-phone-field--suggest-list-item{padding:8px 12px;position:relative;display:flex;flex-direction:row;transition:background-color 0.2s;cursor:pointer}.rs-enhanced-phone-field--suggest-list-item.--selected{background-color:var(--color-light-grey)}.rs-enhanced-phone-field--suggest-list-item:hover{background-color:var(--color-light-grey)}.rs-enhanced-phone-field--suggest-list-selected{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.rs-enhanced-phone-field--suggest-list-country-icon{margin-right:8px}.rs-enhanced-phone-field--suggest-list-country-name span{color:var(--color-dark-grey)}\n",""]),e.exports=t},4126:function(e,t,n){var r=n(3379),a=n(4646);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
|