1"use strict";(self.webpackChunkbookcore_client=self.webpackChunkbookcore_client||[]).push([[17],{74894:function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(31090),s=a(51678);t.default={allCheckboxSelected:({days:e})=>e.every(e=>e.isActive),getDateFormats:(e,t)=>{const a=(0,r.getDate)({date:e,format:t});return{formattedLocalizedDate:(0,r.getFormattedLocalizedDate)(a),month:(0,r.getMonthNameShort)(a),numberDay:(0,r.getDayOfMonth)(a),week:(0,r.getWeekdaysShort)(a)}},getDateFormatted:({date:e,format:t})=>(0,r.getFormattedLocalizedDate)((0,r.getDate)({date:e,format:t})),getImages:({thumbnail:e,title:t})=>[{name:t,url:e.url}],getPropsExtraAdded:({codigo:e,days:t,finalPrice:a,priceMode:r,selectedOccupancy:o,selectedService:c,uuid:i})=>({cantidad_habs:1,cantidad:"P"===r?(0,s.getOccupancyNum)(o)?.totalWithFee:c,cod_complemento:e,daysSelected:t.filter(e=>e.isActive).map(({dia:e})=>e.formato1),finalPrice:a,hab:i}),PRICE_TYPES:{FIRST_AND_LAST_DAY:"PRIMER_Y_ULTIMO_DIA",FIRST_DAY:"PRIMER_DIA",LAST_DAY:"ULTIMO_DIA",SELECT_DAY:"SELECCIONAR_DIA",WHOLE_STAY:"TODA_ESTANCIA"},updateDatesWithLocale:e=>{(0,r.updateDatesLocale)((0,s.getLangFromSite)()||e.split("_")[0])}};e.exports=t.default},6766:function(e,t,a){var r=a(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=a(96540),o=r(a(5556)),c=a(51678),i=r(a(12873)),d=a(74848);const n=(0,s.lazy)(()=>(0,c.lazyRetry)(()=>a.e(108).then(a.t.bind(a,58583,23)))),l=(0,s.lazy)(()=>(0,c.lazyRetry)(()=>a.e(27).then(a.t.bind(a,81763,23)))),u=({addExtras:e=c.defaultEmptyFunction,addExtrasDraft:t,addMoreExtrasText:a,baseTaxesIncluded:r,buttonAddText:o,buttonRemoveText:u,buttonSaveDayText:x,buttonSaveExtraText:p,changeShowBounce:T,checkInDate:m,checkOutDate:f,chooseDaysUnavailableText:y,closeDetailText:S,continueWithoutExtrasText:D,currencyCode:v,currencyConversion:h,customizeCarouselSettings:E,dayAndServiceText:C,daysText:g,dialEveryDayText:b,extras:k,extraSelected:P,extrasSummaryButtonText:w,forcedCurrencyFormat:A,formatDates:_,freeText:I,fromText:O,hasToShowExtras:M,hasToShowExtrasInBanner:R,hotelCode:F,isDesktop:B,isMultipleRooms:L,locale:U,nextText:N,noMoreExtrasText:Y,numberServicesText:z,onClickButton:j,onClickClose:V=c.defaultEmptyFunction,previousText:W,pricePerPersonText:q,priceText:H,priceUntilPerDayText:$,priceUntilPerPersonDayText:Q,quantityText:X,readLessText:G,readMoreText:J,roomCode:K,roomName:Z,saveButtonText:ee,saveExtra:te=c.defaultEmptyFunction,selectDaysText:ae,selectedOccupancy:re,sendECommerceEvent:se=c.defaultEmptyFunction,serviceMultipleText:oe,servicesText:ce,serviceText:ie,setExtras:de,setSelectedService:ne=c.defaultEmptyFunction,showBounce:le,showCardDetail:ue=!1,showContainer:xe=!0,showSummary:pe,showSummaryCard:Te=!1,summaryText:me,swapView:fe,taxes:ye,textButton:Se,title:De,totalPrice:ve=0,totalText:he,updateAllDays:Ee=c.defaultEmptyFunction,updateSelectedDay:Ce=c.defaultEmptyFunction,updateSummaryStatus:ge=c.defaultEmptyFunction,uuid:be})=>{const ke=B?n:l;return(0,d.jsx)(s.Suspense,{fallback:B?null:(0,d.jsx)(i.default,{type:"inlineloader"}),children:(0,d.jsx)(ke,{addExtras:e,addExtrasDraft:t,addMoreExtrasText:a,baseTaxesIncluded:r,buttonAddText:o,buttonRemoveText:u,buttonSaveDayText:x,buttonSaveExtraText:p,changeShowBounce:T,checkInDate:m,checkOutDate:f,chooseDaysUnavailableText:y,closeDetailText:S,continueWithoutExtrasText:D,currencyCode:v,currencyConversion:h,customizeCarouselSettings:E,dayAndServiceText:C,daysText:g,dialEveryDayText:b,extras:k,extraSelected:P,extrasSummaryButtonText:w,forcedCurrencyFormat:A,formatDates:_,freeText:I,fromText:O,hasToShowExtras:M,hasToShowExtrasInBanner:R,hotelCode:F,isDesktop:B,isMultipleRooms:L,locale:U,nextText:N,noMoreExtrasText:Y,numberServicesText:z,onClickButton:j,onClickClose:V,previousText:W,pricePerPersonText:q,priceText:H,priceUntilPerDayText:$,priceUntilPerPersonDayText:Q,quantityText:X,readLessText:G,readMoreText:J,roomCode:K,roomName:Z,saveButtonText:ee,saveExtra:te,selectDaysText:ae,selectedOccupancy:re,sendECommerceEvent:se,serviceMultipleText:oe,servicesText:ce,serviceText:ie,setExtras:de,setSelectedService:ne,showBounce
1:le,showCardDetail:ue,showContainer:xe,showSummary:pe,showSummaryCard:Te,summaryText:me,swapView:fe,taxes:ye,textButton:Se,title:De,totalPrice:ve,totalText:he,updateAllDays:Ee,updateSelectedDay:Ce,updateSummaryStatus:ge,uuid:be})})};u.displayName="ExtrasContainerController",u.propTypes={addExtras:o.default.func,buttonAddText:o.default.string,buttonRemoveText:o.default.string,checkInDate:o.default.string,checkOutDate:o.default.string,chooseDaysUnavailableText:o.default.string,closeDetailText:o.default.string,continueWithoutExtrasText:o.default.string,currencyCode:o.default.string,customizeCarouselSettings:o.default.object,dialEveryDayText:o.default.string,extras:o.default.array,extraSelected:o.default.object,extrasSummaryButtonText:o.default.string,forcedCurrencyFormat:o.default.object,formatDates:o.default.string,freeText:o.default.string,hotelCode:o.default.string,isDesktop:o.default.bool,locale:o.default.string,nextText:o.default.string,noMoreExtrasText:o.default.string,numberServicesText:o.default.string,onClickClose:o.default.func,previousText:o.default.string,pricePerPersonText:o.default.string,priceText:o.default.string,readLessText:o.default.string,readMoreText:o.default.string,roomCode:o.default.string,roomName:o.default.string,saveButtonText:o.default.string,saveExtra:o.default.func,selectDaysText:o.default.string,selectedOccupancy:o.default.string,sendECommerceEvent:o.default.func,servicesText:o.default.string,serviceText:o.default.string,setSelectedService:o.default.func,showCardDetail:o.default.bool,showContainer:o.default.bool,showSummary:o.default.bool,showSummaryCard:o.default.bool,swapView:o.default.func,taxes:o.default.string,title:o.default.string,totalPrice:o.default.number,totalText:o.default.string,updateSummaryStatus:o.default.func,updateAllDays:o.default.func,updateSelectedDay:o.default.func,uuid:o.default.string};t.default=u;e.exports=t.default},39073:function(e,t,a){var r=a(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=a(96540),o=r(a(5556)),c=a(51678),i=a(778),d=a(15772),n=r(a(6766)),l=a(74848);const u=({addExtras:e=c.defaultEmptyFunction,addExtrasDraft:t,addMoreExtrasText:a,baseTaxesIncluded:r,buttonAddText:o,buttonRemoveText:u,buttonSaveDayText:x,buttonSaveExtraText:p,checkInDate:T,checkOutDate:m,chooseDaysUnavailableText:f,closeDetailText:y,continueWithoutExtrasText:S,currencyCode:D,currencyConversion:v,customizeCarouselSettings:h,dayAndServiceText:E,daysText:C,dialEveryDayText:g,extras:b=[],extrasSummaryButtonText:k,forcedCurrencyFormat:P,formatDates:w,freeText:A,fromText:_,hasToShowExtras:I,hasToShowExtrasInBanner:O,hotelCode:M,isDesktop:R,isMultipleRooms:F,locale:B,nextText:L,noMoreExtrasText:U,numberServicesText:N,onClickButton:Y,onClickClose:z=c.defaultEmptyFunction,previousText:j,pricePerPersonText:V,priceText:W,priceUntilPerDayText:q,priceUntilPerPersonDayText:H,quantityText:$,readLessText:Q,readMoreText:X,roomCode:G,roomName:J,saveButtonText:K,selectDaysText:Z,selectedOccupancy:ee,sendECommerceEvent:te=c.defaultEmptyFunction,serviceMultipleText:ae,servicesText:re,serviceText:se,summaryText:oe,taxes:ce,textButton:ie,title:de,totalText:ne,uuid:le})=>{const[ue,xe]=(0,s.useState)({showCardDetail:!1,showContainer:!0}),[pe,Te]=(0,s.useState)(b),[me,fe]=(0,s.useState)(0),[ye,Se]=(0,s.useState)(null),[De,ve]=(0,s.useState)(!1),[he,Ee]=(0,s.useState)(!1),[Ce,ge]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{Te(b)},[b]),(0,s.useEffect)(()=>{I||(xe({showCardDetail:!1,showContainer:!0}),fe(0),Se(null),ve(!1),Ee(!1),ge(!1))},[I]),(0,s.useEffect)(()=>{const e=(0,i.getExtrasAdded)({extras:pe}),t=e.reduce((e,t)=>e+t.finalPrice,0);fe(t),ve(e.length>0)},[pe]),(0,s.useEffect)(()=>{Ce&&setTimeout(()=>{ge(!1)},1100)},[Ce]),(0,l.jsx)(n.default,{addExtras:()=>e((0,i.getExtrasAdded)({extras:pe})),addExtrasDraft:t,addMoreExtrasText:a,baseTaxesIncluded:r,buttonAddText:o,buttonRemoveText:u,buttonSaveDayText:x,buttonSaveExtraText:p,checkInDate:T,checkOutDate:m,chooseDaysUnavailableText:f,closeDetailText:y,continueWithoutExtrasText:S,currencyCode:D,currencyConversion:v,customizeCarouselSettings:h,dayAndServiceText:E,daysText:C,dialEveryDayText:g,extras:pe,extraSelected:ye?pe.find(e=>e.pk===ye):null,extrasSummaryButtonText:k,forcedCurrencyFormat:P,formatDates:w,freeText:A,fromText:_,hasToShowExtras:I,hotelCode:M,isDesktop:R,hasToShowExtrasInBanner:O,isMultipleRooms:F,locale:B,nextText:L,noMoreExtrasText:U,numberServicesText:N,onClickButton:Y,onClickClose:z,previousText:j,pricePerPersonText:V,priceText:W,priceUntilPerDayText:q,priceUntilPerPersonDayText:H,quantityText:$,readLessText:Q,readMoreText:X,roomCode:G,room
1Name:J,showBounce:Ce,changeShowBounce:ge,saveButtonText:K,saveExtra:(e,a)=>{const s=pe.map(t=>t.pk===e.pk?{...t,...a,isAdded:!0}:t);Te(s),te("ga4SelectItem",{baseTaxesIncluded:r,checkInDate:T,checkOutDate:m,currency:e.moneda.codigo,extraCode:e.pk,extraName:e.nombre,hotelCode:M,itemCategory:"extras",listId:"extras",listName:"extras availability",position:e.orden,price:e.precio,quantity:1,roomCode:G}),(0,i.swapView)({selectedOccupancy:ee,setExtras:Te,setExtraSelectedPk:Se,setState:xe,state:ue,stateExtras:pe}),R||t({extras:s,uuid:le})},selectDaysText:Z,selectedOccupancy:ee,sendECommerceEvent:te,serviceMultipleText:ae,servicesText:re,serviceText:se,setExtras:Te,summaryText:oe,setSelectedService:(e,t)=>(0,d.setSelectedService)({extras:pe,pk:e,selectedOccupancy:ee,selectedService:t,setExtras:Te}),showCardDetail:ue.showCardDetail,showContainer:ue.showContainer,showSummary:he,showSummaryCard:De,swapView:e=>(0,i.swapView)({pk:e,selectedOccupancy:ee,setExtras:Te,setExtraSelectedPk:Se,setState:xe,state:ue,stateExtras:pe}),taxes:ce,textButton:ie,title:de,totalPrice:me,totalText:ne,updateSummaryStatus:()=>(0,i.updateSummaryStatus)({showSummary:he,setShowSummary:Ee}),updateAllDays:e=>(0,d.updateAllDays)({extras:pe,isDesktop:R,pk:e,selectedOccupancy:ee,setExtras:Te}),updateSelectedDay:(e,t)=>(0,d.updateSelectedDay)({extras:pe,index:t,pk:e,selectedOccupancy:ee,setExtras:Te}),uuid:le})};u.displayName="ExtrasContainerModel",u.propTypes={addExtras:o.default.func,buttonAddText:o.default.string,buttonRemoveText:o.default.string,checkInDate:o.default.string,checkOutDate:o.default.string,chooseDaysUnavailableText:o.default.string,closeDetailText:o.default.string,continueWithoutExtrasText:o.default.string,currencyCode:o.default.string,customizeCarouselSettings:o.default.object,dialEveryDayText:o.default.string,extras:o.default.array,extrasSummaryButtonText:o.default.string,formatDates:o.default.string,freeText:o.default.string,hotelCode:o.default.string,isDesktop:o.default.bool,locale:o.default.string,nextText:o.default.string,noMoreExtrasText:o.default.string,numberServicesText:o.default.string,onClickClose:o.default.func,previousText:o.default.string,pricePerPersonText:o.default.string,priceText:o.default.string,readLessText:o.default.string,readMoreText:o.default.string,roomCode:o.default.string,roomName:o.default.string,saveButtonText:o.default.string,selectDaysText:o.default.string,selectedOccupancy:o.default.string,sendECommerceEvent:o.default.func,serviceText:o.default.string,servicesText:o.default.string,taxes:o.default.string,title:o.default.string,totalText:o.default.string,uuid:o.default.string};t.default=u;e.exports=t.default},15772:function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(74894),s=a(51678);const o=(e,t,a)=>((e,t)=>(t===r.PRICE_TYPES.FIRST_DAY||t===r.PRICE_TYPES.FIRST_AND_LAST_DAY)&&0===e)(e,t)||((e,t,a)=>(t===r.PRICE_TYPES.LAST_DAY||t===r.PRICE_TYPES.FIRST_AND_LAST_DAY)&&e===a)(e,t,a)||t===r.PRICE_TYPES.WHOLE_STAY||0===a,c=(e,t,a)=>o(e,t,a)||t===r.PRICE_TYPES.SELECT_DAY,i=({dias:e,gratuito:t,priceMode:a,selectedOccupancy:r,selectedService:o})=>{let c;if(t)c=0;else{let t=e?.filter(({isActive:e})=>e).reduce((e,t)=>e+t.dia.precio,0);"P"===a&&r&&(t*=(0,s.getOccupancyNum)(r)?.totalWithFee),c=t*o}return c};t.default={canChooseDays:e=>e===r.PRICE_TYPES.SELECT_DAY,isActiveDay:o,isShowDay:c,prepareSelectedDays:({extras:e,pk:t,selectedOccupancy:a,setExtras:r})=>{const s=e.find(e=>e.pk===t),d=[];s.dias.forEach((e,t)=>{d.push({...e,isActive:o(t,s.tipo_precio,s.dias.length-1),isShow:c(t,s.tipo_precio,s.dias.length-1)})}),r(e.map(e=>({...e,...e.pk===t&&{dias:d,finalPrice:i({dias:d,gratuito:e.gratuito,priceMode:e.modo_precio,selectedOccupancy:a,selectedService:1}),selectedService:1}})))},setSelectedService:({extras:e,pk:t,selectedOccupancy:a,selectedService:r,setExtras:s})=>{s(e.map(e=>({...e,...e.pk===t&&{finalPrice:i({dias:e.dias,gratuito:e.gratuito,priceMode:e.modo_precio,selectedOccupancy:a,selectedService:r}),selectedService:r}})))},updateAllDays:({extras:e,isDesktop:t,pk:a,selectedOccupancy:s,setExtras:o})=>
1{const c=e.find(e=>e.pk===a).dias,d=c.map(e=>({...e,isActive:!!t||!(0,r.allCheckboxSelected)({days:c})}));o(e.map(e=>({...e,...e.pk===a&&{dias:d,finalPrice:i({dias:d,gratuito:e.gratuito,priceMode:e.modo_precio,selectedOccupancy:s,selectedService:e.selectedService})}})))},updateSelectedDay:({extras:e,index:t,pk:a,selectedOccupancy:r,setExtras:s})=>{const o=e.find(e=>e.pk===a).dias.map((e,a)=>a===t?{...e,isActive:!e.isActive}:{...e});s(e.map(e=>({...e,...e.pk===a&&{dias:o,finalPrice:i({dias:o,gratuito:e.gratuito,priceMode:e.modo_precio,selectedOccupancy:r,selectedService:e.selectedService})}})))}};e.exports=t.default},778:function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(37039),s=a(98424),o=a(15772);const c=({addExtrasDraft:e,isDesktop:t,pk:a,setExtras:r,stateExtras:s,uuid:o})=>{const c=s.map(e=>({...e,...e.pk===a&&{cantidad_habs:null,cantidad:null,cod_complemento:null,daysSelected:null,hab:null,isAdded:!1,finalPrice:null}}));r(c),t||e({extras:c,uuid:o})},i=({currencyCode:e,currencyConversion:t,formatArgs:a,free:r,freeText:c,fromText:i,locale:d,price:n,priceMode:l,priceType:u,priceUntilPerDayText:x,priceUntilPerPersonDayText:p})=>{const T=(0,s.convertAndFormatPrice)({currencyCode:e,currencyConversion:t,formatArgs:a,locale:d,price:n});let m="";if(r)m=c;else if((0,o.canChooseDays)(u)){m=("P"===l?p:x).replace("<PRICE>",T)}else m=`${i} ${T}`;return m};t.default={getAssociateExtras:({dayAndServiceText:e,daysSelected:t,daysText:a,maxQuantity:r,priceMode:s,selectedService:o})=>{let c=a.replace("<DAY_COUNT>",t.length);return"P"!==s&&r>1&&(c=e.replace("<DAY_COUNT>",t.length).replace("<SERVICE_COUNT>",o)),c},getCarouselComponentProps:({baseTaxesIncluded:e,buttonAddText:t,buttonRemoveText:a,checkInDate:r,checkOutDate:s,currencyCode:o,currencyConversion:i,extras:d,forcedCurrencyFormat:n,freeText:l,hotelCode:u,isDesktop:x,locale:p,numberServicesText:T,pricePerPersonText:m,roomCode:f,sendECommerceEvent:y,setExtras:S,swapView:D,taxes:v})=>({items:d.map(h=>({buttonAddText:t,buttonRemoveText:a,currencyCode:o,currencyConversion:i,forcedCurrencyFormat:n,photo:h.foto,free:h.gratuito,freeText:l,handlerAdd:()=>{y("ga4ViewItem",{baseTaxesIncluded:e,checkInDate:r,checkOutDate:s,currency:h.moneda.codigo,extraCode:h.codigo,extraName:h.nombre,hotelCode:u,itemCategory:"extras",listId:"extras",listName:"extras availability",position:h.orden,price:h.precio,quantity:1,roomCode:f}),D(h.pk)},handlerRemove:()=>c({isDesktop:x,pk:h.pk,setExtras:S,stateExtras:d}),imageUrl:h.foto.url,isAdded:h.isAdded,locale:p,numberServicesText:T,price:h.precio,priceMode:h.modo_precio,pricePerPersonText:m,subtitle:h.descripcion,taxes:v,title:h.nombre}))}),getCarouselSettings:({arrows:e,arrowsSpace:t,captions:a,dots:s,infinite:o,isDesktop:c})=>({arrows:e,arrowsSpace:t,captions:a,dots:s,infinite:o,isDesktop:c,slidesToScroll:4,slidesToShow:4,responsive:[{breakpoint:r.size.tabletL,settings:{slidesToShow:3,slidesToScroll:3}},{breakpoint:r.size.tablet,settings:{slidesToShow:2,slidesToScroll:2}},{breakpoint:r.size.mobileXL,settings:{slidesToShow:1,slidesToScroll:1}}]}),getComponentProps:({addExtrasDraft:e,buttonAddText:t,buttonRemoveText:a,buttonSaveDayText:r,checkInDate:s,checkOutDate:o,currencyCode:d,currencyConversion:n,daysText:l,extra:u,extras:x,forcedCurrencyFormat:p,freeText:T,fromText:m,hotelCode:f,isDesktop:y,locale:S,numberServicesText:D,priceUntilPerDayText:v,priceUntilPerPersonDayText:h,roomCode:E,sendECommerceEvent:C,setExtras:g,swapView:b,taxes:k,uuid:P})=>({buttonAddText:t,buttonRemoveText:a,buttonSaveDayText:r,checkInDate:s,checkOutDate:o,daysText:l,extras:x,handlerAdd:()=>{u.isAdded||(C("ga4ViewItem",{checkInDate:s,checkOutDate:o,currency:u.moneda.codigo,extraCode:u.codigo,extraName:u.nombre,hotelCode:f,itemCategory:"extras",listId:"extras",listName:"extras availability",position:u.orden,price:u.precio,quantity:1,roomCode:E}),b(u.pk))},handlerRemove:()=>c({addExtrasDraft:e,isDesktop:y,pk:u.pk,setExtras:g,stateExtras:x,uuid:P}),hotelCode:f,imageUrl:u.foto.url,isAdded:u.isAdded,isDesktop:y,numberServicesText:D,photo:u.foto,price:u.precio,priceMode:u.modo_precio,priceText:i({currencyCode:d,currencyConversion:n,formatArgs:p,free:u.gratuito,freeText:T,fromText:m,locale:S,price:u.precio,priceMode:u.modo_precio,priceType:u.tipo_precio,priceUntilPerDayText:v,priceUntilPerPersonDayText:h}),priceType:u.tipo_precio,roomCode:E,subtitle:u.descripcion,taxes:k,title:u.nombre,uuid:P}),getExtrasAdded:({extras:e,all:t=!1})=>e.filter(e=>e.isAdded).map(e=>({...t&&{...e},cantidad_habs:e.cantidad_habs,cantidad:e.cantidad,cod_complemento:e.codigo,dias:e.daysSelected,finalPrice
1:e.finalPrice,hab:e.hab,name:e.nombre,pk:e.pk})),getFormatedSubtitlePrice:i,getHasExtrasAdded:e=>e.find(e=>e.isAdded),getHasToShowDjangoOverlay:({hasToShowExtrasInBanner:e,isMultipleRooms:t})=>!e&&t,getHasToShowOverlay:({isMultipleRooms:e,showCardDetail:t,totalPrice:a})=>e||t||a,swapView:({pk:e=null,selectedOccupancy:t,setExtras:a,setExtraSelectedPk:r,setState:s,state:c,stateExtras:i})=>{s({...c,showCardDetail:!c.showCardDetail,showContainer:!c.showContainer}),r(e),e&&(0,o.prepareSelectedDays)({extras:i,pk:e,selectedOccupancy:t,setExtras:a})},unselectExtra:c,updateSummaryStatus:({showSummary:e,setShowSummary:t})=>{t(!e)}};e.exports=t.default},94212:function(e,t,a){var r=a(24994);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=r(a(39073));t.default=s.default;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.