import{s as G,S as ht,P as ft,d as ct}from"./master-CzygF18q-v01.js";import{d as _,o as s,c,e as l,r as k,a as q,t as b,b as $,n as S,f as d,j as g,w as m,i as v,x as vt,F as C,s as L,ai as N,ac as _t,A as wt,B as It,al as pt,aj as bt,q as $t}from"./vendors-vue-framework-yM97bqD2-v01.js";import{a as I,l as St,b as R,C as kt,e as Ct,m as Tt}from"./getyourguide-compass-Fs5H4yC7-v01.js";import{g as E}from"./assets/index-DPN3a_Ij.js";import{k as Pt,i as Lt}from"./vendors-B855uyVV-v01.js";import{f as Et,a8 as Mt,a6 as ut}from"./commons-store-BD_QoRtK-v01.js";const Ot=_({name:"GygLocationCard",props:{label:{type:String,required:!0},title:{type:String,default:"",required:!1},href:{type:String,required:!0},mobile:{type:Boolean,required:!1,default:!1}}}),At=["href","title"],Wt={class:"gyg-location-card__image-figure"},Nt={class:"gyg-location-card__caption"},Vt={class:"gyg-location-card__label"},Gt={class:"gyg-location-card__title"},Bt={key:0,class:"gyg-location-card__counter"},qt={class:"gyg-location-card__counter-title"};function Rt(t,e,i,a,u,h){return s(),c("a",{class:S(["gyg-location-card",{"gyg-location-card--mobile":t.mobile}]),href:t.href,title:t.title},[l("figure",Wt,[k(t.$slots,"image"),l("figcaption",Nt,[l("div",Vt,[l("div",Gt,[k(t.$slots,"title",{},()=>[q(b(t.title),1)])])]),t.label?(s(),c("div",Bt,[l("div",qt,[l("span",null,b(t.label),1)])])):$("",!0)])])],10,At)}const Dt=I(Ot,[["render",Rt]]),Ut=_({name:"TrackVisibilityWrapper",props:{customPayload:{type:Object,required:!1,default:()=>({})},impressionTrackingEventHandler:{type:Object,required:!1,default:void 0},dataTestId:{type:String,required:!1,default:""},customClass:{type:String,required:!1,default:""},customTrackingEventName:{type:String,required:!1,default:""},containerName:{type:String,required:!1,default:""},intersectionRootSelector:{type:String,default:void 0},visibilityThreshold:{type:Number,required:!1,default:.25}},data(){return{}},computed:{useIntersectionObserver(){return this.$el instanceof Element&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype&&"isIntersecting"in window.IntersectionObserverEntry.prototype},baseTrackingPayload(){return{action:"enteredViewport",target:"component",fully_visible:!0,container_name:E(this.$route)}},hasCustomPayload(){return this.customPayload&&Object.keys(this.customPayload)?.length>0},hasValidImpressionTrackingEvent(){return!!(this.impressionTrackingEventHandler&&this.impressionTrackingEventHandler.eventName&&this.impressionTrackingEventHandler.properties&&Object.keys(this.impressionTrackingEventHandler.properties)?.length>0)},shouldTrackElement(){const t=this.hasCustomPayload||this.hasValidImpressionTrackingEvent,e=!!this.$el?.attributes?.["data-hidden"];return this.$el&&!this.isUIEnteredFired&&!e&&t}},mounted(){const t={threshold:this.visibilityThreshold,...this.intersectionRootSelector&&{root:document.querySelector(this.intersectionRootSelector)}};this.$nextTick(()=>{this.useIntersectionObserver&&this.$el?(this.observer=new IntersectionObserver(this.trackVisibility,t),this.observer?.observe(this.$el)):(window.addEventListener("resize",this.debouncedTracking),window.addEventListener("scroll",this.debouncedTracking))})},destroyed(){this.removeEvents()},methods:{removeEvents(){this.useIntersectionObserver&&this.$el?this.observer?.unobserve(this.$el):(window.removeEventListener("resize",this.debouncedTracking),window.removeEventListener("scroll",this.debouncedTracking))},debouncedTracking(){return Pt(this.trackScrollingVisibility,200)()},trackScrollingVisibility(){G.isInViewport(this.$el,!0)&&this.shouldTrackElement&&this.sendVisibilityEvent()},trackVisibility(t){this.shouldTrackElement&&t&&t[0].isIntersecting&&this.sendVisibilityEvent()},sendVisibilityEvent(){if(this.isUIEnteredFired=!0,this.impressionTrackingEventHandler)G.sendSduiImpressionTrackingEvent(this.$analyticsLogger,this.impressionTrackingEventHandler);else if(this.$props.customPayload){let t=null;this.$props.customPayload.context&&(t=this.$props.customPayload.context,delete this.$props.customPayload.context);const e={...this.baseTrackingPayload,...this.$props.customPayload};G.sendUIEnteredDisplayPort(e,this.$el,this.$props.containerName,this.$analyticsLogger,t)}this.removeEvents()}}}),Ft=["data-test-id"];function zt(t,e,i,a,u,h){return s(),c("div",{class:S(["visibility-tracking-container",t.customClass]),"data-test-id":t.dataTestId},[k(t.$slots,"default")],10,Ft)}const V=I(Ut,[["render",zt]]),jt=({q:t,lc:e,tl:i,ct:a,partner_id:u,cmp:h,bct:o,lng:n,dur:y,srv:p,time_range:f,et:r,p:w,price_range:A,offset:D,size:U,sort:F,order:z,id:j,themes:H,poi_types:X,audiences:K,transportation_types:Y,traveler_category:Q,eCategories:J,eTours:Z,collectionId:x,collectionUids:tt,debugCollectionUid:et,templatedContext:it,departsFrom:W,date_from:st,date_to:at,searchContext:ot,activity_type:rt,enterLocationIds:nt,notEnterLocationIds:lt},T,ke)=>{const dt={...t?{q:Et(t)}:{},...e?{lc:e.toString().includes("l")||e.toString().includes("c")?e:`l${e}`}:{},...a?{ct:a}:{},...i?{tl:i}:{},...o?{bct:o}:{},...A?{price_range:A}:{},...n?{lng:n}:{},...y?{dur:y}:{},...p?{srv:p}:{},...h?{cmp:h}:{},...f?{time_range:f}:{},...u?{partner_id:u}:{},...D?{offset:D}:{},...U?{size:U}:{},...T&&T.from?{date_from:T.from}:{},...T&&T.to?{date_to:T.to}:{},...w?{p:w}:{},...F?{sort:F}:{},...z?{order:z}:{},...r?{et:r}:{},...j?{id:j}:{},...H?{themes:H}:{},...X?{poi_types:X}:{},...K?{audiences:K}:{},...Y?{transportation_types:Y}:{},...Q?{traveler_category:Q}:{},...Z?{eTours:Z}:{},...J?{eCategories:J}:{},...x?{collectionId:x}:{},...tt?{collectionUids:tt}:{},...et?{debugCollectionUid:et}:{},...it&&{templatedContext:it},...W&&{departsFrom:W.toString().includes("l")?W:`l${W}`},...ot&&{searchContext:ot},...st&&{date_from:st},...at&&{date_to:at},...rt?{activity_type:rt}:{},...nt&&{enterLocationIds:nt},...lt&&{notEnterLocationIds:lt}};return Lt(Object.keys(dt))?"":`?${Mt(dt)}`},Oe=t=>{const e=t.query?.adgroup_id?.toString()||"falsey-not-0",i=t.query?.target_id?.toString().match(/.*kwd-(\d+)/),a=i&&i[1]?i[1]:"falsey-not-0",u=t.path.match(/\/.*-tc(\d+)/),h=u&&u[1]?u[1]:"falsey-not-0";return{...!isNaN(Number(h))&&{tcId:h},...!isNaN(Number(e))&&{adGroupId:e},...!isNaN(Number(a))&&{keywordId:a}}},mt=(t,e)=>{const i=jt({},e);return`${t}${i}`};var M=(t=>(t.DISCOVER_ALL_GROUPS="discover_all_groups",t.TRIP_ITEM_GROUP_NAVIGATION_TAB="trip_item_group_navigation_tab",t))(M||{}),O=(t=>(t.TRIP_ITEM_GROUP_NAVIGATION="trip_item_group_navigation",t))(O||{});const Ht=_({name:"TripItemGroupCard",components:{GygLocationCard:Dt,SmartPicture:ht},props:{title:{type:String,required:!0},url:{type:String,required:!0},alt:{type:String,required:!0},src:{type:String,required:!0},availability:{type:Object,required:!1,default:()=>{}},lazyImage:{type:Boolean,required:!1,default:!0},index:{type:Number,required:!0},eventMetadata:{type:Object,required:!1,default:()=>({})},redirects:{type:Boolean,default:!0,required:!1}},emits:["click"],data:function(){return{}},computed:{customPayload(){return{id:O.TRIP_ITEM_GROUP_NAVIGATION,target:M.TRIP_ITEM_GROUP_NAVIGATION_TAB,metadata:{position:this.index+1,...this.eventMetadata}}}},methods:{handleCardClick(t){this.$emit("click"),this.redirects||t.preventDefault()},getUrl(t){return this.availability?.from||this.availability?.to?mt(t,this.availability):t}}});function Xt(t,e,i,a,u,h){const o=d("SmartPicture"),n=d("GygLocationCard");return s(),g(n,{href:t.$gyglink(t.getUrl(t.url)),label:"",class:"nearby-destination-card",onClick:t.handleCardClick},{image:m(()=>[v(o,{"generic-image-url":t.src,"lazy-image":t.lazyImage,"alt-text":t.alt,"data-test-id":"trip-item-group-image","priority-type":"auto"},null,8,["generic-image-url","lazy-image","alt-text"])]),title:m(()=>[l("span",null,b(t.title),1)]),_:1},8,["href","onClick"])}const Ae=I(Ht,[["render",Xt],["__scopeId","data-v-a492456a"]]),gt={mobileXS:1.5,mobile:1.5,tablet:2.5,desktop:4};var P=(t=>(t.DESKTOP="desktop",t.TABLET="tablet",t.MOBILE="mobile",t.MOBILEXS="mobileXS",t))(P||{});const Kt=_({name:"CssSlider",components:{CIconButton:St},props:{slidesPerPage:{type:Object,default:()=>gt},showArrowsOnMobile:{type:Boolean,required:!1,default:!1},showArrowsOnTablet:{type:Boolean,required:!1,default:!1},showArrowsOnDesktop:{type:Boolean,required:!1,default:!0},customSlideCount:{type:Number,required:!1,default:0},slideOneAtATime:{type:Boolean,required:!1,default:!1},htmlDir:{type:String,required:!1,default:"ltr"}},emits:["backward","forward"],data(){return{randomId:vt(),currentPage:1,windowWidth:0,screenSizes:{XS:576,SM:768,MD:1024,LG:1200,XL:1440},carouselControlsInitialStyle:{display:"none"}}},computed:{slideCount(){let t=this.$slots.default?.length;return typeof this.$slots.default=="function"&&(t=this.$slots?.default?.()[0].children?.length),typeof t!="number"&&(t=0),this.$props.customSlideCount||t},pageCount(){return this.pages.length},countOfSlidesPerPage(){return this.$props.slidesPerPage[this.platform]},oneSlidePerPage(){return this.countOfSlidesPerPage===1},pages(){const t=Math.ceil(this.slideCount/this.countOfSlidesPerPage);return Array.from({length:t},(e,i)=>i+1)},platform(){return this.isDesktop?P.DESKTOP:this.isTablet?P.TABLET:this.isMobile?P.MOBILE:P.MOBILEXS},isFirstPage(){return this.currentPage===1},isLastPage(){return this.currentPage===this.pages.length},isMobileXS(){return this.windowWidth<this.screenSizes.XS},isMobile(){return this.windowWidth<this.screenSizes.SM&&!this.isMobileXS},isTablet(){return this.windowWidth<this.screenSizes.MD&&!this.isMobile},isDesktop(){return this.windowWidth>=this.screenSizes.MD},isPagable(){return!!(this.isDesktop&&this.$props.showArrowsOnDesktop||this.isTablet&&this.$props.showArrowsOnTablet||(this.isMobile||this.isMobileXS)&&this.$props.showArrowsOnMobile)},isRtl(){return this.htmlDir==="rtl"},scrollDirection(){return this.isRtl?1:-1},lastPageScrollDistance(){return this.isFirstPage?0:(this.slideCount/this.countOfSlidesPerPage*100-100)*this.scrollDirection},trackStyle(){return{transform:this.isLastPage&&this.lastPageScrollDistance%100!==0?`translateX(${this.lastPageScrollDistance}%)`:void 0,overflow:this.isPagable?"unset":"auto",display:"flex"}}},watch:{showArrows(){this.$nextTick(()=>{this.currentPage=1})}},mounted(){this.$data.windowWidth=window.innerWidth,this.$nextTick(()=>{this.carouselControlsInitialStyle={},window.addEventListener("resize",this.onResize)})},beforeDestroy(){window.removeEventListener("resize",this.onResize)},methods:{onResize(){const t=this.platform;this.windowWidth=window.innerWidth,this.handlePlatformChange(t)},handlePlatformChange(t){t!==this.platform&&(this.currentPage=1)},handleBackward(){this.isFirstPage||(this.currentPage--,this.$emit("backward",{page:this.currentPage,isLastPage:this.isLastPage,isFirstPage:this.isFirstPage}))},handleForward(){this.isLastPage||(this.currentPage++,this.$emit("forward",{page:this.currentPage,isLastPage:this.isLastPage,isFirstPage:this.isFirstPage}))},resetSlider(){this.currentPage=1}}}),Yt={class:"carousel","data-test-id":"gyg-slider"},Qt=["id","name","v-model","value","checked"],Jt={class:"carousel__screen"};function Zt(t,e,i,a,u,h){const o=d("CIconButton");return s(),c("div",null,[l("div",Yt,[(s(!0),c(C,null,L(t.pages,n=>(s(),c("input",{key:n,id:`${t.randomId}carousel-slide-activator-${n}`,name:`${t.randomId}carousel`,"v-model":t.currentPage,value:n,checked:t.currentPage===n,class:"carousel__activator",type:"radio",style:{display:"none"}},null,8,Qt))),128)),l("div",{class:"carousel__controls",style:N(t.carouselControlsInitialStyle)},[v(o,{class:S(["carousel__control",{"carousel__control--forward":!t.isRtl,"carousel__control--backward":t.isRtl}]),icon:"chevron-right",style:N({display:t.isLastPage||!t.isPagable?"none":"flex"}),onClick:t.handleForward,"data-test-id":"gyg-slider-next","aria-label":t.$t("p_slider_next")},null,8,["class","style","onClick","aria-label"]),v(o,{class:S(["carousel__control",{"carousel__control--backward":!t.isRtl,"carousel__control--forward":t.isRtl}]),icon:"chevron-left",style:N({display:t.isFirstPage||!t.isPagable?"none":"flex"}),onClick:t.handleBackward,"data-test-id":"gyg-slider-previous","aria-label":t.$t("p_slider_prev")},null,8,["class","style","onClick","aria-label"])],4),l("div",Jt,[l("div",{class:S(["carousel__track",{"slide-one-at-a-time":t.slideOneAtATime}]),style:N(t.trackStyle)},[k(t.$slots,"default",{},void 0,!0)],6)])])])}const We=I(Kt,[["render",Zt],["__scopeId","data-v-b85b0d9e"]]),xt=_({name:"CssSliderCard",components:{},props:{slidesPerPage:{type:Object,default:()=>gt},slideOneAtATime:{type:Boolean,required:!1,default:!1}},computed:{cssClass(){return`carousel__item col-lg-${this.hyphenateFractions(this.slidesPerPage.desktop)} col-md-${this.hyphenateFractions(this.slidesPerPage.tablet)} col-sm-${this.hyphenateFractions(this.slidesPerPage.mobile)} col-xs-${this.hyphenateFractions(this.slidesPerPage.mobileXS)}`}},methods:{hyphenateFractions(t){if(t%1===0)return t.toString();const[e,i]=t.toString().split(".");return`${e}-${i}`}}});function te(t,e,i,a,u,h){return s(),c("div",{class:S({[`${t.cssClass}`]:!0,"slide-one-at-a-time":t.slideOneAtATime})},[k(t.$slots,"default",{},void 0,!0)],2)}const Ne=I(xt,[["render",te],["__scopeId","data-v-cfcc4e14"]]),ee=_({name:"CategoryList",components:{CButton:R,CIcon:kt,SmartPicture:ht,TrackVisibilityWrapper:V},props:{title:{type:String,required:!0},items:{type:Array,required:!0},category:{type:Object,required:!1,default:void 0},index:{type:Number,required:!1,default:0},availability:{type:Object,required:!0},isTopNav:{type:Boolean,required:!1,default:!1},isSdui:{type:Boolean,default:!1,required:!1}},data(){return{showMoreCategories:!1,id:"trip_item_group_facet",target:"trip_item_group_tab"}},computed:{categoryTitle(){return this.category?.name??this.$props.title},toggleVisibilityLabel(){return this.showMoreCategories?this.category?.showLessLabel??this.$t("locationtopsights seeless"):this.category?.showMoreLabel??this.$t("locationtopsights seemore")},allItems(){return this.category?.items??this.$props.items},initialItems(){return this.allItems.slice(0,this.maxItemsToDisplay)},lastItems(){return this.allItems.slice(this.maxItemsToDisplay)},showViewMoreButton(){return this.allItems.length>this.maxItemsToDisplay},maxItemsToDisplay(){return this.category?.maxDisplayedItems??5},customPayload(){return this.isSdui?{}:{id:this.id,target:this.target,metadata:{position:this.$props.index+1,category_id:this.$props.title}}}},methods:{getHref(t){let i=`${this.$route?.path?.replace(new RegExp("/$"),"")??""}/${t.uri?.replace(new RegExp("^/"),"")??""}`;return this.$props.availability.from||this.$props.availability.to?mt(i,this.$props.availability):new ft(this.$store.state,this.$route).updateRedirectHref(i)},toggleVisibility(){this.showMoreCategories=!this.showMoreCategories,this.showMoreCategories||this.$refs.title?.scrollIntoView({behavior:"smooth"}),this.trackVisibilityClick()},trackVisibilityClick(){const t=this.showMoreCategories?"show_more":"show_less";if(this.isSdui&&this.category?.onShowLessClickTrackingEvent&&this.category?.onShowMoreClickTrackingEvent){ct(this.$analyticsLogger,this.showMoreCategories?this.category.onShowMoreClickTrackingEvent:this.category.onShowLessClickTrackingEvent);return}const e={metadata:{position:this.$props.index+1,category_id:this.$props.title},id:"trip_item_group_facet",target:t,container_name:E(this.$route)};this.$analyticsLogger.logTravelerUIClick(e.target,e.id,e.metadata)},getCategoryCustomPayload(t,e){const i=t.onImpressionTrackingEvent;return this.isSdui&&i?{id:i.properties?.id,target:i.properties?.target,metadata:i.properties?.metadata}:{id:"trip_item_group_facet",target:"trip_item_group_tab",metadata:{position:e+1,category_id:t.id}}},trackItemClick(t,e){if(this.isSdui&&t.onClickTrackingEvent){ct(this.$analyticsLogger,t.onClickTrackingEvent);return}const i={metadata:{position:e+1,category_id:t.id},id:"trip_item_group_facet",target:"trip_item_group_tab",container_name:E(this.$route)};this.$analyticsLogger.logTravelerUIClick(i.target,i.id,i.metadata)}}}),ie={class:"category-list","data-test-id":"trip-item-group-nav-category-list"},se={class:"category-list_option-image-wrapper"},ae={"data-test-id":"trip-item-group-nav-category-list-item-title"},oe={class:"category-list_option-image-wrapper"};function re(t,e,i,a,u,h){const o=d("SmartPicture"),n=d("Link"),y=d("TrackVisibilityWrapper"),p=d("CIcon"),f=d("CButton");return s(),c("div",ie,[l("span",{class:"category-list_title",ref:"title"},b(t.title),513),(s(!0),c(C,null,L(t.initialItems,(r,w)=>(s(),g(y,{key:w,"impression-tracking-event-handler":r.onImpressionTrackingEvent,"custom-payload":t.getCategoryCustomPayload(r,w)},{default:m(()=>[v(n,{href:t.getHref(r),onClick:A=>t.trackItemClick(r,w),class:"category-list_option","data-test-id":"trip-item-group-nav-category-list-item"},{default:m(()=>[l("div",se,[v(o,{"generic-image-url":r.image,"lazy-image":!0,alt:r.name},null,8,["generic-image-url","alt"])]),l("span",ae,b(r.name),1)]),_:2},1032,["href","onClick"])]),_:2},1032,["impression-tracking-event-handler","custom-payload"]))),128)),t.showMoreCategories&&t.showViewMoreButton?(s(!0),c(C,{key:0},L(t.lastItems,(r,w)=>(s(),g(y,{key:w+t.maxItemsToDisplay,"impression-tracking-event-handler":r.onImpressionTrackingEvent,"custom-payload":t.getCategoryCustomPayload(r,w)},{default:m(()=>[v(n,{href:t.getHref(r),onClick:A=>t.trackItemClick(r,w),class:"category-list_option","data-test-id":"trip-item-group-nav-category-list-item"},{default:m(()=>[l("div",oe,[v(o,{"generic-image-url":r.image,"lazy-image":!0,alt:r.name},null,8,["generic-image-url","alt"])]),l("span",null,b(r.name),1)]),_:2},1032,["href","onClick"])]),_:2},1032,["impression-tracking-event-handler","custom-payload"]))),128)):$("",!0),t.showViewMoreButton?(s(),g(f,{key:1,onClick:t.toggleVisibility,variant:"text",class:"category-list_see-more-btn","data-test-id":t.showMoreCategories?"see-less":"see-more"},{default:m(()=>[l("span",null,b(t.toggleVisibilityLabel),1),v(p,{slot:"icon",name:t.showMoreCategories?"chevron-up":"chevron-down"},null,8,["name"])]),_:1},8,["onClick","data-test-id"])):$("",!0)])}const yt=I(ee,[["render",re]]),ne=_({name:"Modal",components:{CModal:Ct,CategoryList:yt,TrackVisibilityWrapper:V},props:{tripItemGroupCategories:{type:Array,required:!0},availability:{type:Object,required:!1,default:()=>({})},isTopNav:{type:Boolean,required:!1,default:!1},isSdui:{type:Boolean,required:!1,default:!1}},emits:["close"],data(){return{facetId:"trip_item_group_facet",facetTarget:this.$props.isTopNav?"facet_component_top":"facet_component_bottom"}},computed:{modalVisibilityPayload(){return this.isSdui?{}:{id:this.facetId,target:this.facetTarget}}}});function le(t,e,i,a,u,h){const o=d("CategoryList"),n=d("TrackVisibilityWrapper"),y=d("CModal");return s(),g(y,{"close-btn-aria-label":t.$t("aria_close_c_modal"),"data-test-id":"category-modal",title:t.$t("plp_tripitemgroup_bottomsheet_header"),onClose:e[0]||(e[0]=p=>t.$emit("close",p))},{default:m(()=>[v(n,{"custom-payload":t.modalVisibilityPayload},{default:m(()=>[(s(!0),c(C,null,L(t.tripItemGroupCategories,(p,f)=>(s(),g(o,{key:f,items:p.items,title:p.name,index:f,availability:t.availability,"is-top-nav":t.isTopNav,"is-sdui":t.isSdui,category:p},null,8,["items","title","index","availability","is-top-nav","is-sdui","category"]))),128))]),_:1},8,["custom-payload"])]),_:1},8,["close-btn-aria-label","title"])}const de=I(ne,[["render",le]]),ce=_({name:"CategoriesModal",components:{CButton:R,Modal:de,TrackVisibilityWrapper:V},props:{availability:{type:Object,required:!1,default:()=>({})},isTopNav:{type:Boolean,required:!1,default:!1},buttonVariant:{type:String,required:!1,default:"text"},alternateCtaText:{type:String,required:!1,default:void 0},tripItemGroupCategories:{type:Array,required:!0},isSdui:{type:Boolean,default:!1,required:!1}},emits:["show-more-click"],data(){return{show:!1,id:O.TRIP_ITEM_GROUP_NAVIGATION,target:M.DISCOVER_ALL_GROUPS}},computed:{..._t({isRobot:"context/isRobot"}),customPayload(){return this.isSdui?{}:{id:this.id,target:this.target}}},methods:{showModal(){if(this.show=!0,this.isSdui){this.$emit("show-more-click");return}else this.$analyticsLogger.logTravelerUIClick(this.target,this.id)}}}),ue={key:0,"data-test-id":"trip-item-group-nav-categories-modal"};function he(t,e,i,a,u,h){const o=d("CButton"),n=d("Modal"),y=d("TrackVisibilityWrapper");return s(),g(y,{"custom-payload":t.customPayload},{default:m(()=>[t.tripItemGroupCategories?(s(),c("div",ue,[v(o,{onClick:t.showModal,variant:t.buttonVariant,class:S(["category-modal-button",{"category-modal-button--no-padding":t.buttonVariant==="text"}])},{default:m(()=>[q(b(t.alternateCtaText?t.$t(t.alternateCtaText):t.$t("plp_tripitemgroup_cta")),1)]),_:1},8,["onClick","variant","class"]),t.isRobot?wt((s(),g(n,{key:0,"trip-item-group-categories":t.tripItemGroupCategories,availability:t.availability,"is-top-nav":t.isTopNav,"is-sdui":t.isSdui,onClose:e[0]||(e[0]=p=>t.show=!1)},null,8,["trip-item-group-categories","availability","is-top-nav","is-sdui"])),[[It,t.show]]):(s(),c(C,{key:1},[t.show?(s(),g(n,{key:0,"trip-item-group-categories":t.tripItemGroupCategories,availability:t.availability,"is-top-nav":t.isTopNav,"is-sdui":t.isSdui,onClose:e[1]||(e[1]=p=>t.show=!1)},null,8,["trip-item-group-categories","availability","is-top-nav","is-sdui"])):$("",!0)],64))])):$("",!0)]),_:1},8,["custom-payload"])}const Ve=I(ce,[["render",he]]),pe=_({name:"CategoriesBottomSheet",components:{CButton:R,CBottomSheet:Tt,CategoryList:yt,TrackVisibilityWrapper:V},props:{availability:{type:Object,required:!1,default:()=>({})},isTopNav:{type:Boolean,required:!1,default:!1},buttonVariant:{type:String,required:!1,default:"text"},showBottomSheet:{type:Boolean,required:!1,default:!1},showButton:{type:Boolean,required:!1,default:!0},tripItemGroupCategories:{type:Array,required:!0},isSdui:{type:Boolean,default:!1,required:!1}},emits:["close"],data(){return{show:!1}},computed:{customPayload(){return{id:O.TRIP_ITEM_GROUP_NAVIGATION,target:M.DISCOVER_ALL_GROUPS}},modalVisibilityPayload(){return{id:"trip_item_group_facet",target:"facet_component"}}},methods:{showModal(){this.show=!0;const t={metadata:{},id:O.TRIP_ITEM_GROUP_NAVIGATION,target:M.DISCOVER_ALL_GROUPS,container_name:E(this.$route)};this.$analyticsLogger.logTravelerUIClick(t.target,t.id,t.metadata)},closeBottomSheet(){this.show=!1,this.$emit("close")}}}),me={class:"categories-modal-container"};function ge(t,e,i,a,u,h){const o=d("CButton"),n=d("CategoryList"),y=d("TrackVisibilityWrapper"),p=d("CBottomSheet");return s(),c("div",me,[t.showButton?(s(),g(o,{key:0,onClick:t.showModal,variant:t.buttonVariant},{default:m(()=>[q(b(t.$t("plp_tripitemgroup_cta")),1)]),_:1},8,["onClick","variant"])):$("",!0),t.show||t.showBottomSheet?(s(),g(p,{key:1,onClose:t.closeBottomSheet,title:t.$t("plp_tripitemgroup_bottomsheet_header"),"data-test-id":"trip-item-group-nav-categories-bottom-sheet","close-btn-aria-label":t.$t("aria_close_c_modal")},{default:m(()=>[v(y,{"custom-payload":t.modalVisibilityPayload},{default:m(()=>[(s(!0),c(C,null,L(t.tripItemGroupCategories,(f,r)=>(s(),g(n,{key:r,items:f.items,title:f.name,availability:t.availability,"is-sdui":t.isSdui,category:f},null,8,["items","title","availability","is-sdui","category"]))),128))]),_:1},8,["custom-payload"])]),_:1},8,["onClose","title","close-btn-aria-label"])):$("",!0)])}const Ge=I(pe,[["render",ge],["__scopeId","data-v-d6aa01f1"]]),ye=_({name:"LocalStorageMixin",methods:{saveLocationData(t,e){window.localStorage&&(window.localStorage.setItem("savedLocationId",`${t}`),window.localStorage.setItem("savedLocationName",e))},getLocationId(){if(window.localStorage){const t=window.localStorage.getItem("savedLocationId");return Number(t)}return-1},getLocationName(){return window.localStorage&&window.localStorage.getItem("savedLocationName")||"0"},saveDatesCtaConfig(){window.localStorage&&window.localStorage.setItem("datesCtaConfig","false")},getDatesCta(){return window.localStorage?window.localStorage.getItem("datesCtaConfig")!=="false":!0}}}),fe={ADP_GALLERY:"adp-gallery",ACTIVITY_CARD:"activity-card"},{mapActions:ve,mapGetters:_e}=pt("wishlist"),{mapState:we}=pt("auth"),B="addToWishlist",Ie="removeFromWishlist",be=_({name:"WishlistIcon",mixins:[ye],inject:["rootEmitter"],props:{activityId:{type:Number,required:!0},activityTitle:{type:String},type:{type:String,required:!1,default:fe.ACTIVITY_CARD},locationId:{type:Number,default:-1},locationName:{type:String,default:""},hasCustomTrackWishlistClick:{type:Boolean,default:!1}},emits:{"show:modal":t=>!0,"custom-track-click":t=>!0},data(){return{isLocallySelected:!1}},computed:{..._e(["wishlist","wishlistGroups","visitorWishlistGroup"]),...we(["isLoggedIn"]),isActivityWishlisted(){return this.wishlist&&this.wishlist.includes(this.activityId)},containerName(){return E(this.$route)}},watch:{visitorWishlistGroup:{handler(t){this.isLocallySelected=t?.activityIds?.includes(this.activityId)},deep:!0,immediate:!0}},mounted(){this.isLocallySelected=this.checkIsLocallySelected()},methods:{checkIsLocallySelected(){return!!this.visitorWishlistGroup?.activityIds?.includes(this.activityId)},...ve(["createVisitorWishlist","addToWishlist","removeFromWishlist","lazyLoadWishlistModals","showSuccessNotification","showSelectModal","showDeleteModal"]),getListUuid(){const t=this.wishlistGroups.find(e=>e.activities.some(i=>i.id!==null?this.activityId===i.id:!1));return t?t.id:this.visitorWishlistGroup&&this.visitorWishlistGroup.activityIds.includes(this.activityId)?this.visitorWishlistGroup.id:""},getItemUuid(t){const e=this.wishlistGroups.find(i=>i.id===t);return e?this.findActivityUuid(e.activities):this.visitorWishlistGroup&&this.visitorWishlistGroup.id===t&&(this.findActivityUuid(this.visitorWishlistGroup.activities)||this.visitorWishlistGroup.activityIds.includes(this.activityId))?this.activityId.toString():""},findActivityUuid(t){return t.find(i=>i.id!==null?i.id===this.activityId:!1)?.uuid??""},async handleWishlistAction(t){t.stopPropagation();const e=this.isActivityWishlisted?"wishlist-remove":"wishlist-add";if(this.hasCustomTrackWishlistClick)this.$emit("custom-track-click",e);else{const a={container_name:this.containerName,id:this.type,target:e,action:"click",metadata:{tour_id:this.activityId}};this.$analyticsLogger.logTravelerUIClick(a.target,a.id,a.metadata)}(!this.visitorWishlistGroup||this.visitorWishlistGroup.activityIds.length===0)&&await this.createVisitorWishlist(this.$t("pwishlist_guest_generictitle"));const i=this.isActivityWishlisted?Ie:B;this.isLoggedIn?this.handleLoggedInFlow(i):this.handleLoggedOutFlow(i)},async handleLoggedOutFlow(t){if(!this.visitorWishlistGroup){this.rootEmitter.emit("show:modal","SIGNUP_SOCIAL_MODAL");return}if(this.lazyLoadWishlistModals(),t===B)this.addToWishlist({activityId:this.activityId,listUuid:this.visitorWishlistGroup.id,trackingProps:{analyticsLogger:this.$analyticsLogger,locationId:this.locationId}}),ut({event:"add_to_wishlist",tour:{id:this.activityId},locationId:this.locationId}),this.saveLocationData(this.locationId,this.visitorWishlistGroup.title),this.showSuccessNotification(this.activityId);else{const e=this.visitorWishlistGroup.id,i=this.findActivityUuid(this.visitorWishlistGroup.activities);if(this.containerName==="WishlistItems"){this.showDeleteModal({activityId:this.activityId,activityTitle:this.activityTitle??"",listUuid:e,itemUuid:i});return}await this.removeFromWishlist({itemUuid:i,listUuid:e,activityId:this.activityId})}},async handleLoggedInFlow(t){if(this.lazyLoadWishlistModals(),t===B)if(this.getLocationId()===this.locationId){const e=this.wishlistGroups.find(i=>i.locationIds?.includes(this.locationId)&&i.title===this.getLocationName());e?(this.addToWishlist({activityId:this.activityId,listUuid:e.id,trackingProps:{analyticsLogger:this.$analyticsLogger,locationId:this.locationId}}),ut({event:"add_to_wishlist",tour:{id:this.activityId},locationId:this.locationId}),this.showSuccessNotification(this.activityId)):this.showSelectModal({activityId:this.activityId,locationId:this.locationId,locationName:this.locationName})}else this.showSelectModal({activityId:this.activityId,locationId:this.locationId,locationName:this.locationName});else{const e=this.getListUuid(),i=this.getItemUuid(e);if(this.containerName==="WishlistItems"){this.showDeleteModal({activityId:this.activityId,activityTitle:this.activityTitle??"",listUuid:e,itemUuid:i});return}await this.removeFromWishlist({itemUuid:i,listUuid:e,activityId:this.activityId})}}}}),$e=["aria-label"];function Se(t,e,i,a,u,h){return s(),c("div",{class:"wishlist-icon","data-test-id":"add-to-wishlist",onClick:e[0]||(e[0]=bt((...o)=>t.handleWishlistAction&&t.handleWishlistAction(...o),["prevent"])),onKeypress:e[1]||(e[1]=$t((...o)=>t.handleWishlistAction&&t.handleWishlistAction(...o),["native","enter"])),"aria-label":t.$t("pwishlist_header"),tabindex:"0",role:"button"},[t.isLocallySelected?(s(),c(C,{key:0},[e[2]||(e[2]=l("span",{class:"wishlist-icon__heart wishlist-icon__heart--active"},null,-1)),k(t.$slots,"default",{active:!0})],64)):t.isLocallySelected?$("",!0):(s(),c("span",{key:1,class:S(["wishlist-icon__heart",{"wishlist-icon__heart--active":t.isActivityWishlisted}])},null,2)),t.isLocallySelected?$("",!0):k(t.$slots,"default",{key:2,active:t.isActivityWishlisted})],40,$e)}const Be=I(be,[["render",Se]]);export{We as C,Dt as G,ye as L,gt as S,V as T,Be as W,O as a,mt as b,Ae as c,Ne as d,Ve as e,Ge as f,Oe as g};
//# sourceMappingURL=wishlist-icon-C2-53mK_-v01.js.map
