PageSourceSearch

https://static-js.deals.com.au/en-AU/1449.b07e87d5bebe3acc.js

js deals.com.au collected 2026-10-01 16:14:19 UTC 190,117 bytes, 2 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{};e.SENTRY_RELEASE={id:"production-b4ee97d"},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];if(null!=a)for(var i in a)a.hasOwnProperty(i)&&(e[i]=a[i])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:luxgroup-customer-portal":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c3a30688-2d2f-4e28-b4f0-eec9ea4644ae",e._sentryDebugIdIdentifier="sentry-dbid-c3a30688-2d2f-4e28-b4f0-eec9ea4644ae")}catch(e){}}();"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[1449],{558460(e,t,a){var i=a(474848),r=a(843702),n=a(296540),o=a(665673),l=a(592886),s=a(848886),d=a(745743),c=a(501086),h=a(841383),u=a(78272);a.d(t,{},{A:function({departingJourney:e,returningJourney:t}
1){let a=(0,o.A)(),[g,f]=(0,n.useState)(),[p,m]=(0,n.useState)(),[x,b]=(0,c.A)(["departing","returning"]),y=e&&t?"departing"===x?e:t:e??t,A=(0,n.useRef)(null),v=(0,n.useCallback)(()=>{f(void 0),m(void 0),A.current?.scrollTo({top:0})},[]),w=a.formatMessage({id:"rc7JwNhlqicj6Gc1u_na",defaultMessage:"Fare Rules",description:"Modal title when showing fare rules for charter flights"}),j=a.formatMessage(l.A.flightDetails),M=a.formatMessage({id:"0hT10wU8lFNJ5E3QC3GR",defaultMessage:"Departing",description:"Tab label for departing charter flight details in the flights section"}),k=a.formatMessage({id:"kwc4CO3rxcUXxvuw6Qhv",defaultMessage:"Returning",description:"Tab label for returning charter flight details in the flights section"});return(0,i.jsx)(r.A,{title:g?w:j,onBack:g?v:void 0,ref:A,children:(0,i.jsxs)(u.A,{gap:20,children:[!g&&e&&t&&(0,i.jsxs)(d.A,{fit:"grow",children:[(0,i.jsx)(h.A,{size:"medium",isActive:"departing"===x,onClick:b.departing,children:M}),(0,i.jsx)(h.A,{size:"medium",isActive:"returning"===x,onClick:b.returning,children:k})]}),y&&(0,i.jsx)(s.A,{setFareRulesURL:f,setFareRulesParams:m,fareRulesURL:g,fareRulesParams:p,journey:y,isStandalone:!1})]})})}})},738711(e,t,a){a.d(t,{A:()=>F});var i=a(474848),r=a(707445),n=a(61232),o=a(362121),l=a(665673),s=a(38267),d=a(731357),c=a(813328),h=a(148400),u=a(153702),g=a(982771),f=a(729738),p=a(750142),m=a(473874);let x=s.Ay.div.withConfig({componentId:"sc-120c2583-0"})(["margin:0 ",";&.flush{margin:0;}"],(0,d.D0)(-24)),b=function({flush:e=!1}){let t=(0,l.A)(),a=(0,f.A)(),r=(0,p.GV)(e=>e.auth.account.memberId),n=(0,p.GV)(e=>e.loyalty.account.data?.points),o={loyaltyProgramName:a,bold:e=>(0,i.jsx)("strong",{children:e}),link:e=>(0,i.jsx)(u.A,{size:"medium",weight:"regular",to:`/${m.Hr}`,target:"_blank",children:e})},s=r&&null!=n?t.formatMessage({id:"lsBWKkElo7uqaLHyciTj",defaultMessage:"<bold>You have {points}.</bold> Need more {loyaltyProgramName} Points? Limited-time bonus on top-ups. <link>Top-up points</link>",description:"Promotional banner in the Maldives charter calendar showing the logged-in user their current points balance and encouraging them to top up loyalty points."},{...o,points:(0,i.jsx)(g.A,{points:n})}):t.formatMessage({id:"i9PHVOKLu0AnjfiFPGvy",defaultMessage:"<bold>Need more {loyaltyProgramName} Points?</bold> Limited-time bonus on top-ups. <link>Top-up points</link>",description:"Promotional banner in the Maldives charter calendar encouraging logged-out users to top up loyalty points with a limited-time bonus offer."},o);return(0,i.jsx)(x,{className:e?"flush":void 0,children:(0,i.jsx)(c.A,{kind:"promotional",icon:(0,i.jsx)(h.A,{}),density:"compact",children:s})})};var y=a(724633),A=a(743546),v=a(814888),w=a(842930),j=a(792435),M=a(21416),k=a(449915);let C=s.Ay.div.withConfig({componentId:"sc-9a4564f7-0"})(["margin-inline:",";padding:"," ",";background-color:",";border:"," solid ",";&.flush{margin-inline:0;}"],(0,d.D0)(-24),(0,d.D0)(12),(0,d.D0)(20),e=>e.theme.palette.neutral.surface.normalBackground,(0,d.D0)(1),e=>e.theme.palette.neutral.surface.lightForeground),P=s.Ay.strong.withConfig({componentId:"sc-9a4564f7-1"})(["color:",";"],e=>e.theme.palette.messaging.urgency.normalForeground),D=(0,i.jsx)(A.A,{colour:"urgency"}),I=e=>(0,i.jsx)(P,{children:e});function S({flush:e=!1}){let t=(0,l.A)(),{fare:a}=(0,M.jx)(),r=(0,v.Qt)("desktop");return(0,i.jsx)(C,{className:e?"flush":void 0,"data-testid":"maldives-charter-one-point-calendar-banner",children:(0,i.jsx)(y.A,{variant:r?"medium":"small",startIcon:D,children:t.formatMessage({id:"cyJ4HN1qfXrYCk8CT7u2",defaultMessage:"<sale>One-way flight for 1 Société Point + {fare} pp:</sale> One departure date only: {date}.",description:"Calendar banner for the Maldives one-point flight promotion showing the per-person fare and only eligible departure date."},{sale:I,fare:a,date:(0,w.a6)(k.FD,j.ko,t.locale)})})})}let F=function({flush:e=!1,rooms:t,duration:a,charterBundleRoute:l}){let s=(0,r.A)({rooms:t,duration:a,disabled:l!==n.yL}),d=(0,o.A)();return s?(0,i.jsx)(S,{flush:e}):d?(0,i.jsx)(b,{flush:e}):null}},567527(e,t,a){var i=a(474848),r=a(665673),n=a(813328);a.d(t,{},{A:function({origin:e,destination:t}){let a=(0,r.A)();if(!e||!t)return null;let o=a.formatMessage({id:"cZN3HO8Z5Qd7-qjpY0JM",defaultMessage:"Important: Connecting flights to {destination} not included",description:"Warning heading when a Maldives charter feeder flight is outside the airline booking release window"},{destination:t}),l=a.formatMessage({id:"I03Sx5tkmuTO1FWwGhRh",defaultMessage:"Flights from {origin} to {destination} aren’t available yet, as airlines typically release schedules around 11 months before departure. Your Maldives charter flight is confirmed. Your package price excludes this connection. We’ll contact you when flights are available to help arrange it.",description:"Warning explaining that a Maldives charter feeder flight will become available closer to departure"},{origin:e,destination:t});return(0,i.jsx)(n.A,{kind:"warning",density:"comfortable",heading:o,children:l})}})},127e3(e,t,a){a.d(t,{A:()=>ev}),a(218111),a(13579),a(78898);var i=a(474848),r=a(582544),n=a(983741),o=a(194617),l=a(703302),s=a(846416),d=a(897729),c=a(267662),h=a(285438),u=a(362121),g=a(296540),f=a(665673),p=a(38267),m=a(731357),x=a(452643),b=a(161648),y=a(813328),A=a(791891),v=a(825060),w=a(75827),j=a(729738),M=a(452342);let k=p.Ay.div.withConfig({componentId:"sc-c7deea5c-0"})(["border-top:1px solid ",";"],e=>e.theme.palette.highlight.primary.darkForeground),C=(0,p.Ay)(x.A).withConfig({componentId:"sc-c7deea5c-1"})(["text-decoration:underline;text-underline-offset:",";white-space:nowrap;color:",";"],(0,m.D0)(2),e=>e.theme.palette.highlight.primary.darkForeground),P=(0,p.Ay)(b.Ay).withConfig({componentId:"sc-c7deea5c-2"})(["margin-inline-start:",";"],(0,m.D0)(4)),D=function({onViewCharterDates:e}){let t=(0,f.A)(),a=(0,g.useContext)(v.A),r=(0,u.A)(),o="rebrand"===(0,w.A)(),l=(0,j.A)(),s=(0,g.useCallback)(async()=>{await a((0,i.jsx)(M.A,{}))&&e?.()},[a,e]),c=t.formatMessage({id:"6oeFO6pEajqbz1fHSq3A",defaultMessage:"Learn more",description:"Text link on the right of the Maldives charter reward-seats banner that opens an in-app modal explaining Classic Rewards seats and how to find them."}),h=t.formatMessage({id:"pkZiH5we_ABs-pFRnDHr",defaultMessage:"Reward seats n
1ow available",description:"Short rebrand heading for the Maldives charter reward-seats message banner."}),p=t.formatMessage({id:"SW1gzan-Z97YXa9XH9yZ",defaultMessage:"The ultimate way to spend your {loyaltyProgramName} Points. Limited availability.",description:"Secondary sentence on the Maldives charter reward-seats banner after the headline, explaining loyalty points use and limited reward inventory."},{loyaltyProgramName:l}),m=(0,g.useMemo)(()=>({children:c,onClick:s}),[c,s]);return r?o?(0,i.jsxs)(y.A,{kind:"informational",density:"compact",icon:(0,i.jsx)(A.A,{size:28,colour:"highlight-primary-dark"}),secondaryActionButtonProps:m,children:[(0,i.jsx)(b.Ay,{variant:"medium",weight:"bold",colour:"highlight-primary-dark",as:"span",children:h}),(0,i.jsx)(P,{variant:"medium",colour:"light-foreground-alt",as:"span",children:p})]}):(0,i.jsx)(k,{children:(0,i.jsx)(n.A,{background:"highlight-primary",padding:"12 16",children:(0,i.jsxs)(d.A,{direction:"horizontal",verticalAlign:"center",horizontalAlign:"space-between",gap:12,wrap:"wrap",children:[(0,i.jsxs)(d.A,{direction:"vertical",gap:4,children:[(0,i.jsxs)(d.A,{direction:"horizontal",verticalAlign:"center",gap:8,children:[(0,i.jsx)(A.A,{size:28,colour:"highlight-primary-dark"}),(0,i.jsx)(b.Ay,{variant:"medium",weight:"bold",colour:"highlight-primary-dark",as:"span",children:t.formatMessage({id:"7fvUULCNrKdoFSg7KDo6",defaultMessage:"{loyaltyProgramName} Rewards seats now available",description:"Bold teal headline on the horizontal Maldives charter banner introducing Société Rewards seats beside the seal icon."},{loyaltyProgramName:l})})]}
1),(0,i.jsx)(b.Ay,{variant:"medium",colour:"neutral-one",as:"span",children:p})]}),(0,i.jsx)(C,{onClick:s,children:(0,i.jsx)(b.Ay,{variant:"medium",colour:"highlight-primary-dark",as:"span",children:c})})]})})}):null};var I=a(757588),S=a(343755),F=a(962023),L=a(722834),R=a(592886),T=a(69949),E=a(56649),B=a(23307),z=a(634164),O=a(792435),N=a(842930),H=a(791914);let V=(0,p.Ay)(d.A).withConfig({componentId:"sc-bf76a20e-0"})(["flex-shrink:0;width:",";height:",";","{&:not(.desktopShowLogo){display:none;}}"],(0,m.D0)(40),(0,m.D0)(40),o.em.tablet),U=(0,p.Ay)(B.A).withConfig({componentId:"sc-bf76a20e-1"})(["max-width:100%;max-height:100%;"]),G=(0,p.Ay)(b.Ay).withConfig({componentId:"sc-bf76a20e-2"})(["","{&.desktopShowLogo{margin-inline-start:",";}}"],o.em.tablet,(0,m.D0)(56)),_=function({className:e,journey:t,desktopShowLogo:a,showExactDate:r,useUndatedSegmentLabels:n=!1,segment:o,route:l}){let s=(0,f.A)(),c=t.flightGroup.flights,u=(0,H.ax)(c),p=t.flightGroup.totalFlightDuration,m=(0,g.useMemo)(()=>n?"departing"===o?s.formatMessage({id:"Qq5zrcIm9w1UqBpi3AdQ",defaultMessage:"Depart",description:"Short label on the Maldives charter return tile for the outbound leg when the guest has not chosen stay dates yet; appears above sample times in place of a calendar date."}):s.formatMessage({id:"hY_so0XTasixNTu2NQnC",defaultMessage:"Return",description:"Short label on the Maldives charter return tile for the inbound leg when the guest has not chosen stay dates yet; appears above sample times in place of a calendar date."}):(0,N.a6)(c[0].departingDate,r?O.cb:O.qi,s.locale),[c,s,o,r,n]),x=h.C$[l];return(0,i.jsxs)(d.A,{direction:"vertical",gap:8,className:e,children:[(0,i.jsxs)(G,{variant:"small",className:(0,z.A)({desktopShowLogo:a}),children:["departing"===o&&m,"returning"===o&&m]}),(0,i.jsxs)(d.A,{direction:"horizontal",gap:16,children:[(0,i.jsx)(V,{direction:"horizontal",verticalAlign:"center",horizontalAlign:"center",className:(0,z.A)({desktopShowLogo:a}),children:(0,i.jsx)(U,{width:40,image:x.operatorLogo})}),(0,i.jsx)(E.A,{departureAirport:c[0].departureAirport,departureTime:c[0].departingTime,departureDate:c[0].departingDate,arrivalAiport:c.at(-1).arrivalAirport,arrivalTime:c.at(-1).arrivalTime,arrivalDate:c.at(-1).arrivalDate,stops:u,duration:s.formatMessage({id:"xASEaYaWtLQLwu4e1RIe",defaultMessage:"{hours}h {minutes}m",description:"Flight duration in hours and minutes in the flight search or booking flow"},{hours:p.hours,minutes:p.minutes}),showDate:!1})]})]})};var W=a(205944),$=a(314953),Y=a(73659),J=a(287367),K=a(886678),q=a(605520),Q=a(153702),X=a(558460),Z=a(247546),ee=a(567527),et=a(145831),ea=a(580559);let ei=p.Ay.span.withConfig({componentId:"sc-9c686d7c-0"})(["display:inline-block;"]),er=p.Ay.div.withConfig({componentId:"sc-9c686d7c-1"})(["display:grid;gap:",";grid-template:'departingFlight' 'returningFlight' 'charterInfo' 'fareInfo';","{gap:"," ",";grid-template:'departingFlight divider returningFlight' 'charterInfo charterInfo charterInfo' 'fareInfo fareInfo fareInfo' / 4fr auto 3fr;}","{gap:"," ",";grid-template:'departingFlight divider returningFlight fareInfo detailsButton' 'charterInfo charterInfo charterInfo fareInfo detailsButton' / auto auto auto 1fr auto;}"],(0,m.D0)(8),o.em.tablet,(0,m.D0)(8),(0,m.D0)(20),o.em.desktop,(0,m.D0)(8),(0,m.D0)(40)),en=(0,p.Ay)(_).withConfig({componentId:"sc-9c686d7c-2"})(["grid-area:departingFlight;","{width:",";}"],o.em.desktop,(0,m.D0)(290)),eo=(0,p.Ay)(_).withConfig({componentId:"sc-9c686d7c-3"})(["grid-area:returningFlight;","{width:",";}"],o.em.desktop,(0,m.D0)(234)),el=(0,p.Ay)(W.A).withConfig({componentId:"sc-9c686d7c-4"})(["grid-area:divider;","{display:none;}"],o.D5.mobile),es=p.Ay.div.withConfig({componentId:"sc-9c686d7c-5"})(["grid-area:fareInfo;","{display:flex;justify-content:center;align-items:center;}"],o.em.desktop),ed=p.Ay.div.withConfig({componentId:"sc-9c686d7c-6"})(["grid-area:detailsButton;display:flex;align-items:center;","{display:none;}"],o.D5.tablet),ec=p.Ay.div.withConfig({componentId:"sc-9c686d7c-7"})(["grid-area:charterInfo;"]),eh=(0,p.Ay)(s.A).withConfig({componentId:"sc-9c686d7c-8"})(["display:flex;"]),eu=p.Ay.div.withConfig({componentId:"sc-9c686d7c-9"})(["flex-shrink:0;margin-top:",";transform:rotate(12deg);"],(0,m.D0)(2)),eg=p.Ay.div.withConfig({componentId:"sc-9c686d7c-10"})(["display:flex;align-items:center;justify-content:center;min-height:",";","{min-height:",";}"],(0,m.D0)(96),o.em.desktop,(0,m.D0)(80)),ef=(0,p.Ay)(d.A).withConfig({componentId:"sc-9c686d7c-11"})(["width:100%;background-color:transparent;padding-block:",";","{padding-inline:",";}"],(0,m.D0)(16),o.D5.mobile,(0,m.D0)(16)),ep=(0,p.Ay)(n.A).withConfig({componentId:"sc-9c686d7c-12"})(["border-radius:",";overflow:hidden;"],(0,m.D0)(8)),em=p.Ay.div.withConfig({componentId:"sc-9c686d7c-13"})(["display:grid;gap:",";grid-template:'departingFlight' 'fareInfo' 'charterInfo' 'detailsButton';
1","{align-items:center;column-gap:",";grid-template:'departingFlight fareInfo detailsButton' 'charterInfo charterInfo charterInfo' / minmax(0,350px) 1fr auto;}"],(0,m.D0)(16),o.em.tablet,(0,m.D0)(40)),ex=p.Ay.div.withConfig({componentId:"sc-9c686d7c-14"})(["grid-area:detailsButton;"]),eb=(0,p.Ay)(es).withConfig({componentId:"sc-9c686d7c-15"})(["justify-self:start;"]),ey=[{adults:2}],eA=e=>(0,i.jsx)("strong",{children:e}),ev=function({route:e,checkInDate:t,checkOutDate:a,occupancies:o=ey,fareClass:p,flightOrigin:m,onViewCharterDates:x}){let y=(0,f.A)(),A=(0,g.useContext)(v.A),w=(0,u.A)(),j=h.C$[e],{departingJourney:M,returningJourney:k,fetching:C}=(0,Z.A)({charterBundleRoute:e,checkInDate:t,checkOutDate:a,occupancies:o,fareClass:p,feederOriginAirportCode:m?.code}),P=!!(t&&a),E=!P,B=(0,g.useMemo)(()=>{let e=y.formatMessage({id:"eXj247rHH3QgdsVTVKVO",defaultMessage:"Carry-on 7kg",description:"Standard carry-on baggage allowance for Maldives charter economy class"}),t=y.formatMessage({id:"b6x9mo4hk0WwF-guyJ4M",defaultMessage:"Checked bag 23kg",description:"Standard checked baggage allowance for Maldives charter economy class"});return{economy:{carryOn:e,checked:t},business:{carryOn:y.formatMessage({id:"pk2KOSVk_xsV01XLub0F",defaultMessage:"Carry-on 2 pieces up to 14kg, max 10kg per piece",description:"Business class carry-on baggage allowance for Maldives charter"}),checked:y.formatMessage({id:"PkzONCx5jmYKZuo-VYWF",defaultMessage:"Checked bag 2x up to 46kg total, max 32kg per piece",description:"Business class checked baggage allowance for Maldives charter"})},lux_row:{carryOn:e,checked:t},lux_row_pax_one:{carryOn:e,checked:t},premium:{carryOn:e,checked:t},first:{carryOn:e,checked:t}}},[y])[p],z=(0,g.useCallback)(()=>{(M||k)&&A((0,i.jsx)(X.A,{departingJourney:M,returningJourney:k}))},[M,k,A]),O=!!m&&m.code!==j.originAirport.airportCode,N=!!(M&&k),H=j.originAirport.cityDesc,V=j.destinationAirport.cityDesc,U=y.formatMessage({id:"k1dQC6LRCcvy5x-aCJ5F",defaultMessage:"Exclusive to {brandName}",description:"Pill label showing charter flight is exclusive to the brand"},{brandName:c.A.brandConfig.name}),G=y.formatMessage(R.A.flightDetails),_=y.formatMessage({id:"0XG52OyVOZHDYFe32Zi7",defaultMessage:"Luxury Escapes Private Charter · Operated by {operatorName}",description:"Charter flight operator information displaying the operator name for a private charter"},{operatorName:j.operatorName}),W=y.formatMessage({id:"ueE6RcNkoUBKm7Y8UNtD",defaultMessage:"Direct flights included in bundle:",description:"First line of the mobile Maldives charter flight card title stack; teal lead-in before the origin and destination line."}),ev=y.formatMessage({id:"2355NBfU3qLeZAZnf8at",defaultMessage:"{origin} to {destination}",description:"Second line of the mobile Maldives charter flight card title stack showing charter cities without the trailing return word."},{origin:H,destination:V}),ew=y.formatMessage({id:"M3VAj6mzlCUMZUzMd7Vx",defaultMessage:"(available when you book)",description:"Muted caption under the connecting-flight upsell on the mobile Maldives charter tile; clarifies the add-on is chosen during booking."}),ej=!!m&&j.feederFlightOrigins.some(e=>e.airportCode===m.code),eM=(0,et.oZ)({isConfiguredFeederAirport:ej,hasFlights:N,departingFeederEstimatedPrice:M?.feederEstimatedPrice,returningFeederEstimatedPrice:k?.feederEstimatedPrice}),ek=O&&N&&(0,ea.F)(M?.flightGroup.flights.at(0)?.departureDateTime),eC=O&&m&&eM&&!ek&&(0,i.jsx)(L.A,{id:"N_QuPLJGLUjQgGb-h8rf",defaultMessage:"<strong>{origin} connecting flights included</strong> - choose your times and airline at checkout.",description:"Charter tile message for configured feeder airports where connecting flights are included in the bundle; origin is the departure airport city name.",values:{strong:eA,origin:m.name}}),eP=O&&m&&!eM&&!ek&&(0,i.jsx)(L.A,{id:"Z3gOl6Qammdq8YtzX9T5",defaultMessage:"Flying from {origin}? Add your connecting flights to {destination} at checkout. Cost added to package price",description:"Charter tile message for non-configured feeder airports prompting the user to add connecting flights;
1 origin is the user's departure city, destination is the charter departure city.",values:{origin:m.name,destination:j.originAirport.cityDesc}});return!C&&P&&!!M!=!!k?(0,i.jsxs)(ef,{direction:"vertical",gap:12,children:[(0,i.jsxs)(d.A,{direction:"vertical",desktopDirection:"horizontal",horizontalAlign:"start",desktopHorizontalAlign:"space-between",verticalAlign:"center",gap:8,children:[(0,i.jsx)(F.A,{variant:"heading5",startIcon:(0,i.jsx)(I.A,{colour:"highlight-primary-dark",size:"M"}),children:(0,i.jsx)(L.A,{id:"NlsxyvhBSBRtmJDL2ctQ",defaultMessage:"<highlight>Direct flight included in bundle:</highlight> {origin} to {destination}",description:"Heading for a one-way Maldives charter summary showing the included flight direction on landing and hotel offer pages.",values:{highlight:e=>(0,i.jsx)(ei,{children:(0,i.jsx)(l.A,{value:"highlight-primary-dark",children:e})}),origin:M?H:V,destination:M?V:H}})}),(0,i.jsx)(S.A,{palette:"success",children:U})]}),(0,i.jsxs)(ep,{background:"none",border:"highlight-primary-dark",padding:0,"data-testid":"one-way-charter-summary",children:[(0,i.jsx)(n.A,{padding:16,desktopPadding:20,background:"neutral-eight",children:(0,i.jsxs)(em,{children:[(0,i.jsx)(en,{journey:M??k,showExactDate:!0,segment:M?"departing":"returning",route:e,desktopShowLogo:!0}),(0,i.jsx)(eb,{children:(0,i.jsxs)(d.A,{direction:"vertical",gap:4,children:[(0,i.jsx)(J.A,{variant:"medium",startIcon:(0,i.jsx)(K.A,{colour:"highlight-primary-dark"}),children:B.carryOn}),(0,i.jsx)(J.A,{variant:"medium",startIcon:(0,i.jsx)(q.A,{colour:"highlight-primary-dark"}),children:B.checked})]})}),(0,i.jsx)(ex,{children:(0,i.jsx)($.A,{kind:"tertiary",onClick:z,children:G})}),(0,i.jsx)(ec,{children:(0,i.jsx)(Y.Ay,{variant:"medium",children:_})})]})}),w&&(0,i.jsx)(D,{onViewCharterDates:x})]}),(0,i.jsx)(b.Ay,{variant:"medium",children:y.formatMessage({id:"0XY839d36wWQanQZlcCe",defaultMessage:"Your hotel and one-way charter flight are included. Choose your other flights at checkout for an additional cost. Flights are booked on separate tickets.",description:"Explains partial charter bundle pricing and mandatory separate commercial flight selection on the hotel offer page."})})]}):C||N?(0,i.jsxs)(ef,{direction:"vertical",gap:12,children:[(0,i.jsx)(s.A,{min:"tablet",children:(0,i.jsxs)(d.A,{direction:"vertical",desktopDirection:"horizontal",horizontalAlign:"space-between",verticalAlign:"center",gap:8,children:[(0,i.jsx)(F.A,{variant:"heading5",startIcon:(0,i.jsx)(eh,{min:"tablet",children:(0,i.jsx)(I.A,{colour:"highlight-primary-dark",size:"M"})}),children:(0,i.jsx)(L.A,{id:"AHTb1bcJkVb69JZX8Bgd",defaultMessage:"<highlight>Direct flights included in bundle:</highlight> {origin} to {destination} return",description:"Charter flight heading with return route showing origin and destination cities",values:{highlight:e=>(0,i.jsx)(ei,{children:(0,i.jsx)(l.A,{value:"highlight-primary-dark",children:e})}),origin:H,destination:V}})}),(0,i.jsx)(S.A,{palette:"success",children:U})]})}),(0,i.jsxs)(ep,{background:"none",border:"highlight-primary-dark",padding:0,children:[(0,i.jsx)(s.A,{max:"mobile",children:(0,i.jsxs)(n.A,{padding:16,desktopPadding:20,background:"neutral-eight",children:[C&&(0,i.jsx)(r.A,{inline:!0}),!C&&N&&(0,i.jsxs)(d.A,{direction:"vertical",gap:16,children:[(0,i.jsxs)(d.A,{direction:"horizontal",verticalAlign:"start",horizontalAlign:"space-between",gap:12,children:[(0,i.jsxs)(d.A,{direction:"vertical",gap:4,children:[(0,i.jsx)(b.Ay,{variant:"medium",weight:"bold",colour:"highlight-primary-dark",children:W}),(0,i.jsx)(b.Ay,{variant:"medium",weight:"bold",colour:"neutral-
1one",children:ev}),O&&m&&!ek&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(b.Ay,{variant:"medium",colour:"neutral-one",children:[eC,eP]}),!eM&&(0,i.jsx)(Y.Ay,{variant:"medium",colour:"neutral-two",children:ew})]})]}),(0,i.jsx)(eu,{"aria-hidden":!0,children:(0,i.jsx)(I.A,{colour:"highlight-primary-dark",size:"M"})})]}),(0,i.jsxs)(d.A,{direction:"horizontal",verticalAlign:"center",horizontalAlign:"space-between",gap:8,children:[(0,i.jsx)(S.A,{palette:"success",children:U}),P&&(0,i.jsx)($.A,{kind:"secondary",size:"small",onClick:z,children:G})]})]})]})}),(0,i.jsx)(s.A,{min:"tablet",children:(0,i.jsxs)(n.A,{padding:16,desktopPadding:20,background:"neutral-eight",children:[C&&!N&&(0,i.jsx)(eg,{children:(0,i.jsx)(r.A,{inline:!0})}),N&&(0,i.jsxs)(er,{children:[(0,i.jsx)(en,{journey:M,showExactDate:P,useUndatedSegmentLabels:E,segment:"departing",route:e,desktopShowLogo:!0}),(0,i.jsx)(el,{kind:"primary",direction:"vertical"}),(0,i.jsx)(eo,{journey:k,showExactDate:P,useUndatedSegmentLabels:E,segment:"returning",route:e,desktopShowLogo:!1}),(0,i.jsx)(es,{children:(0,i.jsxs)(d.A,{direction:"horizontal",desktopDirection:"vertical",gap:4,children:[(0,i.jsx)(J.A,{variant:"medium",startIcon:(0,i.jsx)(K.A,{colour:"highlight-primary-dark"}),children:B.carryOn}),(0,i.jsx)(J.A,{variant:"medium",startIcon:(0,i.jsx)(q.A,{colour:"highlight-primary-dark"}),children:B.checked}),P&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.A,{max:"tablet",children:y.formatMessage(T.v9)}),(0,i.jsx)(s.A,{max:"tablet",children:(0,i.jsx)(J.A,{variant:"medium",children:(0,i.jsx)(Q.A,{weight:"regular",onClick:z,children:G})})})]})]})}),P&&(0,i.jsx)(ed,{children:(0,i.jsx)($.A,{kind:"tertiary",onClick:z,children:G})}),(0,i.jsx)(ec,{children:(0,i.jsx)(Y.Ay,{variant:"medium",children:_})})]})]})}),w&&(0,i.jsx)(D,{onViewCharterDates:x})]}),ek&&m&&(0,i.jsx)(ee.A,{origin:m.name,destination:j.originAirport.cityDesc}),(eC||eP)&&(0,i.jsx)(s.A,{min:"tablet",children:(0,i.jsxs)(b.Ay,{variant:"medium",children:[eC,eP]})})]}):null}},145831(e,t,a){function i({isConfiguredFeederAirport:e,hasFlights:t,departingFeederEstimatedPrice:a,returningFeederEstimatedPrice:r}){return!!e&&(!t||(a??0)>0||(r??0)>0)}function r(e){return{carryOnBaggage:e?.fareFeatures.find(e=>("BAGGAGE_CARRY_ON"===e.type||"carry_on_baggage"===e.type)&&"INCLUDED"===e.status),checkedBaggage:e?.fareFeatures.find(e=>("BAGGAGE_CHECKED"===e.type||"checked_baggage"===e.type)&&"INCLUDED"===e.status)}}a(218111),a(720116),a.d(t,{oN:()=>r,oZ:()=>i})},494629(e,t,a){a(218111),a(161701);var i=a(474848),r=a(665673),n=a(722834),o=a(287367),l=a(148400),s=a(355078),d=a(533782),c=a(897729),h=a(610377),u=a(498105),g=a(251582);function f(e,t){let a=u.U[(0,h.ND)(e)];return a?("inclusions"===t?a.inclusions:a.baggage).length:0}a.d(t,{I:()=>f},{A:function({fareClass:e,section:t,maxItems:a}){let f=(0,r.A)(),p=u.U[(0,h.ND)(e)];if(!p)return null;let m="inclusions"===t?p.inclusions:p.baggage,x=null!=a?m.slice(0,a):m;return(0,i.jsx)(i.Fragment,{children:x.map((e,t)=>e.icon===g.A?(0,i.jsx)(o.A,{variant:"medium",startIcon:(0,i.jsx)(e.icon,{}),endIcon:(0,i.jsx)(s.A,{description:f.formatMessage({id:"9YhUIqIqMuGyui3siwDv",defaultMessage:"SYD/BNE must book domestic flights with their charter package to be eligible",description:"Tooltip explaining eligibility for home to airport transfers in charter flights"}),placement:"top",children:(0,i.jsx)(l.A,{colour:"neutral-two",size:14})}),children:(0,i.jsx)(n.A,{id:"Y-Dw8m2rFgKcyn5hy7J5",defaultMessage:"<badge>New</badge> Home to airport transfers (max 40km) in MEL/SYD/BNE",description:"Charter flight business amenity with New badge: home to airport transfer service",values:{badge:e=>(0,i.jsx)(c.A,{direction:"horizontal",verticalAlign:"center",gap:0,children:(0,i.jsx)(d.A,{mode:"critical",kind:"string",children:e})})}})},t):(0,i.jsx)(o.A,{variant:"medium",startIcon:(0,i.jsx)(e.icon,{}),children:f.formatMessage(e.message)},t))})}})},56351(e,t,a){var i=a(474848),r=a(296540),n=a(665673),o=a(309695),l=a(427654),s=a(337997),d=a(987967),c=a(370641);a.d(t,{},{A:function({value:e="total",onChange:t,dropdownPlacement:a="bottom-end",dropdownPortaled:h}){let u=(0,n.A)(),{value:g,toggle:f,off:p}=(0,c.A)(),m=(0,r.useRef)(null),x=u.formatMessage({id:"kGgDSvtOWXZi9MJV-MQC",defaultMessage:"Total price",description:"Toggle label for showing total price in hotel price toggle"}),b=u.formatMessage({id:"nrkVKqo7sbL3FTKdBcdQ",defaultMessage:"Per person",description:"Toggle label for showing per person price in hotel price toggle"}),y="perPerson"===e?b:x,A=e=>{t?.(e),p()};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.A,{size:"medium",endIcon:(0,i.jsx)(s.A,{}),onClick:f,ref:m,children:y}),(0,i.jsxs)(l.A,{size:"S",open:g,onClose:p,anchorRef:m,triggerRef:m,placement:a,portaled:h,children:[(0,i.jsx)(d.A,{title:x,onClick:()=>A("total")}),(0,i.jsx)(d.A,{title:b,onClick:()=>A("perPerson")})]})]})}})},658503(e,t,a){var i=a(38267),r=a(731357),n=a(843702),o=a(744718),l=a(194617);let s=(0,i.Ay)(n.A).withConfig({componentId:"sc-9c58045f-0"})(["","{&&&{max-width:min(var(--safe-size),",");}}",'{[data-testid="','-header"][data-testid]{grid-template-columns:min-content auto 1fr min-content;grid-template-areas:"prepended-action title header-actions appended-action" ". subtitle subtitle .";> .extension-area{grid-area:header-actions;margin-top:0;justify-self:end;align-self:center;}@media (max-width:','){grid-template-columns:min-content 1fr min-content;grid-template-areas:"prepended-action title appended-action" "header-actions header-actions header-actions" ". subtitle .";> .extension-area{justify-self:start;margin-top:',";}}}}
1"],l.em.tablet,(0,r.D0)(1550),l.em.desktop,e=>e.$testId,(0,r.D0)(1175),(0,r.D0)(8)),d=(0,i.Ay)(n.A).withConfig({componentId:"sc-9c58045f-1"})(["","{overflow-x:hidden;touch-action:pan-y;}"],o.h),c=(0,i.Ay)(o.h).withConfig({componentId:"sc-9c58045f-2"})(["overflow-x:hidden;touch-action:pan-y;"]);a.d(t,{},{K8:d,ih:c,qb:s})},192707(e,t,a){a.d(t,{A:()=>t_}),a(218111),a(607588),a(13579),a(944114),a(18237),a(22489),a(161701);var i=a(474848),r=a(296540),n=a(665673),o=a(722834),l=a(38267),s=a(731357),d=a(795093),c=a.n(d),h=a(161648),u=a(897729),g=a(78272),f=a(423946),p=a(73659),m=a(305229),x=a(731755),b=a(452643),y=a(413697),A=a(299759),v=a(634164),w=a(750142),j=a(329404),M=a(98019),k=a(488562),C=a(285438),P=a(917164),D=a(610377),I=a(267662),S=a(547965),F=a(751421),L=a(503542),R=a(362121),T=a(476756),E=a(492347),B=a(236567),z=a(640338),O=a(29895),N=a(502521),H=a(791891),V=a(743546),U=a(982771);a(517642),a(658004),a(733853),a(845876),a(432475),a(515024),a(731698),a(125509),a(665223),a(660321),a(241927),a(511632),a(864377),a(966771),a(712516),a(368931),a(652514),a(235694),a(652774),a(849536),a(321926),a(994483),a(916215),a(720116);var G=a(846341),_=a(919427),W=a(151003),$=a(314953),Y=a(341732),J=a(831115),K=a(670895),q=a(502978),Q=a(174261),X=a(337997),Z=a(167030),ee=a(638772),et=a(855021),ea=a(139148),ei=a(940367),er=a(494629);a(430531);var en=a(604451),eo=a(161740),el=a(791914),es=a(302885),ed=a(61232),ec=a(747753),eh=a(864213),eu=a(823356),eg=a(227920),ef=a(32717);a(78898);var ep=a(94003),em=a(175160),ex=a(909421),eb=a(428357),ey=a(106427),eA=a(247546),ev=a(144386),ew=a(729738);let ej=l.Ay.div.withConfig({componentId:"sc-c22f2996-0"})(["padding:"," ",";"],(0,s.D0)(8),(0,s.D0)(12)),eM=l.Ay.div.withConfig({componentId:"sc-c22f2996-1"})(["text-align:start;display:block;"]),ek=(0,l.Ay)(en.A).withConfig({componentId:"sc-c22f2996-2"})(["max-width:",";"],(0,s.D0)(140)),eC=function(e){let{fareClass:t,checkIn:a,checkOut:o,rooms:l,isReward:s,hotelLoyaltyCalculationRequest:d,feederOriginAirportCode:c}=e,h=(0,n.A)(),u=(0,r.useContext)(eo.A),{departingFareFamily:g,fetchingFareFeatures:f,fareFeaturesError:m,fareFeaturesFetchSuccess:x,fareFeaturesFetchEnabled:b,departingJourney:y}=function({charterBundleRoute:e,checkIn:t,checkOut:a,occupancies:i=es.N9,fareClass:n,feederOriginAirportCode:o}){let{currentRegionCode:l}=(0,r.useContext)(em.A),s=(0,w.GV)(e=>e.auth.account.email),d=(0,ey.A)({charterBundleRoute:e,fareClass:n,occupancies:i,disabled:!e,feederOriginAirportCode:o}),c=d?.searchId,h=(0,ev.J)(t),u=(0,ev.J)(a),g=d?.fares?.[0],f=d?.fares?.[1],p=h&&g?g.find(e=>{let t=e.flightGroup.flights.at(-1)?.arrivalDate,a=(0,ev.J)(t);return void 0!==a&&a===h}):void 0,m=u&&f?f.find(e=>{let t=e.flightGroup.flights.at(0)?.departingDate,a=(0,ev.J)(t);return void 0!==a&&a===u}):void 0,{data:x,isFetching:b,isError:y,isSuccess:A}=(0,ex.I)({queryKey:["charterDateFareFlightFareFamilies",n,p?.id,m?.id,i,l,o,s],queryFn:async()=>{if(!c||!p||!m)return eb.zf;let e=(0,P.wK)(i),t=await (0,ep.Fs)({searchId:c,sessionId:"",origin:p.flightGroup.flights[0].departureAirport,destination:m.flightGroup.flights[0].departureAirport,occupancies:(0,P.nV)([e]),region:l,isStandalone:!1,selectedFareIds:[p.id,m.id],feederOriginAirportCode:o,email:s}),[a]=(0,eA.l)(t,n);return{departingFareFamily:a}},enabled:!!(c&&p&&m&&e)}),v=x?.departingFareFamily,j=(0,r.useMemo)(()=>{if(v)return(0,el.n$)([v]).get(v.id)},[v]),M=!!(c&&p&&m&&e);return{departingFareFamily:v,features:j,fetchingFareFeatures:b||M&&void 0===x&&!y,fareFeaturesError:y,fareFeaturesFetchSuccess:A,fareFeaturesFetchEnabled:M,departingJourney:p,returningJourney:m}}({charterBundleRoute:ed.yL,checkIn:a,checkOut:o,occupancies:l,fareClass:t,feederOriginAirportCode:c}),A=(0,w.GV)(ec.q8),v=(0,r.useMemo)(()=>A.segmentsData.flatMap(e=>e.loyaltyPointsKeys??[]),[A.segmentsData]),j=(0,w.GV)(e=>(0,eh.B)(e,v)),M=(0,r.useMemo)(()=>j.map(e=>e?.data?.request),[j]),k=(0,r.useMemo)(()=>{if(!M.some(e=>e?.earnKey))return(0,es.TL)(M.map(e=>{if(e&&(0,eg.A)(e)&&e.earnKey)return e.earnKey}))[0]},[M]),C=(0,r.useMemo)(()=>{var e;let t=[];if(d&&t.push(d),s||!g||!y)return t;let a=y.flightGroup.flights,i=a[0],r=(0,es.HV)(a);if(!i?.departureAirport||!r?.arrivalAirport)return t;
1let n=(0,el.im)(g.cabin.toLowerCase(),!1),o=k||(0,eu.Ay)({loyaltyProductType:n,options:{originAirportCode:i.departureAirport,destinationAirportCode:r.arrivalAirport,carrier:y.carrier,loyaltyEarnKey:g.loyaltyEarnKey}});return t.push({loyaltyProductType:n,price:0===Math.round(e=g.costWithInsurance?.all||g.cost.all)?0:e,earnKey:o,offerId:y.id,packageId:""}),t},[g,y,k,s,d]),D=(0,es.TL)(C).length>0,I=h.formatMessage({id:"EeLZd4RtpChRnnVKPYXE",defaultMessage:"We couldn’t load fare inclusions. Try again in a moment.",description:"Inline error message under the Maldives charter calendar fare card when the fare upsell request for baggage and cabin rows fails so the customer knows the comparison block did not load."}),S=h.formatMessage({id:"z9WF1hsm8DsldyNCbyOQ",defaultMessage:"Fare inclusions will appear once matching flights are available for this stay.",description:"Helper copy in the expanded Maldives charter fare card when flight search results are not yet matched to the selected check-in and check-out dates so baggage and cabin rows cannot load yet."}),F=h.formatMessage({id:"5if3MpGoeFgrGJ_k120j",defaultMessage:"{loyaltyProgramName} earn details will appear once a matching offer is available for this cabin.",description:"Muted helper sentence inside a single cabin column of the expanded Maldives charter desktop trip-options table on the Société benefits row when earn cannot be shown because the hotel package is not yet resolved."},{loyaltyProgramName:(0,ew.A)()}),L=!m&&!g&&(f||b&&!x),R=!m&&!b&&!g&&!f,T=u&&D&&!!d;return s?(0,i.jsxs)(ej,{children:[T&&(0,i.jsx)(eM,{children:(0,i.jsx)(ef.A,{calculationRequests:C,calculationType:"exact",size:"S"})}),!T&&(0,i.jsx)(p.Ay,{variant:"medium",colour:"neutral-three",children:F})]}):(0,i.jsxs)(ej,{children:[m&&(0,i.jsx)(p.Ay,{variant:"medium",colour:"critical",children:I}),L&&(0,i.jsx)(ek,{typography:"caption-medium",width:"100%"}),R&&(0,i.jsx)(p.Ay,{variant:"medium",colour:"neutral-three",children:S}),!m&&!L&&!R&&g&&!y&&(0,i.jsx)(p.Ay,{variant:"medium",colour:"neutral-three",children:F}),!m&&!L&&!R&&g&&y&&T&&(0,i.jsx)(eM,{children:(0,i.jsx)(ef.A,{calculationRequests:C,calculationType:"exact",size:"S"})}),!m&&!L&&!R&&g&&y&&u&&!T&&(0,i.jsx)(p.Ay,{variant:"medium",colour:"neutral-three",children:F})]})};var eP=a(829403);let eD=(0,s.D0)(300),eI=(0,s.D0)(180),eS=(0,l.AH)(["border-inline-end:1px solid ",";"],e=>e.theme.palette.neutral.surface.lightForeground),eF=(0,l.AH)(["position:sticky;inset-inline-start:0;width:",";min-width:",";max-width:",";vertical-align:middle;"],eD,eD,eD),eL=l.Ay.td.withConfig({componentId:"sc-d0902642-0"})([""," z-index:",";padding:"," ",";background-color:",";"," border-top:1px solid ",";"," vertical-align:top;"],eF,eP.A.offerFilters,(0,s.D0)(16),(0,s.D0)(12),e=>
1e.theme.palette.neutral.surface.lightBackground,eS,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.$isLastExpandedRow&&(0,l.AH)(["border-end-start-radius:",";"],e.theme.borderRadius.S)),eR=l.Ay.td.withConfig({componentId:"sc-d0902642-1"})(["min-width:",";padding:0;background-color:",";border-top:1px solid ",";"," "," vertical-align:top;"],eI,e=>e.theme.palette.neutral.surface.normalBackground,e=>e.theme.palette.neutral.surface.lightForeground,e=>!e.$isLastFareColumn&&eS,e=>e.$isLastFareColumn&&(0,l.AH)(["",""],e.$isLastExpandedRow&&(0,l.AH)(["border-end-end-radius:",";"],e.theme.borderRadius.S))),eT=l.Ay.div.withConfig({componentId:"sc-33d3ff07-0"})(["padding:",";"],(0,s.D0)(12)),eE=l.Ay.td.withConfig({componentId:"sc-33d3ff07-1"})(["padding:0;border:none;line-height:0;font-size:0;height:0;"]),eB=(0,G.YK)({baggageSection:{id:"zcz2kGGq5yw_5xp_6UiB",defaultMessage:"Baggage",description:"Maldives charter desktop trip-options table expanded row subsection heading above the per-cabin baggage allowance list."},seatsMealsSection:{id:"sn72ng9h0P2OZz-elD-h",defaultMessage:"Seats, meals and more",description:"Maldives charter desktop trip-options table expanded row subsection heading above the per-cabin seats / meals / extras list."},societeBenefitsSection:{id:"yobG5UuhkJTkVWyNt84v",defaultMessage:"{loyaltyProgramName} benefits",description:"Maldives charter desktop trip-options table expanded row subsection heading above the per-cabin loyalty (Société) earn breakdown."},societeBenefitsPending:{id:"94CrSZAfSLXyP-29cK4C",defaultMessage:"-",description:"Placeholder shown in the Maldives charter expanded row Société benefits cell when the cabin has no seats available — a simple dash since baggage/inclusions still render from the hardcoded cabin content."}}),ez=function({fareClassColumns:e,fareColumnCellStyle:t,checkIn:a,checkOut:r,rooms:o,hotelLoyaltyCalculationRequest:l,expandedAnchorRef:s,unavailableColumns:d,feederOriginAirportCode:c}){let u=(0,n.A)(),f=(0,ew.A)(),p=u.formatMessage(eB.baggageSection),m=u.formatMessage(eB.seatsMealsSection),x=u.formatMessage(eB.societeBenefitsSection,{loyaltyProgramName:f}),b=u.formatMessage(eB.societeBenefitsPending,{loyaltyProgramName:f}),y=e.length-1;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("tr",{children:[(0,i.jsx)(eL,{scope:"row",$isLastExpandedRow:!1,children:(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",children:p})}),e.map((e,a)=>(0,i.jsx)(eR,{style:t,$isLastFareColumn:a===y,$isLastExpandedRow:!1,children:(0,i.jsx)(eT,{children:(0,i.jsx)(g.A,{gap:8,children:(0,i.jsx)(er.A,{fareClass:(0,D.ND)(e),section:"baggage"})})})},e))]}),s&&(0,i.jsx)("tr",{"aria-hidden":!0,children:(0,i.jsx)(eE,{colSpan:e.length+1,children:(0,i.jsx)("span",{ref:s})})}),(0,i.jsxs)("tr",{children:[(0,i.jsx)(eL,{scope:"row",$isLastExpandedRow:!1,children:(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",children:m})}),e.map((e,a)=>(0,i.jsx)(eR,{style:t,$isLastFareColumn:a===y,$isLastExpandedRow:!1,children:(0,i.jsx)(eT,{children:(0,i.jsx)(g.A,{gap:8,children:(0,i.jsx)(er.A,{fareClass:(0,D.ND)(e),section:"inclusions"})})})},e))]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)(eL,{scope:"row",$isLastExpandedRow:!0,children:(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",children:x})}),e.map((e,n)=>{let s=d.has(e);return(0,i.jsxs)(eR,{style:t,$isLastFareColumn:n===y,$isLastExpandedRow:!0,children:[s&&(0,i.jsx)(eT,{style:{textAlign:"center"},children:(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:b})}),!s&&(0,i.jsx)(eC,{fareClass:(0,D.ND)(e),checkIn:a,checkOut:r,rooms:o,isReward:(0,D.uD)(e),hotelLoyaltyCalculationRequest:l,feederOriginAirportCode:c})]},e)})]})]})};var eO=a(871942),eN=a(792435),eH=a(842930),eV=a(148047),eU=a(49864),eG=a(496036),e_=a(304234),eW=a(316510),e$=a(825060),eY=a(841258),eJ=a(117554),eK=a(449915),eq=a(532957),eQ=a(734022),eX=a(282168),eZ=a(255616),e0=a(838716);let e1=(0,G.YK)({showMoreDates:{id:"LIfL6oXSbJk-SgAW57Pm",defaultMessage:"Show more dates",description:"Button text to load more departure dates in Maldives charter calendar"},datesColumnHeader:{id:"_xUbcl5o3K7tAuu56VGs",defaultMessage:"Travel Dates",description:"Sticky first-column header label on the Maldives charter desktop table calendar (Layout B); date rows below show Melbourne departure and Malé return lines."},societeRewardsSubline:{id:"NNc7TL-pXkXSdCbXiRGB",defaultMessage:"{loyaltyProgramName}
1 Rewards",description:"Second line of the Maldives charter desktop trip-options table sticky header for the loyalty-program reward fare columns; shown in brand green beside the rewards icon directly under the black cabin class name (Economy, Economy Plus, or Business). loyaltyProgramName is the configured loyalty program (e.g. Société)."},loading:{id:"C6m8UbIIgveZbgrQtJ6T",defaultMessage:"Loading...",description:"Loading state text while charter flight prices are being fetched"},unavailable:{id:"2-yaAKUHBq54tPiTm42n",defaultMessage:"Sold out!",description:"Button label when charter flight date is unavailable"},noSeatsAvailable:{id:"iv47cobHGcSpUSH6kWDd",defaultMessage:"Sold out!",description:"Short label in the Maldives charter flight calendar when a fare column has no reward-seat inventory or no seats for that cabin."},notEnoughSeats:{id:"n09IJ063vIxfUT_FhQPp",defaultMessage:"Sold out!",description:"Maldives charter desktop table calendar (Layout C) Société Rewards cell label when the leg has reward-seat inventory but fewer remaining seats than the requested seat-eligible passenger count."},departMelbourne:{id:"HroFmiqMFBQBLiNajy1i",defaultMessage:"Depart Melbourne",description:"Muted label above the formatted departure date in the sticky first column of the Maldives charter desktop table calendar (Layout B); identifies the outbound leg city."},departMale:{id:"wo7zJ4aJVCDNXUU_6wtT",defaultMessage:"Depart Malé",description:"Muted label above the formatted return departure date in the sticky first column of the Maldives charter desktop table calendar (Layout B); identifies the inbound leg city."},emptyHeading:{id:"guyDFMVuGdGAJHuZXY-E",defaultMessage:"No departures available for {selectedMonth}",description:"Empty state heading when no charter departures found for selected month"},emptyBody:{id:"2y3hsx4QLvrR_aamxC4j",defaultMessage:"Try selecting a different month or adjusting your search criteria",description:"Help text when no charter departures are available for selected month"},rewardOnlyEmptyHeading:{id:"e8Rp2kXtWCQV6l_QWs0-",defaultMessage:"No reward seat departures available for {selectedMonth}",description:'Empty state heading on the Maldives charter desktop trip-options table when the "Reward seats" toggle hides every date in the selected month.'},rewardOnlyEmptyBody:{id:"zFmM_B5jFTj1kIADqaFW",defaultMessage:"Turn off the Reward seats filter to see all available departures for this month, or try selecting a different month.",description:"Help text on the Maldives charter desktop trip-options table reward-only empty state, prompting the customer to disable the toggle or pick another month."},infiniteOnlyEmptyHeading:{id:"Q1_UWWNiqgqJqzkKyMvy",defaultMessage:"No Infinite Member Price departures available for {selectedMonth}",description:'Empty state heading on the Maldives charter desktop trip-options table when the "Only show Infinite Member Price" filter hides every date in the selected month.'},infiniteOnlyEmptyBody:{id:"epXTTMNBXOcW6v7o1RXE",defaultMessage:"Turn off the Infinite Member Price filter to see all available departures for this month, or try selecting a different month.",description:"Help text on the Maldives charter desktop trip-options table Infinite-only empty state, prompting the customer to disable the filter or pick another month."},selectFare:{id:"WcCEmvRgX3nnalxltSsx",defaultMessage:"Select",description:"Maldives charter desktop trip-options table expanded row per-cabin button to commit the selected fare class for the row."},selectedFare:{id:"vLDtsTIXwXWp8yXLCilU",defaultMessage:"Selected",description:"Maldives charter desktop trip-options table expanded row per-cabin button label when this cabin is the active selection on the row."},fromLabel:{id:"61Gm0owvNXkEHBOdcx8J",defaultMessage:"From",description:"Price prefix label in Maldives flight calendar item"},totalSuffix:{id:"j--PuUYLTgWUxAxROh0Z",defaultMessage:"total",description:"Total pricing unit suffix in the Maldives calendar"},scrollLeftAriaLabel:{id:"7_u_j89wUh_XE9IAaX1V",defaultMessage:"Scroll fare class columns left",description:"Accessible label for the left scroll arrow on the Maldives charter desktop trip-options table."},scrollRightAriaLabel:{id:"9G6Uey8gzxPgzG0VlKzT",defaultMessage:"Scroll fare class columns right",description:"Accessible label for the right scroll arrow on the Maldives charter desktop trip-options table."},perPersonSuffix:{id:"ew2ARy7ro3tFSM4inpHN",defaultMessage:"/person",description:"Per person pricing unit suffix in Maldives calendar"}
1,showDetails:{id:"-zlQ-vbqshTURzY2731T",defaultMessage:"Show details",description:"Toggle text in the Maldives charter desktop trip-options table to expand the fare details for a row."},hideDetails:{id:"tKRkoGVQuVogBZ3TIH5M",defaultMessage:"Hide details",description:"Toggle text in the Maldives charter desktop trip-options table to collapse the expanded fare details for a row."}}),e2=l.Ay.div.withConfig({componentId:"sc-d9547d67-0"})(["position:relative;width:100%;min-width:0;max-width:",";margin:0 auto;"],(0,s.D0)(1440)),e6=l.Ay.div.withConfig({componentId:"sc-d9547d67-1"})(["width:100%;min-width:0;overflow-x:auto;overflow-y:clip;overscroll-behavior-x:contain;"]),e4=(0,l.Ay)(function(e){return(0,i.jsx)(W.A,{...e,kind:"secondary",variant:"default",shape:"circle",type:"button"})}).withConfig({componentId:"sc-d9547d67-2"})(["box-shadow:",";"],e=>e.theme.shadow.bottom.small),e7=l.Ay.div.withConfig({componentId:"sc-d9547d67-3"})(["position:sticky;top:0;height:0;z-index:",";pointer-events:none;"],eP.A.stickyPromptCard),e5=l.Ay.div.withConfig({componentId:"sc-d9547d67-4"})(["position:absolute;top:",";"," pointer-events:auto;transition:opacity 0.2s ease;",""],(0,s.D0)(16),e=>"start"===e.$side?(0,l.AH)(["inset-inline-start:",";"],(0,s.D0)(-20)):(0,l.AH)(["inset-inline-end:",";"],(0,s.D0)(-20)),e=>e.$hidden&&(0,l.AH)(["opacity:0;pointer-events:none;"])),e8=l.Ay.div.withConfig({componentId:"sc-d9547d67-5"})(["position:absolute;inset-inline:0;height:0;z-index:",";pointer-events:none;","{top:0;transform:translateY(-50%);}"],eP.A.stickyHeader,e5),e9=l.Ay.div.withConfig({componentId:"sc-d9547d67-6"})(["position:sticky;top:-",";height:0;z-index:",";pointer-events:none;"],(0,s.D0)(1),eP.A.stickySubHeader),e3=l.Ay.div.withConfig({componentId:"sc-d9547d67-7"})(["width:100%;overflow-x:hidden;overflow-y:visible;"]),te=l.Ay.table.withConfig({componentId:"sc-d9547d67-8"})(["table-layout:fixed;border-collapse:separate;width:100%;border-spacing:0;"]),tt=l.Ay.div.withConfig({componentId:"sc-d9547d67-9"})(["position:relative;background-color:",";border:1px solid ",";border-radius:",";overflow:hidden;","{border-radius:inherit;}&.active{border-color:",";box-shadow:",";z-index:",";}"],e=>e.theme.palette.neutral.surface.normalBackground,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.borderRadius.M,te,e=>e.theme.palette.neutral.default.four,e=>e.theme.shadow.flat.medium,eP.A.offerFilters),ta=l.Ay.div.withConfig({componentId:"sc-d9547d67-10"})(["position:relative;box-shadow:",";z-index:",";",""],e=>e.theme.shadow.flat.medium,eP.A.offerFilters,e=>!e.$isPainted&&(0,l.AH)(["opacity:0;pointer-events:none;"])),ti=l.Ay.thead.withConfig({componentId:"sc-d9547d67-11"})(["background-color:",";"],e=>e.theme.palette.neutral.surface.normalBackground),tr=(0,l.AH)(["background-color:",";"],e=>e.theme.palette.neutral.surface.normalBackground),tn=l.Ay.th.withConfig({componentId:"sc-d9547d67-12"})([""," z-index:",";padding:"," ",";vertical-align:middle;text-align:start;"," border-top:1px solid ",";border-bottom:1px solid ",";border-inline-start:1px solid ",";border-start-start-radius:",";border-end-start-radius:",";",""],eF,eP.A.searchMenu,(0,s.D0)(24),(0,s.D0)(12),tr,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.borderRadius.S,e=>e.theme.borderRadius.S,eS),to=l.Ay.th.withConfig({componentId:"sc-d9547d67-13"})(["min-width:",";padding:"," ",";text-align:center;vertical-align:middle;"," border-top:1px solid ",";border-bottom:1px solid ",";"," ",""],eI,(0,s.D0)(6),(0,s.D0)(6),tr,e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.palette.neutral.surface.lightForeground,eS,e=>e.$isLastFareColumn&&(0,l.AH)(["border-inline-end:1px solid ",";border-start-end-radius:",";border-end-end-radius:",";"],e.theme.palette.neutral.surface.lightForeground,e.theme.borderRadius.S,e.theme.borderRadius.S)),tl=l.Ay.tr.withConfig({componentId:"sc-d9547d67-14"})([""]),ts=l.Ay.tbody.withConfig({componentId:"sc-d9547d67-15"})([""]),td=l.Ay.td.withConfig({componentId:"sc-d9547d67-16"})([""," z-index:",";padding:"," ",";height:",";"," border-start-start-radius:",";",""],eF,eP.A.offerFilters,(0,s.D0)(14),(0,s.D0)(12),e=>e.$isExpanded?(0,s.D0)(1):"auto",tr,e=>e.theme.borderRadius.S,e=>e.$isExpanded?(0,l.AH)(["background-color:",";
1",""],e.theme.palette.neutral.surface.lightBackground,eS):(0,l.AH)(["border-end-start-radius:",";"],e.theme.borderRadius.S)),tc=l.Ay.td.withConfig({componentId:"sc-d9547d67-17"})(["min-width:",";position:relative;padding:0;height:",";"," "," vertical-align:",";",""],eI,(0,s.D0)(1),tr,e=>!e.$isLastFareColumn&&e.$isExpanded&&eS,e=>e.$isExpanded?"top":"middle",e=>e.$isLastFareColumn&&(0,l.AH)(["border-start-end-radius:",";",""],e.theme.borderRadius.S,!e.$isExpanded&&(0,l.AH)(["border-end-end-radius:",";"],e.theme.borderRadius.S))),th=l.Ay.td.withConfig({componentId:"sc-d9547d67-18"})(["height:",";padding:0;border:none;line-height:0;font-size:0;background-color:",";"],(0,s.D0)(24),e=>e.theme.palette.neutral.surface.lightBackground),tu=(0,l.Ay)(b.A).withConfig({componentId:"sc-d9547d67-19"})(["display:block;width:100%;text-align:start;border-radius:",";cursor:pointer;&:focus-visible{","}"],e=>e.theme.borderRadius.S,y.A),tg=(0,l.Ay)(b.A).withConfig({componentId:"sc-d9547d67-20"})(["display:block;width:100%;text-align:center;border-radius:",";cursor:pointer;&:focus-visible{","}"],e=>e.theme.borderRadius.S,y.A),tf=(0,l.Ay)(u.A).withConfig({componentId:"sc-d9547d67-21"})(["max-width:100%;"]),tp=l.Ay.div.withConfig({componentId:"sc-d9547d67-22"})(["display:grid;grid-template-rows:minmax(",",1fr) "," auto;width:100%;height:100%;min-height:",";padding:",";gap:",";"],(0,s.D0)(96),(0,s.D0)(44),(0,s.D0)(156),(0,s.D0)(12),(0,s.D0)(12)),tm=l.Ay.div.withConfig({componentId:"sc-d9547d67-23"})(["width:100%;"]),tx=l.Ay.div.withConfig({componentId:"sc-d9547d67-24"})(["width:100%;display:flex;justify-content:center;"]),tb=l.Ay.div.withConfig({componentId:"sc-d9547d67-25"})(["width:100%;height:100%;display:flex;align-items:center;justify-content:center;"]),ty=l.Ay.div.withConfig({componentId:"sc-d9547d67-26"})(["grid-row:1 / 3;height:100%;display:flex;align-items:center;justify-content:center;width:100%;"]),tA=(0,l.Ay)(J.A).withConfig({componentId:"sc-d9547d67-27"})(["display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;min-height:",";padding:",";text-align:center;border-radius:",";cursor:pointer;"," &:focus-visible{","}"],(0,s.D0)(72),(0,s.D0)(12),e=>e.theme.borderRadius.S,e=>e.$disabled&&"opacity: 0.5;",y.A),tv=(0,l.Ay)(p.Ay).withConfig({componentId:"sc-d9547d67-28"})(["display:inline-flex;align-items:center;gap:",";text-decoration:underline;"],(0,s.D0)(4)),tw=(0,l.Ay)(b.A).withConfig({componentId:"sc-d9547d67-29"})(["display:inline-flex;align-self:center;border-radius:",";cursor:pointer;&:focus-visible{","}"],e=>e.theme.borderRadius.S,y.A),tj=l.Ay.span.withConfig({componentId:"sc-d9547d67-30"})(["display:flex;flex-shrink:0;align-items:center;color:",";"],e=>e.theme.palette.neutral.surface.darkForeground),tM=(0,l.Ay)(u.A).withConfig({componentId:"sc-d9547d67-31"})(["flex:1 1 0;min-width:0;"]),tk=l.Ay.sup.withConfig({componentId:"sc-d9547d67-32"})(["margin-inline-start:",";font-size:0.6em;vertical-align:super;"],(0,s.D0)(2)),tC=l.Ay.div.withConfig({componentId:"sc-d9547d67-33"})(["padding:"," "," 0;display:flex;justify-content:center;"],(0,s.D0)(20),(0,s.D0)(20)),tP=(0,l.Ay)(u.A).withConfig({componentId:"sc-d9547d67-34"})(["padding:",";"],(0,s.D0)(32)),tD=(0,r.memo)(function(e){let t,{fareClassColumn:a,checkInDate:n,bundleData:l,cabinHotelEntry:s,seatEligiblePassengers:d,priceMode:c,luxPlusEnabled:g,isRowHighlighted:f,isSelected:x,isExpanded:b,canShowDetails:y,onHighlightRow:A,onToggleExpand:v,onSelectFare:w,loadingLabel:j,noSeatsAvailableLabel:M,selectFareLabel:k,selectedFareLabel:C,showDetail
1sLabel:P,hideDetailsLabel:I,fromLabel:S,priceSuffixLabel:F,rewardCashAddOnLabel:L,loginToViewLabel:R,enrollLabel:E,isLoggedIn:B,hasLoyaltyAccount:z,isInfiniteMember:O,isOneWayBundle:H,onLoginClick:G,onEnrollClick:W}=e,{getLegResult:J,getJourneysForCabinDate:K,isLoading:q}=(0,T.Y)(),Q=b||f,ee=b?(0,i.jsx)(Z.A,{size:"XS"}):(0,i.jsx)(X.A,{size:"XS"}),et=y?(0,i.jsx)(tw,{type:"button",onClick:v,children:(0,i.jsxs)(tv,{variant:"medium",weight:"bold",colour:"neutral-two",children:[b?I:P,ee]})}):null,ea=K((0,D.ND)(a),n),ei=ea?.departing,er=ea?.returning,en=s?s.hotelPrice:l.hotelPrice,eo=s?s.hotelMemberPrice:l.hotelMemberPrice,el=(0,r.useMemo)(()=>(0,N.jM)({fareClass:a,hotelPrice:en,hotelMemberPrice:eo,departingFlight:ei,returningFlight:er,allowIncompleteJourneys:H,seatEligiblePassengers:d,getLegResult:J}),[a,en,eo,ei,er,H,d,J]),es=(0,D.uD)(a),ed=g&&(0,eQ.$)({hasReturnFareFree:(0,eq.vE)(er),isEconomy:"economy"===(0,D.ND)(a)}),ec=es&&void 0===el.pointsTotal,eh=g&&void 0!==el.cashMemberTotal,eu=eh?el.cashMemberTotal:el.cashTotal,eg="perPerson"===c&&d>0?d:1,ef=void 0!==eu?eu/eg:void 0,ep=l.available&&void 0!==ef&&!ec,em=H&&!l.fetching&&(B?ep:void 0!==el.cashTotal&&d>0)&&es&&"economy"===(0,D.ND)(a)?(0,i.jsx)(e0.$,{departureDate:e.departureDate}):null,ex=g&&el.promotionSeatsLeft&&el.promotionSeatsLeft>0?(0,i.jsx)(p.Ay,{variant:"medium",weight:"bold",align:"center",colour:"urgency",children:(0,i.jsx)(o.A,{id:"23YWa0_2ZjY7SjWiY2Ak",defaultMessage:"{count, plural, one {# seat left at this price} other {# seats left at this price}}",description:"Urgency message showing limited seats remaining for charter flight",values:{count:el.promotionSeatsLeft}})}):null,eb=es&&B&&!z,ey=es&&!B||eb,eA=void 0!==el.cashTotal;if(l.fetching||es&&q)t=(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:j});else if(ey&&!eA)t=(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:M});else if(ey){let r=(0,eK.ke)({cabin:(0,D.ND)(a),oneWayBundle:H,departureDate:e.departureDate}),n=g&&void 0!==eo,o=(n?eo:en)??0,l=n?"lux-plus":void 0,s=r&&void 0!==en&&eA?{points:r.pointsPerPerson*d/eg,cash:(o+r.cashPerPerson*d)/eg}:void 0,c=s?(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,fullWidth:!0,children:[Q&&(0,i.jsx)(Y.A,{children:S}),(0,i.jsx)(_.Ay,{as:"div",variant:"heading5",wrap:"pretty",colour:l,children:(0,i.jsx)(U.A,{abbreviated:!0,points:s.points})}),(0,i.jsx)(p.Ay,{variant:"medium",align:"center",weight:"normal",colour:l,children:L(s.cash)}),em,Q&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(p.Ay,{variant:"large",align:"center",weight:"normal",colour:l,format:"lowercase",children:F}),(0,i.jsx)(eX.A,{productType:"flight",offerId:ei?.id||er?.id||"",offer:ei||er?{journey:ei||er}:void 0,offerTotal:s.cash})]})]}):(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:R});if(Q)return(0,i.jsxs)(tp,{children:[(0,i.jsx)(tb,{children:(0,i.jsx)(tg,{as:"div",children:c})}),(0,i.jsx)(tm,{children:(0,i.jsx)($.A,{kind:"secondary",onClick:eb?W:G,fit:"flex",children:eb?E:R})}),(0,i.jsx)(tx,{children:et})]});t=c}else if(ep&&void 0!==ef)if(es&&void 0!==el.pointsTotal&&void 0!==el.cashTotal){let e=eh?"lux-plus":void 0,a=(eh&&void 0!==el.cashMemberTotal?el.cashMemberTotal:el.cashTotal)/eg,r=el.pointsTotal/eg;t=Q?(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,fullWidth:!0,children:[(0,i.jsx)(Y.A,{children:S}),(0,i.jsx)(_.Ay,{as:"div",variant:"heading5",wrap:"pretty",colour:e,children:(0,i.jsx)(U.A,{abbreviated:!0,points:r})}),(0,i.jsx)(p.Ay,{variant:"medium",align:"center",weight:"normal",colour:e,children:L(a)}),(0,i.jsx)(p.Ay,{variant:"large",align:"center",weight:"normal",colour:e,format:"lowercase",children:F}),em,(0,i.jsx)(eX.A,{productType:"flight",offerId:ei?.id||er?.id||"",offer:ei||er?{journey:ei||er}:void 0,offerTotal:a})]}):(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,fullWidth:!0,children:[(0,i.jsx)(_.Ay,{as:"div",variant:"heading5",wrap:"pretty",colour:e,children:(0,i.jsx)(U.A,{abbreviated:!0,points:r})}),(0,i.jsx)(p.Ay,{variant:"medium",align:"center",weight:"normal",colour:e,children:L(a)}),em]})}
1else{let e=g?"lux-plus":void 0,a=el.isFnf?(0,i.jsx)(eZ.x,{isInfiniteMember:O}):null;t=Q?(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,fullWidth:!0,children:[(0,i.jsx)(Y.A,{children:S}),(0,i.jsxs)(tf,{direction:"horizontal",horizontalAlign:"center",verticalAlign:"center",gap:2,children:[ed&&(0,i.jsx)(V.A,{size:18,colour:"lux-plus","aria-hidden":!0}),(0,i.jsx)(_.Ay,{as:"div",variant:"heading5",wrap:"pretty",colour:e,children:(0,i.jsx)(m.A,{value:ef,format:"roundedDollar"})})]}),(0,i.jsx)(p.Ay,{variant:"large",align:"center",weight:"normal",colour:e??"neutral-two",format:"lowercase",children:F}),em,a,ex,(0,i.jsx)(eX.A,{productType:"flight",offerId:ei?.id||er?.id||"",offer:ei||er?{journey:ei||er}:void 0,offerTotal:ef})]}):(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,children:[(0,i.jsxs)(tf,{direction:"horizontal",horizontalAlign:"center",verticalAlign:"center",gap:2,children:[ed&&(0,i.jsx)(V.A,{size:18,colour:"lux-plus","aria-hidden":!0}),(0,i.jsx)(_.Ay,{as:"div",variant:"heading5",wrap:"pretty",colour:e,children:(0,i.jsx)(m.A,{value:ef,format:"roundedDollar"})})]}),em,a,ex]})}else t=(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:M});let ev=!ep&&!ey||ey&&!eA;if(Q){let e=null;ev||(e=x?(0,i.jsx)($.A,{kind:"primary",nonInteractable:!0,tabIndex:-1,fit:"flex",children:C}):(0,i.jsx)($.A,{kind:"secondary",onClick:()=>w(a),fit:"flex",children:k}));let r=(0,i.jsx)(tg,{as:"div",children:t});return(0,i.jsxs)(tp,{children:[e?(0,i.jsx)(tb,{children:r}):(0,i.jsx)(ty,{children:r}),e&&(0,i.jsx)(tm,{children:e}),(0,i.jsx)(tx,{children:et})]})}return(0,i.jsx)(tA,{type:"button",$disabled:ev,onClick:A,"aria-pressed":x||void 0,"aria-expanded":b,children:t})}),tI=(0,r.memo)(function(e){let{item:t,nights:a,rooms:o,selectedOptionId:l,onOptionSelect:s,fareClassColumns:d,fareColumnCellStyle:c,pageFareClass:g,isHighlighted:f,seatEligiblePassengers:p,luxPlusEnabled:m,loadingLabel:x,noSeatsAvailableLabel:b,rewardCashAddOnLabel:y,dayOffsetText:A,departMelbourneLabel:v,departMaleLabel:w,prefetchedBundleData:j,isExpanded:M,onHighlight:k,onToggleExpand:C,selectFareLabel:P,selectedFareLabel:I,showDetailsLabel:S,hideDetailsLabel:F,fromLabel:L,priceSuffixLabel:R,expandedAnchorRef:E,loginToViewLabel:B,enrollLabel:z,isLoggedIn:O,hasLoyaltyAccount:H,isInfiniteMember:V,onLoginClick:U,onEnrollClick:G,hotelByCabinForRow:_,feederOriginAirportCode:W}=e,$=(0,n.A)(),Y=(0,r.useCallback)(()=>k(t.id),[k,t.id]),J=(0,r.useCallback)(()=>C(t.id),[C,t.id]),q=(0,e_.N)({checkIn:t.checkIn,checkOut:t.checkOut,nights:a,rooms:o,fareClass:"economy",priceMode:"total",charterBundleRoute:ed.yL,feederOriginAirportCode:W,disabled:!!j}),Q=j??q,{getLegResult:X,getJourneysForCabinDate:Z}=(0,T.Y)(),ee=(0,r.useMemo)(()=>{let e=new Set;for(let a of d){let i=Z((0,D.ND)(a),t.checkIn),r=_?.[(0,D.ND)(a)],n=(0,N.jM)({fareClass:a,hotelPrice:r?r.hotelPrice:Q.hotelPrice,hotelMemberPrice:r?r.hotelMemberPrice:Q.hotelMemberPrice,departingFlight:i?.departing,returningFlight:i?.returning,allowIncompleteJourneys:!!t.oneWayBundle,seatEligiblePassengers:p,getLegResult:X}),o=(0,D.uD)(a);o&&void 0===n.cashTotal?e.add(a):o&&!H&&void 0===n.pointsTotal||(o&&void 0===n.pointsTotal?e.add(a):o||void 0!==n.cashTotal&&Q.available||e.add(a))}return e},[d,Z,t.checkIn,t.oneWayBundle,Q,p,X,H,_]),et=t.id===l,ea=M||et||f,ei=ee.size<d.length,er=d.length-1,en=(0,r.useCallback)(e=>{s({id:t.id,departDate:t.departDate,returnDate:t.returnDate,checkIn:t.checkIn,checkOut:t.checkOut,nights:a,price:Q.totalPrice,memberPrice:Q.memberTotalPrice,currency:"",seatsLeft:Q.seatsLeft,available:!0,fareClass:e})},[t,a,Q.totalPrice,Q.memberTotalPrice,Q.seatsLeft,s]),eo=(0,i.jsxs)(u.A,{direction:"horizontal",verticalAlign:"center",gap:8,fullWidth:!0,children:[(0,i.jsxs)(tM,{direction:"vertical",gap:2,grow:!0,children:[(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:t.oneWayBundle?$.formatMessage(e0.u.depart):v}),(0,i.jsx)(h.Ay,{variant:"medium",weight:"bold",wrap:"depart"===t.missingFlightLeg?"word-wrap":"no-wrap",children:"depart"===t.missingFlightLeg?$.formatMessage(e0.u.mustBeBookedSeparately):(0,eH.a6)(t.departDate,eN.L8,$.locale)})]}
1),(0,i.jsx)(tj,{"aria-hidden":!0,children:(0,i.jsx)(K.A,{size:"S"})}),(0,i.jsxs)(tM,{direction:"vertical",gap:2,grow:!0,children:[(0,i.jsx)(h.Ay,{variant:"small",colour:"neutral-three",children:t.oneWayBundle?$.formatMessage(e0.u.return):w}),(0,i.jsxs)(h.Ay,{variant:"medium",weight:"bold",wrap:"return"===t.missingFlightLeg?"word-wrap":"no-wrap",children:["return"===t.missingFlightLeg?$.formatMessage(e0.u.mustBeBookedSeparately):(0,eH.a6)(t.oneWayBundle?t.returnDate:t.checkOut,eN.L8,$.locale),!t.oneWayBundle&&(0,i.jsx)(tk,{children:A})]})]})]});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(tl,{children:[(0,i.jsx)(td,{$isExpanded:ea,children:(0,i.jsx)(tu,{type:"button",onClick:Y,"aria-expanded":M,children:eo})}),d.map((a,r)=>(0,i.jsx)(tc,{"data-testid":`maldives-charter-${a}-fare`,style:c,$isLastFareColumn:r===er,$isExpanded:ea,children:(0,i.jsx)(tD,{departureDate:t.departDate,fareClassColumn:a,checkInDate:t.checkIn,bundleData:Q,cabinHotelEntry:_?.[(0,D.ND)(a)],seatEligiblePassengers:p,priceMode:e.priceMode,luxPlusEnabled:m,isRowHighlighted:ea,isSelected:et&&a===g,isExpanded:M,canShowDetails:ei,onHighlightRow:Y,onToggleExpand:J,onSelectFare:en,loadingLabel:x,noSeatsAvailableLabel:b,selectFareLabel:P,selectedFareLabel:I,showDetailsLabel:S,hideDetailsLabel:F,fromLabel:L,priceSuffixLabel:R,rewardCashAddOnLabel:y,loginToViewLabel:B,enrollLabel:z,isLoggedIn:O,hasLoyaltyAccount:H,isInfiniteMember:V,isOneWayBundle:!!t.oneWayBundle,onLoginClick:U,onEnrollClick:G})},a))]}),M&&(0,i.jsx)(ez,{fareClassColumns:d,fareColumnCellStyle:c,checkIn:t.checkIn,checkOut:t.checkOut,rooms:o,hotelLoyaltyCalculationRequest:Q.hotelLoyaltyCalculationRequest,expandedAnchorRef:E,unavailableColumns:ee,feederOriginAirportCode:W})]})}),tS=(0,r.memo)(function(e){let{currentMonthTripOptions:t,selectedMonth:a,dateRangesByMonth:l,luxPlusEnabled:d,selectedOptionId:g,onOptionSelect:f,nights:p,rooms:x,fareClass:b,rewardSeatsOnly:y=!1,infiniteMemberOnly:A=!1,cabinFilter:v,feederOriginAirportCode:M}=e,k=!!(0,w.GV)(e=>e.auth.account.memberId),C=(0,w.GV)(j.A),P=(0,w.GV)(e=>(0,eU.A)(e)),I=(0,r.useContext)(e$.A),S=(0,r.useCallback)(()=>{I((0,i.jsx)(eY.A,{}))},[I]),E=(0,w.jL)(),z=(0,n.A)(),O=z.formatMessage({id:"T9UHtgcdpQXkdUjc8gMK",defaultMessage:"Activate membership",description:"Primary button text on the loyalty join modal when a user clicks Join Société from the Maldives charter calendar."}),V=(0,r.useCallback)(async()=>{await I((0,i.jsx)(eJ.A,{onAfterClose:()=>{},primaryActionCta:O}))&&E((0,eW.A)({enrolment:"existingUserRegistration"}))},[I,O,E]),{isAvailableForDate:U,isLoading:G}=(0,T.Y)(),[W,Y]=(0,r.useState)(1),[J,K]=(0,r.useState)(),[X,Z]=(0,r.useState)(),er=(0,r.useRef)(void 0),en=(0,F.pg)(x),eo=(0,r.useCallback)(e=>{Z(e)},[]),el=(0,r.useCallback)(e=>{Z(e),K(t=>t===e?void 0:e)},[]),es=(0,R.A)(),ed=(0,eG.A)(L.S.luxRow),ec=(0,r.useMemo)(()=>(0,B.hX)(ed),[ed]),eh=(0,r.useMemo)(()=>{let e=es?(0,B.Vp)(ec):[...ec],t=y?e.filter(D.uD):e;return v?t.filter(e=>(0,D.ND)(e)===v):t},[es,y,v,ec]),eu=l[a],eg=eu?.[0]?.checkIn,ef=eg?c()(eg).startOf("month"):null,ep=ef?(0,eH.a6)(ef.toDate(),eN.Ak,z.locale):a,em=(0,r.useRef)(!1),ex=(0,r.useRef)(a);ex.current!==a&&(em.current=!0,ex.current=a);let eb=(0,r.useMemo)(()=>{if(!em.current&&g){let e=t.find(e=>e.id===g);if(e){let t=c()(e.checkIn).startOf("month");if(ef&&t.isAfter(ef))return t}}return ef},[g,t,ef]),{getLegResult:ey,getJourneysForCabinDate:eA}=(0,T.Y)(),ev=(0,r.useMemo)(()=>t.filter(t=>{if(!eb||!c()(t.checkIn).startOf("month").isSameOrAfter(eb,"month"))return!1;let a=e.itemBundleDataByDate?.[t.checkIn];if(a&&!a.fetching&&!(0,N.ZE)({checkIn:t.checkIn,cashCabins:ec,getJourneysForCabinDate:eA,hotelPriceByCabinAndDate:e.hotelPriceByCabinAndDate,fallbackHotelPrice:a?.hotelPrice,seatEligiblePassengers:en,getLegResult:ey}))return!1;if(y&&C){if(G)return!0;if(!ec.some(e=>{let a=eA(e,t.checkIn),i=[a?.departing?.journeyKey,a?.returning?.journeyKey].filter(e=>!!e);if(!(t.oneWayBundle?i.length>0:2===i.length))return!1;let r=i.map(ey);return!r.some(e=>!e?.available)&&Math.min(...r.map(e=>e?.remainingInventory??0))>=en}))return!1}return(!A||!!e.itemBundleDataByDate?.[t.checkIn]?.fetching||!!(0,N.Iu)({checkIn:t.checkIn,cashCabins:ec,getJourneysForCabinDate:eA,hotelPriceByCabinAndDate:e.hotelPriceByCabinAndDate,seatEligiblePassengers:en,getLegResult:ey}))&&!0}),[t,eb,y,A,e.itemBundleDataByDate,e.hotelPriceByCabinAndDate,G,ey,eA,en,C,ec]),ej=6*W,eM=ev.slice(0,ej),ek=ev.length>ej;(0,r.useEffect)(()=>{Y(1),K(void 0),Z(void 0)},[a,g,l,t,y,U]);let eC=(0,r.useCallback)(()=>{Y(e=>e+1)},[]),eP=(0,r.useRef)(null),eS=(0,r.useRef)(null),eF=(0,et.A)(eP),[eL,eR]=(0,r.useState)(),eT=(0,r.useCallback)(()=>{let e=eP.current;e&&eR(e.scrollWidth>e.clientWidth)},[]);(0,ei.A)(eP,eT);let eE=(0,r.useCallback)(()=>{let e=eP.current,t=eS.current;if(!e||!t)return;let a=(0,ee.iJ)(e);(0,ee.iJ)(t)!==a&&(0,ee.kU)(t,a)},[]),{hasReachedHorizontalStart:eB,hasReachedHorizontalEnd:ez}=(0,ea.A)(eP,eh.length,{initiallyHasReachedHorizontalStart:!0,initiallyHasReachedHorizontalEnd:!0}),e_=eB?"start":ez?"end":"middle",eK=(0,r.useCallback)(e=>!eL||(0,ee.rb)(e_,eF,e),[eL,e_,eF]),eq=(0,r.useCallback)(e=>{let t=eP.current;t&&(0,ee.fE)(t,{left:(0,ee.ot)(eF,e,.6*t.clientWidth),behavior:"smooth"})},[eF]),eQ=(0,r.useCallback)(()=>{eq("left")},[eq]),eX=(0,r.useCallback)(()=>{eq("right")},[eq]),eZ=eh.length,tr=(0,r.useMemo)(()=>0===eZ?{minWidth:eI}:{minWidth:eI,width:`calc((100% - ${eD}) / ${eZ})`},[eZ]),tl=(0,s.D0)(684),td=`calc(${eD} + ${eZ} * ${eI})`,tc=eZ>3,tu=(0,r.useMemo)(()=>tc?td:`max(${td}, ${tl})`,[td,tc,tl]),tg=tc?void 0:tl;
1(0,r.useLayoutEffect)(eE,[eE,eZ]),(0,r.useLayoutEffect)(eT,[eT,eZ]);let tf=z.formatMessage(e1.showMoreDates),tp=z.formatMessage(e1.datesColumnHeader),tm=z.formatMessage(e1.societeRewardsSubline,{loyaltyProgramName:(0,ew.A)()}),tx=z.formatMessage(e1.loading),tb=z.formatMessage(e1.noSeatsAvailable),ty=z.formatMessage({id:"kx9HisAhmWTyXzvb0xem",defaultMessage:"Log in to view",description:"Label shown when a logged-out user has a reward fare class selected; they must log in to see reward pricing."}),tA=z.formatMessage({id:"YoeDFN4oz38auq910Hq0",defaultMessage:"Join {loyaltyProgramName}",description:"Button label shown when a logged-in user without a Société membership views a reward fare cell in the trip options calendar table."},{loyaltyProgramName:(0,ew.A)()}),tv=z.formatMessage(e1.departMelbourne),tw=z.formatMessage(e1.departMale),tj=z.formatNumber(1,{signDisplay:"always"}),tM=z.formatMessage(e1.selectFare),tk=z.formatMessage(e1.selectedFare),tD=z.formatMessage(e1.showDetails),tS=z.formatMessage(e1.hideDetails),tF=z.formatMessage(e1.fromLabel),tL=z.formatMessage(e1.scrollLeftAriaLabel),tR=z.formatMessage(e1.scrollRightAriaLabel),tT=(0,r.useRef)(null),tE=(0,r.useRef)(null),[tB,tz]=(0,r.useState)(null),tO=(0,r.useCallback)(e=>{tE.current=e},[]);(0,r.useLayoutEffect)(()=>{let e=()=>{if(!tE.current||!tT.current)return void tz(null);let e=tT.current.getBoundingClientRect();tz(tE.current.getBoundingClientRect().top-e.top)};if(e(),!tT.current)return;let t=new ResizeObserver(e);return t.observe(tT.current),()=>t.disconnect()},[J]);let tN=z.formatMessage("perPerson"===e.priceMode?e1.perPersonSuffix:e1.totalSuffix),tH=(0,r.useCallback)(e=>(0,i.jsx)(o.A,{id:"peHFjMVc2YKKQdYS2mU5",defaultMessage:"+ {cash}
1",description:"Cash co-pay portion of a Société reward-seat bundle in the Maldives charter calendar, shown under the points total in a smaller line with a leading plus sign before the formatted currency amount.",values:{cash:(0,i.jsx)(m.A,{value:e,format:"roundedDollar"})}}),[]),tV=0===t.length;if((0,r.useEffect)(()=>{if(!tV){er.current=void 0;return}er.current!==a&&(er.current=a,(0,eO.trackClientEvent)({subject:"no_departures_available_selected_month",action:"impression",type:"nonInteraction",category:"maldives_direct_calendar"}))},[tV,a]),tV)return(0,i.jsxs)(tP,{direction:"vertical",horizontalAlign:"center",gap:8,children:[(0,i.jsx)(_.Ay,{variant:"heading5",align:"center",children:z.formatMessage(e1.emptyHeading,{selectedMonth:ep})}),(0,i.jsx)(h.Ay,{variant:"medium",align:"center",colour:"neutral-three",children:z.formatMessage(e1.emptyBody)})]});if(y&&0===ev.length)return(0,i.jsxs)(tP,{direction:"vertical",horizontalAlign:"center",gap:8,children:[(0,i.jsx)(_.Ay,{variant:"heading5",align:"center",children:z.formatMessage(e1.rewardOnlyEmptyHeading,{selectedMonth:ep})}),(0,i.jsx)(h.Ay,{variant:"medium",align:"center",colour:"neutral-three",children:z.formatMessage(e1.rewardOnlyEmptyBody)})]});if(A&&0===ev.length)return(0,i.jsxs)(tP,{direction:"vertical",horizontalAlign:"center",gap:8,children:[(0,i.jsx)(_.Ay,{variant:"heading5",align:"center",children:z.formatMessage(e1.infiniteOnlyEmptyHeading,{selectedMonth:ep})}),(0,i.jsx)(h.Ay,{variant:"medium",align:"center",colour:"neutral-three",children:z.formatMessage(e1.infiniteOnlyEmptyBody)})]});let tU=()=>(0,i.jsxs)("tr",{children:[(0,i.jsx)(tn,{scope:"col",children:(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",children:tp})}),eh.map((e,t)=>{let a,r=(0,D.uD)(e),n=(0,eV.BZ)(z,e);return a=r?(0,i.jsxs)(u.A,{direction:"vertical",horizontalAlign:"center",gap:2,children:[(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",children:n}),(0,i.jsxs)(u.A,{direction:"horizontal",verticalAlign:"center",gap:8,children:[(0,i.jsx)(H.A,{size:20,colour:"highlight-primary-dark"}),(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",colour:"highlight-primary-dark",children:tm})]})]}):(0,i.jsx)(h.Ay,{variant:"small",weight:"bold",align:"center",children:n}),(0,i.jsx)(to,{scope:"col",style:tr,$isLastFareColumn:t===eh.length-1,children:a},e)})]});return(0,i.jsxs)(e2,{ref:tT,children:[(0,i.jsxs)(e7,{children:[(0,i.jsx)(e5,{$side:"start",$hidden:eK("left"),children:(0,i.jsx)(e4,{onClick:eQ,"aria-label":tL,children:(0,i.jsx)(q.A,{rtlFlip:!1})})}),(0,i.jsx)(e5,{$side:"end",$hidden:eK("right"),children:(0,i.jsx)(e4,{onClick:eX,"aria-label":tR,children:(0,i.jsx)(Q.A,{rtlFlip:!1})})})]}),null!==tB&&(0,i.jsxs)(e8,{style:{top:tB},children:[(0,i.jsx)(e5,{$side:"start",$hidden:eK("left"),children:(0,i.jsx)(e4,{onClick:eQ,"aria-label":tL,children:(0,i.jsx)(q.A,{rtlFlip:!1})})}),(0,i.jsx)(e5,{$side:"end",$hidden:eK("right"),children:(0,i.jsx)(e4,{onClick:eX,"aria-label":tR,children:(0,i.jsx)(Q.A,{rtlFlip:!1})})})]}),(0,i.jsx)(e9,{"aria-hidden":!0,children:(0,i.jsx)(e3,{ref:eS,children:(0,i.jsx)(ta,{$isPainted:!0,style:{minWidth:tu,maxWidth:tg,marginInline:tg?"auto":void 0},children:(0,i.jsxs)(te,{children:[(0,i.jsxs)("colgroup",{children:[(0,i.jsx)("col",{style:{width:eD}}),eh.map(e=>(0,i.jsx)("col",{style:tr},e))]}),(0,i.jsx)(ti,{children:tU()})]})})})}),(0,i.jsxs)(e6,{ref:eP,onScroll:eE,children:[(0,i.jsx)(ta,{style:{minWidth:tu,maxWidth:tg,marginInline:tg?"auto":void 0},children:(0,i.jsxs)(te,{children:[(0,i.jsxs)("colgroup",{children:[(0,i.jsx)("col",{style:{width:eD}}),eh.map(e=>(0,i.jsx)("col",{style:tr},e))]}),(0,i.jsx)(ti,{children:tU()})]})}),(0,i.jsx)(te,{style:{minWidth:tu,maxWidth:tg,marginInline:tg?"auto":void 0},children:(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{"aria-hidden":!0,children:(0,i.jsx)(th,{colSpan:1+eZ})})})}),eM.map((t,a)=>{let n=function(e,t){if(!e)return;let a={};for(let i of B.uc){let r=e[i]?.[t];r&&(a[i]=r)}return a}(e.hotelPriceByCabinAndDate,t.checkIn),o=J===t.id,l=X===t.id,s=o||l||t.id===g;return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)(tt,{className:s?"active":void 0,style:{minWidth:tu,maxWidth:tg,marginInline:tg?"auto":void 0},children:(0,i.jsxs)(te,{children:[(0,i.jsxs)("colgroup",{children:[(0,i.jsx)("col",{style:{width:eD}}),eh.map(e=>(0,i.jsx)("col",{style:tr},e))]}),(0,i.jsx)(ts,{children:(0,i.jsx)(tI,{item:t,nights:p,rooms:x,selectedOptionId:g,isHighlighted:l,onOptionSelect:f,fareClassColumns:eh,fareColumnCellStyle:tr,pageFareClass:b,seatEligiblePassengers:en,priceMode:e.priceMode,luxPlusEnabled:d,loadingLabel:tx,rewardCashAddOnLabel:tH,loginToViewLabel:ty,enrollLabel:tA,isLoggedIn:k,hasLoyaltyAccount:C,isInfiniteMember:P,onLoginClick:S,onEnrollClick:V,departMelbourneLabel:t.oneWayBundle?z.formatMessage(e0.u.depart):tv,departMaleLabel:t.oneWayBundle?z.formatMessage(e0.u.return):tw,noSeatsAvailableLabel:tb,dayOffsetText:tj,prefetchedBundleData:e.itemBundleDataByDate?.[t.checkIn],hotelByCabinForRow:n,isExpanded:o,onHighlight:eo,onToggleExpand:el,selectFareLabel:tM,selectedFareLabel:tk,showDetail
1sLabel:tD,hideDetailsLabel:tS,fromLabel:tF,priceSuffixLabel:tN,expandedAnchorRef:o?tO:void 0,feederOriginAirportCode:M})})]})}),a<eM.length-1&&(0,i.jsx)(te,{style:{minWidth:tu,maxWidth:tg,marginInline:tg?"auto":void 0},children:(0,i.jsx)("tbody",{children:(0,i.jsx)("tr",{"aria-hidden":!0,children:(0,i.jsx)(th,{colSpan:1+eZ})})})})]},t.id)})]}),ek&&(0,i.jsx)(tC,{children:(0,i.jsx)($.A,{variant:"default",kind:"secondary",onClick:eC,children:tf})})]})});var tF=a(416801),tL=a(153702),tR=a(616735),tT=a(56351),tE=a(884965);let tB=(0,l.Ay)(g.A).withConfig({componentId:"sc-e8ec0a68-0"})(["width:100%;min-width:0;"]),tz=(0,l.Ay)(b.A).withConfig({componentId:"sc-e8ec0a68-1"})(["position:relative;padding:"," ",";text-align:center;border:1px solid ",";min-height:",";min-width:",";background-color:",";transition:border-color 0.2s,background-color 0.2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:",";&.hasIconRow{justify-content:flex-start;}&:focus-visible{","}","{&:hover{background-color:",";}}&.selected{border:1px solid ",";}"],(0,s.D0)(8),(0,s.D0)(12),e=>e.theme.palette.neutral.surface.lightForeground,(0,s.D0)(110),(0,s.D0)(104),e=>e.theme.palette.neutral.surface.normalBackground,(0,s.D0)(2),y.A,A.R,e=>
1e.theme.palette.neutral.surface.lightBackground,e=>e.theme.palette.neutral.surface.darkForeground),tO=(0,l.Ay)(u.A).withConfig({componentId:"sc-e8ec0a68-2"})(["margin-top:auto;padding-top:",";border-top:1px solid ",";width:100%;"],(0,s.D0)(6),e=>e.theme.palette.neutral.surface.lightForeground),tN=(0,l.Ay)(f.A).withConfig({componentId:"sc-e8ec0a68-3"})(["margin-top:",";"],(0,s.D0)(16)),tH=(0,l.Ay)(u.A).withConfig({componentId:"sc-e8ec0a68-4"})(["width:100%;margin-top:",";margin-inline:auto;"],(0,s.D0)(16)),tV=(0,l.Ay)(u.A).withConfig({componentId:"sc-e8ec0a68-5"})(["width:100%;margin-top:",";"],(0,s.D0)(20)),tU=(0,l.Ay)(g.A).withConfig({componentId:"sc-e8ec0a68-6"})(["background-color:",";padding:"," "," ",";margin:0 "," ",";"],e=>e.theme.palette.neutral.surface.lightBackground,(0,s.D0)(20),(0,s.D0)(20),(0,s.D0)(8),(0,s.D0)(-24),(0,s.D0)(-24)),tG=l.Ay.div.withConfig({componentId:"sc-e8ec0a68-7"})(["padding:",";display:flex;justify-content:center;"],(0,s.D0)(20)),t_=function(e){let{onDateSelect:t,selectedOptionId:a,nights:l=5,occupancies:d,fareClass:g,priceMode:f,luxPlusEnabled:b,dateRangesByMonth:y,selectedMonth:A,onMonthChange:G,mode:_,itemBundleDataByDate:W,hotelPriceByCabinAndDate:$,rewardSeatsOnly:Y=!1,infiniteMemberOnly:J=!1,onInfiniteMemberOnlyChange:K,feederOriginAirportCode:q,onPriceModeChange:Q}=e,X=(0,n.A)(),Z=!!(b&&I.A.BRAND===S.Zp),ee=(0,w.GV)(e=>e.offer.offerLists),et=(0,w.GV)(e=>e.offer.offers),ea=(0,w.GV)(e=>e.offer.searchResultMetadata.offerMetaData),ei=(0,r.useMemo)(()=>(0,P.yR)(d),[d]),er=(0,F.pg)(d??[{adults:2,children:0}]),en=d??[{adults:2,children:0}],eo=(0,eG.A)(L.S.luxRow),el=(0,r.useMemo)(()=>(0,B.hX)(eo),[eo]),{journeysByCabinDate:ed,rewardIndicator:ec,charterRewardContextValue:eh}=(0,E.S)({occupancies:en,dateRangesByMonth:y,fareClass:g,seatEligiblePassengers:er,feederOriginAirportCode:q}),eu=(0,R.A)(),eg=(0,w.GV)(e=>e.auth.account.memberId),ef=(0,w.GV)(j.A),ep=(0,w.GV)(eU.A),em=(0,r.useCallback)(e=>(0,N.Iu)({checkIn:e,cashCabins:el,getJourneysForCabinDate:eh.getJourneysForCabinDate,hotelPriceByCabinAndDate:$,seatEligiblePassengers:er,getLegResult:eh.getLegResult}),[el,eh,$,er]),ex=(0,O.Y)({infiniteMemberOnly:J,dateRangesByMonth:y,itemBundleDataByDate:W,isDateInfiniteEligible:em}),eb=e.cabinFilter??null,ey=eb??g,eA=Y&&(!eg||!ef),{rewardPreviewByMonth:ev,monthRewardSeals:ew,monthRewardPricing:ej,monthOneWayPromos:eM}=(0,z.e)({dateRangesByMonth:ex,journeysByCabinDate:ed,rewardIndicator:ec,cabinFilter:eb,hotelPriceByCabinAndDate:$,itemBundleDataByDate:W,luxPlusEnabled:Z,seatEligiblePassengers:er,rewardSeatsOnly:Y,rewardLockedForLogin:eA,isLoggedOut:!eg,cashCabins:el}),ek=(0,r.useMemo)(()=>{let e=[];return Object.entries(ex).forEach(([t,a])=>{if(0===a.length)return;let i=0,r=!0,n=!1;Y&&!eA&&ec.isLoading&&(r=!1),a.forEach(({checkIn:e,checkOut:t})=>{let a=el.some(t=>{let a=ed.get(t)?.get(e);return!!(a?.departing?.promotionPrice||a?.returning?.promotionPrice)});if(n=n||a,W&&("offer"===_||!eb)){let t=W[e];t?.fetching&&(r=!1);let a="total"===f?Z&&t?.memberTotalPrice||t?.totalPrice:Z&&t?.memberPricePerPerson||t?.pricePerPerson;t?.available&&a&&a>0&&(0===i||a<i)&&(i=a)}else if("search"===_||eb){let a=ed.get(ey)?.get(e),n=(a?.departing?.price?.all?.totalFare??0)+(a?.returning?.price?.all?.totalFare??0)+((a?.departing?.feederEstimatedPrice??0)+(a?.returning?.feederEstimatedPrice??0)),o=$?.[ey]?.[e],s=0;if(o)s=Z?o.hotelMemberPrice||o.hotelPrice||0:o.hotelPrice||0;else if(!eb){let a=(0,k.ke)({destinationId:x.Ay.Maldives.id,checkIn:e,checkOut:t,rooms:d||[{adults:2,children:0}],limit:20}),i=(0,M.E)({...a,isLuxPlusMember:Z||void 0},Z),n=ee[i],o=ea[i],c=n?.offerIds||[];s=(0,F.NH)({offerIds:c,allOffers:et,offerMetaData:o,rooms:d||[{adults:2,children:0}],nights:l,luxPlusEnabled:Z}),n&&!n.fetching&&o||(r=!1)}let c=n>0,h=s>0;if(c||eb||(r=!1),c&&h){let e=s+n,t="perPerson"===f&&ei>0?e/ei:e;t>0&&(0===i||t<i)&&(i=t)}}});let o=a[0]?.checkIn,s=c()(o);e.push({name:t,price:i||0,rewardPoints:ej[t]?.points,rewardCash:ej[t]?.cash,fetching:!r,monthLabel:(0,eH.a6)(s.toDate(),eN.Ak,X.locale),year:s.year(),unavailable:r&&!i,hasPromotion:n})}),(0,es.Il)(e,e=>e.unavailable)},[X,ex,l,Z,ei,ee,et,ea,d,f,_,W,eb,ey,ed,$,Y,eA,ec.isLoading,el,ej]),eC=(0,r.useMemo)(()=>{let e=[];
1return Object.entries(y).forEach(([t,a])=>{0!==a.length&&a.forEach(({departureDate:a,returnDate:i,checkIn:r,checkOut:n,oneWayBundle:o,missingFlightLeg:s})=>{e.push({id:`${r}-${l}n`,checkIn:r,checkOut:n,departDate:a,returnDate:i,month:t,oneWayBundle:o,missingFlightLeg:s})})}),e},[y,l]),eP=(0,r.useCallback)(e=>{G(e)},[G]),eS=(0,r.useCallback)(e=>{t(e)},[t]),eF=(0,r.useMemo)(()=>(d??[{adults:2,children:0}]).reduce((e,t)=>e+(t.adults??0),0),[d]),eL=(0,tE.y)(X,l,f,eF),eR=X.formatMessage({id:"-TfAGyLuUwWENqOtJZ-E",defaultMessage:"Rewards",description:"Rewards label shown below the divider on Maldives charter month filter cards."}),eT=(0,r.useMemo)(()=>(eu?(0,B.Vp)(el):[...el]).filter(t=>(!Y||!!(0,D.uD)(t))&&(!e.cabinFilter||(0,D.ND)(t)===e.cabinFilter)),[eu,Y,e.cabinFilter,el]).length,eE=eT>3?(0,s.D0)(1440):`max(calc(${eD} + ${eT} * ${eI}), ${(0,s.D0)(684)})`,eB=ek.some(e=>!e.fetching&&(e.hasPromotion||eu&&((ew[e.name]?.showRewardSeal??!1)||!ef))),ez=(0,i.jsx)(tN,{gap:12,alignment:"center",snap:"start",gutterSize:0,gutterStyle:"overflow",children:ek.map(e=>{let t=Z?"lux-plus":void 0,a=ew[e.name]?.showRewardSeal??!1,r=!!eM[e.name]&&!e.fetching,n=(r||Z&&e.hasPromotion)&&!e.fetching,l=Y&&null!=e.rewardPoints&&null!=e.rewardCash;return(0,i.jsxs)(tz,{onClick:()=>eP(e.name),className:(0,v.A)({selected:A===e.name,hasIconRow:eB}),children:[(0,i.jsx)(h.Ay,{variant:"small",colour:"light-foreground-alt",children:e.year}),(0,i.jsx)(h.Ay,{variant:"large",children:e.monthLabel}),e.fetching&&(0,i.jsx)(p.Ay,{variant:"small",children:X.formatMessage({id:"ahqwZJxNJlNqe4lst3xR",defaultMessage:"Loading...",description:"Loading state text for charter flight month price in the flights section"})}),!e.fetching&&l&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(p.Ay,{variant:"medium",weight:"bold",colour:t,children:[r&&(0,i.jsx)(V.A,{size:"XS",colour:"urgency","aria-hidden":!0}),(0,i.jsx)(U.A,{points:e.rewardPoints,abbreviated:!0})]}),(0,i.jsx)(p.Ay,{variant:"small",colour:t??"neutral-two",children:(0,i.jsx)(o.A,{id:"nJ9gIfPenFxdQlMiiP0K",defaultMessage:"+ {cash}",description:"Cash co-pay add-on shown below the points amount on a month tile when Société Rewards is active",values:{cash:(0,i.jsx)(m.A,{value:e.rewardCash,format:"roundedDollar"})}})})]}),!e.fetching&&eA&&ev[e.name]&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(p.Ay,{variant:"medium",weight:"bold",colour:t,children:(0,i.jsx)(U.A,{points:ev[e.name].points,abbreviated:!0})}),(0,i.jsx)(p.Ay,{variant:"small",colour:t??"neutral-two",children:(0,i.jsx)(o.A,{id:"nJ9gIfPenFxdQlMiiP0K",defaultMessage:"+ {cash}",description:"Cash co-pay add-on shown below the points amount on a month tile when Société Rewards is active",values:{cash:(0,i.jsx)(m.A,{value:ev[e.name].cash,format:"roundedDollar"})}})})]}),!e.fetching&&Y&&!eA&&!l&&(0,i.jsx)(p.Ay,{variant:"small",colour:"neutral-three",children:X.formatMessage({id:"LZPm-sfDQqoDODKnM-7E",defaultMessage:"Sold out!",description:"Text shown on month tile when Société Rewards is on but no reward seats exist for that month"})}),!e.fetching&&!Y&&(0,i.jsxs)(u.A,{direction:"horizontal",horizontalAlign:"center",verticalAlign:"center",gap:2,children:[n&&(0,i.jsx)(V.A,{size:"XS",colour:r?"urgency":"lux-plus","aria-hidden":!0}),(0,i.jsxs)(h.Ay,{variant:"large",weight:"bold",colour:t,children:[e.price>0&&(0,i.jsx)(m.A,{value:e.price,format:"roundedDollar"}),!e.price&&(0,i.jsx)(p.Ay,{variant:"small",children:X.formatMessage({id:"OlOfqYtNbU_4z3O0cdFc",defaultMessage:"Unavailable",description:"Text shown when no charter flights available for month"})})]})]}),eu&&(a||!ef)&&!e.fetching&&(0,i.jsxs)(tO,{direction:"horizontal",horizontalAlign:"center",verticalAlign:"center",gap:4,children:[(0,i.jsx)(H.A,{size:20,colour:"highlight-primary-dark","aria-hidden":!0}),(0,i.jsx)(p.Ay,{variant:"small",weight:"bold",colour:"highlight-primary-dark",children:eR})]})]},e.name)})});return(0,i.jsx)(T.D.Provider,{value:eh,children:(0,i.jsx)(tU,{gap:4,children:(0,i.jsxs)(tB,{gap:0,children:[(0,i.jsxs)("div",{children:[ez,(0,i.jsxs)(tH,{direction:"horizontal",verticalAlign:"center",horizontalAlign:"start",ga
1p:8,style:{maxWidth:eE},children:[Q&&(0,i.jsx)(tT.A,{value:f,onChange:Q,dropdownPlacement:"bottom-start",dropdownPortaled:!0}),(0,i.jsx)(h.Ay,{variant:"medium",colour:"neutral-two",children:eL}),ep&&K&&(0,i.jsx)(tF.A,{checked:J,onChange:K})]})]}),(0,i.jsxs)(tV,{direction:"vertical",gap:0,children:[(0,i.jsx)(tS,{currentMonthTripOptions:eC,selectedMonth:A,dateRangesByMonth:y,luxPlusEnabled:Z,selectedOptionId:a,onOptionSelect:eS,nights:l,rooms:d||[{adults:2,children:0}],fareClass:e.selectedFareClass??g,priceMode:f,itemBundleDataByDate:W,hotelPriceByCabinAndDate:$,rewardSeatsOnly:Y,infiniteMemberOnly:J,feederOriginAirportCode:q,cabinFilter:e.cabinFilter}),(0,i.jsx)(tG,{children:(0,i.jsx)(h.Ay,{variant:"medium",colour:"light-foreground-alt",children:(0,i.jsx)(o.A,{id:"h0D72ZYbNrwG1DVf4SJL",defaultMessage:"<strong>Looking for specific dates?</strong> <link>Search all Maldives offers</link>",description:"Link at bottom of charter flight calendar to search all Maldives offers",values:{strong:e=>(0,i.jsx)("strong",{children:e}),link:e=>(0,i.jsx)(tL.A,{weight:"regular",target:"_blank",to:`/search?${(0,tR.u6)({originalSearch:"",destinationName:C.hr,destinationId:x.Ay.Maldives.id,adults:2,children:"none"})}`,children:e})}})})})]})]})})})}},715465(e,t,a){a.d(t,{A:()=>td}),a(218111),a(22489),a(607588),a(944114),a(720116),a(161701);var i=a(474848),r=a(296540),n=a(665673),o=a(722834),l=a(38267),s=a(731357),d=a(829403),c=a(795093),h=a.n(c),u=a(161648),g=a(153702),f=a(897729),p=a(78272),m=a(73659),x=a(305229),b=a(919427),y=a(452643),A=a(616735),v=a(299759),w=a(194617),j=a(634164);a(18237);var M=a(792435),k=a(842930),C=a(669068),P=a(785103);let D=function(e){let{altPrice:t,saleUnit:a,signDisplay:r,className:o,...l}=e,s=(0,n.A)(),d=(0,P.b8)(s,a,{withLeadingSlash:!0}),c=s.formatMessage({id:"LBSpbDtOPeY_frIGIka0",defaultMessage:"Was",description:"Caption label shown before the original non-FnF price in Maldives charter calendar pricing"});return(0,i.jsxs)(f.A,{...l,className:o,direction:"horizontal",verticalAlign:"center",gap:4,children:[(0,i.jsx)(m.Ay,{variant:"medium",colour:"light-foreground-alt",weight:"normal",children:c}),(0,i.jsx)(m.Ay,{variant:"medium",colour:"light-foreground-alt",weight:"normal",strikeThrough:!0,children:(0,i.jsx)(x.A,{signDisplay:r,value:t,format:"roundedDollar"})}),!!d&&(0,i.jsx)(m.Ay,{variant:"medium",colour:"light-foreground-alt",weight:"normal",strikeThrough:!0,children:d})]})};var I=a(314953),S=a(670895),F=a(126917),L=a(610377),R=a(982771),T=a(304234),E=a(476756),B=a(109313),z=a(751421);let O=function({bundleData:e,luxPlusEnabled:t,priceMode:a}){let i=(0,n.A)();return(0,r.useMemo)(()=>{let r="perPerson"===a?e.pricePerPerson:e.totalPrice,n="perPerson"===a?e.memberPricePerPerson:e.memberTotalPrice,o=t&&!!n,l=(0,B.QU)(e,{useMemberPrice:t,priceMode:a}),s=(0,B.vw)(e,{useMemberPrice:t,priceMode:a}),d=!!(e.isFnfPriceApplied&&s&&void 0!==l&&s>l),c=(0,z.Yj)(e.seatsLeft,e.roomsLeft),h=(0,z.UB)(i,e.seatsLeft,e.roomsLeft),u=(0,z.ni)(i,e.promotionSeatsLeft),g=!!e.isPromotionPriceApplied;return{regularPrice:r,memberPrice:n,isMemberPrice:o,displayPrice:l,wasPrice:s,shouldShowWasPrice:d,inventoryMessageType:c,inventoryMessage:"bundle-sold-out"!==c&&"hotel-sold-out"!==c&&g&&""!==u?u:h,isPromotionPriceApplied:g,fnfInventoryMessage:(0,z.cd)(i,e.fnfSeatsLeft)}},[e,i,t,a])};var N=a(502521),H=a(236567),V=a(750142),U=a(329404),G=a(49864),_=a(449915),W=a(734022),$=a(917164),Y=a(255616),J=a(791891);let K=function(){let e=(0,n.A)().formatMessage({id:"fCPKJ957f06YEieNFOd-",defaultMessage:"Reward seats available",description:"Maldives charter calendar date row: Classic Rewards seal with short copy when reward-seat flights have inventory for the departure and return while a cash fare is selected; stacks under the seats-left warning when both show, with Kids fly free beside the block when present."});return(0,i.jsxs)(f.A,{direction:"horizontal",verticalAlign:"center",gap:4,children:[(0,i.jsx)(J.A,{size:"XS",colour:"highlight-primary-dark","aria-hidden":!0}),(0,i.jsx)(u.Ay,{variant:"small",weight:"bold",colour:"highlight-primary-dark",children:e})]})};var q=a(423946),Q=a(638772),X=a(582544),Z=a(838716),ee=a(117554),et=a(825060),ea=a(841258),ei=a(983741),er=a(283650),en=a(743546),eo=a(283289),el=a(61232),es=a(940367),ed=a(148047),ec=a(729738),eh=a(944907),eu=a(205944),eg=a(494629);let ef=l.Ay.div.withConfig({componentId:"sc-a9a273e7-0"})(["position:relative;display:flex;flex-direction:column;height:100%;align-self:stretch;"]),ep=(0,l.Ay)(ei.A).withConfig({componentId:"sc-a9a273e7-1"})(["display:flex;flex-direction:column;flex:1 1 auto;gap:",";min-height:0;min-width:",";max-width:",";border:1px solid ",";"],(0,s.D0)(12),(0,s.D0)(200),(0,s.D0)(240),e=>e.$selected?e.theme.palette.neutral.default.one:e.theme.palette.neutral.default.five),em=l.Ay.div.withConfig({componentId:"sc-a9a273e7-2"})(["flex:0 0 auto;display:flex;flex-direction:column;"]),ex=l.Ay.div.withConfig({componentId:"sc-a9a273e7-3"})(["flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:",";"],(0,s.D0)(2)),eb=l.Ay.div.withConfig({componentId:"sc-a9a273e7-4"})(["flex:1 1 auto;min-height:0;"]),ey=l.Ay.div.withConfig({componentId:"sc-a9a273e7-5"})(["display:flex;flex-direction:column;flex-shrink:0;"]),eA=l.Ay.div.withConfig({componentId:"sc-a9a273e7-6"})(["position:relative;z-index:1;"]),ev=function(e){let t,{optionFareClass:a,checkIn:l,checkOut:s,nights:d,rooms:c,priceMode:h,luxPlusEnabled:g,oneWayBundle:y,isSelectedFare:A,tripOption:v,onPickFare:w,onUnselectSelectedFare:j,fareDetailsExpanded:M,extraFeaturesExpanded:k,onToggleFareDetails:C,onToggleExtraFeatures:P,hotelPriceByCabinAndDate:D}=e,S=(0,n.A)(),F=(0,r.useRef)(null),B=(0,r.useRef)(null),[O,H]=(0,r.useState)(null),G=(0,r.useCallback)(()=>{let e=F.current;if(!e)return;let t=Math.ceil(e.getBoundingClientRect().height);B.current=t,H(t)},[]);(0,es.A)(F,(0,r.useCallback)(()=>{M||G()},[M,G])),(0,r.useLayoutEffect)(()=>{M||G()},[M,G]),(0,r.useLayoutEffect)(()=>
1{if(!M||null!=O)return;let e=B.current;null!=e&&H(e)},[M,O]);let $=(0,L.ND)(a),Y=(0,T.N)({checkIn:l,checkOut:s,nights:d,rooms:c,fareClass:$,priceMode:h,charterBundleRoute:el.yL}),K=D?.[$]?.[l],q=K?.hotelPrice??Y.hotelPrice,Q=K?.hotelMemberPrice??Y.hotelMemberPrice,X=(0,z.pg)(c),ei=(0,L.uD)(a),ev=g&&!ei&&(0,W.$)({hasReturnFareFree:Y.hasReturnFareFree,isEconomy:"economy"===$}),ew=(0,V.GV)(e=>e.auth.account.memberId),ej=(0,V.GV)(U.A),eM=ei&&!ew,ek=ei&&!!ew&&!ej,eC=eM||ek,{getLegResult:eP,getJourneysForCabinDate:eD}=(0,E.Y)(),eI=(0,r.useMemo)(()=>{if(!ei)return;let e=eD((0,L.ND)(a),l);return(0,N.jM)({fareClass:a,hotelPrice:q,hotelMemberPrice:Q,departingFlight:e?.departing,returningFlight:e?.returning,allowIncompleteJourneys:!!y,seatEligiblePassengers:X,getLegResult:eP})},[ei,a,eD,l,q,Q,y,X,eP]),eS=(0,r.useMemo)(()=>{if(ei)return;let e=eD((0,L.ND)(a),l);return(0,N.jM)({fareClass:a,hotelPrice:q,hotelMemberPrice:Q,departingFlight:e?.departing,returningFlight:e?.returning,allowIncompleteJourneys:!!y,seatEligiblePassengers:X,getLegResult:eP})},[ei,a,eD,l,q,Q,y,X,eP]),eF=(0,r.useMemo)(()=>K&&null!=Y.flightPrice?(g?K.hotelMemberPrice||K.hotelPrice||0:K.hotelPrice||0)+Y.flightPrice:g&&Y.memberTotalPrice?Y.memberTotalPrice:Y.totalPrice,[K,Y.flightPrice,Y.memberTotalPrice,Y.totalPrice,g]),eL=(0,r.useMemo)(()=>{let e=Math.max(1,X);return K&&null!=Y.flightPrice?((g?K.hotelMemberPrice||K.hotelPrice||0:K.hotelPrice||0)+Y.flightPrice)/e:g&&Y.memberPricePerPerson?Y.memberPricePerPerson:Y.pricePerPerson},[K,Y.flightPrice,Y.memberPricePerPerson,Y.pricePerPerson,g,X]),eR="perPerson"===h?eL:eF,eT=(0,r.useContext)(et.A),eE=(0,ed.BZ)(S,ei?(0,L.ND)(a):a),eB=S.formatMessage({id:"ARQye1XQ7EdWBVnFNd_f",defaultMessage:"{loyaltyProgramName} Rewards",description:"Loyalty program rewards label shown below cabin name on Maldives charter fare carousel cards"},{loyaltyProgramName:(0,ec.A)()}),ez=S.formatMessage({id:"dTkIumM2bXfSy6kUf7f9",defaultMessage:"Select fare",description:"Button on a Maldives charter date fare carousel card to choose that fare type and price"}),eO=S.formatMessage({id:"acuxSK1zMav7-Sn9mh4K",defaultMessage:"Selected",description:"Button label when a charter flight date is currently selected"}),eN=S.formatMessage({id:"zp0O9z2ci6Dk9LPEDw0u",defaultMessage:"Log in to view",description:"Message shown on reward fare cards when the user is not logged in"}),eH=S.formatMessage({id:"u1AVi50L43eqeNElJ9DP",defaultMessage:"Join {loyaltyProgramName}",description:"Button label on the mobile fare carousel card when a logged-in user without Société membership views a reward fare."},{loyaltyProgramName:(0,ec.A)()}),eV=S.formatMessage({id:"8scoatopYk5NhrisNiaf",defaultMessage:"Clear trip dates and turn off this fare selection",description:'Accessibility label for the primary "Selected" button on an expanded Maldives charter fare carousel card; clicking removes the chosen departure dates so the customer can pick dates again.'}),eU=S.formatMessage({id:"C6m8UbIIgveZbgrQtJ6T",defaultMessage:"Loading...",description:"Loading state text while charter flight prices are being fetched"}),eG=S.formatMessage({id:"ew2ARy7ro3tFSM4inpHN",defaultMessage:"/person",description:"Per person pricing unit suffix in Maldives calendar"}),e_=S.formatMessage({id:"j--PuUYLTgWUxAxROh0Z",defaultMessage:"total",description:"Total pricing unit suffix in the Maldives calendar"}),eW=S.formatMessage({id:"LYZ7jXNWiO9WbF074c5M",defaultMessage:"From",description:"Pricing label prefix before bundle price on Maldives charter fare carousel cards"}),e$=S.formatMessage({id:"lbS33CL-vQm3bmd7lueV",defaultMessage:"Sold out!",description:"Short label when a fare column has no reward-seat inventory or no seats for that cabin"}),eY=S.formatMessage({id:"ILN5aY-U2C28L_ZHL46q",defaultMessage:"View details",description:"Text link on a Maldives charter calendar fare card that expands baggage and cabin feature rows for every cabin in that date row so the customer can compare inclusions side by side."}),eJ=S.formatMessage({id:"dajZ_ENAf-R1kN8fx16N",defaultMessage:"Hide details",description:"Text link on a Maldives charter calendar fare card that collapses the exp
1anded baggage, cabin feature, and comparison section for every cabin in that date row."}),eK=S.formatMessage({id:"uTNi-Of34XV1T7_DrVtl",defaultMessage:"Baggage",description:"Heading above the per-cabin baggage allowance list inside the expanded mobile fare card."}),eq=S.formatMessage({id:"ln37QEWNdzClbPPS4-em",defaultMessage:"Seats, meals and more",description:"Heading above the per-cabin seats / meals / extras list inside the expanded mobile fare card."}),eQ=S.formatMessage({id:"apVzhMG-RTy8a3CPNKym",defaultMessage:"Show more",description:"Toggle inside the expanded mobile fare card that reveals the remaining cabin inclusions beyond the first couple shown by default."}),eX=S.formatMessage({id:"aRvIRv0RQmXlb7F1EqHi",defaultMessage:"Show less",description:"Toggle inside the expanded mobile fare card that collapses the cabin inclusions back down to the first couple of rows."}),eZ=(0,eg.I)($,"inclusions"),e0=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),C()},[C]),e1=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),P()},[P]),e2=!!(l?.trim()&&s?.trim())&&!Y.fetching,e6=M?eJ:eY,e4=(y||Y.available)&&!Y.fetching&&(ei?eI?.pointsTotal!=null&&null!=eI.cashTotal:eS?.cashTotal!=null),e7=(0,r.useCallback)(()=>{if(!e4)return;let e="perPerson"===h?Y.pricePerPerson:Y.totalPrice,t="perPerson"===h?Y.memberPricePerPerson:Y.memberTotalPrice;ei&&eI?.cashTotal!=null&&(e=eI.cashTotal,t=void 0),w(a,{...v,price:e,memberPrice:t??void 0,available:e4,seatsLeft:Y.seatsLeft})},[e4,Y.memberPricePerPerson,Y.memberTotalPrice,Y.pricePerPerson,Y.seatsLeft,Y.totalPrice,ei,w,a,h,eI,v]),e5="perPerson"===h?eG:e_,e8=ei?(0,i.jsxs)(f.A,{direction:"vertical",gap:4,children:[(0,i.jsx)(b.Ay,{variant:"heading6",children:eE}),(0,i.jsxs)(f.A,{direction:"horizontal",gap:4,verticalAlign:"center",children:[(0,i.jsx)(J.A,{size:"XS",colour:"highlight-primary-dark"}),(0,i.jsx)(m.Ay,{variant:"medium",weight:"bold",colour:"highlight-primary-dark",children:eB})]})]}):(0,i.jsx)(b.Ay,{variant:"heading6",children:eE});A?t=j?(0,i.jsx)(I.A,{kind:"primary",fit:"flex",onClick:j,"aria-label":eV,children:eO}):(0,i.jsx)(I.A,{kind:"primary",nonInteractable:!0,tabIndex:-1,fit:"flex",children:eO}):eM?t=(0,i.jsx)(I.A,{kind:"secondary",onClick:()=>eT((0,i.jsx)(ea.A,{})),fit:"flex",children:eN}):ek?t=(0,i.jsx)(I.A,{kind:"secondary",onClick:()=>eT((0,i.jsx)(ee.A,{onAfterClose:()=>{},primaryActionCta:eH})),fit:"flex",children:eH}):e4&&(t=(0,i.jsx)(I.A,{kind:"secondary",onClick:e7,fit:"flex",children:ez}));let e9=ei?"28 16 16 16":16,e3=(0,r.useMemo)(()=>M&&null!=O?{flex:"0 0 auto",height:O,minHeight:O,maxHeight:O}:{},[M,O]),te=(0,_.ke)({cabin:(0,L.ND)(a),oneWayBundle:y,departureDate:v.departDate}),tt=!!te&&g&&(void 0!==Q||void 0!==Y.hotelMemberPrice),ta=te?(tt?Q??Y.hotelMemberPrice:q??Y.hotelPrice)??0:0,ti="perPerson"===h&&X>0?X:1,tr=te?te.pointsPerPerson*X/ti:0,tn=te?(ta+te.cashPerPerson*X)/ti:0,to=y&&eM?eI?.cashTotal!=null&&X>0:Y.available,tl=g&&eI?.cashMemberTotal!=null,ts=tl?eI?.cashMemberTotal:eI?.cashTotal,td="perPerson"===h&&X>0?X:1;return(0,i.jsxs)(ef,{children:[ei&&(0,i.jsx)(eh.A,{}),(0,i.jsxs)(ep,{padding:e9,background:"neutral-eight",$selected:A,children:[(0,i.jsx)(em,{children:(0,i.jsxs)(p.A,{gap:12,children:[e8,y&&!Y.fetching&&ei&&"economy"===$&&eI?.cashTotal!=null&&X>0&&(!ew||null!=eI.pointsTotal)&&(0,i.jsx)(Z.$,{departureDate:v.departDate}),Y.fetching&&(0,i.jsx)(m.Ay,{variant:"medium",colour:"neutral-three",children:eU})]})}),(0,i.jsxs)(ex,{ref:F,style:e3,children:[(0,i.jsx)(eb,{"aria-hidden":!0}),(0,i.jsx)(ey,{children:(0,i.jsxs)(p.A,{gap:12,children:[!Y.fetching&&eC&&to&&!te&&(0,i.jsx)(u.Ay,{variant:"medium",colour:"neutral-two",children:eN}),!Y.fetching&&eC&&to&&te&&(0,i.jsxs)(p.A,{gap:4,children:[(0,i.jsx)(eo.A,{children:eW}),(0,i.jsxs)(f.A,{direction:"horizontal",gap:4,verticalAlign:"baseline",wrap:"wrap",children:[(0,i.jsx)(m.Ay,{variant:"large",weight:"bold",colour:tt?"lux-plus":"neutral-one",children:(0,i.jsx)(o.A,{id:"NWJKbOzkq6Wsvund56uC",defaultMessage:"{points} + {cash}",description:"Reward-seat price on the Maldives charter mobile fare carousel option, showing the loyalty points portion and the cash co-pay portion combined as one caption.",values:{points:(0,i.jsx)(R.A,{abbreviated:!0,points:tr}),cash:(0,i.jsx)(x.A,{value:tn,format:"roundedDollar"})}})}),(0,i.jsx)(m.Ay,{variant:"medium",colour:tt?"lux-plus":"neutral-three",weight:"normal",children:e5})]})]}),!Y.fetching&&ei&&!eC&&eI?.pointsTotal!=null&&null!=eI.cashTotal&&(0,i.jsxs)(p.A,{gap:4,children:[(0,i.jsx)(eo.A,{children:eW}),(0,i.jsxs)(f.A,{direction:"horizontal",gap:4,verticalAlign:"baseline",wrap:"wrap",children:[(0,i.jsx)(m.Ay,{variant:"large",weight:"bold",colour:tl?"lux-plus":"neutral-
1one",children:(0,i.jsx)(o.A,{id:"NWJKbOzkq6Wsvund56uC",defaultMessage:"{points} + {cash}",description:"Reward-seat price on the Maldives charter mobile fare carousel option, showing the loyalty points portion and the cash co-pay portion combined as one caption.",values:{points:(0,i.jsx)(R.A,{abbreviated:!0,points:eI.pointsTotal/td}),cash:(0,i.jsx)(x.A,{value:(ts??0)/td,format:"roundedDollar"})}})}),(0,i.jsx)(m.Ay,{variant:"medium",colour:tl?"lux-plus":"neutral-three",weight:"normal",children:e5})]})]}),!Y.fetching&&!ei&&eS?.cashTotal!=null&&eR>0&&(0,i.jsxs)(f.A,{direction:"horizontal",gap:4,verticalAlign:"baseline",children:[(0,i.jsx)(eo.A,{children:eW}),(0,i.jsxs)(m.Ay,{variant:"large",weight:"bold",colour:ev?"lux-plus":"neutral-one",children:[ev&&(0,i.jsx)(er.A,{Icon:en.A,colour:"lux-plus"}),(0,i.jsx)(x.A,{value:eR,format:"roundedDollar"})]}),(0,i.jsx)(m.Ay,{variant:"medium",colour:"neutral-three",weight:"normal",children:e5})]}),!Y.fetching&&ei&&!eC&&(eI?.pointsTotal==null||null==eI.cashTotal)&&(0,i.jsx)(u.Ay,{variant:"medium",colour:"neutral-three",children:e$}),!Y.fetching&&ei&&eC&&!to&&(0,i.jsx)(u.Ay,{variant:"medium",colour:"neutral-three",children:e$}),!Y.fetching&&!ei&&(eS?.cashTotal==null||eR<=0)&&(0,i.jsx)(u.Ay,{variant:"medium",colour:"neutral-three",children:e$}),!Y.fetching&&g&&!!eS?.promotionSeatsLeft&&(0,i.jsx)(m.Ay,{variant:"medium",weight:"bold",colour:"urgency",children:(0,i.jsx)(o.A,{id:"23YWa0_2ZjY7SjWiY2Ak",defaultMessage:"{count, plural, one {# seat left at this price} other {# seats left at this price}}",description:"Urgency message showing limited seats remaining for charter flight",values:{count:eS.promotionSeatsLeft}})}),t,e2&&(0,i.jsx)(eA,{children:(0,i.jsx)(I.A,{kind:"tertiary",variant:"default",size:"small",fit:"auto",horizontalOutdent:"start",onClick:e0,children:e6})})]})})]}),M&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(eu.A,{kind:"primary"}),(0,i.jsx)("div",{"data-testid":"maldives-fare-details-region",children:(0,i.jsxs)(p.A,{gap:16,children:[(0,i.jsxs)(p.A,{gap:8,children:[(0,i.jsx)(u.Ay,{variant:"small",weight:"bold",children:eK}),(0,i.jsx)(eg.A,{fareClass:$,section:"baggage"})]}),(0,i.jsxs)(p.A,{gap:8,children:[(0,i.jsx)(u.Ay,{variant:"small",weight:"bold",children:eq}),(0,i.jsx)(eg.A,{fareClass:$,section:"inclusions",maxItems:k?void 0:2}),eZ>2&&(0,i.jsx)(I.A,{kind:"tertiary",variant:"default",size:"small",fit:"auto",horizontalOutdent:"start",onClick:e1,children:k?eX:eQ})]})]})})]})]})]})},ew=l.Ay.div.withConfig({componentId:"sc-1242cc1f-0"})(["grid-column:1 / -1;padding-block:"," ",";padding-inline:0;background-color:#fff;"],(0,s.D0)(12),(0,s.D0)(8)),ej=l.Ay.div.withConfig({componentId:"sc-1242cc1f-1"})(["position:relative;opacity:",";transition:opacity 0.2s ease;",""],e=>e.$dimmed?.48:1,e=>e.$dimmed?"pointer-events: none;":""),eM=l.Ay.div.withConfig({componentId:"sc-1242cc1f-2"})(["position:absolute;inset:0;z-index:",";display:flex;align-items:center;justify-content:center;pointer-events:none;color:",";"],d.A.min,e=>e.theme.palette.neutral.default.two),ek=(0,l.Ay)(X.A).withConfig({componentId:"sc-1242cc1f-3"})(["padding:0;"]),eC=function(e){let{fareClasses:t,selectedFareClass:a,isDateRowSelected:o,checkIn:l,checkOut:s,nights:d,rooms:c,priceMode:h,luxPlusEnabled:u,oneWayBundle:g,tripOption:f,onPickFare:p,onUnselectSelectedFare:m,hotelPriceByCabinAndDate:x}=e,b=(0,n.A)(),y=(0,r.useRef)(null),A=(0,r.useRef)(null),[v,w]=(0,r.useState)(!1),[j,M]=(0,r.useState)(!1),[k,C]=(0,r.useState)(!1),P=(0,r.useCallback)(()=>{M(e=>!e)},[]),D=(0,r.useCallback)(()=>{C(e=>!e)},[]),I=b.formatMessage({id:"8majp7K16JIT9Rfaq5Nb",defaultMessage:"Updating fare options",description:"Short loading state announced to screen readers while the Maldives charter fare carousel scrolls back to show the newly selected cabin after the fare class filter changes."}),S=(0,r.useMemo)(()=>(0,H.IE)(t),[t]);return(0,r.useLayoutEffect)(()=>{if(null===A.current){A.current=a;return}if(A.current===a)return;A.current=a;let e=y.current;if(!e)return;let t=(0,Q.iJ)(e)>16;if(t&&w(!0),(0,Q.J7)(e,{left:0,behavior:t?"smooth":"auto"}),!t)return;let i=window.setTimeout(()=>{w(!1)},340);return()=>{window.clearTimeout(i),w(!1)}},[a]),(0,i.jsx)(ew,{children:(0,i.jsxs)(ej,{$dimmed:v,"aria-busy":v,children:[v&&(0,i.jsx)(eM,{role:"status","aria-live":"polite","aria-label":I,children:(0,i.jsx)(ek,{inl
1ine:!0,ballSize:8})}),(0,i.jsx)(q.A,{ref:y,gap:12,snap:"start",gutterSize:16,gutterStyle:"overflow",children:S.map(e=>(0,i.jsx)(ev,{optionFareClass:e,checkIn:l,checkOut:s,nights:d,rooms:c,priceMode:h,luxPlusEnabled:u,oneWayBundle:g,isSelectedFare:o&&e===a,tripOption:f,onPickFare:p,onUnselectSelectedFare:m,fareDetailsExpanded:j,extraFeaturesExpanded:k,onToggleFareDetails:P,onToggleExtraFeatures:D,hotelPriceByCabinAndDate:x},e))})]})})};var eP=a(151003),eD=a(29847);let eI=function(e){let{expanded:t,disabled:a,onToggle:r,expandAriaLabel:n,collapseAriaLabel:o,unavailableAriaLabel:l}=e,s=a?l:t?o:n;return(0,i.jsx)(eP.A,{type:"button",kind:"secondary",variant:"default",shape:"square",size:"small",isSelected:t,disabled:a,onClick:r,"aria-expanded":t,"aria-label":s,children:t?(0,i.jsx)(eD.A,{size:"M"}):(0,i.jsx)(S.A,{size:"M"})})};var eS=a(884965),eF=a(9880),eL=a(684008),eR=a(496036),eT=a(503542);let eE=l.Ay.div.withConfig({componentId:"sc-c1f6ef22-0"})(["padding:"," ",";background-color:",";",""],(0,s.D0)(12),(0,s.D0)(20),e=>e.theme.palette.neutral.surface.normalBackground,e=>e.$clickable&&"cursor: pointer;"),eB=(0,l.Ay)(I.A).withConfig({componentId:"sc-c1f6ef22-1"})(["min-width:",";"],(0,s.D0)(80)),ez=l.Ay.div.withConfig({componentId:"sc-c1f6ef22-2"})(["display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;&.missing-return{grid-template-columns:1fr 0.5fr 1.5fr;}&.missing-depart{grid-template-columns:1.5fr 0.5fr 1fr;}"]),eO=(0,l.Ay)(b.Ay).withConfig({componentId:"sc-c1f6ef22-3"})(["&.missing-flight{max-inline-size:",";white-space:normal;}"],(0,s.D0)(170)),eN=l.Ay.sup.withConfig({componentId:"sc-c1f6ef22-4"})(["font-size:0.6em;vertical-align:super;"]),eH=function(e){let t,{departDate:a,returnDate:l,checkIn:s,checkOut:d,oneWayBundle:c,missingFlightLeg:h,nights:y,rooms:A,fareClass:v,selectedFareClass:w,priceMode:j,luxPlusEnabled:P,isSelected:I,onSelect:B,prefetchedBundleData:J,allowedFareClasses:q,onFareClassChange:Q,feederOriginAirportCode:X,rewardSeatsOnly:ee=!1,cabinFilter:et,hotelPriceByCabinAndDate:ea}=e,ei=(0,n.A)(),er=(0,V.GV)(e=>(0,G.A)(e)),[en,eo]=(0,r.useState)(!1),es=(0,z.pg)(A),ed=(0,r.useMemo)(()=>(0,$.yR)(A),[A]),ec=(0,eR.A)(eT.S.luxRow),eh=(0,r.useMemo)(()=>(0,H.hX)(ec),[ec]),eu=(0,r.useMemo)(()=>A.reduce((e,t)=>e+(t.adults??0),0),[A]),{isKidsFlyFreeDate:eg}=(0,eL.A)({charterBundleRoute:el.yL,occupancies:A,fareClass:v}),ef=(0,T.N)({checkIn:s,checkOut:d,nights:y,rooms:A,fareClass:v,priceMode:j,charterBundleRoute:el.yL,feederOriginAirportCode:X,disabled:!!J}),ep=J??ef,{isAvailableForDate:em,getLegResult:ex,getJourneysForCabinDate:eb}=(0,E.Y)(),ey=em(s),{bestCashPrice:eA,bestRewardPrice:ev}=(0,r.useMemo)(()=>{let e,t,a=et?[et]:eh;for(let t of a){let a=eb(t,s);if(!a?.departing&&!a?.returning)continue;let i=ea?.[t]?.[s],r=i?P?i.hotelMemberPrice||i.hotelPrice||0:i.hotelPrice||0:ep.hotelPrice??(null!=ep.flightPrice?Math.max(0,ep.totalPrice-ep.flightPrice):void 0),n=i?.hotelMemberPrice??ep.hotelMemberPrice,o=(0,N.jM)({fareClass:t,hotelPrice:r,hotelMemberPrice:n,departingFlight:a.departing,returningFlight:a.returning,seatEligiblePassengers:es,getLegResult:ex});if(null==o.cashTotal)continue;let l=P&&null!=o.cashMemberTotal?o.cashMemberTotal:o.cashTotal,d=e&&(P&&null!=e.cashMemberTotal?e.cashMemberTotal:e.cashTotal);(!e||null==d||l<d)&&(e={cashTotal:o.cashTotal,cashMemberTotal:o.cashMemberTotal})}for(let e of a){let a=eb(e,s);if(!a||!c&&(!a.departing||!a.returning)||c&&!a.departing&&!a.returning)continue;let i=ea?.[e]?.[s],r=0;if(i)r=P?i.hotelMemberPrice||i.hotelPrice||0:i.hotelPrice||0;else if(ep.available){let e=(a.departing?.price?.all?.totalFare??0)+(a.returning?.price?.all?.totalFare??0)+(a.departing?.feederEstimatedPrice??0)+(a.returning?.feederEstimatedPrice??0);r=Math.max(0,(P?ep.memberTotalPrice||ep.totalPrice||0:ep.totalPrice||0)-e)}if(!r)continue;let n=L._m[e];if(!n)continue;let o=(0,N.jM)({fareClass:n,hotelPrice:r,departingFlight:a.departing,returningFlight:a.returning,allowIncompleteJourneys:!!c,seatEligiblePassengers:es,getLegResult:ex});if(null==o.pointsTotal||null==o.cashTotal)continue;let l=o.pointsTotal,d=o.cashTotal,h="perPerson"===j&&ed>0?l/ed:l,u="perPerson"===j&&ed>0?d/ed:d;
1(!t||u<t.cashTotal)&&(t={pointsTotal:h,cashTotal:u})}return{bestCashPrice:e,bestRewardPrice:t}},[et,eh,eb,s,ea,es,ex,P,ep,j,ed,c]),ew=(0,V.GV)(e=>e.auth.account.memberId),ej=(0,V.GV)(U.A),eM=ee&&(!ew||!ej),ek=(0,r.useMemo)(()=>{let e,t=!!eA||ep.available;if(!eM||!t)return;let a=et?[et]:eh;for(let t of a){let a=_.Iq[t];a&&(!e||a.cashPerPerson<e.cashPerPerson)&&(e=a)}if(!e)return;let i=0;for(let e of a){let t=ea?.[e]?.[s],a=t?P?t.hotelMemberPrice||t.hotelPrice||0:t.hotelPrice||0:0;a>0&&(!i||a<i)&&(i=a)}if(!i&&ep.hotelPrice&&(i=ep.hotelPrice),!i)return;let r=e.pointsPerPerson*es,n=i+e.cashPerPerson*es;return{pointsTotal:"perPerson"===j&&ed>0?r/ed:r,cashTotal:"perPerson"===j&&ed>0?n/ed:n}},[eM,ep.available,ep.hotelPrice,et,eh,eA,ea,s,P,es,j,ed]),eP=(0,r.useMemo)(()=>{if(!eA&&et)return{...ep,available:!1,totalPrice:0,pricePerPerson:0,memberTotalPrice:void 0,memberPricePerPerson:void 0};if(!eA)return ep;let e=Math.max(1,es);return{...ep,available:ep.available||!!eA,totalPrice:eA.cashTotal,memberTotalPrice:eA.cashMemberTotal,pricePerPerson:eA.cashTotal/e,memberPricePerPerson:eA.cashMemberTotal?eA.cashMemberTotal/e:void 0}},[eA,et,ep,es]),{regularPrice:eD,memberPrice:eH,isMemberPrice:eV,displayPrice:eU,wasPrice:eG,shouldShowWasPrice:e_,inventoryMessageType:eW,inventoryMessage:e$,fnfInventoryMessage:eY}=O({bundleData:eP,luxPlusEnabled:P,priceMode:j}),eJ=void 0!==eU&&eU>0,eK=P&&(0,W.$)({hasReturnFareFree:ep.hasReturnFareFree,isEconomy:!et||"economy"===et}),eq=""!==e$&&(!ep.isFnfPriceApplied||"seat"!==eW),eQ={id:`${s}-${y}n`,departDate:a,returnDate:l,checkIn:s,checkOut:d,nights:y,price:eD,memberPrice:eH,currency:"AUD",seatsLeft:ep.seatsLeft,available:eP.available,fareClass:w??void 0},eX=ei.formatMessage({id:"acuxSK1zMav7-Sn9mh4K",defaultMessage:"Selected",description:"Button label when a charter flight date is currently selected"}),eZ=ei.formatMessage({id:"lbS33CL-vQm3bmd7lueV",defaultMessage:"Sold out!",description:"Short label when a fare column has no reward-seat inventory or no seats for that cabin"}),e0=ei.formatMessage({id:"C6m8UbIIgveZbgrQtJ6T",defaultMessage:"Loading...",description:"Loading state text while charter flight prices are being fetched"}),{nightsText:e1,priceContextText:e2,expandedPriceContextText:e6}
1=(0,eS.r)(ei,y,j,eu),e4=ei.formatNumber(1,{signDisplay:"always"}),e7=ei.formatMessage({id:"Rt6uQBd5FYfbS4hAV4ab",defaultMessage:"Change fare",description:"Link to reopen the fare carousel for an already-selected Maldives charter date"}),e5=ei.formatMessage({id:"711wxG49umcK97pt8pS-",defaultMessage:"Show fare options for these dates",description:"Accessibility label for expanding the fare carousel beneath the row."}),e8=ei.formatMessage({id:"32x_r3aTH5F8f-0HHeLj",defaultMessage:"Hide fare options for these dates",description:"Accessibility label for collapsing the fare carousel shown below the row."}),e9=ei.formatMessage({id:"OwJEwq2JWiXn3Mtk7a4k",defaultMessage:"Fare options unavailable for these dates",description:"Accessibility label for the disabled fare-toggle control."});if(ep.fetching)t=(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:e0});else if(ee&&ev)t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.Ay,{as:"div",variant:"heading4",colour:P?"lux-plus":void 0,wrap:"no-wrap",children:(0,i.jsx)(R.A,{abbreviated:!0,points:ev.pointsTotal})}),(0,i.jsx)(m.Ay,{variant:"medium",colour:P?"lux-plus":"neutral-two",weight:"normal",children:(0,i.jsx)(o.A,{id:"peHFjMVc2YKKQdYS2mU5",defaultMessage:"+ {cash}
1",description:"Cash co-pay portion of a Société reward-seat bundle in the Maldives charter calendar, shown under the points total in a smaller line with a leading plus sign before the formatted currency amount.",values:{cash:(0,i.jsx)(x.A,{value:ev.cashTotal,format:"roundedDollar"})}})})]});else if(ee&&!ev&&ek)t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b.Ay,{as:"div",variant:"heading4",colour:P?"lux-plus":void 0,wrap:"no-wrap",children:(0,i.jsx)(R.A,{abbreviated:!0,points:ek.pointsTotal})}),(0,i.jsx)(m.Ay,{variant:"medium",colour:P?"lux-plus":"neutral-two",weight:"normal",children:(0,i.jsx)(o.A,{id:"peHFjMVc2YKKQdYS2mU5",defaultMessage:"+ {cash}",description:"Cash co-pay portion of a Société reward-seat bundle in the Maldives charter calendar, shown under the points total in a smaller line with a leading plus sign before the formatted currency amount.",values:{cash:(0,i.jsx)(x.A,{value:ek.cashTotal,format:"roundedDollar"})}})})]});else if(ee&&!ev)t=(0,i.jsx)(u.Ay,{variant:"medium",colour:"neutral-three",children:ei.formatMessage({id:"lbS33CL-vQm3bmd7lueV",defaultMessage:"Sold out!",description:"Short label when a fare column has no reward-seat inventory or no seats for that cabin"})});else if(eJ){let e=ei.formatMessage({id:"ew2ARy7ro3tFSM4inpHN",defaultMessage:"/person",description:"Per person pricing unit suffix in Maldives calendar"}),a=ei.formatMessage({id:"j--PuUYLTgWUxAxROh0Z",defaultMessage:"total",description:"Total pricing unit suffix in the Maldives calendar"});t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{children:(0,i.jsx)(o.A,{id:"eEOhCaC58xEuJ7A6ucxl",defaultMessage:"{price} {unit}",description:"Price amount followed by pricing unit (per person or total) in Maldives flight calendar mobile",values:{price:(0,i.jsx)(b.Ay,{as:"span",variant:"heading4",colour:eV?"lux-plus":void 0,wrap:"no-wrap",children:(0,i.jsx)(x.A,{value:eU,format:"roundedDollar"})}),unit:(0,i.jsx)(m.Ay,{as:"span",variant:"large",colour:eV?"lux-plus":"light-foreground-alt",weight:"normal",format:"lowercase",children:"perPerson"===j?e:a})}})}),e_&&null!=eG&&(0,i.jsx)(D,{altPrice:eG,saleUnit:"perPerson"===j?"/person":void 0})]})}else t=(0,i.jsx)(u.Ay,{variant:"medium",colour:"light-foreground-alt",children:eZ});(0,r.useEffect)(()=>{I&&eo(!0)},[I]);let e3=(0,r.useMemo)(()=>I&&!en?(0,i.jsxs)(f.A,{direction:"vertical",gap:4,horizontalAlign:"end",children:[(0,i.jsx)(eB,{kind:"primary",nonInteractable:!0,tabIndex:-1,children:eX}),(0,i.jsx)(g.A,{size:"caption",weight:"regular",onClick:()=>eo(!0),children:e7})]}):eP.available||en?(0,i.jsx)(eI,{expanded:en,disabled:!eP.available,onToggle:()=>eo(e=>!e),expandAriaLabel:e5,collapseAriaLabel:e8,unavailableAriaLabel:e9}):null,[I,en,eP.available,eX,e7,e5,e8,e9]),te=(0,r.useMemo)(()=>({id:eQ.id,departDate:eQ.departDate,returnDate:eQ.returnDate,checkIn:eQ.checkIn,checkOut:eQ.checkOut,nights:eQ.nights,price:eQ.price,memberPrice:eQ.memberPrice,currency:eQ.currency,seatsLeft:eQ.seatsLeft,available:eQ.available}),[eQ.id,eQ.departDate,eQ.returnDate,eQ.checkIn,eQ.checkOut,eQ.nights,eQ.price,eQ.memberPrice,eQ.currency,eQ.seatsLeft,eQ.available]),tt=(0,r.useCallback)((e,t)=>{Q?.(e),B({...t,fareClass:e})},[B,Q]),ta=ep.fetching||eJ||!!ev||!!ek;return(0,i.jsxs)(eE,{$clickable:eP.available,onClick:eP.available?()=>eo(e=>!e):void 0,children:[(0,i.jsxs)(p.A,{gap:12,children:[(0,i.jsxs)(ez,{className:h?`missing-${h}`:void 0,children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:c?ei.formatMessage(Z.u.depart):(0,k.a6)(a,M.qi,ei.locale)}),(0,i.jsx)(eO,{variant:"heading5",wrap:"no-wrap",className:"depart"===h?"missing-flight":void 0,children:"depart"===h?ei.formatMessage(Z.u.mustBeBookedSeparately):(0,k.a6)(a,M.jj,ei.locale)})]}),(0,i.jsxs)(f.A,{direction:"vertical",gap:0,horizontalAlign:"center",children:[(0,i.jsx)(S.A,{size:"M"}),(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:e1})]}),(0,i.jsx)(f.A,{direction:"vertical",horizontalAlign:"end",children:(0,i.jsxs)(f.A,{direction:"vertical",horizontalAlign:"start",gap:0,children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:c?ei.formatMessage(Z.u.return):(0,k.a6)(d,M.qi,ei.locale)}),(0,i.jsxs)(eO,{variant:"heading5",wrap:"no-wrap",className:"return"===h?"missing-flight":void 0,children:["return"===h?ei.formatMessage(Z.u.mustBeBookedSeparately):(0,k.a6)(c?l:d,M.jj,ei.locale),!c&&(0,i.jsx)(eN,{
1children:e4})]})]})})]}),(0,i.jsxs)(f.A,{direction:"vertical",horizontalAlign:"start",gap:4,children:[eq&&(0,i.jsxs)(f.A,{direction:"horizontal",verticalAlign:"center",gap:4,children:[(0,i.jsx)(F.A,{colour:"urgency",size:"XS"}),(0,i.jsx)(m.Ay,{variant:"medium",weight:"bold",colour:"urgency",children:e$})]}),ep.isFnfPriceApplied&&(0,i.jsx)(Y.A,{fnfInventoryMessage:eY,isInfiniteMember:er,isHorizontal:!0}),eg(a)&&(0,i.jsx)(eF.A,{variant:"short"}),eK&&(0,i.jsx)(C.A,{}),ey&&(0,i.jsx)(K,{})]}),(0,i.jsxs)(f.A,{direction:"horizontal",horizontalAlign:"space-between",verticalAlign:"center",gap:12,children:[!en&&(0,i.jsxs)(p.A,{gap:4,children:[ta&&(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:e2}),t]}),en&&(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:e6}),(0,i.jsx)("div",{onClick:e=>e.stopPropagation(),children:e3})]})]}),en&&q&&q.length>0&&(0,i.jsx)(eC,{fareClasses:q,selectedFareClass:w??v,isDateRowSelected:I,checkIn:s,checkOut:d,nights:y,rooms:A,priceMode:j,luxPlusEnabled:P,oneWayBundle:c,tripOption:te,onPickFare:tt,hotelPriceByCabinAndDate:ea})]})};var eV=a(731755),eU=a(285438),eG=a(596261);let e_=l.Ay.div.withConfig({componentId:"sc-7855d6e4-0"})(["padding:"," ",";background-color:",";"],(0,s.D0)(12),(0,s.D0)(20),e=>e.theme.palette.neutral.surface.normalBackground),eW=(0,l.Ay)(I.A).withConfig({componentId:"sc-7855d6e4-1"})(["min-width:",";"],(0,s.D0)(80)),e$=l.Ay.div.withConfig({componentId:"sc-7855d6e4-2"})(["display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;"]),eY=l.Ay.sup.withConfig({componentId:"sc-7855d6e4-3"})(["font-size:0.6em;vertical-align:super;"]),eJ=function(e){let t,a,{departDate:r,returnDate:l,checkIn:s,checkOut:d,nights:c,priceMode:h,luxPlusEnabled:y,isSelected:v,onSelect:w,bundleData:j,rooms:C,fareClass:P,offer:I}=e,L=(0,n.A)(),R=(0,V.GV)(e=>(0,G.A)(e)),{isKidsFlyFreeDate:T,shouldShowKidsFlyFreeForOffer:B}=(0,eL.A)({charterBundleRoute:el.yL,occupancies:C,fareClass:P}),N=(0,E.Y)().isAvailableForDate(s),H=C.length>0?(0,$.nV)(C):{adults:2,children:0,childrenAge:[]},U=H.adults,_=(0,eG.Fy)(H.childrenAge),{regularPrice:W,memberPrice:J,isMemberPrice:q,displayPrice:Q,wasPrice:X,shouldShowWasPrice:Z,inventoryMessageType:ee,inventoryMessage:et,fnfInventoryMessage:ea}=O({bundleData:j,luxPlusEnabled:y,priceMode:h}),ei={id:`${s}-${c}n`,departDate:r,returnDate:l,checkIn:s,checkOut:d,nights:c,price:W,memberPrice:J,currency:"AUD",seatsLeft:j.seatsLeft,available:!!j.available},er=L.formatMessage({id:"acuxSK1zMav7-Sn9mh4K",defaultMessage:"Selected",description:"Button label when a charter flight date is currently selected"}),en=L.formatMessage({id:"MvGwxY9AMe6ETPfczwZK",defaultMessage:"Select",description:"Button label to select a charter flight date in the flights flow"}),eo=L.formatMessage({id:"MkdIPUtrVEQzhLPF4i4b",defaultMessage:"Unavailable",description:"Button label when charter flight date is unavailable"}),es=L.formatMessage({id:"J7ASvqQn0CMBMT9iseru",defaultMessage:"No package available",description:"Text shown when no hotel package is available for charter flight date"}),ed=L.formatMessage({id:"C6m8UbIIgveZbgrQtJ6T",defaultMessage:"Loading...",description:"Loading state text while charter flight prices are being fetched"}),{nightsText:ec,priceContextText:eh}=(0,eS.r)(L,c,h,U),eu=L.formatNumber(1,{signDisplay:"always"});if(j.hasNoPackage)t=(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:es});else if(j.fetching)t=(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:ed});else if(void 0!==Q&&Q>0){let e=L.formatMessage({id:"ew2ARy7ro3tFSM4inpHN",defaultMessage:"/person",description:"Per person pricing unit suffix in Maldives calendar"}),a=L.formatMessage({id:"j--PuUYLTgWUxAxROh0Z",defaultMessage:"total",description:"Total pricing unit suffix in the Maldives calendar"});t=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{children:(0,i.jsx)(o.A,{id:"WvYmKxlzM32P__CnctBk",defaultMessage:"{price} {unit}",description:"Price amount followed by pricing unit (per person or total) in Maldives offer calendar mobile",values:{price:(0,i.jsx)(b.Ay,{as:"span",variant:"heading4",colour:q?"lux-plus":void 0,wrap:"no-wrap",children:(0,i.jsx)(x.A,{value:Q,format:"roundedDollar"})}),unit:(0,i.jsx)(m.Ay,{as:"span",variant:"large",colour:q?"lux-plus":"light-foreground-alt",weight:"normal",format:"lowercase",children:"perPerson"===h?e:a})}})}),Z&&null!=X&&(0,i.jsx)(D,{altPrice:X,saleUnit:"perPerson"===h?"/person":void 0})]})}else t=(0,i.jsx)(u.Ay,{variant:"medium",colour:"light-foreground-alt",children:eo});let eg=(0,z.wG)(j.seatsLeft,j.roomsLeft),ef=v&&j.available?(0,i.jsx)(eW,{kind:"primary",nonInteractable:!0,tabIndex:-1,
1children:er}):(0,i.jsx)(eW,{kind:"secondary",onClick:()=>w(ei),disabled:!j.available||j.hasNoPackage,children:j.available?en:eo});return a="hotel-sold-out"===eg?(0,i.jsx)(f.A,{direction:"horizontal",horizontalAlign:"end",verticalAlign:"center",children:(0,i.jsx)(u.Ay,{variant:"medium",colour:"light-foreground-alt",children:(0,i.jsx)(o.A,{id:"67iYmaeI_4LikZXraHif",defaultMessage:"<link>View similar bundles</link> for these dates",description:"CTA when hotel is sold out, links to search for similar Maldives bundles",values:{link:e=>(0,i.jsx)(g.A,{weight:"regular",to:`/search?${(0,A.u6)({originalSearch:"",destinationName:eU.hr,destinationId:eV.Ay.Maldives.id,adults:U,children:_})}&checkIn=${s}&checkOut=${d}`,children:e})}})})}):"bundle-sold-out"===eg?(0,i.jsx)(f.A,{direction:"horizontal",horizontalAlign:"end",verticalAlign:"center",children:(0,i.jsx)(u.Ay,{variant:"medium",colour:"light-foreground-alt",children:(0,i.jsx)(o.A,{id:"xrX71nYk8QpV6O_5s-kR",defaultMessage:"Call our team on <phoneLink>{phoneNumber}</phoneLink> for more options",description:"CTA when charter bundle is sold out, provides phone number for support",values:{phoneLink:e=>(0,i.jsx)(g.A,{weight:"regular",to:eU.LP,children:e}),phoneNumber:eU.oq}})})}):(0,i.jsxs)(f.A,{direction:"horizontal",horizontalAlign:"space-between",verticalAlign:"center",gap:12,children:[(0,i.jsxs)(p.A,{gap:4,children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:eh}),t]}),ef]}),(0,i.jsx)(e_,{children:(0,i.jsxs)(p.A,{gap:12,children:[(0,i.jsxs)(e$,{children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:(0,k.a6)(r,M.qi,L.locale)}),(0,i.jsx)(b.Ay,{variant:"heading5",wrap:"no-wrap",children:(0,k.a6)(r,M.jj,L.locale)})]}),(0,i.jsxs)(f.A,{direction:"vertical",gap:0,horizontalAlign:"center",children:[(0,i.jsx)(S.A,{size:"M"}),(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:ec})]}),(0,i.jsx)(f.A,{direction:"vertical",horizontalAlign:"end",children:(0,i.jsxs)(f.A,{direction:"vertical",horizontalAlign:"start",gap:0,children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:(0,k.a6)(d,M.qi,L.locale)}),(0,i.jsxs)(b.Ay,{variant:"heading5",wrap:"no-wrap",children:[(0,k.a6)(d,M.jj,L.locale),(0,i.jsx)(eY,{children:eu})]})]})})]}),(0,i.jsxs)(f.A,{direction:"vertical",horizontalAlign:"start",gap:0,children:["none"===eg&&(!j.isFnfPriceApplied||"seat"!==ee)&&""!==et&&(0,i.jsxs)(f.A,{direction:"horizontal",verticalAlign:"center",gap:4,children:[(0,i.jsx)(F.A,{colour:"urgency",size:"XS"}),(0,i.jsx)(u.Ay,{variant:"small",colour:"urgency",children:et})]}),"none"===eg&&j.isFnfPriceApplied&&(0,i.jsx)(Y.A,{fnfInventoryMessage:ea,isInfiniteMember:R}),(I?B(I,s):T(r))&&(0,i.jsx)(eF.A,{variant:"short"}),N&&(0,i.jsx)(K,{})]}),a]})})};var eK=a(98019),eq=a(791914),eQ=a(488562),eX=a(756108),eZ=a(218966),e0=a(529052),e1=a(362121),e2=a(492347),e6=a(640338),e4=a(29895);let e7=l.Ay.span.withConfig({componentId:"sc-61d9f518-0"})(["color:",";display:inline-flex;"],eU.sq),e5=l.Ay.div.withConfig({componentId:"sc-61d9f518-1"})(["display:grid;grid-template-columns:repeat(2,1fr);margin-top:",";column-gap:",";row-gap:",";"],(0,s.D0)(12),(0,s.D0)(8),(0,s.D0)(12)),e8=(0,l.Ay)(y.A).withConfig({componentId:"sc-61d9f518-2"})(["display:flex;flex-direction:column;justify-content:space-between;border:1px solid ",";background-color:",";box-shadow:none;transition:background-color 0.2s,box-shadow 0.2s;border-radius:",";padding:",";min-height:",";&:not(:disabled){","{&:hover{box-shadow:",";}}&:focus{box-shadow:",";}}&.selected{border:1px solid ",";}&.specialOffer{border-color:",";border-width:2px;}"],e=>e.theme.palette.neutral.surface.lightForeground,e=>e.theme.palette.neutral.surface.normalBackground,e=>e.theme.borderRadius.S,(0,s.D0)(12),(0,s.D0)(70),v.R,e=>e.theme.shadow.bottom.medium,e=>e.theme.shadow.bottom.medium,e=>e.theme.palette.neutral.surface.darkForeground,e=>e.theme.palette.highlight.primary.normalForeground),e9=(0,l.Ay)(p.A).withConfig({componentId:"sc-61d9f518-3"})(["background-color:",";margin:0 -",";border-radius:",";"],e=>
1e.theme.palette.neutral.surface.lightBackground,(0,s.D0)(20),(0,s.D0)(8)),e3=(0,l.Ay)(f.A).withConfig({componentId:"sc-61d9f518-4"})(["padding:",";"],(0,s.D0)(32)),te=l.Ay.div.withConfig({componentId:"sc-61d9f518-5"})(["display:inline-block;padding:"," ",";background-color:",";border-radius:",";margin-inline-start:",";"],(0,s.D0)(4),(0,s.D0)(8),e=>e.theme.palette.highlight.primary.normalForeground,e=>e.theme.borderRadius.S,(0,s.D0)(8)),tt=(0,l.Ay)(p.A).withConfig({componentId:"sc-61d9f518-6"})(["background-color:",";margin:0 -",";padding:0 ",";border-radius:",";","{margin:0 -",";}"],e=>e.theme.palette.neutral.surface.lightBackground,(0,s.D0)(20),(0,s.D0)(20),e=>e.theme.borderRadius.S,w.em.tablet,(0,s.D0)(24)),ta=l.Ay.div.withConfig({componentId:"sc-61d9f518-7"})(["position:sticky;top:0;z-index:",";background-color:",";margin-inline:",";padding-inline:",";padding-bottom:",";"],d.A.tooltip,e=>e.theme.palette.neutral.surface.normalBackground,(0,s.D0)(-20),(0,s.D0)(20),(0,s.D0)(8)),ti=l.Ay.div.withConfig({componentId:"sc-61d9f518-8"})(["margin-block:",";margin-inline:",";"],(0,s.D0)(8),(0,s.D0)(-20)),tr=l.Ay.div.withConfig({componentId:"sc-61d9f518-9"})(["max-width:100%;margin-bottom:",";"],(0,s.D0)(4)),tn=(0,l.Ay)(u.Ay).withConfig({componentId:"sc-61d9f518-10"})(["margin:"," 0;"],(0,s.D0)(8)),to=l.Ay.div.withConfig({componentId:"sc-61d9f518-11"})(["padding:"," 0 ",";text-align:center;"],(0,s.D0)(32),(0,s.D0)(16)),tl=(0,l.Ay)(f.A).withConfig({componentId:"sc-61d9f518-12"})(["padding:"," 0;"],(0,s.D0)(12)),ts=(0,l.Ay)(b.Ay).withConfig({componentId:"sc-61d9f518-13"})(["cursor:pointer;user-select:none;text-decoration:underline;"]),td=function(e){let t,a,{onDateSelect:l,selectedOptionId:s,nights:d,occupancies:c,fareClass:y,priceMode:v,luxPlusEnabled:w,dateRangesByMonth:C,selectedMonth:P,onMonthChange:D,mode:I,itemBundleDataByDate:S,offer:F,selectedFareClass:T,onFareClassChange:B,cabinFilter:O,hotelPriceByCabinAndDate:G,rewardSeatsOnly:_=!1,infiniteMemberOnly:W=!1,headerActions:Y,stickyHeaderBanner:K,scrollContainerRef:q,feederOriginAirportCode:Q}=e,{kidsFlyFreeDates:X,hasKidsFlyFreeDateInMonth:Z,shouldShowKidsFlyFreeForOffer:ee}=(0,eL.A)({charterBundleRoute:el.yL,occupancies:c,fareClass:y}),[et,ea]=(0,r.useState)("month"),[ei,er]=(0,r.useState)(),eo=(0,r.useRef)({}),es=(0,r.useMemo)(()=>c||[{adults:2,children:0}],[c]),ed=(0,eR.A)(eT.S.luxRow),ec=(0,r.useMemo)(()=>(0,H.hX)(ed),[ed]),eh=(0,eZ.A)(ec),eu=(0,r.useMemo)(()=>{let e=eh;return O&&(e=e.filter(e=>(0,L.ND)(e)===O)),_&&(e=e.filter(e=>(0,L.uD)(e))),e},[eh,O,_]),eg=(0,r.useMemo)(()=>(0,$.yR)(es),[es]),ef=(0,z.pg)(es),{journeysByCabinDate:ep,rewardIndicator:em,charterRewardContextValue:ex}=(0,e2.S)({occupancies:es,dateRangesByMonth:C,fareClass:y,seatEligiblePassengers:ef,feederOriginAirportCode:Q}),eb=(0,r.useCallback)(e=>(0,N.Iu)({checkIn:e,cashCabins:ec,getJourneysForCabinDate:ex.getJourneysForCabinDate,hotelPriceByCabinAndDate:G,seatEligiblePassengers:ef,getLegResult:ex.getLegResult}),[ec,ex,G,ef]),ey=(0,e4.Y)({infiniteMemberOnly:W,dateRangesByMonth:C,itemBundleDataByDate:S,isDateInfiniteEligible:eb}),eA=(0,e1.A)(),ev=(0,V.GV)(U.A),ew=(0,V.GV)(e=>e.auth.account.memberId),ej=_&&(!ew||!ev),{rewardPreviewByMonth:eM,monthRewardSeals:ek,monthRewardPricing:eC,monthOneWayPromos:eP}=(0,e6.e)({dateRangesByMonth:ey,journeysByCabinDate:ep,rewardIndicator:em,cabinFilter:O??null,hotelPriceByCabinAndDate:G,itemBundleDataByDate:S,luxPlusEnabled:w,seatEligiblePassengers:ef,rewardSeatsOnly:_,rewardLockedForLogin:ej,isLoggedOut:!ew,priceMode:v,totalPassengers:eg,cashCabins:ec}),eD=(0,r.useContext)(e0.A),eI=(0,n.A)(),eS=(0,V.GV)(e=>e.offer.offerLists),eE=(0,V.GV)(e=>e.offer.offers),eB=(0,V.GV)(e=>e.flights.searchV2Flights),ez=(0,V.GV)(e=>e.offer.searchResultMetadata.offerMetaData),eO=eI.formatMessage({id:"UBLSvzstf26qr4nVsKhx",defaultMessage:"Flights depart Sunday night and arrive on Monday for hotel check-in.",description:"Description of Maldives charter flight schedule in the flights section"}),eN=eI.formatMessage({id:"Ena6iZ87hWIVOm8QPUB9",defaultMessage:"Friends & Family Offer",description:"Badge label for months in the charter flight calendar that include FnF pricing"}),eG=eI.formatMessage({id:"0GUG7eQ8fAeuOBChFIQt",defaultMessage:"Loading…",description:"Loading state text for charter flight month price in the flights section"}),e_=eI.formatMessage({id:"OlOfqYtNbU_4z3O0cdFc",defaultMessage:"Unavailable",description:"Text shown when no charter flights available for month"}),eW=eI.formatMessage({id:"iv47cobHGcSpUSH6kWDd",defaultMessage:"Sold out!",description:"Short label in the Maldives charter flight calendar when a fare column has no reward-seat inventory or no seats for that cabin."}),e$=eI.formatMessage({id:"-iMMCVN0aC5Ds5vZE85O",defaultMessage:"Looking for other dates?",description:"Prompt text linking to broader Maldives search in the flights section"}),eY=eI.formatMessage({id:"4BIeJuy-1ltmZIF0LLP5",defaultMessage:"Explore more Maldives offers.",description:"Link text to explore more Maldives offers on the offer page"}),td=eI.formatMessage({id:"GEmDdTUKT3QSyk6-6evz",defaultMessage:"No departures available",description:"Empty state heading when no charter departures found"}),tc=eI.formatMessage({id:"Y6tOL00_SjJjhu7gDuDY",defaultMessage:"Try selecting a different month",description:"Help text when no charter departures available in the flights section"}),th=(0,r.useMemo)(()=>{let e={};
1return Object.entries(ey).forEach(([t,a])=>{if(0===a.length)return;let i=0,r=!1,n=!1,o=!1;_&&!ej&&em.isLoading&&(r=!0),a.forEach(({departureDate:e,returnDate:t,checkIn:a,checkOut:l})=>{if(S&&!O){let e=S[a];o=o||!!e?.isPromotionPriceApplied,e?.fetching&&(r=!0);let t="total"===v?w&&e?.memberTotalPrice||e?.totalPrice:w&&e?.memberPricePerPerson||e?.pricePerPerson;e?.available&&t&&t>0&&(n=n||!!e.isFnfPriceApplied,(0===i||t<i)&&(i=t))}else if(O||"search"===I){if(O){let e=ep.get(O)?.get(a);o=o||!!(e?.departing?.promotionPrice||e?.returning?.promotionPrice);let t=(e?.departing?.price?.all?.totalFare??0)+(e?.returning?.price?.all?.totalFare??0)+((e?.departing?.feederEstimatedPrice??0)+(e?.returning?.feederEstimatedPrice??0)),r=G?.[O]?.[a],n=0;if(r&&(n=w?r.hotelMemberPrice||r.hotelPrice||0:r.hotelPrice||0),t>0&&n>0){let e=n+t,a="perPerson"===v&&eg>0?e/eg:e;a>0&&(0===i||a<i)&&(i=a)}}else if("search"===I){let s=(0,eQ.ke)({destinationId:eV.Ay.Maldives.id,checkIn:a,checkOut:l,rooms:es,limit:20}),c=(0,eQ.TJ)({departureAirport:eU.tb.DEPARTURE_AIRPORT,arrivalAirport:eU.tb.ARRIVAL_AIRPORT,departureDate:e,returnDate:t,occupancies:es,fareClass:y,currency:eD||"AUD",feederOriginAirportCode:Q}),h=(0,eK.E)({...s,isLuxPlusMember:w||void 0},w),u=(0,eq.GS)(c),g=eS[h],f=eB[u];(g?.fetching||f?.fetching)&&(r=!0);let p=g?.offerIds||[],m=ez[h],x=(0,z.NH)({offerIds:p,allOffers:eE,offerMetaData:m,rooms:es,nights:d,luxPlusEnabled:w}),b=f?.fares?.[0]?.[0],A=f?.fares?.[1]?.[0];o=o||!!(b?.promotionPrice||A?.promotionPrice);let j=(b?(0,eq.HM)(b,ef).all.totalFare??0:0)+(A?(0,eq.HM)(A,ef).all.totalFare??0:0)+((b?.feederEstimatedPrice??0)+(A?.feederEstimatedPrice??0)),M=!!(b&&A&&(0,eq.wZ)(b,ef)&&(0,eq.wZ)(A,ef));if(x>0&&j>0&&!g?.fetching&&!f?.fetching){let e=x+j,t="perPerson"===v&&eg>0?e/eg:e;t>0&&(0===i||t<i)&&(i=t),n=n||M}}}});let l=a[0]?.checkIn,s=h()(l),c=s.year(),u=s.month();e[c]||(e[c]=[]),e[c].push({name:t,price:i||0,fetching:r,hasSpecialOffer:n,hasPromotion:o,monthLabel:(0,k.a6)(s.toDate(),M.Ak,eI.locale),monthIndex:u,year:c})}),Object.keys(e).forEach(t=>{e[parseInt(t)].sort((e,t)=>e.monthIndex-t.monthIndex)}),e},[eI,ey,eS,eE,eB,ez,w,d,es,y,v,eg,ef,eD,I,S,G,O,ep,Q,_,ej,em]),tu=(0,r.useMemo)(()=>{let e=[];return Object.entries(ey).forEach(([t,a])=>{0!==a.length&&a.forEach(({departureDate:a,returnDate:i,checkIn:r,checkOut:n,oneWayBundle:o,missingFlightLeg:l})=>{e.push({id:`${r}-${d}n`,checkIn:r,checkOut:n,departDate:a,returnDate:i,oneWayBundle:o,missingFlightLeg:l,month:t})})}),e},[ey,d]),tg=(0,r.useMemo)(()=>{let e={};return tu.forEach(t=>{let a=h()(t.checkIn).format("YYYY-MM");e[a]||(e[a]=[]),e[a].push(t)}),Object.fromEntries(Object.entries(e).sort(([e],[t])=>e.localeCompare(t)))},[tu]),tf=(0,r.useCallback)((e,t)=>{D(e),er(t),ea("date")},[D]),tp=(0,r.useCallback)(()=>{ea("month")},[]),tm=q?.current;return(0,r.useLayoutEffect)(()=>{if("date"!==et)return;let e=ei??Object.entries(tg).find(([,e])=>e[0]?.month===P)?.[0]??Object.keys(tg)[0];if(!e)return;let t=eo.current[e];if(t){if(tm){let e=tm.getBoundingClientRect(),a=t.getBoundingClientRect(),i=tm.scrollTop??0,r=a.top-e.top+i-16;tm.scrollTo({top:Math.max(r,0),behavior:"auto"})}else t.scrollIntoView({behavior:"auto",block:"start"});er(void 0)}},[et,ei,tg,P,tm]),(0,i.jsxs)(E.D.Provider,{value:ex,children:[(0,i.jsxs)(ta,{children:[(0,i.jsx)(tn,{variant:"medium",colour:"light-foreground-alt",children:eO}),K&&(0,i.jsx)(ti,{children:K}),Y&&(0,i.jsx)(tr,{children:Y})]}),(0,i.jsx)("div",{style:{display:"month"===et?"block":"none"},children:(t=Object.keys(th).map(Number).sort(),a=X.size>0&&("offer"!==I||!F||ee(F)),(0,i.jsxs)(p.A,{gap:12,children:[a&&(0,i.jsx)(eF.A,{variant:"short"}),t.map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(b.Ay,{variant:"heading5",children:e}),(0,i.jsx)(e5,{children:th[e].map(t=>{let r=w?"lux-plus":void 0,n=`${e}-${String(t.monthIndex+1).padStart(2,"0")}`,l=Z(e,t.monthIndex),s=null;return t.hasSpecialOffer&&(s=(0,i.jsx)(te,{children:(0,i.jsx)(m.Ay,{variant:"small",colour:"highlight-primary-contrast",children:eN})})),(0,i.jsxs)(e8,{onClick:()=>tf(t.name,n),className:(0,j.A)({selected:P===t.name,specialOffer:t.hasSpecialOffer}),children:[(0,i.jsxs)(f.A,{direction:"horizontal",verticalAlign:"center",horizontalAlign:"space-between",children:[(0,i.jsxs)(f.A,{direction:"horizontal",verticalAlign:"center",gap:4,children:[(0,i.jsx)(b.Ay,{variant:"heading6",children:t.monthLabel}),a&&l&&(0,i.jsx)(e7,{children:(0,i.jsx)(eX.A,{size:"XS"})}
1),eA&&(ek[t.name]?.showRewardSeal||!ev)&&!t.fetching&&(0,i.jsx)(J.A,{size:16,colour:"highlight-primary-dark","aria-hidden":!0}),!t.fetching&&(eP[t.name]||w&&t.hasPromotion)&&(0,i.jsx)(en.A,{size:"XS",colour:eP[t.name]?"urgency":"lux-plus","aria-hidden":!0})]}),s]}),(0,i.jsxs)(p.A,{gap:2,children:[t.fetching&&(0,i.jsx)(m.Ay,{variant:"small",children:eG}),!t.fetching&&ej&&eM[t.name]&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(m.Ay,{variant:"large",colour:"neutral-three",children:eI.formatMessage({id:"61Gm0owvNXkEHBOdcx8J",defaultMessage:"From",description:"Price prefix label in Maldives flight calendar item"})}),(0,i.jsx)(u.Ay,{variant:"large",weight:"bold",colour:r,children:(0,i.jsx)(R.A,{abbreviated:!0,points:eM[t.name].points})}),(0,i.jsx)(m.Ay,{variant:"small",colour:r??"neutral-two",weight:"normal",children:(0,i.jsx)(o.A,{id:"peHFjMVc2YKKQdYS2mU5",defaultMessage:"+ {cash}",description:"Cash co-pay portion of a Société reward-seat bundle in the Maldives charter calendar, shown under the points total in a smaller line with a leading plus sign before the formatted currency amount.",values:{cash:(0,i.jsx)(x.A,{value:eM[t.name].
1cash,format:"roundedDollar"})}})})]}),!t.fetching&&_&&!ej&&eC[t.name]&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(m.Ay,{variant:"large",colour:"neutral-three",children:eI.formatMessage({id:"61Gm0owvNXkEHBOdcx8J",defaultMessage:"From",description:"Price prefix label in Maldives flight calendar item"})}),(0,i.jsx)(u.Ay,{variant:"large",weight:"bold",colour:"lux-plus",children:(0,i.jsx)(R.A,{abbreviated:!0,points:eC[t.name].points})}),(0,i.jsx)(m.Ay,{variant:"small",colour:"lux-plus",weight:"normal",children:(0,i.jsx)(o.A,{id:"peHFjMVc2YKKQdYS2mU5",defaultMessage:"+ {cash}",description:"Cash co-pay portion of a Société reward-seat bundle in the Maldives charter calendar, shown under the points total in a smaller line with a leading plus sign before the formatted currency amount.",values:{cash:(0,i.jsx)(x.A,{value:eC[t.name].cash,format:"roundedDollar"})}})})]}),!t.fetching&&_&&!ej&&!eC[t.name]&&(0,i.jsx)(m.Ay,{variant:"small",children:eW}),!t.fetching&&!_&&t.price>0&&(0,i.jsxs)(u.Ay,{variant:"large",weight:"bold",colour:r,children:[(0,i.jsx)(m.Ay,{variant:"large",colour:"light-foreground-alt",children:eI.formatMessage({id:"61Gm0owvNXkEHBOdcx8J",defaultMessage:"From",description:"Price prefix label in Maldives flight calendar item"})}),(0,i.jsx)(x.A,{value:t.price,format:"roundedDollar"})]}),!t.fetching&&!_&&!t.price&&(0,i.jsx)(m.Ay,{variant:"small",children:e_})]})]},t.name)})})]},e)),(0,i.jsxs)(to,{children:[(0,i.jsx)(u.Ay,{variant:"small",colour:"light-foreground-alt",children:e$}),(0,i.jsx)(g.A,{size:"small",weight:"regular",target:"_blank",to:`/search?${(0,A.u6)({originalSearch:"",destinationName:eU.hr,destinationId:eV.Ay.Maldives.id,adults:2,children:"none"})}`,children:eY})]})]}))}),(0,i.jsx)("div",{style:{display:"date"===et?"block":"none"},children:0===tu.length?(0,i.jsxs)(e3,{direction:"vertical",horizontalAlign:"center",gap:8,children:[(0,i.jsx)(b.Ay,{variant:"heading5",align:"center",children:td}),(0,i.jsx)(u.Ay,{variant:"medium",align:"center",colour:"light-foreground-alt",children:tc})]}):(0,i.jsx)(p.A,{gap:24,children:Object.entries(tg).map(([e,t])=>{let a=h()(e,"YYYY-MM"),r=(0,k.a6)(a.toDate(),M.wd,eI.locale),n=(0,k.a6)(a.toDate(),M.l6,eI.locale);return(0,i.jsxs)(tt,{gap:0,ref:t=>{e&&(eo.current[e]=t)},children:[(0,i.jsxs)(tl,{direction:"horizontal",horizontalAlign:"space-between",verticalAlign:"center",children:[(0,i.jsx)(b.Ay,{variant:"heading4",children:r}),(0,i.jsx)(ts,{variant:"heading4",onClick:tp,children:n})]}),(0,i.jsx)(e9,{gap:8,children:t.map(e=>{let t={oneWayBundle:e.oneWayBundle,missingFlightLeg:e.missingFlightLeg,checkIn:e.checkIn,checkOut:e.checkOut,departDate:e.departDate,returnDate:e.returnDate,nights:d,priceMode:v,luxPlusEnabled:w,isSelected:e.id===s,onSelect:l};switch(I){case"search":return(0,i.jsx)(eH,{...t,rooms:es,fareClass:y,selectedFareClass:T,prefetchedBundleData:S?.[e.checkIn],allowedFareClasses:eu,onFareClassChange:B,feederOriginAirportCode:Q,rewardSeatsOnly:_,cabinFilter:O,hotelPriceByCabinAndDate:G},e.id);case"offer":{let a=S?.[e.checkIn];return(0,i.jsx)(eJ,{...t,bundleData:a??{fetching:!0,available:!1,totalPrice:0,pricePerPerson:0,offerCount:0,seatsLeft:0,hasNoPackage:!1},rooms:es,fareClass:y,offer:F},e.id)}default:return null}})})]},e)})})})]})}},255616(e,t,a){var i=a(474848),r=a(897729),n=a(439594),o=a(784694),l=a(161648),s=a(38267),d=a(731357),c=a(722834);let h=(0,s.Ay)(r.A).withConfig({componentId:"sc-5de0436d-0"})(["margin-top:",";"],(0,d.D0)(4)),u=(0,s.Ay)(o.A).withConfig({componentId:"sc-5de0436d-1"})(["&&&{background:",";border-color:",";}> *{background:",";background-clip:text;color:transparent;-webkit-background-clip:text;}"],e=>e.theme.palette.product.loyalty.infinite.gradientPrimaryBackground,e=>e.theme.palette.product.loyalty.infinite.normalForeground,e=>e.theme.palette.product.loyalty.infinite.gradientTertiaryBackground);function g({children:e,isInfiniteMember:t=!1}){return t?(0,i.jsx)(u,{kind:"primary",variant:"highlight",format:"propercase",children:(0,i.jsx)(c.A,{id:"h6W_QYlt_f9Su7I8CGde",defaultMessage:"Infinite Member Price",description:"Infinite-branded label shown on Maldives charter calendar fare cells when an Infinite member sees the discounted Friends and Family fare."})}):(0,i.jsx)(o.A,{kind:"primary",variant:"highlight",format:"propercase",children:e??(0,i.jsx)(c.A,{id:"15vWM49_cySUYJZ1ydW5",defaultMessage:"Friends & Family Offer",description:"Highlight label shown when Maldives calendar pricing includes FnF pricing"})})}a.d(t,{x:()=>g},{A:function({fnfInventoryMessage:e,isHorizontal:t=!1,isInfiniteMember:a=!1}){return(0,i.jsxs)(h,{direction:t?"horizontal":"vertical",horizontalAlign:"center",verticalAlign:"center",gap:4,children:[(0,i.jsx)(g,{isInfiniteMember:a}),""!==e&&(0,i.jsxs)(r.A,{direction:"horizontal",horizontalAlign:"center",verticalAlign:"center",gap:4,children:[(0,i.jsx)(n.A,{size:"XS",colour:"light-foreground-alt"}),(0,i.jsx)(l.Ay,{variant:"small",colour:"light-foreground-alt",children:e})]})]})}})},502521(e,t,a){a(218111),a(22489),a(13579),a(161701),a(18237);var i=a(610377),r=a(791914),n=a(292630),o=a(751421);function l(e){let{fareClass:t,hotelPrice:a,hotelMemberPrice:l,departingFlight:s,returningFlight:d,allowIncompleteJourneys:c=!1,seatEligiblePassengers:h,getLegResult:u}=e,g=s?(0,r.HM)(s,h).all.totalFare:void 0,f=d?(0,r.HM)(d,h).all.totalFare:void 0,p=(0,n.SN)(s),m=(0,n.SN)(d),x=void 0!==p&&void 0!==m?Math.min(p,m):p??m,b=(0,o.tn)(x,h),y=void 0!==g||void 0!==f?(g??0)+(f??0)+(s&&d?(s.feederEstimatedPrice??0)+(d.feederEstimatedPrice??0):0):void 0,A=b&&void 0!==a&&void 0!==y?a+y:void 0,v=!!(s&&(0,r.wZ)(s,h)||d&&(0,r.wZ)(d,h)),w=!v&&!!(s?.promotionPrice||d?.promotionPrice),j=Math.max(s?.flightGroup.flights[0]?.promotionSeatsLeft??0,d?.flightGroup.flights[0]?.promotionSeatsLeft??0);if(!(0,i.uD)(t))return{cashTotal:A,cashMemberTotal:b&&void 0!==l&&void 0!==y?l+y:void 0,isFnf:v&&void 0!==A,isPromotion:w&&void 0!==A,promotionSeatsLeft:!v&&w&&void 0!==A&&j>0?j:void 0};if(!b)return{cashTotal:void 0};let M=s?.journeyKey,k=d?.journeyKey,C=[M?u(M):void 0,k?u(k):void 0].filter(e=>!!e);if(!(c?C.length>0:2===C.length)||C.some(e=>!e.available||void 0===e.pointsPrice||void 0===e.cashPrice))return{cashTotal:A};let P=C.map(e=>e.remainingInventory).filter(e=>void 0!==e),D=P.length>0?Math.min(...P):void 0;if(!(0,o.tn)(D,h))return{cashTotal:A,rewardSeatsInsufficient:!0};let I=C.reduce((e,t)=>
1e+t.pointsPrice,0)*h,S=C.reduce((e,t)=>e+t.cashPrice,0)*h;return{cashTotal:void 0!==a?a+S:void 0,cashMemberTotal:void 0!==l?l+S:void 0,pointsTotal:I,cashCoPayTotal:S}}function s(e){let{checkIn:t,cashCabins:a,getJourneysForCabinDate:i,hotelPriceByCabinAndDate:r,seatEligiblePassengers:n,getLegResult:o}=e;return a.some(e=>{let a=i(e,t),s=r?.[e]?.[t];return!!l({fareClass:e,hotelPrice:s?.hotelPrice,hotelMemberPrice:s?.hotelMemberPrice,departingFlight:a?.departing,returningFlight:a?.returning,seatEligiblePassengers:n,getLegResult:o}).isFnf})}function d(e){let{checkIn:t,cashCabins:a,getJourneysForCabinDate:i,hotelPriceByCabinAndDate:r,fallbackHotelPrice:n,seatEligiblePassengers:o,getLegResult:s}=e;return a.some(e=>{let a=i(e,t),d=r?.[e]?.[t];return void 0!==l({fareClass:e,hotelPrice:r?d?.hotelPrice:n,departingFlight:a?.departing,returningFlight:a?.returning,seatEligiblePassengers:o,getLegResult:s}).cashTotal})}a.d(t,{Iu:()=>s,ZE:()=>d,jM:()=>l})},884965(e,t,a){function i(e,t,a,i){let r=e.formatMessage({id:"r484bkJ_LnqWqW8S-s9D",defaultMessage:"{nights, plural, one {# night} other {# nights}} & flights",description:"Label showing number of nights and flights included in charter bundle"},{nights:t}),n=e.formatMessage({id:"1n-cvJDlrd6Hw6g9lVNj",defaultMessage:"{nights, plural, one {# night} other {# nights}}",description:"Label showing number of nights in a charter bundle mobile calendar date row"},{nights:t});return{nightsText:n,priceContextText:"perPerson"===a?e.formatMessage({id:"FFWFCkEAyaLLXWRm8l1w",defaultMessage:"{nightsAndFlights}, per adult from",description:"Context label above per-person price in the Maldives charter mobile calendar date card"},{nightsAndFlights:r}):e.formatMessage({id:"m16_LsRFxUEbDvpCUofD",defaultMessage:"{nightsAndFlights}, {adultCount, plural, one {# adult} other {# adults}} from",description:"Context label above total price in the Maldives charter mobile calendar date card"},{nightsAndFlights:r,adultCount:i}),expandedPriceContextText:"perPerson"===a?e.formatMessage({id:"Kp-StujCqMadjaRIuQgy",defaultMessage:"{nightsAndFlights}, per adult",description:"Context label shown beside the expanded fare options toggle in the Maldives charter mobile calendar date card"},{nightsAndFlights:r}):e.formatMessage({id:"JLb1JH1o5tIzQ_T_e9q9",defaultMessage:"{nightsAndFlights}, {adultCount, plural, one {# adult} other {# adults}}",description:"Context label shown beside the expanded fare options toggle in the Maldives charter mobile calendar date card"},{nightsAndFlights:r,adultCount:i})}}function r(e,t,a,i){return"perPerson"===a?e.formatMessage({id:"xe2lXJIo_DCgKuC6iMHd",defaultMessage:"{nights, plural, one {# night} other {# nights}} & flights, per adult",description:"Context text beside the per-person price mode selector in the Maldives charter calendar."},{nights:t}):e.formatMessage({id:"_-mEHVdhPQ3cq5PRfb04",defaultMessage:"{nightsLabel} & flights, {adultCountLabel}",description:"Context text beside the total price mode selector in the Maldives charter calendar, explaining selected duration and adult count."},{nightsLabel:e.formatMessage({id:"-VEGpUO57j9Em2aOuCpc",defaultMessage:"{nights, plural, one {# night} other {# nights}}",description:"Night count in the Maldives charter calendar price context"},{nights:t}),adultCountLabel:e.formatMessage({id:"YBBSbcGaRbcUhkcOnWa5",defaultMessage:"{adultCount, plural, one {# adult} other {# adults}}",description:"Adult count in the Maldives charter calendar price context"},{adultCount:i})})}a.d(t,{r:()=>i,y:()=>r})},734022(e,t,a){function i({hasReturnFareFree:e,isEconomy:t=!0}){return!!e&&t}a.d(t,{$:()=>i})},476756(e,t,a){var i=a(296540);let r=(0,i.createContext)({isLoading:!1,isAvailableForDate:()=>!1,getLegResult:()=>void 0,getJourneysForCabinDate:()=>void 0});function n(){return(0,i.useContext)(r)}a.d(t,{Y:()=>n},{D:r})},304234(e,t,a){a(218111),a(720116),a(13579);var i=a(296540),r=a(750142),n=a(4288),o=a(908360),l=a(116910),s=a(731755),d=a(488562),c=a(917164),h=a(175160),u=a(747902),g=a(751421);function f(e){let{checkIn:t,checkOut:a,nights:f,rooms:p,fareClass:m,priceMode:x,optimizeForCheapest:b=!1,charterBundleRoute:y,feederOriginAirportCode:A,disabled:v=!1}=e,{currentRegionCode:w}=(0,i.useContext)(h.A),j=(0,i.useMemo)(()=>(0,c.yR)(p),[p]),M=(0,g.pg)(p),k=(0,i.useMemo)(()=>
1{if(t&&a)return(0,d.ke)({destinationId:s.Ay.Maldives.id,checkIn:t,checkOut:a,rooms:p,limit:b?1:20})},[t,a,p,b]),C=(0,o.A)(k,{minRequiredOffers:b?1:20,disabled:v}),[P,D]=(0,n.A)(C.offerIds),I=(0,l.A)(k),S=(0,r.GV)(e=>e.offer.searchResultMetadata.offerMetaData[I]),F=(0,u.d)({checkIn:t,checkOut:a,rooms:p,fareClass:m,charterBundleRoute:y,feederOriginAirportCode:A,disabled:v}),L=p.length;return(0,i.useMemo)(()=>{let e=C?.fetching||D,t=F.fetching,{lowestPrice:a,lowestMemberPrice:i,roomsLeft:r,lowestPropertyFees:n,lowestSurcharge:o,lowestTaxesAndFees:l,lowestExtraGuestSurcharges:s}=(0,g.nv)(P,f,L,p,S),d=F.totalFlightFare,c=F.originalTotalFlightFare,h=(()=>{if(void 0===a)return;let e=a/L,t=P.find(t=>t.packages.some(t=>t.duration===f&&t.price===e)),i=t?.packages.find(t=>t.duration===f&&t.price===e);if(t&&i)return(0,g.hV)({offer:t,pkg:i,totalHotelPrice:a,currentRegionCode:w,nights:f})})();return{...(0,g.N2)({hotelFetching:e,flightFetching:t,lowestPrice:a,lowestMemberPrice:i,totalFlightFare:d,originalTotalFlightFare:c,totalPassengers:j,seatEligiblePassengers:M,seatsLeft:F.seatsLeft,promotionSeatsLeft:F.promotionSeatsLeft,isPromotionPriceApplied:F.isPromotionPriceApplied,fnfSeatsLeft:F.fnfSeatsLeft,isFnfPriceApplied:F.isFnfPriceApplied,hasReturnFareFree:F.hasReturnFareFree,roomsLeft:r,offerCount:C.offerIds.length}),hotelLoyaltyCalculationRequest:h}},[C,P,F,f,j,M,D,L,p,S,w])}a.d(t,{N:()=>f})},722546(e,t,a){a(218111),a(22489),a(18237),a(720116);var i=a(296540),r=a(360128),n=a(632385),o=a(944752);function l(e){let{offer:t,rooms:a,charterBundleRoute:l,fareClass:s,nights:d=5,displayMemberPrice:c=!1,disabled:h=!1,packageUniqueKey:u,feederOriginAirportCode:g}=e,f=(0,i.useMemo)(()=>a&&a.length>0?a:[{adults:2,children:0,infants:0,teenagers:0,childrenAge:[]}],[a]),{dateRangesByMonth:p}=(0,r.A)({charterBundleRoute:l,occupancies:f,fareClass:s,disabled:h||!l||0===f.length,feederOriginAirportCode:g}),{itemBundleDataByDate:m}=(0,o.P)({offer:t,nights:d,rooms:f,fareClass:s,dateRangesByMonth:h||!t?{}:p,charterBundleRoute:l,packageUniqueKey:u,feederOriginAirportCode:g,disabled:h||!t}),{cheapestBundleEntry:x,cheapestDate:b,cheapestPublicBundleEntry:y,cheapestMemberBundleEntry:A}=(0,i.useMemo)(()=>
1{if(!l||0===Object.keys(m).length)return{cheapestBundleEntry:void 0,cheapestDate:void 0,cheapestPublicBundleEntry:void 0,cheapestMemberBundleEntry:void 0};let e=Object.entries(m).filter(([,e])=>e.available&&e.totalPrice>0);if(0===e.length)return{cheapestBundleEntry:void 0,cheapestDate:void 0,cheapestPublicBundleEntry:void 0,cheapestMemberBundleEntry:void 0};let[t,a]=e.reduce((e,t)=>(t[1].originalTotalPrice??t[1].totalPrice)<(e[1].originalTotalPrice??e[1].totalPrice)?t:e),[i,r]=e.reduce((e,t)=>(t[1].memberTotalPrice??t[1].totalPrice)<(e[1].memberTotalPrice??e[1].totalPrice)?t:e);return c?{cheapestBundleEntry:r,cheapestDate:i,cheapestPublicBundleEntry:a,cheapestMemberBundleEntry:r}:{cheapestBundleEntry:a,cheapestDate:t,cheapestPublicBundleEntry:a,cheapestMemberBundleEntry:r}},[l,c,m]),v=(0,i.useMemo)(()=>{if(b)for(let e of Object.values(p)){let t=e.find(e=>e.checkIn===b);if(t)return t}},[b,p]),w=(0,i.useCallback)(e=>{let a=void 0!==e.hotelValue?e.hotelValue:e.hotelPrice??0,i=e.originalTotalPrice??e.totalPrice,r=i-(e.hotelPrice??0),o=a+r,l=e.hotelPrice??i-r;return{price:i,value:o,discountPercent:(0,n.A)(a,l),fees:[],saleUnit:t?.saleUnit??"total"}},[t?.saleUnit]),j=(0,i.useMemo)(()=>{if(y)return w(y)},[y,w]);return{fallbackPricing:j,fallbackMemberPricing:(0,i.useMemo)(()=>{if(!A?.memberTotalPrice)return;let e=A.memberTotalPrice,t=w(A),a=A.hotelValue??A.hotelPrice??0,i=A.hotelMemberPrice??e-(A.flightPrice??0);return{...t,price:e,value:t.value,discountPercent:(0,n.A)(a,i)}},[A,w]),rewardHotelPricing:(0,i.useMemo)(()=>{if(x)return{price:x.hotelPrice,memberPrice:x.hotelMemberPrice,value:x.hotelValue}},[x]),cheapestDateRange:v,fallbackHasReturnFareFree:A?.hasReturnFareFree}}a.d(t,{R:()=>l})},29895(e,t,a){a(218111),a(607588),a(22489);var i=a(296540);function r({infiniteMemberOnly:e,dateRangesByMonth:t,itemBundleDataByDate:a,isDateInfiniteEligible:n}){return(0,i.useMemo)(()=>{if(!e)return t;let i={};return Object.entries(t).forEach(([e,t])=>{let r=t.filter(({checkIn:e})=>{let t=a?.[e];return!!t?.fetching||n(e)});r.length>0&&(i[e]=r)}),i},[e,t,a,n])}a.d(t,{Y:()=>r})},747902(e,t,a){a(218111),a(720116),a(78898);var i=a(296540),r=a(795093),n=a.n(r),o=a(106427),l=a(791914),s=a(532957),d=a(751421),c=a(292630);function h(e){let{checkIn:t,checkOut:a,rooms:r,fareClass:h,charterBundleRoute:u,feederOriginAirportCode:g,disabled:f=!1}=e,p=(0,d.pg)(r),m=(0,o.A)({charterBundleRoute:u,fareClass:h,occupancies:r,disabled:f||!u,feederOriginAirportCode:g}),x=m?.fetching,b=m?.error,y=m?.timestamp,A=(0,i.useMemo)(()=>{if(t&&m?.fares?.[0])return m.fares[0].find(e=>{let a=e.flightGroup.flights.at(-1)?.arrivalDate;return a&&n()(a).format("YYYY-MM-DD")===t})},[t,m?.fares]),v=(0,i.useMemo)(()=>{if(a&&m?.fares?.[1])return m.fares[1].find(e=>{let t=e.flightGroup.flights.at(0)?.departingDate;return t&&n()(t).format("YYYY-MM-DD")===a})},[a,m?.fares]);return(0,i.useMemo)(()=>{let e=0,t=0,a=(0,c.SN)(A),i=(0,c.SN)(v),r=void 0!==a&&void 0!==i?Math.min(a,i):a??i,n=Math.max((0,d.hG)(A)??0,(0,d.hG)(v)??0),o=(0,d.aB)(A),h=(0,d.aB)(v),u=void 0!==o&&void 0!==h?Math.min(o,h):o??h,g=(0,d.i_)(A,v,p),f=!g&&!!(A&&v&&(A.promotionPrice||v.promotionPrice));if(A||v){let a=g?(0,l.HM)(A,p).all.totalFare??0:A?.price.all.totalFare??0,i=g?(0,l.HM)(v,p).all.totalFare??0:v?.price.all.totalFare??0,r=A&&v?(A.feederEstimatedPrice??0)+(v.feederEstimatedPrice??0):0;e=a+i+r,t=(A?.regularPrice?.all.totalFare??A?.price.all.totalFare??0)+(v?.regularPrice?.all.totalFare??v?.price.all.totalFare??0)+r}let m=!!y||!!b,w=x||!m&&!A&&!v;return{fetching:w,totalFlightFare:e,originalTotalFlightFare:t,departingFlight:A,seatsLeft:r,promotionSeatsLeft:n,isPromotionPriceApplied:f,fnfSeatsLeft:u,isFnfPriceApplied:g,returningFlight:v,hasReturnFareFree:!w&&(0,s.vE)(v)}},[A,v,x,y,b,p])}a.d(t,{d:()=>h})},492347(e,t,a){a.d(t,{S:()=>f}),a(971517),a(11379),a(693777),a(614190),a(512359),a(886097),a(627254),a(707036),a(17273),a(227415),a(819929),a(837583),a(455122),a(720230),a(357268),a(679733),a(218111),a(607588),a(720116),a(78898);var i=a(296540),r=a(61232),n=a(106427),o=a(362121),l=a(750142),s=a(329404),d=a(503542),c=a(496036),h=a(236567);a(517642),a(658004),a(733853),a(845876),a(432475),a(515024),a(731698),a(125509),a(665223),a(660321),a(241927),a(511632),a(864377),a(966771),a(712516),a(368931),a(652514),a(235694),a(652774),a(849536),a(321926),a(994483),a(916215),a(981148);var u=a(416939);a(22489),a(944114);var g=a(144386);function f({occupancies:e,dateRangesByMonth:t,fareClass:a,seatEligiblePassengers:p,feederOriginAirportCode:m}){let x=(0,n.A)({charterBundleRoute:r.yL,occupancies:e,fareClass:"economy",feederOriginAirportCode:m}),b=(0,n.A)({charterBundleRoute:r.yL,occupancies:e,fareClass:"premium",feederOriginAirportCode:m}),y=(0,n.A)({charterBundleRoute:r.yL,occupancies:e,fareClass:"business",feederOriginAirportCode:m}),A=(0,c.A)(d.S.luxRow),v=(0,i.useMemo)(()=>(0,h.hX)(A),[A]),w=(0,n.A)({charterBundleRoute:r.yL,occupancies:e,fareClass:"lux_row",disabled:!A,feederOriginAirportCode:m}),j=(0,i.useMemo)(()=>{let e=new Map;return[["economy",x],["premium",b],...A?[["lux_row",w]]:[],["business",y]].forEac
1h(([a,i])=>{let r=new Map,n=i?.fares?.[0]??[],o=i?.fares?.[1]??[];Object.values(t).forEach(e=>{e.forEach(({checkIn:e,checkOut:t})=>{let a=n.find(t=>(0,g.J)(t.flightGroup.flights.at(-1)?.arrivalDate)===e),i=o.find(e=>(0,g.J)(e.flightGroup.flights.at(0)?.departingDate)===t);r.set(e,{departing:a,returning:i})})}),e.set(a,r)}),e},[x,b,w,y,A,t]),M=(0,i.useCallback)((e,t)=>j.get(e)?.get(t),[j]),{rewardLegs:k,rewardLegsByDate:C}=(0,i.useMemo)(()=>(function({journeysByCabinDate:e,dateRangesByMonth:t,fareClass:a,cashCabins:i=h.lg}){let r=[],n={},o=new Set,l=i.includes(a)?a:"economy",s=e.get(l);return Object.values(t).forEach(t=>{t.forEach(({checkIn:t,oneWayBundle:a})=>{let l=s?.get(t),d=[l?.departing?.journeyKey,l?.returning?.journeyKey].filter(e=>!!e);(a&&d.length>0||!a&&2===d.length)&&(n[t]=d),i.forEach(a=>{let i=e.get(a)?.get(t);for(let e of[i?.departing,i?.returning]){let t=e?.journeyKey;!t||o.has(t)||(o.add(t),r.push({journeyKey:t,legTotal:e.price.all.totalFare??0}))}})})}),{rewardLegs:r,rewardLegsByDate:n}})({journeysByCabinDate:j,dateRangesByMonth:t,fareClass:a,cashCabins:v}),[j,t,a,v]),P=(0,o.A)(),D=(0,l.GV)(s.A),I=function(e){let{legs:t,legsByDate:a,passengerCount:r,disabled:n}=e,o=(0,u.A)({legs:t,passengerCount:r,disabled:n}),{availableJourneyKeys:l,legResultByKey:s}=(0,i.useMemo)(()=>{let e=new Set,t=new Map;for(let a of o.legs)t.set(a.journeyKey,a),a.available&&e.add(a.journeyKey);return{availableJourneyKeys:e,legResultByKey:t}},[o.legs]),d=o.isLoading;return(0,i.useMemo)(()=>({isLoading:d,isAvailableForDate:e=>{if(d)return!1;let t=a[e];return!!t&&0!==t.length&&t.every(e=>l.has(e))},getLegResult:e=>s.get(e)}),[d,a,l,s])}({legs:k,legsByDate:C,passengerCount:p,disabled:!P||!D||0===k.length}),S=(0,i.useMemo)(()=>({...I,getJourneysForCabinDate:M}),[I,M]);return{journeysByCabinDate:j,getJourneysForCabinDate:M,rewardIndicator:I,charterRewardContextValue:S}}},640338(e,t,a){a.d(t,{e:()=>c}),a(218111),a(161701),a(13579),a(607588),a(22489),a(981148);var i=a(296540),r=a(610377),n=a(496036),o=a(503542),l=a(449915),s=a(236567);a(944114);var d=a(502521);function c({dateRangesByMonth:e,journeysByCabinDate:t,rewardIndicator:a,cabinFilter:h,hotelPriceByCabinAndDate:u,itemBundleDataByDate:g,luxPlusEnabled:f,seatEligiblePassengers:p,rewardSeatsOnly:m,rewardLockedForLogin:x,isLoggedOut:b,priceMode:y="total",totalPassengers:A=0,cashCabins:v=s.lg}){let w=(0,i.useMemo)(()=>h?[h]:[...v],[h,v]),j=(0,n.A)(o.S.flightsIncompleteCharterBundles),M=(0,i.useMemo)(()=>j&&(b||!a.isLoading)&&!(p<1)&&w.includes("economy")?Object.fromEntries(Object.entries(e).map(([e,i])=>[e,i.some(({checkIn:e,departureDate:i,oneWayBundle:r})=>{if(!r||i!==l.FD)return!1;let n=t.get("economy")?.get(e);if(!n?.departing||n.returning)return!1;let o=u?.economy?.[e],s=(0,d.jM)({fareClass:b?"economy":"economy_rewards",hotelPrice:o?.hotelPrice??g?.[e]?.hotelPrice,departingFlight:n.departing,returningFlight:n.returning,allowIncompleteJourneys:!0,seatEligiblePassengers:p,getLegResult:a.getLegResult});return void 0!==s.cashTotal&&(b||void 0!==s.pointsTotal)})])):{},[j,a,b,p,w,e,t,u,g]),k=(0,i.useMemo)(()=>{if(!x)return{};let t={};return Object.entries(e).forEach(([e,a])=>{let i;if(a.forEach(({checkIn:e,departureDate:t,oneWayBundle:a})=>{for(let r of w){let n=u?.[r]?.[e],o=n?f?n.hotelMemberPrice||n.hotelPrice||0:n.hotelPrice||0:g?.[e]?.hotelPrice??0,s=(0,l.ke)({cabin:r,oneWayBundle:a,departureDate:t});if(!s||o<=0)continue;let d=o+s.cashPerPerson*p;(!i||d<i.cash)&&(i={points:s.pointsPerPerson*p,cash:d})}}),i){let a="perPerson"===y&&A>0?A:1;t[e]={points:i.points/a,cash:i.cash/a}}}),t},[x,w,p,e,u,g,f,y,A]);return{rewardPreviewByMonth:k,monthRewardSeals:(0,i.useMemo)(()=>{let i={};Object.entries(e).forEach(([e,r])=>{i[e]=r.map(({checkIn:e,oneWayBundle:i})=>{let r=w.some(r=>{let n=t.get(r)?.get(e),o=[n?.departing?.journeyKey,n?.returning?.journeyKey].filter(e=>!!e);return(i?o.length>0:2===o.length)&&o.every(e=>a.getLegResult(e)?.available===!0)});return{dateKey:e,allLegsAvailable:r}})});let r={};for(let[e,t]of Object.entries({datesByMonth:i}.datesByMonth)){let a=[];for(let e of t)e.allLegsAvailable&&a.push(e.dateKey);r[e]={showRewardSeal:a.length>0,availableDateKeys:a}}return r},[e,t,a,w]),monthRewardPricing:(0,i.useMemo)(()=>
1{if(!m)return{};let i={};return Object.entries(e).forEach(([e,n])=>{let o,l;n.forEach(({checkIn:e,oneWayBundle:i})=>{for(let n of w){let s=r._m[n];if(!s)continue;let c=t.get(n)?.get(e),h=u?u[n]?.[e]:g?.[e];if(!c||!i&&(!c.departing||!c.returning)||i&&!c.departing&&!c.returning||!h)continue;let m=(0,d.jM)({fareClass:s,hotelPrice:h.hotelPrice,hotelMemberPrice:h.hotelMemberPrice,departingFlight:c.departing,returningFlight:c.returning,allowIncompleteJourneys:i,seatEligiblePassengers:p,getLegResult:a.getLegResult}),x=f&&void 0!==m.cashMemberTotal?m.cashMemberTotal:m.cashTotal;if(void 0===m.pointsTotal||void 0===x)continue;let b="perPerson"===y&&A>0?A:1,v=m.pointsTotal/b,w=x/b;(void 0===o||w<o)&&(o=w,l=v)}}),void 0!==l&&void 0!==o&&(i[e]={points:l,cash:o})}),i},[m,w,e,t,p,a.getLegResult,u,g,f,y,A]),monthOneWayPromos:M}}},944752(e,t,a){a(218111),a(22489),a(161701),a(13579);var i=a(751421),r=a(296540),n=a(750142),o=a(825508),l=a(529052),s=a(564715),d=a(917164),c=a(610377),h=a(96897);function u(e){let{offer:t,nights:a,rooms:u,fareClass:g,dateRangesByMonth:f,charterBundleRoute:p,packageUniqueKey:m,feederOriginAirportCode:x,disabled:b=!1}=e,y=(0,r.useContext)(l.A),A=(0,r.useMemo)(()=>(0,d.yR)(u),[u]),v=(0,i.pg)(u),w=!b&&!!p&&!!t,j=(0,r.useMemo)(()=>(0,i.Pw)(f,a),[f,a]),M=(0,r.useMemo)(()=>t?m?t.packages.filter(e=>e.uniqueKey===m):t.packages.filter(e=>e.duration===a):[],[t,m,a]),k=0===M.length,C=(0,r.useMemo)(()=>u.map(e=>(0,s.A)(e)),[u]),P=(0,r.useMemo)(()=>(0,o.Mz)(e=>e.calendar.calendarsByOccupancy,e=>{if(!w||k)return{};let t={};for(let a of C){let i=e[a];i&&(t[a]=i)}return t}),[C,w,k]),D=(0,n.GV)(P),I=(0,n.GV)(e=>!!w&&!k&&u.some(t=>{let a=(0,s.A)(t);return M.some(t=>{let i=e.calendar.calendarsByOccupancyLoading[a]?.[t.uniqueKey],r=!!e.calendar.calendarsByOccupancy[a]?.[t.uniqueKey];return i||!r&&void 0===i})})),{flightDataByDate:S}=(0,h.y)({rooms:u,dateRangesByMonth:w?j:{},fareClass:g,currency:y||"AUD",charterBundleRoute:p,disabled:!w,seatEligiblePassengers:v,feederOriginAirportCode:x}),F=(0,c.ND)(g),L=(0,r.useMemo)(()=>{let e={};for(let[t,a]of Object.entries(S))e[t]={price:(0,i.Dw)(a,F,v),originalPrice:(0,i.E2)(a,F),fetching:a.fetching,seatsLeft:a.seatsLeft,promotionSeatsLeft:a.promotionSeatsLeft,isPromotionPriceApplied:a.isPromotionPriceApplied,fnfSeatsLeft:a.fnfSeatsLeft,isFnfPriceApplied:a.isFnfPriceApplied,hasReturnFareFree:a.hasReturnFareFree};return e},[S,F,v]);return{itemBundleDataByDate:(0,r.useMemo)(()=>{if(!t)return{};let e=Object.values(j).flat(),a=(0,i.Zy)({dateRanges:e,offer:t,rooms:u,durationPackages:M,calendarDataByOccupancy:D,resolvedFlightByDate:L,totalPassengers:A,seatEligiblePassengers:v,isCalendarLoading:I,hasNoPackage:k}),r={};for(let[e,t]of Object.entries(a))r[e]=t.bundleData;return r},[j,L,D,I,t,u,M,A,v,k])}}a.d(t,{P:()=>u})},707445(e,t,a){var i=a(496036),r=a(503542),n=a(247546),o=a(292630),l=a(751421),s=a(488562),d=a(449915);function c({rooms:e,duration:t,disabled:a=!1}){let h=(0,i.A)(r.S.flightsIncompleteCharterBundles),u=(0,l.pg)(e),g=(0,s.mr)(d.FD,t)??void 0,{departingJourney:f,returningJourney:p,fetching:m,error:x}=(0,n.A)({charterBundleRoute:h&&!a?"melbourne-maldives":void 0,checkInDate:d.FD,checkOutDate:g,occupancies:e,fareClass:"economy",disabled:!h||a});return h&&!a&&!m&&!x&&u>0&&!!f&&!p&&!(0,o.bA)(d.FD,g,t,(0,o.SN)(f),u)}a.d(t,{A:()=>c})},33005(e,t,a){a(218111),a(22489),a(971517),a(11379),a(693777),a(614190),a(512359),a(886097),a(627254),a(707036),a(17273),a(227415),a(819929),a(837583),a(455122),a(720230),a(357268),a(679733),a(607588),a(944114),a(517642),a(658004),a(733853),a(845876),a(432475),a(515024),a(731698),a(125509),a(665223),a(660321),a(241927),a(511632),a(864377),a(966771),a(712516),a(368931),a(652514),a(235694),a(652774),a(849536),a(321926),a(994483),a(916215),a(161701);var i=a(474848),r=a(296540),n=a(840014);a.d(t,{},{A:function({airports:e,selectedAirport:t,handleItemClick:a,withRadioButtons:o}){var l;let s,d,c,h,u,g=(s=(l=e.map(e=>({...e,airportCode:e.code,airportName:e.name}))).filter(e=>
1e.isMultiAirport),d=new Map,s.forEach(e=>{e.cityCode&&d.set(e.cityCode,e)}),c=new Map,l.forEach(e=>{e.cityCode&&!e.isMultiAirport&&(c.has(e.cityCode)||c.set(e.cityCode,[]),c.get(e.cityCode).push(e))}),h=[],u=new Set,s.forEach(e=>{let t=e.cityCode,a=t&&c.get(t)||[];a.length>0?(h.push({multiAirport:e,childAirports:a}),u.add(e),a.forEach(e=>u.add(e))):(h.push(e),u.add(e))}),l.forEach(e=>{u.has(e)||h.push(e)}),h);return(0,i.jsx)(i.Fragment,{children:g.map((e,l)=>{if(!("multiAirport"in e))return(0,i.jsx)(n.A,{airport:e,onClick:a,selected:e.airportCode===t?.code,"data-testid":`airport-select-${e.airportCode}`,withRadioButton:o},`individual-${e.airportCode}-${l}`);{let{multiAirport:s,childAirports:d}=e;return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)(n.A,{airport:s,onClick:a,selected:s.airportCode===t?.code,"data-testid":`airport-select-${s.airportCode}`,withRadioButton:o}),d.map(e=>(0,i.jsx)(n.A,{airport:e,onClick:a,selected:e.airportCode===t?.code,"data-testid":`airport-select-${e.airportCode}`,withRadioButton:o,indented:!0},`child-${e.airportCode}`))]},`group-${s.airportCode}-${l}`)}})})}})},840014(e,t,a){var i=a(474848),r=a(439594),n=a(987967),o=a(816850),l=a(634164),s=a(703302),d=a(196168),c=a(731357),h=a(296540),u=a(665673),g=a(722834);let f=(0,a(38267).Ay)(n.A).withConfig({componentId:"sc-afd83b7e-0"})(["&.indented{padding-inline-start:",";}"],(0,c.D0)(52));a.d(t,{},{A:function(e){let t=(0,u.A)(),{airport:a,onClick:n=d.A,selected:c,indented:p=!1,withRadioButton:m=!1,...x}=e,b=(0,h.useCallback)(()=>{n(a)},[a,n]),y=(0,i.jsxs)(i.Fragment,{children:[a.airportName," ",(0,i.jsx)(s.A,{value:"light-foreground-alt",children:a.airportCode})]});if(a.isMultiAirport){let e=/^(.+) all airports$/i.exec(a.airportName),t=e?.[1]??a.cityDesc;y=t?(0,i.jsx)(g.A,{id:"B7nJUHuHbhrNERi2tuHJ",defaultMessage:"{cityName} <muted>All airports</muted>",description:"Airport option title showing city name with all airports indicator",values:{cityName:t,muted:e=>(0,i.jsx)(s.A,{value:"light-foreground-alt",children:e})}}):a.airportName}let A=a.cityDesc&&a.country?t.formatMessage({id:"lKZVD6TaZuq9E4SUNKpY",defaultMessage:"{cityDesc}, {country}",description:"Airport select option city and country separated by comma"},{cityDesc:a.cityDesc,country:a.country}):a.cityDesc||a.country||void 0;return(0,i.jsx)(f,{...x,className:(0,l.A)({indented:p}),size:"large",startIcon:m?(0,i.jsx)(o.A,{checked:c}):(0,i.jsx)(r.A,{}),title:y,subtitle:(0,i.jsx)(s.A,{value:"light-foreground-alt",children:A}),onClick:b,selected:c})}})},861340(e,t,a){a(218111),a(22489),a(13579),a(161701),a(720116);var i=a(474848),r=a(296540),n=a(897729),o=a(309695),l=a(427654),s=a(371145),d=a(424620),c=a(935208),h=a(547159),u=a(12389),g=a(38267),f=a(731357),p=a(194617),m=a(610377),x=a(148047),b=a(267662),y=a(547965),A=a(496036),v=a(503542),w=a(302885),j=a(665673),M=a(260633),k=a(416801),C=a(362121),P=a(750142),D=a(49864),I=a(600351),S=a(236567);let F=(0,g.Ay)(n.A).withConfig({componentId:"sc-42de6348-0"})(["padding-inline:",";"],(0,f.D0)(16)),L=g.Ay.div.withConfig({componentId:"sc-42de6348-1"})(["display:flex;flex-direction:column;max-width:100%;align-items:flex-start;gap:",";","{flex-direction:row;align-items:center;}"],(0,f.D0)(8),p.em.desktop),R=(0,g.Ay)(I.A).withConfig({componentId:"sc-42de6348-2"})(["max-width:100%;"]),T=(0,g.Ay)(I.A).withConfig({componentId:"sc-42de6348-3"})(["max-width:100%;"]);a.d(t,{},{A:function(e){let{nights:t,onDurationChange:a,durationOptions:n,cabinFilter:g,onCabinFilterChange:f,luxPlusEnabled:p=!0,onLuxPlusToggle:I,availableFareClasses:E=w.N9,rewardSeatsOnly:B=!1,onRewardSeatsOnlyChange:z,infiniteMemberOnly:O=!1,onInfiniteMemberOnlyChange:N,priceMode:H,onPriceModeChange:V}=e,U=(0,C.A)(),G=(0,P.GV)(D.A),_=U&&!!z,W=!!H&&!!V,$=G&&!!N&&W,Y=(0,j.A)(),J=(0,A.A)(v.S.luxRow),K=(0,r.useMemo)(()=>{let e=E.filter(e=>!(0,m.uD)(e));return e.length>0?e:(0,S.hX)(J)},[E,J]),q=K.length>1,Q=(0,r.useCallback)(e=>(0,x.aj)(Y,e),[Y]),[X,Z]=(0,r.useState)(!1),ee=(0,r.useRef)(null),[et,ea]=(0,r.useState)(!1),ei=(0,r.useRef)(null),[er,en]=(0,r.useState)(!1),eo=(0,r.useRef)(null);(0,r.useEffect)(()=>{!n.some(e=>e.value===t)&&n.length>0&&a(n[0].value)},[t,n,a]);let el=(0,r.useCallback)(e=>{a(parseInt(e.target.value,10)),ea(!1)},[a]),es=(0,r.useCallback)(()=>{ea(e=>!e)},[]),ed=(0,r.useCallback)(()=>{ea(!1)},[]),ec=(0,r.useCallback)(e=>{I?.(e.currentTarget.checked)},[I]),eh=(0,r.useCallback)(e=>{V?.(e.currentTarget.value),en(!1)},[V]),eu=(0,r.useCallback)(()=>{en(e=>!e)},[]),eg=(0,r.useCallback)(()=>{en(!1)},[]),ef=K.length>1,ep=(0,r.useCallback)(()=>{ef&&Z(e=>!e)},[ef]),em=(0,r.useCallback)(()=>{Z(!1)},[]),ex=(0,r.useCallback)(e=>{let t=e.currentTarget.value;"all"===t?f?.(null):f?.(t),Z(!1)},[f]),eb=Y.formatMessage({id:"kx--uuQIXCpg8TnLp8jT",defaultMessage:"All classes",description:"Option to show all fare classes in the charter flight calendar dropdown"}),ey=Y.formatMessage({id:"Y7XGF9bZxNQEK89br8_j",defaultMessage:"Select cabin",description:"Placeholder text for cabin class filter chip when no fare class is selected"}),eA=Y.formatMessage({id:"FDr1lx5JJcBxDolKWLaU",defaultMessage:"5 nights & flights",description:"Default duration label for charter bundle calendar when no matching option found"}),ev=Y.formatMessage({id:"kGgDSvtOWXZi9MJV-MQC",defaultMessage:"Total price",description:"Toggle label for showing total price in hotel price toggle"}),ew=Y.formatMessage({id:"nrkVKqo7sbL3FTKdBcdQ",defaultMessage:"Per person",description:"Toggle label for showing per person price in hotel price toggle"}),ej=g?(0,x.BZ)(Y,g):q?eb:ey,eM="perPerson"===H?ew:ev,ek=ef&&!!f;return(0,i.jsxs)(L,{children:[(0,i.jsxs)(R,{verticalAlign:"center",gap:8,children:[ek&&(0,i.jsxs)("div",{children:[(0,i.jsx)(o.A,{size:"medium",onClick:ep,endIcon:(0,i.jsx)(s.A,{open:X}),ref:ee,children:ej}),ek&&(0,i.jsx)(l.A,{size:"S",open:X,onClose:em,anchorRef:ee,triggerRef:ee,portaled:!0,children:(0,i.jsxs)(F,{direction:"vertical",ga
1p:16,children:[q&&(0,i.jsx)(d.A,{checked:!g,onChange:ex,name:"charterFareClass",value:"all",children:eb}),K.map(e=>(0,i.jsx)(d.A,{checked:g===e,onChange:ex,name:"charterFareClass",value:e,children:Q(e)},e))]})})]}),n.length>1&&(0,i.jsxs)("div",{children:[(0,i.jsx)(o.A,{size:"medium",onClick:es,endIcon:(0,i.jsx)(s.A,{open:et}),ref:ei,children:n.find(e=>e.value===t)?.label||eA}),(0,i.jsx)(l.A,{size:"S",open:et,onClose:ed,anchorRef:ei,triggerRef:ei,portaled:!0,children:(0,i.jsx)(F,{direction:"vertical",gap:16,children:n.map(e=>(0,i.jsx)(d.A,{checked:t===e.value,onChange:el,name:"durationNights",value:e.value,children:e.label},e.value))})})]}),b.A.BRAND===y.Zp&&(0,i.jsx)(u.h,{palette:"lux-plus",children:(0,i.jsx)(c.A,{checked:p,"data-testid":"luxPlus-toggle",onChange:ec,children:(0,i.jsx)(h.A,{inline:!0,height:10})})})]}),(_||W||$)&&(0,i.jsxs)(T,{verticalAlign:"center",gap:8,children:[$&&N&&(0,i.jsx)(k.A,{checked:O,onChange:N}),_&&(0,i.jsx)(M.A,{checked:B,onChange:z}),W&&(0,i.jsxs)("div",{children:[(0,i.jsx)(o.A,{size:"medium",onClick:eu,endIcon:(0,i.jsx)(s.A,{open:er}),ref:eo,children:eM}),(0,i.jsx)(l.A,{size:"S",open:er,onClose:eg,anchorRef:eo,triggerRef:eo,portaled:!0,children:(0,i.jsxs)(F,{direction:"vertical",gap:16,children:[(0,i.jsx)(d.A,{checked:"total"===H,onChange:eh,name:"charterPriceMode",value:"total",children:ev}),(0,i.jsx)(d.A,{checked:"perPerson"===H,onChange:eh,name:"charterPriceMode",value:"perPerson",children:ew})]})})]})]})]})}})},944907(e,t,a){var i=a(474848),r=a(784694),n=a(665673),o=a(38267),l=a(731357);let s=o.Ay.span.withConfig({componentId:"sc-2d5458b-0"})(["position:absolute;top:",";inset-inline-start:",";z-index:1;"],(0,l.D0)(-6),(0,l.D0)(-6));a.d(t,{},{A:function(){let e=(0,n.A)();return(0,i.jsx)(s,{children:(0,i.jsx)(r.A,{kind:"primary",variant:"highlight-primary-dark",children:e.formatMessage({id:"8zOPfXDH3x0oJRFsXpeG",defaultMessage:"Great value",description:"Highlight pill on Maldives charter reward fare cards promoting reward-seat value"})})})}})},116638(e,t,a){a.d(t,{A:()=>ep}),a(218111),a(22489),a(161701),a(13579),a(517642),a(658004),a(733853),a(845876),a(432475),a(515024),a(731698),a(125509),a(665223),a(660321),a(241927),a(511632),a(864377),a(966771),a(712516),a(368931),a(652514),a(235694),a(652774),a(849536),a(321926),a(994483),a(916215),a(430531),a(607588),a(720116);var i=a(474848),r=a(610377),n=a(423946),o=a(843702),l=a(296540),s=a(665673),d=a(750142),c=a(329404),h=a(117554),u=a(316510),g=a(825060),f=a(841258),p=a(731357),m=a(38267),x=a(452643),b=a(983741),y=a(790391),A=a(78272),v=a(897729),w=a(816850),j=a(919427),M=a(73659),k=a(161648),C=a(791891),P=a(196168),D=a(487725),I=a(729738),S=a(944907);let F=m.Ay.div.withConfig({componentId:"sc-c2c06c29-0"})(["display:flex;flex-direction:column;width:100%;height:100%;position:relative;flex:1;min-height:0;"]),L=(0,m.Ay)(A.A).withConfig({componentId:"sc-c2c06c29-1"})(["&{min-height:",";}"],e=>e.$hasMultipleOptions?(0,p.D0)(148):0),R=(0,m.Ay)(x.A).withConfig({componentId:"sc-c2c06c29-2"})(["display:block;width:100%;&:focus-visible{outline:"," solid ",";outline-offset:",";border-radius:",";}"],(0,p.D0)(2),e=>e.theme.palette.highlight.primary.normalForeground,(0,p.D0)(2),e=>e.theme.borderRadius.S),T=(0,m.AH)(["justify-content:flex-start;min-height:",";padding:"," "," ",";"],(0,p.D0)(64),(0,p.D0)(24),(0,p.D0)(12),(0,p.D0)(10)),E=(0,m.AH)(["justify-content:center;min-height:",";padding-block:",";padding-inline:"," ",";"],(0,p.D0)(48),(0,p.D0)(8),(0,p.D0)(12),(0,p.D0)(44)),B=m.Ay.div.withConfig({componentId:"sc-c2c06c29-3"})(["position:relative;display:flex;flex-direction:column;"," border:1px solid ",";border-radius:",";background-color:",";"],e=>e.$reward?T:E,e=>e.$selected?e.theme.palette.neutral.default.one:e.theme.palette.neutral.default.five,e=>e.theme.borderRadius.M,e=>e.$disabled?e.theme.palette.neutral.default.seven:e.theme.palette.neutral.default.eight),z=m.Ay.div.withConfig({componentId:"sc-c2c06c29-4"})(["position:absolute;top:50%;inset-inline-end:",";transform:translateY(-50%);"],(0,p.D0)(12)),O=(0,m.Ay)(b.A).withConfig({componentId:"sc-c2c06c29-5"}
1)(["height:100%;width:100%;min-width:",";"],(0,p.D0)(260)),N=m.Ay.div.withConfig({componentId:"sc-c2c06c29-6"})(["display:flex;align-items:center;justify-content:center;height:",";background-color:",";"],(0,p.D0)(20),e=>e.theme.palette.neutral.default.six),H=m.Ay.div.withConfig({componentId:"sc-c2c06c29-7"})(["display:flex;align-items:center;min-height:",";white-space:nowrap;"],(0,p.D0)(20)),V=(0,m.Ay)(v.A).withConfig({componentId:"sc-c2c06c29-8"})(["padding-inline-end:",";"],(0,p.D0)(32)),U=function({name:e,imageId:t,options:a,onSelect:r,children:n}){let o=(0,s.A)(),d=(0,D.M)(o),c=(0,l.useCallback)((e,t)=>{t||r(e)},[r]),h=o.formatMessage({id:"oDGwSeNRaY8VwqgIVTRP",defaultMessage:"{loyaltyProgramName} Rewards",description:"Inline label on Maldives charter reward fare cards naming the loyalty program"},{loyaltyProgramName:(0,I.A)()});return(0,i.jsx)(F,{children:(0,i.jsx)(O,{border:a.some(e=>e.isSelected)?"neutral-one":"neutral-five",padding:"32 16 24 16",background:"neutral-eight",children:(0,i.jsxs)(A.A,{gap:16,children:[(0,i.jsx)(j.Ay,{variant:"heading6",children:e}),(0,i.jsx)(L,{gap:8,$hasMultipleOptions:a.length>1,children:a.map(e=>(0,i.jsx)(R,{onClick:e.disabled?P.A:()=>c(e.fareId,e.disabled),"aria-pressed":e.isSelected,"aria-disabled":e.disabled||void 0,children:(0,i.jsxs)(B,{$selected:e.isSelected,$disabled:e.disabled,$reward:e.isRewardOption,children:[e.isRewardOption&&(0,i.jsx)(S.A,{}),(0,i.jsxs)(A.A,{gap:4,children:[(0,i.jsxs)(v.A,{direction:"horizontal",gap:8,horizontalAlign:"start",verticalAlign:"center",children:[e.isRewardOption&&(0,i.jsxs)(V,{direction:"horizontal",gap:8,verticalAlign:"center",children:[(0,i.jsx)(C.A,{size:20,colour:"highlight-primary-dark","aria-hidden":!0}),(0,i.jsx)(k.Ay,{variant:"small",weight:"bold",colour:"highlight-primary-dark",children:h})]}
1),!e.isRewardOption&&(0,i.jsx)(H,{children:e.subtitle})]}),e.isRewardOption&&(0,i.jsx)(H,{children:e.subtitle})]}),(0,i.jsx)(z,{children:(0,i.jsx)(w.A,{checked:e.isSelected,disabled:e.disabled})})]})},e.fareId))}),(0,i.jsxs)("div",{children:[(0,i.jsx)(y.A,{id:t,aspectRatio:"218:143",desktopAspectRatio:"309:174"}),(0,i.jsx)(N,{children:(0,i.jsx)(M.Ay,{variant:"medium",colour:"neutral-two",children:d})})]}),(0,i.jsx)("div",{children:n})]})})})};var G=a(61232),_=a(722546),W=a(360128),$=a(109313),Y=a(751421),J=a(667158),K=a(646274),q=a(283289),Q=a(305229),X=a(982771);function Z({loadingLabel:e}){return(0,i.jsx)(M.Ay,{variant:"large",weight:"normal",colour:"neutral-two",children:e})}function ee({fromLabel:e,price:t,suffix:a}){return t?(0,i.jsxs)(v.A,{direction:"horizontal",gap:4,verticalAlign:"baseline",children:[(0,i.jsx)(q.A,{children:e}),(0,i.jsx)(M.Ay,{variant:"large",weight:"bold",colour:"neutral-one",children:(0,i.jsx)(Q.A,{value:t,format:"roundedDollar"})}),(0,i.jsx)(M.Ay,{variant:"medium",colour:"neutral-three",weight:"normal",children:a})]}):null}function et({fromLabel:e,cash:t,points:a,plusLabel:r,suffix:n}){return void 0===a?null:(0,i.jsxs)(v.A,{direction:"horizontal",gap:4,verticalAlign:"baseline",children:[(0,i.jsx)(q.A,{children:e}),void 0!==t&&t>0&&(0,i.jsx)(M.Ay,{variant:"large",weight:"bold",colour:"neutral-
1one",children:(0,i.jsx)(Q.A,{value:t,format:"roundedDollar"})}),void 0!==t&&t>0&&(0,i.jsx)(M.Ay,{variant:"medium",weight:"bold",colour:"neutral-one",children:r}),(0,i.jsx)(M.Ay,{variant:"medium",weight:"bold",colour:"neutral-one",children:(0,i.jsx)(X.A,{points:a,abbreviated:!0})}),(0,i.jsx)(M.Ay,{variant:"medium",colour:"neutral-three",weight:"normal",children:n})]})}function ea({checkInDate:e,checkOutDate:t,occupancies:a,fareClass:n,rewardPreviewOnly:o,feederOriginAirportCode:d,fetching:c,bundlePrice:h,rewardHotelPrice:u}){let g,f=(0,r.uD)(n),p={fromLabel:(g=(0,s.A)()).formatMessage({id:"RUJ7Gofk5bJQT5Frz6g8",defaultMessage:"From",description:"Pricing label prefix before fare class price difference in charter flight modal"}),perPersonSuffix:g.formatMessage({id:"ew2ARy7ro3tFSM4inpHN",defaultMessage:"/person",description:"Per person pricing unit suffix in Maldives calendar"}),plusLabel:g.formatMessage({id:"UKiyIYSBCJwNz_25EM7q",defaultMessage:"+",description:"Plus sign separating cash and points in Maldives charter reward pricing"}),loadingLabel:g.formatMessage({id:"C6m8UbIIgveZbgrQtJ6T",defaultMessage:"Loading...",description:"Loading state text while charter flight prices are being fetched"})},m=(0,l.useMemo)(()=>(0,$.a4)(a),[a]),{fetching:x,rewardSeatPointsPerPerson:b,rewardSeatCashCoPayPerPerson:y,rewardAvailable:A}=(0,K.Sj)({charterBundleRoute:G.yL,checkInDate:e,checkOutDate:t,occupancies:a,fareClass:n,disabled:!f||o,feederOriginAirportCode:d});if(c||x)return(0,i.jsx)(Z,{loadingLabel:p.loadingLabel});if(f){let{points:e,cash:t}=(0,$.zk)({fareClass:n,rewardPreviewOnly:o,rewardAvailable:A,rewardSeatPointsPerPerson:b,rewardSeatCashCoPayPerPerson:y,rewardHotelPrice:u,passengerCount:m});return(0,i.jsx)(et,{fromLabel:p.fromLabel,cash:t,points:e,plusLabel:p.plusLabel,suffix:p.perPersonSuffix})}return(0,i.jsx)(ee,{fromLabel:p.fromLabel,price:h?h/m:void 0,suffix:p.perPersonSuffix})}function ei({offer:e,checkInDate:t,checkOutDate:a,occupancies:n,fareClass:o,nights:l=5,luxPlusEnabled:s=!1,rewardPreviewOnly:d=!1,feederOriginAirportCode:c}){let{fallbackPricing:h,fallbackMemberPricing:u,rewardHotelPricing:g}=(0,_.R)({offer:e,rooms:n,charterBundleRoute:G.yL,fareClass:(0,r.ND)(o),nights:l,displayMemberPrice:s,feederOriginAirportCode:c}),f=(0,$.Yc)({fallbackPricing:h,fallbackMemberPricing:u,useMemberPrice:s}),p=(0,$.H$)({rewardHotelPricing:g,useMemberPrice:s});return(0,i.jsx)(ea,{checkInDate:t,checkOutDate:a,occupancies:n,fareClass:o,rewardPreviewOnly:d,feederOriginAirportCode:c,fetching:!1,bundlePrice:f,rewardHotelPrice:p})}function er({checkInDate:e,checkOutDate:t,occupancies:a,fareClass:n,nights:o=5,luxPlusEnabled:s=!1,rewardPreviewOnly:d=!1,feederOriginAirportCode:c}){let{bundleData:h,isLoading:u}=function({checkInDate:e,occupancies:t,fareClass:a,nights:i,luxPlusEnabled:r,feederOriginAirportCode:n}){let{dateRangesByMonth:o}=(0,W.A)({charterBundleRoute:G.yL,occupancies:t,fareClass:a,feederOriginAirportCode:n}),s=(0,l.useMemo)(()=>(0,Y.Pw)(o,i),[o,i]),{calendarPricingByDate:d,isLoading:c}=(0,J.y)({rooms:t,fareClass:a,selectedFareClass:a,nights:i,charterBundleRoute:G.yL,dateRangesByMonth:s,feederOriginAirportCode:n});return{bundleData:(0,l.useMemo)(()=>e?d[e]:(0,$.QR)(d,{useMemberPrice:r,priceMode:"total"}),[d,e,r]),isLoading:c}}({checkInDate:e,occupancies:a,fareClass:(0,r.ND)(n),nights:o,luxPlusEnabled:s,feederOriginAirportCode:c}),g=h&&(0,$.QU)(h,{useMemberPrice:s,priceMode:"total"});return(0,i.jsx)(ea,{checkInDate:e,checkOutDate:t,occupancies:a,fareClass:n,rewardPreviewOnly:d,feederOriginAirportCode:c,fetching:u||!!h?.fetching,bundlePrice:g||void 0,rewardHotelPrice:(0,$.y9)(h,s)})}let en=function({offer:e,checkInDate:t,checkOutDate:a,occupancies:r,fareClass:n,nights:o=5,luxPlusEnabled:l=!1,rewardPreviewOnly:s=!1,feederOriginAirportCode:d}){return e?(0,i.jsx)(ei,{offer:e,checkInDate:t,checkOutDate:a,occupancies:r,fareClass:n,nights:o,luxPlusEnabled:l,rewardPreviewOnly:s,feederOriginAirportCode:d}):(0,i.jsx)(er,{checkInDate:t,checkOutDate:a,occupancies:r,fareClass:n,nights:o,luxPlusEnabled:l,rewardPreviewOnly:s,feederOriginAirportCode:d})};var eo=a(260633),el=a(107813),es=a(814888),ed=a(247546),ec=a(498105),eh=a(494629),eu=a(148047);let eg=[],ef=m.Ay.div.withConfig({componentId:"sc-cdc3549b-0"})(["padding-top:",";"],(0,p.D0)(12)),ep=function({offer:e,selectedClassId:t,checkInDate:a,checkOutDate:m,occupancies:x=eg,allowedFareClasses:b,nights:y,luxPlusEnabled:w=!1,feederOriginAirportCode:j,rewardSeatsOnly:M=!1,onRewardSeatsOnlyChange:C}){let P=(0,s.A)(),D=(0,el.A)(),[S,F]=(0,l.useState)(t),[L,R]=(0,l.useState)(M),T=(0,l.useCallback)(e=>{R(e),C?.(e)},[C]),E=(0,es.Qt)("desktop"),B=(0,d.GV)(e=>e.auth.account.memberId),z=(0,d.GV)(c.A),O=(0,l.useContext)(g.A),N=!B&&(0,r.uD)(S),H=!!B&&!z&&(0,r.uD)(S),[V,_]=(0,l.useState)(!1),W=(0,l.useCallback)(e=>{F(e)},[]),$=(0,l.useCallback)(()=>{D.resolve(void 0)},[D]),Y=(0,d.jL)(),J=P.formatMessage({id:"IKjGSqLP_bASWk8A0jWU",defaultMessage:"Activate membership",description:"Primary button text on the loyalty join modal when a user clicks Join Société from the fare class selection modal."}),q=(0,l.useCallback)(async()=>
1{if(N){_(!0),O((0,i.jsx)(f.A,{}));return}if(H){await O((0,i.jsx)(h.A,{onAfterClose:()=>{},primaryActionCta:J}))&&Y((0,u.A)({enrolment:"existingUserRegistration"}));return}D.resolve(S)},[N,H,O,D,S,J,Y]);(0,l.useEffect)(()=>{V&&B&&D.resolve(S)},[V,B,D,S]);let{fareFamilies:Q}=(0,ed.A)({charterBundleRoute:G.yL,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:(0,r.ND)(t),feederOriginAirportCode:j}),X=!!(a&&m),Z=(0,l.useMemo)(()=>L?b.filter(e=>(0,r.uD)(e)):b,[b,L]),ee=(0,l.useMemo)(()=>Z.map(r.ND).filter((e,t,a)=>a.indexOf(e)===t),[Z]),et=(0,l.useMemo)(()=>b.some(e=>(0,r.uD)(e)),[b]),ea=(0,K.Sj)({charterBundleRoute:G.yL,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:"economy_rewards",disabled:!X||!z||!Z.includes("economy_rewards"),feederOriginAirportCode:j}),ei=(0,K.Sj)({charterBundleRoute:G.yL,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:"premium_rewards",disabled:!X||!z||!Z.includes("premium_rewards"),feederOriginAirportCode:j}),er=(0,K.Sj)({charterBundleRoute:G.yL,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:"lux_row_rewards",disabled:!X||!z||!Z.includes("lux_row_rewards"),feederOriginAirportCode:j}),ep=(0,K.Sj)({charterBundleRoute:G.yL,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:"business_rewards",disabled:!X||!z||!Z.includes("business_rewards"),feederOriginAirportCode:j}),em=(0,l.useMemo)(()=>{let e=new Set;if(!X)return e;if(Q?.upsellFaresPerLeg){let t=new Set(Q.upsellFaresPerLeg.flatMap(e=>e.map(e=>e.cabin)));Z.forEach(a=>{let i=(0,r.ND)(a);"economy"!==i&&(t.has(r.Xe[i])||e.add(a))})}return z&&(ea.fetching||ea.rewardAvailable||e.add("economy_rewards"),ei.fetching||ei.rewardAvailable||e.add("premium_rewards"),er.fetching||er.rewardAvailable||e.add("lux_row_rewards"),ep.fetching||ep.rewardAvailable||e.add("business_rewards")),e},[X,z,Q,Z,ea.rewardAvailable,ea.fetching,ei.rewardAvailable,ei.fetching,er.rewardAvailable,er.fetching,ep.rewardAvailable,ep.fetching]),ex=(0,l.useMemo)(()=>Z.find(e=>!em.has(e)),[Z,em]);(0,l.useEffect)(()=>{let e=!Z.includes(S),t=em.has(S);(e||t)&&ex&&F(ex)},[Z,em,S,ex]);let eb=P.formatMessage({id:"TtmcS1O5XRDvnNWVelJl",defaultMessage:"Baggage",description:"Section heading for baggage allowance in charter flight fare class"}),ey=P.formatMessage({id:"zCiQOrhGcfF_PI9nQs_2",defaultMessage:"Sold out for selected dates.",description:"Error message when a fare class is sold out or unavailable for the selected travel dates"}),eA=(0,l.useCallback)(e=>(0,eu.BZ)(P,e),[P]),ev=!z||!a||!m,ew=(0,l.useCallback)(t=>(0,i.jsx)(en,{offer:e,checkInDate:a,checkOutDate:m,occupancies:x,fareClass:t,nights:y,luxPlusEnabled:w,rewardPreviewOnly:ev,feederOriginAirportCode:j}),[e,a,m,x,y,w,ev,j]),ej=ee.map(e=>{let t=ec.U[e];if(!t)return null;let a=Z.filter(t=>(0,r.ND)(t)===e);return 0===a.length?null:(0,i.jsx)(U,{imageId:t.imageId,name:eA(e),options:a.map(e=>{let t=(0,r.uD)(e),a=em.has(e);return{fareId:e,subtitle:a?(0,i.jsx)(k.Ay,{variant:"small",colour:"neutral-three",children:ey}):ew(e),isSelected:S===e,disabled:a,isRewardOption:t}}),onSelect:W,children:(0,i.jsxs)(A.A,{gap:16,children:[(0,i.jsx)(A.A,{gap:8,children:(0,i.jsx)(eh.A,{fareClass:e,section:"inclusions"})}),(0,i.jsxs)(A.A,{gap:8,children:[(0,i.jsx)(k.Ay,{variant:"small",weight:"bold",children:eb}),(0,i.jsx)(eh.A,{fareClass:e,section:"baggage"})]})]})},e)}),eM=et?(0,i.jsx)(eo.A,{checked:L,onChange:T}):null,ek=P.formatMessage({id:"cQ1XgUVc5zOpGzYRq84Q",defaultMessage:"Select a class",description:"Title for charter flight fare class selection modal"}),eC=P.formatMessage({id:"4tS92bLuwVUI3LcE957Q",defaultMessage:"Continue",description:"Button text to confirm fare class selection in charter flight modal"}),eP=P.formatMessage({id:"qeSf4C3WQDiM2egpxSR1",defaultMessage:"Log in to view",description:'Primary CTA in the Maldives charter "Select a class" modal when a logged-out user picks a reward fare class. Clicking opens the account access (login) modal.'}),eD=P.formatMessage({id:"CV9ZQTxCiAPJb38-vKch",defaultMessage:"Join {loyaltyProgramName}",description:"Primary CTA in the Maldives charter fare class modal when a logged-in user without Société membership picks a reward fare class."},{loyaltyProgramName:(0,I.A)()}),eI=N?eP:H?eD:eC,eS=eM&&E?(0,i.jsxs)(v.A,{direction:"horizontal",horizontalAlign:"space-between",gap:16,verticalAlign:"center",fullWidth:!0,children:[(0,i.jsx)("span",{style:{minWidth:0},children:ek}),eM]}):ek;return(0,i.jsx)(o.A,{title:eS,subtitle:P.formatMessage({id:"Xpek05yZHohlkLZhMZhI",defaultMessage:"Maldivian · Airbus A330-200",description:"Subtitle showing airline name and aircraft type in charter flight fare class modal"}),headerExtension:eM&&!E?eM:void 0,primaryActionText:eI,onPrimaryActionClick:q,onClose:$,size:"XL",height:"full",tabletHeight:"auto",children:(0,i.jsx)(ef,{children:(0,i.jsx)(n.A,{gap:12,gutterSize:20,gutterStyle:"overflow",snap:"start",pageSize:"auto",width:(0,p.D0)(272),tabletWidth:(0,p.D0)(288),desktopWidth:(0,p.D0)(300),children:ej})})})}},416801(e,t,a){var i=a(474848),r=a(296540),n=a(665673),o=a(38267),l=a(731357),s=a(161648),d=a(914490),c=a(255616);let h=o.Ay.label.withConfig({componentId:"sc-72849a61-0"})(["display:inline-flex;align-items:center;flex-shrink:0;gap:",";cursor:pointer;white-space:nowrap;"],(0,l.D0)(8));a.d(t,{},{A:function({checked:e,onChange:t}){let a=(0,n.A)(),o=(0,r.useId)(),l=(0,r.useCallback)(e=>{t(e.target.checked)},[t]),u=a.formatMessage({id:"4VWDF0wwZSFo-sN4UbsU",defaultMessage:"Only show",description:"Label preceding the Infinite Member Price badge on the charter calendar checkbox that limits results to Infinite member fares"}),g=a.formatMessage({id:"wX3fbgsNSe0ymWoaJh9T",defaultMessage:"Only show Infinite Member Price fares",description:"Accessible name for the charter calendar checkbox that filters the date list to only Infinite Member Price fares"});return(0,i.jsxs)(h,{htmlFor:o,children:[(0,i.jsx)(d.A,{id:o,size:"medium",checked:e,onChange:l,"aria-label":g}),(0,i.jsx)(s.Ay,{variant:"small",wrap:"no-wrap",children:u}),(0,i.jsx)(c.x,{isInfiniteMember:!0})]})}})},616735(e,t,a){a(218111),a(161701),a(814603),a(147566),a(198721);var i,r=a(811645),n=a(267662),o=a(772675);let l=["All-inclusive","Family Friendly","Ski","Theme Park","Honeymoon","Adults-only","Beach",void 0];function s({destinationLandingPageType:e,place:t,holidayType:a,isExperimentOn:i,intl:r}){let n=t?.name??"",o=new Date().getFullYear(),l=(o+1).toString().slice(-2),d=`${o}/${l}`;if(i)return r.formatMessage({id:"ehjp8xG6UsqlwC9HsRse",defaultMessage:"Top {placeName} Resorts - Exclusive {yearRange} Offers",description:"Experimental meta title for destination resorts landing page"},{placeName:n,yearRange:d});if("resorts"===e)return r.formatMessage({id:"hMNsyRy8KkqBWoJCgGqU",defaultMessage:"{placeName} Resorts - Best Exclusive Deals for {yearRange}
1",description:"Meta title for destination resorts landing page on the promotional landing page"},{placeName:n,yearRange:d});let{title:c}=p({destinationLandingPageType:e,placeName:n,holidayType:a,intl:r});return c}function d({destinationLandingPageType:e,place:t,holidayType:a,isExperimentOn:i,intl:r}){if(i){let e=t?.canonicalName;return e?r.formatMessage({id:"1tQTIHCPDqf7VVkwYRZD",defaultMessage:"Discover the best resorts in {location}. Enjoy exclusive offers, top-tier amenities, and unbeatable savings with Luxury Escapes.",description:"Experimental meta description for destination resorts page with location"},{location:e}):r.formatMessage({id:"fSEo6IXwzFf2ioU5LLwV",defaultMessage:"Discover the best resorts. Enjoy exclusive offers, top-tier amenities, and unbeatable savings with Luxury Escapes.",description:"Experimental meta description for destination resorts page without location"})}return function({destinationLandingPageType:e,place:t,holidayType:a,intl:i}){let r=new Date().getFullYear();if("holiday-packages"===e){let e=t?.name??"",n=`${r}/${r+1}`;return i.formatMessage({id:"J-8wTeSyMA29kb-rrBM5",defaultMessage:"{placeName} {holidayType} Holiday Package deals for travel in {yearRange}. Save on luxury hotel + flight bundles. Get exclusive inclusions.",description:"Meta description for holiday packages destination landing page"},{placeName:e||"",holidayType:a||"",yearRange:n}).trim().replace(/ {2,}/g," ")}if("resorts"===e){let e=t?.canonicalName;return e?i.formatMessage({id:"H1C0-C5Q-UDMq7K3gNbx",defaultMessage:"Discover the best resorts in {location}. Enjoy exclusive offers, top-tier amenities, and unbeatable savings with Luxury Escapes.",description:"Meta description for destination resorts page with location"},{location:e}):i.formatMessage({id:"r30e4Nav54v7cQ27I5iG",defaultMessage:"Discover the best resorts. Enjoy exclusive offers, top-tier amenities, and unbeatable savings with Luxury Escapes.",description:"Meta description for destination resorts page without location"})}throw Error("getDescription:Invalid destinationLandingPageType")}({destinationLandingPageType:e,place:t,holidayType:a,intl:r})}function c(e){return e.replace(/\+/g," ").split(" ").map(e=>e.split("-").map((e,t)=>0===t?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e.toLowerCase()).join("-")).join(" ")}function h(e){return!!l.includes(e)}var u=((i={}).HolidayPackages="holiday-packages",i.Resorts="resorts",i);function g(e){if(e.startsWith("/:regionCode/holiday-packages/"))return"holiday-packages";if(e.startsWith("/:regionCode/resorts/"))return"resorts";throw Error("getDestinationLandingPageType:Invalid path")}function f({filters:e,destinationLandingPageType:t,hasHolidayType:a,urlHolidayType:i,place:n}){let o=a?[c(i)]:[],l=n?.id??"";if("holiday-packages"===t)return{...e,holidayTypes:[...e.holidayTypes??[],...o],destinationId:l,offerTypes:[r.MS,"rental","hotel",r.dE]};if("resorts"===t)return{...e,destinationId:l,offerTypes:[r.MS,"rental","hotel",r.dE]};throw Error("getFilters:Invalid destinationLandingPageType")}function p({destinationLandingPageType:e,placeName:t,holidayType:a,intl:i}){let r=(0,o.k)({location:{name:t},language:i.locale,intent:"location"});if("holiday-packages"===e)return{title:i.formatMessage({id:"4oebVjPkESZ1FgjF6hG1",defaultMessage:"{placeName} {holidayType} Holiday Packages",description:"Page title for holiday packages destination landing page"},{placeName:t,holidayType:a}),subtitle:i.formatMessage({id:"t0fe9ddh29kfXwYARTTY",defaultMessage:"Explore our Holiday Package deals in {placeName}",description:"Page subtitle for holiday packages destination landing page"},{placeName:r})};if("resorts"===e)return{title:i.formatMessage({id:"alfkq-3aTyLd692gG4cu",defaultMessage:"{placeName} Resorts",description:"Page title for resorts destination landing page on the promotional landing page"},{placeName:t}),subtitle:i.formatMessage({id:"OVFhTZfOlDPZDdqLOi4w",defaultMessage:"Explore our Resorts in {placeName}",description:"Page subtitle for resorts destination landing page"},{placeName:r})};throw Error("getTitleAndSubTitle:Invalid destinationLandingPageType")}function m({originalSearch:e,destinationName:t,destinationId:a,adults:i=2,children:r="none",pages:n=1,holidayType:o}){let l=new URLSearchParams(e);return o&&l.set("holidayTypes",o),l.set("destinationName",t),l.set("destinationId",a),l.set("adults",String(i)),l.set("children",r),l.set("pages",String(n)),l.toString()}function x(e,t){return"luxuryescapes"===n.A.BRAND&&"resorts"===t&&e.length%2==1}a.d(t,{Go:()=>s,JU:()=>u,Xh:()=>h,f3:()=>c,gA:()=>f,kV:()=>p,ke:()=>x,r_:()=>g,sl:()=>d,u6:()=>m})},851451(e,t,a){var i=a(296540),r=a(155693),n=a(610377);function o(){let[e,t]=(0,r.ZA)("fareClass",r.tU),[a,o]=(0,r.ZA)("selectedCabin",r.tU),[l,s]=(0,r.ZA)("societeRewards",r.cr.withDefault(!1)),[d,c]=(0,r.ZA)("infiniteMember",r.cr.withDefault(!1)),h=e?(0,n.RS)(e):void 0,u=a&&(0,n.SA)(a)?(0,n.ND)(a):null,g=(0,i.useCallback)(e=>{o(e?(0,n.ND)(e):null)},[o]);return{fareClassUrlRaw:e,fareClassFromUrl:h,setFareClassUrl:t,cabinFilter:u,setCabinFilter:g,rewardSeatsOnly:l,setRewardSeatsOnly:(0,i.useCallback)(e=>{s(e),e&&c(!1)},[s,c]),infiniteMemberOnly:d,setInfiniteMemberOnly:(0,i.useCallback)(e=>{c(e),e&&s(!1)},[c,s])}}a.d(t,{l:()=>o})},813312(e,t,a){a(218111),a(720116);var i=a(296540),r=a(360128);let n=[{adults:2}];a.d(t,{},{A:function(e){let{checkInDate:t,nights:a,charterBundleRoute:o,rooms:l,fareClass:s,feederOriginAirportCode:d}=e,c=(0,i.useMemo)(()=>l&&l.length>0?l:n,[l]),{dateRangesByMonth:h}=(0,r.A)({charterBundleRoute:o,occupancies:c,fareClass:s,disabled:!o||0===c.length,feederOriginAirportCode:d}),{departDate:u,returnDate:g}=(0,i.useMemo)(()=>{let e;if(!t||!h)return{departDate:void 0,returnDate:void 0};let i="number"==typeof a;for(let r of Object.values(h)){let n=r.find(e=>e.checkIn===t&&(!i||e.nights===a));if(n)return{departDate:n.departureDate,returnDate:n.returnDate};i&&!e&&(e=r.find(e=>e.checkIn===t))}return e?{departDate:e.departureDate,returnDate:e.returnDate}:{departDate:void 0,returnDate:void 0}},[t,h,a]);return{departDate:u,returnDate:g}}})},218966(e,t,a){a(218111),a(22489);var i=a(296540),r=a(236567),n=a(503542),o=a(496036),l=a(362121);function s(e){let t=(0,l.A)(),a=(0,o.A)(n.S.luxRow);return(0,i.useMemo)(()=>{let i=(0,r.hX)(a).filter(t=>e.includes(t));return t?(0,r.Vp)(i):i},[e,a,t])}a.d(t,{A:()=>s})}}]);
2//# sourceMappingURL=1449.b07e87d5bebe3acc.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.