New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@duffel/components

Package Overview
Dependencies
Maintainers
7
Versions
238
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@duffel/components - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

14

dist/duffel-components.d.ts

@@ -93,2 +93,12 @@ /// <reference types="react" />

}
interface CurrencyConversion {
/**
* currency The ISO-4217 currency code to be used
*/
currency: string;
/**
* Conversion multiple to be applied to all prices
*/
rate: number;
}
/**

@@ -807,4 +817,8 @@ * Each offer represents flights you can buy from an airline at a particular price that meet your search criteria.

initialSegmentId?: string;
/**
* Optional currency conversion to enable prices to be shown in an alternative currency
*/
currencyConversion?: CurrencyConversion;
}
declare const SeatSelection: React.FC<SeatSelectionProps>;
export { SeatSelectionProps, SeatSelection };

2

dist/duffel-components.esm.js

@@ -1,2 +0,2 @@

import{jsx as n,jsxs as e,Fragment as t}from"react/jsx-runtime";import*as a from"react";import r,{Component as o,createContext as i,useContext as s}from"react";import l from"prop-types";import d from"smoothscroll-polyfill";import c from"classnames";import{usePopper as u}from"react-popper";import{createPortal as p}from"react-dom";var f=function(n,e){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])})(n,e)};var m=function(){return(m=Object.assign||function(n){for(var e,t=1,a=arguments.length;t<a;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}).apply(this,arguments)};function v(n,e){var t={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&e.indexOf(a)<0&&(t[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r<a.length;r++)e.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(n,a[r])&&(t[a[r]]=n[a[r]])}return t}function g(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],a=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&a>=n.length&&(n=void 0),{value:n&&n[a++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function C(n,e){var t="function"==typeof Symbol&&n[Symbol.iterator];if(!t)return n;var a,r,o=t.call(n),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(n){r={error:n}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return i}function h(n,e){for(var t=0,a=e.length,r=n.length;t<a;t++,r++)n[r]=e[t];return n}function _(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}_(".duffel-components .ff-icon {\n margin-left: initial;\n display: block;\n fill: currentColor;\n}\n");var N={arrow_forward:n("path",{d:"M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41l-6.58-6.6c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z"},void 0),bassinet:e(t,{children:[n("path",{d:"M19 12C19 14.1217 18.1571 16.1566 16.6569 17.6569C15.1566 19.1571 13.1217 20 11 20C8.87827 20 6.84344 19.1571 5.34315 17.6569C3.84286 16.1566 3 14.1217 3 12L11 12H19Z"},void 0),n("path",{d:"M16.1347 5.86529L11 11V4C12.0506 4 13.0909 4.20693 14.0615 4.60896C14.8136 4.92052 15.5125 5.34451 16.1347 5.86529ZM16.8602 6.55405L12.4142 11H18.9373C18.8482 10.293 18.6649 9.59962 18.391 8.93853C18.0264 8.05823 17.5077 7.25087 16.8602 6.55405Z"},void 0)]},void 0),chevron:n("path",{d:"M5 13H16.17L11.29 17.88C10.9 18.27 10.9 18.91 11.29 19.3C11.68 19.69 12.31 19.69 12.7 19.3L19.29 12.71C19.68 12.32 19.68 11.69 19.29 11.3L12.71 4.7C12.32 4.31 11.69 4.31 11.3 4.7C10.91 5.09 10.91 5.72 11.3 6.11L16.17 11H5C4.45 11 4 11.45 4 12C4 12.55 4.45 13 5 13Z"},void 0),close:n("path",{d:"M18.3 5.71c-.39-.39-1.02-.39-1.41 0L12 10.59 7.11 5.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"},void 0),closet:n("path",{d:"M12 4C11.0717 4 10.1815 4.36875 9.52513 5.02513C8.86875 5.6815 8.5 6.57174 8.5 7.5H10.5C10.5 7.10218 10.658 6.72064 10.9393 6.43934C11.2206 6.15804 11.6022 6 12 6C12.3978 6 12.7794 6.15804 13.0607 6.43934C13.342 6.72064 13.5 7.10218 13.5 7.5C13.5 7.89782 13.342 8.27936 13.0607 8.56066C12.7794 8.84196 12.3978 9 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2C2.23209 18.3259 2.10807 18.5015 2.04549 18.7018C1.98291 18.9022 1.98495 19.1171 2.05132 19.3162C2.11769 19.5153 2.24502 19.6885 2.41529 19.8112C2.58556 19.934 2.79012 20 3 20H21C21.2099 20 21.4144 19.934 21.5847 19.8112C21.755 19.6885 21.8823 19.5153 21.9487 19.3162C22.0151 19.1171 22.0171 18.9022 21.9545 18.7018C21.8919 18.5015 21.7679 18.3259 21.6 18.2L13 11.75V10.85C13.7216 10.6349 14.3546 10.1927 14.805 9.58919C15.2554 8.98569 15.4991 8.25303 15.5 7.5C15.5 6.57174 15.1313 5.6815 14.4749 5.02513C13.8185 4.36875 12.9283 4 12 4ZM12 13.5L18 18H6L12 13.5Z"},void 0),exit_row:n("path",{d:"M20 11H6.83001L9.71001 8.12001C10.1 7.73001 10.1 7.10001 9.71001 6.71001C9.32001 6.32001 8.69001 6.32001 8.30001 6.71001L3.71001 11.3C3.32001 11.69 3.32001 12.32 3.71001 12.71L8.30001 17.3C8.69001 17.69 9.32001 17.69 9.71001 17.3C10.1 16.91 10.1 16.28 9.71001 15.89L6.83001 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11Z"},void 0),exit_row_right:n("path",{d:"M4 11H17.17L14.29 8.12001C13.9 7.73001 13.9 7.10001 14.29 6.71001C14.68 6.32001 15.31 6.32001 15.7 6.71001L20.29 11.3C20.68 11.69 20.68 12.32 20.29 12.71L15.7 17.3C15.31 17.69 14.68 17.69 14.29 17.3C13.9 16.91 13.9 16.28 14.29 15.89L17.17 13H4C3.45 13 3 12.55 3 12C3 11.45 3.45 11 4 11Z"},void 0),galley:n("path",{d:"M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z"},void 0),lavatory:n("path",{d:"M5.5 22v-7.5H4V9c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v5.5H9.5V22h-4zM18 22v-6h3l-2.54-7.63C18.18 7.55 17.42 7 16.56 7h-.12c-.86 0-1.63.55-1.9 1.37L12 16h3v6h3zM7.5 6c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2zm9 0c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2z"},void 0),lie_flat_seat:n("path",{d:"M6.16667 12.8333C6.81667 12.8333 7.45834 12.5833 7.95001 12.0833C8.91667 11.0916 8.90001 9.51659 7.91667 8.54992C7.42501 8.07492 6.79167 7.83325 6.16667 7.83325C5.51667 7.83325 4.87501 8.08325 4.38334 8.58325C3.41667 9.57492 3.43334 11.1499 4.41667 12.1166C4.90834 12.5916 5.54167 12.8333 6.16667 12.8333ZM5.57501 9.74992C5.73334 9.59159 5.94167 9.49992 6.16667 9.49992C6.38334 9.49992 6.59167 9.58325 6.75001 9.73325C7.08334 10.0583 7.08334 10.5749 6.76667 10.9083C6.60001 11.0749 6.39167 11.1666 6.16667 11.1666C5.95001 11.1666 5.74167 11.0833 5.58334 10.9333C5.25001 10.5999 5.25001 10.0833 5.57501 9.74992ZM17 7.83325H9.50001V12.8333H20.3333V11.1666C20.3333 9.32492 18.8417 7.83325 17 7.83325ZM11.1667 11.1666V9.49992H17C17.9167 9.49992 18.6667 10.2499 18.6667 11.1666H11.1667ZM3.66667 15.3333H8.66667V16.9999H15.3333V15.3333H20.3333V13.6666H3.66667V15.3333Z"},void 0),no_airplane:n("path",{d:"M14.6674 10.0001V2.66675C14.6674 1.56008 13.7741 0.666748 12.6674 0.666748C11.5607 0.666748 10.6674 1.56008 10.6674 2.66675V7.57341L21.1074 18.0134L25.3341 19.3334V16.6667L14.6674 10.0001ZM1.33407 5.02675L7.9874 11.6801L0.000732422 16.6667V19.3334L10.6674 16.0001V23.3334L8.00073 25.3334V27.3334L12.6674 26.0001L17.3341 27.3334V25.3334L14.6674 23.3334V18.3601L22.3074 26.0001L24.0007 24.3067L3.0274 3.33341L1.33407 5.02675Z"},void 0),no_seat:e(t,{children:[n("path",{d:"M25.1667 21.9733L23.4733 23.6667L2.5 2.69333L4.19333 1L7.16667 3.97333L16.5267 13.3333L19.1933 16L24.5 21.3067L25.1667 21.9733Z"},void 0),n("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.16667 24H3.16667V16H19.1933L24.5 21.3067V24H20.5V20H7.16667V24ZM27.1667 9.33333H23.1667V13.3333H27.1667V9.33333ZM4.5 9.33333H0.5V13.3333H4.5V9.33333ZM20.3333 13.3333H20.5V2.66667C20.5 1.2 19.3 0 17.8333 0H9.83333C9.05784 0 8.3569 0.335483 7.86848 0.868484L20.3333 13.3333ZM16.5267 13.3333L7.16667 3.97333V13.3333H16.5267Z"},void 0)]},void 0),seat:n("path",{d:"M7.59 5.41012C6.81 4.63012 6.81 3.36012 7.59 2.58012C8.37 1.80012 9.64 1.80012 10.42 2.58012C11.2 3.36012 11.2 4.63012 10.42 5.41012C9.63 6.20012 8.37 6.20012 7.59 5.41012ZM6 16.0001V8.00012C6 7.45012 5.55 7.00012 5 7.00012C4.45 7.00012 4 7.45012 4 8.00012V16.0001C4 18.7601 6.24 21.0001 9 21.0001H14C14.55 21.0001 15 20.5501 15 20.0001C15 19.4501 14.55 19.0001 14 19.0001H9C7.34 19.0001 6 17.6601 6 16.0001ZM19.28 19.3501L15.51 15.5801C15.14 15.2101 14.63 15.0001 14.1 15.0001H11.5V11.3201C12.59 12.2101 14.16 13.0201 15.7 13.3401C16.37 13.4801 17 12.9801 17 12.3001C17 11.7701 16.61 11.3401 16.08 11.2501C14.66 11.0101 13.2 10.2401 12.33 9.28012L10.93 7.73012C10.74 7.52012 10.5 7.35012 10.24 7.23012C9.95 7.09012 9.62 7.00012 9.28 7.00012H9.25C8.01 7.00012 7 8.01012 7 9.25012V15.0001C7 16.6601 8.34 18.0001 10 18.0001H15.07L17.85 20.7801C18.24 21.1701 18.89 21.1701 19.28 20.7801C19.68 20.3901 19.68 19.7501 19.28 19.3501Z"},void 0),seat_paid_indicator:n("path",{d:"M11.7686 0.731368C12.7766 -0.276576 14.5 0.437294 14.5 1.86274V10.8C14.5 12.5673 13.0673 14 11.3 14H2.36274C0.937294 14 0.223427 12.2766 1.23137 11.2686L11.7686 0.731368Z"},void 0),stairs:n("path",{d:"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,8h-2.42v3.33H13v3.33h-2.58 V18H6v-2h2.42v-3.33H11V9.33h2.58V6H18V8z"},void 0),wifi:n("path",{d:"M2.83333 9.50005L4.49999 11.1667C8.64166 7.02505 15.3583 7.02505 19.5 11.1667L21.1667 9.50005C16.1083 4.44172 7.89999 4.44172 2.83333 9.50005ZM9.49999 16.1667L12 18.6667L14.5 16.1667C13.125 14.7834 10.8833 14.7834 9.49999 16.1667ZM6.16666 12.8334L7.83333 14.5C10.1333 12.2 13.8667 12.2 16.1667 14.5L17.8333 12.8334C14.6167 9.61672 9.39166 9.61672 6.16666 12.8334Z"},void 0)},b=function(n){return n in N?N[n]:(console.warn("The icon "+n),null)},S=function(e){var t=e.name,a=e.size,r=e.className,o=e.viewBox;return n("svg",m({className:c("ff-icon",r),width:a||24,height:a||24,viewBox:o||"0 0 24 24","aria-label":t,"data-testid":t},{children:b(t)}),void 0)};_(".duffel-components .duffel-button {\n --BUTTON-BASE-COLOR: rgb(var(--ACCENT));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C0);\n --BUTTON-ICON-SIZE: 24px;\n --BUTTON-RADIUS: 5px;\n --BUTTON-SPACING: 6px 40px;\n --BUTTON-ICON-SPACING: 8px;\n --BUTTON-ICON-MARGIN: 12px;\n --TRANSITION-CUBIC-BEZIER: cubic-bezier(0.25, 0.8, 0.25, 1);\n\n -webkit-appearance: none;\n align-items: center;\n background-color: inherit;\n border: 2px solid var(--BUTTON-BASE-COLOR);\n border-radius: var(--BUTTON-RADIUS);\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n display: flex;\n font-family: var(--FONT-FAMILY);\n font-size: inherit;\n font-weight: normal;\n line-height: 1;\n margin: 0;\n padding: var(--BUTTON-SPACING);\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n user-select: none;\n transition: background-color 0.3s var(--TRANSITION-CUBIC-BEZIER), border-color 0.3s var(--TRANSITION-CUBIC-BEZIER),\n color 0.3s var(--TRANSITION-CUBIC-BEZIER);\n}\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 48px;\n width: 48px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only > svg {\n --BUTTON-ICON-SIZE: 24px;\n margin: 0 auto;\n }\n\n .duffel-components .duffel-button__text {\n display: block;\n font-size: var(--BUTTON-FONT-SIZE);\n font-weight: 600;\n line-height: 1.5;\n }\n\n .duffel-components .duffel-button:focus {\n outline-offset: 0.25em;\n outline: 2px solid rgb(--ACCENT);\n }\n\n .duffel-components .duffel-button--primary {\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n\n .duffel-components .duffel-button--muted {\n --BUTTON-BASE-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n\n border-color: transparent;\n }\n\n .duffel-components .duffel-button--muted.duffel-button--solid:hover,\n .duffel-components .duffel-button--muted.duffel-button--solid:active {\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid {\n background-color: var(--BUTTON-BASE-COLOR);\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid.duffel-button--muted {\n color: rgb(var(--ACCENT));\n }\n\n .duffel-components .duffel-button--solid:hover,\n .duffel-components .duffel-button--solid:active {\n border-color: transparent;\n background-color: var(--BUTTON-HOVER-COLOR);\n }\n\n .duffel-components .duffel-button--is-disabled {\n cursor: default;\n opacity: 0.4;\n user-select: none;\n pointer-events: none;\n }\n\n .duffel-components .duffel-button .duffel-button__icon {\n display: block;\n height: var(--BUTTON-ICON-SIZE);\n width: var(--BUTTON-ICON-SIZE);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--before {\n margin-right: var(--BUTTON-ICON-MARGIN);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--after {\n margin-left: var(--BUTTON-ICON-MARGIN);\n }\n\n @media screen and (min-width: 768px) {.duffel-components .duffel-button {\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C1);\n --BUTTON-ICON-SIZE: 18px;\n --BUTTON-SPACING: 4px 16px;\n line-height: 24px\n}\n .duffel-components .duffel-button:not(.duffel-button--icon-only) {\n height: 32px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 32px;\n width: 32px;\n }\n }\n");var y=a.forwardRef((function(t,a){var r=t.className,o=t.disabled,i=void 0!==o&&o,s=t.iconAfter,l=t.iconBefore,d=t.iconOnly,u=t.intent,p=void 0===u?"PRIMARY":u,f=t.text,g=t.type,C=void 0===g?"button":g,h=t.id,_=v(t,["className","disabled","iconAfter","iconBefore","iconOnly","intent","text","type","id"]),N=c("duffel-button","duffel-button--solid",r,{"duffel-button--primary":"PRIMARY"===p,"duffel-button--muted":"MUTED"===p,"duffel-button--icon-only":d,"duffel-button--is-disabled":i});return e("button",m({ref:a,type:C,className:N,disabled:i,"aria-label":f,"data-testid":h,id:h},_,{children:[l&&n(S,{className:"duffel-button__icon duffel-button__icon--before",name:l},void 0),d&&n(S,{className:"duffel-button__icon",name:d},void 0),!d&&n("span",m({className:"duffel-button__text"},{children:f}),void 0),s&&n(S,{className:"duffel-button__icon duffel-button__icon--after",name:s},void 0)]}),void 0)})),I=function(e){var t=e.className,a=e.children,r=v(e,["className","children"]),o=c("chromeless-button",t);return n("button",m({className:o},r,{children:a}),void 0)},x=function(){var n=C(r.useState(null),2),e=n[0],t=n[1];return r.useEffect((function(){null===e&&t(window.innerWidth);var n=function(){return t(window.innerWidth)};return n(),window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}}),[]),null!=e?e:0};function E(n){var e=a.useRef(null);return a.useEffect((function(){var t=document.querySelector("#"+n),a=t||function(n){var e=document.createElement("div");return e.setAttribute("id",n),e}(n);if(t||function(n){if(!document.body.lastElementChild)throw Error("document body not rendered");document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}(a),!e.current)throw Error("elementRef not assigned");return a.appendChild(e.current),function(){if(!e.current)throw Error("elementRef not assigned");e.current.remove(),a.childElementCount||a.remove()}}),[n]),e.current||(e.current=document.createElement("div")),e.current}var A=function(n){var e=n.id,t=n.children,a=E(e);return p(t,a)};_(".duffel-components .popover-container {\n width: 320px;\n padding: var(--SPACING-SM-1);\n border: 1px solid rgba(59, 64, 86, 0.1);\n border-radius: 8px;\n background: white;\n z-index: 999;\n box-shadow: 0px 1px 4px rgba(59, 64, 86, 0.3);\n}\n");var T=a.forwardRef((function(e,t){var a=e.children,r=e.style,o=e.id,i=void 0===o?"seat-selection__popover":o,s=v(e,["children","style","id"]);return n(A,m({id:i},{children:n("div",m({className:"duffel-components"},{children:n("div",m({className:"popover-container",id:i,"data-testid":i,style:r,ref:t},s,{children:a}),void 0)}),void 0)}),void 0)}));function G(e){var t=e.value,a=e.onChange,r=e.options;return n("div",m({className:"seat-map__tab-select"},{children:r.map((function(e){return n(I,m({type:"button",className:c("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":e===t}),onClick:function(){return t!==e&&a(e)}},{children:e}),e)}))}),void 0)}_(".duffel-components .seat-map__tab-select {\n width: 100%;\n max-width: 400px;\n display: flex;\n text-align: center;\n min-height: var(--SPACING-LG-1);\n margin-bottom: var(--SPACING-MD-3);\n border: 2px solid var(--GREY-200);\n border-radius: 3px;\n background-color: var(--GREY-200);\n }\n\n .duffel-components .seat-map__tab-select-option {\n appearance: none;\n outline: none;\n margin: 0;\n border: none;\n padding: var(--SPACING-XS-2) var(--SPACING-SM-3);\n font-weight: 600;\n font-size: var(--FONT-SIZES-C2);\n width: 100%;\n color: var(--GREY-900);\n background-color: var(--GREY-200);\n cursor: pointer;\n border-radius: 3px;\n }\n\n .duffel-components .seat-map__tab-select-option:hover,\n .duffel-components .seat-map__tab-select-option:focus,\n .duffel-components .seat-map__tab-select-option:active {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n\n .duffel-components .seat-map__tab-select-option--selected {\n color: var(--GREY-900);\n background-color: rgba(var(--WHITE), 1);\n box-shadow: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 2px 12px rgba(var(--BLACK), 0.08);\n }\n\n .duffel-components .seat-map__tab-select-option:first-child {\n margin-right: 1px;\n }\n\n .duffel-components .seat-map__tab-select-option:last-child {\n margin-left: 1px;\n }\n");var w={error_loading:{title:"Error loading seat maps",message:"We weren’t able to load your seat maps.",iconName:"no_airplane"},error_unavailable:{title:"Seat selection unavailable",message:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline.",iconName:"no_seat"}};_(".duffel-components .error-state__container {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: center;\n justify-content: center;\n max-width: 308px;\n text-align: center;\n margin: 0 auto;\n font-family: var(--FONT-FAMILY);\n height: 100%;\n }\n .duffel-components .error-state__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 64px;\n height: 64px;\n background-color: rgb(var(--ACCENT));\n border-radius: 50%;\n margin-bottom: var(--SPACING-MD-2);\n color: rgb(var(--WHITE));\n }\n .duffel-components .error-state__title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H4);\n line-height: 36px;\n margin: 0 0 var(--SPACING-SM-3);\n padding: 0;\n }\n .duffel-components .error-state__copy {\n color: var(--GREY-700);\n font-size: var(--FONT-SIZES-C1);\n line-height: var(--SPACING-MD-3);\n padding: 0;\n margin: 0;\n }\n");var L=function(t){var a=t.errorType;return e("div",m({className:"error-state__container","data-testid":a},{children:[n("i",m({className:"error-state__icon"},{children:n(S,{name:w[a].iconName},void 0)}),void 0),n("h3",m({className:"error-state__title"},{children:w[a].title}),void 0),n("p",m({className:"error-state__copy"},{children:w[a].message}),void 0)]}),void 0)},O=function(e){function t(n){var t=e.call(this,n)||this;return t.state={hasError:!1},t}return function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}f(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}(t,e),t.getDerivedStateFromError=function(){return{hasError:!0}},t.prototype.componentDidCatch=function(n){console.error(n)},t.prototype.render=function(){return this.state.hasError?n("div",m({className:"duffel-components"},{children:n(L,{errorType:"error_loading"},void 0)}),void 0):this.props.children},t}(o),P=function(n){return n<768},R=function(n,e,t){void 0===e&&(e="en-GB"),void 0===t&&(t={});var a=new Intl.NumberFormat(e,m({style:"currency",currency:n},t));return function(n){var e=a.format(n);return t&&t.signDisplay&&("always"===t.signDisplay||"exceptZero"===t.signDisplay&&0!==n)?e.replace(/^([+-])/,"$1 "):e}},M=function(n){return n.reduce((function(n,e){return n+=e}),0)},H=/P(?:([.,\d]+)D)?T(?:([.,\d]+)H)?(?:([.,\d]+)M)?/i,B=function(n,e){return(n.indexOf(e)+1)%n.length};_(".duffel-components .loading-state__container {\n display: flex;\n flex-direction: column;\n align-content: center;\n align-items: center;\n text-align: center;\n justify-content: center;\n font-family: var(--FONT-FAMILY);\n height: calc(100vh - var(--SPACING-XL-3));\n width: var(--SPACING-XL-3);\n margin: 0 auto;\n line-height: var(--SPACING-MD-1);\n }\n .duffel-components .loading-state__message {\n font-size: var(--FONT-SIZES-C3);\n text-transform: uppercase;\n color: var(--GREY-400);\n letter-spacing: 0.02rem;\n }\n .duffel-components .loading-state__progress-indicator {\n height: var(--SPACING-XS-2);\n margin: var(--SPACING-SM-3) 0;\n border-radius: 999px;\n width: calc(100% - var(--SPACING-SM-1));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n position: relative;\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .loading-state__progress-indicator--status {\n display: block;\n height: 100%;\n border-radius: 999px;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n position: relative;\n animation: fillstatus 1s linear;\n }\n @keyframes fillstatus {\n 0% {\n width: 0;\n }\n 70% {\n width: 100%;\n }\n 80% {\n opacity: 1;\n width: 100%;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n }\n .duffel-components .loading-state__segment {\n display: flex;\n flex-direction: row;\n margin: var(--SPACING-XS-2) 0;\n color: var(--GREY-400);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__segment--origin,\n .duffel-components .loading-state__segment--destination {\n font-weight: 600;\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n padding: 0 var(--SPACING-SM-1);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__duration {\n color: var(--GREY-400);\n font-size: var(--FONT-SIZES-C3);\n letter-spacing: 0.02rem;\n margin: var(--SPACING-XS-2) 0;\n text-transform: uppercase;\n }\n");var k=function(t){var r=t.origin,o=t.destination,i=t.duration,s=t.done,l=C(a.useState(!1),2),d=l[0],c=l[1],u=a.useRef(null);return a.useEffect((function(){d&&s&&s()})),d?null:e("div",m({className:"loading-state__container"},{children:[n("span",m({className:"loading-state__message"},{children:"Loading seat map"}),void 0),n("div",m({className:"loading-state__progress-indicator"},{children:n("span",{className:"loading-state__progress-indicator--status",ref:u,onAnimationEnd:function(){return c(!0)},"data-testid":"loading-state__progress-indicator--status"},void 0)}),void 0),e("div",m({className:"loading-state__segment"},{children:[n("span",m({className:"loading-state__segment--origin"},{children:r}),void 0),n(S,{name:"arrow_forward",size:20},void 0),n("span",m({className:"loading-state__segment--destination"},{children:o}),void 0)]}),void 0),n("span",m({className:"loading-state__duration"},{children:i}),void 0)]}),void 0)},Z=function(){return{}},F=i({offer:{},seatMaps:[],passengers:[],segments:[],segmentId:"",passengerId:"",currentSelectedSegment:{},currentSelectedPassenger:{},seatSelection:{},size:"default",currentSeat:{},setCurrentSeat:Z,onSelectSeat:Z,onSelectPassenger:Z,setIsLoading:Z,extendedSeatInfo:[],setExtendedSeatInfo:Z}),z=function(){return s(F)};_(".duffel-components .passenger-selection-passenger {\n appearance: none;\n border: none;\n background: none;\n cursor: pointer;\n font-size: var(--FONT-SIZES-C2);\n font-family: var(--FONT-FAMILY);\n margin-top: var(--SPACING-XS-2);\n height: 32px;\n display: flex;\n align-items: center;\n padding: var(--SPACING-SM-1) var(--SPACING-LG-1);\n width: 100%;\n}\n\n .duffel-components .passenger-selection-passenger:first-child {\n margin-top: 0;\n }\n\n .duffel-components .passenger-selection-passenger:hover,\n .duffel-components .passenger-selection-passenger:focus,\n .duffel-components .passenger-selection-passenger:active {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n\n .duffel-components .passenger-selection-passenger__identifier,\n .duffel-components .passenger-selection-passenger__action {\n line-height: 1;\n }\n\n .duffel-components .passenger-selection-passenger__identifier {\n flex-grow: 1;\n margin-right: var(--SPACING-LG-1);\n text-align: left;\n color: var(--GREY-900);\n }\n\n .duffel-components .passenger-selection-passenger__action {\n color: var(--GREY-600);\n margin-right: var(--SPACING-XS-2);\n }\n\n .duffel-components .passenger-selection-passenger__seat-designator {\n color: var(--GREY-900);\n font-weight: 600;\n margin-right: var(--SPACING-SM-3);\n }\n\n .duffel-components .passenger-selection-passenger__seat-price {\n text-align: right;\n display: inline-block;\n width: 70px;\n }\n\n .duffel-components .passenger-selection-passenger--selected {\n box-shadow: 4px 0px 0px 0px rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000)) inset;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n");var Y=function(t){var a=t.segment,r=t.passenger,o=t.passengerIndex,i=z(),s=i.seatSelection,l=i.segmentId,d=i.passengerId,u=i.onSelectPassenger,p=i.currentSelectedSegment,f=i.setIsLoading,v=s[a.id]&&s[a.id][r.id];return e("button",m({"data-testid":"passenger-"+r.id,type:"button",onClick:function(){p.id!==a.id&&f(!0),u(r.id,a.id)},className:c("passenger-selection-passenger",{"passenger-selection-passenger--selected":l===a.id&&d===r.id})},{children:[n("span",m({className:"passenger-selection-passenger__identifier"},{children:r.name||"Passenger "+(o+1)}),void 0),v&&v.service?e("span",m({className:"passenger-selection-passenger__action"},{children:[n("span",m({className:"passenger-selection-passenger__seat-designator"},{children:v.designator}),void 0),n("span",m({className:"passenger-selection-passenger__seat-price"},{children:R(v.service.total_currency)(+v.service.total_amount)}),void 0)]}),void 0):n("span",m({className:"passenger-selection-passenger__action"},{children:"Unselected"}),void 0)]}),r.id)};_(".duffel-components .passenger-segment__title {\n color: var(--GREY-900);\n font-style: normal;\n font-size: var(--FONT-SIZES-C1);\n font-weight: 600;\n line-height: var(--SPACING-MD-3);\n padding: 0 0 0 var(--SPACING-LG-1);\n margin: 0 0 var(--SPACING-SM-1);\n display: flex;\n align-items: center;\n }\n .duffel-components .passenger-segment__chevron {\n margin: 0 var(--SPACING-SM-1);\n color: var(--GREY-400);\n }\n");var U=function(t){var a=t.segment,r=t.className;return e("h3",m({className:c(r,"passenger-segment__title")},{children:[a.origin.iata_code,n(S,{name:"chevron",className:"passenger-segment__chevron",size:20},void 0),a.destination.iata_code]}),void 0)};_(".duffel-components .passenger-selection-segment {\n margin: var(--SPACING-LG-1) 0 0;\n padding: 0 0 var(--SPACING-LG-1);\n border-bottom: 1px solid var(--GREY-200);\n font-family: var(--FONT-FAMILY);\n}\n\n .duffel-components .passenger-selection-segment:first-child {\n margin-top: 0;\n }\n");var V=function(t){var a=t.segment,r=z().passengers;return e("li",m({className:"passenger-selection-segment"},{children:[Object.keys(a).length>0&&n(U,{segment:a},void 0),r.map((function(e,t){return n(Y,{segment:a,passenger:e,passengerIndex:t},e.id)}))]}),a.id)};_(".duffel-components .passenger-selection {\n display: flex;\n flex-direction: column;\n font-family: var(--FONT-FAMILY);\n flex-grow: 1;\n}\n\n .duffel-components .passenger-selection__title {\n margin: 0;\n padding: 0 0 var(--SPACING-MD-3);\n font-size: var(--FONT-SIZES-H2);\n line-height: 1.2;\n min-width: 360px;\n }\n\n .duffel-components .passenger-selection__segments {\n list-style: none;\n overflow-y: auto;\n font-size: var(--FONT-SIZES-C1);\n padding: var(--SPACING-XS-2);\n margin: calc(var(--SPACING-XS-2) * -1);\n }\n");var j=function(){var e=z().segments;return n("div",m({className:"passenger-selection"},{children:n("ul",m({className:"passenger-selection__segments"},{children:e.map((function(e){return n(V,{segment:e},e.id)}))}),void 0)}),void 0)},q=function(e){var t=e.value,a=e.setValue,r=["Lower deck","Upper deck"];return n(G,{options:r,value:r[t],onChange:function(n){return a(r.indexOf(n))}},void 0)};_(".duffel-components .seat-map__legend {\n width: calc(100% + var(--SPACING-MD-3));\n min-height: fit-content;\n margin: calc(var(--SPACING-SM-1) * -1) calc(var(--SPACING-SM-2) * -1);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3));\n font-size: var(--FONT-SIZES-C2);\n font-weight: 400;\n }\n .duffel-components .seat-map__legend-item {\n display: flex;\n align-items: center;\n text-transform: capitalize;\n margin: var(--SPACING-SM-1) var(--SPACING-SM-2);\n color: var(--GREY-700);\n }\n .duffel-components .seat-map__legend-item--symbol .ff-icon {\n margin-right: var(--SPACING-XS-3);\n }\n .duffel-components .seat-map__legend-seat {\n width: var(--SPACING-MD-1);\n height: var(--SPACING-MD-1);\n border-radius: 5px;\n border: 2px solid var(--GREY-400);\n color: var(--GREY-400);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: var(--SPACING-SM-1);\n }\n .duffel-components .seat-map__legend-seat--fee-payable {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--fee-payable-indicator {\n position: relative;\n top: var(--SPACING-XS-2);\n left: var(--SPACING-XS-2);\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .seat-map__legend-seat--included {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n }\n");var D=function(t){var a=t.symbols;return e("div",m({className:"seat-map__legend"},{children:[e("span",m({className:"seat-map__legend-item"},{children:[n("span",m({className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat"},{children:n(S,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12},void 0)}),void 0),"Additional Cost"]}),void 0),e("span",m({className:"seat-map__legend-item"},{children:[n("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"},void 0),"Included"]}),void 0),e("span",m({className:"seat-map__legend-item"},{children:[n("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"},void 0),"Selected"]}),void 0),e("span",m({className:"seat-map__legend-item"},{children:[n("span",m({className:"seat-map__legend-seat","aria-label":"Unavailable seat"},{children:n(S,{name:"close",size:14},void 0)}),void 0),"Unavailable"]}),void 0),h([],C(a)).map((function(t){return e("span",m({className:"seat-map__legend-item seat-map__legend-item--symbol"},{children:[n(S,{name:t,size:20},void 0),t.split("_")[0]]}),t)}))]}),void 0)};_(".duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-1);\n color: var(--GREY-600);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--SPACING-SM-1);\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--wrapped {\n background-color: var(--GREY-100);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n }\n");var X=["bassinet","exit_row"],W=function(e){var t=e.type,a=x();return n("div",m({className:c("map-element map-element--amenity",{"map-element--wrapped":!X.includes(t)}),"aria-label":t.toString()},{children:n(S,{name:t,size:P(a)?16:24},void 0)}),void 0)};_(".duffel-components .seat-info {\n background-color: rgb(var(--WHITE));\n padding: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n}\n\n .duffel-components .seat-info__details {\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n font-weight: normal;\n text-transform: none;\n display: flex;\n justify-content: space-between;\n }\n\n .duffel-components .seat-info__details > span {\n flex-grow: 1;\n margin: 0 var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__disclosure {\n font-size: var(--FONT-SIZES-C3);\n color: var(--GREY-600);\n line-height: 150%;\n text-transform: none;\n font-weight: normal;\n margin-top: var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__details + .seat-info__disclosure {\n padding-top: var(--SPACING-SM-3);\n border-top: 1px solid var(--GREY-200);\n margin-top: var(--SPACING-SM-3);\n }\n");var K=function(t){var a=t.seat,r=t.service,o=r?R(r.total_currency)(+r.total_amount):"";return e("div",m({className:"seat-info"},{children:[e("div",m({className:"seat-info__details"},{children:[n("strong",{children:null==a?void 0:a.designator},void 0),e("span",{children:[(null==a?void 0:a.name)||"Seat"," "]},void 0),n("strong",{children:o},void 0)]}),void 0),null==a?void 0:a.disclosures.map((function(e,t){return n("div",m({className:"seat-info__disclosure"},{children:e}),t)}))]}),void 0)};_(".duffel-components .map-element__seat {\n appearance: none;\n outline: none;\n cursor: default;\n width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n box-sizing: border-box;\n color: var(--GREY-600);\n background-color: var(--GREY-100);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3);\n text-transform: uppercase;\n font-weight: bold;\n font-size: var(--FONT-SIZES-C3);\n text-align: left;\n position: relative;\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element__seat {\n width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--available {\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .map-element--fee-payable {\n position: absolute;\n top: 22px;\n left: 22px;\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--fee-payable {\n top: 26px;\n left: 26px\n }\n }\n @media (hover: hover) and (pointer: fine) {\n .duffel-components .map-element--actionable:hover {\n cursor: pointer;\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover .map-element--fee-payable {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n }\n .duffel-components .map-element--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n color: rgba(var(--WHITE), 1);\n }\n");var $=function(o){var i=o.seat,s=x(),l=C(a.useState(!1),2),d=l[0],p=l[1],f=function(n,e,t,a){var o=Object.assign({},{shouldInsideClickClose:!1},a).shouldInsideClickClose,i=C(r.useState(null),2),s=i[0],l=i[1],d=C(r.useState(null),2),c=d[0],p=d[1],f=C(r.useState(null),2),v=f[0],g=f[1],h=m(m({},{placement:"auto",modifiers:[{name:"arrow",options:{element:v}}]}),t),_=u(s,c,h),N=r.useCallback((function(n){var t=!!c&&c.contains(n.target);t||e(),o&&t&&setTimeout(e,10)}),[c,e,o]),b=r.useCallback((function(n){"Escape"===n.key&&e()}),[e]);return r.useEffect((function(){if(null!==document)return n&&(document.body.addEventListener("click",N),document.body.addEventListener("keydown",b)),function(){document.body.removeEventListener("click",N),document.body.removeEventListener("keydown",b)}}),[n,N,b]),{popper:_,setReferenceElement:l,setPopperElement:p,setArrowElement:g}}(d,(function(){return p(!1)}),{placement:"top",modifiers:[{name:"offset",options:{offset:[0,8]}}]},{shouldInsideClickClose:!1}),v=f.popper,g=v.styles,_=v.attributes,N=f.setReferenceElement,b=f.setPopperElement,y=z(),I=y.passengers,E=y.passengerId,A=y.segmentId,G=y.seatSelection,w=y.currentSeat,L=y.setCurrentSeat,O=y.onSelectSeat,M=y.extendedSeatInfo,H=y.setExtendedSeatInfo,B=function(n,e,t){var a,r,o=null===(a=n.available_services)||void 0===a?void 0:a.find((function(n){return n.passenger_id===e})),i=null===(r=n.available_services)||void 0===r?void 0:r.find((function(n){var e,a;return!!t&&(null===(a=null===(e=t[n.passenger_id])||void 0===e?void 0:e.service)||void 0===a?void 0:a.id)===n.id}));return{service:o,isAvailable:o&&!i||!1,selectedBy:null==i?void 0:i.passenger_id}}(i,E,G[A]),k=B.service,Z=B.isAvailable,F=B.selectedBy,Y=a.useMemo((function(){return function(n,e){if(!e)return!1;var t="";return n.forEach((function(n,a){var r,o;if(n.name){var i=new RegExp(/(\p{L}{1})\p{L}+/,"gu"),s=h([],C(n.name.matchAll(i)))||[];if(n.id===e)return t=(((null===(r=s.shift())||void 0===r?void 0:r[1])||"")+((null===(o=s.pop())||void 0===o?void 0:o[1])||"")).toUpperCase()}if(n.id===e)return t="P"+(a+1)})),t}(I,F)}),[I,F]),U=""+(k&&R(k.total_currency)(+k.total_amount)),V=(null==k?void 0:k.total_amount)&&0!==parseInt(null==k?void 0:k.total_amount),j=F&&F!==E,q=a.useMemo((function(){return function(n){if(null!==n){var e=n.segment,t=n.seat.designator;M.map((function(n){return n})).find((function(n){return n.segment===e&&n.seat.designator===t}))?H(M.splice(M.findIndex((function(n){return n.segment!==e&&n.seat.designator!==t})))):k&&H(h(h([],C(M)),[m(m({},n),{service:k})]))}}}),[M,k,H]);return n(t,{children:F||Z?e("button",m({id:i.designator,type:"button",className:c("map-element","map-element__seat",{"map-element--available":Z&&!F,"map-element--selected":F,"map-element--actionable":Z||F==E}),onClick:function(n){(k&&q({segment:A,seat:i,service:k}),P(s)&&(w.seat===i?L({seat:null,service:void 0}):L({seat:i,service:k})),k&&!j)&&(O(F===E?null:{designator:i.designator,service:k}),n.target.blur())},onMouseEnter:function(){return!P(s)&&p(!0)},onMouseLeave:function(){return!P(s)&&p(!1)},ref:N,"aria-label":i.designator+" "+(i.name||"Seat")+" "+U},{children:[V&&n(S,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:P(s)?16:24},void 0),F?Y:i.designator.charAt(i.designator.length-1),d&&!j&&k&&!P(s)&&n(T,m({ref:b,style:m({},g.popper)},_.popper,{children:n(K,{seat:i,service:k},void 0)}),void 0)]}),void 0):n("span",m({className:"map-element map-element__seat","aria-label":i.designator+" "+(i.name||"Seat")+" Unavailable"},{children:n(S,{name:"close",size:P(s)?14:16},void 0)}),void 0)},void 0)};_(".duffel-components .map-element--exit {\n color: var(--GREY-400);\n width: 100%;\n height: var(--SPACING-LG-3);\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n\n .duffel-components .map-element--exit--right {\n justify-content: flex-end;\n }\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3)\n }\n }\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-XS-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-SM-1)\n }\n }\n\n.duffel-components .map-section {\n display: flex;\n justify-content: center;\n padding: var(--SPACING-XS-1) 0;\n}\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section {\n padding: var(--SPACING-XS-2) 0\n}\n }\n\n.duffel-components .map-section--left {\n border-left: 2px solid var(--GREY-200);\n padding-left: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--left.map-section--wing {\n box-shadow: -19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section--right {\n border-right: 2px solid var(--GREY-200);\n padding-right: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--right.map-section--wing {\n box-shadow: 19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section__aisle {\n display: flex;\n justify-content: center;\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C3);\n line-height: var(--SPACING-MD-2);\n }\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section__aisle {\n font-size: var(--FONT-SIZES-C2);\n line-height: var(--SPACING-MD-3)\n }\n }\n");var J=function(e,a,r){return n(t,{children:"seat"===e.type?n($,{seat:e},a):"empty"===e.type?n("div",{className:"map-element map-element--empty"},a):"exit_row"===e.type?n("div",m({className:c("map-element map-element--exit",{"map-element--exit--right":r>0})},{children:n(S,0===r?{name:"exit_row"}:{name:"exit_row_right"},void 0)}),a):n(W,{type:e.type},a)},void 0)},Q=function(r){var o=r.row,i=r.hasWings,s=function(n){var e=Object.values(n.sections).map((function(n){return n.elements})).reduce((function(n,e){return n.concat(e)}),[]).filter((function(n){return"seat"===n.type}));return e.length>0?e[0].designator.substring(0,e[0].designator.length-1):null}(o);return n(t,{children:Object.values(o.sections).map((function(t,r){return e(a.Fragment,{children:[n("div",m({className:c("map-section",{"map-section--left":0===r,"map-section--right":r===o.sections.length-1,"map-section--wing":i}),"data-testid":"row-section-"+r},{children:t.elements.length>0?t.elements.map((function(e,t){return n(a.Fragment,{children:J(e,t,r)},t)})):J({type:"empty"},-1,r)}),void 0),r<Object.keys(o.sections).length-1&&n("span",m({className:"map-section__aisle"},{children:s}),void 0)]},r)}))},void 0)};_(".duffel-components .seat-map {\n background-color: rgba(var(--WHITE), 1);\n padding: var(--SPACING-SM-3);\n display: flex;\n flex-direction: column;\n align-items: center;\n width: fit-content;\n min-height: 100%;\n}\n\n @media only screen and (min-width: 768px) {.duffel-components .seat-map {\n padding: var(--SPACING-LG-1) var(--SPACING-SM-3) var(--SPACING-SM-3)\n}\n }\n\n .duffel-components .seat-map__legend-container {\n margin-bottom: var(--SPACING-MD-3);\n width: fit-content;\n }\n\n .duffel-components .seat-map__map-container {\n display: grid;\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-1)) auto;\n grid-column-gap: var(--SPACING-XS-2);\n align-items: center;\n width: min-content;\n margin: 0 var(--SPACING-SM-2);\n }\n\n @media only screen and (min-width: 768px) {\n\n .duffel-components .seat-map__map-container {\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-2)) auto;\n grid-column-gap: var(--SPACING-SM-2);\n margin: 0;\n padding-bottom: var(--SPACING-LG-1)\n }\n }\n");var nn=function(){var t=z(),r=t.segmentId,o=t.offer,i=t.seatMaps,s=C(a.useState(0),2),l=s[0],d=s[1],u=function(n,e,t,a){var r=t.find((function(n){return n.segment_id===e}));if(!(null==r?void 0:r.cabins)||0===(null==r?void 0:r.cabins.length))return{cabin:null};var o=a.slices.length>0&&a.slices[0].segments.length>0&&a.slices[0].segments[0].passengers.length>0&&a.slices[0].segments[0].passengers[0].cabin_class,i=null==r?void 0:r.cabins.filter((function(n){return n.cabin_class===o}));return{cabin:i.find((function(e){return e.deck===n}))||i[0]||(null==r?void 0:r.cabins[0]),hasMultipleDecks:i.length>1,anyHasWings:i.some((function(n){return n.wings}))}}(l,r,i,o),p=u.cabin,f=u.hasMultipleDecks,v=u.anyHasWings;if(!p)return n(L,{errorType:"error_unavailable"},void 0);var h=function(n){var e,t,a,r,o,i,s=new Set;try{for(var l=g(n.rows),d=l.next();!d.done;d=l.next()){var c=d.value;try{for(var u=(a=void 0,g(c.sections)),p=u.next();!p.done;p=u.next()){var f=p.value;try{for(var m=(o=void 0,g(f.elements)),v=m.next();!v.done;v=m.next()){var C=v.value;"seat"!==C.type&&"empty"!==C.type&&s.add(C.type)}}catch(n){o={error:n}}finally{try{v&&!v.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}}catch(n){a={error:n}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(a)throw a.error}}}}catch(n){e={error:n}}finally{try{d&&!d.done&&(t=l.return)&&t.call(l)}finally{if(e)throw e.error}}return s}(p);return e("div",m({"data-testid":"seat-map",className:c("seat-map",{"seat-map--wings":v})},{children:[f&&n(q,{value:l,setValue:function(n){d(n)}},void 0),n("div",m({className:"seat-map__legend-container"},{children:n(D,{symbols:h},void 0)}),void 0),n("div",m({className:"seat-map__map-container",style:{"--CABIN-AISLES":p.aisles}},{children:p.rows.map((function(e,t){return n(Q,{row:e,hasWings:!!p.wings&&(p.wings.first_row_index<=t&&p.wings.last_row_index>=t)},t)}))}),void 0)]}),void 0)};_(".duffel-components .summary__segment {\n border-bottom: 1px solid var(--GREY-200);\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n }\n\n .duffel-components .summary__segment > .passenger-segment__title {\n padding: 0;\n margin: 0;\n }\n\n .duffel-components .summary__segment-passenger {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-C1);\n font-weight: normal;\n margin: 0;\n padding: 0;\n }\n .duffel-components .summary__description-cost {\n display: flex;\n justify-content: space-between;\n font-size: var(--FONT-SIZES-C1);\n margin-bottom: var(--SPACING-SM-3);\n }\n .duffel-components .summary:not(.summary--mobile) {\n padding-top: 0;\n display: none;\n }\n .duffel-components .summary__actions {\n display: flex;\n }\n .duffel-components .summary__actions--previous {\n transform: rotate(180deg);\n }\n .duffel-components .summary__actions > button:last-of-type {\n flex: 1 auto;\n justify-content: center;\n margin-left: var(--SPACING-SM-3);\n }\n @media screen and (min-width: 768px) {\n .duffel-components .summary:not(.summary--mobile) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .duffel-components .summary--mobile {\n display: none;\n }\n\n .duffel-components .summary__description-title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H5);\n line-height: 26px;\n margin-bottom: var(--SPACING-XS-2);\n }\n\n .duffel-components .summary__description-cost {\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C2);\n line-height: 21px;\n margin-bottom: 0;\n }\n .duffel-components .summary__actions--previous.duffel-button--icon-only {\n padding: 0;\n }\n .duffel-components .summary__actions .summary__confirmation-btn:last-child {\n margin-left: var(--SPACING-SM-1);\n }\n }\n");var en=function(t){var a=t.primaryButtonCopy,r=t.onBackClick,o=t.disableBackButton,i=t.onClick,s=t.iconAfter,l="summary-button-"+a.replace(" ","-").toLowerCase();return e("div",m({className:"summary__actions"},{children:[n(y,{text:"Previous passenger",onClick:r,disabled:o,intent:"MUTED",iconOnly:"chevron","aria-label":"Previous passenger",className:"summary__actions--previous"},void 0),n(y,m({"data-testid":l,text:a,className:"summary__confirmation-btn",onClick:i},s),void 0)]}),void 0)},tn=function(r){var o,i=r.onClick,s=r.primaryButtonCopy,l=r.iconAfter,d=r.onBackClick,c=r.disableBackButton,u=z(),p=u.seatSelection,f=u.segments,v=u.passengers,g=u.currentSelectedPassenger,C=u.currentSelectedSegment,h=u.offer,_=(o=p,Object.values(o).map((function(n){return Object.values(n)})).map((function(n){return n.map((function(n){return(null==n?void 0:n.service)||null}))})).flat().filter((function(n){return null!==n}))),N=a.useMemo((function(){return M(_.map((function(n){return parseFloat(n.total_amount)})))}),[_]),b=a.useMemo((function(){return M(f.map((function(n){return n.passengers.length})))}),[f]),S=_&&_.length,y=S>0?R(_[0].total_currency)(N):h?R(h.total_currency)(0):"0",I=g&&v.findIndex((function(n){return n.id===(null==g?void 0:g.id)})),x=(null==g?void 0:g.name)?g.name:I>=0?"Passenger "+(I+1):"";return e(t,{children:[e("div",m({className:"summary","data-testid":"seat-selection-summary"},{children:[e("div",m({className:"summary__description"},{children:[n("div",m({className:"summary__description-title"},{children:S+" of "+b+" seat"+(b>1?"s":"")+" selected"}),void 0),e("div",m({className:"summary__description-cost"},{children:[y," will be added to the order"]}),void 0)]}),void 0),n(en,{onBackClick:d,onClick:i,iconAfter:l,primaryButtonCopy:s,disableBackButton:c},void 0)]}),void 0),e("div",m({className:"summary summary--mobile"},{children:[e("div",m({className:"summary__segment"},{children:[Object.keys(C).length>0&&n(U,{segment:C},"summary-"+C.id),x&&n("h3",m({className:"summary__segment-passenger"},{children:x}),void 0)]}),void 0),e("div",m({className:"summary__description-cost"},{children:["Total Price ",n("strong",{children:y},void 0)]}),void 0),n(en,{onBackClick:d,onClick:i,iconAfter:l,primaryButtonCopy:s,disableBackButton:c},void 0)]}),void 0)]},void 0)};_(".duffel-components {\n --FONT-FAMILY: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif;\n --FONT-SIZES-C0: 20px;\n --FONT-SIZES-C1: 16px;\n --FONT-SIZES-C2: 14px;\n --FONT-SIZES-C3: 12px;\n --FONT-SIZES-H2: 32px;\n --FONT-SIZES-H3: 28px;\n --FONT-SIZES-H4: 24px;\n --FONT-SIZES-H5: 20px;\n}\n.duffel-components {\n --SPACING-XL-3: 128px;\n --SPACING-XL-2: 64px;\n --SPACING-XL-1: 56px;\n --SPACING-LG-3: 48px;\n --SPACING-LG-2: 40px;\n --SPACING-LG-1: 32px;\n --SPACING-MD-3: 24px;\n --SPACING-MD-2: 20px;\n --SPACING-MD-1: 18px;\n --SPACING-SM-3: 16px;\n --SPACING-SM-2: 12px;\n --SPACING-SM-1: 8px;\n --SPACING-XS-3: 6px;\n --SPACING-XS-2: 4px;\n --SPACING-XS-1: 2px;\n --SPACING-NONE: 0;\n}\n.duffel-components {\n --GREY-100: #f7f5f9;\n --GREY-200: #e2e2e8;\n --GREY-400: #ababb4;\n --GREY-500: #86868e;\n --GREY-600: #696972;\n --GREY-700: #4b4b55;\n --GREY-900: #29292e;\n --BLACK: 0, 0, 0;\n --WHITE: 255, 255, 255;\n --ACCENT: 57, 111, 233;\n --ACCENT-LIGHT-100: 0.08;\n --ACCENT-LIGHT-200: 0.24;\n --ACCENT-LIGHT-300: 0.48;\n --ACCENT-LIGHT-1000: 1;\n}\n.duffel-components {\n --TRANSITIONS-CUBIC-BEZIER: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.duffel-components {\n box-sizing: border-box;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n font-family: var(--FONT-FAMILY);\n overflow: hidden;\n height: 100%;\n}\n");_(".duffel-components .seat-selection {\n --SEAT-SELECTION-BOX-SHADOW: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 4px 24px rgba(var(--BLACK), 0.08);\n background-color: rgb(var(--WHITE));\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n .duffel-components .seat-selection__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n border-bottom: 1px solid rgba(59, 64, 86, 0.1);\n height: calc(100% - 177px);\n overflow: auto;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n display: none;\n padding-top: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n }\n\n .duffel-components .seat-selection__mobile-seat-info {\n align-self: center;\n position: absolute;\n bottom: 187px;\n width: calc(100% - 20px);\n padding: var(--SPACING-XS-3);\n margin-bottom: var(--SPACING-SM-2);\n height: auto;\n background-color: white;\n border-radius: 8px;\n z-index: 100;\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-MD-3);\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n position: sticky;\n bottom: 0;\n background-color: rgb(var(--WHITE));\n }\n\n@media screen and (min-width: 768px) {\n .duffel-components .seat-selection {\n width: calc(100vw - 2 * 56px);\n overflow: hidden;\n }\n\n .duffel-components .seat-selection__content {\n height: auto;\n padding: 0;\n flex-direction: row;\n align-items: initial;\n max-height: calc(100vh - 115px);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-LG-1);\n box-shadow: none;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n overflow: auto;\n border-right: 1px solid var(--GREY-200);\n display: flex;\n flex-direction: column;\n position: sticky;\n top: 0;\n flex: 1 0 auto;\n min-width: 415px;\n }\n\n .duffel-components .seat-selection__content-child--passengers > div:not(.passenger-selection) {\n margin-left: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n height: auto;\n align-items: center;\n overflow: auto;\n }\n}\n");var an=function(t){var r=t.seatMaps,o=t.offer,i=t.passengers,s=t.initialSeatSelection,l=t.initialSegmentId,c=t.onSubmit,u=i.sort((function(n,e){return n.id.localeCompare(e.id)})),p=C(a.useState("Next Passenger"),2),f=p[0],g=p[1],_=C(a.useState(""),2),N=_[0],b=_[1],S=C(a.useState(l||""),2),y=S[0],I=S[1],E=C(a.useState(""),2),A=E[0],T=E[1],G=C(a.useState(""),2),w=G[0],L=G[1],R=C(a.useState(s||{}),2),M=R[0],Z=R[1],z=C(a.useState(i.length>0?u[0].id:""),2),Y=z[0],U=z[1],V=o.slices.length>0&&o.slices[0],q=V&&V.segments.length>0&&V.segments[0].id,D=C(a.useState(l||q||""),2),X=D[0],W=D[1],$=C(a.useState("default"),2),J=$[0],Q=$[1],en=C(a.useState({seat:null,service:void 0}),2),an=en[0],rn=en[1],on=C(a.useState(!0),2),sn=on[0],ln=on[1],dn=C(a.useState([]),2),cn=dn[0],un=dn[1];d.polyfill();var pn=x(),fn=a.useMemo((function(){return o.slices.map((function(n){return n.segments})).flat().filter((function(n){return r.map((function(n){return n.segment_id})).includes(n.id)}))}),[o,r]),mn=a.useMemo((function(){return u.map((function(n){return n.id})).sort((function(n,e){return n.localeCompare(e)}))}),[u]);a.useMemo((function(){if(Object.keys(M).length<=0){var n=new Map(fn.map((function(n){var e=new Map(n.passengers.map((function(n){return[n.passenger_id,null]})));return[n.id,Object.fromEntries(new Map(h([],C(e.entries())).sort((function(n,e){return n[0].localeCompare(e[0])}))))]}))),e=Object.fromEntries(n);e&&Z(e)}}),[M,fn]);var vn=a.useMemo((function(){return fn.find((function(n){return n.id===X}))||{}}),[fn,X]);a.useEffect((function(){var n=function(){window.innerWidth<1024&&"small"!==J?Q("small"):window.innerWidth>=1024&&"default"!==J&&Q("default")};return window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}}),[J]),a.useEffect((function(){var n=function(n,e){return Object.keys(e).reduce((function(e,t){var a,r=n.passengers;if(r){if(!(r.length>0)){var o=e,i=t;return o[i],v(o,["symbol"==typeof i?i:i+""])}var s=[];r.forEach((function(n){s.push(n.passenger_id)})),e=m(m({},e),((a={})[t]=s.sort((function(n,e){return n.localeCompare(e)})),a))}return e}),{})}(vn,M),e=Object.keys(n),t=B(e,vn.id),a=n[X].indexOf(Y),r=B(n[X],Y),o=n[X][r],i=Object.keys(M).indexOf(X);return 0===e.length?g("Continue"):(T(o),a===vn.passengers.length-1?i===e.length-1?g("Continue"):(b(e[t]),g("Next Flight")):g("Next Passenger"))}),[vn,M,Y,X]);var gn=a.useMemo((function(){return u.find((function(n){if(n.id===Y)return{id:n.id,name:n.name||void 0}}))}),[u,Y]);if(0===u.length||!V||0===o.slices[0].segments.length)return null;var Cn,hn,_n,Nn,bn,Sn=function(){var n=Object.keys(M[X]);if(n[0]===Y){ln(!0),W(y);var e=Object.keys(M[y])[n.length-1];U(e)}else{var t=mn.indexOf(Y);0!==t&&U(mn[t-1])}var a=M[y][w],r=cn.map((function(n){return n})).find((function(n){return n.segment===y&&n.seat.designator===(null==a?void 0:a.designator)}));r&&rn({seat:r.seat,service:r.service})};return n(F.Provider,m({value:{offer:o,segments:fn,seatMaps:r,passengers:u,segmentId:X,passengerId:Y,currentSelectedPassenger:gn,currentSelectedSegment:vn,seatSelection:M,size:J,onSelectSeat:function(n){var e,t,a=Object.assign({},M,((e={})[X]=Object.assign({},M[X],((t={})[Y]=m({},n),t)),e));Z(a)},onSelectPassenger:function(n,e){U(n),W(e);var t,a,r=M[e]&&M[e][n];if(r&&null!==r.designator){var o=document.getElementById(r.designator);o&&(t=o.getBoundingClientRect(),a=Math.max(document.documentElement.clientHeight,window.innerHeight),t.bottom<0||t.top-a>=0)&&(null==o||o.scrollIntoView({behavior:"smooth",block:"center"}))}},currentSeat:an,setCurrentSeat:rn,setIsLoading:ln,extendedSeatInfo:cn,setExtendedSeatInfo:un}},{children:n("div",m({className:"duffel-components"},{children:e("div",m({className:"seat-selection"},{children:[e("div",m({className:"seat-selection__content"},{children:[!P(pn)&&n("aside",m({className:"seat-selection__content-child seat-selection__content-child--passengers"},{children:n(j,{},void 0)}),void 0),n("div",m({className:"seat-selection__content-child seat-selection__content-child--map"},{children:sn?(_n=vn.origin.iata_code||"",Nn=vn.destination.iata_code||"",bn=vn.duration&&function(n){var e=n.match(H);return e?((e[1]&&"0"!==e[1]?e[1]+"d":"")+" "+(e[2]&&"0"!==e[2]?e[2].toString().padStart(2,"0")+"h":"")+" "+(e[3]&&"0"!==e[3]?e[3].toString().padStart(2,"0")+"m":"")).trim():n}(vn.duration)||"",n(k,{origin:_n,destination:Nn,duration:bn,done:function(){return ln(!1)}},void 0)):n(O,{children:n(nn,{},void 0)},void 0)}),void 0)]}),void 0),(Cn=an.seat,hn=an.service,null!==Cn&&P(pn)&&M[X]&&null!==M[X][Y]?n("div",m({className:"seat-selection__mobile-seat-info"},{children:n(K,{seat:Cn,service:hn},void 0)}),void 0):null),n("div",m({className:"seat-selection__confirmation"},{children:function(){var e=X===q&&Y===u[0].id||!1;switch(f){case"Continue":return n(tn,{onClick:function(){var n;c(M),n=fn[0],U(n.passengers[0].passenger_id),W(n.id)},onBackClick:Sn,disableBackButton:e,primaryButtonCopy:f},void 0);case"Next Flight":return n(tn,{onClick:function(){ln(!0),I(X),U(A),W(N)},onBackClick:Sn,disableBackButton:e,primaryButtonCopy:P(pn)?"Next":f,iconAfter:{iconAfter:"chevron"}},void 0);default:return n(tn,{onClick:function(){L(Y),U(A)},onBackClick:Sn,disableBackButton:e,iconAfter:{iconAfter:"chevron"},primaryButtonCopy:P(pn)?"Next":f},void 0)}}()}),void 0)]}),void 0)}),void 0)}),void 0)},rn=function(e){return n(O,{children:n(an,m({},e),void 0)},void 0)};rn.propTypes={offer:l.shape({allowed_passenger_identity_document_types:l.array.isRequired,available_services:l.array.isRequired,base_amount:l.string.isRequired,base_currency:l.string.isRequired,conditions:l.object.isRequired,created_at:l.string.isRequired,expires_at:l.string.isRequired,id:l.string.isRequired,live_mode:l.bool.isRequired,owner:l.shape({name:l.string.isRequired,id:l.string.isRequired,iata_code:l.string.isRequired}).isRequired,passenger_identity_documents_required:l.bool.isRequired,passengers:l.array.isRequired,payment_requirements:l.shape({payment_required_by:l.string,price_guarantee_expires_at:l.string,requires_instant_payment:l.bool.isRequired}).isRequired,slices:l.array.isRequired,tax_amount:l.string.isRequired,tax_currency:l.string.isRequired,total_amount:l.string.isRequired,total_emissions_kg:l.string.isRequired,total_currency:l.string.isRequired,updated_at:l.string.isRequired}).isRequired,seatMaps:l.arrayOf(l.shape({id:l.string.isRequired,slice_id:l.string.isRequired,segment_id:l.string.isRequired,cabins:l.array.isRequired}).isRequired).isRequired,passengers:l.arrayOf(l.shape({id:l.string.isRequired,name:l.string}).isRequired).isRequired,onSubmit:l.func.isRequired};export{rn as SeatSelection};
import{jsx as n,jsxs as e,Fragment as t}from"react/jsx-runtime";import*as a from"react";import r,{Component as o,createContext as i,useContext as s}from"react";import l from"prop-types";import d from"smoothscroll-polyfill";import c from"classnames";import{usePopper as u}from"react-popper";import{createPortal as f}from"react-dom";import p from"lodash/cloneDeep";var m=function(n,e){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])})(n,e)};var v=function(){return(v=Object.assign||function(n){for(var e,t=1,a=arguments.length;t<a;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}).apply(this,arguments)};function g(n,e){var t={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&e.indexOf(a)<0&&(t[a]=n[a]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(n);r<a.length;r++)e.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(n,a[r])&&(t[a[r]]=n[a[r]])}return t}function C(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],a=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&a>=n.length&&(n=void 0),{value:n&&n[a++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(n,e){var t="function"==typeof Symbol&&n[Symbol.iterator];if(!t)return n;var a,r,o=t.call(n),i=[];try{for(;(void 0===e||e-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(n){r={error:n}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return i}function _(n,e){for(var t=0,a=e.length,r=n.length;t<a;t++,r++)n[r]=e[t];return n}function N(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n))}}N(".duffel-components .ff-icon {\n margin-left: initial;\n display: block;\n fill: currentColor;\n}\n");var b={arrow_forward:n("path",{d:"M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41l-6.58-6.6c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z"},void 0),bassinet:e(t,{children:[n("path",{d:"M19 12C19 14.1217 18.1571 16.1566 16.6569 17.6569C15.1566 19.1571 13.1217 20 11 20C8.87827 20 6.84344 19.1571 5.34315 17.6569C3.84286 16.1566 3 14.1217 3 12L11 12H19Z"},void 0),n("path",{d:"M16.1347 5.86529L11 11V4C12.0506 4 13.0909 4.20693 14.0615 4.60896C14.8136 4.92052 15.5125 5.34451 16.1347 5.86529ZM16.8602 6.55405L12.4142 11H18.9373C18.8482 10.293 18.6649 9.59962 18.391 8.93853C18.0264 8.05823 17.5077 7.25087 16.8602 6.55405Z"},void 0)]},void 0),chevron:n("path",{d:"M5 13H16.17L11.29 17.88C10.9 18.27 10.9 18.91 11.29 19.3C11.68 19.69 12.31 19.69 12.7 19.3L19.29 12.71C19.68 12.32 19.68 11.69 19.29 11.3L12.71 4.7C12.32 4.31 11.69 4.31 11.3 4.7C10.91 5.09 10.91 5.72 11.3 6.11L16.17 11H5C4.45 11 4 11.45 4 12C4 12.55 4.45 13 5 13Z"},void 0),close:n("path",{d:"M18.3 5.71c-.39-.39-1.02-.39-1.41 0L12 10.59 7.11 5.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"},void 0),closet:n("path",{d:"M12 4C11.0717 4 10.1815 4.36875 9.52513 5.02513C8.86875 5.6815 8.5 6.57174 8.5 7.5H10.5C10.5 7.10218 10.658 6.72064 10.9393 6.43934C11.2206 6.15804 11.6022 6 12 6C12.3978 6 12.7794 6.15804 13.0607 6.43934C13.342 6.72064 13.5 7.10218 13.5 7.5C13.5 7.89782 13.342 8.27936 13.0607 8.56066C12.7794 8.84196 12.3978 9 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2C2.23209 18.3259 2.10807 18.5015 2.04549 18.7018C1.98291 18.9022 1.98495 19.1171 2.05132 19.3162C2.11769 19.5153 2.24502 19.6885 2.41529 19.8112C2.58556 19.934 2.79012 20 3 20H21C21.2099 20 21.4144 19.934 21.5847 19.8112C21.755 19.6885 21.8823 19.5153 21.9487 19.3162C22.0151 19.1171 22.0171 18.9022 21.9545 18.7018C21.8919 18.5015 21.7679 18.3259 21.6 18.2L13 11.75V10.85C13.7216 10.6349 14.3546 10.1927 14.805 9.58919C15.2554 8.98569 15.4991 8.25303 15.5 7.5C15.5 6.57174 15.1313 5.6815 14.4749 5.02513C13.8185 4.36875 12.9283 4 12 4ZM12 13.5L18 18H6L12 13.5Z"},void 0),exit_row:n("path",{d:"M20 11H6.83001L9.71001 8.12001C10.1 7.73001 10.1 7.10001 9.71001 6.71001C9.32001 6.32001 8.69001 6.32001 8.30001 6.71001L3.71001 11.3C3.32001 11.69 3.32001 12.32 3.71001 12.71L8.30001 17.3C8.69001 17.69 9.32001 17.69 9.71001 17.3C10.1 16.91 10.1 16.28 9.71001 15.89L6.83001 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11Z"},void 0),exit_row_right:n("path",{d:"M4 11H17.17L14.29 8.12001C13.9 7.73001 13.9 7.10001 14.29 6.71001C14.68 6.32001 15.31 6.32001 15.7 6.71001L20.29 11.3C20.68 11.69 20.68 12.32 20.29 12.71L15.7 17.3C15.31 17.69 14.68 17.69 14.29 17.3C13.9 16.91 13.9 16.28 14.29 15.89L17.17 13H4C3.45 13 3 12.55 3 12C3 11.45 3.45 11 4 11Z"},void 0),galley:n("path",{d:"M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z"},void 0),lavatory:n("path",{d:"M5.5 22v-7.5H4V9c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v5.5H9.5V22h-4zM18 22v-6h3l-2.54-7.63C18.18 7.55 17.42 7 16.56 7h-.12c-.86 0-1.63.55-1.9 1.37L12 16h3v6h3zM7.5 6c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2zm9 0c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2z"},void 0),lie_flat_seat:n("path",{d:"M6.16667 12.8333C6.81667 12.8333 7.45834 12.5833 7.95001 12.0833C8.91667 11.0916 8.90001 9.51659 7.91667 8.54992C7.42501 8.07492 6.79167 7.83325 6.16667 7.83325C5.51667 7.83325 4.87501 8.08325 4.38334 8.58325C3.41667 9.57492 3.43334 11.1499 4.41667 12.1166C4.90834 12.5916 5.54167 12.8333 6.16667 12.8333ZM5.57501 9.74992C5.73334 9.59159 5.94167 9.49992 6.16667 9.49992C6.38334 9.49992 6.59167 9.58325 6.75001 9.73325C7.08334 10.0583 7.08334 10.5749 6.76667 10.9083C6.60001 11.0749 6.39167 11.1666 6.16667 11.1666C5.95001 11.1666 5.74167 11.0833 5.58334 10.9333C5.25001 10.5999 5.25001 10.0833 5.57501 9.74992ZM17 7.83325H9.50001V12.8333H20.3333V11.1666C20.3333 9.32492 18.8417 7.83325 17 7.83325ZM11.1667 11.1666V9.49992H17C17.9167 9.49992 18.6667 10.2499 18.6667 11.1666H11.1667ZM3.66667 15.3333H8.66667V16.9999H15.3333V15.3333H20.3333V13.6666H3.66667V15.3333Z"},void 0),no_airplane:n("path",{d:"M14.6674 10.0001V2.66675C14.6674 1.56008 13.7741 0.666748 12.6674 0.666748C11.5607 0.666748 10.6674 1.56008 10.6674 2.66675V7.57341L21.1074 18.0134L25.3341 19.3334V16.6667L14.6674 10.0001ZM1.33407 5.02675L7.9874 11.6801L0.000732422 16.6667V19.3334L10.6674 16.0001V23.3334L8.00073 25.3334V27.3334L12.6674 26.0001L17.3341 27.3334V25.3334L14.6674 23.3334V18.3601L22.3074 26.0001L24.0007 24.3067L3.0274 3.33341L1.33407 5.02675Z"},void 0),no_seat:e(t,{children:[n("path",{d:"M25.1667 21.9733L23.4733 23.6667L2.5 2.69333L4.19333 1L7.16667 3.97333L16.5267 13.3333L19.1933 16L24.5 21.3067L25.1667 21.9733Z"},void 0),n("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.16667 24H3.16667V16H19.1933L24.5 21.3067V24H20.5V20H7.16667V24ZM27.1667 9.33333H23.1667V13.3333H27.1667V9.33333ZM4.5 9.33333H0.5V13.3333H4.5V9.33333ZM20.3333 13.3333H20.5V2.66667C20.5 1.2 19.3 0 17.8333 0H9.83333C9.05784 0 8.3569 0.335483 7.86848 0.868484L20.3333 13.3333ZM16.5267 13.3333L7.16667 3.97333V13.3333H16.5267Z"},void 0)]},void 0),seat:n("path",{d:"M7.59 5.41012C6.81 4.63012 6.81 3.36012 7.59 2.58012C8.37 1.80012 9.64 1.80012 10.42 2.58012C11.2 3.36012 11.2 4.63012 10.42 5.41012C9.63 6.20012 8.37 6.20012 7.59 5.41012ZM6 16.0001V8.00012C6 7.45012 5.55 7.00012 5 7.00012C4.45 7.00012 4 7.45012 4 8.00012V16.0001C4 18.7601 6.24 21.0001 9 21.0001H14C14.55 21.0001 15 20.5501 15 20.0001C15 19.4501 14.55 19.0001 14 19.0001H9C7.34 19.0001 6 17.6601 6 16.0001ZM19.28 19.3501L15.51 15.5801C15.14 15.2101 14.63 15.0001 14.1 15.0001H11.5V11.3201C12.59 12.2101 14.16 13.0201 15.7 13.3401C16.37 13.4801 17 12.9801 17 12.3001C17 11.7701 16.61 11.3401 16.08 11.2501C14.66 11.0101 13.2 10.2401 12.33 9.28012L10.93 7.73012C10.74 7.52012 10.5 7.35012 10.24 7.23012C9.95 7.09012 9.62 7.00012 9.28 7.00012H9.25C8.01 7.00012 7 8.01012 7 9.25012V15.0001C7 16.6601 8.34 18.0001 10 18.0001H15.07L17.85 20.7801C18.24 21.1701 18.89 21.1701 19.28 20.7801C19.68 20.3901 19.68 19.7501 19.28 19.3501Z"},void 0),seat_paid_indicator:n("path",{d:"M11.7686 0.731368C12.7766 -0.276576 14.5 0.437294 14.5 1.86274V10.8C14.5 12.5673 13.0673 14 11.3 14H2.36274C0.937294 14 0.223427 12.2766 1.23137 11.2686L11.7686 0.731368Z"},void 0),stairs:n("path",{d:"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,8h-2.42v3.33H13v3.33h-2.58 V18H6v-2h2.42v-3.33H11V9.33h2.58V6H18V8z"},void 0),wifi:n("path",{d:"M2.83333 9.50005L4.49999 11.1667C8.64166 7.02505 15.3583 7.02505 19.5 11.1667L21.1667 9.50005C16.1083 4.44172 7.89999 4.44172 2.83333 9.50005ZM9.49999 16.1667L12 18.6667L14.5 16.1667C13.125 14.7834 10.8833 14.7834 9.49999 16.1667ZM6.16666 12.8334L7.83333 14.5C10.1333 12.2 13.8667 12.2 16.1667 14.5L17.8333 12.8334C14.6167 9.61672 9.39166 9.61672 6.16666 12.8334Z"},void 0)},S=function(n){return n in b?b[n]:(console.warn("The icon "+n),null)},y=function(e){var t=e.name,a=e.size,r=e.className,o=e.viewBox;return n("svg",v({className:c("ff-icon",r),width:a||24,height:a||24,viewBox:o||"0 0 24 24","aria-label":t,"data-testid":t},{children:S(t)}),void 0)};N(".duffel-components .duffel-button {\n --BUTTON-BASE-COLOR: rgb(var(--ACCENT));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C0);\n --BUTTON-ICON-SIZE: 24px;\n --BUTTON-RADIUS: 5px;\n --BUTTON-SPACING: 6px 40px;\n --BUTTON-ICON-SPACING: 8px;\n --BUTTON-ICON-MARGIN: 12px;\n --TRANSITION-CUBIC-BEZIER: cubic-bezier(0.25, 0.8, 0.25, 1);\n\n -webkit-appearance: none;\n align-items: center;\n background-color: inherit;\n border: 2px solid var(--BUTTON-BASE-COLOR);\n border-radius: var(--BUTTON-RADIUS);\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n display: flex;\n font-family: var(--FONT-FAMILY);\n font-size: inherit;\n font-weight: normal;\n line-height: 1;\n margin: 0;\n padding: var(--BUTTON-SPACING);\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n user-select: none;\n transition: background-color 0.3s var(--TRANSITION-CUBIC-BEZIER), border-color 0.3s var(--TRANSITION-CUBIC-BEZIER),\n color 0.3s var(--TRANSITION-CUBIC-BEZIER);\n}\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 48px;\n width: 48px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only > svg {\n --BUTTON-ICON-SIZE: 24px;\n margin: 0 auto;\n }\n\n .duffel-components .duffel-button__text {\n display: block;\n font-size: var(--BUTTON-FONT-SIZE);\n font-weight: 600;\n line-height: 1.5;\n }\n\n .duffel-components .duffel-button:focus {\n outline-offset: 0.25em;\n outline: 2px solid rgb(--ACCENT);\n }\n\n .duffel-components .duffel-button--primary {\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n\n .duffel-components .duffel-button--muted {\n --BUTTON-BASE-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n\n border-color: transparent;\n }\n\n .duffel-components .duffel-button--muted.duffel-button--solid:hover,\n .duffel-components .duffel-button--muted.duffel-button--solid:active {\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid {\n background-color: var(--BUTTON-BASE-COLOR);\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid.duffel-button--muted {\n color: rgb(var(--ACCENT));\n }\n\n .duffel-components .duffel-button--solid:hover,\n .duffel-components .duffel-button--solid:active {\n border-color: transparent;\n background-color: var(--BUTTON-HOVER-COLOR);\n }\n\n .duffel-components .duffel-button--is-disabled {\n cursor: default;\n opacity: 0.4;\n user-select: none;\n pointer-events: none;\n }\n\n .duffel-components .duffel-button .duffel-button__icon {\n display: block;\n height: var(--BUTTON-ICON-SIZE);\n width: var(--BUTTON-ICON-SIZE);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--before {\n margin-right: var(--BUTTON-ICON-MARGIN);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--after {\n margin-left: var(--BUTTON-ICON-MARGIN);\n }\n\n @media screen and (min-width: 768px) {.duffel-components .duffel-button {\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C1);\n --BUTTON-ICON-SIZE: 18px;\n --BUTTON-SPACING: 4px 16px;\n line-height: 24px\n}\n .duffel-components .duffel-button:not(.duffel-button--icon-only) {\n height: 32px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 32px;\n width: 32px;\n }\n }\n");var I=a.forwardRef((function(t,a){var r=t.className,o=t.disabled,i=void 0!==o&&o,s=t.iconAfter,l=t.iconBefore,d=t.iconOnly,u=t.intent,f=void 0===u?"PRIMARY":u,p=t.text,m=t.type,C=void 0===m?"button":m,h=t.id,_=g(t,["className","disabled","iconAfter","iconBefore","iconOnly","intent","text","type","id"]),N=c("duffel-button","duffel-button--solid",r,{"duffel-button--primary":"PRIMARY"===f,"duffel-button--muted":"MUTED"===f,"duffel-button--icon-only":d,"duffel-button--is-disabled":i});return e("button",v({ref:a,type:C,className:N,disabled:i,"aria-label":p,"data-testid":h,id:h},_,{children:[l&&n(y,{className:"duffel-button__icon duffel-button__icon--before",name:l},void 0),d&&n(y,{className:"duffel-button__icon",name:d},void 0),!d&&n("span",v({className:"duffel-button__text"},{children:p}),void 0),s&&n(y,{className:"duffel-button__icon duffel-button__icon--after",name:s},void 0)]}),void 0)})),x=function(e){var t=e.className,a=e.children,r=g(e,["className","children"]),o=c("chromeless-button",t);return n("button",v({className:o},r,{children:a}),void 0)},E=function(){var n=h(r.useState(null),2),e=n[0],t=n[1];return r.useEffect((function(){null===e&&t(window.innerWidth);var n=function(){return t(window.innerWidth)};return n(),window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}}),[]),null!=e?e:0};function A(n){var e=a.useRef(null);return a.useEffect((function(){var t=document.querySelector("#"+n),a=t||function(n){var e=document.createElement("div");return e.setAttribute("id",n),e}(n);if(t||function(n){if(!document.body.lastElementChild)throw Error("document body not rendered");document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}(a),!e.current)throw Error("elementRef not assigned");return a.appendChild(e.current),function(){if(!e.current)throw Error("elementRef not assigned");e.current.remove(),a.childElementCount||a.remove()}}),[n]),e.current||(e.current=document.createElement("div")),e.current}var T=function(n){var e=n.id,t=n.children,a=A(e);return f(t,a)};N(".duffel-components .popover-container {\n width: 320px;\n padding: var(--SPACING-SM-1);\n border: 1px solid rgba(59, 64, 86, 0.1);\n border-radius: 8px;\n background: white;\n z-index: 999;\n box-shadow: 0px 1px 4px rgba(59, 64, 86, 0.3);\n}\n");var G=a.forwardRef((function(e,t){var a=e.children,r=e.style,o=e.id,i=void 0===o?"seat-selection__popover":o,s=g(e,["children","style","id"]);return n(T,v({id:i},{children:n("div",v({className:"duffel-components"},{children:n("div",v({className:"popover-container",id:i,"data-testid":i,style:r,ref:t},s,{children:a}),void 0)}),void 0)}),void 0)}));function w(e){var t=e.value,a=e.onChange,r=e.options;return n("div",v({className:"seat-map__tab-select"},{children:r.map((function(e){return n(x,v({type:"button",className:c("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":e===t}),onClick:function(){return t!==e&&a(e)}},{children:e}),e)}))}),void 0)}N(".duffel-components .seat-map__tab-select {\n width: 100%;\n max-width: 400px;\n display: flex;\n text-align: center;\n min-height: var(--SPACING-LG-1);\n margin-bottom: var(--SPACING-MD-3);\n border: 2px solid var(--GREY-200);\n border-radius: 3px;\n background-color: var(--GREY-200);\n }\n\n .duffel-components .seat-map__tab-select-option {\n appearance: none;\n outline: none;\n margin: 0;\n border: none;\n padding: var(--SPACING-XS-2) var(--SPACING-SM-3);\n font-weight: 600;\n font-size: var(--FONT-SIZES-C2);\n width: 100%;\n color: var(--GREY-900);\n background-color: var(--GREY-200);\n cursor: pointer;\n border-radius: 3px;\n }\n\n .duffel-components .seat-map__tab-select-option:hover,\n .duffel-components .seat-map__tab-select-option:focus,\n .duffel-components .seat-map__tab-select-option:active {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n\n .duffel-components .seat-map__tab-select-option--selected {\n color: var(--GREY-900);\n background-color: rgba(var(--WHITE), 1);\n box-shadow: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 2px 12px rgba(var(--BLACK), 0.08);\n }\n\n .duffel-components .seat-map__tab-select-option:first-child {\n margin-right: 1px;\n }\n\n .duffel-components .seat-map__tab-select-option:last-child {\n margin-left: 1px;\n }\n");var L={error_loading:{title:"Error loading seat maps",message:"We weren’t able to load your seat maps.",iconName:"no_airplane"},error_unavailable:{title:"Seat selection unavailable",message:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline.",iconName:"no_seat"}};N(".duffel-components .error-state__container {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: center;\n justify-content: center;\n max-width: 308px;\n text-align: center;\n margin: 0 auto;\n font-family: var(--FONT-FAMILY);\n height: 100%;\n }\n .duffel-components .error-state__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 64px;\n height: 64px;\n background-color: rgb(var(--ACCENT));\n border-radius: 50%;\n margin-bottom: var(--SPACING-MD-2);\n color: rgb(var(--WHITE));\n }\n .duffel-components .error-state__title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H4);\n line-height: 36px;\n margin: 0 0 var(--SPACING-SM-3);\n padding: 0;\n }\n .duffel-components .error-state__copy {\n color: var(--GREY-700);\n font-size: var(--FONT-SIZES-C1);\n line-height: var(--SPACING-MD-3);\n padding: 0;\n margin: 0;\n }\n");var O=function(t){var a=t.errorType;return e("div",v({className:"error-state__container","data-testid":a},{children:[n("i",v({className:"error-state__icon"},{children:n(y,{name:L[a].iconName},void 0)}),void 0),n("h3",v({className:"error-state__title"},{children:L[a].title}),void 0),n("p",v({className:"error-state__copy"},{children:L[a].message}),void 0)]}),void 0)},P=function(e){function t(n){var t=e.call(this,n)||this;return t.state={hasError:!1},t}return function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}m(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}(t,e),t.getDerivedStateFromError=function(){return{hasError:!0}},t.prototype.componentDidCatch=function(n){console.error(n)},t.prototype.render=function(){return this.state.hasError?n("div",v({className:"duffel-components"},{children:n(O,{errorType:"error_loading"},void 0)}),void 0):this.props.children},t}(o),R=function(n){return n<768},M=function(n,e,t){void 0===e&&(e="en-GB"),void 0===t&&(t={});var a=new Intl.NumberFormat(e,v({style:"currency",currency:n},t));return function(n){var e=a.format(n);return t&&t.signDisplay&&("always"===t.signDisplay||"exceptZero"===t.signDisplay&&0!==n)?e.replace(/^([+-])/,"$1 "):e}},H=function(n){return n.reduce((function(n,e){return n+=e}),0)},B=/P(?:([.,\d]+)D)?T(?:([.,\d]+)H)?(?:([.,\d]+)M)?/i,k=function(n,e){return(n.indexOf(e)+1)%n.length};N(".duffel-components .loading-state__container {\n display: flex;\n flex-direction: column;\n align-content: center;\n align-items: center;\n text-align: center;\n justify-content: center;\n font-family: var(--FONT-FAMILY);\n height: calc(100vh - var(--SPACING-XL-3));\n width: var(--SPACING-XL-3);\n margin: 0 auto;\n line-height: var(--SPACING-MD-1);\n }\n .duffel-components .loading-state__message {\n font-size: var(--FONT-SIZES-C3);\n text-transform: uppercase;\n color: var(--GREY-400);\n letter-spacing: 0.02rem;\n }\n .duffel-components .loading-state__progress-indicator {\n height: var(--SPACING-XS-2);\n margin: var(--SPACING-SM-3) 0;\n border-radius: 999px;\n width: calc(100% - var(--SPACING-SM-1));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n position: relative;\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .loading-state__progress-indicator--status {\n display: block;\n height: 100%;\n border-radius: 999px;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n position: relative;\n animation: fillstatus 1s linear;\n }\n @keyframes fillstatus {\n 0% {\n width: 0;\n }\n 70% {\n width: 100%;\n }\n 80% {\n opacity: 1;\n width: 100%;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n }\n .duffel-components .loading-state__segment {\n display: flex;\n flex-direction: row;\n margin: var(--SPACING-XS-2) 0;\n color: var(--GREY-400);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__segment--origin,\n .duffel-components .loading-state__segment--destination {\n font-weight: 600;\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n padding: 0 var(--SPACING-SM-1);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__duration {\n color: var(--GREY-400);\n font-size: var(--FONT-SIZES-C3);\n letter-spacing: 0.02rem;\n margin: var(--SPACING-XS-2) 0;\n text-transform: uppercase;\n }\n");var Z=function(t){var r=t.origin,o=t.destination,i=t.duration,s=t.done,l=h(a.useState(!1),2),d=l[0],c=l[1],u=a.useRef(null);return a.useEffect((function(){d&&s&&s()})),d?null:e("div",v({className:"loading-state__container"},{children:[n("span",v({className:"loading-state__message"},{children:"Loading seat map"}),void 0),n("div",v({className:"loading-state__progress-indicator"},{children:n("span",{className:"loading-state__progress-indicator--status",ref:u,onAnimationEnd:function(){return c(!0)},"data-testid":"loading-state__progress-indicator--status"},void 0)}),void 0),e("div",v({className:"loading-state__segment"},{children:[n("span",v({className:"loading-state__segment--origin"},{children:r}),void 0),n(y,{name:"arrow_forward",size:20},void 0),n("span",v({className:"loading-state__segment--destination"},{children:o}),void 0)]}),void 0),n("span",v({className:"loading-state__duration"},{children:i}),void 0)]}),void 0)},F=function(){return{}},z=i({offer:{},seatMaps:[],passengers:[],segments:[],segmentId:"",passengerId:"",currentSelectedSegment:{},currentSelectedPassenger:{},seatSelection:{},size:"default",currentSeat:{},setCurrentSeat:F,onSelectSeat:F,onSelectPassenger:F,setIsLoading:F,extendedSeatInfo:[],setExtendedSeatInfo:F,currency:""}),Y=function(){return s(z)};N(".duffel-components .passenger-selection-passenger {\n appearance: none;\n border: none;\n background: none;\n cursor: pointer;\n font-size: var(--FONT-SIZES-C2);\n font-family: var(--FONT-FAMILY);\n margin-top: var(--SPACING-XS-2);\n height: 32px;\n display: flex;\n align-items: center;\n padding: var(--SPACING-SM-1) var(--SPACING-LG-1);\n width: 100%;\n}\n\n .duffel-components .passenger-selection-passenger:first-child {\n margin-top: 0;\n }\n\n .duffel-components .passenger-selection-passenger:hover,\n .duffel-components .passenger-selection-passenger:focus,\n .duffel-components .passenger-selection-passenger:active {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n\n .duffel-components .passenger-selection-passenger__identifier,\n .duffel-components .passenger-selection-passenger__action {\n line-height: 1;\n }\n\n .duffel-components .passenger-selection-passenger__identifier {\n flex-grow: 1;\n margin-right: var(--SPACING-LG-1);\n text-align: left;\n color: var(--GREY-900);\n }\n\n .duffel-components .passenger-selection-passenger__action {\n color: var(--GREY-600);\n margin-right: var(--SPACING-XS-2);\n }\n\n .duffel-components .passenger-selection-passenger__seat-designator {\n color: var(--GREY-900);\n font-weight: 600;\n margin-right: var(--SPACING-SM-3);\n }\n\n .duffel-components .passenger-selection-passenger__seat-price {\n text-align: right;\n display: inline-block;\n width: 70px;\n }\n\n .duffel-components .passenger-selection-passenger--selected {\n box-shadow: 4px 0px 0px 0px rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000)) inset;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n");var U=function(t){var a=t.segment,r=t.passenger,o=t.passengerIndex,i=Y(),s=i.seatSelection,l=i.segmentId,d=i.passengerId,u=i.onSelectPassenger,f=i.currentSelectedSegment,p=i.setIsLoading,m=s[a.id]&&s[a.id][r.id];return e("button",v({"data-testid":"passenger-"+r.id,type:"button",onClick:function(){f.id!==a.id&&p(!0),u(r.id,a.id)},className:c("passenger-selection-passenger",{"passenger-selection-passenger--selected":l===a.id&&d===r.id})},{children:[n("span",v({className:"passenger-selection-passenger__identifier"},{children:r.name||"Passenger "+(o+1)}),void 0),m&&m.service?e("span",v({className:"passenger-selection-passenger__action"},{children:[n("span",v({className:"passenger-selection-passenger__seat-designator"},{children:m.designator}),void 0),n("span",v({className:"passenger-selection-passenger__seat-price"},{children:M(m.service.total_currency)(+m.service.total_amount)}),void 0)]}),void 0):n("span",v({className:"passenger-selection-passenger__action"},{children:"Unselected"}),void 0)]}),r.id)};N(".duffel-components .passenger-segment__title {\n color: var(--GREY-900);\n font-style: normal;\n font-size: var(--FONT-SIZES-C1);\n font-weight: 600;\n line-height: var(--SPACING-MD-3);\n padding: 0 0 0 var(--SPACING-LG-1);\n margin: 0 0 var(--SPACING-SM-1);\n display: flex;\n align-items: center;\n }\n .duffel-components .passenger-segment__chevron {\n margin: 0 var(--SPACING-SM-1);\n color: var(--GREY-400);\n }\n");var V=function(t){var a=t.segment,r=t.className;return e("h3",v({className:c(r,"passenger-segment__title")},{children:[a.origin.iata_code,n(y,{name:"chevron",className:"passenger-segment__chevron",size:20},void 0),a.destination.iata_code]}),void 0)};N(".duffel-components .passenger-selection-segment {\n margin: var(--SPACING-LG-1) 0 0;\n padding: 0 0 var(--SPACING-LG-1);\n border-bottom: 1px solid var(--GREY-200);\n font-family: var(--FONT-FAMILY);\n}\n\n .duffel-components .passenger-selection-segment:first-child {\n margin-top: 0;\n }\n");var j=function(t){var a=t.segment,r=Y().passengers;return e("li",v({className:"passenger-selection-segment"},{children:[Object.keys(a).length>0&&n(V,{segment:a},void 0),r.map((function(e,t){return n(U,{segment:a,passenger:e,passengerIndex:t},e.id)}))]}),a.id)};N(".duffel-components .passenger-selection {\n display: flex;\n flex-direction: column;\n font-family: var(--FONT-FAMILY);\n flex-grow: 1;\n}\n\n .duffel-components .passenger-selection__title {\n margin: 0;\n padding: 0 0 var(--SPACING-MD-3);\n font-size: var(--FONT-SIZES-H2);\n line-height: 1.2;\n min-width: 360px;\n }\n\n .duffel-components .passenger-selection__segments {\n list-style: none;\n overflow-y: auto;\n font-size: var(--FONT-SIZES-C1);\n padding: var(--SPACING-XS-2);\n margin: calc(var(--SPACING-XS-2) * -1);\n }\n");var q=function(){var e=Y().segments;return n("div",v({className:"passenger-selection"},{children:n("ul",v({className:"passenger-selection__segments"},{children:e.map((function(e){return n(j,{segment:e},e.id)}))}),void 0)}),void 0)},D=function(e){var t=e.value,a=e.setValue,r=["Lower deck","Upper deck"];return n(w,{options:r,value:r[t],onChange:function(n){return a(r.indexOf(n))}},void 0)};N(".duffel-components .seat-map__legend {\n width: calc(100% + var(--SPACING-MD-3));\n min-height: fit-content;\n margin: calc(var(--SPACING-SM-1) * -1) calc(var(--SPACING-SM-2) * -1);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3));\n font-size: var(--FONT-SIZES-C2);\n font-weight: 400;\n }\n .duffel-components .seat-map__legend-item {\n display: flex;\n align-items: center;\n text-transform: capitalize;\n margin: var(--SPACING-SM-1) var(--SPACING-SM-2);\n color: var(--GREY-700);\n }\n .duffel-components .seat-map__legend-item--symbol .ff-icon {\n margin-right: var(--SPACING-XS-3);\n }\n .duffel-components .seat-map__legend-seat {\n width: var(--SPACING-MD-1);\n height: var(--SPACING-MD-1);\n border-radius: 5px;\n border: 2px solid var(--GREY-400);\n color: var(--GREY-400);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: var(--SPACING-SM-1);\n }\n .duffel-components .seat-map__legend-seat--fee-payable {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--fee-payable-indicator {\n position: relative;\n top: var(--SPACING-XS-2);\n left: var(--SPACING-XS-2);\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .seat-map__legend-seat--included {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n }\n");var X=function(t){var a=t.symbols;return e("div",v({className:"seat-map__legend"},{children:[e("span",v({className:"seat-map__legend-item"},{children:[n("span",v({className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat"},{children:n(y,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12},void 0)}),void 0),"Additional Cost"]}),void 0),e("span",v({className:"seat-map__legend-item"},{children:[n("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"},void 0),"Included"]}),void 0),e("span",v({className:"seat-map__legend-item"},{children:[n("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"},void 0),"Selected"]}),void 0),e("span",v({className:"seat-map__legend-item"},{children:[n("span",v({className:"seat-map__legend-seat","aria-label":"Unavailable seat"},{children:n(y,{name:"close",size:14},void 0)}),void 0),"Unavailable"]}),void 0),_([],h(a)).map((function(t){return e("span",v({className:"seat-map__legend-item seat-map__legend-item--symbol"},{children:[n(y,{name:t,size:20},void 0),t.split("_")[0]]}),t)}))]}),void 0)};N(".duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-1);\n color: var(--GREY-600);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--SPACING-SM-1);\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--wrapped {\n background-color: var(--GREY-100);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n }\n");var W=["bassinet","exit_row"],K=function(e){var t=e.type,a=E();return n("div",v({className:c("map-element map-element--amenity",{"map-element--wrapped":!W.includes(t)}),"aria-label":t.toString()},{children:n(y,{name:t,size:R(a)?16:24},void 0)}),void 0)};N(".duffel-components .seat-info {\n background-color: rgb(var(--WHITE));\n padding: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n}\n\n .duffel-components .seat-info__details {\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n font-weight: normal;\n text-transform: none;\n display: flex;\n justify-content: space-between;\n }\n\n .duffel-components .seat-info__details > span {\n flex-grow: 1;\n margin: 0 var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__disclosure {\n font-size: var(--FONT-SIZES-C3);\n color: var(--GREY-600);\n line-height: 150%;\n text-transform: none;\n font-weight: normal;\n margin-top: var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__details + .seat-info__disclosure {\n padding-top: var(--SPACING-SM-3);\n border-top: 1px solid var(--GREY-200);\n margin-top: var(--SPACING-SM-3);\n }\n");var $=function(t){var a=t.seat,r=t.service,o=r?M(r.total_currency)(+r.total_amount):"";return e("div",v({className:"seat-info"},{children:[e("div",v({className:"seat-info__details"},{children:[n("strong",{children:null==a?void 0:a.designator},void 0),e("span",{children:[(null==a?void 0:a.name)||"Seat"," "]},void 0),n("strong",{children:o},void 0)]}),void 0),null==a?void 0:a.disclosures.map((function(e,t){return n("div",v({className:"seat-info__disclosure"},{children:e}),t)}))]}),void 0)};N(".duffel-components .map-element__seat {\n appearance: none;\n outline: none;\n cursor: default;\n width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n box-sizing: border-box;\n color: var(--GREY-600);\n background-color: var(--GREY-100);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3);\n text-transform: uppercase;\n font-weight: bold;\n font-size: var(--FONT-SIZES-C3);\n text-align: left;\n position: relative;\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element__seat {\n width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--available {\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .map-element--fee-payable {\n position: absolute;\n top: 22px;\n left: 22px;\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--fee-payable {\n top: 26px;\n left: 26px\n }\n }\n @media (hover: hover) and (pointer: fine) {\n .duffel-components .map-element--actionable:hover {\n cursor: pointer;\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover .map-element--fee-payable {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n }\n .duffel-components .map-element--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n color: rgba(var(--WHITE), 1);\n }\n");var J=function(o){var i=o.seat,s=E(),l=h(a.useState(!1),2),d=l[0],f=l[1],p=function(n,e,t,a){var o=Object.assign({},{shouldInsideClickClose:!1},a).shouldInsideClickClose,i=h(r.useState(null),2),s=i[0],l=i[1],d=h(r.useState(null),2),c=d[0],f=d[1],p=h(r.useState(null),2),m=p[0],g=p[1],C=v(v({},{placement:"auto",modifiers:[{name:"arrow",options:{element:m}}]}),t),_=u(s,c,C),N=r.useCallback((function(n){var t=!!c&&c.contains(n.target);t||e(),o&&t&&setTimeout(e,10)}),[c,e,o]),b=r.useCallback((function(n){"Escape"===n.key&&e()}),[e]);return r.useEffect((function(){if(null!==document)return n&&(document.body.addEventListener("click",N),document.body.addEventListener("keydown",b)),function(){document.body.removeEventListener("click",N),document.body.removeEventListener("keydown",b)}}),[n,N,b]),{popper:_,setReferenceElement:l,setPopperElement:f,setArrowElement:g}}(d,(function(){return f(!1)}),{placement:"top",modifiers:[{name:"offset",options:{offset:[0,8]}}]},{shouldInsideClickClose:!1}),m=p.popper,g=m.styles,C=m.attributes,N=p.setReferenceElement,b=p.setPopperElement,S=Y(),I=S.passengers,x=S.passengerId,A=S.segmentId,T=S.seatSelection,w=S.currentSeat,L=S.setCurrentSeat,O=S.onSelectSeat,P=S.extendedSeatInfo,H=S.setExtendedSeatInfo,B=function(n,e,t){var a,r,o=null===(a=n.available_services)||void 0===a?void 0:a.find((function(n){return n.passenger_id===e})),i=null===(r=n.available_services)||void 0===r?void 0:r.find((function(n){var e,a;return!!t&&(null===(a=null===(e=t[n.passenger_id])||void 0===e?void 0:e.service)||void 0===a?void 0:a.id)===n.id}));return{service:o,isAvailable:o&&!i||!1,selectedBy:null==i?void 0:i.passenger_id}}(i,x,T[A]),k=B.service,Z=B.isAvailable,F=B.selectedBy,z=a.useMemo((function(){return function(n,e){if(!e)return!1;var t="";return n.forEach((function(n,a){var r,o;if(n.name){var i=new RegExp(/(\p{L}{1})\p{L}+/,"gu"),s=_([],h(n.name.matchAll(i)))||[];if(n.id===e)return t=(((null===(r=s.shift())||void 0===r?void 0:r[1])||"")+((null===(o=s.pop())||void 0===o?void 0:o[1])||"")).toUpperCase()}if(n.id===e)return t="P"+(a+1)})),t}(I,F)}),[I,F]),U=""+(k&&M(k.total_currency)(+k.total_amount)),V=(null==k?void 0:k.total_amount)&&0!==parseInt(null==k?void 0:k.total_amount),j=F&&F!==x,q=a.useMemo((function(){return function(n){if(null!==n){var e=n.segment,t=n.seat.designator;P.map((function(n){return n})).find((function(n){return n.segment===e&&n.seat.designator===t}))?H(P.splice(P.findIndex((function(n){return n.segment!==e&&n.seat.designator!==t})))):k&&H(_(_([],h(P)),[v(v({},n),{service:k})]))}}}),[P,k,H]);return n(t,{children:F||Z?e("button",v({id:i.designator,type:"button",className:c("map-element","map-element__seat",{"map-element--available":Z&&!F,"map-element--selected":F,"map-element--actionable":Z||F==x}),onClick:function(n){(k&&q({segment:A,seat:i,service:k}),R(s)&&(w.seat===i?L({seat:null,service:void 0}):L({seat:i,service:k})),k&&!j)&&(O(F===x?null:{designator:i.designator,service:k}),n.target.blur())},onMouseEnter:function(){return!R(s)&&f(!0)},onMouseLeave:function(){return!R(s)&&f(!1)},ref:N,"aria-label":i.designator+" "+(i.name||"Seat")+" "+U},{children:[V&&n(y,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:R(s)?16:24},void 0),F?z:i.designator.charAt(i.designator.length-1),d&&!j&&k&&!R(s)&&n(G,v({ref:b,style:v({},g.popper)},C.popper,{children:n($,{seat:i,service:k},void 0)}),void 0)]}),void 0):n("span",v({className:"map-element map-element__seat","aria-label":i.designator+" "+(i.name||"Seat")+" Unavailable"},{children:n(y,{name:"close",size:R(s)?14:16},void 0)}),void 0)},void 0)};N(".duffel-components .map-element--exit {\n color: var(--GREY-400);\n width: 100%;\n height: var(--SPACING-LG-3);\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n\n .duffel-components .map-element--exit--right {\n justify-content: flex-end;\n }\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3)\n }\n }\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-XS-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-SM-1)\n }\n }\n\n.duffel-components .map-section {\n display: flex;\n justify-content: center;\n padding: var(--SPACING-XS-1) 0;\n}\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section {\n padding: var(--SPACING-XS-2) 0\n}\n }\n\n.duffel-components .map-section--left {\n border-left: 2px solid var(--GREY-200);\n padding-left: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--left.map-section--wing {\n box-shadow: -19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section--right {\n border-right: 2px solid var(--GREY-200);\n padding-right: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--right.map-section--wing {\n box-shadow: 19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section__aisle {\n display: flex;\n justify-content: center;\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C3);\n line-height: var(--SPACING-MD-2);\n }\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section__aisle {\n font-size: var(--FONT-SIZES-C2);\n line-height: var(--SPACING-MD-3)\n }\n }\n");var Q=function(e,a,r){return n(t,{children:"seat"===e.type?n(J,{seat:e},a):"empty"===e.type?n("div",{className:"map-element map-element--empty"},a):"exit_row"===e.type?n("div",v({className:c("map-element map-element--exit",{"map-element--exit--right":r>0})},{children:n(y,0===r?{name:"exit_row"}:{name:"exit_row_right"},void 0)}),a):n(K,{type:e.type},a)},void 0)},nn=function(r){var o=r.row,i=r.hasWings,s=function(n){var e=Object.values(n.sections).map((function(n){return n.elements})).reduce((function(n,e){return n.concat(e)}),[]).filter((function(n){return"seat"===n.type}));return e.length>0?e[0].designator.substring(0,e[0].designator.length-1):null}(o);return n(t,{children:Object.values(o.sections).map((function(t,r){return e(a.Fragment,{children:[n("div",v({className:c("map-section",{"map-section--left":0===r,"map-section--right":r===o.sections.length-1,"map-section--wing":i}),"data-testid":"row-section-"+r},{children:t.elements.length>0?t.elements.map((function(e,t){return n(a.Fragment,{children:Q(e,t,r)},t)})):Q({type:"empty"},-1,r)}),void 0),r<Object.keys(o.sections).length-1&&n("span",v({className:"map-section__aisle"},{children:s}),void 0)]},r)}))},void 0)};N(".duffel-components .seat-map {\n background-color: rgba(var(--WHITE), 1);\n padding: var(--SPACING-SM-3);\n display: flex;\n flex-direction: column;\n align-items: center;\n width: fit-content;\n min-height: 100%;\n}\n\n @media only screen and (min-width: 768px) {.duffel-components .seat-map {\n padding: var(--SPACING-LG-1) var(--SPACING-SM-3) var(--SPACING-SM-3)\n}\n }\n\n .duffel-components .seat-map__legend-container {\n margin-bottom: var(--SPACING-MD-3);\n width: fit-content;\n }\n\n .duffel-components .seat-map__map-container {\n display: grid;\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-1)) auto;\n grid-column-gap: var(--SPACING-XS-2);\n align-items: center;\n width: min-content;\n margin: 0 var(--SPACING-SM-2);\n }\n\n @media only screen and (min-width: 768px) {\n\n .duffel-components .seat-map__map-container {\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-2)) auto;\n grid-column-gap: var(--SPACING-SM-2);\n margin: 0;\n padding-bottom: var(--SPACING-LG-1)\n }\n }\n");var en=function(){var t=Y(),r=t.segmentId,o=t.offer,i=t.seatMaps,s=h(a.useState(0),2),l=s[0],d=s[1],u=function(n,e,t,a){var r=t.find((function(n){return n.segment_id===e}));if(!(null==r?void 0:r.cabins)||0===(null==r?void 0:r.cabins.length))return{cabin:null};var o=a.slices.length>0&&a.slices[0].segments.length>0&&a.slices[0].segments[0].passengers.length>0&&a.slices[0].segments[0].passengers[0].cabin_class,i=null==r?void 0:r.cabins.filter((function(n){return n.cabin_class===o}));return{cabin:i.find((function(e){return e.deck===n}))||i[0]||(null==r?void 0:r.cabins[0]),hasMultipleDecks:i.length>1,anyHasWings:i.some((function(n){return n.wings}))}}(l,r,i,o),f=u.cabin,p=u.hasMultipleDecks,m=u.anyHasWings;if(!f)return n(O,{errorType:"error_unavailable"},void 0);var g=function(n){var e,t,a,r,o,i,s=new Set;try{for(var l=C(n.rows),d=l.next();!d.done;d=l.next()){var c=d.value;try{for(var u=(a=void 0,C(c.sections)),f=u.next();!f.done;f=u.next()){var p=f.value;try{for(var m=(o=void 0,C(p.elements)),v=m.next();!v.done;v=m.next()){var g=v.value;"seat"!==g.type&&"empty"!==g.type&&s.add(g.type)}}catch(n){o={error:n}}finally{try{v&&!v.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}}catch(n){a={error:n}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(a)throw a.error}}}}catch(n){e={error:n}}finally{try{d&&!d.done&&(t=l.return)&&t.call(l)}finally{if(e)throw e.error}}return s}(f);return e("div",v({"data-testid":"seat-map",className:c("seat-map",{"seat-map--wings":m})},{children:[p&&n(D,{value:l,setValue:function(n){d(n)}},void 0),n("div",v({className:"seat-map__legend-container"},{children:n(X,{symbols:g},void 0)}),void 0),n("div",v({className:"seat-map__map-container",style:{"--CABIN-AISLES":f.aisles}},{children:f.rows.map((function(e,t){return n(nn,{row:e,hasWings:!!f.wings&&(f.wings.first_row_index<=t&&f.wings.last_row_index>=t)},t)}))}),void 0)]}),void 0)};N(".duffel-components .summary__segment {\n border-bottom: 1px solid var(--GREY-200);\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n }\n\n .duffel-components .summary__segment > .passenger-segment__title {\n padding: 0;\n margin: 0;\n }\n\n .duffel-components .summary__segment-passenger {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-C1);\n font-weight: normal;\n margin: 0;\n padding: 0;\n }\n .duffel-components .summary__description-cost {\n display: flex;\n justify-content: space-between;\n font-size: var(--FONT-SIZES-C1);\n margin-bottom: var(--SPACING-SM-3);\n }\n .duffel-components .summary:not(.summary--mobile) {\n padding-top: 0;\n display: none;\n }\n .duffel-components .summary__actions {\n display: flex;\n }\n .duffel-components .summary__actions--previous {\n transform: rotate(180deg);\n }\n .duffel-components .summary__actions > button:last-of-type {\n flex: 1 auto;\n justify-content: center;\n margin-left: var(--SPACING-SM-3);\n }\n @media screen and (min-width: 768px) {\n .duffel-components .summary:not(.summary--mobile) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .duffel-components .summary--mobile {\n display: none;\n }\n\n .duffel-components .summary__description-title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H5);\n line-height: 26px;\n margin-bottom: var(--SPACING-XS-2);\n }\n\n .duffel-components .summary__description-cost {\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C2);\n line-height: 21px;\n margin-bottom: 0;\n }\n .duffel-components .summary__actions--previous.duffel-button--icon-only {\n padding: 0;\n }\n .duffel-components .summary__actions .summary__confirmation-btn:last-child {\n margin-left: var(--SPACING-SM-1);\n }\n }\n");var tn=function(t){var a=t.primaryButtonCopy,r=t.onBackClick,o=t.disableBackButton,i=t.onClick,s=t.iconAfter,l="summary-button-"+a.replace(" ","-").toLowerCase();return e("div",v({className:"summary__actions"},{children:[n(I,{text:"Previous passenger",onClick:r,disabled:o,intent:"MUTED",iconOnly:"chevron","aria-label":"Previous passenger",className:"summary__actions--previous"},void 0),n(I,v({"data-testid":l,text:a,className:"summary__confirmation-btn",onClick:i},s),void 0)]}),void 0)},an=function(r){var o,i=r.onClick,s=r.primaryButtonCopy,l=r.iconAfter,d=r.onBackClick,c=r.disableBackButton,u=Y(),f=u.seatSelection,p=u.segments,m=u.passengers,g=u.currentSelectedPassenger,C=u.currentSelectedSegment,h=u.offer,_=u.currency,N=(o=f,Object.values(o).map((function(n){return Object.values(n)})).map((function(n){return n.map((function(n){return(null==n?void 0:n.service)||null}))})).flat().filter((function(n){return null!==n}))),b=a.useMemo((function(){return H(N.map((function(n){return parseFloat(n.total_amount)})))}),[N]),S=a.useMemo((function(){return H(p.map((function(n){return n.passengers.length})))}),[p]),y=N&&N.length,I=y>0?M(N[0].total_currency)(b):h?M(_)(0):"0",x=g&&m.findIndex((function(n){return n.id===(null==g?void 0:g.id)})),E=(null==g?void 0:g.name)?g.name:x>=0?"Passenger "+(x+1):"";return e(t,{children:[e("div",v({className:"summary","data-testid":"seat-selection-summary"},{children:[e("div",v({className:"summary__description"},{children:[n("div",v({className:"summary__description-title"},{children:y+" of "+S+" seat"+(S>1?"s":"")+" selected"}),void 0),e("div",v({className:"summary__description-cost"},{children:[I," will be added to the order"]}),void 0)]}),void 0),n(tn,{onBackClick:d,onClick:i,iconAfter:l,primaryButtonCopy:s,disableBackButton:c},void 0)]}),void 0),e("div",v({className:"summary summary--mobile"},{children:[e("div",v({className:"summary__segment"},{children:[Object.keys(C).length>0&&n(V,{segment:C},"summary-"+C.id),E&&n("h3",v({className:"summary__segment-passenger"},{children:E}),void 0)]}),void 0),e("div",v({className:"summary__description-cost"},{children:["Total Price ",n("strong",{children:I},void 0)]}),void 0),n(tn,{onBackClick:d,onClick:i,iconAfter:l,primaryButtonCopy:s,disableBackButton:c},void 0)]}),void 0)]},void 0)};N(".duffel-components {\n --FONT-FAMILY: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif;\n --FONT-SIZES-C0: 20px;\n --FONT-SIZES-C1: 16px;\n --FONT-SIZES-C2: 14px;\n --FONT-SIZES-C3: 12px;\n --FONT-SIZES-H2: 32px;\n --FONT-SIZES-H3: 28px;\n --FONT-SIZES-H4: 24px;\n --FONT-SIZES-H5: 20px;\n}\n.duffel-components {\n --SPACING-XL-3: 128px;\n --SPACING-XL-2: 64px;\n --SPACING-XL-1: 56px;\n --SPACING-LG-3: 48px;\n --SPACING-LG-2: 40px;\n --SPACING-LG-1: 32px;\n --SPACING-MD-3: 24px;\n --SPACING-MD-2: 20px;\n --SPACING-MD-1: 18px;\n --SPACING-SM-3: 16px;\n --SPACING-SM-2: 12px;\n --SPACING-SM-1: 8px;\n --SPACING-XS-3: 6px;\n --SPACING-XS-2: 4px;\n --SPACING-XS-1: 2px;\n --SPACING-NONE: 0;\n}\n.duffel-components {\n --GREY-100: #f7f5f9;\n --GREY-200: #e2e2e8;\n --GREY-400: #ababb4;\n --GREY-500: #86868e;\n --GREY-600: #696972;\n --GREY-700: #4b4b55;\n --GREY-900: #29292e;\n --BLACK: 0, 0, 0;\n --WHITE: 255, 255, 255;\n --ACCENT: 57, 111, 233;\n --ACCENT-LIGHT-100: 0.08;\n --ACCENT-LIGHT-200: 0.24;\n --ACCENT-LIGHT-300: 0.48;\n --ACCENT-LIGHT-1000: 1;\n}\n.duffel-components {\n --TRANSITIONS-CUBIC-BEZIER: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.duffel-components {\n box-sizing: border-box;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n font-family: var(--FONT-FAMILY);\n overflow: hidden;\n height: 100%;\n}\n");N(".duffel-components .seat-selection {\n --SEAT-SELECTION-BOX-SHADOW: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 4px 24px rgba(var(--BLACK), 0.08);\n background-color: rgb(var(--WHITE));\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n .duffel-components .seat-selection__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n border-bottom: 1px solid rgba(59, 64, 86, 0.1);\n height: calc(100% - 177px);\n overflow: auto;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n display: none;\n padding-top: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n }\n\n .duffel-components .seat-selection__mobile-seat-info {\n align-self: center;\n position: absolute;\n bottom: 187px;\n width: calc(100% - 20px);\n padding: var(--SPACING-XS-3);\n margin-bottom: var(--SPACING-SM-2);\n height: auto;\n background-color: white;\n border-radius: 8px;\n z-index: 100;\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-MD-3);\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n position: sticky;\n bottom: 0;\n background-color: rgb(var(--WHITE));\n }\n\n@media screen and (min-width: 768px) {\n .duffel-components .seat-selection {\n width: calc(100vw - 2 * 56px);\n overflow: hidden;\n }\n\n .duffel-components .seat-selection__content {\n height: auto;\n padding: 0;\n flex-direction: row;\n align-items: initial;\n max-height: calc(100vh - 115px);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-LG-1);\n box-shadow: none;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n overflow: auto;\n border-right: 1px solid var(--GREY-200);\n display: flex;\n flex-direction: column;\n position: sticky;\n top: 0;\n flex: 1 0 auto;\n min-width: 415px;\n }\n\n .duffel-components .seat-selection__content-child--passengers > div:not(.passenger-selection) {\n margin-left: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n height: auto;\n align-items: center;\n overflow: auto;\n }\n}\n");var rn=function(t){var r=t.seatMaps,o=t.offer,i=t.passengers,s=t.initialSeatSelection,l=t.initialSegmentId,c=t.onSubmit,u=t.currencyConversion,f=i.sort((function(n,e){return n.id.localeCompare(e.id)})),m=function(n,e){if((null==e?void 0:e.rate)&&(null==e?void 0:e.currency)){var t=p(n);return t.forEach((function(n){return n.cabins.forEach((function(n){return n.rows.forEach((function(n){return n.sections.forEach((function(n){return n.elements.forEach((function(n){"seat"===n.type&&n.available_services.map((function(n){n.total_amount=(parseInt(n.total_amount)*e.rate).toFixed(2).toString(),n.total_currency=e.currency}))}))}))}))}))})),t}return n}(r,u),C=h(a.useState("Next Passenger"),2),N=C[0],b=C[1],S=h(a.useState(""),2),y=S[0],I=S[1],x=h(a.useState(l||""),2),A=x[0],T=x[1],G=h(a.useState(""),2),w=G[0],L=G[1],O=h(a.useState(""),2),M=O[0],H=O[1],F=h(a.useState(s||{}),2),Y=F[0],U=F[1],V=h(a.useState(i.length>0?f[0].id:""),2),j=V[0],D=V[1],X=o.slices.length>0&&o.slices[0],W=X&&X.segments.length>0&&X.segments[0].id,K=h(a.useState(l||W||""),2),J=K[0],Q=K[1],nn=h(a.useState("default"),2),tn=nn[0],rn=nn[1],on=h(a.useState({seat:null,service:void 0}),2),sn=on[0],ln=on[1],dn=h(a.useState(!0),2),cn=dn[0],un=dn[1],fn=h(a.useState([]),2),pn=fn[0],mn=fn[1];d.polyfill();var vn=E(),gn=a.useMemo((function(){return o.slices.map((function(n){return n.segments})).flat().filter((function(n){return r.map((function(n){return n.segment_id})).includes(n.id)}))}),[o,r]),Cn=a.useMemo((function(){return f.map((function(n){return n.id})).sort((function(n,e){return n.localeCompare(e)}))}),[f]);a.useMemo((function(){if(Object.keys(Y).length<=0){var n=new Map(gn.map((function(n){var e=new Map(n.passengers.map((function(n){return[n.passenger_id,null]})));return[n.id,Object.fromEntries(new Map(_([],h(e.entries())).sort((function(n,e){return n[0].localeCompare(e[0])}))))]}))),e=Object.fromEntries(n);e&&U(e)}}),[Y,gn]);var hn=a.useMemo((function(){return gn.find((function(n){return n.id===J}))||{}}),[gn,J]);a.useEffect((function(){var n=function(){window.innerWidth<1024&&"small"!==tn?rn("small"):window.innerWidth>=1024&&"default"!==tn&&rn("default")};return window.addEventListener("resize",n),function(){return window.removeEventListener("resize",n)}}),[tn]),a.useEffect((function(){var n=function(n,e){return Object.keys(e).reduce((function(e,t){var a,r=n.passengers;if(r){if(!(r.length>0)){var o=e,i=t;return o[i],g(o,["symbol"==typeof i?i:i+""])}var s=[];r.forEach((function(n){s.push(n.passenger_id)})),e=v(v({},e),((a={})[t]=s.sort((function(n,e){return n.localeCompare(e)})),a))}return e}),{})}(hn,Y),e=Object.keys(n),t=k(e,hn.id),a=n[J].indexOf(j),r=k(n[J],j),o=n[J][r],i=Object.keys(Y).indexOf(J);return 0===e.length?b("Continue"):(L(o),a===hn.passengers.length-1?i===e.length-1?b("Continue"):(I(e[t]),b("Next Flight")):b("Next Passenger"))}),[hn,Y,j,J]);var _n=a.useMemo((function(){return f.find((function(n){if(n.id===j)return{id:n.id,name:n.name||void 0}}))}),[f,j]);if(0===f.length||!X||0===o.slices[0].segments.length)return null;var Nn,bn,Sn,yn,In,xn=function(){var n=Object.keys(Y[J]);if(n[0]===j){un(!0),Q(A);var e=Object.keys(Y[A])[n.length-1];D(e)}else{var t=Cn.indexOf(j);0!==t&&D(Cn[t-1])}var a=Y[A][M],r=pn.map((function(n){return n})).find((function(n){return n.segment===A&&n.seat.designator===(null==a?void 0:a.designator)}));r&&ln({seat:r.seat,service:r.service})};return n(z.Provider,v({value:{offer:o,segments:gn,seatMaps:m,passengers:f,segmentId:J,passengerId:j,currentSelectedPassenger:_n,currentSelectedSegment:hn,seatSelection:Y,size:tn,onSelectSeat:function(n){var e,t,a=Object.assign({},Y,((e={})[J]=Object.assign({},Y[J],((t={})[j]=v({},n),t)),e));U(a)},onSelectPassenger:function(n,e){D(n),Q(e);var t,a,r=Y[e]&&Y[e][n];if(r&&null!==r.designator){var o=document.getElementById(r.designator);o&&(t=o.getBoundingClientRect(),a=Math.max(document.documentElement.clientHeight,window.innerHeight),t.bottom<0||t.top-a>=0)&&(null==o||o.scrollIntoView({behavior:"smooth",block:"center"}))}},currentSeat:sn,setCurrentSeat:ln,setIsLoading:un,extendedSeatInfo:pn,setExtendedSeatInfo:mn,currency:(null==u?void 0:u.currency)&&(null==u?void 0:u.rate)?u.currency:o.total_currency}},{children:n("div",v({className:"duffel-components"},{children:e("div",v({className:"seat-selection"},{children:[e("div",v({className:"seat-selection__content"},{children:[!R(vn)&&n("aside",v({className:"seat-selection__content-child seat-selection__content-child--passengers"},{children:n(q,{},void 0)}),void 0),n("div",v({className:"seat-selection__content-child seat-selection__content-child--map"},{children:cn?(Sn=hn.origin.iata_code||"",yn=hn.destination.iata_code||"",In=hn.duration&&function(n){var e=n.match(B);return e?((e[1]&&"0"!==e[1]?e[1]+"d":"")+" "+(e[2]&&"0"!==e[2]?e[2].toString().padStart(2,"0")+"h":"")+" "+(e[3]&&"0"!==e[3]?e[3].toString().padStart(2,"0")+"m":"")).trim():n}(hn.duration)||"",n(Z,{origin:Sn,destination:yn,duration:In,done:function(){return un(!1)}},void 0)):n(P,{children:n(en,{},void 0)},void 0)}),void 0)]}),void 0),(Nn=sn.seat,bn=sn.service,null!==Nn&&R(vn)&&Y[J]&&null!==Y[J][j]?n("div",v({className:"seat-selection__mobile-seat-info"},{children:n($,{seat:Nn,service:bn},void 0)}),void 0):null),n("div",v({className:"seat-selection__confirmation"},{children:function(){var e=J===W&&j===f[0].id||!1;switch(N){case"Continue":return n(an,{onClick:function(){var n;c(Y),n=gn[0],D(n.passengers[0].passenger_id),Q(n.id)},onBackClick:xn,disableBackButton:e,primaryButtonCopy:N},void 0);case"Next Flight":return n(an,{onClick:function(){un(!0),T(J),D(w),Q(y)},onBackClick:xn,disableBackButton:e,primaryButtonCopy:R(vn)?"Next":N,iconAfter:{iconAfter:"chevron"}},void 0);default:return n(an,{onClick:function(){H(j),D(w)},onBackClick:xn,disableBackButton:e,iconAfter:{iconAfter:"chevron"},primaryButtonCopy:R(vn)?"Next":N},void 0)}}()}),void 0)]}),void 0)}),void 0)}),void 0)},on=function(e){return n(P,{children:n(rn,v({},e),void 0)},void 0)};on.propTypes={offer:l.shape({allowed_passenger_identity_document_types:l.array.isRequired,available_services:l.array.isRequired,base_amount:l.string.isRequired,base_currency:l.string.isRequired,conditions:l.object.isRequired,created_at:l.string.isRequired,expires_at:l.string.isRequired,id:l.string.isRequired,live_mode:l.bool.isRequired,owner:l.shape({name:l.string.isRequired,id:l.string.isRequired,iata_code:l.string.isRequired}).isRequired,passenger_identity_documents_required:l.bool.isRequired,passengers:l.array.isRequired,payment_requirements:l.shape({payment_required_by:l.string,price_guarantee_expires_at:l.string,requires_instant_payment:l.bool.isRequired}).isRequired,slices:l.array.isRequired,tax_amount:l.string.isRequired,tax_currency:l.string.isRequired,total_amount:l.string.isRequired,total_emissions_kg:l.string.isRequired,total_currency:l.string.isRequired,updated_at:l.string.isRequired}).isRequired,seatMaps:l.arrayOf(l.shape({id:l.string.isRequired,slice_id:l.string.isRequired,segment_id:l.string.isRequired,cabins:l.array.isRequired}).isRequired).isRequired,passengers:l.arrayOf(l.shape({id:l.string.isRequired,name:l.string}).isRequired).isRequired,onSubmit:l.func.isRequired};export{on as SeatSelection};
//# sourceMappingURL=duffel-components.esm.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("prop-types"),a=require("smoothscroll-polyfill"),r=require("classnames"),o=require("react-popper"),i=require("react-dom");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var d=l(n),c=s(n),u=s(t),f=s(a),p=s(r),m=function(e,n){return(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(e,n)};var v=function(){return(v=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function g(e,n){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)n.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t}function C(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],a=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&a>=e.length&&(e=void 0),{value:e&&e[a++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var a,r,o=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return i}function x(e,n){for(var t=0,a=n.length,r=e.length;t<a;t++,r++)e[r]=n[t];return e}function _(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}_(".duffel-components .ff-icon {\n margin-left: initial;\n display: block;\n fill: currentColor;\n}\n");var b={arrow_forward:e.jsx("path",{d:"M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41l-6.58-6.6c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z"},void 0),bassinet:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M19 12C19 14.1217 18.1571 16.1566 16.6569 17.6569C15.1566 19.1571 13.1217 20 11 20C8.87827 20 6.84344 19.1571 5.34315 17.6569C3.84286 16.1566 3 14.1217 3 12L11 12H19Z"},void 0),e.jsx("path",{d:"M16.1347 5.86529L11 11V4C12.0506 4 13.0909 4.20693 14.0615 4.60896C14.8136 4.92052 15.5125 5.34451 16.1347 5.86529ZM16.8602 6.55405L12.4142 11H18.9373C18.8482 10.293 18.6649 9.59962 18.391 8.93853C18.0264 8.05823 17.5077 7.25087 16.8602 6.55405Z"},void 0)]},void 0),chevron:e.jsx("path",{d:"M5 13H16.17L11.29 17.88C10.9 18.27 10.9 18.91 11.29 19.3C11.68 19.69 12.31 19.69 12.7 19.3L19.29 12.71C19.68 12.32 19.68 11.69 19.29 11.3L12.71 4.7C12.32 4.31 11.69 4.31 11.3 4.7C10.91 5.09 10.91 5.72 11.3 6.11L16.17 11H5C4.45 11 4 11.45 4 12C4 12.55 4.45 13 5 13Z"},void 0),close:e.jsx("path",{d:"M18.3 5.71c-.39-.39-1.02-.39-1.41 0L12 10.59 7.11 5.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"},void 0),closet:e.jsx("path",{d:"M12 4C11.0717 4 10.1815 4.36875 9.52513 5.02513C8.86875 5.6815 8.5 6.57174 8.5 7.5H10.5C10.5 7.10218 10.658 6.72064 10.9393 6.43934C11.2206 6.15804 11.6022 6 12 6C12.3978 6 12.7794 6.15804 13.0607 6.43934C13.342 6.72064 13.5 7.10218 13.5 7.5C13.5 7.89782 13.342 8.27936 13.0607 8.56066C12.7794 8.84196 12.3978 9 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2C2.23209 18.3259 2.10807 18.5015 2.04549 18.7018C1.98291 18.9022 1.98495 19.1171 2.05132 19.3162C2.11769 19.5153 2.24502 19.6885 2.41529 19.8112C2.58556 19.934 2.79012 20 3 20H21C21.2099 20 21.4144 19.934 21.5847 19.8112C21.755 19.6885 21.8823 19.5153 21.9487 19.3162C22.0151 19.1171 22.0171 18.9022 21.9545 18.7018C21.8919 18.5015 21.7679 18.3259 21.6 18.2L13 11.75V10.85C13.7216 10.6349 14.3546 10.1927 14.805 9.58919C15.2554 8.98569 15.4991 8.25303 15.5 7.5C15.5 6.57174 15.1313 5.6815 14.4749 5.02513C13.8185 4.36875 12.9283 4 12 4ZM12 13.5L18 18H6L12 13.5Z"},void 0),exit_row:e.jsx("path",{d:"M20 11H6.83001L9.71001 8.12001C10.1 7.73001 10.1 7.10001 9.71001 6.71001C9.32001 6.32001 8.69001 6.32001 8.30001 6.71001L3.71001 11.3C3.32001 11.69 3.32001 12.32 3.71001 12.71L8.30001 17.3C8.69001 17.69 9.32001 17.69 9.71001 17.3C10.1 16.91 10.1 16.28 9.71001 15.89L6.83001 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11Z"},void 0),exit_row_right:e.jsx("path",{d:"M4 11H17.17L14.29 8.12001C13.9 7.73001 13.9 7.10001 14.29 6.71001C14.68 6.32001 15.31 6.32001 15.7 6.71001L20.29 11.3C20.68 11.69 20.68 12.32 20.29 12.71L15.7 17.3C15.31 17.69 14.68 17.69 14.29 17.3C13.9 16.91 13.9 16.28 14.29 15.89L17.17 13H4C3.45 13 3 12.55 3 12C3 11.45 3.45 11 4 11Z"},void 0),galley:e.jsx("path",{d:"M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z"},void 0),lavatory:e.jsx("path",{d:"M5.5 22v-7.5H4V9c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v5.5H9.5V22h-4zM18 22v-6h3l-2.54-7.63C18.18 7.55 17.42 7 16.56 7h-.12c-.86 0-1.63.55-1.9 1.37L12 16h3v6h3zM7.5 6c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2zm9 0c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2z"},void 0),lie_flat_seat:e.jsx("path",{d:"M6.16667 12.8333C6.81667 12.8333 7.45834 12.5833 7.95001 12.0833C8.91667 11.0916 8.90001 9.51659 7.91667 8.54992C7.42501 8.07492 6.79167 7.83325 6.16667 7.83325C5.51667 7.83325 4.87501 8.08325 4.38334 8.58325C3.41667 9.57492 3.43334 11.1499 4.41667 12.1166C4.90834 12.5916 5.54167 12.8333 6.16667 12.8333ZM5.57501 9.74992C5.73334 9.59159 5.94167 9.49992 6.16667 9.49992C6.38334 9.49992 6.59167 9.58325 6.75001 9.73325C7.08334 10.0583 7.08334 10.5749 6.76667 10.9083C6.60001 11.0749 6.39167 11.1666 6.16667 11.1666C5.95001 11.1666 5.74167 11.0833 5.58334 10.9333C5.25001 10.5999 5.25001 10.0833 5.57501 9.74992ZM17 7.83325H9.50001V12.8333H20.3333V11.1666C20.3333 9.32492 18.8417 7.83325 17 7.83325ZM11.1667 11.1666V9.49992H17C17.9167 9.49992 18.6667 10.2499 18.6667 11.1666H11.1667ZM3.66667 15.3333H8.66667V16.9999H15.3333V15.3333H20.3333V13.6666H3.66667V15.3333Z"},void 0),no_airplane:e.jsx("path",{d:"M14.6674 10.0001V2.66675C14.6674 1.56008 13.7741 0.666748 12.6674 0.666748C11.5607 0.666748 10.6674 1.56008 10.6674 2.66675V7.57341L21.1074 18.0134L25.3341 19.3334V16.6667L14.6674 10.0001ZM1.33407 5.02675L7.9874 11.6801L0.000732422 16.6667V19.3334L10.6674 16.0001V23.3334L8.00073 25.3334V27.3334L12.6674 26.0001L17.3341 27.3334V25.3334L14.6674 23.3334V18.3601L22.3074 26.0001L24.0007 24.3067L3.0274 3.33341L1.33407 5.02675Z"},void 0),no_seat:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M25.1667 21.9733L23.4733 23.6667L2.5 2.69333L4.19333 1L7.16667 3.97333L16.5267 13.3333L19.1933 16L24.5 21.3067L25.1667 21.9733Z"},void 0),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.16667 24H3.16667V16H19.1933L24.5 21.3067V24H20.5V20H7.16667V24ZM27.1667 9.33333H23.1667V13.3333H27.1667V9.33333ZM4.5 9.33333H0.5V13.3333H4.5V9.33333ZM20.3333 13.3333H20.5V2.66667C20.5 1.2 19.3 0 17.8333 0H9.83333C9.05784 0 8.3569 0.335483 7.86848 0.868484L20.3333 13.3333ZM16.5267 13.3333L7.16667 3.97333V13.3333H16.5267Z"},void 0)]},void 0),seat:e.jsx("path",{d:"M7.59 5.41012C6.81 4.63012 6.81 3.36012 7.59 2.58012C8.37 1.80012 9.64 1.80012 10.42 2.58012C11.2 3.36012 11.2 4.63012 10.42 5.41012C9.63 6.20012 8.37 6.20012 7.59 5.41012ZM6 16.0001V8.00012C6 7.45012 5.55 7.00012 5 7.00012C4.45 7.00012 4 7.45012 4 8.00012V16.0001C4 18.7601 6.24 21.0001 9 21.0001H14C14.55 21.0001 15 20.5501 15 20.0001C15 19.4501 14.55 19.0001 14 19.0001H9C7.34 19.0001 6 17.6601 6 16.0001ZM19.28 19.3501L15.51 15.5801C15.14 15.2101 14.63 15.0001 14.1 15.0001H11.5V11.3201C12.59 12.2101 14.16 13.0201 15.7 13.3401C16.37 13.4801 17 12.9801 17 12.3001C17 11.7701 16.61 11.3401 16.08 11.2501C14.66 11.0101 13.2 10.2401 12.33 9.28012L10.93 7.73012C10.74 7.52012 10.5 7.35012 10.24 7.23012C9.95 7.09012 9.62 7.00012 9.28 7.00012H9.25C8.01 7.00012 7 8.01012 7 9.25012V15.0001C7 16.6601 8.34 18.0001 10 18.0001H15.07L17.85 20.7801C18.24 21.1701 18.89 21.1701 19.28 20.7801C19.68 20.3901 19.68 19.7501 19.28 19.3501Z"},void 0),seat_paid_indicator:e.jsx("path",{d:"M11.7686 0.731368C12.7766 -0.276576 14.5 0.437294 14.5 1.86274V10.8C14.5 12.5673 13.0673 14 11.3 14H2.36274C0.937294 14 0.223427 12.2766 1.23137 11.2686L11.7686 0.731368Z"},void 0),stairs:e.jsx("path",{d:"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,8h-2.42v3.33H13v3.33h-2.58 V18H6v-2h2.42v-3.33H11V9.33h2.58V6H18V8z"},void 0),wifi:e.jsx("path",{d:"M2.83333 9.50005L4.49999 11.1667C8.64166 7.02505 15.3583 7.02505 19.5 11.1667L21.1667 9.50005C16.1083 4.44172 7.89999 4.44172 2.83333 9.50005ZM9.49999 16.1667L12 18.6667L14.5 16.1667C13.125 14.7834 10.8833 14.7834 9.49999 16.1667ZM6.16666 12.8334L7.83333 14.5C10.1333 12.2 13.8667 12.2 16.1667 14.5L17.8333 12.8334C14.6167 9.61672 9.39166 9.61672 6.16666 12.8334Z"},void 0)},N=function(e){return e in b?b[e]:(console.warn("The icon "+e),null)},S=function(n){var t=n.name,a=n.size,r=n.className,o=n.viewBox;return e.jsx("svg",v({className:p.default("ff-icon",r),width:a||24,height:a||24,viewBox:o||"0 0 24 24","aria-label":t,"data-testid":t},{children:N(t)}),void 0)};_(".duffel-components .duffel-button {\n --BUTTON-BASE-COLOR: rgb(var(--ACCENT));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C0);\n --BUTTON-ICON-SIZE: 24px;\n --BUTTON-RADIUS: 5px;\n --BUTTON-SPACING: 6px 40px;\n --BUTTON-ICON-SPACING: 8px;\n --BUTTON-ICON-MARGIN: 12px;\n --TRANSITION-CUBIC-BEZIER: cubic-bezier(0.25, 0.8, 0.25, 1);\n\n -webkit-appearance: none;\n align-items: center;\n background-color: inherit;\n border: 2px solid var(--BUTTON-BASE-COLOR);\n border-radius: var(--BUTTON-RADIUS);\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n display: flex;\n font-family: var(--FONT-FAMILY);\n font-size: inherit;\n font-weight: normal;\n line-height: 1;\n margin: 0;\n padding: var(--BUTTON-SPACING);\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n user-select: none;\n transition: background-color 0.3s var(--TRANSITION-CUBIC-BEZIER), border-color 0.3s var(--TRANSITION-CUBIC-BEZIER),\n color 0.3s var(--TRANSITION-CUBIC-BEZIER);\n}\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 48px;\n width: 48px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only > svg {\n --BUTTON-ICON-SIZE: 24px;\n margin: 0 auto;\n }\n\n .duffel-components .duffel-button__text {\n display: block;\n font-size: var(--BUTTON-FONT-SIZE);\n font-weight: 600;\n line-height: 1.5;\n }\n\n .duffel-components .duffel-button:focus {\n outline-offset: 0.25em;\n outline: 2px solid rgb(--ACCENT);\n }\n\n .duffel-components .duffel-button--primary {\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n\n .duffel-components .duffel-button--muted {\n --BUTTON-BASE-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n\n border-color: transparent;\n }\n\n .duffel-components .duffel-button--muted.duffel-button--solid:hover,\n .duffel-components .duffel-button--muted.duffel-button--solid:active {\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid {\n background-color: var(--BUTTON-BASE-COLOR);\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid.duffel-button--muted {\n color: rgb(var(--ACCENT));\n }\n\n .duffel-components .duffel-button--solid:hover,\n .duffel-components .duffel-button--solid:active {\n border-color: transparent;\n background-color: var(--BUTTON-HOVER-COLOR);\n }\n\n .duffel-components .duffel-button--is-disabled {\n cursor: default;\n opacity: 0.4;\n user-select: none;\n pointer-events: none;\n }\n\n .duffel-components .duffel-button .duffel-button__icon {\n display: block;\n height: var(--BUTTON-ICON-SIZE);\n width: var(--BUTTON-ICON-SIZE);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--before {\n margin-right: var(--BUTTON-ICON-MARGIN);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--after {\n margin-left: var(--BUTTON-ICON-MARGIN);\n }\n\n @media screen and (min-width: 768px) {.duffel-components .duffel-button {\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C1);\n --BUTTON-ICON-SIZE: 18px;\n --BUTTON-SPACING: 4px 16px;\n line-height: 24px\n}\n .duffel-components .duffel-button:not(.duffel-button--icon-only) {\n height: 32px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 32px;\n width: 32px;\n }\n }\n");var y=d.forwardRef((function(n,t){var a=n.className,r=n.disabled,o=void 0!==r&&r,i=n.iconAfter,s=n.iconBefore,l=n.iconOnly,d=n.intent,c=void 0===d?"PRIMARY":d,u=n.text,f=n.type,m=void 0===f?"button":f,C=n.id,h=g(n,["className","disabled","iconAfter","iconBefore","iconOnly","intent","text","type","id"]),x=p.default("duffel-button","duffel-button--solid",a,{"duffel-button--primary":"PRIMARY"===c,"duffel-button--muted":"MUTED"===c,"duffel-button--icon-only":l,"duffel-button--is-disabled":o});return e.jsxs("button",v({ref:t,type:m,className:x,disabled:o,"aria-label":u,"data-testid":C,id:C},h,{children:[s&&e.jsx(S,{className:"duffel-button__icon duffel-button__icon--before",name:s},void 0),l&&e.jsx(S,{className:"duffel-button__icon",name:l},void 0),!l&&e.jsx("span",v({className:"duffel-button__text"},{children:u}),void 0),i&&e.jsx(S,{className:"duffel-button__icon duffel-button__icon--after",name:i},void 0)]}),void 0)})),I=function(n){var t=n.className,a=n.children,r=g(n,["className","children"]),o=p.default("chromeless-button",t);return e.jsx("button",v({className:o},r,{children:a}),void 0)},E=function(){var e=h(c.default.useState(null),2),n=e[0],t=e[1];return c.default.useEffect((function(){null===n&&t(window.innerWidth);var e=function(){return t(window.innerWidth)};return e(),window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),null!=n?n:0};function A(e){var n=d.useRef(null);return d.useEffect((function(){var t=document.querySelector("#"+e),a=t||function(e){var n=document.createElement("div");return n.setAttribute("id",e),n}(e);if(t||function(e){if(!document.body.lastElementChild)throw Error("document body not rendered");document.body.insertBefore(e,document.body.lastElementChild.nextElementSibling)}(a),!n.current)throw Error("elementRef not assigned");return a.appendChild(n.current),function(){if(!n.current)throw Error("elementRef not assigned");n.current.remove(),a.childElementCount||a.remove()}}),[e]),n.current||(n.current=document.createElement("div")),n.current}var T=function(e){var n=e.id,t=e.children,a=A(n);return i.createPortal(t,a)};_(".duffel-components .popover-container {\n width: 320px;\n padding: var(--SPACING-SM-1);\n border: 1px solid rgba(59, 64, 86, 0.1);\n border-radius: 8px;\n background: white;\n z-index: 999;\n box-shadow: 0px 1px 4px rgba(59, 64, 86, 0.3);\n}\n");var G=d.forwardRef((function(n,t){var a=n.children,r=n.style,o=n.id,i=void 0===o?"seat-selection__popover":o,s=g(n,["children","style","id"]);return e.jsx(T,v({id:i},{children:e.jsx("div",v({className:"duffel-components"},{children:e.jsx("div",v({className:"popover-container",id:i,"data-testid":i,style:r,ref:t},s,{children:a}),void 0)}),void 0)}),void 0)}));function j(n){var t=n.value,a=n.onChange,r=n.options;return e.jsx("div",v({className:"seat-map__tab-select"},{children:r.map((function(n){return e.jsx(I,v({type:"button",className:p.default("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":n===t}),onClick:function(){return t!==n&&a(n)}},{children:n}),n)}))}),void 0)}_(".duffel-components .seat-map__tab-select {\n width: 100%;\n max-width: 400px;\n display: flex;\n text-align: center;\n min-height: var(--SPACING-LG-1);\n margin-bottom: var(--SPACING-MD-3);\n border: 2px solid var(--GREY-200);\n border-radius: 3px;\n background-color: var(--GREY-200);\n }\n\n .duffel-components .seat-map__tab-select-option {\n appearance: none;\n outline: none;\n margin: 0;\n border: none;\n padding: var(--SPACING-XS-2) var(--SPACING-SM-3);\n font-weight: 600;\n font-size: var(--FONT-SIZES-C2);\n width: 100%;\n color: var(--GREY-900);\n background-color: var(--GREY-200);\n cursor: pointer;\n border-radius: 3px;\n }\n\n .duffel-components .seat-map__tab-select-option:hover,\n .duffel-components .seat-map__tab-select-option:focus,\n .duffel-components .seat-map__tab-select-option:active {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n\n .duffel-components .seat-map__tab-select-option--selected {\n color: var(--GREY-900);\n background-color: rgba(var(--WHITE), 1);\n box-shadow: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 2px 12px rgba(var(--BLACK), 0.08);\n }\n\n .duffel-components .seat-map__tab-select-option:first-child {\n margin-right: 1px;\n }\n\n .duffel-components .seat-map__tab-select-option:last-child {\n margin-left: 1px;\n }\n");var w={error_loading:{title:"Error loading seat maps",message:"We weren’t able to load your seat maps.",iconName:"no_airplane"},error_unavailable:{title:"Seat selection unavailable",message:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline.",iconName:"no_seat"}};_(".duffel-components .error-state__container {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: center;\n justify-content: center;\n max-width: 308px;\n text-align: center;\n margin: 0 auto;\n font-family: var(--FONT-FAMILY);\n height: 100%;\n }\n .duffel-components .error-state__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 64px;\n height: 64px;\n background-color: rgb(var(--ACCENT));\n border-radius: 50%;\n margin-bottom: var(--SPACING-MD-2);\n color: rgb(var(--WHITE));\n }\n .duffel-components .error-state__title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H4);\n line-height: 36px;\n margin: 0 0 var(--SPACING-SM-3);\n padding: 0;\n }\n .duffel-components .error-state__copy {\n color: var(--GREY-700);\n font-size: var(--FONT-SIZES-C1);\n line-height: var(--SPACING-MD-3);\n padding: 0;\n margin: 0;\n }\n");var O=function(n){var t=n.errorType;return e.jsxs("div",v({className:"error-state__container","data-testid":t},{children:[e.jsx("i",v({className:"error-state__icon"},{children:e.jsx(S,{name:w[t].iconName},void 0)}),void 0),e.jsx("h3",v({className:"error-state__title"},{children:w[t].title}),void 0),e.jsx("p",v({className:"error-state__copy"},{children:w[t].message}),void 0)]}),void 0)},L=function(n){function t(e){var t=n.call(this,e)||this;return t.state={hasError:!1},t}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}m(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(t,n),t.getDerivedStateFromError=function(){return{hasError:!0}},t.prototype.componentDidCatch=function(e){console.error(e)},t.prototype.render=function(){return this.state.hasError?e.jsx("div",v({className:"duffel-components"},{children:e.jsx(O,{errorType:"error_loading"},void 0)}),void 0):this.props.children},t}(n.Component),P=function(e){return e<768},M=function(e,n,t){void 0===n&&(n="en-GB"),void 0===t&&(t={});var a=new Intl.NumberFormat(n,v({style:"currency",currency:e},t));return function(e){var n=a.format(e);return t&&t.signDisplay&&("always"===t.signDisplay||"exceptZero"===t.signDisplay&&0!==e)?n.replace(/^([+-])/,"$1 "):n}},R=function(e){return e.reduce((function(e,n){return e+=n}),0)},H=/P(?:([.,\d]+)D)?T(?:([.,\d]+)H)?(?:([.,\d]+)M)?/i,k=function(e,n){return(e.indexOf(n)+1)%e.length};_(".duffel-components .loading-state__container {\n display: flex;\n flex-direction: column;\n align-content: center;\n align-items: center;\n text-align: center;\n justify-content: center;\n font-family: var(--FONT-FAMILY);\n height: calc(100vh - var(--SPACING-XL-3));\n width: var(--SPACING-XL-3);\n margin: 0 auto;\n line-height: var(--SPACING-MD-1);\n }\n .duffel-components .loading-state__message {\n font-size: var(--FONT-SIZES-C3);\n text-transform: uppercase;\n color: var(--GREY-400);\n letter-spacing: 0.02rem;\n }\n .duffel-components .loading-state__progress-indicator {\n height: var(--SPACING-XS-2);\n margin: var(--SPACING-SM-3) 0;\n border-radius: 999px;\n width: calc(100% - var(--SPACING-SM-1));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n position: relative;\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .loading-state__progress-indicator--status {\n display: block;\n height: 100%;\n border-radius: 999px;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n position: relative;\n animation: fillstatus 1s linear;\n }\n @keyframes fillstatus {\n 0% {\n width: 0;\n }\n 70% {\n width: 100%;\n }\n 80% {\n opacity: 1;\n width: 100%;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n }\n .duffel-components .loading-state__segment {\n display: flex;\n flex-direction: row;\n margin: var(--SPACING-XS-2) 0;\n color: var(--GREY-400);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__segment--origin,\n .duffel-components .loading-state__segment--destination {\n font-weight: 600;\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n padding: 0 var(--SPACING-SM-1);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__duration {\n color: var(--GREY-400);\n font-size: var(--FONT-SIZES-C3);\n letter-spacing: 0.02rem;\n margin: var(--SPACING-XS-2) 0;\n text-transform: uppercase;\n }\n");var B=function(n){var t=n.origin,a=n.destination,r=n.duration,o=n.done,i=h(d.useState(!1),2),s=i[0],l=i[1],c=d.useRef(null);return d.useEffect((function(){s&&o&&o()})),s?null:e.jsxs("div",v({className:"loading-state__container"},{children:[e.jsx("span",v({className:"loading-state__message"},{children:"Loading seat map"}),void 0),e.jsx("div",v({className:"loading-state__progress-indicator"},{children:e.jsx("span",{className:"loading-state__progress-indicator--status",ref:c,onAnimationEnd:function(){return l(!0)},"data-testid":"loading-state__progress-indicator--status"},void 0)}),void 0),e.jsxs("div",v({className:"loading-state__segment"},{children:[e.jsx("span",v({className:"loading-state__segment--origin"},{children:t}),void 0),e.jsx(S,{name:"arrow_forward",size:20},void 0),e.jsx("span",v({className:"loading-state__segment--destination"},{children:a}),void 0)]}),void 0),e.jsx("span",v({className:"loading-state__duration"},{children:r}),void 0)]}),void 0)},Z=function(){return{}},F=n.createContext({offer:{},seatMaps:[],passengers:[],segments:[],segmentId:"",passengerId:"",currentSelectedSegment:{},currentSelectedPassenger:{},seatSelection:{},size:"default",currentSeat:{},setCurrentSeat:Z,onSelectSeat:Z,onSelectPassenger:Z,setIsLoading:Z,extendedSeatInfo:[],setExtendedSeatInfo:Z}),z=function(){return n.useContext(F)};_(".duffel-components .passenger-selection-passenger {\n appearance: none;\n border: none;\n background: none;\n cursor: pointer;\n font-size: var(--FONT-SIZES-C2);\n font-family: var(--FONT-FAMILY);\n margin-top: var(--SPACING-XS-2);\n height: 32px;\n display: flex;\n align-items: center;\n padding: var(--SPACING-SM-1) var(--SPACING-LG-1);\n width: 100%;\n}\n\n .duffel-components .passenger-selection-passenger:first-child {\n margin-top: 0;\n }\n\n .duffel-components .passenger-selection-passenger:hover,\n .duffel-components .passenger-selection-passenger:focus,\n .duffel-components .passenger-selection-passenger:active {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n\n .duffel-components .passenger-selection-passenger__identifier,\n .duffel-components .passenger-selection-passenger__action {\n line-height: 1;\n }\n\n .duffel-components .passenger-selection-passenger__identifier {\n flex-grow: 1;\n margin-right: var(--SPACING-LG-1);\n text-align: left;\n color: var(--GREY-900);\n }\n\n .duffel-components .passenger-selection-passenger__action {\n color: var(--GREY-600);\n margin-right: var(--SPACING-XS-2);\n }\n\n .duffel-components .passenger-selection-passenger__seat-designator {\n color: var(--GREY-900);\n font-weight: 600;\n margin-right: var(--SPACING-SM-3);\n }\n\n .duffel-components .passenger-selection-passenger__seat-price {\n text-align: right;\n display: inline-block;\n width: 70px;\n }\n\n .duffel-components .passenger-selection-passenger--selected {\n box-shadow: 4px 0px 0px 0px rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000)) inset;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n");var Y=function(n){var t=n.segment,a=n.passenger,r=n.passengerIndex,o=z(),i=o.seatSelection,s=o.segmentId,l=o.passengerId,d=o.onSelectPassenger,c=o.currentSelectedSegment,u=o.setIsLoading,f=i[t.id]&&i[t.id][a.id];return e.jsxs("button",v({"data-testid":"passenger-"+a.id,type:"button",onClick:function(){c.id!==t.id&&u(!0),d(a.id,t.id)},className:p.default("passenger-selection-passenger",{"passenger-selection-passenger--selected":s===t.id&&l===a.id})},{children:[e.jsx("span",v({className:"passenger-selection-passenger__identifier"},{children:a.name||"Passenger "+(r+1)}),void 0),f&&f.service?e.jsxs("span",v({className:"passenger-selection-passenger__action"},{children:[e.jsx("span",v({className:"passenger-selection-passenger__seat-designator"},{children:f.designator}),void 0),e.jsx("span",v({className:"passenger-selection-passenger__seat-price"},{children:M(f.service.total_currency)(+f.service.total_amount)}),void 0)]}),void 0):e.jsx("span",v({className:"passenger-selection-passenger__action"},{children:"Unselected"}),void 0)]}),a.id)};_(".duffel-components .passenger-segment__title {\n color: var(--GREY-900);\n font-style: normal;\n font-size: var(--FONT-SIZES-C1);\n font-weight: 600;\n line-height: var(--SPACING-MD-3);\n padding: 0 0 0 var(--SPACING-LG-1);\n margin: 0 0 var(--SPACING-SM-1);\n display: flex;\n align-items: center;\n }\n .duffel-components .passenger-segment__chevron {\n margin: 0 var(--SPACING-SM-1);\n color: var(--GREY-400);\n }\n");var U=function(n){var t=n.segment,a=n.className;return e.jsxs("h3",v({className:p.default(a,"passenger-segment__title")},{children:[t.origin.iata_code,e.jsx(S,{name:"chevron",className:"passenger-segment__chevron",size:20},void 0),t.destination.iata_code]}),void 0)};_(".duffel-components .passenger-selection-segment {\n margin: var(--SPACING-LG-1) 0 0;\n padding: 0 0 var(--SPACING-LG-1);\n border-bottom: 1px solid var(--GREY-200);\n font-family: var(--FONT-FAMILY);\n}\n\n .duffel-components .passenger-selection-segment:first-child {\n margin-top: 0;\n }\n");var V=function(n){var t=n.segment,a=z().passengers;return e.jsxs("li",v({className:"passenger-selection-segment"},{children:[Object.keys(t).length>0&&e.jsx(U,{segment:t},void 0),a.map((function(n,a){return e.jsx(Y,{segment:t,passenger:n,passengerIndex:a},n.id)}))]}),t.id)};_(".duffel-components .passenger-selection {\n display: flex;\n flex-direction: column;\n font-family: var(--FONT-FAMILY);\n flex-grow: 1;\n}\n\n .duffel-components .passenger-selection__title {\n margin: 0;\n padding: 0 0 var(--SPACING-MD-3);\n font-size: var(--FONT-SIZES-H2);\n line-height: 1.2;\n min-width: 360px;\n }\n\n .duffel-components .passenger-selection__segments {\n list-style: none;\n overflow-y: auto;\n font-size: var(--FONT-SIZES-C1);\n padding: var(--SPACING-XS-2);\n margin: calc(var(--SPACING-XS-2) * -1);\n }\n");var q=function(){var n=z().segments;return e.jsx("div",v({className:"passenger-selection"},{children:e.jsx("ul",v({className:"passenger-selection__segments"},{children:n.map((function(n){return e.jsx(V,{segment:n},n.id)}))}),void 0)}),void 0)},D=function(n){var t=n.value,a=n.setValue,r=["Lower deck","Upper deck"];return e.jsx(j,{options:r,value:r[t],onChange:function(e){return a(r.indexOf(e))}},void 0)};_(".duffel-components .seat-map__legend {\n width: calc(100% + var(--SPACING-MD-3));\n min-height: fit-content;\n margin: calc(var(--SPACING-SM-1) * -1) calc(var(--SPACING-SM-2) * -1);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3));\n font-size: var(--FONT-SIZES-C2);\n font-weight: 400;\n }\n .duffel-components .seat-map__legend-item {\n display: flex;\n align-items: center;\n text-transform: capitalize;\n margin: var(--SPACING-SM-1) var(--SPACING-SM-2);\n color: var(--GREY-700);\n }\n .duffel-components .seat-map__legend-item--symbol .ff-icon {\n margin-right: var(--SPACING-XS-3);\n }\n .duffel-components .seat-map__legend-seat {\n width: var(--SPACING-MD-1);\n height: var(--SPACING-MD-1);\n border-radius: 5px;\n border: 2px solid var(--GREY-400);\n color: var(--GREY-400);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: var(--SPACING-SM-1);\n }\n .duffel-components .seat-map__legend-seat--fee-payable {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--fee-payable-indicator {\n position: relative;\n top: var(--SPACING-XS-2);\n left: var(--SPACING-XS-2);\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .seat-map__legend-seat--included {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n }\n");var X=function(n){var t=n.symbols;return e.jsxs("div",v({className:"seat-map__legend"},{children:[e.jsxs("span",v({className:"seat-map__legend-item"},{children:[e.jsx("span",v({className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat"},{children:e.jsx(S,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12},void 0)}),void 0),"Additional Cost"]}),void 0),e.jsxs("span",v({className:"seat-map__legend-item"},{children:[e.jsx("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"},void 0),"Included"]}),void 0),e.jsxs("span",v({className:"seat-map__legend-item"},{children:[e.jsx("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"},void 0),"Selected"]}),void 0),e.jsxs("span",v({className:"seat-map__legend-item"},{children:[e.jsx("span",v({className:"seat-map__legend-seat","aria-label":"Unavailable seat"},{children:e.jsx(S,{name:"close",size:14},void 0)}),void 0),"Unavailable"]}),void 0),x([],h(t)).map((function(n){return e.jsxs("span",v({className:"seat-map__legend-item seat-map__legend-item--symbol"},{children:[e.jsx(S,{name:n,size:20},void 0),n.split("_")[0]]}),n)}))]}),void 0)};_(".duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-1);\n color: var(--GREY-600);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--SPACING-SM-1);\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--wrapped {\n background-color: var(--GREY-100);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n }\n");var W=["bassinet","exit_row"],K=function(n){var t=n.type,a=E();return e.jsx("div",v({className:p.default("map-element map-element--amenity",{"map-element--wrapped":!W.includes(t)}),"aria-label":t.toString()},{children:e.jsx(S,{name:t,size:P(a)?16:24},void 0)}),void 0)};_(".duffel-components .seat-info {\n background-color: rgb(var(--WHITE));\n padding: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n}\n\n .duffel-components .seat-info__details {\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n font-weight: normal;\n text-transform: none;\n display: flex;\n justify-content: space-between;\n }\n\n .duffel-components .seat-info__details > span {\n flex-grow: 1;\n margin: 0 var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__disclosure {\n font-size: var(--FONT-SIZES-C3);\n color: var(--GREY-600);\n line-height: 150%;\n text-transform: none;\n font-weight: normal;\n margin-top: var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__details + .seat-info__disclosure {\n padding-top: var(--SPACING-SM-3);\n border-top: 1px solid var(--GREY-200);\n margin-top: var(--SPACING-SM-3);\n }\n");var $=function(n){var t=n.seat,a=n.service,r=a?M(a.total_currency)(+a.total_amount):"";return e.jsxs("div",v({className:"seat-info"},{children:[e.jsxs("div",v({className:"seat-info__details"},{children:[e.jsx("strong",{children:null==t?void 0:t.designator},void 0),e.jsxs("span",{children:[(null==t?void 0:t.name)||"Seat"," "]},void 0),e.jsx("strong",{children:r},void 0)]}),void 0),null==t?void 0:t.disclosures.map((function(n,t){return e.jsx("div",v({className:"seat-info__disclosure"},{children:n}),t)}))]}),void 0)};_(".duffel-components .map-element__seat {\n appearance: none;\n outline: none;\n cursor: default;\n width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n box-sizing: border-box;\n color: var(--GREY-600);\n background-color: var(--GREY-100);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3);\n text-transform: uppercase;\n font-weight: bold;\n font-size: var(--FONT-SIZES-C3);\n text-align: left;\n position: relative;\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element__seat {\n width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--available {\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .map-element--fee-payable {\n position: absolute;\n top: 22px;\n left: 22px;\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--fee-payable {\n top: 26px;\n left: 26px\n }\n }\n @media (hover: hover) and (pointer: fine) {\n .duffel-components .map-element--actionable:hover {\n cursor: pointer;\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover .map-element--fee-payable {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n }\n .duffel-components .map-element--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n color: rgba(var(--WHITE), 1);\n }\n");var J=function(n){var t=n.seat,a=E(),r=h(d.useState(!1),2),i=r[0],s=r[1],l=function(e,n,t,a){var r=Object.assign({},{shouldInsideClickClose:!1},a).shouldInsideClickClose,i=h(c.default.useState(null),2),s=i[0],l=i[1],d=h(c.default.useState(null),2),u=d[0],f=d[1],p=h(c.default.useState(null),2),m=p[0],g=p[1],C=v(v({},{placement:"auto",modifiers:[{name:"arrow",options:{element:m}}]}),t),x=o.usePopper(s,u,C),_=c.default.useCallback((function(e){var t=!!u&&u.contains(e.target);t||n(),r&&t&&setTimeout(n,10)}),[u,n,r]),b=c.default.useCallback((function(e){"Escape"===e.key&&n()}),[n]);return c.default.useEffect((function(){if(null!==document)return e&&(document.body.addEventListener("click",_),document.body.addEventListener("keydown",b)),function(){document.body.removeEventListener("click",_),document.body.removeEventListener("keydown",b)}}),[e,_,b]),{popper:x,setReferenceElement:l,setPopperElement:f,setArrowElement:g}}(i,(function(){return s(!1)}),{placement:"top",modifiers:[{name:"offset",options:{offset:[0,8]}}]},{shouldInsideClickClose:!1}),u=l.popper,f=u.styles,m=u.attributes,g=l.setReferenceElement,C=l.setPopperElement,_=z(),b=_.passengers,N=_.passengerId,y=_.segmentId,I=_.seatSelection,A=_.currentSeat,T=_.setCurrentSeat,j=_.onSelectSeat,w=_.extendedSeatInfo,O=_.setExtendedSeatInfo,L=function(e,n,t){var a,r,o=null===(a=e.available_services)||void 0===a?void 0:a.find((function(e){return e.passenger_id===n})),i=null===(r=e.available_services)||void 0===r?void 0:r.find((function(e){var n,a;return!!t&&(null===(a=null===(n=t[e.passenger_id])||void 0===n?void 0:n.service)||void 0===a?void 0:a.id)===e.id}));return{service:o,isAvailable:o&&!i||!1,selectedBy:null==i?void 0:i.passenger_id}}(t,N,I[y]),R=L.service,H=L.isAvailable,k=L.selectedBy,B=d.useMemo((function(){return function(e,n){if(!n)return!1;var t="";return e.forEach((function(e,a){var r,o;if(e.name){var i=new RegExp(/(\p{L}{1})\p{L}+/,"gu"),s=x([],h(e.name.matchAll(i)))||[];if(e.id===n)return t=(((null===(r=s.shift())||void 0===r?void 0:r[1])||"")+((null===(o=s.pop())||void 0===o?void 0:o[1])||"")).toUpperCase()}if(e.id===n)return t="P"+(a+1)})),t}(b,k)}),[b,k]),Z=""+(R&&M(R.total_currency)(+R.total_amount)),F=(null==R?void 0:R.total_amount)&&0!==parseInt(null==R?void 0:R.total_amount),Y=k&&k!==N,U=d.useMemo((function(){return function(e){if(null!==e){var n=e.segment,t=e.seat.designator;w.map((function(e){return e})).find((function(e){return e.segment===n&&e.seat.designator===t}))?O(w.splice(w.findIndex((function(e){return e.segment!==n&&e.seat.designator!==t})))):R&&O(x(x([],h(w)),[v(v({},e),{service:R})]))}}}),[w,R,O]);return e.jsx(e.Fragment,{children:k||H?e.jsxs("button",v({id:t.designator,type:"button",className:p.default("map-element","map-element__seat",{"map-element--available":H&&!k,"map-element--selected":k,"map-element--actionable":H||k==N}),onClick:function(e){(R&&U({segment:y,seat:t,service:R}),P(a)&&(A.seat===t?T({seat:null,service:void 0}):T({seat:t,service:R})),R&&!Y)&&(j(k===N?null:{designator:t.designator,service:R}),e.target.blur())},onMouseEnter:function(){return!P(a)&&s(!0)},onMouseLeave:function(){return!P(a)&&s(!1)},ref:g,"aria-label":t.designator+" "+(t.name||"Seat")+" "+Z},{children:[F&&e.jsx(S,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:P(a)?16:24},void 0),k?B:t.designator.charAt(t.designator.length-1),i&&!Y&&R&&!P(a)&&e.jsx(G,v({ref:C,style:v({},f.popper)},m.popper,{children:e.jsx($,{seat:t,service:R},void 0)}),void 0)]}),void 0):e.jsx("span",v({className:"map-element map-element__seat","aria-label":t.designator+" "+(t.name||"Seat")+" Unavailable"},{children:e.jsx(S,{name:"close",size:P(a)?14:16},void 0)}),void 0)},void 0)};_(".duffel-components .map-element--exit {\n color: var(--GREY-400);\n width: 100%;\n height: var(--SPACING-LG-3);\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n\n .duffel-components .map-element--exit--right {\n justify-content: flex-end;\n }\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3)\n }\n }\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-XS-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-SM-1)\n }\n }\n\n.duffel-components .map-section {\n display: flex;\n justify-content: center;\n padding: var(--SPACING-XS-1) 0;\n}\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section {\n padding: var(--SPACING-XS-2) 0\n}\n }\n\n.duffel-components .map-section--left {\n border-left: 2px solid var(--GREY-200);\n padding-left: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--left.map-section--wing {\n box-shadow: -19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section--right {\n border-right: 2px solid var(--GREY-200);\n padding-right: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--right.map-section--wing {\n box-shadow: 19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section__aisle {\n display: flex;\n justify-content: center;\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C3);\n line-height: var(--SPACING-MD-2);\n }\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section__aisle {\n font-size: var(--FONT-SIZES-C2);\n line-height: var(--SPACING-MD-3)\n }\n }\n");var Q=function(n,t,a){return e.jsx(e.Fragment,{children:"seat"===n.type?e.jsx(J,{seat:n},t):"empty"===n.type?e.jsx("div",{className:"map-element map-element--empty"},t):"exit_row"===n.type?e.jsx("div",v({className:p.default("map-element map-element--exit",{"map-element--exit--right":a>0})},{children:0===a?e.jsx(S,{name:"exit_row"},void 0):e.jsx(S,{name:"exit_row_right"},void 0)}),t):e.jsx(K,{type:n.type},t)},void 0)},ee=function(n){var t=n.row,a=n.hasWings,r=function(e){var n=Object.values(e.sections).map((function(e){return e.elements})).reduce((function(e,n){return e.concat(n)}),[]).filter((function(e){return"seat"===e.type}));return n.length>0?n[0].designator.substring(0,n[0].designator.length-1):null}(t);return e.jsx(e.Fragment,{children:Object.values(t.sections).map((function(n,o){return e.jsxs(d.Fragment,{children:[e.jsx("div",v({className:p.default("map-section",{"map-section--left":0===o,"map-section--right":o===t.sections.length-1,"map-section--wing":a}),"data-testid":"row-section-"+o},{children:n.elements.length>0?n.elements.map((function(n,t){return e.jsx(d.Fragment,{children:Q(n,t,o)},t)})):Q({type:"empty"},-1,o)}),void 0),o<Object.keys(t.sections).length-1&&e.jsx("span",v({className:"map-section__aisle"},{children:r}),void 0)]},o)}))},void 0)};_(".duffel-components .seat-map {\n background-color: rgba(var(--WHITE), 1);\n padding: var(--SPACING-SM-3);\n display: flex;\n flex-direction: column;\n align-items: center;\n width: fit-content;\n min-height: 100%;\n}\n\n @media only screen and (min-width: 768px) {.duffel-components .seat-map {\n padding: var(--SPACING-LG-1) var(--SPACING-SM-3) var(--SPACING-SM-3)\n}\n }\n\n .duffel-components .seat-map__legend-container {\n margin-bottom: var(--SPACING-MD-3);\n width: fit-content;\n }\n\n .duffel-components .seat-map__map-container {\n display: grid;\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-1)) auto;\n grid-column-gap: var(--SPACING-XS-2);\n align-items: center;\n width: min-content;\n margin: 0 var(--SPACING-SM-2);\n }\n\n @media only screen and (min-width: 768px) {\n\n .duffel-components .seat-map__map-container {\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-2)) auto;\n grid-column-gap: var(--SPACING-SM-2);\n margin: 0;\n padding-bottom: var(--SPACING-LG-1)\n }\n }\n");var ne=function(){var n=z(),t=n.segmentId,a=n.offer,r=n.seatMaps,o=h(d.useState(0),2),i=o[0],s=o[1],l=function(e,n,t,a){var r=t.find((function(e){return e.segment_id===n}));if(!(null==r?void 0:r.cabins)||0===(null==r?void 0:r.cabins.length))return{cabin:null};var o=a.slices.length>0&&a.slices[0].segments.length>0&&a.slices[0].segments[0].passengers.length>0&&a.slices[0].segments[0].passengers[0].cabin_class,i=null==r?void 0:r.cabins.filter((function(e){return e.cabin_class===o}));return{cabin:i.find((function(n){return n.deck===e}))||i[0]||(null==r?void 0:r.cabins[0]),hasMultipleDecks:i.length>1,anyHasWings:i.some((function(e){return e.wings}))}}(i,t,r,a),c=l.cabin,u=l.hasMultipleDecks,f=l.anyHasWings;if(!c)return e.jsx(O,{errorType:"error_unavailable"},void 0);var m=function(e){var n,t,a,r,o,i,s=new Set;try{for(var l=C(e.rows),d=l.next();!d.done;d=l.next()){var c=d.value;try{for(var u=(a=void 0,C(c.sections)),f=u.next();!f.done;f=u.next()){var p=f.value;try{for(var m=(o=void 0,C(p.elements)),v=m.next();!v.done;v=m.next()){var g=v.value;"seat"!==g.type&&"empty"!==g.type&&s.add(g.type)}}catch(e){o={error:e}}finally{try{v&&!v.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}}catch(e){a={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(a)throw a.error}}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(t=l.return)&&t.call(l)}finally{if(n)throw n.error}}return s}(c);return e.jsxs("div",v({"data-testid":"seat-map",className:p.default("seat-map",{"seat-map--wings":f})},{children:[u&&e.jsx(D,{value:i,setValue:function(e){s(e)}},void 0),e.jsx("div",v({className:"seat-map__legend-container"},{children:e.jsx(X,{symbols:m},void 0)}),void 0),e.jsx("div",v({className:"seat-map__map-container",style:{"--CABIN-AISLES":c.aisles}},{children:c.rows.map((function(n,t){return e.jsx(ee,{row:n,hasWings:!!c.wings&&(c.wings.first_row_index<=t&&c.wings.last_row_index>=t)},t)}))}),void 0)]}),void 0)};_(".duffel-components .summary__segment {\n border-bottom: 1px solid var(--GREY-200);\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n }\n\n .duffel-components .summary__segment > .passenger-segment__title {\n padding: 0;\n margin: 0;\n }\n\n .duffel-components .summary__segment-passenger {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-C1);\n font-weight: normal;\n margin: 0;\n padding: 0;\n }\n .duffel-components .summary__description-cost {\n display: flex;\n justify-content: space-between;\n font-size: var(--FONT-SIZES-C1);\n margin-bottom: var(--SPACING-SM-3);\n }\n .duffel-components .summary:not(.summary--mobile) {\n padding-top: 0;\n display: none;\n }\n .duffel-components .summary__actions {\n display: flex;\n }\n .duffel-components .summary__actions--previous {\n transform: rotate(180deg);\n }\n .duffel-components .summary__actions > button:last-of-type {\n flex: 1 auto;\n justify-content: center;\n margin-left: var(--SPACING-SM-3);\n }\n @media screen and (min-width: 768px) {\n .duffel-components .summary:not(.summary--mobile) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .duffel-components .summary--mobile {\n display: none;\n }\n\n .duffel-components .summary__description-title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H5);\n line-height: 26px;\n margin-bottom: var(--SPACING-XS-2);\n }\n\n .duffel-components .summary__description-cost {\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C2);\n line-height: 21px;\n margin-bottom: 0;\n }\n .duffel-components .summary__actions--previous.duffel-button--icon-only {\n padding: 0;\n }\n .duffel-components .summary__actions .summary__confirmation-btn:last-child {\n margin-left: var(--SPACING-SM-1);\n }\n }\n");var te=function(n){var t=n.primaryButtonCopy,a=n.onBackClick,r=n.disableBackButton,o=n.onClick,i=n.iconAfter,s="summary-button-"+t.replace(" ","-").toLowerCase();return e.jsxs("div",v({className:"summary__actions"},{children:[e.jsx(y,{text:"Previous passenger",onClick:a,disabled:r,intent:"MUTED",iconOnly:"chevron","aria-label":"Previous passenger",className:"summary__actions--previous"},void 0),e.jsx(y,v({"data-testid":s,text:t,className:"summary__confirmation-btn",onClick:o},i),void 0)]}),void 0)},ae=function(n){var t,a=n.onClick,r=n.primaryButtonCopy,o=n.iconAfter,i=n.onBackClick,s=n.disableBackButton,l=z(),c=l.seatSelection,u=l.segments,f=l.passengers,p=l.currentSelectedPassenger,m=l.currentSelectedSegment,g=l.offer,C=(t=c,Object.values(t).map((function(e){return Object.values(e)})).map((function(e){return e.map((function(e){return(null==e?void 0:e.service)||null}))})).flat().filter((function(e){return null!==e}))),h=d.useMemo((function(){return R(C.map((function(e){return parseFloat(e.total_amount)})))}),[C]),x=d.useMemo((function(){return R(u.map((function(e){return e.passengers.length})))}),[u]),_=C&&C.length,b=_>0?M(C[0].total_currency)(h):g?M(g.total_currency)(0):"0",N=p&&f.findIndex((function(e){return e.id===(null==p?void 0:p.id)})),S=(null==p?void 0:p.name)?p.name:N>=0?"Passenger "+(N+1):"";return e.jsxs(e.Fragment,{children:[e.jsxs("div",v({className:"summary","data-testid":"seat-selection-summary"},{children:[e.jsxs("div",v({className:"summary__description"},{children:[e.jsx("div",v({className:"summary__description-title"},{children:_+" of "+x+" seat"+(x>1?"s":"")+" selected"}),void 0),e.jsxs("div",v({className:"summary__description-cost"},{children:[b," will be added to the order"]}),void 0)]}),void 0),e.jsx(te,{onBackClick:i,onClick:a,iconAfter:o,primaryButtonCopy:r,disableBackButton:s},void 0)]}),void 0),e.jsxs("div",v({className:"summary summary--mobile"},{children:[e.jsxs("div",v({className:"summary__segment"},{children:[Object.keys(m).length>0&&e.jsx(U,{segment:m},"summary-"+m.id),S&&e.jsx("h3",v({className:"summary__segment-passenger"},{children:S}),void 0)]}),void 0),e.jsxs("div",v({className:"summary__description-cost"},{children:["Total Price ",e.jsx("strong",{children:b},void 0)]}),void 0),e.jsx(te,{onBackClick:i,onClick:a,iconAfter:o,primaryButtonCopy:r,disableBackButton:s},void 0)]}),void 0)]},void 0)};_(".duffel-components {\n --FONT-FAMILY: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif;\n --FONT-SIZES-C0: 20px;\n --FONT-SIZES-C1: 16px;\n --FONT-SIZES-C2: 14px;\n --FONT-SIZES-C3: 12px;\n --FONT-SIZES-H2: 32px;\n --FONT-SIZES-H3: 28px;\n --FONT-SIZES-H4: 24px;\n --FONT-SIZES-H5: 20px;\n}\n.duffel-components {\n --SPACING-XL-3: 128px;\n --SPACING-XL-2: 64px;\n --SPACING-XL-1: 56px;\n --SPACING-LG-3: 48px;\n --SPACING-LG-2: 40px;\n --SPACING-LG-1: 32px;\n --SPACING-MD-3: 24px;\n --SPACING-MD-2: 20px;\n --SPACING-MD-1: 18px;\n --SPACING-SM-3: 16px;\n --SPACING-SM-2: 12px;\n --SPACING-SM-1: 8px;\n --SPACING-XS-3: 6px;\n --SPACING-XS-2: 4px;\n --SPACING-XS-1: 2px;\n --SPACING-NONE: 0;\n}\n.duffel-components {\n --GREY-100: #f7f5f9;\n --GREY-200: #e2e2e8;\n --GREY-400: #ababb4;\n --GREY-500: #86868e;\n --GREY-600: #696972;\n --GREY-700: #4b4b55;\n --GREY-900: #29292e;\n --BLACK: 0, 0, 0;\n --WHITE: 255, 255, 255;\n --ACCENT: 57, 111, 233;\n --ACCENT-LIGHT-100: 0.08;\n --ACCENT-LIGHT-200: 0.24;\n --ACCENT-LIGHT-300: 0.48;\n --ACCENT-LIGHT-1000: 1;\n}\n.duffel-components {\n --TRANSITIONS-CUBIC-BEZIER: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.duffel-components {\n box-sizing: border-box;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n font-family: var(--FONT-FAMILY);\n overflow: hidden;\n height: 100%;\n}\n");_(".duffel-components .seat-selection {\n --SEAT-SELECTION-BOX-SHADOW: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 4px 24px rgba(var(--BLACK), 0.08);\n background-color: rgb(var(--WHITE));\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n .duffel-components .seat-selection__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n border-bottom: 1px solid rgba(59, 64, 86, 0.1);\n height: calc(100% - 177px);\n overflow: auto;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n display: none;\n padding-top: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n }\n\n .duffel-components .seat-selection__mobile-seat-info {\n align-self: center;\n position: absolute;\n bottom: 187px;\n width: calc(100% - 20px);\n padding: var(--SPACING-XS-3);\n margin-bottom: var(--SPACING-SM-2);\n height: auto;\n background-color: white;\n border-radius: 8px;\n z-index: 100;\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-MD-3);\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n position: sticky;\n bottom: 0;\n background-color: rgb(var(--WHITE));\n }\n\n@media screen and (min-width: 768px) {\n .duffel-components .seat-selection {\n width: calc(100vw - 2 * 56px);\n overflow: hidden;\n }\n\n .duffel-components .seat-selection__content {\n height: auto;\n padding: 0;\n flex-direction: row;\n align-items: initial;\n max-height: calc(100vh - 115px);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-LG-1);\n box-shadow: none;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n overflow: auto;\n border-right: 1px solid var(--GREY-200);\n display: flex;\n flex-direction: column;\n position: sticky;\n top: 0;\n flex: 1 0 auto;\n min-width: 415px;\n }\n\n .duffel-components .seat-selection__content-child--passengers > div:not(.passenger-selection) {\n margin-left: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n height: auto;\n align-items: center;\n overflow: auto;\n }\n}\n");var re=function(n){var t=n.seatMaps,a=n.offer,r=n.passengers,o=n.initialSeatSelection,i=n.initialSegmentId,s=n.onSubmit,l=r.sort((function(e,n){return e.id.localeCompare(n.id)})),c=h(d.useState("Next Passenger"),2),u=c[0],p=c[1],m=h(d.useState(""),2),C=m[0],_=m[1],b=h(d.useState(i||""),2),N=b[0],S=b[1],y=h(d.useState(""),2),I=y[0],A=y[1],T=h(d.useState(""),2),G=T[0],j=T[1],w=h(d.useState(o||{}),2),O=w[0],M=w[1],R=h(d.useState(r.length>0?l[0].id:""),2),Z=R[0],z=R[1],Y=a.slices.length>0&&a.slices[0],U=Y&&Y.segments.length>0&&Y.segments[0].id,V=h(d.useState(i||U||""),2),D=V[0],X=V[1],W=h(d.useState("default"),2),K=W[0],J=W[1],Q=h(d.useState({seat:null,service:void 0}),2),ee=Q[0],te=Q[1],re=h(d.useState(!0),2),oe=re[0],ie=re[1],se=h(d.useState([]),2),le=se[0],de=se[1];f.default.polyfill();var ce=E(),ue=d.useMemo((function(){return a.slices.map((function(e){return e.segments})).flat().filter((function(e){return t.map((function(e){return e.segment_id})).includes(e.id)}))}),[a,t]),fe=d.useMemo((function(){return l.map((function(e){return e.id})).sort((function(e,n){return e.localeCompare(n)}))}),[l]);d.useMemo((function(){if(Object.keys(O).length<=0){var e=new Map(ue.map((function(e){var n=new Map(e.passengers.map((function(e){return[e.passenger_id,null]})));return[e.id,Object.fromEntries(new Map(x([],h(n.entries())).sort((function(e,n){return e[0].localeCompare(n[0])}))))]}))),n=Object.fromEntries(e);n&&M(n)}}),[O,ue]);var pe=d.useMemo((function(){return ue.find((function(e){return e.id===D}))||{}}),[ue,D]);d.useEffect((function(){var e=function(){window.innerWidth<1024&&"small"!==K?J("small"):window.innerWidth>=1024&&"default"!==K&&J("default")};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[K]),d.useEffect((function(){var e=function(e,n){return Object.keys(n).reduce((function(n,t){var a,r=e.passengers;if(r){if(!(r.length>0)){var o=n,i=t;return o[i],g(o,["symbol"==typeof i?i:i+""])}var s=[];r.forEach((function(e){s.push(e.passenger_id)})),n=v(v({},n),((a={})[t]=s.sort((function(e,n){return e.localeCompare(n)})),a))}return n}),{})}(pe,O),n=Object.keys(e),t=k(n,pe.id),a=e[D].indexOf(Z),r=k(e[D],Z),o=e[D][r],i=Object.keys(O).indexOf(D);return 0===n.length?p("Continue"):(A(o),a===pe.passengers.length-1?i===n.length-1?p("Continue"):(_(n[t]),p("Next Flight")):p("Next Passenger"))}),[pe,O,Z,D]);var me=d.useMemo((function(){return l.find((function(e){if(e.id===Z)return{id:e.id,name:e.name||void 0}}))}),[l,Z]);if(0===l.length||!Y||0===a.slices[0].segments.length)return null;var ve,ge,Ce,he,xe,_e=function(){var e=Object.keys(O[D]);if(e[0]===Z){ie(!0),X(N);var n=Object.keys(O[N])[e.length-1];z(n)}else{var t=fe.indexOf(Z);0!==t&&z(fe[t-1])}var a=O[N][G],r=le.map((function(e){return e})).find((function(e){return e.segment===N&&e.seat.designator===(null==a?void 0:a.designator)}));r&&te({seat:r.seat,service:r.service})};return e.jsx(F.Provider,v({value:{offer:a,segments:ue,seatMaps:t,passengers:l,segmentId:D,passengerId:Z,currentSelectedPassenger:me,currentSelectedSegment:pe,seatSelection:O,size:K,onSelectSeat:function(e){var n,t,a=Object.assign({},O,((n={})[D]=Object.assign({},O[D],((t={})[Z]=v({},e),t)),n));M(a)},onSelectPassenger:function(e,n){z(e),X(n);var t,a,r=O[n]&&O[n][e];if(r&&null!==r.designator){var o=document.getElementById(r.designator);o&&(t=o.getBoundingClientRect(),a=Math.max(document.documentElement.clientHeight,window.innerHeight),t.bottom<0||t.top-a>=0)&&(null==o||o.scrollIntoView({behavior:"smooth",block:"center"}))}},currentSeat:ee,setCurrentSeat:te,setIsLoading:ie,extendedSeatInfo:le,setExtendedSeatInfo:de}},{children:e.jsx("div",v({className:"duffel-components"},{children:e.jsxs("div",v({className:"seat-selection"},{children:[e.jsxs("div",v({className:"seat-selection__content"},{children:[!P(ce)&&e.jsx("aside",v({className:"seat-selection__content-child seat-selection__content-child--passengers"},{children:e.jsx(q,{},void 0)}),void 0),e.jsx("div",v({className:"seat-selection__content-child seat-selection__content-child--map"},{children:oe?(Ce=pe.origin.iata_code||"",he=pe.destination.iata_code||"",xe=pe.duration&&function(e){var n=e.match(H);return n?((n[1]&&"0"!==n[1]?n[1]+"d":"")+" "+(n[2]&&"0"!==n[2]?n[2].toString().padStart(2,"0")+"h":"")+" "+(n[3]&&"0"!==n[3]?n[3].toString().padStart(2,"0")+"m":"")).trim():e}(pe.duration)||"",e.jsx(B,{origin:Ce,destination:he,duration:xe,done:function(){return ie(!1)}},void 0)):e.jsx(L,{children:e.jsx(ne,{},void 0)},void 0)}),void 0)]}),void 0),(ve=ee.seat,ge=ee.service,null!==ve&&P(ce)&&O[D]&&null!==O[D][Z]?e.jsx("div",v({className:"seat-selection__mobile-seat-info"},{children:e.jsx($,{seat:ve,service:ge},void 0)}),void 0):null),e.jsx("div",v({className:"seat-selection__confirmation"},{children:function(){var n=D===U&&Z===l[0].id||!1;switch(u){case"Continue":return e.jsx(ae,{onClick:function(){var e;s(O),e=ue[0],z(e.passengers[0].passenger_id),X(e.id)},onBackClick:_e,disableBackButton:n,primaryButtonCopy:u},void 0);case"Next Flight":return e.jsx(ae,{onClick:function(){ie(!0),S(D),z(I),X(C)},onBackClick:_e,disableBackButton:n,primaryButtonCopy:P(ce)?"Next":u,iconAfter:{iconAfter:"chevron"}},void 0);default:return e.jsx(ae,{onClick:function(){j(Z),z(I)},onBackClick:_e,disableBackButton:n,iconAfter:{iconAfter:"chevron"},primaryButtonCopy:P(ce)?"Next":u},void 0)}}()}),void 0)]}),void 0)}),void 0)}),void 0)},oe=function(n){return e.jsx(L,{children:e.jsx(re,v({},n),void 0)},void 0)};oe.propTypes={offer:u.default.shape({allowed_passenger_identity_document_types:u.default.array.isRequired,available_services:u.default.array.isRequired,base_amount:u.default.string.isRequired,base_currency:u.default.string.isRequired,conditions:u.default.object.isRequired,created_at:u.default.string.isRequired,expires_at:u.default.string.isRequired,id:u.default.string.isRequired,live_mode:u.default.bool.isRequired,owner:u.default.shape({name:u.default.string.isRequired,id:u.default.string.isRequired,iata_code:u.default.string.isRequired}).isRequired,passenger_identity_documents_required:u.default.bool.isRequired,passengers:u.default.array.isRequired,payment_requirements:u.default.shape({payment_required_by:u.default.string,price_guarantee_expires_at:u.default.string,requires_instant_payment:u.default.bool.isRequired}).isRequired,slices:u.default.array.isRequired,tax_amount:u.default.string.isRequired,tax_currency:u.default.string.isRequired,total_amount:u.default.string.isRequired,total_emissions_kg:u.default.string.isRequired,total_currency:u.default.string.isRequired,updated_at:u.default.string.isRequired}).isRequired,seatMaps:u.default.arrayOf(u.default.shape({id:u.default.string.isRequired,slice_id:u.default.string.isRequired,segment_id:u.default.string.isRequired,cabins:u.default.array.isRequired}).isRequired).isRequired,passengers:u.default.arrayOf(u.default.shape({id:u.default.string.isRequired,name:u.default.string}).isRequired).isRequired,onSubmit:u.default.func.isRequired},exports.SeatSelection=oe;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=require("prop-types"),a=require("smoothscroll-polyfill"),r=require("classnames"),o=require("react-popper"),i=require("react-dom"),s=require("lodash/cloneDeep");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function d(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var c=d(n),u=l(n),f=l(t),p=l(a),m=l(r),v=l(s),g=function(e,n){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])})(e,n)};var C=function(){return(C=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function h(e,n){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)n.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t}function x(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],a=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&a>=e.length&&(e=void 0),{value:e&&e[a++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(e,n){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var a,r,o=t.call(e),i=[];try{for(;(void 0===n||n-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}return i}function b(e,n){for(var t=0,a=n.length,r=e.length;t<a;t++,r++)e[r]=n[t];return e}function N(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&a.firstChild?a.insertBefore(r,a.firstChild):a.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}N(".duffel-components .ff-icon {\n margin-left: initial;\n display: block;\n fill: currentColor;\n}\n");var S={arrow_forward:e.jsx("path",{d:"M5 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59c.39-.39.39-1.02 0-1.41l-6.58-6.6c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L16.17 11H5c-.55 0-1 .45-1 1s.45 1 1 1z"},void 0),bassinet:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M19 12C19 14.1217 18.1571 16.1566 16.6569 17.6569C15.1566 19.1571 13.1217 20 11 20C8.87827 20 6.84344 19.1571 5.34315 17.6569C3.84286 16.1566 3 14.1217 3 12L11 12H19Z"},void 0),e.jsx("path",{d:"M16.1347 5.86529L11 11V4C12.0506 4 13.0909 4.20693 14.0615 4.60896C14.8136 4.92052 15.5125 5.34451 16.1347 5.86529ZM16.8602 6.55405L12.4142 11H18.9373C18.8482 10.293 18.6649 9.59962 18.391 8.93853C18.0264 8.05823 17.5077 7.25087 16.8602 6.55405Z"},void 0)]},void 0),chevron:e.jsx("path",{d:"M5 13H16.17L11.29 17.88C10.9 18.27 10.9 18.91 11.29 19.3C11.68 19.69 12.31 19.69 12.7 19.3L19.29 12.71C19.68 12.32 19.68 11.69 19.29 11.3L12.71 4.7C12.32 4.31 11.69 4.31 11.3 4.7C10.91 5.09 10.91 5.72 11.3 6.11L16.17 11H5C4.45 11 4 11.45 4 12C4 12.55 4.45 13 5 13Z"},void 0),close:e.jsx("path",{d:"M18.3 5.71c-.39-.39-1.02-.39-1.41 0L12 10.59 7.11 5.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41L10.59 12 5.7 16.89c-.39.39-.39 1.02 0 1.41.39.39 1.02.39 1.41 0L12 13.41l4.89 4.89c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"},void 0),closet:e.jsx("path",{d:"M12 4C11.0717 4 10.1815 4.36875 9.52513 5.02513C8.86875 5.6815 8.5 6.57174 8.5 7.5H10.5C10.5 7.10218 10.658 6.72064 10.9393 6.43934C11.2206 6.15804 11.6022 6 12 6C12.3978 6 12.7794 6.15804 13.0607 6.43934C13.342 6.72064 13.5 7.10218 13.5 7.5C13.5 7.89782 13.342 8.27936 13.0607 8.56066C12.7794 8.84196 12.3978 9 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2C2.23209 18.3259 2.10807 18.5015 2.04549 18.7018C1.98291 18.9022 1.98495 19.1171 2.05132 19.3162C2.11769 19.5153 2.24502 19.6885 2.41529 19.8112C2.58556 19.934 2.79012 20 3 20H21C21.2099 20 21.4144 19.934 21.5847 19.8112C21.755 19.6885 21.8823 19.5153 21.9487 19.3162C22.0151 19.1171 22.0171 18.9022 21.9545 18.7018C21.8919 18.5015 21.7679 18.3259 21.6 18.2L13 11.75V10.85C13.7216 10.6349 14.3546 10.1927 14.805 9.58919C15.2554 8.98569 15.4991 8.25303 15.5 7.5C15.5 6.57174 15.1313 5.6815 14.4749 5.02513C13.8185 4.36875 12.9283 4 12 4ZM12 13.5L18 18H6L12 13.5Z"},void 0),exit_row:e.jsx("path",{d:"M20 11H6.83001L9.71001 8.12001C10.1 7.73001 10.1 7.10001 9.71001 6.71001C9.32001 6.32001 8.69001 6.32001 8.30001 6.71001L3.71001 11.3C3.32001 11.69 3.32001 12.32 3.71001 12.71L8.30001 17.3C8.69001 17.69 9.32001 17.69 9.71001 17.3C10.1 16.91 10.1 16.28 9.71001 15.89L6.83001 13H20C20.55 13 21 12.55 21 12C21 11.45 20.55 11 20 11Z"},void 0),exit_row_right:e.jsx("path",{d:"M4 11H17.17L14.29 8.12001C13.9 7.73001 13.9 7.10001 14.29 6.71001C14.68 6.32001 15.31 6.32001 15.7 6.71001L20.29 11.3C20.68 11.69 20.68 12.32 20.29 12.71L15.7 17.3C15.31 17.69 14.68 17.69 14.29 17.3C13.9 16.91 13.9 16.28 14.29 15.89L17.17 13H4C3.45 13 3 12.55 3 12C3 11.45 3.45 11 4 11Z"},void 0),galley:e.jsx("path",{d:"M20 3H4v10c0 2.21 1.79 4 4 4h6c2.21 0 4-1.79 4-4v-3h2c1.11 0 2-.9 2-2V5c0-1.11-.89-2-2-2zm0 5h-2V5h2v3zM4 19h16v2H4z"},void 0),lavatory:e.jsx("path",{d:"M5.5 22v-7.5H4V9c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v5.5H9.5V22h-4zM18 22v-6h3l-2.54-7.63C18.18 7.55 17.42 7 16.56 7h-.12c-.86 0-1.63.55-1.9 1.37L12 16h3v6h3zM7.5 6c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2zm9 0c1.11 0 2-.89 2-2s-.89-2-2-2-2 .89-2 2 .89 2 2 2z"},void 0),lie_flat_seat:e.jsx("path",{d:"M6.16667 12.8333C6.81667 12.8333 7.45834 12.5833 7.95001 12.0833C8.91667 11.0916 8.90001 9.51659 7.91667 8.54992C7.42501 8.07492 6.79167 7.83325 6.16667 7.83325C5.51667 7.83325 4.87501 8.08325 4.38334 8.58325C3.41667 9.57492 3.43334 11.1499 4.41667 12.1166C4.90834 12.5916 5.54167 12.8333 6.16667 12.8333ZM5.57501 9.74992C5.73334 9.59159 5.94167 9.49992 6.16667 9.49992C6.38334 9.49992 6.59167 9.58325 6.75001 9.73325C7.08334 10.0583 7.08334 10.5749 6.76667 10.9083C6.60001 11.0749 6.39167 11.1666 6.16667 11.1666C5.95001 11.1666 5.74167 11.0833 5.58334 10.9333C5.25001 10.5999 5.25001 10.0833 5.57501 9.74992ZM17 7.83325H9.50001V12.8333H20.3333V11.1666C20.3333 9.32492 18.8417 7.83325 17 7.83325ZM11.1667 11.1666V9.49992H17C17.9167 9.49992 18.6667 10.2499 18.6667 11.1666H11.1667ZM3.66667 15.3333H8.66667V16.9999H15.3333V15.3333H20.3333V13.6666H3.66667V15.3333Z"},void 0),no_airplane:e.jsx("path",{d:"M14.6674 10.0001V2.66675C14.6674 1.56008 13.7741 0.666748 12.6674 0.666748C11.5607 0.666748 10.6674 1.56008 10.6674 2.66675V7.57341L21.1074 18.0134L25.3341 19.3334V16.6667L14.6674 10.0001ZM1.33407 5.02675L7.9874 11.6801L0.000732422 16.6667V19.3334L10.6674 16.0001V23.3334L8.00073 25.3334V27.3334L12.6674 26.0001L17.3341 27.3334V25.3334L14.6674 23.3334V18.3601L22.3074 26.0001L24.0007 24.3067L3.0274 3.33341L1.33407 5.02675Z"},void 0),no_seat:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M25.1667 21.9733L23.4733 23.6667L2.5 2.69333L4.19333 1L7.16667 3.97333L16.5267 13.3333L19.1933 16L24.5 21.3067L25.1667 21.9733Z"},void 0),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.16667 24H3.16667V16H19.1933L24.5 21.3067V24H20.5V20H7.16667V24ZM27.1667 9.33333H23.1667V13.3333H27.1667V9.33333ZM4.5 9.33333H0.5V13.3333H4.5V9.33333ZM20.3333 13.3333H20.5V2.66667C20.5 1.2 19.3 0 17.8333 0H9.83333C9.05784 0 8.3569 0.335483 7.86848 0.868484L20.3333 13.3333ZM16.5267 13.3333L7.16667 3.97333V13.3333H16.5267Z"},void 0)]},void 0),seat:e.jsx("path",{d:"M7.59 5.41012C6.81 4.63012 6.81 3.36012 7.59 2.58012C8.37 1.80012 9.64 1.80012 10.42 2.58012C11.2 3.36012 11.2 4.63012 10.42 5.41012C9.63 6.20012 8.37 6.20012 7.59 5.41012ZM6 16.0001V8.00012C6 7.45012 5.55 7.00012 5 7.00012C4.45 7.00012 4 7.45012 4 8.00012V16.0001C4 18.7601 6.24 21.0001 9 21.0001H14C14.55 21.0001 15 20.5501 15 20.0001C15 19.4501 14.55 19.0001 14 19.0001H9C7.34 19.0001 6 17.6601 6 16.0001ZM19.28 19.3501L15.51 15.5801C15.14 15.2101 14.63 15.0001 14.1 15.0001H11.5V11.3201C12.59 12.2101 14.16 13.0201 15.7 13.3401C16.37 13.4801 17 12.9801 17 12.3001C17 11.7701 16.61 11.3401 16.08 11.2501C14.66 11.0101 13.2 10.2401 12.33 9.28012L10.93 7.73012C10.74 7.52012 10.5 7.35012 10.24 7.23012C9.95 7.09012 9.62 7.00012 9.28 7.00012H9.25C8.01 7.00012 7 8.01012 7 9.25012V15.0001C7 16.6601 8.34 18.0001 10 18.0001H15.07L17.85 20.7801C18.24 21.1701 18.89 21.1701 19.28 20.7801C19.68 20.3901 19.68 19.7501 19.28 19.3501Z"},void 0),seat_paid_indicator:e.jsx("path",{d:"M11.7686 0.731368C12.7766 -0.276576 14.5 0.437294 14.5 1.86274V10.8C14.5 12.5673 13.0673 14 11.3 14H2.36274C0.937294 14 0.223427 12.2766 1.23137 11.2686L11.7686 0.731368Z"},void 0),stairs:e.jsx("path",{d:"M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M18,8h-2.42v3.33H13v3.33h-2.58 V18H6v-2h2.42v-3.33H11V9.33h2.58V6H18V8z"},void 0),wifi:e.jsx("path",{d:"M2.83333 9.50005L4.49999 11.1667C8.64166 7.02505 15.3583 7.02505 19.5 11.1667L21.1667 9.50005C16.1083 4.44172 7.89999 4.44172 2.83333 9.50005ZM9.49999 16.1667L12 18.6667L14.5 16.1667C13.125 14.7834 10.8833 14.7834 9.49999 16.1667ZM6.16666 12.8334L7.83333 14.5C10.1333 12.2 13.8667 12.2 16.1667 14.5L17.8333 12.8334C14.6167 9.61672 9.39166 9.61672 6.16666 12.8334Z"},void 0)},y=function(e){return e in S?S[e]:(console.warn("The icon "+e),null)},I=function(n){var t=n.name,a=n.size,r=n.className,o=n.viewBox;return e.jsx("svg",C({className:m.default("ff-icon",r),width:a||24,height:a||24,viewBox:o||"0 0 24 24","aria-label":t,"data-testid":t},{children:y(t)}),void 0)};N(".duffel-components .duffel-button {\n --BUTTON-BASE-COLOR: rgb(var(--ACCENT));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C0);\n --BUTTON-ICON-SIZE: 24px;\n --BUTTON-RADIUS: 5px;\n --BUTTON-SPACING: 6px 40px;\n --BUTTON-ICON-SPACING: 8px;\n --BUTTON-ICON-MARGIN: 12px;\n --TRANSITION-CUBIC-BEZIER: cubic-bezier(0.25, 0.8, 0.25, 1);\n\n -webkit-appearance: none;\n align-items: center;\n background-color: inherit;\n border: 2px solid var(--BUTTON-BASE-COLOR);\n border-radius: var(--BUTTON-RADIUS);\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n display: flex;\n font-family: var(--FONT-FAMILY);\n font-size: inherit;\n font-weight: normal;\n line-height: 1;\n margin: 0;\n padding: var(--BUTTON-SPACING);\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n user-select: none;\n transition: background-color 0.3s var(--TRANSITION-CUBIC-BEZIER), border-color 0.3s var(--TRANSITION-CUBIC-BEZIER),\n color 0.3s var(--TRANSITION-CUBIC-BEZIER);\n}\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 48px;\n width: 48px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only > svg {\n --BUTTON-ICON-SIZE: 24px;\n margin: 0 auto;\n }\n\n .duffel-components .duffel-button__text {\n display: block;\n font-size: var(--BUTTON-FONT-SIZE);\n font-weight: 600;\n line-height: 1.5;\n }\n\n .duffel-components .duffel-button:focus {\n outline-offset: 0.25em;\n outline: 2px solid rgb(--ACCENT);\n }\n\n .duffel-components .duffel-button--primary {\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n\n .duffel-components .duffel-button--muted {\n --BUTTON-BASE-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n --BUTTON-HOVER-COLOR: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n\n border-color: transparent;\n }\n\n .duffel-components .duffel-button--muted.duffel-button--solid:hover,\n .duffel-components .duffel-button--muted.duffel-button--solid:active {\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid {\n background-color: var(--BUTTON-BASE-COLOR);\n color: rgb(var(--WHITE));\n }\n\n .duffel-components .duffel-button--solid.duffel-button--muted {\n color: rgb(var(--ACCENT));\n }\n\n .duffel-components .duffel-button--solid:hover,\n .duffel-components .duffel-button--solid:active {\n border-color: transparent;\n background-color: var(--BUTTON-HOVER-COLOR);\n }\n\n .duffel-components .duffel-button--is-disabled {\n cursor: default;\n opacity: 0.4;\n user-select: none;\n pointer-events: none;\n }\n\n .duffel-components .duffel-button .duffel-button__icon {\n display: block;\n height: var(--BUTTON-ICON-SIZE);\n width: var(--BUTTON-ICON-SIZE);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--before {\n margin-right: var(--BUTTON-ICON-MARGIN);\n }\n\n .duffel-components .duffel-button .duffel-button__icon--after {\n margin-left: var(--BUTTON-ICON-MARGIN);\n }\n\n @media screen and (min-width: 768px) {.duffel-components .duffel-button {\n --BUTTON-FONT-SIZE: var(--FONT-SIZES-C1);\n --BUTTON-ICON-SIZE: 18px;\n --BUTTON-SPACING: 4px 16px;\n line-height: 24px\n}\n .duffel-components .duffel-button:not(.duffel-button--icon-only) {\n height: 32px;\n }\n\n .duffel-components .duffel-button.duffel-button--icon-only {\n padding: var(--BUTTON-ICON-SPACING);\n height: 32px;\n width: 32px;\n }\n }\n");var E=c.forwardRef((function(n,t){var a=n.className,r=n.disabled,o=void 0!==r&&r,i=n.iconAfter,s=n.iconBefore,l=n.iconOnly,d=n.intent,c=void 0===d?"PRIMARY":d,u=n.text,f=n.type,p=void 0===f?"button":f,v=n.id,g=h(n,["className","disabled","iconAfter","iconBefore","iconOnly","intent","text","type","id"]),x=m.default("duffel-button","duffel-button--solid",a,{"duffel-button--primary":"PRIMARY"===c,"duffel-button--muted":"MUTED"===c,"duffel-button--icon-only":l,"duffel-button--is-disabled":o});return e.jsxs("button",C({ref:t,type:p,className:x,disabled:o,"aria-label":u,"data-testid":v,id:v},g,{children:[s&&e.jsx(I,{className:"duffel-button__icon duffel-button__icon--before",name:s},void 0),l&&e.jsx(I,{className:"duffel-button__icon",name:l},void 0),!l&&e.jsx("span",C({className:"duffel-button__text"},{children:u}),void 0),i&&e.jsx(I,{className:"duffel-button__icon duffel-button__icon--after",name:i},void 0)]}),void 0)})),A=function(n){var t=n.className,a=n.children,r=h(n,["className","children"]),o=m.default("chromeless-button",t);return e.jsx("button",C({className:o},r,{children:a}),void 0)},T=function(){var e=_(u.default.useState(null),2),n=e[0],t=e[1];return u.default.useEffect((function(){null===n&&t(window.innerWidth);var e=function(){return t(window.innerWidth)};return e(),window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),null!=n?n:0};function G(e){var n=c.useRef(null);return c.useEffect((function(){var t=document.querySelector("#"+e),a=t||function(e){var n=document.createElement("div");return n.setAttribute("id",e),n}(e);if(t||function(e){if(!document.body.lastElementChild)throw Error("document body not rendered");document.body.insertBefore(e,document.body.lastElementChild.nextElementSibling)}(a),!n.current)throw Error("elementRef not assigned");return a.appendChild(n.current),function(){if(!n.current)throw Error("elementRef not assigned");n.current.remove(),a.childElementCount||a.remove()}}),[e]),n.current||(n.current=document.createElement("div")),n.current}var j=function(e){var n=e.id,t=e.children,a=G(n);return i.createPortal(t,a)};N(".duffel-components .popover-container {\n width: 320px;\n padding: var(--SPACING-SM-1);\n border: 1px solid rgba(59, 64, 86, 0.1);\n border-radius: 8px;\n background: white;\n z-index: 999;\n box-shadow: 0px 1px 4px rgba(59, 64, 86, 0.3);\n}\n");var w=c.forwardRef((function(n,t){var a=n.children,r=n.style,o=n.id,i=void 0===o?"seat-selection__popover":o,s=h(n,["children","style","id"]);return e.jsx(j,C({id:i},{children:e.jsx("div",C({className:"duffel-components"},{children:e.jsx("div",C({className:"popover-container",id:i,"data-testid":i,style:r,ref:t},s,{children:a}),void 0)}),void 0)}),void 0)}));function O(n){var t=n.value,a=n.onChange,r=n.options;return e.jsx("div",C({className:"seat-map__tab-select"},{children:r.map((function(n){return e.jsx(A,C({type:"button",className:m.default("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":n===t}),onClick:function(){return t!==n&&a(n)}},{children:n}),n)}))}),void 0)}N(".duffel-components .seat-map__tab-select {\n width: 100%;\n max-width: 400px;\n display: flex;\n text-align: center;\n min-height: var(--SPACING-LG-1);\n margin-bottom: var(--SPACING-MD-3);\n border: 2px solid var(--GREY-200);\n border-radius: 3px;\n background-color: var(--GREY-200);\n }\n\n .duffel-components .seat-map__tab-select-option {\n appearance: none;\n outline: none;\n margin: 0;\n border: none;\n padding: var(--SPACING-XS-2) var(--SPACING-SM-3);\n font-weight: 600;\n font-size: var(--FONT-SIZES-C2);\n width: 100%;\n color: var(--GREY-900);\n background-color: var(--GREY-200);\n cursor: pointer;\n border-radius: 3px;\n }\n\n .duffel-components .seat-map__tab-select-option:hover,\n .duffel-components .seat-map__tab-select-option:focus,\n .duffel-components .seat-map__tab-select-option:active {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n\n .duffel-components .seat-map__tab-select-option--selected {\n color: var(--GREY-900);\n background-color: rgba(var(--WHITE), 1);\n box-shadow: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 2px 12px rgba(var(--BLACK), 0.08);\n }\n\n .duffel-components .seat-map__tab-select-option:first-child {\n margin-right: 1px;\n }\n\n .duffel-components .seat-map__tab-select-option:last-child {\n margin-left: 1px;\n }\n");var L={error_loading:{title:"Error loading seat maps",message:"We weren’t able to load your seat maps.",iconName:"no_airplane"},error_unavailable:{title:"Seat selection unavailable",message:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline.",iconName:"no_seat"}};N(".duffel-components .error-state__container {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: center;\n justify-content: center;\n max-width: 308px;\n text-align: center;\n margin: 0 auto;\n font-family: var(--FONT-FAMILY);\n height: 100%;\n }\n .duffel-components .error-state__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 64px;\n height: 64px;\n background-color: rgb(var(--ACCENT));\n border-radius: 50%;\n margin-bottom: var(--SPACING-MD-2);\n color: rgb(var(--WHITE));\n }\n .duffel-components .error-state__title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H4);\n line-height: 36px;\n margin: 0 0 var(--SPACING-SM-3);\n padding: 0;\n }\n .duffel-components .error-state__copy {\n color: var(--GREY-700);\n font-size: var(--FONT-SIZES-C1);\n line-height: var(--SPACING-MD-3);\n padding: 0;\n margin: 0;\n }\n");var P=function(n){var t=n.errorType;return e.jsxs("div",C({className:"error-state__container","data-testid":t},{children:[e.jsx("i",C({className:"error-state__icon"},{children:e.jsx(I,{name:L[t].iconName},void 0)}),void 0),e.jsx("h3",C({className:"error-state__title"},{children:L[t].title}),void 0),e.jsx("p",C({className:"error-state__copy"},{children:L[t].message}),void 0)]}),void 0)},M=function(n){function t(e){var t=n.call(this,e)||this;return t.state={hasError:!1},t}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}g(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}(t,n),t.getDerivedStateFromError=function(){return{hasError:!0}},t.prototype.componentDidCatch=function(e){console.error(e)},t.prototype.render=function(){return this.state.hasError?e.jsx("div",C({className:"duffel-components"},{children:e.jsx(P,{errorType:"error_loading"},void 0)}),void 0):this.props.children},t}(n.Component),R=function(e){return e<768},H=function(e,n,t){void 0===n&&(n="en-GB"),void 0===t&&(t={});var a=new Intl.NumberFormat(n,C({style:"currency",currency:e},t));return function(e){var n=a.format(e);return t&&t.signDisplay&&("always"===t.signDisplay||"exceptZero"===t.signDisplay&&0!==e)?n.replace(/^([+-])/,"$1 "):n}},k=function(e){return e.reduce((function(e,n){return e+=n}),0)},B=/P(?:([.,\d]+)D)?T(?:([.,\d]+)H)?(?:([.,\d]+)M)?/i,Z=function(e,n){return(e.indexOf(n)+1)%e.length};N(".duffel-components .loading-state__container {\n display: flex;\n flex-direction: column;\n align-content: center;\n align-items: center;\n text-align: center;\n justify-content: center;\n font-family: var(--FONT-FAMILY);\n height: calc(100vh - var(--SPACING-XL-3));\n width: var(--SPACING-XL-3);\n margin: 0 auto;\n line-height: var(--SPACING-MD-1);\n }\n .duffel-components .loading-state__message {\n font-size: var(--FONT-SIZES-C3);\n text-transform: uppercase;\n color: var(--GREY-400);\n letter-spacing: 0.02rem;\n }\n .duffel-components .loading-state__progress-indicator {\n height: var(--SPACING-XS-2);\n margin: var(--SPACING-SM-3) 0;\n border-radius: 999px;\n width: calc(100% - var(--SPACING-SM-1));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n position: relative;\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .loading-state__progress-indicator--status {\n display: block;\n height: 100%;\n border-radius: 999px;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n position: relative;\n animation: fillstatus 1s linear;\n }\n @keyframes fillstatus {\n 0% {\n width: 0;\n }\n 70% {\n width: 100%;\n }\n 80% {\n opacity: 1;\n width: 100%;\n }\n 100% {\n opacity: 0;\n width: 100%;\n }\n }\n .duffel-components .loading-state__segment {\n display: flex;\n flex-direction: row;\n margin: var(--SPACING-XS-2) 0;\n color: var(--GREY-400);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__segment--origin,\n .duffel-components .loading-state__segment--destination {\n font-weight: 600;\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n padding: 0 var(--SPACING-SM-1);\n text-transform: uppercase;\n }\n .duffel-components .loading-state__duration {\n color: var(--GREY-400);\n font-size: var(--FONT-SIZES-C3);\n letter-spacing: 0.02rem;\n margin: var(--SPACING-XS-2) 0;\n text-transform: uppercase;\n }\n");var F=function(n){var t=n.origin,a=n.destination,r=n.duration,o=n.done,i=_(c.useState(!1),2),s=i[0],l=i[1],d=c.useRef(null);return c.useEffect((function(){s&&o&&o()})),s?null:e.jsxs("div",C({className:"loading-state__container"},{children:[e.jsx("span",C({className:"loading-state__message"},{children:"Loading seat map"}),void 0),e.jsx("div",C({className:"loading-state__progress-indicator"},{children:e.jsx("span",{className:"loading-state__progress-indicator--status",ref:d,onAnimationEnd:function(){return l(!0)},"data-testid":"loading-state__progress-indicator--status"},void 0)}),void 0),e.jsxs("div",C({className:"loading-state__segment"},{children:[e.jsx("span",C({className:"loading-state__segment--origin"},{children:t}),void 0),e.jsx(I,{name:"arrow_forward",size:20},void 0),e.jsx("span",C({className:"loading-state__segment--destination"},{children:a}),void 0)]}),void 0),e.jsx("span",C({className:"loading-state__duration"},{children:r}),void 0)]}),void 0)},z=function(){return{}},Y=n.createContext({offer:{},seatMaps:[],passengers:[],segments:[],segmentId:"",passengerId:"",currentSelectedSegment:{},currentSelectedPassenger:{},seatSelection:{},size:"default",currentSeat:{},setCurrentSeat:z,onSelectSeat:z,onSelectPassenger:z,setIsLoading:z,extendedSeatInfo:[],setExtendedSeatInfo:z,currency:""}),U=function(){return n.useContext(Y)};N(".duffel-components .passenger-selection-passenger {\n appearance: none;\n border: none;\n background: none;\n cursor: pointer;\n font-size: var(--FONT-SIZES-C2);\n font-family: var(--FONT-FAMILY);\n margin-top: var(--SPACING-XS-2);\n height: 32px;\n display: flex;\n align-items: center;\n padding: var(--SPACING-SM-1) var(--SPACING-LG-1);\n width: 100%;\n}\n\n .duffel-components .passenger-selection-passenger:first-child {\n margin-top: 0;\n }\n\n .duffel-components .passenger-selection-passenger:hover,\n .duffel-components .passenger-selection-passenger:focus,\n .duffel-components .passenger-selection-passenger:active {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n\n .duffel-components .passenger-selection-passenger__identifier,\n .duffel-components .passenger-selection-passenger__action {\n line-height: 1;\n }\n\n .duffel-components .passenger-selection-passenger__identifier {\n flex-grow: 1;\n margin-right: var(--SPACING-LG-1);\n text-align: left;\n color: var(--GREY-900);\n }\n\n .duffel-components .passenger-selection-passenger__action {\n color: var(--GREY-600);\n margin-right: var(--SPACING-XS-2);\n }\n\n .duffel-components .passenger-selection-passenger__seat-designator {\n color: var(--GREY-900);\n font-weight: 600;\n margin-right: var(--SPACING-SM-3);\n }\n\n .duffel-components .passenger-selection-passenger__seat-price {\n text-align: right;\n display: inline-block;\n width: 70px;\n }\n\n .duffel-components .passenger-selection-passenger--selected {\n box-shadow: 4px 0px 0px 0px rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000)) inset;\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n }\n");var V=function(n){var t=n.segment,a=n.passenger,r=n.passengerIndex,o=U(),i=o.seatSelection,s=o.segmentId,l=o.passengerId,d=o.onSelectPassenger,c=o.currentSelectedSegment,u=o.setIsLoading,f=i[t.id]&&i[t.id][a.id];return e.jsxs("button",C({"data-testid":"passenger-"+a.id,type:"button",onClick:function(){c.id!==t.id&&u(!0),d(a.id,t.id)},className:m.default("passenger-selection-passenger",{"passenger-selection-passenger--selected":s===t.id&&l===a.id})},{children:[e.jsx("span",C({className:"passenger-selection-passenger__identifier"},{children:a.name||"Passenger "+(r+1)}),void 0),f&&f.service?e.jsxs("span",C({className:"passenger-selection-passenger__action"},{children:[e.jsx("span",C({className:"passenger-selection-passenger__seat-designator"},{children:f.designator}),void 0),e.jsx("span",C({className:"passenger-selection-passenger__seat-price"},{children:H(f.service.total_currency)(+f.service.total_amount)}),void 0)]}),void 0):e.jsx("span",C({className:"passenger-selection-passenger__action"},{children:"Unselected"}),void 0)]}),a.id)};N(".duffel-components .passenger-segment__title {\n color: var(--GREY-900);\n font-style: normal;\n font-size: var(--FONT-SIZES-C1);\n font-weight: 600;\n line-height: var(--SPACING-MD-3);\n padding: 0 0 0 var(--SPACING-LG-1);\n margin: 0 0 var(--SPACING-SM-1);\n display: flex;\n align-items: center;\n }\n .duffel-components .passenger-segment__chevron {\n margin: 0 var(--SPACING-SM-1);\n color: var(--GREY-400);\n }\n");var q=function(n){var t=n.segment,a=n.className;return e.jsxs("h3",C({className:m.default(a,"passenger-segment__title")},{children:[t.origin.iata_code,e.jsx(I,{name:"chevron",className:"passenger-segment__chevron",size:20},void 0),t.destination.iata_code]}),void 0)};N(".duffel-components .passenger-selection-segment {\n margin: var(--SPACING-LG-1) 0 0;\n padding: 0 0 var(--SPACING-LG-1);\n border-bottom: 1px solid var(--GREY-200);\n font-family: var(--FONT-FAMILY);\n}\n\n .duffel-components .passenger-selection-segment:first-child {\n margin-top: 0;\n }\n");var D=function(n){var t=n.segment,a=U().passengers;return e.jsxs("li",C({className:"passenger-selection-segment"},{children:[Object.keys(t).length>0&&e.jsx(q,{segment:t},void 0),a.map((function(n,a){return e.jsx(V,{segment:t,passenger:n,passengerIndex:a},n.id)}))]}),t.id)};N(".duffel-components .passenger-selection {\n display: flex;\n flex-direction: column;\n font-family: var(--FONT-FAMILY);\n flex-grow: 1;\n}\n\n .duffel-components .passenger-selection__title {\n margin: 0;\n padding: 0 0 var(--SPACING-MD-3);\n font-size: var(--FONT-SIZES-H2);\n line-height: 1.2;\n min-width: 360px;\n }\n\n .duffel-components .passenger-selection__segments {\n list-style: none;\n overflow-y: auto;\n font-size: var(--FONT-SIZES-C1);\n padding: var(--SPACING-XS-2);\n margin: calc(var(--SPACING-XS-2) * -1);\n }\n");var X=function(){var n=U().segments;return e.jsx("div",C({className:"passenger-selection"},{children:e.jsx("ul",C({className:"passenger-selection__segments"},{children:n.map((function(n){return e.jsx(D,{segment:n},n.id)}))}),void 0)}),void 0)},W=function(n){var t=n.value,a=n.setValue,r=["Lower deck","Upper deck"];return e.jsx(O,{options:r,value:r[t],onChange:function(e){return a(r.indexOf(e))}},void 0)};N(".duffel-components .seat-map__legend {\n width: calc(100% + var(--SPACING-MD-3));\n min-height: fit-content;\n margin: calc(var(--SPACING-SM-1) * -1) calc(var(--SPACING-SM-2) * -1);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3));\n font-size: var(--FONT-SIZES-C2);\n font-weight: 400;\n }\n .duffel-components .seat-map__legend-item {\n display: flex;\n align-items: center;\n text-transform: capitalize;\n margin: var(--SPACING-SM-1) var(--SPACING-SM-2);\n color: var(--GREY-700);\n }\n .duffel-components .seat-map__legend-item--symbol .ff-icon {\n margin-right: var(--SPACING-XS-3);\n }\n .duffel-components .seat-map__legend-seat {\n width: var(--SPACING-MD-1);\n height: var(--SPACING-MD-1);\n border-radius: 5px;\n border: 2px solid var(--GREY-400);\n color: var(--GREY-400);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: var(--SPACING-SM-1);\n }\n .duffel-components .seat-map__legend-seat--fee-payable {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--fee-payable-indicator {\n position: relative;\n top: var(--SPACING-XS-2);\n left: var(--SPACING-XS-2);\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .seat-map__legend-seat--included {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n }\n .duffel-components .seat-map__legend-seat--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n }\n");var K=function(n){var t=n.symbols;return e.jsxs("div",C({className:"seat-map__legend"},{children:[e.jsxs("span",C({className:"seat-map__legend-item"},{children:[e.jsx("span",C({className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat"},{children:e.jsx(I,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12},void 0)}),void 0),"Additional Cost"]}),void 0),e.jsxs("span",C({className:"seat-map__legend-item"},{children:[e.jsx("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"},void 0),"Included"]}),void 0),e.jsxs("span",C({className:"seat-map__legend-item"},{children:[e.jsx("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"},void 0),"Selected"]}),void 0),e.jsxs("span",C({className:"seat-map__legend-item"},{children:[e.jsx("span",C({className:"seat-map__legend-seat","aria-label":"Unavailable seat"},{children:e.jsx(I,{name:"close",size:14},void 0)}),void 0),"Unavailable"]}),void 0),b([],_(t)).map((function(n){return e.jsxs("span",C({className:"seat-map__legend-item seat-map__legend-item--symbol"},{children:[e.jsx(I,{name:n,size:20},void 0),n.split("_")[0]]}),n)}))]}),void 0)};N(".duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-1);\n color: var(--GREY-600);\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--SPACING-SM-1);\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element--amenity {\n width: 100%;\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--wrapped {\n background-color: var(--GREY-100);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n }\n");var $=["bassinet","exit_row"],J=function(n){var t=n.type,a=T();return e.jsx("div",C({className:m.default("map-element map-element--amenity",{"map-element--wrapped":!$.includes(t)}),"aria-label":t.toString()},{children:e.jsx(I,{name:t,size:R(a)?16:24},void 0)}),void 0)};N(".duffel-components .seat-info {\n background-color: rgb(var(--WHITE));\n padding: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n}\n\n .duffel-components .seat-info__details {\n font-size: var(--FONT-SIZES-C1);\n color: var(--GREY-900);\n font-weight: normal;\n text-transform: none;\n display: flex;\n justify-content: space-between;\n }\n\n .duffel-components .seat-info__details > span {\n flex-grow: 1;\n margin: 0 var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__disclosure {\n font-size: var(--FONT-SIZES-C3);\n color: var(--GREY-600);\n line-height: 150%;\n text-transform: none;\n font-weight: normal;\n margin-top: var(--SPACING-SM-1);\n }\n\n .duffel-components .seat-info__details + .seat-info__disclosure {\n padding-top: var(--SPACING-SM-3);\n border-top: 1px solid var(--GREY-200);\n margin-top: var(--SPACING-SM-3);\n }\n");var Q=function(n){var t=n.seat,a=n.service,r=a?H(a.total_currency)(+a.total_amount):"";return e.jsxs("div",C({className:"seat-info"},{children:[e.jsxs("div",C({className:"seat-info__details"},{children:[e.jsx("strong",{children:null==t?void 0:t.designator},void 0),e.jsxs("span",{children:[(null==t?void 0:t.name)||"Seat"," "]},void 0),e.jsx("strong",{children:r},void 0)]}),void 0),null==t?void 0:t.disclosures.map((function(n,t){return e.jsx("div",C({className:"seat-info__disclosure"},{children:n}),t)}))]}),void 0)};N(".duffel-components .map-element__seat {\n appearance: none;\n outline: none;\n cursor: default;\n width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n border-radius: 8px;\n border: 2px solid var(--GREY-200);\n box-sizing: border-box;\n color: var(--GREY-600);\n background-color: var(--GREY-100);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: var(--SPACING-MD-3);\n text-transform: uppercase;\n font-weight: bold;\n font-size: var(--FONT-SIZES-C3);\n text-align: left;\n position: relative;\n }\n\n @media only screen and (min-width: 768px) {.duffel-components .map-element__seat {\n width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3);\n font-size: var(--FONT-SIZES-C2)\n }\n }\n .duffel-components .map-element--available {\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-100));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n .duffel-components .map-element--fee-payable {\n position: absolute;\n top: 22px;\n left: 22px;\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-300));\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--fee-payable {\n top: 26px;\n left: 26px\n }\n }\n @media (hover: hover) and (pointer: fine) {\n .duffel-components .map-element--actionable:hover {\n cursor: pointer;\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-200));\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n .duffel-components .map-element--actionable:not(.map-element--selected):hover .map-element--fee-payable {\n color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n transition: var(--TRANSITIONS-CUBIC-BEZIER);\n }\n }\n .duffel-components .map-element--selected {\n background-color: rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n border: 2px solid rgba(var(--ACCENT), var(--ACCENT-LIGHT-1000));\n color: rgba(var(--WHITE), 1);\n }\n");var ee=function(n){var t=n.seat,a=T(),r=_(c.useState(!1),2),i=r[0],s=r[1],l=function(e,n,t,a){var r=Object.assign({},{shouldInsideClickClose:!1},a).shouldInsideClickClose,i=_(u.default.useState(null),2),s=i[0],l=i[1],d=_(u.default.useState(null),2),c=d[0],f=d[1],p=_(u.default.useState(null),2),m=p[0],v=p[1],g=C(C({},{placement:"auto",modifiers:[{name:"arrow",options:{element:m}}]}),t),h=o.usePopper(s,c,g),x=u.default.useCallback((function(e){var t=!!c&&c.contains(e.target);t||n(),r&&t&&setTimeout(n,10)}),[c,n,r]),b=u.default.useCallback((function(e){"Escape"===e.key&&n()}),[n]);return u.default.useEffect((function(){if(null!==document)return e&&(document.body.addEventListener("click",x),document.body.addEventListener("keydown",b)),function(){document.body.removeEventListener("click",x),document.body.removeEventListener("keydown",b)}}),[e,x,b]),{popper:h,setReferenceElement:l,setPopperElement:f,setArrowElement:v}}(i,(function(){return s(!1)}),{placement:"top",modifiers:[{name:"offset",options:{offset:[0,8]}}]},{shouldInsideClickClose:!1}),d=l.popper,f=d.styles,p=d.attributes,v=l.setReferenceElement,g=l.setPopperElement,h=U(),x=h.passengers,N=h.passengerId,S=h.segmentId,y=h.seatSelection,E=h.currentSeat,A=h.setCurrentSeat,G=h.onSelectSeat,j=h.extendedSeatInfo,O=h.setExtendedSeatInfo,L=function(e,n,t){var a,r,o=null===(a=e.available_services)||void 0===a?void 0:a.find((function(e){return e.passenger_id===n})),i=null===(r=e.available_services)||void 0===r?void 0:r.find((function(e){var n,a;return!!t&&(null===(a=null===(n=t[e.passenger_id])||void 0===n?void 0:n.service)||void 0===a?void 0:a.id)===e.id}));return{service:o,isAvailable:o&&!i||!1,selectedBy:null==i?void 0:i.passenger_id}}(t,N,y[S]),P=L.service,M=L.isAvailable,k=L.selectedBy,B=c.useMemo((function(){return function(e,n){if(!n)return!1;var t="";return e.forEach((function(e,a){var r,o;if(e.name){var i=new RegExp(/(\p{L}{1})\p{L}+/,"gu"),s=b([],_(e.name.matchAll(i)))||[];if(e.id===n)return t=(((null===(r=s.shift())||void 0===r?void 0:r[1])||"")+((null===(o=s.pop())||void 0===o?void 0:o[1])||"")).toUpperCase()}if(e.id===n)return t="P"+(a+1)})),t}(x,k)}),[x,k]),Z=""+(P&&H(P.total_currency)(+P.total_amount)),F=(null==P?void 0:P.total_amount)&&0!==parseInt(null==P?void 0:P.total_amount),z=k&&k!==N,Y=c.useMemo((function(){return function(e){if(null!==e){var n=e.segment,t=e.seat.designator;j.map((function(e){return e})).find((function(e){return e.segment===n&&e.seat.designator===t}))?O(j.splice(j.findIndex((function(e){return e.segment!==n&&e.seat.designator!==t})))):P&&O(b(b([],_(j)),[C(C({},e),{service:P})]))}}}),[j,P,O]);return e.jsx(e.Fragment,{children:k||M?e.jsxs("button",C({id:t.designator,type:"button",className:m.default("map-element","map-element__seat",{"map-element--available":M&&!k,"map-element--selected":k,"map-element--actionable":M||k==N}),onClick:function(e){(P&&Y({segment:S,seat:t,service:P}),R(a)&&(E.seat===t?A({seat:null,service:void 0}):A({seat:t,service:P})),P&&!z)&&(G(k===N?null:{designator:t.designator,service:P}),e.target.blur())},onMouseEnter:function(){return!R(a)&&s(!0)},onMouseLeave:function(){return!R(a)&&s(!1)},ref:v,"aria-label":t.designator+" "+(t.name||"Seat")+" "+Z},{children:[F&&e.jsx(I,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:R(a)?16:24},void 0),k?B:t.designator.charAt(t.designator.length-1),i&&!z&&P&&!R(a)&&e.jsx(w,C({ref:g,style:C({},f.popper)},p.popper,{children:e.jsx(Q,{seat:t,service:P},void 0)}),void 0)]}),void 0):e.jsx("span",C({className:"map-element map-element__seat","aria-label":t.designator+" "+(t.name||"Seat")+" Unavailable"},{children:e.jsx(I,{name:"close",size:R(a)?14:16},void 0)}),void 0)},void 0)};N(".duffel-components .map-element--exit {\n color: var(--GREY-400);\n width: 100%;\n height: var(--SPACING-LG-3);\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n\n .duffel-components .map-element--exit--right {\n justify-content: flex-end;\n }\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-2);\n height: var(--SPACING-LG-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element--empty {\n min-width: var(--SPACING-LG-3);\n height: var(--SPACING-LG-3)\n }\n }\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-XS-2);\n }\n @media only screen and (min-width: 768px) {\n .duffel-components .map-element + .map-element {\n margin-left: var(--SPACING-SM-1)\n }\n }\n\n.duffel-components .map-section {\n display: flex;\n justify-content: center;\n padding: var(--SPACING-XS-1) 0;\n}\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section {\n padding: var(--SPACING-XS-2) 0\n}\n }\n\n.duffel-components .map-section--left {\n border-left: 2px solid var(--GREY-200);\n padding-left: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--left.map-section--wing {\n box-shadow: -19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section--right {\n border-right: 2px solid var(--GREY-200);\n padding-right: var(--SPACING-SM-3);\n }\n\n.duffel-components .map-section--right.map-section--wing {\n box-shadow: 19px 0px 0px 0px var(--GREY-200);\n }\n\n.duffel-components .map-section__aisle {\n display: flex;\n justify-content: center;\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C3);\n line-height: var(--SPACING-MD-2);\n }\n\n@media only screen and (min-width: 768px) {\n\n.duffel-components .map-section__aisle {\n font-size: var(--FONT-SIZES-C2);\n line-height: var(--SPACING-MD-3)\n }\n }\n");var ne=function(n,t,a){return e.jsx(e.Fragment,{children:"seat"===n.type?e.jsx(ee,{seat:n},t):"empty"===n.type?e.jsx("div",{className:"map-element map-element--empty"},t):"exit_row"===n.type?e.jsx("div",C({className:m.default("map-element map-element--exit",{"map-element--exit--right":a>0})},{children:0===a?e.jsx(I,{name:"exit_row"},void 0):e.jsx(I,{name:"exit_row_right"},void 0)}),t):e.jsx(J,{type:n.type},t)},void 0)},te=function(n){var t=n.row,a=n.hasWings,r=function(e){var n=Object.values(e.sections).map((function(e){return e.elements})).reduce((function(e,n){return e.concat(n)}),[]).filter((function(e){return"seat"===e.type}));return n.length>0?n[0].designator.substring(0,n[0].designator.length-1):null}(t);return e.jsx(e.Fragment,{children:Object.values(t.sections).map((function(n,o){return e.jsxs(c.Fragment,{children:[e.jsx("div",C({className:m.default("map-section",{"map-section--left":0===o,"map-section--right":o===t.sections.length-1,"map-section--wing":a}),"data-testid":"row-section-"+o},{children:n.elements.length>0?n.elements.map((function(n,t){return e.jsx(c.Fragment,{children:ne(n,t,o)},t)})):ne({type:"empty"},-1,o)}),void 0),o<Object.keys(t.sections).length-1&&e.jsx("span",C({className:"map-section__aisle"},{children:r}),void 0)]},o)}))},void 0)};N(".duffel-components .seat-map {\n background-color: rgba(var(--WHITE), 1);\n padding: var(--SPACING-SM-3);\n display: flex;\n flex-direction: column;\n align-items: center;\n width: fit-content;\n min-height: 100%;\n}\n\n @media only screen and (min-width: 768px) {.duffel-components .seat-map {\n padding: var(--SPACING-LG-1) var(--SPACING-SM-3) var(--SPACING-SM-3)\n}\n }\n\n .duffel-components .seat-map__legend-container {\n margin-bottom: var(--SPACING-MD-3);\n width: fit-content;\n }\n\n .duffel-components .seat-map__map-container {\n display: grid;\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-1)) auto;\n grid-column-gap: var(--SPACING-XS-2);\n align-items: center;\n width: min-content;\n margin: 0 var(--SPACING-SM-2);\n }\n\n @media only screen and (min-width: 768px) {\n\n .duffel-components .seat-map__map-container {\n grid-template-columns: repeat(var(--CABIN-AISLES), auto var(--SPACING-LG-2)) auto;\n grid-column-gap: var(--SPACING-SM-2);\n margin: 0;\n padding-bottom: var(--SPACING-LG-1)\n }\n }\n");var ae=function(){var n=U(),t=n.segmentId,a=n.offer,r=n.seatMaps,o=_(c.useState(0),2),i=o[0],s=o[1],l=function(e,n,t,a){var r=t.find((function(e){return e.segment_id===n}));if(!(null==r?void 0:r.cabins)||0===(null==r?void 0:r.cabins.length))return{cabin:null};var o=a.slices.length>0&&a.slices[0].segments.length>0&&a.slices[0].segments[0].passengers.length>0&&a.slices[0].segments[0].passengers[0].cabin_class,i=null==r?void 0:r.cabins.filter((function(e){return e.cabin_class===o}));return{cabin:i.find((function(n){return n.deck===e}))||i[0]||(null==r?void 0:r.cabins[0]),hasMultipleDecks:i.length>1,anyHasWings:i.some((function(e){return e.wings}))}}(i,t,r,a),d=l.cabin,u=l.hasMultipleDecks,f=l.anyHasWings;if(!d)return e.jsx(P,{errorType:"error_unavailable"},void 0);var p=function(e){var n,t,a,r,o,i,s=new Set;try{for(var l=x(e.rows),d=l.next();!d.done;d=l.next()){var c=d.value;try{for(var u=(a=void 0,x(c.sections)),f=u.next();!f.done;f=u.next()){var p=f.value;try{for(var m=(o=void 0,x(p.elements)),v=m.next();!v.done;v=m.next()){var g=v.value;"seat"!==g.type&&"empty"!==g.type&&s.add(g.type)}}catch(e){o={error:e}}finally{try{v&&!v.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}}catch(e){a={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(a)throw a.error}}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(t=l.return)&&t.call(l)}finally{if(n)throw n.error}}return s}(d);return e.jsxs("div",C({"data-testid":"seat-map",className:m.default("seat-map",{"seat-map--wings":f})},{children:[u&&e.jsx(W,{value:i,setValue:function(e){s(e)}},void 0),e.jsx("div",C({className:"seat-map__legend-container"},{children:e.jsx(K,{symbols:p},void 0)}),void 0),e.jsx("div",C({className:"seat-map__map-container",style:{"--CABIN-AISLES":d.aisles}},{children:d.rows.map((function(n,t){return e.jsx(te,{row:n,hasWings:!!d.wings&&(d.wings.first_row_index<=t&&d.wings.last_row_index>=t)},t)}))}),void 0)]}),void 0)};N(".duffel-components .summary__segment {\n border-bottom: 1px solid var(--GREY-200);\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--SPACING-SM-3);\n padding-bottom: var(--SPACING-SM-3);\n }\n\n .duffel-components .summary__segment > .passenger-segment__title {\n padding: 0;\n margin: 0;\n }\n\n .duffel-components .summary__segment-passenger {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-C1);\n font-weight: normal;\n margin: 0;\n padding: 0;\n }\n .duffel-components .summary__description-cost {\n display: flex;\n justify-content: space-between;\n font-size: var(--FONT-SIZES-C1);\n margin-bottom: var(--SPACING-SM-3);\n }\n .duffel-components .summary:not(.summary--mobile) {\n padding-top: 0;\n display: none;\n }\n .duffel-components .summary__actions {\n display: flex;\n }\n .duffel-components .summary__actions--previous {\n transform: rotate(180deg);\n }\n .duffel-components .summary__actions > button:last-of-type {\n flex: 1 auto;\n justify-content: center;\n margin-left: var(--SPACING-SM-3);\n }\n @media screen and (min-width: 768px) {\n .duffel-components .summary:not(.summary--mobile) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .duffel-components .summary--mobile {\n display: none;\n }\n\n .duffel-components .summary__description-title {\n color: var(--GREY-900);\n font-size: var(--FONT-SIZES-H5);\n line-height: 26px;\n margin-bottom: var(--SPACING-XS-2);\n }\n\n .duffel-components .summary__description-cost {\n color: var(--GREY-600);\n font-size: var(--FONT-SIZES-C2);\n line-height: 21px;\n margin-bottom: 0;\n }\n .duffel-components .summary__actions--previous.duffel-button--icon-only {\n padding: 0;\n }\n .duffel-components .summary__actions .summary__confirmation-btn:last-child {\n margin-left: var(--SPACING-SM-1);\n }\n }\n");var re=function(n){var t=n.primaryButtonCopy,a=n.onBackClick,r=n.disableBackButton,o=n.onClick,i=n.iconAfter,s="summary-button-"+t.replace(" ","-").toLowerCase();return e.jsxs("div",C({className:"summary__actions"},{children:[e.jsx(E,{text:"Previous passenger",onClick:a,disabled:r,intent:"MUTED",iconOnly:"chevron","aria-label":"Previous passenger",className:"summary__actions--previous"},void 0),e.jsx(E,C({"data-testid":s,text:t,className:"summary__confirmation-btn",onClick:o},i),void 0)]}),void 0)},oe=function(n){var t,a=n.onClick,r=n.primaryButtonCopy,o=n.iconAfter,i=n.onBackClick,s=n.disableBackButton,l=U(),d=l.seatSelection,u=l.segments,f=l.passengers,p=l.currentSelectedPassenger,m=l.currentSelectedSegment,v=l.offer,g=l.currency,h=(t=d,Object.values(t).map((function(e){return Object.values(e)})).map((function(e){return e.map((function(e){return(null==e?void 0:e.service)||null}))})).flat().filter((function(e){return null!==e}))),x=c.useMemo((function(){return k(h.map((function(e){return parseFloat(e.total_amount)})))}),[h]),_=c.useMemo((function(){return k(u.map((function(e){return e.passengers.length})))}),[u]),b=h&&h.length,N=b>0?H(h[0].total_currency)(x):v?H(g)(0):"0",S=p&&f.findIndex((function(e){return e.id===(null==p?void 0:p.id)})),y=(null==p?void 0:p.name)?p.name:S>=0?"Passenger "+(S+1):"";return e.jsxs(e.Fragment,{children:[e.jsxs("div",C({className:"summary","data-testid":"seat-selection-summary"},{children:[e.jsxs("div",C({className:"summary__description"},{children:[e.jsx("div",C({className:"summary__description-title"},{children:b+" of "+_+" seat"+(_>1?"s":"")+" selected"}),void 0),e.jsxs("div",C({className:"summary__description-cost"},{children:[N," will be added to the order"]}),void 0)]}),void 0),e.jsx(re,{onBackClick:i,onClick:a,iconAfter:o,primaryButtonCopy:r,disableBackButton:s},void 0)]}),void 0),e.jsxs("div",C({className:"summary summary--mobile"},{children:[e.jsxs("div",C({className:"summary__segment"},{children:[Object.keys(m).length>0&&e.jsx(q,{segment:m},"summary-"+m.id),y&&e.jsx("h3",C({className:"summary__segment-passenger"},{children:y}),void 0)]}),void 0),e.jsxs("div",C({className:"summary__description-cost"},{children:["Total Price ",e.jsx("strong",{children:N},void 0)]}),void 0),e.jsx(re,{onBackClick:i,onClick:a,iconAfter:o,primaryButtonCopy:r,disableBackButton:s},void 0)]}),void 0)]},void 0)};N(".duffel-components {\n --FONT-FAMILY: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\n 'Droid Sans', 'Helvetica Neue', sans-serif;\n --FONT-SIZES-C0: 20px;\n --FONT-SIZES-C1: 16px;\n --FONT-SIZES-C2: 14px;\n --FONT-SIZES-C3: 12px;\n --FONT-SIZES-H2: 32px;\n --FONT-SIZES-H3: 28px;\n --FONT-SIZES-H4: 24px;\n --FONT-SIZES-H5: 20px;\n}\n.duffel-components {\n --SPACING-XL-3: 128px;\n --SPACING-XL-2: 64px;\n --SPACING-XL-1: 56px;\n --SPACING-LG-3: 48px;\n --SPACING-LG-2: 40px;\n --SPACING-LG-1: 32px;\n --SPACING-MD-3: 24px;\n --SPACING-MD-2: 20px;\n --SPACING-MD-1: 18px;\n --SPACING-SM-3: 16px;\n --SPACING-SM-2: 12px;\n --SPACING-SM-1: 8px;\n --SPACING-XS-3: 6px;\n --SPACING-XS-2: 4px;\n --SPACING-XS-1: 2px;\n --SPACING-NONE: 0;\n}\n.duffel-components {\n --GREY-100: #f7f5f9;\n --GREY-200: #e2e2e8;\n --GREY-400: #ababb4;\n --GREY-500: #86868e;\n --GREY-600: #696972;\n --GREY-700: #4b4b55;\n --GREY-900: #29292e;\n --BLACK: 0, 0, 0;\n --WHITE: 255, 255, 255;\n --ACCENT: 57, 111, 233;\n --ACCENT-LIGHT-100: 0.08;\n --ACCENT-LIGHT-200: 0.24;\n --ACCENT-LIGHT-300: 0.48;\n --ACCENT-LIGHT-1000: 1;\n}\n.duffel-components {\n --TRANSITIONS-CUBIC-BEZIER: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.duffel-components {\n box-sizing: border-box;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n font-family: var(--FONT-FAMILY);\n overflow: hidden;\n height: 100%;\n}\n");N(".duffel-components .seat-selection {\n --SEAT-SELECTION-BOX-SHADOW: 0px 0px 0px 1px rgba(var(--BLACK), 0.05), 0px 4px 24px rgba(var(--BLACK), 0.08);\n background-color: rgb(var(--WHITE));\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding: 0;\n position: relative;\n}\n\n .duffel-components .seat-selection__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n border-bottom: 1px solid rgba(59, 64, 86, 0.1);\n height: calc(100% - 177px);\n overflow: auto;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n display: none;\n padding-top: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n }\n\n .duffel-components .seat-selection__mobile-seat-info {\n align-self: center;\n position: absolute;\n bottom: 187px;\n width: calc(100% - 20px);\n padding: var(--SPACING-XS-3);\n margin-bottom: var(--SPACING-SM-2);\n height: auto;\n background-color: white;\n border-radius: 8px;\n z-index: 100;\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-MD-3);\n box-shadow: var(--SEAT-SELECTION-BOX-SHADOW);\n position: sticky;\n bottom: 0;\n background-color: rgb(var(--WHITE));\n }\n\n@media screen and (min-width: 768px) {\n .duffel-components .seat-selection {\n width: calc(100vw - 2 * 56px);\n overflow: hidden;\n }\n\n .duffel-components .seat-selection__content {\n height: auto;\n padding: 0;\n flex-direction: row;\n align-items: initial;\n max-height: calc(100vh - 115px);\n }\n\n .duffel-components .seat-selection__confirmation {\n padding: var(--SPACING-LG-1);\n box-shadow: none;\n }\n\n .duffel-components .seat-selection__content-child--passengers {\n overflow: auto;\n border-right: 1px solid var(--GREY-200);\n display: flex;\n flex-direction: column;\n position: sticky;\n top: 0;\n flex: 1 0 auto;\n min-width: 415px;\n }\n\n .duffel-components .seat-selection__content-child--passengers > div:not(.passenger-selection) {\n margin-left: var(--SPACING-LG-1);\n }\n\n .duffel-components .seat-selection__content-child--map {\n height: auto;\n align-items: center;\n overflow: auto;\n }\n}\n");var ie=function(n){var t=n.seatMaps,a=n.offer,r=n.passengers,o=n.initialSeatSelection,i=n.initialSegmentId,s=n.onSubmit,l=n.currencyConversion,d=r.sort((function(e,n){return e.id.localeCompare(n.id)})),u=function(e,n){if((null==n?void 0:n.rate)&&(null==n?void 0:n.currency)){var t=v.default(e);return t.forEach((function(e){return e.cabins.forEach((function(e){return e.rows.forEach((function(e){return e.sections.forEach((function(e){return e.elements.forEach((function(e){"seat"===e.type&&e.available_services.map((function(e){e.total_amount=(parseInt(e.total_amount)*n.rate).toFixed(2).toString(),e.total_currency=n.currency}))}))}))}))}))})),t}return e}(t,l),f=_(c.useState("Next Passenger"),2),m=f[0],g=f[1],x=_(c.useState(""),2),N=x[0],S=x[1],y=_(c.useState(i||""),2),I=y[0],E=y[1],A=_(c.useState(""),2),G=A[0],j=A[1],w=_(c.useState(""),2),O=w[0],L=w[1],P=_(c.useState(o||{}),2),H=P[0],k=P[1],z=_(c.useState(r.length>0?d[0].id:""),2),U=z[0],V=z[1],q=a.slices.length>0&&a.slices[0],D=q&&q.segments.length>0&&q.segments[0].id,W=_(c.useState(i||D||""),2),K=W[0],$=W[1],J=_(c.useState("default"),2),ee=J[0],ne=J[1],te=_(c.useState({seat:null,service:void 0}),2),re=te[0],ie=te[1],se=_(c.useState(!0),2),le=se[0],de=se[1],ce=_(c.useState([]),2),ue=ce[0],fe=ce[1];p.default.polyfill();var pe=T(),me=c.useMemo((function(){return a.slices.map((function(e){return e.segments})).flat().filter((function(e){return t.map((function(e){return e.segment_id})).includes(e.id)}))}),[a,t]),ve=c.useMemo((function(){return d.map((function(e){return e.id})).sort((function(e,n){return e.localeCompare(n)}))}),[d]);c.useMemo((function(){if(Object.keys(H).length<=0){var e=new Map(me.map((function(e){var n=new Map(e.passengers.map((function(e){return[e.passenger_id,null]})));return[e.id,Object.fromEntries(new Map(b([],_(n.entries())).sort((function(e,n){return e[0].localeCompare(n[0])}))))]}))),n=Object.fromEntries(e);n&&k(n)}}),[H,me]);var ge=c.useMemo((function(){return me.find((function(e){return e.id===K}))||{}}),[me,K]);c.useEffect((function(){var e=function(){window.innerWidth<1024&&"small"!==ee?ne("small"):window.innerWidth>=1024&&"default"!==ee&&ne("default")};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[ee]),c.useEffect((function(){var e=function(e,n){return Object.keys(n).reduce((function(n,t){var a,r=e.passengers;if(r){if(!(r.length>0)){var o=n,i=t;return o[i],h(o,["symbol"==typeof i?i:i+""])}var s=[];r.forEach((function(e){s.push(e.passenger_id)})),n=C(C({},n),((a={})[t]=s.sort((function(e,n){return e.localeCompare(n)})),a))}return n}),{})}(ge,H),n=Object.keys(e),t=Z(n,ge.id),a=e[K].indexOf(U),r=Z(e[K],U),o=e[K][r],i=Object.keys(H).indexOf(K);return 0===n.length?g("Continue"):(j(o),a===ge.passengers.length-1?i===n.length-1?g("Continue"):(S(n[t]),g("Next Flight")):g("Next Passenger"))}),[ge,H,U,K]);var Ce=c.useMemo((function(){return d.find((function(e){if(e.id===U)return{id:e.id,name:e.name||void 0}}))}),[d,U]);if(0===d.length||!q||0===a.slices[0].segments.length)return null;var he,xe,_e,be,Ne,Se=function(){var e=Object.keys(H[K]);if(e[0]===U){de(!0),$(I);var n=Object.keys(H[I])[e.length-1];V(n)}else{var t=ve.indexOf(U);0!==t&&V(ve[t-1])}var a=H[I][O],r=ue.map((function(e){return e})).find((function(e){return e.segment===I&&e.seat.designator===(null==a?void 0:a.designator)}));r&&ie({seat:r.seat,service:r.service})};return e.jsx(Y.Provider,C({value:{offer:a,segments:me,seatMaps:u,passengers:d,segmentId:K,passengerId:U,currentSelectedPassenger:Ce,currentSelectedSegment:ge,seatSelection:H,size:ee,onSelectSeat:function(e){var n,t,a=Object.assign({},H,((n={})[K]=Object.assign({},H[K],((t={})[U]=C({},e),t)),n));k(a)},onSelectPassenger:function(e,n){V(e),$(n);var t,a,r=H[n]&&H[n][e];if(r&&null!==r.designator){var o=document.getElementById(r.designator);o&&(t=o.getBoundingClientRect(),a=Math.max(document.documentElement.clientHeight,window.innerHeight),t.bottom<0||t.top-a>=0)&&(null==o||o.scrollIntoView({behavior:"smooth",block:"center"}))}},currentSeat:re,setCurrentSeat:ie,setIsLoading:de,extendedSeatInfo:ue,setExtendedSeatInfo:fe,currency:(null==l?void 0:l.currency)&&(null==l?void 0:l.rate)?l.currency:a.total_currency}},{children:e.jsx("div",C({className:"duffel-components"},{children:e.jsxs("div",C({className:"seat-selection"},{children:[e.jsxs("div",C({className:"seat-selection__content"},{children:[!R(pe)&&e.jsx("aside",C({className:"seat-selection__content-child seat-selection__content-child--passengers"},{children:e.jsx(X,{},void 0)}),void 0),e.jsx("div",C({className:"seat-selection__content-child seat-selection__content-child--map"},{children:le?(_e=ge.origin.iata_code||"",be=ge.destination.iata_code||"",Ne=ge.duration&&function(e){var n=e.match(B);return n?((n[1]&&"0"!==n[1]?n[1]+"d":"")+" "+(n[2]&&"0"!==n[2]?n[2].toString().padStart(2,"0")+"h":"")+" "+(n[3]&&"0"!==n[3]?n[3].toString().padStart(2,"0")+"m":"")).trim():e}(ge.duration)||"",e.jsx(F,{origin:_e,destination:be,duration:Ne,done:function(){return de(!1)}},void 0)):e.jsx(M,{children:e.jsx(ae,{},void 0)},void 0)}),void 0)]}),void 0),(he=re.seat,xe=re.service,null!==he&&R(pe)&&H[K]&&null!==H[K][U]?e.jsx("div",C({className:"seat-selection__mobile-seat-info"},{children:e.jsx(Q,{seat:he,service:xe},void 0)}),void 0):null),e.jsx("div",C({className:"seat-selection__confirmation"},{children:function(){var n=K===D&&U===d[0].id||!1;switch(m){case"Continue":return e.jsx(oe,{onClick:function(){var e;s(H),e=me[0],V(e.passengers[0].passenger_id),$(e.id)},onBackClick:Se,disableBackButton:n,primaryButtonCopy:m},void 0);case"Next Flight":return e.jsx(oe,{onClick:function(){de(!0),E(K),V(G),$(N)},onBackClick:Se,disableBackButton:n,primaryButtonCopy:R(pe)?"Next":m,iconAfter:{iconAfter:"chevron"}},void 0);default:return e.jsx(oe,{onClick:function(){L(U),V(G)},onBackClick:Se,disableBackButton:n,iconAfter:{iconAfter:"chevron"},primaryButtonCopy:R(pe)?"Next":m},void 0)}}()}),void 0)]}),void 0)}),void 0)}),void 0)},se=function(n){return e.jsx(M,{children:e.jsx(ie,C({},n),void 0)},void 0)};se.propTypes={offer:f.default.shape({allowed_passenger_identity_document_types:f.default.array.isRequired,available_services:f.default.array.isRequired,base_amount:f.default.string.isRequired,base_currency:f.default.string.isRequired,conditions:f.default.object.isRequired,created_at:f.default.string.isRequired,expires_at:f.default.string.isRequired,id:f.default.string.isRequired,live_mode:f.default.bool.isRequired,owner:f.default.shape({name:f.default.string.isRequired,id:f.default.string.isRequired,iata_code:f.default.string.isRequired}).isRequired,passenger_identity_documents_required:f.default.bool.isRequired,passengers:f.default.array.isRequired,payment_requirements:f.default.shape({payment_required_by:f.default.string,price_guarantee_expires_at:f.default.string,requires_instant_payment:f.default.bool.isRequired}).isRequired,slices:f.default.array.isRequired,tax_amount:f.default.string.isRequired,tax_currency:f.default.string.isRequired,total_amount:f.default.string.isRequired,total_emissions_kg:f.default.string.isRequired,total_currency:f.default.string.isRequired,updated_at:f.default.string.isRequired}).isRequired,seatMaps:f.default.arrayOf(f.default.shape({id:f.default.string.isRequired,slice_id:f.default.string.isRequired,segment_id:f.default.string.isRequired,cabins:f.default.array.isRequired}).isRequired).isRequired,passengers:f.default.arrayOf(f.default.shape({id:f.default.string.isRequired,name:f.default.string}).isRequired).isRequired,onSubmit:f.default.func.isRequired},exports.SeatSelection=se;
//# sourceMappingURL=duffel-components.js.map
{
"name": "@duffel/components",
"version": "1.1.0",
"version": "1.2.0",
"description": "Set of pre-built UI, like seat selection, for building with Duffel API",

@@ -43,2 +43,3 @@ "main": "dist/duffel-components.js",

"classnames": "^2.3.1",
"lodash": "^4.17.21",
"prop-types": "^15.7.2",

@@ -45,0 +46,0 @@ "react": "^17.0.2",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc