@roomstay/frontend 1.5.0 → 1.5.1
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 -0
- package/dist/main.bundle.js +1 -1
- package/dist/src/events/index.d.ts +2 -0
- package/dist/src/events/index.js +2 -0
- package/dist/src/events/index.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/171.bundle.js +0 -1
|
@@ -0,0 +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)(null),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=null;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?e.push(c):t=c}}catch(e){r.e(e)}finally{r.f()}t&&(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={};e.checkInTime=k.format("YYYY-M-D"),e.checkOutTime=I.format("YYYY-M-D"),e.numAdults=A,e.numChildren=M,e.numRooms=1,e.promoCode=D;var r=new Te.i(e);B(r);var l=Object.values(n.currentFilters).filter((function(e){return!!e})),c=!1,i=t.selectedBasketRow;if(i||s.length||(i=t.attemptSelectUnfilledRow()),!i){var u=t.getAllValidRows();i=u[u.length-1]}return i&&(g(!0),te.getRoomList(i,l,a.hotelID).then((function(n){if(!c){var r;m(n),h(t.selectedBasketRow),C(!1);var l=null!==(r=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!==r?r:[],a=new Be.j(e,l);B(a)}})).catch((function(){c||(m([]),h(null),C(!0))})).finally((function(){g(!1)}))),function(){g(!1),c=!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))))}}}]);
|