@roomstay/frontend 2.6.113 → 2.7.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.
Files changed (50) hide show
  1. package/dist/177.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/288.bundle.js +1 -1
  4. package/dist/370.bundle.js +1 -1
  5. package/dist/422.bundle.js +1 -1
  6. package/dist/449.bundle.js +1 -1
  7. package/dist/537.bundle.js +1 -1
  8. package/dist/836.bundle.js +1 -1
  9. package/dist/873.bundle.js +1 -1
  10. package/dist/972.bundle.js +1 -1
  11. package/dist/978.bundle.js +1 -1
  12. package/dist/main.bundle.js +1 -1
  13. package/dist/src/components/generic/BookingWizard/BookingWizardContext.d.ts +2 -13
  14. package/dist/src/components/generic/BookingWizard/BookingWizardContext.js.map +1 -1
  15. package/dist/src/components/steps/confirmation/StepConfirmationForm.js +3 -2
  16. package/dist/src/components/steps/confirmation/StepConfirmationForm.js.map +1 -1
  17. package/dist/src/components/steps/room/AvailableUpgradesModal.js +20 -11
  18. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  19. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js +14 -3
  20. package/dist/src/components/steps/room/roomFilter/RoomFilterRoomType.js.map +1 -1
  21. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +42 -22
  22. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  23. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js +19 -8
  24. package/dist/src/contexts/FullPageEngineContext/FullPageEngineContextWrapper.js.map +1 -1
  25. package/dist/src/contexts/HotelOverridesContext.js +7 -3
  26. package/dist/src/contexts/HotelOverridesContext.js.map +1 -1
  27. package/dist/src/engines/BaseEngine.d.ts +17 -0
  28. package/dist/src/engines/BaseEngine.js.map +1 -1
  29. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.d.ts +1 -5
  30. package/dist/src/engines/BookingWizardEngine/BookingWizardEngine.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -0
  32. package/dist/src/index.js +3 -1
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/models/Api/HotelOverrideDTO.d.ts +1 -0
  35. package/dist/src/models/Api/HotelOverrideDTO.js.map +1 -1
  36. package/dist/src/models/Room/Room.d.ts +2 -0
  37. package/dist/src/models/Room/Room.js.map +1 -1
  38. package/dist/src/pages/steps/StepDate/StepDateComponent.js +10 -4
  39. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  40. package/dist/src/providers/FeatureProvider.js +2 -0
  41. package/dist/src/providers/FeatureProvider.js.map +1 -1
  42. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.d.ts +6 -0
  43. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js +10 -0
  44. package/dist/src/providers/feature/StepDateNextButtonAboveDatepickerFeature.js.map +1 -0
  45. package/dist/src/util/SyncBasketAddonRowQuantities.d.ts +11 -0
  46. package/dist/src/util/SyncBasketAddonRowQuantities.js +44 -0
  47. package/dist/src/util/SyncBasketAddonRowQuantities.js.map +1 -0
  48. package/dist/test.bundle.js +1 -1
  49. package/dist/vendors.bundle.js +1 -1
  50. package/package.json +2 -2
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[873],{49873:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var a=n(87462),r=n(42982),o=n(15861),i=n(70885),c=n(64687),u=n.n(c),s=n(63923),l=n(88144),f=n(27484),d=n.n(f),m=n(67294),v=n(87582),Z=n(73460),h=n(64401),p=n(78886),k=n(30584),y=n(77898),E=n(97754),g=n(84544),w=n(90292),x=n(39605);function M(){var e,t,n=(0,m.useContext)(s.lN),c=(0,m.useContext)(s.g7),f=null!==(e=null!==(t=n.startDate)&&void 0!==t?t:n.currentMonth)&&void 0!==e?e:d()().add(14,"day"),M=(0,l.q_)((function(){return{x:0,config:{mass:1,tension:170,friction:20}}})),b=(0,i.Z)(M,2),N=b[0].x,C=b[1],D=(0,m.useState)(0),S=(0,i.Z)(D,2),P=S[0],A=S[1],T=(0,Z.Z)(),I=(0,i.Z)(T,2),W=(I[0],I[1],(0,m.useState)([])),j=(0,i.Z)(W,2),R=j[0],_=j[1],F=(0,m.useState)(null),z=(0,i.Z)(F,2),B=(z[0],z[1]),L=(0,m.useState)(d()()),q=(0,i.Z)(L,2),J=q[0],G=q[1],H=(0,m.useState)(0),K=(0,i.Z)(H,2),O=K[0],Q=K[1],U=(0,m.useState)(!1),V=(0,i.Z)(U,2);V[0],V[1],(0,m.useEffect)((function(){_(y.ZP.getDaysBetween(d()(),f)),n.startDate&&setTimeout((function(){Y(n.startDate)}),500)}),[]);var X=function(e){e>0&&(e=0),C({x:e}),A(e)},Y=function(e){var t;t=J?Math.abs(Number(e.diff(J,"day"))):Number(e.format("DD")),X(-62*t)},$=function(){var e=(0,o.Z)(u().mark((function e(t){var n,a=arguments;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(a.length>1&&void 0!==a[1])||a[1],!t.isBefore(d()())){e.next=3;break}return e.abrupt("return");case 3:_((function(e){var a=n?y.ZP.getWeekFrom(t):y.ZP.getWeekTo(t);return n?[].concat((0,r.Z)(e),(0,r.Z)(a)):[].concat((0,r.Z)(a.reverse()),(0,r.Z)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,m.useEffect)((function(){B(R[R.length-1]),G(R[0]),Q(R.length)}),[R]),(0,m.useEffect)((function(){62*O-1e3<=-P&&te()}),[P]);var ee,te=function(){var e=(0,o.Z)(u().mark((function e(){var t;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:$(null!==(t=R[R.length-1])&&void 0!==t?t:f.add(7,"days"));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=(0,v.c0)((function(e){var t=e.down,n=(0,i.Z)(e.movement,1)[0],a=e.velocity;if(n*=c.screenSize<=w.Z.Medium?(a*=.75)>4?4:a<1?1:a:1,t)C({x:P+n});else{var r=P+n,o=62*O,u=0;if(r>0)u=0;else if(r<-o)u=-o;else{var s=-r/62;u=-62*(r%62>-31?Math.floor(s):Math.ceil(s))}62*O-1e3<=-r&&te(),C({x:u}),A(u)}})),ae=(0,m.useMemo)((function(){return m.createElement(m.Fragment,null,R.map((function(e,t){var n=e.format("D"),a=e.unix();return m.createElement(m.Fragment,null,m.createElement(h.Z,{key:a,text:n,selectable:!0,day:e,displayType:"week",unix:a}))})))}),[R]),re=(ee=Math.floor(P/62),J?J.add(-ee,"day").format("MMMM"):f.format("MMMM"));return m.createElement(m.Fragment,null,m.createElement("div",{className:"diji-calendar-navigation"},m.createElement(p.ZP,{icon:p.Tu.ArrowLeft2,onClick:function(){g.ZP.instance.sendInteraction("Show Previous Week",g.s_.CALENDAR,g._J.DATES),X(P+434)},color:E.Il.White,backgroundColor:E.Il.Navy,borderRadius:"round",size:"24px"}),m.createElement(p.ZP,{icon:p.Tu.ArrowRight2,onClick:function(){g.ZP.instance.sendInteraction("Show Next Week",g.s_.CALENDAR,g._J.DATES),X(P-434)},color:E.Il.White,backgroundColor:E.Il.Navy,borderRadius:"round",size:"24px"})),m.createElement("div",{className:"u-marg-top"},m.createElement(k.xv,{type:k.yG.Body,bold:!0,align:x.P.Center},re)),m.createElement("div",{className:"diji-calendar-week--global-month"},re),m.createElement("div",{className:"diji-calendar-week"},m.createElement("div",(0,a.Z)({className:"diji-calendar-week--track"},ne()),m.createElement(l.q.div,{className:"diji-calendar-week--items",style:{left:N}},ae))))}}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[873],{49873:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var a=n(87462),r=n(42982),o=n(15861),i=n(70885),c=n(64687),u=n.n(c),s=n(38342),l=n(88144),f=n(27484),d=n.n(f),m=n(67294),v=n(87582),Z=n(73460),h=n(64401),p=n(78886),k=n(30584),y=n(77898),E=n(97754),g=n(84544),w=n(90292),x=n(39605);function M(){var e,t,n=(0,m.useContext)(s.lN),c=(0,m.useContext)(s.g7),f=null!==(e=null!==(t=n.startDate)&&void 0!==t?t:n.currentMonth)&&void 0!==e?e:d()().add(14,"day"),M=(0,l.q_)((function(){return{x:0,config:{mass:1,tension:170,friction:20}}})),b=(0,i.Z)(M,2),N=b[0].x,C=b[1],D=(0,m.useState)(0),S=(0,i.Z)(D,2),P=S[0],A=S[1],T=(0,Z.Z)(),I=(0,i.Z)(T,2),W=(I[0],I[1],(0,m.useState)([])),j=(0,i.Z)(W,2),R=j[0],_=j[1],F=(0,m.useState)(null),z=(0,i.Z)(F,2),B=(z[0],z[1]),L=(0,m.useState)(d()()),q=(0,i.Z)(L,2),J=q[0],G=q[1],H=(0,m.useState)(0),K=(0,i.Z)(H,2),O=K[0],Q=K[1],U=(0,m.useState)(!1),V=(0,i.Z)(U,2);V[0],V[1],(0,m.useEffect)((function(){_(y.ZP.getDaysBetween(d()(),f)),n.startDate&&setTimeout((function(){Y(n.startDate)}),500)}),[]);var X=function(e){e>0&&(e=0),C({x:e}),A(e)},Y=function(e){var t;t=J?Math.abs(Number(e.diff(J,"day"))):Number(e.format("DD")),X(-62*t)},$=function(){var e=(0,o.Z)(u().mark((function e(t){var n,a=arguments;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(a.length>1&&void 0!==a[1])||a[1],!t.isBefore(d()())){e.next=3;break}return e.abrupt("return");case 3:_((function(e){var a=n?y.ZP.getWeekFrom(t):y.ZP.getWeekTo(t);return n?[].concat((0,r.Z)(e),(0,r.Z)(a)):[].concat((0,r.Z)(a.reverse()),(0,r.Z)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,m.useEffect)((function(){B(R[R.length-1]),G(R[0]),Q(R.length)}),[R]),(0,m.useEffect)((function(){62*O-1e3<=-P&&te()}),[P]);var ee,te=function(){var e=(0,o.Z)(u().mark((function e(){var t;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:$(null!==(t=R[R.length-1])&&void 0!==t?t:f.add(7,"days"));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=(0,v.c0)((function(e){var t=e.down,n=(0,i.Z)(e.movement,1)[0],a=e.velocity;if(n*=c.screenSize<=w.Z.Medium?(a*=.75)>4?4:a<1?1:a:1,t)C({x:P+n});else{var r=P+n,o=62*O,u=0;if(r>0)u=0;else if(r<-o)u=-o;else{var s=-r/62;u=-62*(r%62>-31?Math.floor(s):Math.ceil(s))}62*O-1e3<=-r&&te(),C({x:u}),A(u)}})),ae=(0,m.useMemo)((function(){return m.createElement(m.Fragment,null,R.map((function(e,t){var n=e.format("D"),a=e.unix();return m.createElement(m.Fragment,null,m.createElement(h.Z,{key:a,text:n,selectable:!0,day:e,displayType:"week",unix:a}))})))}),[R]),re=(ee=Math.floor(P/62),J?J.add(-ee,"day").format("MMMM"):f.format("MMMM"));return m.createElement(m.Fragment,null,m.createElement("div",{className:"diji-calendar-navigation"},m.createElement(p.ZP,{icon:p.Tu.ArrowLeft2,onClick:function(){g.ZP.instance.sendInteraction("Show Previous Week",g.s_.CALENDAR,g._J.DATES),X(P+434)},color:E.Il.White,backgroundColor:E.Il.Navy,borderRadius:"round",size:"24px"}),m.createElement(p.ZP,{icon:p.Tu.ArrowRight2,onClick:function(){g.ZP.instance.sendInteraction("Show Next Week",g.s_.CALENDAR,g._J.DATES),X(P-434)},color:E.Il.White,backgroundColor:E.Il.Navy,borderRadius:"round",size:"24px"})),m.createElement("div",{className:"u-marg-top"},m.createElement(k.xv,{type:k.yG.Body,bold:!0,align:x.P.Center},re)),m.createElement("div",{className:"diji-calendar-week--global-month"},re),m.createElement("div",{className:"diji-calendar-week"},m.createElement("div",(0,a.Z)({className:"diji-calendar-week--track"},ne()),m.createElement(l.q.div,{className:"diji-calendar-week--items",style:{left:N}},ae))))}}}]);
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[972],{31972:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(4942),o=n(70885),c=n(63923),i=n(67294),s=n(73460),a=n(26793),l=n(79478),u=n(78029),f=n(84544);function p(){var e=(0,a.$)().t,t=(0,i.useContext)(c.hy);return i.createElement(u.Z,{text:e(l.W.Step.Room.NextStep),disabled:!t.getAllValidRows().length,onClick:function(){return new Promise((function(e){f.ZP.instance.sendInteraction("Next Step",f.s_.BUTTON,f._J.ROOMS),t.clearSelectedRates(),e(!0)}))},wideByDefault:!0})}var m=n(3933),y=n(10513),d=n(90292);function O(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?O(Object(n),!0).forEach((function(t){(0,r.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,i.useContext)(c.g7),t=(0,i.useContext)(c.hy),n=(0,i.useState)({top:0}),r=(0,o.Z)(n,2),a=r[0],l=r[1],u=(0,s.Z)(),f=(0,o.Z)(u,2),O=f[0],b=f[1];return(0,i.useEffect)((function(){var e=window.innerHeight,t=b.height;l(e<t?{top:-(t-e+40)}:{top:150})}),[b]),(0,i.useMemo)((function(){return i.createElement("div",{ref:O,style:h({position:"sticky"},a)},!!t.getAllValidRows().length&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement(m.v,null),i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(y.Z,null)))}),[e.screenSize,a.top])}}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[972],{31972:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(4942),o=n(70885),c=n(38342),i=n(67294),s=n(73460),a=n(26793),l=n(79478),u=n(78029),f=n(84544);function p(){var e=(0,a.$)().t,t=(0,i.useContext)(c.hy);return i.createElement(u.Z,{text:e(l.W.Step.Room.NextStep),disabled:!t.getAllValidRows().length,onClick:function(){return new Promise((function(e){f.ZP.instance.sendInteraction("Next Step",f.s_.BUTTON,f._J.ROOMS),t.clearSelectedRates(),e(!0)}))},wideByDefault:!0})}var m=n(3933),y=n(10513),d=n(90292);function O(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?O(Object(n),!0).forEach((function(t){(0,r.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(){var e=(0,i.useContext)(c.g7),t=(0,i.useContext)(c.hy),n=(0,i.useState)({top:0}),r=(0,o.Z)(n,2),a=r[0],l=r[1],u=(0,s.Z)(),f=(0,o.Z)(u,2),O=f[0],b=f[1];return(0,i.useEffect)((function(){var e=window.innerHeight,t=b.height;l(e<t?{top:-(t-e+40)}:{top:150})}),[b]),(0,i.useMemo)((function(){return i.createElement("div",{ref:O,style:h({position:"sticky"},a)},!!t.getAllValidRows().length&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement(m.v,null),i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(p,null)),e.screenSize>d.Z.Medium&&i.createElement("div",{className:"u-marg-top--heavy"},i.createElement(y.Z,null)))}),[e.screenSize,a.top])}}}]);
@@ -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(63923),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(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))}}}]);