1"use strict";(self.webpackChunkbookcore_client=self.webpackChunkbookcore_client||[]).push([[65],{29575:function(e,t,o){var r=o(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=o(96540),s=r(o(5556)),i=o(51678),n=r(o(12873)),l=o(73647),d=o(74467),c=o(74848);class p extends a.Component{constructor(e){super(e),this.importDeviceView()}importDeviceView(){this.props.isDesktop?this.view=(0,a.lazy)(()=>(0,i.lazyRetry)(()=>Promise.all([o.e(8),o.e(7),o.e(32)]).then(o.t.bind(o,14051,23)))):this.view=(0,a.lazy)(()=>(0,i.lazyRetry)(()=>Promise.all([o.e(7),o.e(13)]).then(o.t.bind(o,9781,23))))}renderDesktop(){const e=this.view;return(0,c.jsx)(e,{addGiftCard:this.props.addGiftCard,additionalChargesProps:this.props.additionalChargesProps,additionalChargesText:this.props.additionalChargesText,BannerCreditCard:this.props.BannerCreditCard,bookingCode:this.props.bookingCode,cityTaxes:this.props.cityTaxes,roomConditions:this.props.roomConditions,currency:this.props.currency,currencyConversions:this.props.currencyConversions,currencyHotel:this.props.currencyHotel,directPaymentHotelText:this.props.directPaymentHotelText,discountAppliedText:this.props.discountAppliedText,displayRateDetails:this.props.displayRateDetails,earnedPoints:this.props.earnedPoints,finalChargesText:this.props.finalChargesText,finalChargesTitleText:this.props.finalChargesTitleText,forcedCurrencyFormat:this.props.forcedCurrencyFormat,freeCancellationUntilText:this.props.freeCancellationUntilText,giftCard:this.props.giftCard,guest:this.props.guest,hasEarnedPoints:this.props.hasEarnedPoints,hasFreeCancellation:this.props.hasFreeCancellation,hasRedeemedPoints:this.props.hasRedeemedPoints,hasToShowCurrencyPaymentAdvice:this.props.hasToShowCurrencyPaymentAdvice,hasToShowLoyaltyElements:this.props.hasToShowLoyaltyElements,hasToShowPointsRedeemerSlider:this.props.hasToShowPointsRedeemerSlider,hasToShowPromocodeValue:(0,l.hasToShowPromocodeValue)(this.props.promoCodePercentage,this.props.promoCodeAmount),hotel:this.props.hotel,isAgency:this.props.isAgency,isDesktop:this.props.isDesktop,isGiftCardActive:this.props.isGiftCardActive,isGiftCardOpen:this.props.isGiftCardOpen,isPaymentBenefitEnabled:this.props.isPaymentBenefitEnabled,isPointsRedeemerOpen:this.props.isPointsRedeemerOpen,locale:this.props.locale,loyaltyLogoUrl:this.props.loyaltyLogoUrl,packageProps:(0,l.buildPackageProps)(this.props),pointsRedeemerSliderProps:this.props.pointsRedeemerSliderProps,priceSummaryProps:this.props.priceSummaryProps,prices:this.props.prices,promoCode:this.props.promoCode,promoCodeAmount:this.props.promoCodeAmount,promoCodePercentage:this.props.promoCodePercentage,rateDetailsProps:(0,l.buildRateDetailsProps)(this.props),redeemedPoints:this.props.redeemedPoints,removeGiftCard:this.props.removeGiftCard,roomProps:(0,l.buildRoomProps)(this.props),source:this.props.source,subtotalPriceText:this.props.subtotalPriceText,taxesBreakdownProps:this.props.taxesBreakdownProps,texts:(0,l.getDesktopTexts)(this.props),toggleRateDetailsButton:this.props.toggleRateDetailsButton,updateGiftCardToggleState:this.props.updateGiftCardToggleState,updatePointsRedeemerToggleState:this.props.updatePointsRedeemerToggleState,upgrade:this.props.upgrade,upgradeType:this.props.upgradeType})}renderMobile(){const e=this.view;return(0,c.jsx)(e,{currencyConversions:this.props.currencyConversions,freeCancellationText:this.props.freeCancellationText,hasFreeCancellation:this.props.hasFreeCancellation,hasPendingExtras:this.props.hasPendingExtras,hotel:this.props.hotel,packageProps:(0,l.buildPackageProps)(this.props),points:this.props.points,roomProps:(0,l.buildRoomProps)(this.props),titleText:this.props.titleText,upgrade:this.props.upgrade,upgradeType:this.props.upgradeType})}render(){return(0,c.jsxs)(a.Suspense,{fallback:this.props.isDesktop?null:d.bookingSummary,children:[this.props.isDesktop?this.renderDesktop():this.renderMobile(),this.props.isModalOpen&&(0,c.jsx)(n.default,{...this.props.dialog,isDesktop:this.props.isDesktop,onClose:this.props.onCloseModal,onClickButton:this.props.onClickModalChangeButton})]})}}p.displayName="BookingSummaryController",p.propTypes={adultsText:s.default.string,adultText:s.default.string,bookingCode:s.default.string,cdn:s.default.string,checkInText:s.default.string,checkInToText:s.default.string,checkOutText:s.default.string,childrenText:s.default.string,childText:s.default.string,dialog:s.default.object,freeCancellationText:s.default.string,giftCard:s.default.object,guest:s.default.object,hasFreeCancellation:s.default.bool,hasToShowPointsRedeemerSlider:s.default.bool,hotel:s.default.object,infantsText:s.default.string,infantText:s.default.string,isDesktop:s.default.bool,isModalOpen:s.default.bool,locale:s.default.string,nightsText:s.default.string,nightText:s.default.string,packages:s.default.array,paymentBenefitApplied:s.default.string,pointsRedeemerSliderProps:s.default.object,redeemedPoints:s.default.oneOfType([s.default.number,s.default.string]),roomNumberText:s.default.string,rooms:s.default.array,titleText:s.default.string,hasEarnedPoints:s.default.bool,hasRedeemedPoints:s.default.bool},p.defaultProps={bookingCode:"",cdn:"",guest:{},hasEarnedPoints:!1,hasFreeCancellation:!1,hasRedeemedPoints:!1,hasToShowPointsRedeemerSlider:!1,hotel:{address:"",category:{code:"",value:0},name:"",rating:""},isDesktop:!1,isModalOpen:!1,locale:"en",packages:[],paymentBenefitApplied:"none",rooms:[]};t.default=p;e.exports=t.default},33670:function(e,t,o){var r=o(24994);
1Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=o(96540),s=r(o(5556)),i=o(51678),n=r(o(29575)),l=o(74848);class d extends a.Component{constructor(e){super(e),this.state={displayRateDetails:!1},this.bindActions()}bindActions(){this.toggleRateDetailsButton=this.toggleRateDetailsButton.bind(this)}toggleRateDetailsButton(){this.setState({displayRateDetails:!this.state.displayRateDetails})}render(){return(0,l.jsx)(n.default,{...this.props,...this.state,isPaymentBenefitEnabled:this.props.isPaymentBenefitEnabled,onClickModalChangeButton:this.props.dialog.onClickButton,onCloseModal:this.props.dialog.onClose,toggleRateDetailsButton:this.toggleRateDetailsButton,updateGiftCardToggleState:this.props.updateGiftCardToggleState,updatePointsRedeemerToggleState:this.props.updatePointsRedeemerToggleState})}}t.default=d,d.displayName="BookingSummaryModel",d.propTypes={dialog:s.default.object,paymentBenefitApplied:s.default.string,toggleRateDetailsButton:s.default.func,updateGiftCardToggleState:s.default.func,updatePointsRedeemerToggleState:s.default.func},d.defaultProps={dialog:{onClickButton:i.defaultEmptyFunction,onClose:i.defaultEmptyFunction},paymentBenefitApplied:"none",toggleRateDetailsButton:i.defaultEmptyFunction,updateGiftCardToggleState:i.defaultEmptyFunction,updatePointsRedeemerToggleState:i.defaultEmptyFunction},e.exports=t.default},40916:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(31090);t.default={getFormatedDate:function(e,t){return(0,r.setDatesLocale)(e),(0,r.getFormattedDate)("L",(0,r.getDate)({date:t,format:["DD/MM/YYYY","YYYY-MM-DD"]}))}};e.exports=t.default},88131:function(e,t,o){var r=o(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(o(44908));t.default={getSrcSetForRoom:function(e,t){return t?a.default.getUrlsWithDprFromCDN(e.url,t,s):a.default.getSrcSetWithoutCDN(e)},getCdnImageforRoom:function(e,t){return a.default.getUrlFromCDN(e.url,t,s)}};const s={bookingSummary:"room"};e.exports=t.default},73647:function(e,t,o){var r=o(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(o(27874)),s=o(40916),i=o(88131),n=o(40289);function l({currencyHotel:e,locale:t,forcedCurrencyFormat:o}){return new a.default(e,t,o)}function d(e,t){const o=t.currencyConversions&&t.currencyConversions[t.currency],r=l({...t}),a={extraText:t.extraText,daysText:t.daysText,quantityText:t.quantityText,freeText:t.freeText,subtotalText:t.subtotalText};return{extras:e.extras?e.extras.map(e=>{const a=e;return a.totalFormatted=r.convertAndFormat(a.total,t.currency,o),a}):[],extraTexts:a}}t.default={buildPackageProps:function(e){const t=e.currencyConversions&&e.currencyConversions[e.currency],o=l({...e}),r={checkInText:e.checkInText,checkOutText:e.checkOutText,dateText:e.dateText,checkInToText:e.checkInToText};return{packages:e.packages.map(r=>{const a=o.convertAndFormat(r.total,e.currency,t),i=(0,s.getFormatedDate)(e.locale,r.checkInDate),n=r.checkOutDate?(0,s.getFormatedDate)(e.locale,r.checkOutDate):void 0;return{...r,...n&&{checkOutDate:n},checkInDate:i,totalFormatted:a}}),packageTexts:r}},buildRateDetailsProps:function(e){const t=e.currencyConversions?.[e.currency],{currencyHotel:o,locale:r,forcedCurrencyFormat:a}=e,s=l({currencyHotel:o,locale:r,forcedCurrencyFormat:a}),i={commissionText:e.commissionText,dayText:e.rateDetailsListDayText,hotelTaxesText:e.hotelTaxesText,priceText:e.rateDetailsListPriceText,rateText:e.rateDetailsListRateText,roomText:e.rateDetailsListRoomText,viewDetailsText:e.viewDetailsText,viewText:e.rateDetailsListViewText};return{rateDetails:e.rateDetailsList.map(o=>{const r=o;return r.priceFormatted=s.convertAndFormat(r.price,e.currency,t),r}),rateDetailsTexts:i}},buildRoomProps:function(e){const t=e.currencyConversions&&e.currencyConversions[e.currency],o=l({...e}),r={addedExtraText:e.addedExtraText,addExtrasText:e.addExtrasText,addExtraText:e.addExtraText,adultsText:e.adultsText,adultText:e.adultText,boardText:e.boardText,checkInText:e.checkInText,checkInToText:e.checkInToText,checkOutText:e.checkOutText,childrenText:e.childrenText,childText:e.childText,daysText:e.daysText,editText:e.editText,haveServicesAvailableText:e.haveServicesAvailableText,infantsText:e.infantsText,infantText:e.infantText,nightsText:e.nightsText,nightText:e.nightText,occupancyLabelText:e.occupancyLabelText,roomNumberText:e.roomNumberText,servicesText:e.servicesText,serviceText:e.serviceText,subtotalText:e.subtotalText,upgradedText:e.upgradedText};return{rooms:e.rooms.map(a=>{const l={checkInDate:(0,s.getFormatedDate)(e.locale,a.checkInDate),
1checkOutDate:(0,s.getFormatedDate)(e.locale,a.checkOutDate)},c={checkInDate:a.checkInDate,checkOutDate:a.checkOutDate};return{...{...a,cdnImage:(0,i.getCdnImageforRoom)(a,e.cdn),extrasProps:d(a,e),nightsText:(0,n.getNightsText)(e.locale,c,r),occupancyText:(0,n.getOccupancyText)(a.occupancy,r),srcSet:(0,i.getSrcSetForRoom)(a,e.cdn),totalFormatted:o.convertAndFormat(a.total,e.currency,t)},...l}}),roomTexts:r,onClickOnRoomExtraLink:e.onClickOnRoomExtraLink}},getDesktopTexts:function(e){return{agency:e.agencyText,board:e.boardText,condition:e.conditionsText,currencyPaymentAdvice:e.currencyPaymentAdviceText,email:e.emailText,finalTaxesText:e.finalTaxesText,free:e.freeText,freeCancellation:e.freeCancellationText,giftCard:{giftCardText:e.giftCardText,giftCardButtonText:e.giftCardButtonText,giftCardFormText:e.giftCardFormText,giftCardPlaceHolderText:e.giftCardPlaceHolderText,amountText:e.amountText,amountRemainderText:e.amountRemainderText},hotelTaxes:e.hotelTaxesText,name:e.nameText,occupancyLabel:e.occupancyLabelText,points:e.pointsText,promocode:e.promocodeText,subtotal:e.subtotalText,taxes:e.taxesText,taxesIncluded:e.taxesIncludedText,title:e.titleText,totalBooking:e.totalBookingText,untilDate:e.untilDate,untilDateWithTimeText:e.untilDateWithTimeText,upgrade:{notAvailableRoom:e.notAvailableRoom,servicesTitleText:e.servicesTitleText,upgradeBoardButton:e.upgradeBoardButton,upgradeRoomButton:e.upgradeRoomButton},upgraded:e.upgradedText}},hasToShowPromocodeValue:(e,t)=>e<0||t<0};e.exports=t.default},40289:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(31090);function a(e,{currentText:t,singularText:o,pluralText:r}){let a=function(e,t,o){let r;return r="0"===e?"":"1"===e?`${e} ${t}`:`${e} ${o}`,r}(e,o,r);return t&&a?a=`${t}, ${a}`:a||(a=t),a}t.default={getNightsText:function(e,t,o){(0,r.setDatesLocale)(e);const a=(0,r.getDate)({date:t.checkInDate}),s=(0,r.getDate)({date:t.checkOutDate}),i=(0,r.getDiffDays)(a,s);return`${i} ${1===i?o.nightText:o.nightsText}`},getOccupancyText:function(e,t){const o={singular:[t.adultText,t.childText,t.infantText],plural:[t.adultsText,t.childrenText,t.infantsText]},r=e.split("-");let s="";for(let e=0;e<3;e+=1)s=a(r[e],{currentText:s,singularText:o.singular[e],pluralText:o.plural[e]});return s}};e.exports=t.default},7275:function(e,t,o){var r=o(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(o(33670));t.default=a.default;e.exports=t.default},74467:function(e,t,o){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(74848);const a=(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{children:"\n @keyframes loading-booking-summary {\n 0% { opacity: 1; }\n 50% { opacity: 0.2; }\n 100% { opacity: 1; }\n }\n #booking-summary {\n opacity: 1;\n animation: loading-booking-summary 2s 0ms ease infinite;\n }\n "}),(0,r.jsx)("svg",{width:"100%",viewBox:"0 0 320 195",version:"1.1",xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",children:(0,r.jsxs)("g",{id:"booking-summary",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd",children:[(0,r.jsx)("rect",{id:"card",stroke:"#D8D8D8",x:"10",y:"80",width:"300",height:"100",rx:"4"}),(0,r.jsx)("rect",{id:"room-title",fill:"#808080",x:"21",y:"92",width:"150",height:"14",rx:"4"}),(0,r.jsx)("rect",{id:"hotel-title",fill:"#666666",x:"11",y:"37",width:"160",height:"14",rx:"4"}),(0,r.jsx)("rect",{id:"rating",fill:"#666666",x:"282",y:"37",width:"27",height:"14",rx:"4"}),(0,r.jsx)("rect",{id:"read-more",fill:"#ACACAC",x:"85",y:"7",width:"150",height:"14",rx:"4"}),(0,r.jsx)("rect",{id:"paragraph-line-3",fill:"#D8D8D8",x:"21",y:"156",width:"100",height:"10",rx:"4"}),(0,r.jsx)("rect",{id:"paragraph-line-2",fill:"#D8D8D8",x:"21",y:"136",width:"200",height:"10",rx:"4"}),(0,r.jsx)("rect",{id:"paragraph-line-1",fill:"#D8D8D8",x:"21",y:"116",width:"220",height:"10",rx:"4"}),(0,r.jsx)("rect",{id:"hotel-address",fill:"#D8D8D8",x:"11",y:"57",width:"220",height:"10",rx:"4"})]})})]});t.default={bookingSummary:a};e.exports=t.default}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.