@roomstay/frontend 2.8.0 → 2.9.0
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/177.bundle.js +1 -1
- package/dist/279.bundle.js +1 -1
- package/dist/288.bundle.js +1 -1
- package/dist/370.bundle.js +1 -1
- package/dist/449.bundle.js +1 -1
- package/dist/537.bundle.js +1 -1
- package/dist/596.bundle.js +1 -0
- package/dist/625.bundle.js +1 -1
- package/dist/686.bundle.js +1 -1
- package/dist/836.bundle.js +1 -1
- package/dist/978.bundle.js +1 -1
- package/dist/main.bundle.js +1 -1
- package/dist/src/api/AvailabilityAPI.d.ts +2 -4
- package/dist/src/api/AvailabilityAPI.js.map +1 -1
- package/dist/src/components/generic/Alert.d.ts +7 -1
- package/dist/src/components/generic/Alert.js +6 -0
- package/dist/src/components/generic/Alert.js.map +1 -1
- package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.d.ts +11 -0
- package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.js +24 -0
- package/dist/src/components/generic/AuxiliaryFilterControls/AuxiliaryFilterControls.js.map +1 -0
- package/dist/src/components/generic/RecentSearchesCard.js +4 -2
- package/dist/src/components/generic/RecentSearchesCard.js.map +1 -1
- package/dist/src/components/generic/date/DatePicker.d.ts +5 -0
- package/dist/src/components/generic/date/DatePicker.js +2 -1
- package/dist/src/components/generic/date/DatePicker.js.map +1 -1
- package/dist/src/components/reservation/ReservationItem.js +3 -2
- package/dist/src/components/reservation/ReservationItem.js.map +1 -1
- package/dist/src/components/steps/DaysSelectedInformer.js +6 -4
- package/dist/src/components/steps/DaysSelectedInformer.js.map +1 -1
- package/dist/src/components/steps/confirmation/RoomContactDetails.js +14 -12
- package/dist/src/components/steps/confirmation/RoomContactDetails.js.map +1 -1
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js +8 -6
- package/dist/src/components/steps/confirmation/StepConfirmationCountrySelector.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRange.js +5 -3
- package/dist/src/components/steps/date/StepOneDateRange.js.map +1 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.d.ts +2 -1
- package/dist/src/components/steps/date/StepOneDateRangePicker.js +3 -3
- package/dist/src/components/steps/date/StepOneDateRangePicker.js.map +1 -1
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js +55 -58
- package/dist/src/components/steps/room/TabGroupedRooms/TabGroupedRoomList.js.map +1 -1
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js +4 -3
- package/dist/src/components/steps/room/UserSearchSummary/UserSearchSummaryRow.js.map +1 -1
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js +4 -3
- package/dist/src/components/steps/room/roomBuilderProgress/RoomBuilderProgressRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.d.ts +17 -0
- package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.js +117 -0
- package/dist/src/components/steps/room/roomDetails/AuxiliaryPickerModal/AuxiliaryPickerModal.js.map +1 -0
- package/dist/src/components/steps/room/roomDetails/RoomDetails.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js +9 -2
- package/dist/src/components/steps/room/roomDetails/RoomDetails.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js +1 -4
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRateRow.js.map +1 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.d.ts +0 -1
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js +2 -11
- package/dist/src/components/steps/room/roomDetails/roomRates/RoomRates.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummary.js +3 -2
- package/dist/src/components/summary/BEMobileSummary.js.map +1 -1
- package/dist/src/components/summary/BEMobileSummaryModal.js +3 -2
- package/dist/src/components/summary/BEMobileSummaryModal.js.map +1 -1
- package/dist/src/components/summary/BESummaryAddonRow.js +2 -1
- package/dist/src/components/summary/BESummaryAddonRow.js.map +1 -1
- package/dist/src/components/summary/BESummaryRoomRow.js +3 -2
- package/dist/src/components/summary/BESummaryRoomRow.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextType.d.ts +2 -1
- package/dist/src/contexts/BasketContext/BasketContextType.js.map +1 -1
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js +9 -4
- package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.d.ts +14 -5
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextType.types.js.map +1 -1
- package/dist/src/contexts/BookingEngineContext/BookingEngineContextWrapper.js.map +1 -1
- package/dist/src/contexts/HotelOverridesContext.js +4 -0
- package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
- package/dist/src/hooks/AutoFocusOnSelect.d.ts +11 -1
- package/dist/src/hooks/AutoFocusOnSelect.js +7 -7
- package/dist/src/hooks/AutoFocusOnSelect.js.map +1 -1
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/index.js +1 -0
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/useAreaAvailability.d.ts +10 -1
- package/dist/src/hooks/useAreaAvailability.js +67 -30
- package/dist/src/hooks/useAreaAvailability.js.map +1 -1
- package/dist/src/hooks/useAuxiliaryFilters.d.ts +8 -0
- package/dist/src/hooks/useAuxiliaryFilters.js +55 -0
- package/dist/src/hooks/useAuxiliaryFilters.js.map +1 -0
- package/dist/src/hooks/useGuestDateFormat.d.ts +11 -0
- package/dist/src/hooks/useGuestDateFormat.js +22 -0
- package/dist/src/hooks/useGuestDateFormat.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
- package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
- package/dist/src/models/BasketRow.d.ts +6 -11
- package/dist/src/models/BasketRow.js +4 -4
- package/dist/src/models/BasketRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRow.js +3 -2
- package/dist/src/pages/findReservation/ReservationRow.js.map +1 -1
- package/dist/src/pages/findReservation/ReservationRowModal.js +5 -4
- package/dist/src/pages/findReservation/ReservationRowModal.js.map +1 -1
- package/dist/src/pages/steps/StepDate/StepDateComponent.js +13 -7
- package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
- package/dist/src/providers/RoomstayThemeEngine.js +2 -0
- package/dist/src/providers/RoomstayThemeEngine.js.map +1 -1
- package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.d.ts +13 -1
- package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js +20 -0
- package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js.map +1 -1
- package/dist/src/translations/Translation.d.ts +12 -0
- package/dist/src/translations/Translation.js +12 -0
- package/dist/src/translations/Translation.js.map +1 -1
- package/dist/src/translations/languages/en-gb.js +12 -0
- package/dist/src/translations/languages/en-gb.js.map +1 -1
- package/dist/test.bundle.js +1 -1
- package/dist/vendors.bundle.js +1 -1
- package/package.json +2 -2
- package/dist/422.bundle.js +0 -1
package/dist/978.bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[978],{26712:function(e,t,n){n.d(t,{e:function(){return o}});var l=n(15671),a=n(43144),i=n(60136),r=n(82963),c=n(61120);var o=function(e){(0,i.Z)(u,e);var t,n,o=(t=u,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,l=(0,c.Z)(t);if(n){var a=(0,c.Z)(this).constructor;e=Reflect.construct(l,arguments,a)}else e=l.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,l.Z)(this,u),(t=o.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(u,null,[{key:"getLabel",value:function(){return"View/Addon"}}]),u}(n(97112).x)},19370:function(e,t,n){n.r(t),n.d(t,{default:function(){return F}});var l=n(38342),a=n(26712),i=n(67294),r=n(26793),c=n(89250),o=n(79655),u=n(79478),d=n(13821),s=n(13010),m=n(46409),g=n(19874),f=n(47304),E=n(70885),p=n(89331),h=n(83893),P=n(7832),y=n(4942),v=n(76598),N=n(94184),A=n.n(N),b=n(97754),R=function(e){return i.createElement("div",{className:e.className},i.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("rect",{width:"24",height:"24",rx:"12",fill:b.Il.Accent}),i.createElement("path",{d:"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z",fill:"white"})))},T=n(64854),w=n(20858),x=n(11830),S=n(16380),Z=n(63351),_=n(2927),D=n(30584),C=n(39983),k=n(46415),O=n(44744),I=n(84544),G=n(18300);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){(0,y.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var L=function(e){var t,n=e.addon,a=e.className,c=(0,r.$)().t,o=(0,p.WP)().hotel,d=i.useContext(l.hy),m=d.getRowForAddon(n),g=(0,i.useState)(1),f=(0,E.Z)(g,2),h=f[0],P=f[1],y=(0,i.useState)(m?m.getAdultQuantity():1),N=(0,E.Z)(y,2),M=N[0],L=N[1],H=(0,i.useState)(m?m.getChildQuantity():0),Q=(0,E.Z)(H,2),j=Q[0],U=Q[1],B=(0,i.useState)({quantity:1}),z=(0,E.Z)(B,2),q=z[0],Y=z[1],F=(0,i.useState)(m?m.getSelectedDate():""),V=(0,E.Z)(F,2),$=V[0],J=V[1],K=(0,i.useState)(m?m.getSelectedTime():""),X=(0,E.Z)(K,2),ee=X[0],te=X[1];(0,i.useEffect)((function(){var e,t,l,a,i,r,c;m?(Y(null!==(e=n.availability[m.getSelectedDate()])&&void 0!==e?e:n.availability[n.firstDate]),J(null!==(t=m.getSelectedDate())&&void 0!==t?t:n.firstDate),te(null!==(l=m.getSelectedTime())&&void 0!==l?l:""),P(m.getQuantity()),L(m.getAdultQuantity()),U(m.getChildQuantity())):(Y(null!==(a=n.availability[n.firstDate])&&void 0!==a?a:[]),J(n.firstDate),te((null===(i=n.availability[n.firstDate])||void 0===i||null===(r=i.selectorTimes)||void 0===r||null===(c=r[0])||void 0===c?void 0:c.value)||""))}),[]);var ne=A()({"--active":!!d.getRowForAddon(n)}),le=[v.EAddonPricingType.PER_PERSON,v.EAddonPricingType.PER_PERSON_PER_NIGHT].includes(n.pricingType),ae=[v.EAddonPricingType.PER_ALL_PERSONS,v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT].includes(n.pricingType),ie=le&&n.hideQuantity;(0,i.useEffect)((function(){if(le){var e=d.currentBasketRows;if(e&&0!==e.length){var t=e.reduce((function(e,t){return e+t.getAdults()}),0),n=e.reduce((function(e,t){return e+t.getChildren()}),0);L(t),null!=q&&q.childPrice?U(n):P(t)}}}),[n.code,le,null==q?void 0:q.childPrice,d.currentBasketRows]);var re,ce=[{name:"Date",enabled:(null==m||null===(re=m.getNumberOfAvailableNights)||void 0===re?void 0:re.call(m))>1&&!(null!=m&&m.getAddon().hideDatePicker),element:i.createElement(Z.P,{nativeOnMobile:!0,options:n.selectorDates,value:$,onChange:function(e){var t,l,a,i;t=e,Y(n.availability[t]),J(t),te((null===(l=n.availability[t])||void 0===l||null===(a=l.selectorTimes)||void 0===a||null===(i=a[0])||void 0===i?void 0:i.value)||""),n.availability[t].quantity<h&&P(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:"Time",enabled:0!==(null==q||null===(t=q.selectorTimes)||void 0===t?void 0:t.length),element:i.createElement(Z.P,{nativeOnMobile:!0,options:(null==q?void 0:q.selectorTimes)||[],value:ee,onChange:function(e){te(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:u.W.Step.Addon.Quantity,enabled:!(null==q||!q.price)&&(null==q?void 0:q.quantity)>1&&!ie,element:i.createElement(S.Z,{number:h,min:1,max:q.quantity,onChange:function(e){P(e)}})},{name:u.W.Step.Date.Adult_plural,enabled:!ae&&!(null==q||!q.adultPrice)&&!ie,element:i.createElement(S.Z,{number:M,min:0,max:q.quantity-j,onChange:function(e){L(e)}})},{name:u.W.Step.Date.Child_plural,enabled:!ae&&!(null==q||!q.childPrice)&&!ie,element:i.createElement(S.Z,{number:j,min:0,max:q.quantity-M,onChange:function(e){U(e)}})}],oe=function(){switch(n.pricingType){case v.EAddonPricingType.PER_STAY:return c(u.W.Misc.QTY);case v.EAddonPricingType.PER_PERSON:return c(u.W.Misc.Person);case v.EAddonPricingType.PER_PERSON_OCCUPANCY_PER_NIGHT:case v.EAddonPricingType.PER_PERSON_PER_NIGHT:return c(u.W.Misc.PersonPerNight);case v.EAddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT:case v.EAddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT:return c(u.W.Misc.AdultPerNight);case v.EAddonPricingType.PER_NIGHT:case v.EAddonPricingType.PER_QUANTITY_NAME_PER_NIGHT:return c(u.W.Misc.Night);case v.EAddonPricingType.PER_ROOM_QUANTITY_PER_NIGHT:return c(u.W.Misc.PerRoomDay)}}(),ue={};n.image?ue.backgroundImage="url('".concat(O.Z.resizeImage(n.image,O.h.Original),"')"):(ue.backgroundImage="url('".concat((null==o?void 0:o.logo)&&O.Z.resizeImage(null==o?void 0:o.logo,O.h.Original),"')"),ue.backgroundSize="50%",ue.backgroundRepeat="no-repeat");var de=(null==o?void 0:o.fees)&&o.fees.filter((function(e){return e.appliesToAddons})).length>0,se=(0,i.useMemo)((function(){var e,t,l,a,i={code:n.code,pricingType:n.pricingType,price:null!==(e=null==q?void 0:q.price)&&void 0!==e?e:0,adultPrice:null==q?void 0:q.adultPrice,childPrice:null==q?void 0:q.childPrice,quantity:h,adultQuantity:M,childQuantity:j,nights:n.nights||1},r=v.TotalCalculator.calculateBaseAddonTotal(i,!1).addonTotal,c=W(W({},i),{},{adultQuantity:Math.max(1,M),childQuantity:Math.max(1,j)}),o=v.TotalCalculator.calculateBaseAddonTotal(c,!1).addonTotal,u=m?d.basketAddonRows.filter((function(e){return e.getID()!==m.getID()})):d.basketAddonRows,s=G.N.calculatePreviewDiscount(r,u,d.currentBasketRows,d.promoCodeDetails),g=G.N.calculatePreviewDiscount(o,u,d.currentBasketRows,d.promoCodeDetails),f=function(e,t,n){if(!e||n<=0)return{price:null!=e?e:0,discountUsed:0};var l=d.promoCodeDetails;if((null==l?void 0:l.discountType)===v.EPromoCodeDiscountType.FlatPercent){var a=l.discountAmount/100;return{price:Math.round(e*(1-a)*100)/100,discountUsed:0}}var i=Math.min(n,t),r=t>0?i/t*e:0;return{price:Math.max(0,e-r),discountUsed:i}},E=null!==(t=null==q?void 0:q.price)&&void 0!==t?t:0,p=null!==(l=null==q?void 0:q.adultPrice)&&void 0!==l?l:0,P=null!==(a=null==q?void 0:q.childPrice)&&void 0!==a?a:0;if(g>0&&o>0){var y=v.ADDON_PER_NIGHT_TYPES.includes(n.pricingType)&&n.nights||1;if(null!=q&&q.price){var N=Math.max(1,h),A=q.price*N*y;E=f(q.price,A,g).price}var b=Math.max(1,M),R=Math.max(1,j),T=null!=q&&q.adultPrice?q.adultPrice*b*y:0,w=null!=q&&q.childPrice?q.childPrice*R*y:0,x=Math.min(g,T),S=Math.max(0,g-x);null!=q&&q.adultPrice&&(p=f(q.adultPrice,T,x).price),null!=q&&q.childPrice&&(P=f(q.childPrice,w,S).price)}return{discountAmount:s,discountedPrice:r-s,discountedUnitPrice:E,discountedAdultPrice:p,discountedChildPrice:P}}),[q,h,M,j,n.pricingType,n.code,n.nights,d.promoCodeDetails,d.currentBasketRows,d.basketAddonRows,m]),me=se.discountAmount,ge=se.discountedUnitPrice,fe=se.discountedAdultPrice,Ee=se.discountedChildPrice,pe=me>0;return i.createElement("div",{className:A()("u-flex u-flex-flex-start u-rounded addon-card-wrapper",a,ne),style:{backgroundColor:b.Il.White}},i.createElement("div",{className:"addon-card-image",style:ue}),i.createElement("div",{className:"u-marg-heavy u-marg@m- u-w-100@xl"},i.createElement("div",{className:"u-flex"},i.createElement(s.Z,{bold:!0},n.name),m?i.createElement(R,null):i.createElement(i.Fragment,null)),i.createElement(D.ZP,{color:b.Il.DarkGrey,type:D.yG.Small,asDiv:!0},i.createElement(x.R,{content:n.description})),i.createElement("div",{className:"addon-card-wrapper--price u-flex u-flex-align-flex-end"},i.createElement("div",{className:"u-w-100"},ce.map((function(e){if(e.enabled)return i.createElement("div",{key:e.name,className:"u-flex justify-content-start u-marg-bot u-marg-top"},i.createElement(D.ZP,{className:"u-mw-100",bold:!0},c(e.name)),e.element)}))),i.createElement("div",{className:"addon-card-wrapper--price-action"},i.createElement("div",{className:"u-flex u-flex-direction-column u-flex-align-flex-end",style:{alignSelf:"flex-end"}},i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.Navy,inline:!0},c(u.W.Misc.From)),i.createElement("div",{className:"room-details--content-price flex-align-items-baseline flex-row"},(null==q?void 0:q.price)&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,{hideDecimals:!0},q.price)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,{hideDecimals:!0},pe?ge:q.price)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",oe)),(!(null==q||!q.adultPrice)||!(null==q||!q.childPrice))&&i.createElement("h2",{className:"u-marg-none d-flex flex-wrap justify-content-end"},!!q.adultPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&fe<q.adultPrice&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,null,q.adultPrice)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,null,pe?fe:q.adultPrice)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/"," ",n.pricingType===v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT?c(u.W.Misc.AdultPerNight):c(u.W.Step.Date.Adult))),!!q.adultPrice&&!!q.childPrice&&i.createElement("br",null),!!q.childPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&Ee<q.childPrice&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,null,q.childPrice)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,null,pe?Ee:q.childPrice)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/"," ",n.pricingType===v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT?c(u.W.Misc.ChildPerNight):c(u.W.Step.Date.Child))))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.Grey,inline:!0,className:"u-nowrap"},i.createElement(_._,{hasTax:!(null!=o&&o.enableCreditCardSurcharge||de),isAddon:!0})))),i.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@l- flex-column flex-lg-row"},m?i.createElement("div",{className:"u-marg-right--light@l u-marg-bottom--light@l-"},i.createElement(T.Z,{onClick:function(){var e=d.basketAddonRows.find((function(e){return e.getAddon().code===n.code}));e&&d.removeBasketAddonRow(e)},textColor:b.Il.White,backgroundColor:b.Il.Navy,wide:!0},c(u.W.Step.Addon.Remove))):i.createElement(i.Fragment,null),i.createElement(T.Z,{onClick:function(){d.setAddonQuantities(n,{quantity:h,adult:M,child:j},$,ee);var e=d.basketAddonRows.find((function(e){return e.getAddon().code===n.code})),t=d.currentBasketRows[0];e&&t&&(I.ZP.instance.sendRoomAddonAddToCart(e,h,t.getStartDate(),t.getStartDate()),k.Z.raise(new C.t(e)))},primary:!0,filled:!0,wide:!0},c(m?u.W.Step.Addon.UpdateCart:u.W.Step.Addon.AddToCart)))))))},H=n(62734),Q=n(31972),j=function(){var e=(0,i.useContext)(l.hy),t=(0,i.useContext)(l.Qm),n=(0,p.WP)().hotel,a=e.getAllValidRows(),r=(0,i.useState)(null),c=(0,E.Z)(r,2),o=c[0],u=c[1],d=(0,i.useState)(!1),s=(0,E.Z)(d,2),g=s[0],f=s[1];return i.useEffect((function(){f(!0),h.Z.Addons.findAddons(a,null==n?void 0:n.hotelID).then((function(e){f(!1),u(e)}))}),[t.currentLanguage]),i.createElement("div",{className:"u-flex"},i.createElement(m.i5,null,i.createElement(m.mV,null,g?i.createElement(P.Z,null):null!=o&&o.length?o.map((function(e,t){return i.createElement(L,{key:t,className:"u-marg-bottom",addon:e})})):i.createElement(H.Z,null)),i.createElement(m.f,null,i.createElement(Q.Z,null))))},U=n(38279),B=n(40370),z=n(16337),q=n(90292),Y=n(95692);function F(){var e=(0,i.useContext)(l.g7),t=(0,i.useContext)(l.aN).currentStep,n=(0,i.useContext)(l.hy).currentBasketRows,E=(0,c.TH)(),p=(0,r.$)().t,h=(0,z.z)().raise;return(0,i.useEffect)((function(){var e=new a.e(n);h(e)}),[]),i.createElement("div",{className:"container rs-step-addon"},i.createElement(f.V,{step:"Addon"}),i.createElement(B.default,null),i.createElement(m.i5,null,i.createElement(m.mV,null,e.screenSize>q.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(o.rU,{to:{pathname:Y.Z.getPreviousStepUrl(t),search:E.search}},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(s.Z,{bold:!0},p(u.W.Navigation.Steps.Addon))))),e.screenSize>q.Z.Medium&&i.createElement(m.f,null,i.createElement(U.Z,null))),e.screenSize>q.Z.Medium&&i.createElement(g.Z,null),i.createElement(j,null))}}}]);
|
|
1
|
+
"use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[978],{26712:function(e,t,n){n.d(t,{e:function(){return o}});var l=n(15671),a=n(43144),i=n(60136),r=n(82963),c=n(61120);var o=function(e){(0,i.Z)(u,e);var t,n,o=(t=u,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,l=(0,c.Z)(t);if(n){var a=(0,c.Z)(this).constructor;e=Reflect.construct(l,arguments,a)}else e=l.apply(this,arguments);return(0,r.Z)(this,e)});function u(e){var t;return(0,l.Z)(this,u),(t=o.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(u,null,[{key:"getLabel",value:function(){return"View/Addon"}}]),u}(n(97112).x)},19370:function(e,t,n){n.r(t),n.d(t,{default:function(){return F}});var l=n(38342),a=n(26712),i=n(67294),r=n(26793),c=n(89250),o=n(79655),u=n(79478),d=n(13821),s=n(13010),m=n(46409),g=n(19874),f=n(47304),E=n(70885),p=n(51690),h=n(83893),P=n(7832),y=n(4942),v=n(76598),N=n(94184),A=n.n(N),b=n(97754),R=function(e){return i.createElement("div",{className:e.className},i.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("rect",{width:"24",height:"24",rx:"12",fill:b.Il.Accent}),i.createElement("path",{d:"M7.33333 12L10.6667 15.3333L16.6667 9.33332L15.7267 8.38666L10.6667 13.4467L8.27333 11.06L7.33333 12Z",fill:"white"})))},T=n(64854),w=n(20858),x=n(11830),S=n(16380),Z=n(63351),_=n(2927),D=n(30584),C=n(39983),k=n(46415),O=n(44744),I=n(84544),G=n(18300);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function W(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){(0,y.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var L=function(e){var t,n=e.addon,a=e.className,c=(0,r.$)().t,o=(0,p.WP)().hotel,d=i.useContext(l.hy),m=d.getRowForAddon(n),g=(0,i.useState)(1),f=(0,E.Z)(g,2),h=f[0],P=f[1],y=(0,i.useState)(m?m.getAdultQuantity():1),N=(0,E.Z)(y,2),M=N[0],L=N[1],H=(0,i.useState)(m?m.getChildQuantity():0),Q=(0,E.Z)(H,2),j=Q[0],U=Q[1],B=(0,i.useState)({quantity:1}),z=(0,E.Z)(B,2),q=z[0],Y=z[1],F=(0,i.useState)(m?m.getSelectedDate():""),V=(0,E.Z)(F,2),$=V[0],J=V[1],K=(0,i.useState)(m?m.getSelectedTime():""),X=(0,E.Z)(K,2),ee=X[0],te=X[1];(0,i.useEffect)((function(){var e,t,l,a,i,r,c;m?(Y(null!==(e=n.availability[m.getSelectedDate()])&&void 0!==e?e:n.availability[n.firstDate]),J(null!==(t=m.getSelectedDate())&&void 0!==t?t:n.firstDate),te(null!==(l=m.getSelectedTime())&&void 0!==l?l:""),P(m.getQuantity()),L(m.getAdultQuantity()),U(m.getChildQuantity())):(Y(null!==(a=n.availability[n.firstDate])&&void 0!==a?a:[]),J(n.firstDate),te((null===(i=n.availability[n.firstDate])||void 0===i||null===(r=i.selectorTimes)||void 0===r||null===(c=r[0])||void 0===c?void 0:c.value)||""))}),[]);var ne=A()({"--active":!!d.getRowForAddon(n)}),le=[v.EAddonPricingType.PER_PERSON,v.EAddonPricingType.PER_PERSON_PER_NIGHT].includes(n.pricingType),ae=[v.EAddonPricingType.PER_ALL_PERSONS,v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT].includes(n.pricingType),ie=le&&n.hideQuantity;(0,i.useEffect)((function(){if(le){var e=d.currentBasketRows;if(e&&0!==e.length){var t=e.reduce((function(e,t){return e+t.getAdults()}),0),n=e.reduce((function(e,t){return e+t.getChildren()}),0);L(t),null!=q&&q.childPrice?U(n):P(t)}}}),[n.code,le,null==q?void 0:q.childPrice,d.currentBasketRows]);var re,ce=[{name:"Date",enabled:(null==m||null===(re=m.getNumberOfAvailableNights)||void 0===re?void 0:re.call(m))>1&&!(null!=m&&m.getAddon().hideDatePicker),element:i.createElement(Z.P,{nativeOnMobile:!0,options:n.selectorDates,value:$,onChange:function(e){var t,l,a,i;t=e,Y(n.availability[t]),J(t),te((null===(l=n.availability[t])||void 0===l||null===(a=l.selectorTimes)||void 0===a||null===(i=a[0])||void 0===i?void 0:i.value)||""),n.availability[t].quantity<h&&P(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:"Time",enabled:0!==(null==q||null===(t=q.selectorTimes)||void 0===t?void 0:t.length),element:i.createElement(Z.P,{nativeOnMobile:!0,options:(null==q?void 0:q.selectorTimes)||[],value:ee,onChange:function(e){te(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"})},{name:u.W.Step.Addon.Quantity,enabled:!(null==q||!q.price)&&(null==q?void 0:q.quantity)>1&&!ie,element:i.createElement(S.Z,{number:h,min:1,max:q.quantity,onChange:function(e){P(e)}})},{name:u.W.Step.Date.Adult_plural,enabled:!ae&&!(null==q||!q.adultPrice)&&!ie,element:i.createElement(S.Z,{number:M,min:0,max:q.quantity-j,onChange:function(e){L(e)}})},{name:u.W.Step.Date.Child_plural,enabled:!ae&&!(null==q||!q.childPrice)&&!ie,element:i.createElement(S.Z,{number:j,min:0,max:q.quantity-M,onChange:function(e){U(e)}})}],oe=function(){switch(n.pricingType){case v.EAddonPricingType.PER_STAY:return c(u.W.Misc.QTY);case v.EAddonPricingType.PER_PERSON:return c(u.W.Misc.Person);case v.EAddonPricingType.PER_PERSON_OCCUPANCY_PER_NIGHT:case v.EAddonPricingType.PER_PERSON_PER_NIGHT:return c(u.W.Misc.PersonPerNight);case v.EAddonPricingType.PER_ADULT_OCCUPANCY_PER_NIGHT:case v.EAddonPricingType.PER_CHILD_OCCUPANCY_PER_NIGHT:return c(u.W.Misc.AdultPerNight);case v.EAddonPricingType.PER_NIGHT:case v.EAddonPricingType.PER_QUANTITY_NAME_PER_NIGHT:return c(u.W.Misc.Night);case v.EAddonPricingType.PER_ROOM_QUANTITY_PER_NIGHT:return c(u.W.Misc.PerRoomDay)}}(),ue={};n.image?ue.backgroundImage="url('".concat(O.Z.resizeImage(n.image,O.h.Original),"')"):(ue.backgroundImage="url('".concat((null==o?void 0:o.logo)&&O.Z.resizeImage(null==o?void 0:o.logo,O.h.Original),"')"),ue.backgroundSize="50%",ue.backgroundRepeat="no-repeat");var de=(null==o?void 0:o.fees)&&o.fees.filter((function(e){return e.appliesToAddons})).length>0,se=(0,i.useMemo)((function(){var e,t,l,a,i={code:n.code,pricingType:n.pricingType,price:null!==(e=null==q?void 0:q.price)&&void 0!==e?e:0,adultPrice:null==q?void 0:q.adultPrice,childPrice:null==q?void 0:q.childPrice,quantity:h,adultQuantity:M,childQuantity:j,nights:n.nights||1},r=v.TotalCalculator.calculateBaseAddonTotal(i,!1).addonTotal,c=W(W({},i),{},{adultQuantity:Math.max(1,M),childQuantity:Math.max(1,j)}),o=v.TotalCalculator.calculateBaseAddonTotal(c,!1).addonTotal,u=m?d.basketAddonRows.filter((function(e){return e.getID()!==m.getID()})):d.basketAddonRows,s=G.N.calculatePreviewDiscount(r,u,d.currentBasketRows,d.promoCodeDetails),g=G.N.calculatePreviewDiscount(o,u,d.currentBasketRows,d.promoCodeDetails),f=function(e,t,n){if(!e||n<=0)return{price:null!=e?e:0,discountUsed:0};var l=d.promoCodeDetails;if((null==l?void 0:l.discountType)===v.EPromoCodeDiscountType.FlatPercent){var a=l.discountAmount/100;return{price:Math.round(e*(1-a)*100)/100,discountUsed:0}}var i=Math.min(n,t),r=t>0?i/t*e:0;return{price:Math.max(0,e-r),discountUsed:i}},E=null!==(t=null==q?void 0:q.price)&&void 0!==t?t:0,p=null!==(l=null==q?void 0:q.adultPrice)&&void 0!==l?l:0,P=null!==(a=null==q?void 0:q.childPrice)&&void 0!==a?a:0;if(g>0&&o>0){var y=v.ADDON_PER_NIGHT_TYPES.includes(n.pricingType)&&n.nights||1;if(null!=q&&q.price){var N=Math.max(1,h),A=q.price*N*y;E=f(q.price,A,g).price}var b=Math.max(1,M),R=Math.max(1,j),T=null!=q&&q.adultPrice?q.adultPrice*b*y:0,w=null!=q&&q.childPrice?q.childPrice*R*y:0,x=Math.min(g,T),S=Math.max(0,g-x);null!=q&&q.adultPrice&&(p=f(q.adultPrice,T,x).price),null!=q&&q.childPrice&&(P=f(q.childPrice,w,S).price)}return{discountAmount:s,discountedPrice:r-s,discountedUnitPrice:E,discountedAdultPrice:p,discountedChildPrice:P}}),[q,h,M,j,n.pricingType,n.code,n.nights,d.promoCodeDetails,d.currentBasketRows,d.basketAddonRows,m]),me=se.discountAmount,ge=se.discountedUnitPrice,fe=se.discountedAdultPrice,Ee=se.discountedChildPrice,pe=me>0;return i.createElement("div",{className:A()("u-flex u-flex-flex-start u-rounded addon-card-wrapper",a,ne),style:{backgroundColor:b.Il.White}},i.createElement("div",{className:"addon-card-image",style:ue}),i.createElement("div",{className:"u-marg-heavy u-marg@m- u-w-100@xl"},i.createElement("div",{className:"u-flex"},i.createElement(s.Z,{bold:!0},n.name),m?i.createElement(R,null):i.createElement(i.Fragment,null)),i.createElement(D.ZP,{color:b.Il.DarkGrey,type:D.yG.Small,asDiv:!0},i.createElement(x.R,{content:n.description})),i.createElement("div",{className:"addon-card-wrapper--price u-flex u-flex-align-flex-end"},i.createElement("div",{className:"u-w-100"},ce.map((function(e){if(e.enabled)return i.createElement("div",{key:e.name,className:"u-flex justify-content-start u-marg-bot u-marg-top"},i.createElement(D.ZP,{className:"u-mw-100",bold:!0},c(e.name)),e.element)}))),i.createElement("div",{className:"addon-card-wrapper--price-action"},i.createElement("div",{className:"u-flex u-flex-direction-column u-flex-align-flex-end",style:{alignSelf:"flex-end"}},i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.Navy,inline:!0},c(u.W.Misc.From)),i.createElement("div",{className:"room-details--content-price flex-align-items-baseline flex-row"},(null==q?void 0:q.price)&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,{hideDecimals:!0},q.price)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,{hideDecimals:!0},pe?ge:q.price)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/ ",oe)),(!(null==q||!q.adultPrice)||!(null==q||!q.childPrice))&&i.createElement("h2",{className:"u-marg-none d-flex flex-wrap justify-content-end"},!!q.adultPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&fe<q.adultPrice&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,null,q.adultPrice)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,null,pe?fe:q.adultPrice)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/"," ",n.pricingType===v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT?c(u.W.Misc.AdultPerNight):c(u.W.Step.Date.Adult))),!!q.adultPrice&&!!q.childPrice&&i.createElement("br",null),!!q.childPrice&&i.createElement("div",{className:"d-flex align-items-end flex-row"},pe&&Ee<q.childPrice&&i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,style:{textDecoration:"line-through"},className:"u-marg-right--light"},i.createElement(w.Z,null,q.childPrice)),i.createElement(s.Z,{size:"large",bold:!0,lineHeight:"1em"},i.createElement(w.Z,null,pe?Ee:q.childPrice)),i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.DarkGrey,inline:!0,className:"u-marg-left--light u-clear-font-weight"},"/"," ",n.pricingType===v.EAddonPricingType.PER_ALL_PERSONS_PER_NIGHT?c(u.W.Misc.ChildPerNight):c(u.W.Step.Date.Child))))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(D.ZP,{type:D.yG.Small,color:b.Il.Grey,inline:!0,className:"u-nowrap"},i.createElement(_._,{hasTax:!(null!=o&&o.enableCreditCardSurcharge||de),isAddon:!0})))),i.createElement("div",{className:"u-marg-top--light u-flex justify-content-end u-w-100@l- flex-column flex-lg-row"},m?i.createElement("div",{className:"u-marg-right--light@l u-marg-bottom--light@l-"},i.createElement(T.Z,{onClick:function(){var e=d.basketAddonRows.find((function(e){return e.getAddon().code===n.code}));e&&d.removeBasketAddonRow(e)},textColor:b.Il.White,backgroundColor:b.Il.Navy,wide:!0},c(u.W.Step.Addon.Remove))):i.createElement(i.Fragment,null),i.createElement(T.Z,{onClick:function(){d.setAddonQuantities(n,{quantity:h,adult:M,child:j},$,ee);var e=d.basketAddonRows.find((function(e){return e.getAddon().code===n.code})),t=d.currentBasketRows[0];e&&t&&(I.ZP.instance.sendRoomAddonAddToCart(e,h,t.getStartDate(),t.getStartDate()),k.Z.raise(new C.t(e)))},primary:!0,filled:!0,wide:!0},c(m?u.W.Step.Addon.UpdateCart:u.W.Step.Addon.AddToCart)))))))},H=n(62734),Q=n(31972),j=function(){var e=(0,i.useContext)(l.hy),t=(0,i.useContext)(l.Qm),n=(0,p.WP)().hotel,a=e.getAllValidRows(),r=(0,i.useState)(null),c=(0,E.Z)(r,2),o=c[0],u=c[1],d=(0,i.useState)(!1),s=(0,E.Z)(d,2),g=s[0],f=s[1];return i.useEffect((function(){f(!0),h.Z.Addons.findAddons(a,null==n?void 0:n.hotelID).then((function(e){f(!1),u(e)}))}),[t.currentLanguage]),i.createElement("div",{className:"u-flex"},i.createElement(m.i5,null,i.createElement(m.mV,null,g?i.createElement(P.Z,null):null!=o&&o.length?o.map((function(e,t){return i.createElement(L,{key:t,className:"u-marg-bottom",addon:e})})):i.createElement(H.Z,null)),i.createElement(m.f,null,i.createElement(Q.Z,null))))},U=n(38279),B=n(40370),z=n(16337),q=n(90292),Y=n(95692);function F(){var e=(0,i.useContext)(l.g7),t=(0,i.useContext)(l.aN).currentStep,n=(0,i.useContext)(l.hy).currentBasketRows,E=(0,c.TH)(),p=(0,r.$)().t,h=(0,z.z)().raise;return(0,i.useEffect)((function(){var e=new a.e(n);h(e)}),[]),i.createElement("div",{className:"container rs-step-addon"},i.createElement(f.V,{step:"Addon"}),i.createElement(B.default,null),i.createElement(m.i5,null,i.createElement(m.mV,null,e.screenSize>q.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(o.rU,{to:{pathname:Y.Z.getPreviousStepUrl(t),search:E.search}},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(s.Z,{bold:!0},p(u.W.Navigation.Steps.Addon))))),e.screenSize>q.Z.Medium&&i.createElement(m.f,null,i.createElement(U.Z,null))),e.screenSize>q.Z.Medium&&i.createElement(g.Z,null),i.createElement(j,null))}}}]);
|