PageSourceSearch

https://malaysiaaviationgroup.com.my/etc.clientlibs/mh/clientlibs/…/EnrichFlypassFlightSearch-BvWmpjyS.js

js malaysiaaviationgroup.com.my collected 2026-10-02 17:11:42 UTC 46,587 bytes, 2 lines download raw bytes

1import{r as n,m as ee,M as ft,y as z,z as re,a3 as le,au as nt,Z as Ee,a8 as he,c as P,L as lt,c9 as Ve,be as Ie,af as rt,c2 as it,cc as De,R as Ae,cd as dt,cr as ut,ce as ct,aG as pt,o as ve,cf as zt,aP as Jt,u as Gt,a6 as Zt,a5 as Kt,q as Xt,a4 as qt,p as $t,J as ea,x as Ne,cg as ta,b3 as aa,b5 as oa,bz as gt,bD as bt,C as sa,A as na,a9 as yt,_ as Re,av as la,a as Pe,b as k,d as M,w as Y,I as $,i as A,f as a,n as Fe,j as U,h as x,k as K,t as c,aK as ra,aI as ia,ae as da,aH as ua,aS as ca,H as pa,ac as ga,F as ba,e as ma,v as fa,cm as ht,O as ya,a2 as ha,b1 as va}from"./main-BRllkcH1.js";import{_ as Ta}from"./chevron-down-DiSjCzq4.js";const Me=new Map,_a=async(C,l,N,e,B,R)=>{const F=`${C}|${l}${N?`|${z(N).format("DDMMYY")}`:""}${R?"|OneWay":"|Return"}`;if(Me.get(F))return Me.get(F);try{const b=await re.get(B,{params:{ori:C,des:l}});if(b.status===200)return Me.set(F,b.data),b.data;throw new Error(b)}catch(b){throw console.warn("useEnrichLowFarePrice.js fetchLowFareAPI API error",b),new Error(b)}};function mt({originRef:C,destinationRef:l,departureDateRef:N,paymentTypeRef:e,endpointUrl:B,isOneWayRef:R}={}){const F=n(null),b=n(""),m=n(null),p=ee([C,l,N,e,R].filter(Boolean),async()=>{var E,v;if(!((E=C.value)!=null&&E.code)||!((v=l.value)!=null&&v.code))return{};let r=null;try{r=await _a(C.value.code,l.value.code,N.value,e==null?void 0:e.value,B,R.value)}catch(g){return g}if(!ft.isEmpty(r)&&r.results){const g=Sa(r.results);F.value=g,b.value=r.currency||"",N.value&&(m.value=r)}else F.value=null,b.value="",m.value=null});return{priceData:F,currency:b,returnTypeDepartureDateAndFare:m,cleanUp:()=>{p()}}}function Sa(C){if(!Array.isArray(C)||ft.isEmpty(C))return{};let l={};
1return C.forEach(({date:N,fareAmount:e,flag:B})=>{if(!e||e==="0.00"||B==="N")return;const[R,F,b]=N.split("-");l[`${R}-${F}-${b}`]="Available"}),l}const Ca={name:"SubTabBookFlight"},xa=Object.assign(Ca,{props:{hideTodayDateIndicator:{type:Boolean,default:!1},subHeaderTabDescription:{type:String,default:""},subHeaderTabTooltipBody:{type:String,default:""},subHeaderTabTooltipLabel:{type:String,default:""},topNoteOneWay:{type:String,default:""},topNoteRoundTrip:{type:String,default:""},note:{type:String,default:""},searchFlightCTAText:{type:String,default:le.t("Search flight")},disableGeolocation:{type:Boolean,default:!1},ondSelection:{type:Object,default:null},additionalONDFilter:{type:String,default:null},datePicker:{type:Object,default:null},passengerSelection:{type:Object,default:null},promoCodeLabel:{type:String,default:null},promoCodeErrorMessage:{type:String,default:le.t("Conditions not met for promo code to be applied")},supersedePromoCode:{type:String,default:null},supersedeOfficeIdSuffix:{type:String,default:null},bstNoteTop:{type:String,default:""},bstNoteCTAText:{type:String,default:""},bstNoteCTAURL:{type:String,default:""},subHeaderTooltipCTATextMobileLabel:{type:String,default:""},fromQuestionMobile:{type:String,default:""},toQuestionMobile:{type:String,default:""},datePickerQuestionMobile:{type:String,default:""},disableCalendarPickerAnimation:{type:Boolean,default:!1},passengerSelectionQuestion:{type:String,default:""},flightSearchApiUrl:{type:String,default:""},cabinClassCashList:{type:Array,default:()=>[]},cabinClassMilesList:{type:Array,default:()=>[]},componentIdAA:{type:String,default:""},togglePointsApiURL:{type:String,default:""},enableMattaToggleButton:{type:Boolean,default:!1},mattaToggleButtonLabel:{type:String,default:""},hidePromoCodeField:{type:Boolean,default:!1},enrichAlwaysOn:{type:Boolean,default:!1},enablePostMattaCampaign:{type:Boolean,default:!1},enrichAlwaysOnCountriesData:{type:Array,default:()=>[]},loggedInMessageNote:{type:String,default:""},nonLoggedInMessageNote:{type:String,default:""},enableONDLocaleTranslation:{type:Boolean,default:!1},countryVariants:{type:Array,default:()=>[]},payByEnrichPoints:{type:Boolean,default:!1},tabName:{type:String,default:"book-flight"},activeSubOption:{type:Object,default:null},expressBooking:{type:Object,default:null},signUpApiUrl:{type:String,default:""},oWcustomOndUrl:{type:String,default:""},mHcustomOndUrl:{type:String,default:""},isIgnoreScroll:{type:Boolean,default:!1},cabinClassMilesOWList:{type:Array,default:()=>[]},selectedZone:{type:String,default:null},expireDate:{type:String,default:null},remainingQuota:{type:String,default:null}},emits:["save-search-data","show-bst-overlay","form-submission"],setup(C,{expose:l,emit:N}){const e=C,B=N,{isRTL:R}=nt(),F=window.siteName,b=n(null),m=n(null),p=n(null),y=n(null),r=n(null),E=n(null),v=n(null),g=n(null),i=n(null),u=n(null),D=n(null),Q=n(!1),W=n(!1),d=n(""),h=n(!1),{pageProperties:O,isEditorMode:J}=Ee(),T=n(!0),j=n(!1),ie=n(e.enablePostMattaCampaign),de=n(!1),ue=n(!1),te=O.value.rootCountry,ae=O.value.rootLanguage,{isSapphireCookiePresent:oe}=he(),ce=t=>t.charAt(0).toUpperCase()+t.slice(1),Te=P(()=>e.enrichAlwaysOn&&!oe()&&e.nonLoggedInMessageNote),_e=P(()=>j.value&&ie.value?"true":"false"),X=P(()=>{var o,s;if(!p.value)return;const t=parseInt((o=p.value.cabinClassValue)==null?void 0:o.value)-1;if(e.payByEnrichPoints){if(e.activeSubOption.value==="ow-redemption"&&e.cabinClassMilesOWList[t].value)return e.cabinClassMilesOWList[t].value;if(e.activeSubOption.value!=="ow-redemption"&&e.cabinClassMilesList[t].value)return e.cabinClassMilesList[t].value}return(s=e.cabinClassCashList[t])==null?void 0:s.value}),se=P(()=>{var t,o;return(o=(t=X.value)==null?void 0:t.split("|"))==null?void 0:o.at(-1)}),V=P(()=>{var t,o;return(o=(t=X.value)==null?void 0:t.split("|"))==null?void 0:o.at(0)}),Z=()=>{try{return JSON.parse(sessionStorage.getItem("redeemFlypassData")||"{}")}catch(t){return console.error("Error parsing redeemFlypassData:",t),{}}},ne=Z(),pe=()=>{try{const t=sessionStorage.getItem("flypassApi");if(t)return JSON.parse(t).calendarApi}catch(t){console.warn("Error retrieving calendar API from sessionStorage:",t)}},H=pe(),q=n(!1),{priceData:Se,currency:we,returnTypeDepartureDateAndFare:ge}=mt({originRef:i,destinationRef:u,departureDateRef:v,paymentTypeRef
1:n(e.payByEnrichPoints),endpointUrl:H,isOneWayRef:q}),vt=t=>{q.value=t},{isLoggedIn:Ue,isAuthStateReady:Tt}=he(),{hash:_t,hashQuery:St}=lt(),We="sapphire";d.value=Ve(We)??null;const Ct=n(!1),He=n(null),G=n(!1);ee(e.payByEnrichPoints,async t=>{var f,_;await Ie(50);const o=(f=r.value)==null?void 0:f.computedOptionsFrom;i.value&&(o!=null&&o.length)&&(o.flatMap(I=>I.options).some(I=>{var w;return((w=i.value)==null?void 0:w.airportCode)===I.airportCode})||(i.value=null,u.value=null));const s=(_=r.value)==null?void 0:_.computedOptionsTo;u.value&&(s!=null&&s.length)&&(s.flatMap(I=>I.options).some(I=>{var w;return((w=u.value)==null?void 0:w.airportCode)===I.airportCode})||(u.value=null)),D.value&&(D.value=null)});const xt=async({status:t})=>{var o,s,f;if(!e.togglePointsApiURL)throw new Error("Failed to get endpoint: togglePointsApiURL");if(!e.signUpApiUrl)throw new Error("Failed to get endpoint: signUpApiUrl");try{const _=t==="signup"?e.signUpApiUrl:e.togglePointsApiURL,S=(await re.get(_,{params:{type:"points",maintab:"flight-search-tab",subtab:"book-flight",locationFrom:(o=i.value)==null?void 0:o.code,locationTo:(s=u.value)==null?void 0:s.code,dateDeparture:v.value,dateReturn:g.value,cabinClass:(f=p.value.cabinClassValue)==null?void 0:f.value,adultsCount:p.value.adults.count.value,teensCount:p.value.teens.count.value,childrenCount:p.value.children.count.value,infantsCount:p.value.infants.count.value,promoCode:e.supersedePromoCode??D.value,isPoints:!0,...G.value?{isExpressBooking:!0}:null}})).data;window.location.href=S}catch(_){console.error("handleRedirectToLoginAndSignUp, ","Unable to fetch api",_)}},kt=async(t,o)=>{var _,L;console.log("✅ handleSubmitValid values = ",t),E.value=!0;const s={isBSTTab:!1,payByEnrichPoints:e.payByEnrichPoints,optInBonusSideTrip:W.value,dateRangeValueFrom:v.value,dateRangeValueTo:g.value,isOneWay:!g.value,ondValueFrom:i.value,ondValueTo:u.value,promoCodeValue:e.supersedePromoCode??D.value,cabinClassValue:p.value.cabinClassValue,adultsCount:p.value.adults.count.value,teensCount:p.value.teens.count.value,childrenCount:p.value.children.count.value,infantsCount:p.value.infants.count.value,userIn
1putPromoCode:D.value,...e.enableMattaToggleButton?{isCUGCampaignPage:e.enableMattaToggleButton,isCampaignToggleON:h.value}:null,...G.value?{isExpressBooking:!0,expressBookingSupportingCabinClass:(_=e.expressBooking)==null?void 0:_.supportedCabinClass}:null};if(s.payByEnrichPoints&&(s.activeSubOption=e.activeSubOption.text.replace(/<[^>]*>/g,""),s.redeemFlightType=e.activeSubOption.value),B("save-search-data",s),B("form-submission",s),W.value)return B("show-bst-overlay"),ze(e.tabName,{ondValueFrom:s.ondValueFrom,ondValueTo:s.ondValueTo,dateRangeValueFrom:s.dateRangeValueFrom,dateRangeValueTo:s.dateRangeValueTo,isOneWay:s.isOneWay,adultsCount:s.adultsCount,teensCount:s.teensCount,childrenCount:s.childrenCount,infantsCount:s.infantsCount,cabinClassValue:s.cabinClassValue,payByEnrichPoints:!1,promoCodeValue:e.supersedePromoCode??D.value});const f={departDate1:z(s.dateRangeValueFrom).format("YYYYMMDDHHmm"),returnDate1:!s.isOneWay&&s.dateRangeValueTo?z(s.dateRangeValueTo).format("YYYYMMDDHHmm"):"",originCountry:s.ondValueFrom.countryName,originAirportCode1:s.ondValueFrom.code,destAirportCode1:s.ondValueTo.code,flightClass:"ECONOMY|E",adultCount:"1",...xe.value?{teenCount:s.teensCount.toString()}:null,childCount:"0",infantCount:"0",paymentType:"cash",zone:ne.zone,travelPassId:ne.id,isMhFlypass:!0,amal1:s.ondValueTo._original.isAmalFlag,promoCode:s.promoCodeValue??"",regionLanguage:te&&ae?`${te}-${ce(ae)}`:"",amcvId:((L=window._satellite)==null?void 0:L.getVar("ECID"))??"",teaserCategory:Ve("TeaserCategory")??""};s.payByEnrichPoints&&(f.redeemFlightType=s.redeemFlightType);try{const S=await re({method:"post",url:e.flightSearchApiUrl,data:f}),{url:I,payload:w}=S.data;delete w.RAW_DATA;const fe={},Ht=Object.entries(w);for(let[ot,[ke,st]]of Ht.entries())fe[ot]=ke;const jt={...fe,...w},Yt=Object.entries(jt),Qt="post",ye=document.createElement("form");ye.setAttribute("method",Qt),ye.setAttribute("action",I);for(let[ot,[ke,st]]of Yt.entries()){const ts=parseInt(ke);let Le=document.createElement("input");Le.setAttribute("type","hidden"),Le.setAttribute("name",ke),Le.setAttribute("value",st),ye.appendChild(Le)}document.body.appendChild(ye),E.value=!1,ye.submit()}catch(S){console.error("handleSubmitValid, ","Unable to fetch api",JSON.stringify(S)),E.value=!1;const{statusCode:I,message:w}=S.response.data;I===400&&(He.value.setErrors(le.t(w)),tt({errorMsg:le.t(w)}))}},Lt=({values:t,errors:o,results:s,evt:f})=>{console.log("❌ handleSubmitInvalid errors = ",o)},At=()=>{Ce.value||(T.value=!0)},Ft=()=>{},Et=P(()=>{var s;const t=b.value;if(!t)return!0;const o=(s=y.value)==null?void 0:s.isOneWay;return!t.values.locationFrom||!t.values.locationTo||!t.values.dateDeparture||!o&&!t.values.dateReturn||Object.keys(t.errors).length!==0}),je=rt("booking-widget"),Ce=n(!1);je.on((t,o)=>{switch(t){case"sticky:sticked":{Ce.value=!0;break}case"sticky:unsticked":{Ce.value=!1;break}}});const Dt=()=>{},Ye=(t,o=null)=>{const s=z(),f=s.add(Ke.value,"day"),_=z(t),L=z(o);return!(_.isValid()===!1||o&&L.isValid()===!1||_.isBefore(s,"day")||o&&L.isAfter(f,"day"))},Be=({from:t,to:o=null,isOneWay:s=!1}={})=>{var f,_;Ye(t,s?null:o)?(v.value=z(t).format("YYYY-MM-DD"),g.value=(o&&z(o).format("YYYY-MM-DD"))??null):(v.value=null,g.value=null,(_=(f=y.value)==null?void 0:f.inputElFrom)==null||_.resetField(),Ae().then(()=>{var L,S,I,w;try{(S=(L=y.value)==null?void 0:L.inputElFrom)==null||S.setTouched(!0),(w=(I=y.value)==null?void 0:I.inputElFrom)==null||w.setErrors(le.t("The selected dates are no longer valid. Please reselect."))}catch{}}))},Qe=t=>{var o;i.value=t.ondValueFrom,u.value=t.ondValueTo,Be({from:t.dateRangeValueFrom,to:t.dateRangeValueTo||null,isOneWay:!!t.isOneWay}
1),D.value=t.userInputPromoCode,W.value=t.optInBonusSideTrip,G.value=!!t.isExpressBooking,(o=p.value)==null||o.setValues({adults:t.adultsCount,teens:t.teensCount,children:t.childrenCount,infants:t.infantsCount,cabinClass:t.cabinClassValue}),y.value.handleSetIsOneWay(!!t.isOneWay)},{commitDataToBSTOverlay:ze,registerNotifier:Je}=it();Je("book-flight",async t=>{var o;i.value=t.ondValueFrom,u.value=t.ondValueTo,v.value=t.dateRangeValueFrom,g.value=t.dateRangeValueTo,(o=p.value)==null||o.setValues({adults:t.adultsCount,teens:t.teensCount,children:t.childrenCount,infants:t.infantsCount,cabinClass:t.cabinClassValue}),y.value.handleSetIsOneWay(!!t.isOneWay)});const Ge=0,Ze=361,wt=P(()=>{const t=e.datePicker;return!(t!=null&&t.departureDateConfig)||typeof(t==null?void 0:t.departureDateConfig)!="number"?Ge:t==null?void 0:t.departureDateConfig}),Oe=P(()=>{const t=e.datePicker;return!(t!=null&&t.returnDateConfig)||typeof(t==null?void 0:t.returnDateConfig)!="number"?Ze:t==null?void 0:t.returnDateConfig}),Ke=P(()=>{if(e.expireDate){const t=new Date(e.expireDate),o=new Date,s=t.getTime()-o.getTime(),f=Math.floor(s/(1e3*3600*24)),_=Oe.value;return Math.min(f,_)}return Oe.value}),Bt=P(()=>{var s;let t=null;const o=(s=e.datePicker)==null?void 0:s.disableSpecificDateList;return o!=null&&o.length&&(t=[],o.forEach(f=>{f.disableDate&&t.push(f.disableDate)})),t}),{registerQueryChange:Xe}=De({mainTabName:"flight-search-tab",subTabName:e.tabName});Xe(async t=>{var o;t&&(i.value=t.locationFrom,u.value=t.locationTo,Ae().then(async()=>{var s,f;await((s=r.value)==null?void 0:s.updateFromValue()),(f=r.value)==null||f.updateToValue()}),Be({from:t.dateDeparture,to:t.dateReturn||null,isOneWay:t.isOneWay==="true"}),D.value=t.promoCode??null,await Ae(),G.value=t.isExpressBooking==="true",(o=p.value)==null||o.setValues({...t.adultsCount?{adults:parseInt(t.adultsCount)}:null,...t.teensCount?{teens:parseInt(t.teensCount)}:null,...t.childrenCount?{children:parseInt(t.childrenCount)}:null,...t.infantsCount?{infants:parseInt(t.infantsCount)}:null,...t.cabinClass?{cabinClass:parseInt(t.cabinClass)}:null}),W.value=t.bst??!1,t.isPoints==="true"&&setEnrichPointStatus(!0),t.isOneWay==="true"&&y.value.handleSetIsOneWay(!!t.isOneWay))});const qe=async t=>{var _;const{locationFrom:o,locationTo:s}=t;(_=r.value)==null||_.toggleGenerateONDList(),await gt(()=>{var L,S;return((L=r.value)==null?void 0:L.computedOptionsFrom)&&((S=r.value)==null?void 0:S.computedOptionsTo)},400,30).start(),o&&(i.value=o),s&&(u.value=s),Ae().then(async()=>{var L,S;await((L=r.value)==null?void 0:L.updateFromValue()),(S=r.value)==null||S.updateToValue()})},be=n(0);ee(g,t=>{var o;if(t&&i.value&&u.value&&g.value&&Se.value&&Se.value[g.value]&&((o=ge==null?void 0:ge.value)!=null&&o.totalFareAmount)){be.value=parseInt(ge.value.totalFareAmount)+parseInt(Se.value[g.value]);return}be.value=0});const Ot=P(()=>!we.value&&!be.value?"":`${we.value} ${dt(be.value)}`),xe=n(!1),$e=async()=>{var t,o,s,f;if((t=i.value)!=null&&t.value&&((o=u.value)!=null&&o.value)&&v.value&&g.value&&se.value){const _=(s=i.value)==null?void 0:s.value,L=(f=u.value)==null?void 0:f.value;return re.get("/bin/mh/revamp/ondLists?type=bst_validate",{params:{ori:_,des:L,cabin:se.value,dateFrom:v.value,dateTo:g.value}}).then(S=>{var I,w;if(((I=i.value)==null?void 0:I.value)===_&&((w=u.value)==null?void 0:w.value)===L&&S.status===200&&S.data&&Object.keys(S.data).length>0)return!0}).catch(S=>
1(console.log("bst_validate api failed reason = ",S),!1))}else return!1};ee([i,u,v,g,X],async t=>{$e().then(o=>{Q.value=o})});const et=async()=>{var t,o,s;if(i.value&&u.value){const f=(t=i.value)==null?void 0:t.countryName,_=(o=i.value)==null?void 0:o.isRedemption,L=(s=u.value)==null?void 0:s.isRedemption,S=e.enrichAlwaysOnCountriesData.includes(f);if(_&&L&&S)return!0}return!1};ee([i,u,e.payByEnrichPoints],async t=>{if(e.enrichAlwaysOn&&oe()&&e.enrichAlwaysOnCountriesData.length>0&&!e.payByEnrichPoints){j.value=await et();return}j.value=!1}),ee([i,u],async t=>{var o;xe.value=ut(e.countryVariants,{origin:i.value,destination:u.value}),!xe.value&&((o=p.value)==null||o.setValues({teens:0}))});const tt=({errorMsg:t})=>{const o={errorName:t},s={name:e.searchFlightCTAText,type:"exit"};bt([o,s])};ct(p);const Vt=t=>{var o,s;t&&!Ne.value&&((s=(o=y.value)==null?void 0:o.inputElFrom)==null||s.focus())},It=P(()=>{var t,o,s,f;return e.ondSelection?{NEAR_YOU:(t=e.ondSelection)==null?void 0:t.nearYouLabel,POPULAR_DEST:(o=e.ondSelection)==null?void 0:o.popularDestinationsLabel,WITH_MH:(s=e.ondSelection)==null?void 0:s.withMalaysiaAirlinesLabel,CODESHARE:(f=e.ondSelection)==null?void 0:f.withCodeShareAndPartnerNetworkLabel}:null}),Pt=P(()=>e.payByEnrichPoints&&e.activeSubOption.value==="ow-redemption"?"FLIGHT_SEARCH_OW_REDEMPTION":e.payByEnrichPoints&&e.activeSubOption.value==="malaysia-airlines"?"FLIGHT_SEARCH_ENRICH":"FLIGHT_SEARCH_CASH"),Mt=n(null),me=n(!1);ee(me,async t=>{await Ie(500),pt(me)},{immediate:!0});const Nt=()=>{me.value=!1,G.value=!1},Rt=P(()=>{var _,L,S,I,w,fe;const t=((_=p.value)==null?void 0:_.adults.count.value)+((L=p.value)==null?void 0:L.children.count.value)+((S=p.value)==null?void 0:S.teens.count.value)+((I=p.value)==null?void 0:I.infants.count.value)===1,o=((fe=(w=e.expressBooking)==null?void 0:w.supportedCabinClass)==null?void 0:fe.replace(/\s/g,"").split(","))||[],s=o==null?void 0:o.includes(V.value),f=t&&s&&!W.value;return f||(G.value=!1),!f}),Ut=t=>{G.value=t.target.checked,G.value&&!Ue.value&&(me.value=!0)},Wt=P(()=>Number(e.remainingQuota)===1?!0:q.value);ve(()=>{const t=window.location.pathname;de.value=t.endsWith("jdt-portal.html"),ue.value=t.endsWith("normal-booking.html")}),l({restorePastSearch:Qe,updateLocationFromTo:qe,isExpanded:T});const at={props:e,emit:B,isRTL:R,siteName:F,formWrapper:b,rootEl:m,passengerAndCabinClassEl:p,dateRangePickerEl:y,ondPickerEl:r,isLoading:E,dateRangeValueFrom:v,dateRangeValueTo:g,ondValueFrom:i,ondValueTo:u,promoCodeValue:D,eligibleForBonusSideTrip:Q,optInBonusSideTrip:W,token:d,isCampaignToggleON:h,pageProperties:O,isEditorMode:J,isExpanded:T,enrichAlwaysOnEligibility:j,optEnrichAlwaysOnOffer:ie,isJDTPortal:de,isJDTNormalBooking:ue,country:te,language:ae,isSapphireCookiePresent:oe,capitalizeString:ce,showAlwaysOnEnrichNonLoginMsg:Te,isEligibleForErichAlwaysOn:_e,computedCabinClassValue:X,selectedCabinClassAfterDelimiter:se,selectedCabinClassBeforeDelimiter:V,getRedeemFlypassData:Z,redeemFlypassData:ne,getCalendarApiUrl:pe,calendarApiUrl:H,isOneWay:q,dateRangePriceData:Se,currency:we,departureDateAndFare:ge,handleWatchIsOneWay:vt,isLoggedIn:Ue,isAuthStateReady:Tt,hash:_t,hashQuery:St,SAPPHIRE_COOKIE:We,isProcessingPayEnrichPoint:Ct,promoCodeTextField:He,isExpressBooking:G,handleRedirectToLoginAndSignUp:xt,handleSubmitValid:kt,handleSubmitInvalid:Lt,handleFormFocusWithin:At,handleFormBlurWithin:Ft,isBtnSubmitDisabled:Et,bookingWidgetBus:je,isSticked:Ce,handleExpandTransitionEnd:Dt,areDatesValid:Ye,validateAndRestoreDates:Be,restorePastSearch:Qe,commitDataToBSTOverlay:ze,registerNotifier:Je,defaultMinDate:Ge,defaultMaxDate:Ze,datePickerMinAllowedFutureDays:wt,datePickerMaxAllowedFutureDays:Oe,flypassConstrainedMaxDate:Ke,formattedDisabledDateList:Bt,registerQueryChange:Xe,updateLocationFromTo:qe,sumPrice:be,sumPriceWithCurrency:Ot,isCountryVariant:xe,getIsBstEligible:$e,getIsEnrichAlwaysEligible:et,triggerAA_searchError:tt,focusToDatePicker:Vt,groupLabelsOverwrite:It,getOndListIdentifier:Pt,ExpressBookingPopUpEl:Mt,isExpressBookingPopUpVisible:me,dismissOverlayByUser:Nt,isDisabledExpressBooking:Rt,handleExpressBookingChecked:Ut,shouldShowOneWayNote:Wt,ToggleSwitch:zt,Tooltip:Jt,CTAButton:Gt,ONDPicker:Zt,DateRangePicker:Kt,TextField:Xt,PassengerAndCabinClass:qt,FormWrapper:$t,get yup(){return ea},get dayjs(){return z},get isMobileViewport(){return Ne},get isXXXL(){return ta},TransitionHeight:aa,get useGlobalAEMState(){return Ee},get useRouteHash(){return lt},get useEventBus(){return rt},get useBSTOverlayInterimData(){return it},get i18nGlobal(){return le},get useIsCountryVariant(){return ut},get useSyncPassengerDetails(){return ct},get useAuthStore(){return he},get getCookie(){return Ve}
1,get useEnrichLowFarePriceList(){return mt},get isUrlMatchCurrentHostname(){return oa},get formatNumberWithAbbreviation(){return dt},get sleep(){return Ie},get waitFor(){return gt},get useBookingWidgetUrlQuery(){return De},get pushAA_searchError(){return bt},get useIsRTL(){return nt},Checkbox:sa,AppSpinner:na,Teleport:yt,get useDisableScroll(){return pt}};return Object.defineProperty(at,"__isScriptSetup",{enumerable:!1,value:!0}),at}}),ka={ref:"rootEl",class:"SubTabBookFlight"},La={class:"flex"},Aa={key:0,class:"mb-5"},Fa={class:"flex items-center"},Ea={key:2,class:"bg-primary-blue-extralight text-primary-black-base flex gap-3 justify-start px-4 py-4 rounded-xl >lg:mt-3 mb-4 >sm:mb-5"},Da={class:"text-sm"},wa={class:"flex gap-4 xl:flex-col field-wrapper"},Ba={class:"w-7/10 xl:w-full component-wrapper"},Oa={class:"w-4/10 xl:w-full component-wrapper"},Va={class:"w-3/10 xl:w-full component-wrapper"},Ia={key:0,class:"w-2/10 xl:w-full component-wrapper"},Pa={class:"flex gap-6 xl:gap-3 lg:flex-col field-wrapper"},Ma={class:"flex flex-grow gap-6 xl:gap-3 lg:flex-col field-wrapper"},Na={key:0,class:"w-3/10 lg:w-full"},Ra={class:"typo-category-title mb-4 mt-2 uppercase"},Ua={class:"flex items-center"},Wa={class:"flex justify-end lg:justify-start cta-wrapper mt-3"},Ha={key:0,class:"flex mt-6"},ja={class:"rounded-xl bg-secondary-teal-extralight flex-grow px-5 py-4 flex sm:flex-col >sm:flex-row gap-4 justify-between"},Ya={class:"text-left rtl:text-right ml-16 >sm:ml-0 rtl:mr-16 >sm:rtl:mr-0 flex-shrink-0"},Qa={key:1,class:"bg-primary-blue-extralight text-primary-black-base flex gap-3 justify-start px-4 py-4 rounded-xl mt-6"},za={class:"text-sm"},Ja={key:2,class:"bg-primary-blue-extralight text-primary-black-base flex gap-3 justify-start px-4 py-4 rounded-xl mt-6"},Ga={class:"text-sm"},Za={key:3,class:"flex mt-6"},Ka={class:"rounded-xl bg-secondary-teal-extralight flex-grow px-5 py-4"},Xa={class:"generic-backdrop !bg-white/80"},qa={class:"flex items-center justify-center h-full w-full"},$a={class:"overlay-container"},eo={class:"overlay-header px-6 mt-4"},to={class:"overlay-body px-6 mt-4"},ao={class:"author-html-container line-clamp-5"},oo={class:"overlay-footer px-6 mt-6 mb-10"};function so(C,l,N,e,B,R){const F=ca,b=pa,m=la("AppHyperlink"),p=ga,y=Pe("html-sanitize"),r=Pe("aa"),E=Pe("focus-within");return k(),M("div",ka,[Y((k(),$(e.FormWrapper,{ref:"formWrapper",class:"-mt-16 lg:mt-0","data-use-theme":e.siteName,tabindex:"-1",onSubmitValid:e.handleSubmitValid,onSubmitInvalid:e.handleSubmitInvalid,onFocusWithin:e.handleFormFocusWithin,onBlurWithin:e.handleFormBlurWithin},{default:A(({errors:v})=>{var g,i,u,D,Q,W,d,h,O,J,T,j,ie,de,ue,te,ae,oe,ce,Te,_e,X,se;return[a("div",null,[a("div",La,[a("div",{class:Fe(["toggle-group",{"mr-auto lg:mr-0":e.isRTL,"ml-auto lg:ml-0":!e.isRTL,"pt-15.5":!e.isMobileViewport}])},[e.props.enableMattaToggleButton?(k(),$(e.ToggleSwitch,{key:0,modelValue:e.isCampaignToggleON,"onUpdate:modelValue":l[0]||(l[0]=V=>e.isCampaignToggleON=V),rootAttrs:{class:"mb-8"},ariaLabel:e.props.mattaToggleButtonLabel,name:"usingCugPromoCode"},null,8,["modelValue","ariaLabel"])):U("",!0)],2)]),e.props.subHeaderTabDescription?Y((k(),M("div",Aa,null,512)),[[y,e.props.subHeaderTabDescription]]):U("",!0),e.props.subHeaderTabTooltipLabel?(k(),$(e.Tooltip,{key:1,class:"inline-flex mb-5"},{default:A(()=>[a("div",Fa,[x(F,{class:"fill-primary-blue-base mr-4 rtl:mr-0 rtl:ml-4","aria-hidden":"true"}),K(" "+c(e.props.subHeaderTabTooltipLabel),1)])]),"mobile-title":A(()=>[K(c(e.props.subHeaderTabTooltipLabel),1)]),"tooltip-content":A(()=>[Y(a("div",null,null,512),[[y,e.props.subHeaderTabTooltipBody]])]),"mobile-cta-label":A(()=>[K(c(e.props.subHeaderTooltipCTATextMobileLabel),1)]),_:1})):U("",!0),e.props.topNoteOneWay||e.props.topNoteRoundTrip?(k(),M("div",Ea,[x(b,{class:"fill-primary-blue-base text-base"}),Y(a("div",Da,null,512),[[y,e.shouldShowOneWayNote?e.props.topNoteOneWay:e.props.topNoteRoundTrip]])])):U("",!0),a("div",wa,[a("div",Ba,[x(e.ONDPicker,{ref:"ondPickerEl",modelValueFrom:e.ondValueFrom,"onUpdate:modelValueFrom":l[1]||(l[1]=V=>e.ondValueFrom=V),modelValueTo:e.ondValueTo,"onUpdate:modelValueTo":[l[2]||(l[2]=V=>e.ondValueTo=V),e.focusToDatePicker],nameFrom:"locationFrom",nameTo:"locationTo",requiredFrom:!0,requiredTo:!0,requiredErrorMsgFrom:(g=e.props.ondSelection)==null?void 0:g.fromSearchErrorMessage,requiredErrorMsgTo:(i=e.props.ondSelection)==null?void 0:i.toSearchErrorMessage,labelTextFrom:(u=e.props.ondSelection)==null?void 0:u.fromLabel,labelTextTo:(D=e.props.ondSelection)==null?void 0:D.toLabel,noResultsText:(Q=e.props.ondSelection)==null?void 0:Q.noResultMessage,ondListIdentifier:"ENRICH_FLYPASS_ZONE",isEnrichFlypass:!0,isEnrichFlypassFlightSearch:!0,selectedZone:e.props.selectedZone},{"from-picker-mobile-title":A(()=>[a("span",null,c(e.props.fromQuestionMobile),1)]),"to-picker-mobile-title":A(()=>[a("span",null,c(e.props.toQuestionMobile),1)]),_:1},8,["modelValueFrom","modelValueTo","requiredErrorMsgFrom","requiredErrorMsgTo","labelTextFrom","labelTextTo","no
1ResultsText","selectedZone"])]),a("div",Oa,[x(e.DateRangePicker,{ref:"dateRangePickerEl",modelValueFrom:e.dateRangeValueFrom,"onUpdate:modelValueFrom":l[3]||(l[3]=V=>e.dateRangeValueFrom=V),modelValueTo:e.dateRangeValueTo,"onUpdate:modelValueTo":l[4]||(l[4]=V=>e.dateRangeValueTo=V),priceData:e.dateRangePriceData,textFieldAttrsFrom:{ariaLabel:((W=e.props.datePicker)==null?void 0:W.departureDateLabel)??C.$t("Depart"),placeholder:C.$t("Select a date")},textFieldAttrsTo:{ariaLabel:((d=e.props.datePicker)==null?void 0:d.returnDateLabel)??C.$t("Return"),placeholder:C.$t("Select a date")},minDate:`t+${e.datePickerMinAllowedFutureDays}d`,maxDate:`t+${e.flypassConstrainedMaxDate}d`,disabledDates:e.formattedDisabledDateList,minDateFromAfterSelectingTo:"t",disablePastDates:!0,nameFrom:"dateDeparture",nameTo:"dateReturn",requiredFrom:!0,requiredTo:!0,requiredErrorMsgFrom:(h=e.props.datePicker)==null?void 0:h.invalidDateErrorMessage,requiredErrorMsgTo:(O=e.props.datePicker)==null?void 0:O.invalidDateErrorMessage,labelReset:((J=e.props.datePicker)==null?void 0:J.resetButtonCTAText)??C.$t("Reset"),labelDone:((T=e.props.datePicker)==null?void 0:T.doneCTAText)??C.$t("Done"),labelOneWay:((j=e.props.datePicker)==null?void 0:j.oneWayCTAText)??C.$t("One-way"),isHideTodayIndicator:e.props.hideTodayDateIndicator,disableCalendarPickerAnimation:e.props.disableCalendarPickerAnimation,isIgnoreScroll:e.props.isIgnoreScroll,forceOneWay:Number(e.props.remainingQuota)===1,"onUpdate:isOneWay":e.handleWatchIsOneWay},{"mobile-title":A(()=>[K(c(e.props.datePickerQuestionMobile),1)]),_:1},8,["modelValueFrom","modelValueTo","priceData","textFieldAttrsFrom","textFieldAttrsTo","minDate","maxDate","disabledDates","requiredErrorMsgFrom","requiredErrorMsgTo","labelReset","labelDone","labelOneWay","isHideTodayIndicator","disableCalendarPickerAnimation","isIgnoreScroll","forceOneWay"])]),a("div",Va,[x(e.PassengerAndCabinClass,{ref:"passengerAndCabinClassEl",labelText:(ie=e.props.passengerSelection)==null?void 0:ie.passengerAndCabinClassLabel,passengerLabel:(de=e.props.passengerSelection)==null?void 0:de.passengerLabel,adultLabel:(ue=e.props.passengerSelection)==null?void 0:ue.adultLabel,teenagerLabel:(te=e.props.passengerSelection)==null?void 0:te.teenagerLabel,childrenLabel:(ae=e.props.passengerSelection)==null?void 0:ae.childrenLabel,infantLabel:(oe=e.props.passengerSelection)==null?void 0:oe.infantLabel,cabinClassLabel:(ce=e.props.passengerSelection)==null?void 0:ce.cabinClassLabel,economyLabel:(Te=e.props.passengerSelection)==null?void 0:Te.economyLabel,businessLabel:(_e=e.props.passengerSelection)==null?void 0:_e.businessLabel,businessSuiteLabel:(X=e.props.passengerSelection)==null?void 0:X.businessSuiteLabel,isShowEconomyClass:!0,isShowBusinessClass:!1,isShowBusinessSuiteClass:!1,isCountryVariant:e.useIsCountryVariant(e.props.countryVariants,{origin:e.ondValueFrom,destination:e.ondValueTo}),isExpressBooking:!0,hideExpressBookingNote:!0,passengerAndCabinClassNote:(se=e.props.passengerSelection)==null?void 0:se.passengerAndCabinClassNote,isDisabled:!0},{"after-passengers":A(()=>{var V;return[x(m,{class:"font-semibold",href:(V=e.props.passengerSelection)==null?void 0:V.groupBookingPageURL,showExternalLinkIcon:!0,target:"_blank"},{default:A(()=>{var Z;return[K(c(((Z=e.props.passengerSelection)==null?void 0:Z.moreThan9PassengerDescription)||C.$t("More than 9 passengers?")),1)]}),_:1},8,["href"])]}),"mobile-title":A(()=>[K(c(e.props.passengerSelectionQuestion),1)]),_:1},8,["labelText","passengerLabel","adultLabel","teenagerLabel","childrenLabel","infantLabel","cabinClassLabel","economyLabel","businessLabel","businessSuiteLabel","isCountryVariant","passengerAndCabinClassNote"])]),!e.props.payByEnrichPoints&&!e.props.hidePromoCodeField?(k(),M("div",Ia,[x(e.TextField,{ref:"promoCodeTextField",modelValue:e.promoCodeValue,"onUpdate:modelValue":l[5]||(l[5]=V=>e.promoCodeValue=V),name:"promoCode",variant:"booking-widget",ariaLabel:e.props.promoCodeLabel,placeholder:"E.g. 8990",allowedKeys:/[a-zA-Z0-9]/},null,8,["modelValue","ariaLabel"])])):U("",!0)])]),x(e.TransitionHeight,{height:e.isExpanded||e.isEditorMode||e.isMobileViewport?"auto":0,transitionDuration:.175,class:Fe(e.isExpanded||e.isEditorMode||e.isMobileViewport?"overflow-visible":""),onTransitionEnd:e.handleExpandTransitionEnd},{default:A(()=>{var V,Z,ne,pe;return[a("div",Pa,[a("div",Ma,[e.props.expressBooking&&e.props.expressBooking.turnOnExpressBooking&&!e.props.payByEnrichPoints?(k(),M("div",Na,[a("p",Ra,c((V=e.props.expressBooking)==null?void 0:V.searchOptionsLabel),1),x(e.Checkbox,{modelValue:e.isExpressBooking,"onUpdate:modelValue":[l[6]||(l[6]=H=>e.isExpressBooking=H),l[7]||(l[7]=H=>e.isExpressBooking=H)],rootAttrs:{class:"checkbox-express-booking -mt-2 mb-4"},ariaLabel:(Z=e.props.expressBooking)==null?void 0:Z.expressBookingCheckboxLabel,name:"isExpressBooking",disabled:e.isDisabledExpressBooking,onChange:e.handleExpressBookingChecked},{default:A(()=>{var H;return[a("p",null,c((H=e.props.expressBooking)==null?void 0:H.expressBookingCheckboxLabel),1),x(e.Tooltip,{class:"inline-flex mb-5"},{default:A(()=>[a("div",Ua,[x(F,{class:"fill-primary-blue-base mr-4 rtl:mr-0 rtl:ml-4","aria-hidden":"true"})])]),"tooltip-content":A(()=>{var q;return[Y(a("div",null,null,512),[[y,(q=e.props.expressBooking)==null?void 0:q.expressBookingTooltipDescription]])]}),_:1})]}),_:1},8,["modelValue","ariaLabel","disabled"])])):U("",!0)]),a("div",Wa,[Y((k(),$(e.CTAButton,{sizeType:e.isMobileViewport?"small":"large",isSubmit:!0,
1ctaSizing:e.isMobileViewport?"fluid":"auto",disabled:e.isBtnSubmitDisabled},{default:A(()=>{var H;return[K(c(e.isExpressBooking?(H=e.props.expressBooking)==null?void 0:H.expressBookingSearchCta:e.props.searchFlightCTAText),1)]}),_:1},8,["sizeType","ctaSizing","disabled"])),[[r,[{clickName:e.isExpressBooking?(ne=e.props.expressBooking)==null?void 0:ne.expressBookingSearchCta:e.props.searchFlightCTAText,clickComponentType:"Button",componentName:"SubTabBookFlight",componentID:e.props.componentIdAA},{name:e.isExpressBooking?(pe=e.props.expressBooking)==null?void 0:pe.expressBookingSearchCta:e.props.searchFlightCTAText,type:"exit"}]]])])]),e.eligibleForBonusSideTrip&&e.props.bstNoteTop&&!e.isExpressBooking?(k(),M("div",Ha,[a("div",ja,[x(e.ToggleSwitch,{modelValue:e.optInBonusSideTrip,"onUpdate:modelValue":l[8]||(l[8]=H=>e.optInBonusSideTrip=H),ariaLabel:e.props.bstNoteTop,name:"optInBonusSideTrip"},{default:A(()=>[Y(a("div",null,null,512),[[y,e.props.bstNoteTop]])]),_:1},8,["modelValue","ariaLabel"]),a("div",Ya,[e.props.bstNoteCTAText?Y((k(),$(m,{key:0,href:e.props.bstNoteCTAURL,target:"_blank",showExternalLinkIcon:!1},{default:A(()=>[K(c(e.props.bstNoteCTAText),1)]),_:1},8,["href"])),[[r,[{clickName:e.props.bstNoteCTAText,clickComponentType:"URL",componentName:"SubTabBookFlight",componentID:e.props.componentIdAA,BST:!0},{name:e.props.bstNoteCTAText,type:e.isUrlMatchCurrentHostname(e.props.bstNoteCTAURL)?"other":"exit"}]]]):U("",!0)])])])):U("",!0),e.props.note?(k(),M("div",Qa,[x(b,{class:"fill-primary-blue-base text-base"}),Y(a("div",za,null,512),[[y,e.props.note]])])):U("",!0),e.showAlwaysOnEnrichNonLoginMsg?(k(),M("div",Ja,[x(b,{class:"fill-primary-blue-base text-base"}),Y(a("div",Ga,null,512),[[y,e.props.nonLoggedInMessageNote]])])):U("",!0),e.enrichAlwaysOnEligibility&&e.props.loggedInMessageNote?(k(),M("div",Za,[a("div",Ka,[x(e.ToggleSwitch,{modelValue:e.optEnrichAlwaysOnOffer,"onUpdate:modelValue":l[9]||(l[9]=H=>e.optEnrichAlwaysOnOffer=H),ariaLabel:e.props.loggedInMessageNote,name:"optEnrichAlwaysOnOffer"},{default:A(()=>[Y(a("div",null,null,512),[[y,e.props.loggedInMessageNote]])]),_:1},8,["modelValue","ariaLabel"])])])):U("",!0)]}),_:1},8,["height","class"])]}),_:1},8,["data-use-theme"])),[[E]]),e.isLoading?(k(),$(yt,{key:0,to:"body"},[a("div",Xa,[a("div",qa,[x(e.AppSpinner)])])])):U("",!0),(k(),$(ua(e.isEditorMode?"div":e.Teleport),{to:"body"},{default:A(()=>[x(ra,{name:"overlay-fade-and-zoom",appear:""},{default:A(()=>{var v,g,i;return[e.isExpressBookingPopUpVisible?(k(),M("div",{key:0,ref:"ExpressBookingPopUpEl",class:Fe(["ExpressBookingPopUp backdrop",{"!relative":e.isEditorMode}]),tabindex:"-1",onKeydownCapture:ia(e.dismissOverlayByUser,["esc"]),onClick:da(e.dismissOverlayByUser,["self"])},[a("div",$a,[a("div",eo,[a("button",{type:"button",class:"absolute top-2 right-4","aria-label":"Popup close button",onClick:e.dismissOverlayByUser},[x(p,{class:"w-6 h-6"})]),a("h3",null,c((v=e.props.expressBooking)==null?void 0:v.expressBookingPopUpTitle),1)]),a("div",to,[Y(a("div",ao,null,512),[[y,(g=e.props.expressBooking)==null?void 0:g.expressBookingPopUpDescription]])]),a("div",oo,[x(e.CTAButton,{ctaText:(i=e.props.expressBooking)==null?void 0:i.expressBookingPopUpSignUpCtaLabel,sizeType:"small",ctaSizing:"fluid",styleType:"secondary",containerClass:"flex-grow basis-0 w-full",onClick:l[10]||(l[10]=u=>e.handleRedirectToLoginAndSignUp({status:"signup"}))},null,8,["ctaText"]),x(m,{href:"#",class:"flex-grow basis-0 hover:no-underline w-full"},{default:A(()=>{var u;return[x(e.CTAButton,{ctaText:(u=e.props.expressBooking)==null?void 0:u.expressBookingPopUpLoginCtaLabel,sizeType:"small",ctaSizing:"fluid",styleType:"primary",containerClass:"w-full",tabindex:"-1",onClick:l[11]||(l[11]=D=>e.handleRedirectToLoginAndSignUp({status:"login"}))},null,8,["ctaText"])]}),_:1})])])],34)):U("",!0)]}),_:1})]),_:1}))],512)}const no=Re(xa,[["render",so],["__scopeId","data-v-697346e8"],["__file","SubTabBookFlight.vue"]]),lo={name:"SubTabHistory"},ro=Object.assign(lo,{props:{tripDetailsCtaLabel:{type:String,default:""},pnrLabel:{type:String,default:""},eTicketNumberLabel:{type:String,default:""},tripTypeLabel:{type:String,default:""},bookingDateLabel:{type:String,default:""},statusLabel:{type:String,default:""},creditRedeemedLabel:{type:String,default:""},noResults:{type:Object,default:()=>({imageUrl:{type:String,default:""},title:{type:String,default:""},message:{type:String,default:""}})}},setup(C,{expose:l}){l();const N=n(null),e=n(null),B=n(!1),R=n(null),F=n(""),b=n(new Set),m=n(null),p=C,y=P(()=>{var d;return((d=e.value)==null?void 0:d.enrichFlypassHistoryInfo)||[]}),r=d=>{b.value.has(d)?b.value.delete(d):b.value.add(d)},E=d=>b.value.has(d),v=d=>d?z(d).format("DD MMM YYYY"):"",g=d=>d?z(d).format("HH:mm"):"",i=d=>{switch(d){case"R":return"Return";case"O":return"One-way";default:return d}},u=async()=>{let d=sessionStorage.getItem("selectedFlypassData"),h=null;if(d)h=JSON.parse(d),m.value=h.flypassData,sessionStorage.removeItem("selectedFlypassData");else{const O=sessionStorage.getItem("redeemFlypassData");if(O){const J=JSON.parse(O),T=sessionStorage.getItem("flypassApi");if(T){const j=JSON.parse(T);h={id:J.id,historyApi:j.historyApi},m.value=J.flypassData}}}h&&(N.value=h,h.id&&h.historyApi&&await D(h.id,h.historyApi))},D=async(d,h)=>{B.value=!0,R.value=null;try{const O=await re.get(h,{params:{travelPass:d}});e.value=O.data}catch(O){console.error("Error fetching flypass history:",O),R.value=O.message||"Failed to load flypass history"}finally{B.value=!1}},Q=d=>{if(!m.value||!d)return null;if(m.value.originList){const h=m.value.originList.find(O=>O.airportCode===d);if(h)return h.airportName}if(m.value.destinationList){const h=m.value.destinationList.find(O=>O.airportCode===d);if(h)return h.airportName}return null};ve(()=>{u()});const W={selectedFlypassData:N,flypassHistoryData:e,isLoadingHistory:B,historyError:R,noResultImage:F,expandedItems:b,flypassOriDestData:m,props:p,historyItems:y,toggleTripDetails:r,isItemExpanded:E,formatDate:v,formatTime:g,getTripTypeDisplay:i,loadFlypassData:u,fetchFlypassHistory:D,getAirportInfoByCode:Q,ref:n,onMounted:ve,computed:P,get axios(){return re},get dayjs(){return z}};return Object.defineProperty(W,"__isScriptSetup",{enumerable:!1,value:!0}),W}}),io={class:"SubTabHistory"},uo={key:0,class:"space-y-5"},co={class:"flex"},po={class:"subtab-history-item-depart flex-1"},go={class:"flight-info-grid"},bo={class:"date-slot"},mo={class:"airport-code-slot"},fo={class:"airport-code-tag"},yo={class:"description-slot"},ho={class:"flex justify-center items-center px-5"},vo={class:"subtab-history-item-return flex-1"},To={class:"flight-info-grid"},_o={class:"date-slot"},So={class:"airport-code-slot"},Co={class:"airport-code-tag"},xo={class:"description-slot"},ko=["onClick"],Lo={class:"text-sm font-semibold text-primary-blue-base"},Ao={class:"subtab-history-item-details flex flex-wrap mt-4 gap-6"},Fo={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},Eo={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},Do={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},wo={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},Bo={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},Oo={class:"text-sm text-neutral-grey-extradark font-semibold mb-1"},Vo={key:1,class:"text-center mt-4"},Io={class:"flex flex-col items-center gap-4"},Po={class:"flex items-center justify-center"},Mo=["src"],No={class:"text-lg font-semibold mb-2"},Ro={class:"text-neutral-grey-extradark"};function Uo(C,l,N,e,B,R){var m,p,y;const F=ht,b=Ta;return k(),M("div",io,[e.historyItems.length>0?(k(),M("div",uo,[(k(!0),M(ba,null,ma(e.historyItems,(r,E)=>{var v,g;return k(),M("div",{key:r.id||E,class:"subtab-history-item"},[a("div",co,[a("div",po,[a("div",go,[a("div",bo,c(r.departDate?e.formatDate(r.departDate):""),1),a("div",mo,[a("div",fo,c(r.origin),1)]),a("div",yo,c(e.getAirportInfoByCode(r.origin)||""),1)])]),a("div",ho,[x(F,{class:"w-4 h-auto fill-primary-blue-base"})]),a("div",vo,[a("div",To,[a("div",_o,c(r.returnDate?e.formatDate(r.returnDate):""),1),a("div",So,[a("div",Co,c(r.destination),1)]),a("div",xo,c(e.getAirportInfoByCode(r.destination)||""),1)])])]),a("div",{class:"flex items-center mt-2.5 gap-1 cursor-pointer",onClick:i=>e.toggleTripDetails(E)},[a("span",Lo,c(e.props.tripDetailsCtaLabel),1),x(b,{class:Fe(["icon-arrow transform",{"rotate-180":e.isItemExpanded(E)}])},null,8,["class"])],8,ko),Y(a("div",Ao,[a("div",null,[a("p",Fo,c(e.props.pnrLabel),
11),a("p",null,c(r.pnr),1)]),a("div",null,[a("p",Eo,c(e.props.eTicketNumberLabel),1),a("p",null,c(r.ticketNumber),1)]),a("div",null,[a("p",Do,c(e.props.tripTypeLabel),1),a("p",null,c(e.getTripTypeDisplay(r.tripType)),1)]),a("div",null,[a("p",wo,c(e.props.bookingDateLabel),1),a("p",null,c(e.formatDate(r.bookingDate)),1)]),a("div",null,[a("p",Bo,c(e.props.statusLabel),1),a("p",null,c(((v=r.status)==null?void 0:v.charAt(0).toUpperCase())+((g=r.status)==null?void 0:g.slice(1).toLowerCase())),1)]),a("div",null,[a("p",Oo,c(e.props.creditRedeemedLabel),1),a("p",null,c(r.point),1)])],512),[[fa,e.isItemExpanded(E)]])])}),128))])):e.isLoadingHistory?U("",!0):(k(),M("div",Vo,[a("div",Io,[a("div",Po,[a("img",{src:(m=e.props.noResults)==null?void 0:m.imageUrl,alt:"No History Found",class:"w-30 h-30"},null,8,Mo)]),a("div",null,[a("h3",No,c((p=e.props.noResults)==null?void 0:p.title),1),a("p",Ro,c((y=e.props.noResults)==null?void 0:y.message),1)])])]))])}const Wo=Re(ro,[["render",Uo],["__scopeId","data-v-657f668a"],["__file","SubTabHistory.vue"]]),Ho={__name:"EnrichFlypassFlightSearch",props:{general:{type:Object,default:()=>({isHideInDesktop:{type:Boolean,default:!1},isHideInMobile:{type:Boolean,default:!1},componentId:{type:String,default:""},bookFlightTabLabel:{type:String,default:""},bookFlightOverlayTitle:{type:String,default:""},searchFlightCtaText:{type:String,default:""},ondSelection:{type:Object,default:()=>({})},datePicker:{type:Object,default:()=>({})},passengerSelection:{type:Object,default:()=>({})},topNoteOneWay:{type:String,default:""},topNoteRoundTrip:{type:String,default:""}})},historyTab:{type:Object,default:()=>({historyTabLabel:{type:String,default:""},tripDetailsCtaLabel:{type:String,default:""},pnrLabel:{type:String,default:""},eticketNumberLabel:{type:String,default:""},tripTypeLabel:{type:String,default:""},bookingDateLabel:{type:String,default:""},statusLabel:{type:String,default:""},creditRedeemedLabel:{type:String,default:""},noResults:{type:Object,default:()=>({imageUrl:{type:String,default:""},title:{type:String,default:""},message:{type:String,default:""}})}})},flightSearchApiUrl:{type:String,default:""},componentIdAA:{type:String,default:""},cabinClassCashList:{type:Array,default:()=>[]},cabinClassMilesList:{type:Array,default:()=>[]},togglePointsApiURL:{type:String,default:""},enrichAlwaysOnCountriesData:{type:Array,default:()=>[]},countryVariants:{type:Array,default:()=>[]},labels:{type:Object,default:()=>({})},mobileAddOns:{type:Object,default:()=>({})}},emits:["update:active-sub-tab"],setup(C,{expose:l,emit:N}){l();const e=C,B=N,R=he(),{isEditorMode:F}=Ee(),b=n("book-flight"),m=n(!1),p=n(null),y=n(null),r=n(null),E=n(null),v=n(null),g=n(!1),i=n(null),u=P(()=>R.isLoggedIn),{registerQueryChange:D}=De({mainTabName:"enrich-flypass-flight-search"});D(async T=>{if(!T)return;const j=T.subtab??"";j&&(b.value=j,B("update:active-sub-tab",j))});const Q=T=>{b.value=T},W=T=>{console.log("Save search data:",T)},d=sessionStorage.getItem("redeemFlypassData");if(d)try{const T=JSON.parse(d);E.value=T.zone,v.value=T.expireDate,T.remainingQuota!==void 0&&(i.value=T.remainingQuota)}catch(T){console.error("Error parsing redeemFlypassData:",T)}const h=sessionStorage.getItem("selectedFlypassData");if(h)try{const T=JSON.parse(h);g.value=T.isExpired||!1,i.value=T.remainingQuota}catch(T){console.error("Error parsing selectedFlypassData:",T)}const O=P(()=>g.value||i.value!==null&&Number(i.value)===0);ve(()=>{});const J={props:e,emit:B,authStore:R,isEditorMode:F,activeSubTab:b,isMobileSubpageVisible:m,vueTabsComponent:p,subTabBookFlightEl:y,subTabHistoryEl:r,selectedZone:E,expireDate:v,isFromExpiredFlypass:g,remainingQuota:i,isLoggedIn:u,registerQueryChange:D,handleTabChange:Q,handleSaveSearchData:W,redeemFlypassData:d,selectedFlypassData:h,shouldHideBookFlightTab:O,ref:n,computed:P,onMounted:ve,VueTabs:ha,SubTabBookFlight:no,SubTabHistory:Wo,get useBookingWidgetUrlQuery(){return De},MobileSubpage:va,get isMobileViewport(){return Ne},get useAuthStore(){return he},get useGlobalAEMState(){return Ee}};return Object.defineProperty(J,"__isScriptSetup",{enumerable:!1,value:!0}),J}},jo={class:"EnrichFlypassFlightSearch"},Yo={key:0,class:"title-editor-mode"},Qo={class:"generic-container"},zo={key:0,class:"mb-4"},Jo={class:"text-2xl font-bold"},Go={class:"flex items-center justify-center p-4"},Zo={class:"inline-block ml-1"},Ko={class:"flex items-center justify-center p-4"},Xo={class:"inline-block ml-1"},qo={key:0,identifier:"book-flight"},$o={key:1,identifier:"history"};function es(C,l,N,e,B,R){var b;const F=ht;return k(),M("div",jo,[e.isEditorMode?(k(),M("h5",Yo,[x(F,{class:"mr-2 fill-current inline-block"}),l[1]||(l[1]=a("span",null,"Booking Widget: Enrich Flypass Flight Search",-1))])):U("",!0),a("div",Qo,[(b=e.props.general)!=null&&b.bookFlightOverlayTitle?(k(),M("div",zo,[a("h2",Jo,c(e.props.general.bookFlightOverlayTitle),
11)])):U("",!0),x(e.VueTabs,{ref:"vueTabsComponent",modelValue:e.activeSubTab,"onUpdate:modelValue":[l[0]||(l[0]=m=>e.activeSubTab=m),e.handleTabChange],syncURLQuery:!0,dormantMode:e.isEditorMode,renderPanelsWithVShow:""},ya({default:A(()=>{var m,p,y,r,E,v,g,i,u,D,Q,W,d,h;return[e.shouldHideBookFlightTab?U("",!0):(k(),M("div",qo,[x(e.SubTabBookFlight,{ref:"subTabBookFlightEl",class:"pt-6",ondSelection:(m=e.props.general)==null?void 0:m.ondSelection,topNoteOneWay:(p=e.props.general)==null?void 0:p.topNoteOneWay,topNoteRoundTrip:(y=e.props.general)==null?void 0:y.topNoteRoundTrip,datePicker:(r=e.props.general)==null?void 0:r.datePicker,passengerSelection:(E=e.props.general)==null?void 0:E.passengerSelection,searchFlightCTAText:(v=e.props.general)==null?void 0:v.searchFlightCtaText,hidePromoCodeField:!0,selectedZone:e.selectedZone,flightSearchApiUrl:e.props.flightSearchApiUrl,expireDate:e.expireDate,remainingQuota:e.remainingQuota,onSaveSearchData:e.handleSaveSearchData},null,8,["ondSelection","topNoteOneWay","topNoteRoundTrip","datePicker","passengerSelection","searchFlightCTAText","selectedZone","flightSearchApiUrl","expireDate","remainingQuota"])])),e.isLoggedIn?(k(),M("div",$o,[x(e.SubTabHistory,{ref:"subTabHistoryEl",class:"mt-5",tripDetailsCtaLabel:(g=e.props.historyTab)==null?void 0:g.tripDetailsCtaLabel,pnrLabel:(i=e.props.historyTab)==null?void 0:i.pnrLabel,eTicketNumberLabel:(u=e.props.historyTab)==null?void 0:u.eticketNumberLabel,tripTypeLabel:(D=e.props.historyTab)==null?void 0:D.tripTypeLabel,bookingDateLabel:(Q=e.props.historyTab)==null?void 0:Q.bookingDateLabel,statusLabel:(W=e.props.historyTab)==null?void 0:W.statusLabel,creditRedeemedLabel:(d=e.props.historyTab)==null?void 0:d.creditRedeemedLabel,noResults:(h=e.props.historyTab)==null?void 0:h.noResults},null,8,["tripDetailsCtaLabel","pnrLabel","eTicketNumberLabel","tripTypeLabel","bookingDateLabel","statusLabel","creditRedeemedLabel","noResults"])])):U("",!0)]}),_:2},[e.shouldHideBookFlightTab?void 0:{name:"tab-book-flight",fn:A(()=>{var m;return[a("div",Go,[a("span",Zo,c((m=e.props.general)==null?void 0:m.bookFlightTabLabel),
11)])]}),key:"0"},e.isLoggedIn?{name:"tab-history",fn:A(()=>{var m;return[a("div",Ko,[a("span",Xo,c((m=e.props.historyTab)==null?void 0:m.historyTabLabel),1)])]}),key:"1"}:void 0]),1032,["modelValue","dormantMode"])])])}const ss=Re(Ho,[["render",es],["__scopeId","data-v-9ef9da80"],["__file","EnrichFlypassFlightSearch.vue"]]);export{ss as default};
2//# sourceMappingURL=EnrichFlypassFlightSearch-BvWmpjyS.js.map

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.