1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1379],{1927:function(e,t,a){var r=a(67294);t.Z=()=>{const{0:e,1:t}=(0,r.useState)({width:void 0,height:void 0});return(0,r.useEffect)((()=>{function e(){try{t({width:window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,height:window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight})}catch(e){console.error("Error al obtener dimensiones de ventana:",e)}}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)}),[]),e}},11379:function(e,t,a){a.r(t),a.d(t,{default:function(){return M}});var r=a(92809),o=a(67294),n=a(93633),i=a(85942),s=a(50959);const l=a(91642).Ps` 2 query GetPromoOffersWidgetData($page: PageInput!, $id: String!, $filters: PromoWidgetFiltersInput, $limit: Int, $offset: Int) { 3 promoWidget ( page: $page, id: $id, filters: $filters, limit:$limit, offset: $offset ) { 4 id 5 metaData ( page: $page ) { 6 title 7 description 8 footer 9 header 10 promotionalCode 11 displayImages 12 pagination { 13 offset 14 limit 15 total 16 from 17 to 18 showPagination 19 showPrev 20 showNext 21 } 22 } 23 offers(limit:$limit, offset: $offset) { 24 origin { 25 code 26 city { 27 name 28 } 29 } 30 destination { 31 code 32 city { 33 name 34 image 35 } 36 } 37 actionOnClick 38 data 39 metaData { 40 journeyType 41 travelClass 42 farenetTravelClass 43 passengers 44 validDays 45 blackoutDates 46 departureDateStart 47 returnDateStart 48 deeplinkStartDate 49 deeplinkTripLength 50 deeplinkAdvancedPurchase 51 } 52 } 53 } 54 } 55 `;var c=a(32800),d=a(46323),p=a(92811),f=a(47428),m=a(27057);const u=e=>{const t="string"===typeof e?e:null;return t&&"ROUND_TRIP"===t?"rt":"ow"},g=e=>{const{module:t,moduleId:a,tenant:r,languageCode:o,offer:n,tagName:i,siteEdition:s,promoCode:l}=e||{},{destination:{code:c},origin:{code:d},departureDateStart:p,returnDateStart:f,travelClass:m,journeyType:u}=n||{};return{module:t,moduleId:a,actionLabel:"Book Now",airlineIataCode:r,journeyType:u,originAirportIataCode:d,destinationAirportIataCode:c,route:`${d}>${c}`,fareClass:m,departureDate:p,returnDate:f,discountCode:l,page:[{siteEdition:s?s.replace(/[^-]*$/gi,(e=>e.toUpperCase())):"",languageIsoCode:o}],tagName:i}},h=e=>{if(null===e||void 0===e||!e.metaData||null===e||void 0===e||!e.offers)return[];const{metaData:{title:t="",header:a=[],footer:r="",promotionalCode:o="",displayImages:n,pagination:i={}}={},offers:s=[]}=e;return{title:t,header:a,footer:r,promotionalCode:o,displayImages:n,pagination:i,offers:s}},y=e=>{const{pageContext:{extra_info:t={}}={}}=e||{};return{contextOriginAirports:(0,m.mR)(t,"airports.origin",[])||[],contextDestinationAirports:(0,m.mR)(t,"airports.destination",[])||[]}};var b=a(35944);function w(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function _(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?w(Object(a),!0).forEach((function(t){(0,r.Z)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):w(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const O=(0,o.createContext)({}),v=e=>{const{moduleId:t,tenant:a,languageCode:r,tagName:n,initialOffersData:i,offersNetworkStatus:s,actionDispatcher:l,cmpName:c,fetchMore:d,siteEdition:p}=e,{0:f,1:y}=(0,o.useState)(i),{0:w,1:v}=(0,o.useState)(0),N=(0,o.useRef)(!1);(0,o.useEffect)((()=>(N.current=!0,()=>{N.current=!1})),[]),(0,o.useEffect)((()=>{N.current&&"ready"===s&&y(i)}),[i,s]);const D=e=>{const{promotionalCode:o=""}=f,i=(({payload:e})=>{const{status:{label:t}={},origin:{code:a},destination:{code:r},metaData:{blackoutDates:o,departureDateStart:n,returnDateStart:i,journeyType:s,travelClass:l,farenetTravelClass:c,validDays:d,passengers:p},promoCode:f,siteEdition:g,module:h}=e;return{module:h,origin:a,destination:r,departureDate:(0,m.EP)(n),returnDate:(0,m.EP)(i),flightType:u(s),journeyType:u(s),travelers:{age1:Number(p)||1},travelClass:"string"===typeof l?l.toUpperCase():"",farenetTravelClass:c,promoCode:f,deeplinkSiteEdition:g,promoStartDate:(0,m.EP)(n),promoEndDate:(0,m.EP)(i),blackoutDates:o,validDay:d,passengers:parseInt(p,10)||1,siteEdition:g,statusLabel:t}})({payload:_(_({},e),{},{promoCode:o,siteEdition:p,module:c})});l.dispatch({type:"OPEN_POPUP",payload:i}),l.dispatch({type:"TRACKING_OPEN_POPUP",payload:g({moduleId:t,module:c,tenant:a,languageCode:r,siteEdition:p,promoCode:o,offer:e,tagName:n})})},$=async({offset:e=0})=>{const{data:t}=await d({variables:{offset:e}});v(e),y((e=>_(_({}
55,e),h(null===t||void 0===t?void 0:t.promoWidget))))},S=(0,o.useMemo)((()=>({offersData:f,offersNetworkStatus:s,fetchMoreOffers:$,onFareClick:D})),[f,s]);return(0,b.tZ)(O.Provider,_({value:S},e))},N=()=>o.useContext(O);var D=a(7067);var $=({themeNameSpaces:e,metaData:t})=>{const a=(0,D.L)(),{offersData:r,onFareClick:o}=N(),{header:n=[],displayImages:i,offers:s=[]}=r||{},l=[(0,b.tZ)("span",{className:"sr-only",children:(null===a||void 0===a?void 0:a["cmp-table-route-label"])||"Route"}),...n.map(((t,a)=>(0,b.tZ)(p.Text,{className:"overflow-auto align-middle text-center p-4 w-full",themeNameSpaces:[`${e}._header._row._cell._title`],children:t},`header-${a}`)))],c=[null,...n.map(((t,a)=>[`${e}._header._row`,`${e}._header._row._cell`,a%2===0?`${e}._header._row._cell._highlight`:`${e}._header._row._cell._highlightAlt`]))],d=s.map((t=>{const{origin:r,destination:n,data:s}=t,l=(0,m.Hy)(s),c=`${null===a||void 0===a?void 0:a["cmp-table-from-label"]} ${r.city.name} (${r.code}) ${null===a||void 0===a?void 0:a["cmp-table-to-label"]} ${n.city.name} (${n.code})`,d=(0,b.BX)(p.Flex,{className:"items-center",dataTest:"route",children:[i&&(0,b.tZ)(p.Flex,{className:"w-1/3",themeNameSpaces:[`${e}._body._row._cell`],children:(0,b.tZ)(p.Image,{src:n.city.image,isOptimized:!(0,m.Dc)(n.city.image),isLazy:!0,className:"object-cover w-full h-full",themeNameSpaces:[`${e}._body._row._cell._image`],alt:""})}),(0,b.tZ)(p.Flex,{role:"button",tabIndex:"0",className:(i?"w-2/3":"w-full")+" table",themeNameSpaces:[`${e}._body._row._cell`],onKeyDown:e=>((e,t)=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),o(t))})(e,t),children:(0,b.tZ)(p.Text,{className:"table-cell align-middle p-4",themeNameSpaces:[`${e}._body._row._cell._route`],children:c})})]}),f=Object.entries(s).map((([t,a],r)=>(0,b.tZ)(p.Flex,{className:"flex-1 justify-center items-center p-3 !max-w-none w-full !h-full",themeNameSpaces:[`${e}._body._row._cell`,`${e}._body._row._cell._info`],children:(0,b.tZ)(p.Text,{className:"text-center !max-h-none",themeNameSpaces:[`${e}._body._row._cell._info._text`],children:a})},`data-${t}-${r}`))),u=Object.keys(s).length,g=1===u?"w-1/2":"w-1/"+2*u;return{cells:[d,...f],cellClassNames:["w-1/2 p-0",...Array(u).fill(`${g} p-0`)],dataTest:["route",...Array(u).fill("data")],ariaLabel:`${c} ${l}`,offer:t}})),f=e=>{null!==e&&void 0!==e&&e.offer&&o(e.offer)},u=n.length,g=1===u?"w-1/2":"",h=["w-1/2 p-0",...Array(u).fill(`${g} p-0`)];return(0,b.tZ)(p.Table,{titles:l,titleClassNames:h,titleThemeNameSpaces:c,rows:d,onClick:f,onKeyDown:f,themeNameSpaces:[`${e}`],metaData:t})};var S=({themeNameSpaces:e})=>{const t=(0,D.L)(),{offersData:a,onFareClick:r}=N(),{displayImages:o,offers:n=[]}=a||{};return(0,b.tZ)(p.Flex,{className:"flex-row",children:n.map(((a,i)=>{const s=i+1,{origin:l,destination:c,data:d}=a;return(0,b.BX)(p.Flex,{className:"w-full "+(s!==n.length?"mb-8":""),tabIndex:s,onClick:()=>r(a),role:"button",children:[o&&(0,b.tZ)("div",{className:"w-full",children:(0,b.tZ)(p.Image,{src:c.city.image,isOptimized:!(0,m.Dc)(c.city.image),isLazy:!0,height:112,className:"object-cover w-full h-full",themeNameSpaces:[`${e}._image`]})}),(0,b.tZ)(p.Flex,{className:"w-full p-3",themeNameSpaces:[`${e}._route`],children:(0,b.tZ)(p.Text,{themeNameSpaces:[`${e}._route._text`],children:`\n ${null===t||void 0===t?void 0:t["cmp-table-from-label"]} ${a.origin.city.name} (${a.origin.code})\n ${null===t||void 0===t?void 0:t["cmp-table-to-label"]} ${a.destination.city.name} (${a.destination.code})\n `})}),Object.entries(d).map((([t,a])=>(0,b.BX)(p.Flex,{className:"w-full p-4",themeNameSpaces:[`${e}._section`],children:[(0,b.tZ)(p.Flex,{className:"w-full",themeNameSpaces:[`${e}._section._title`],children:t}),(0,b.tZ)(p.Flex,{className:"w-full",themeNameSpaces:[`${e}._section._description`],children:a})]})))]},`${s}-${c.code}-${l.code}`)}))})};var P=()=>{const{pageInfo:{textDirection:e}}=(0,o.useContext)(f.Z),t=(0,D.L)(),{offersData:a,fetchMoreOffers:r,offersNetworkStatus:n}=N(),i="ready"!==n,s="RTL"===e,l=(0,o.useRef)(null),c=(0,o.useRef)(null),d=(0,o.useRef)(!1),{pagination:{limit:m=10,offset:u=0,total:g=0,from:h=0,to:y=0,showPagination:w=!1,showPrev:_=!1,showNext:O=!1}={}}=a||{};(0,o.useEffect)((()=>{d.current&&(!_&&c.current?c.current.focus():!O&&l.current&&l.current.focus(),d.current=!1)}),[_,O]);const v=(e,a,r)=>e?(null===t||void 0===t?void 0:t[a])||a:(null===t||void 0===t?void 0:t[r])||r;return w&&(0,b.tZ)("nav",{className:"mt-5",role:"navigation",children:(0,b.BX)(p.Flex,{className:"justify-end items-center space-x-2",themeNameSpace
55s:["_promoOffersWidget._pagination"],children:[(0,b.tZ)(p.Flex,{className:"items-center ltr:pr-2 rtl:pl-2 space-x-1",ariaLive:"polite",children:(0,b.tZ)(p.Text,{as:"p",children:`${h} - ${y} ${null===t||void 0===t?void 0:t["pw-routes-pagination-separator"]} ${g}`})}),(0,b.tZ)(p.Button,{ref:l,isDisabled:!_,className:"w-auto",onClick:()=>{_&&!i&&(d.current=!0,r({offset:u>0?u-m:0}).then((()=>{!_&&O?c.current.focus():_&&l.current.focus()})))},ariaLabel:v(s,"cmp-show-next-fares","cmp-show-previous-fares"),themeNameSpaces:["_promoOffersWidget._pagination._button._icon",!_||i?"_promoOffersWidget._pagination._button.__disabled":""],children:(0,b.tZ)(p.Text,{className:"h-full w-full flex justify-center items-center",as:"span",children:s?"keyboard_arrow_right":"keyboard_arrow_left"})}),(0,b.tZ)(p.Button,{ref:c,isDisabled:!O,className:"w-auto",onClick:()=>{O&&!i&&(d.current=!0,r({offset:u+m}).then((()=>{!O&&_?l.current.focus():O&&c.current.focus()})))},ariaLabel:v(s,"cmp-show-previous-fares","cmp-show-next-fares"),themeNameSpaces:["_promoOffersWidget._pagination._button._icon",!O||i?"_promoOffersWidget._pagination._button.__disabled":""],children:(0,b.tZ)(p.Text,{className:"h-full w-full flex justify-center items-center",as:"span",children:s?"keyboard_arrow_left":"keyboard_arrow_right"})})]})})},j=a(1927);function x(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function Z(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?x(Object(a),!0).forEach((function(t){(0,r.Z)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):x(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var C=({themeNameSpaces:e,offersLoading:t=!1,breakpoint:a=768})=>{const{pageInfo:{deviceType:r}}=(0,o.useContext)(f.Z),{width:n}=(0,j.Z)(),{offersData:i}=N(),s=(0,D.L)(),{footer:l="",offers:c=[],title:d="",description:u=""}=i||{},g={title:d,description:u},h={themeNameSpaces:e};return(0,b.BX)(b.HY,{children:[(0,b.tZ)(p.Box,{themeNameSpaces:[`${e}._body`],dataTest:"table",children:c&&c.length>0&&(0,b.tZ)(p.SpinnerWithOverlay,{loading:t,loadingAnnouncement:(null===s||void 0===s?void 0:s["cmp-loading-fares"])||"cmp-loading-fares",children:"desktop"===r&&(void 0===n||n>a)?(0,b.tZ)($,Z(Z({},h),{},{themeNameSpaces:[`${e}._table`],metaData:g})):(0,b.tZ)(S,Z(Z({},h),{},{themeNameSpaces:[`${e}._card`]}))})}),(0,b.tZ)(P,{}),l&&(0,b.tZ)(p.Text,{className:"",themeNameSpaces:[`${e}._footer`],dataTest:"disclaimer",children:(0,m.rg)(l,{replace:{a:(t,a)=>(0,b.tZ)(p.Link,Z(Z({},t),{},{themeNameSpaces:[`${e}._footer._link`],children:a}))}})})]})};function k(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?k(Object(a),!0).forEach((function(t){(0,r.Z)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):k(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var T=({moduleId:e,tenant:t,languageCode:a,tagName:r,cmpName:n,initialOffersData:i,offersNetworkStatus:s,siteEdition:l,fetchMore:c})=>{const{actionDispatcher:d}=(0,o.useContext)(f.Z),u="_promoOffersWidget",{title:g=""}=i,h={moduleId:e,tenant:t,languageCode:a,tagName:r,cmpName:n,initialOffersData:i,offersNetworkStatus:s,siteEdition:l,fetchMore:c,actionDispatcher:d};return(0,b.tZ)(v,E(E({},h),{},{children:(0,b.BX)(p.Stack,{themeNameSpaces:["_promoOffersWidget"],children:[g&&(0,b.tZ)(p.Text,{as:"h2",themeNameSpaces:["_promoOffersWidget._title"],dataTest:"title",children:(0,m.rg)(g,{replace:{a:(e,t)=>(0,b.tZ)(p.Link,E(E({},e),{},{themeNameSpaces:["_promoOffersWidget_title._link"],children:t}))}})}),(0,b.tZ)(p.Skeleton,{loading:"loading"===s,contentRows:20,contentColumns:3,children:(0,b.tZ)(C,{offersLoading:"ready"!==s,themeNameSpace
55s:u})})]})}))},I=a(95573),L=a(41075);function W(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function F(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?W(Object(a),!0).forEach((function(t){(0,r.Z)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):W(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const A="promo_offers_widget",R=({page:{tenant:e,slug:t,siteEdition:a,pageType:r,pageNumber:o,deviceType:n}})=>({tenant:e,slug:t,siteEdition:a,pageType:r,pageNumber:o,deviceType:n}),B=e=>{var t,a;const{params:r={}}=e,o=r.id||"",{data:p,error:f}=(0,n.a)(s.wn),{data:m,loading:u,error:g}=(0,n.a)(s.Kr,{skip:!p,variables:{page:p&&{tenant:R(p).tenant,slug:R(p).slug,siteEdition:R(p).siteEdition}}}),{data:w,fetchMore:_,networkStatus:O,error:v}=(0,n.a)(l,{skip:!p||!m,variables:{page:p&&R(p),id:o,limit:10,offset:0,filters:{prepopulateLocationsByContext:!0,contextOriginAirports:null===(t=y(m))||void 0===t?void 0:t.contextOriginAirports,contextDestinationAirports:null===(a=y(m))||void 0===a?void 0:a.contextDestinationAirports}},fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first",errorPolicy:"all",notifyOnNetworkStatusChange:!0});if(f||v||!p||g){const e={page:{error:f,hasData:!!p},offers:{error:v,hasData:!!w},context:{error:g,hasData:!!m}};return(0,I.Z)("Promo Offer Widget",e,{id:o}),null}const{siteEdition:N=""}=R(p),{promoWidget:D=[]}=w||{},{metaData:{title:$=""}={},id:S=""}=D,P=h(D);return(0,b.tZ)(c.Z,{trackingData:{name:A,tagName:$,widgetId:S},children:(0,b.tZ)(d.Z,{children:(0,b.tZ)(L.Z,{children:(0,b.tZ)(T,{moduleId:S,tenant:R(p).tenant,languageCode:R(p).languageCode,tagName:$,cmpName:A,siteEdition:N,initialOffersData:P,offersNetworkStatus:i.I[O],fetchMore:_})})})})};var M=e=>{const{lazy:t,params:{id:a}}=e;return(0,b.tZ)("div",{"data-em-cmp":A,"data-em-fpa-id":a,children:(0,b.tZ)(B,F({},e))})}}}]);
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.