@duffel/components 3.1.8--canary.8 → 3.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,14 +20,14 @@ Event: ${Ce(t)}.
20
20
  Url: ${$n(t)}`),!0)}function Ad(t,e){return t.type||!e||!e.length?!1:kd(t).some(r=>_t(r,e))}function Dd(t,e){if(t.type!=="transaction"||!e||!e.length)return!1;let r=t.transaction;return r?_t(r,e):!1}function Md(t,e){if(!e||!e.length)return!1;let r=$n(t);return r?_t(r,e):!1}function wd(t,e){if(!e||!e.length)return!0;let r=$n(t);return r?_t(r,e):!0}function kd(t){let e=[];t.message&&e.push(t.message);let r;try{r=t.exception.values[t.exception.values.length-1]}catch{}return r&&r.value&&(e.push(r.value),r.type&&e.push(`${r.type}: ${r.value}`)),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&e.length===0&&p.error(`Could not extract message for event ${Ce(t)}`),e}function Bd(t){try{return t.exception.values[0].type==="SentryError"}catch{}return!1}function Ld(t=[]){for(let e=t.length-1;e>=0;e--){let r=t[e];if(r&&r.filename!=="<anonymous>"&&r.filename!=="[native code]")return r.filename||null}return null}function $n(t){try{let e;try{e=t.exception.values[0].stacktrace.frames}catch{}return e?Ld(e):null}catch{return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.error(`Cannot extract url for event ${Ce(t)}`),null}}var Fd="cause",Hd=5,Lt=class{static __initStatic(){this.id="LinkedErrors"}constructor(e={}){this._key=e.key||Fd,this._limit=e.limit||Hd,this.name=Lt.id}setupOnce(){}preprocessEvent(e,r,n){let o=n.getOptions();kr(ai,o.stackParser,o.maxValueLength,this._key,this._limit,e,r)}};Lt.__initStatic();var T=O,gi=0;function _i(){return gi>0}function Qd(){gi++,setTimeout(()=>{gi--})}function Et(t,e={},r){if(typeof t!="function")return t;try{let o=t.__sentry_wrapped__;if(o)return o;if(wt(t))return t}catch{return t}let n=function(){let o=Array.prototype.slice.call(arguments);try{r&&typeof r=="function"&&r.apply(this,arguments);let i=o.map(a=>Et(a,e));return t.apply(this,i)}catch(i){throw Qd(),Yn(a=>{a.addEventProcessor(s=>(e.mechanism&&(Zt(s,void 0,void 0),Xe(s,e.mechanism)),s.extra={...s.extra,arguments:o},s)),ar(i)}),i}};try{for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])}catch{}Tn(n,t),Ke(t,"__sentry_wrapped__",n);try{Object.getOwnPropertyDescriptor(n,"name").configurable&&Object.defineProperty(n,"name",{get(){return t.name}})}catch{}return n}function yi(t,e){let r=Ei(t,e),n={type:e&&e.name,value:nf(e)};return r.length&&(n.stacktrace={frames:r}),n.type===void 0&&n.value===""&&(n.value="Unrecoverable error caught"),n}function ef(t,e,r,n){let i=b().getClient(),a=i&&i.getOptions().normalizeDepth,s={exception:{values:[{type:Dt(e)?e.constructor.name:n?"UnhandledRejection":"Error",value:of(e,{isUnhandledRejection:n})}]},extra:{__serialized__:wn(e,a)}};if(r){let c=Ei(t,r);c.length&&(s.exception.values[0].stacktrace={frames:c})}return s}function hi(t,e){return{exception:{values:[yi(t,e)]}}}function Ei(t,e){let r=e.stacktrace||e.stack||"",n=rf(e);try{return t(r,n)}catch{}return[]}var tf=/Minified React error #\d+;/i;function rf(t){if(t){if(typeof t.framesToPop=="number")return t.framesToPop;if(tf.test(t.message))return 1}return 0}function nf(t){let e=t&&t.message;return e?e.error&&typeof e.error.message=="string"?e.error.message:e:"No error message"}function is(t,e,r,n){let o=r&&r.syntheticException||void 0,i=Wn(t,e,o,n);return Xe(i),i.level="error",r&&r.event_id&&(i.event_id=r.event_id),fe(i)}function as(t,e,r="info",n,o){let i=n&&n.syntheticException||void 0,a=Si(t,e,i,o);return a.level=r,n&&n.event_id&&(a.event_id=n.event_id),fe(a)}function Wn(t,e,r,n,o){let i;if(jt(e)&&e.error)return hi(t,e.error);if(Sn(e)||Ro(e)){let a=e;if("stack"in e)i=hi(t,e);else{let s=a.name||(Sn(a)?"DOMError":"DOMException"),c=a.message?`${s}: ${a.message}`:s;i=Si(t,c,r,n),Zt(i,c)}return"code"in a&&(i.tags={...i.tags,"DOMException.code":`${a.code}`}),i}return Dr(e)?hi(t,e):Ee(e)||Dt(e)?(i=ef(t,e,r,o),Xe(i,{synthetic:!0}),i):(i=Si(t,e,r,n),Zt(i,`${e}`,void 0),Xe(i,{synthetic:!0}),i)}function Si(t,e,r,n){let o={message:e};if(n&&r){let i=Ei(t,r);i.length&&(o.exception={values:[{value:e,stacktrace:{frames:i}}]})}return o}function of(t,{isUnhandledRejection:e}){let r=wo(t),n=e?"promise rejection":"exception";return jt(t)?`Event \`ErrorEvent\` captured as ${n} with message \`${t.message}\``:Dt(t)?`Event \`${af(t)}\` (type=${t.type}) captured as ${n}`:`Object captured as ${n} with keys: ${r}`}function af(t){try{let e=Object.getPrototypeOf(t);return e?e.constructor.name:void 0}catch{}}function ss(t,{metadata:e,tunnel:r,dsn:n}){let o={event_id:t.event_id,sent_at:new Date().toISOString(),...e&&e.sdk&&{sdk:{name:e.sdk.name,version:e.sdk.version}},...!!r&&!!n&&{dsn:Le(n)}},i=sf(t);return Fe(o,[i])}function sf(t){return[{type:"user_report"},t]}var Vn=class extends Zr{constructor(e){let r=T.SENTRY_SDK_SOURCE||$o();e._metadata=e._metadata||{},e._metadata.sdk=e._metadata.sdk||{name:"sentry.javascript.browser",packages:[{name:`${r}:@sentry/browser`,version:Kr}],version:Kr},super(e),e.sendClientReports&&T.document&&T.document.addEventListener("visibilitychange",()=>{T.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(e,r){return is(this._options.stackParser,e,r,this._options.attachStacktrace)}eventFromMessage(e,r="info",n){return as(this._options.stackParser,e,r,n,this._options.attachStacktrace)}captureUserFeedback(e){if(!this._isEnabled()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("SDK not enabled, will not capture user feedback.");return}let r=ss(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(r)}_prepareEvent(e,r,n){return e.platform=e.platform||"javascript",super._prepareEvent(e,r,n)}_flushOutcomes(){let e=this._clearOutcomes();if(e.length===0){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("No outcomes to send");return}if(!this._dsn){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("No dsn provided, will not send outcomes");return}(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("Sending outcomes:",e);let r=ni(e,this._options.tunnel&&Le(this._dsn));this._sendEnvelope(r)}};var Xr;function cs(){if(Xr)return Xr;if(Hr(T.fetch))return Xr=T.fetch.bind(T);let t=T.document,e=T.fetch;if(t&&typeof t.createElement=="function")try{let r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r);let n=r.contentWindow;n&&n.fetch&&(e=n.fetch),t.head.removeChild(r)}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return Xr=e.bind(T)}function ls(){Xr=void 0}function us(t,e=cs()){let r=0,n=0;function o(i){let a=i.body.length;r+=a,n++;let s={body:i.body,method:"POST",referrerPolicy:"origin",headers:t.headers,keepalive:r<=6e4&&n<15,...t.fetchOptions};try{return e(t.url,s).then(c=>(r-=a,n--,{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}))}catch(c){return ls(),r-=a,n--,kt(c)}}return sr(t,o)}var cf=4;function ds(t){function e(r){return new U((n,o)=>{let i=new XMLHttpRequest;i.onerror=o,i.onreadystatechange=()=>{i.readyState===cf&&n({statusCode:i.status,headers:{"x-sentry-rate-limits":i.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":i.getResponseHeader("Retry-After")}})},i.open("POST",t.url);for(let a in t.headers)Object.prototype.hasOwnProperty.call(t.headers,a)&&i.setRequestHeader(a,t.headers[a]);i.send(r.body)})}return sr(t,e)}var jn="?";var lf=30,uf=40,df=50;function vi(t,e,r,n){let o={filename:t,function:e,in_app:!0};return r!==void 0&&(o.lineno=r),n!==void 0&&(o.colno=n),o}var ff=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,pf=/\((\S*)(?::(\d+))(?::(\d+))\)/,mf=t=>{let e=ff.exec(t);if(e){if(e[2]&&e[2].indexOf("eval")===0){let i=pf.exec(e[2]);i&&(e[2]=i[1],e[3]=i[2],e[4]=i[3])}let[n,o]=ps(e[1]||jn,e[2]);return vi(o,n,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}},gf=[lf,mf],_f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,hf=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Sf=t=>{let e=_f.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){let i=hf.exec(e[3]);i&&(e[1]=e[1]||"eval",e[3]=i[1],e[4]=i[2],e[5]="")}let n=e[3],o=e[1]||jn;return[o,n]=ps(o,n),vi(n,o,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},yf=[df,Sf],Ef=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,vf=t=>{let e=Ef.exec(t);return e?vi(e[2],e[1]||jn,+e[3],e[4]?+e[4]:void 0):void 0},Cf=[uf,vf];var bf=[gf,yf,Cf],fs=xn(...bf),ps=(t,e)=>{let r=t.indexOf("safari-extension")!==-1,n=t.indexOf("safari-web-extension")!==-1;return r||n?[t.indexOf("@")!==-1?t.split("@")[0]:jn,r?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]};var xe=class{static __initStatic(){this.id="GlobalHandlers"}constructor(e){this.name=xe.id,this._options={onerror:!0,onunhandledrejection:!0,...e},this._installFunc={onerror:Tf,onunhandledrejection:Rf}}setupOnce(){Error.stackTraceLimit=50;let e=this._options;for(let r in e){let n=this._installFunc[r];n&&e[r]&&(Nf(r),n(),this._installFunc[r]=void 0)}}};xe.__initStatic();function Tf(){H("error",t=>{let[e,r,n]=_s();if(!e.getIntegration(xe))return;let{msg:o,url:i,line:a,column:s,error:c}=t;if(_i()||c&&c.__sentry_own_request__)return;let l=c===void 0&&oe(o)?xf(o,i,a,s):ms(Wn(r,c||o,void 0,n,!1),i,a,s);l.level="error",gs(e,c,l,"onerror")})}function Rf(){H("unhandledrejection",t=>{let[e,r,n]=_s();if(!e.getIntegration(xe))return;let o=t;try{"reason"in t?o=t.reason:"detail"in t&&"reason"in t.detail&&(o=t.detail.reason)}catch{}if(_i()||o&&o.__sentry_own_request__)return!0;let i=qt(o)?If(o):Wn(r,o,void 0,n,!0);i.level="error",gs(e,o,i,"onunhandledrejection")})}function If(t){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`}]}}}function xf(t,e,r,n){let o=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,i=jt(t)?t.message:t,a="Error",s=i.match(o);return s&&(a=s[1],i=s[2]),ms({exception:{values:[{type:a,value:i}]}},e,r,n)}function ms(t,e,r,n){let o=t.exception=t.exception||{},i=o.values=o.values||[],a=i[0]=i[0]||{},s=a.stacktrace=a.stacktrace||{},c=s.frames=s.frames||[],l=isNaN(parseInt(n,10))?void 0:n,d=isNaN(parseInt(r,10))?void 0:r,u=oe(e)&&e.length>0?e:Po();return c.length===0&&c.push({colno:l,filename:u,function:"?",in_app:!0,lineno:d}),t}function Nf(t){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`Global Handler attached: ${t}`)}function gs(t,e,r,n){Xe(r,{handled:!1,type:n}),t.captureEvent(r,{originalException:e})}function _s(){let t=b(),e=t.getClient(),r=e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,r.stackParser,r.attachStacktrace]}var Of=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],rt=class{static __initStatic(){this.id="TryCatch"}constructor(e){this.name=rt.id,this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e}}setupOnce(){this._options.setTimeout&&F(T,"setTimeout",hs),this._options.setInterval&&F(T,"setInterval",hs),this._options.requestAnimationFrame&&F(T,"requestAnimationFrame",Pf),this._options.XMLHttpRequest&&"XMLHttpRequest"in T&&F(XMLHttpRequest.prototype,"send",Af);let e=this._options.eventTarget;e&&(Array.isArray(e)?e:Of).forEach(Df)}};rt.__initStatic();function hs(t){return function(...e){let r=e[0];return e[0]=Et(r,{mechanism:{data:{function:ae(t)},handled:!1,type:"instrument"}}),t.apply(this,e)}}function Pf(t){return function(e){return t.apply(this,[Et(e,{mechanism:{data:{function:"requestAnimationFrame",handler:ae(t)},handled:!1,type:"instrument"}})])}}function Af(t){return function(...e){let r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in r&&typeof r[o]=="function"&&F(r,o,function(i){let a={mechanism:{data:{function:o,handler:ae(i)},handled:!1,type:"instrument"}},s=wt(i);return s&&(a.mechanism.data.handler=ae(s)),Et(i,a)})}),t.apply(this,e)}}function Df(t){let e=T,r=e[t]&&e[t].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(F(r,"addEventListener",function(n){return function(o,i,a){try{typeof i.handleEvent=="function"&&(i.handleEvent=Et(i.handleEvent,{mechanism:{data:{function:"handleEvent",handler:ae(i),target:t},handled:!1,type:"instrument"}}))}catch{}return n.apply(this,[o,Et(i,{mechanism:{data:{function:"addEventListener",handler:ae(i),target:t},handled:!1,type:"instrument"}}),a])}}),F(r,"removeEventListener",function(n){return function(o,i,a){let s=i;try{let c=s&&s.__sentry_wrapped__;c&&n.call(this,o,c,a)}catch{}return n.call(this,o,s,a)}}))}var qn=1024,nt=class{static __initStatic(){this.id="Breadcrumbs"}constructor(e){this.name=nt.id,this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e}}setupOnce(){if(this.options.console&&H("console",kf),this.options.dom&&H("dom",wf(this.options.dom)),this.options.xhr&&H("xhr",Bf),this.options.fetch&&H("fetch",Lf),this.options.history&&H("history",Ff),this.options.sentry){let e=b().getClient();e&&e.on&&e.on("beforeSendEvent",Mf)}}};nt.__initStatic();function Mf(t){b().addBreadcrumb({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:Ce(t)},{event:t})}function wf(t){function e(r){let n,o=typeof t=="object"?t.serializeAttribute:void 0,i=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;i&&i>qn&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`\`dom.maxStringLength\` cannot exceed ${qn}, but a value of ${i} was configured. Sentry will use ${qn} instead.`),i=qn),typeof o=="string"&&(o=[o]);try{let a=r.event;n=Hf(a)?Be(a.target,{keyAttrs:o,maxStringLength:i}):Be(a,{keyAttrs:o,maxStringLength:i})}catch{n="<unknown>"}n.length!==0&&b().addBreadcrumb({category:`ui.${r.name}`,message:n},{event:r.event,name:r.name,global:r.global})}return e}function kf(t){let e={category:"console",data:{arguments:t.args,logger:"console"},level:Vo(t.level),message:yn(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)e.message=`Assertion failed: ${yn(t.args.slice(1)," ")||"console.assert"}`,e.data.arguments=t.args.slice(1);else return;b().addBreadcrumb(e,{input:t.args,level:t.level})}function Bf(t){let{startTimestamp:e,endTimestamp:r}=t,n=t.xhr[Je];if(!e||!r||!n)return;let{method:o,url:i,status_code:a,body:s}=n,c={method:o,url:i,status_code:a},l={xhr:t.xhr,input:s,startTimestamp:e,endTimestamp:r};b().addBreadcrumb({category:"xhr",data:c,type:"http"},l)}function Lf(t){let{startTimestamp:e,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.error){let n=t.fetchData,o={data:t.error,input:t.args,startTimestamp:e,endTimestamp:r};b().addBreadcrumb({category:"fetch",data:n,level:"error",type:"http"},o)}else{let n={...t.fetchData,status_code:t.response&&t.response.status},o={input:t.args,response:t.response,startTimestamp:e,endTimestamp:r};b().addBreadcrumb({category:"fetch",data:n,type:"http"},o)}}function Ff(t){let e=t.from,r=t.to,n=Gr(T.location.href),o=Gr(e),i=Gr(r);o.path||(o=n),n.protocol===i.protocol&&n.host===i.host&&(r=i.relative),n.protocol===o.protocol&&n.host===o.host&&(e=o.relative),b().addBreadcrumb({category:"navigation",data:{from:e,to:r}})}function Hf(t){return!!t&&!!t.target}var Uf="cause",Gf=5,ot=class{static __initStatic(){this.id="LinkedErrors"}constructor(e={}){this.name=ot.id,this._key=e.key||Uf,this._limit=e.limit||Gf}setupOnce(){}preprocessEvent(e,r,n){let o=n.getOptions();kr(yi,o.stackParser,o.maxValueLength,this._key,this._limit,e,r)}};ot.__initStatic();var it=class{static __initStatic(){this.id="HttpContext"}constructor(){this.name=it.id}setupOnce(){}preprocessEvent(e){if(!T.navigator&&!T.location&&!T.document)return;let r=e.request&&e.request.url||T.location&&T.location.href,{referrer:n}=T.document||{},{userAgent:o}=T.navigator||{},i={...e.request&&e.request.headers,...n&&{Referer:n},...o&&{"User-Agent":o}},a={...e.request,...r&&{url:r},headers:i};e.request=a}};it.__initStatic();var at=class{static __initStatic(){this.id="Dedupe"}constructor(){this.name=at.id}setupOnce(e,r){}processEvent(e){if(e.type)return e;try{if(Yf(e,this._previousEvent))return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return this._previousEvent=e}};at.__initStatic();function Yf(t,e){return e?!!($f(t,e)||Wf(t,e)):!1}function $f(t,e){let r=t.message,n=e.message;return!(!r&&!n||r&&!n||!r&&n||r!==n||!vs(t,e)||!Es(t,e))}function Wf(t,e){let r=Ss(e),n=Ss(t);return!(!r||!n||r.type!==n.type||r.value!==n.value||!vs(t,e)||!Es(t,e))}function Es(t,e){let r=ys(t),n=ys(e);if(!r&&!n)return!0;if(r&&!n||!r&&n||(r=r,n=n,n.length!==r.length))return!1;for(let o=0;o<n.length;o++){let i=n[o],a=r[o];if(i.filename!==a.filename||i.lineno!==a.lineno||i.colno!==a.colno||i.function!==a.function)return!1}return!0}function vs(t,e){let r=t.fingerprint,n=e.fingerprint;if(!r&&!n)return!0;if(r&&!n||!r&&n)return!1;r=r,n=n;try{return r.join("")===n.join("")}catch{return!1}}function Ss(t){return t.exception&&t.exception.values&&t.exception.values[0]}function ys(t){let e=t.exception;if(e)try{return e.values[0].stacktrace.frames}catch{return}}var bs=[new Ft.InboundFilters,new Ft.FunctionToString,new rt,new nt,new xe,new ot,new at,new it];function Ci(t={}){t.defaultIntegrations===void 0&&(t.defaultIntegrations=bs),t.release===void 0&&(typeof __SENTRY_RELEASE__=="string"&&(t.release=__SENTRY_RELEASE__),T.SENTRY_RELEASE&&T.SENTRY_RELEASE.id&&(t.release=T.SENTRY_RELEASE.id)),t.autoSessionTracking===void 0&&(t.autoSessionTracking=!0),t.sendClientReports===void 0&&(t.sendClientReports=!0);let e={...t,stackParser:Bo(t.stackParser||fs),integrations:fi(t),transport:t.transport||(Nn()?us:ds)};mi(Vn,e),t.autoSessionTracking&&Vf()}function Cs(t){t.startSession({ignoreDuration:!0}),t.captureSession()}function Vf(){if(typeof T.document>"u"){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("Session tracking in non-browser environment with @sentry/browser is not supported.");return}let t=b();t.captureSession&&(Cs(t),H("history",({from:e,to:r})=>{e===void 0||e===r||Cs(b())}))}var bi={};To(bi,{Breadcrumbs:()=>nt,Dedupe:()=>at,GlobalHandlers:()=>xe,HttpContext:()=>it,LinkedErrors:()=>ot,TryCatch:()=>rt});var R=O;function Ts(){R&&R.document?R.document.addEventListener("visibilitychange",()=>{let t=Ie();if(R.document.hidden&&t){let e="cancelled";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${t.op}`),t.status||t.setStatus(e),t.setTag("visibilitychange","document.hidden"),t.finish()}}):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("[Tracing] Could not set up background tab detection due to lack of global document")}var cr=(t,e,r)=>{let n,o;return i=>{e.value>=0&&(i||r)&&(o=e.value-(n||0),(o||n===void 0)&&(n=e.value,e.delta=o,t(e)))}};var Rs=()=>`v3-${Date.now()}-${Math.floor(Math.random()*8999999999999)+1e12}`;var jf=()=>{let t=R.performance.timing,e=R.performance.navigation.type,r={entryType:"navigation",startTime:0,type:e==2?"back_forward":e===1?"reload":"navigate"};for(let n in t)n!=="navigationStart"&&n!=="toJSON"&&(r[n]=Math.max(t[n]-t.navigationStart,0));return r},zn=()=>R.__WEB_VITALS_POLYFILL__?R.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||jf()):R.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0];var Zn=()=>{let t=zn();return t&&t.activationStart||0};var lr=(t,e)=>{let r=zn(),n="navigate";return r&&(R.document.prerendering||Zn()>0?n="prerender":n=r.type.replace(/_/g,"-")),{name:t,value:typeof e>"u"?-1:e,rating:"good",delta:0,entries:[],id:Rs(),navigationType:n}};var vt=(t,e,r)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){let n=new PerformanceObserver(o=>{e(o.getEntries())});return n.observe(Object.assign({type:t,buffered:!0},r||{})),n}}catch{}};var Ct=(t,e)=>{let r=n=>{(n.type==="pagehide"||R.document.visibilityState==="hidden")&&(t(n),e&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))};addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)};var Is=t=>{let e=lr("CLS",0),r,n=0,o=[],i=s=>{s.forEach(c=>{if(!c.hadRecentInput){let l=o[0],d=o[o.length-1];n&&o.length!==0&&c.startTime-d.startTime<1e3&&c.startTime-l.startTime<5e3?(n+=c.value,o.push(c)):(n=c.value,o=[c]),n>e.value&&(e.value=n,e.entries=o,r&&r())}})},a=vt("layout-shift",i);if(a){r=cr(t,e);let s=()=>{i(a.takeRecords()),r(!0)};return Ct(s),s}};var Kn=-1,qf=()=>R.document.visibilityState==="hidden"&&!R.document.prerendering?0:1/0,zf=()=>{Ct(({timeStamp:t})=>{Kn=t},!0)},ur=()=>(Kn<0&&(Kn=qf(),zf()),{get firstHiddenTime(){return Kn}});var xs=t=>{let e=ur(),r=lr("FID"),n,o=s=>{s.startTime<e.firstHiddenTime&&(r.value=s.processingStart-s.startTime,r.entries.push(s),n(!0))},i=s=>{s.forEach(o)},a=vt("first-input",i);n=cr(t,r),a&&Ct(()=>{i(a.takeRecords()),a.disconnect()},!0)};var Ns={},Os=t=>{let e=ur(),r=lr("LCP"),n,o=a=>{let s=a[a.length-1];if(s){let c=Math.max(s.startTime-Zn(),0);c<e.firstHiddenTime&&(r.value=c,r.entries=[s],n())}},i=vt("largest-contentful-paint",o);if(i){n=cr(t,r);let a=()=>{Ns[r.id]||(o(i.takeRecords()),i.disconnect(),Ns[r.id]=!0,n(!0))};return["keydown","click"].forEach(s=>{addEventListener(s,a,{once:!0,capture:!0})}),Ct(a,!0),a}};var Jr={},Xn={},Ps,As,Ds;function Ms(t){return Ti("cls",t,Zf,Ps)}function ws(t){return Ti("lcp",t,Xf,Ds)}function ks(t){return Ti("fid",t,Kf,As)}function Qr(t,e){return Bs(t,e),Xn[t]||(Jf(t),Xn[t]=!0),Ls(t,e)}function Jn(t,e){let r=Jr[t];if(!(!r||!r.length))for(let n of r)try{n(e)}catch(o){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.error(`Error while triggering instrumentation handler.
21
21
  Type: ${t}
22
22
  Name: ${ae(n)}
23
- Error:`,o)}}function Zf(){Is(t=>{Jn("cls",{metric:t}),Ps=t})}function Kf(){xs(t=>{Jn("fid",{metric:t}),As=t})}function Xf(){Os(t=>{Jn("lcp",{metric:t}),Ds=t})}function Ti(t,e,r,n){return Bs(t,e),Xn[t]||(r(),Xn[t]=!0),n&&e({metric:n}),Ls(t,e)}function Jf(t){let e={};t==="event"&&(e.durationThreshold=0),vt(t,r=>{Jn(t,{entries:r})},e)}function Bs(t,e){Jr[t]=Jr[t]||[],Jr[t].push(e)}function Ls(t,e){return()=>{let r=Jr[t];if(!r)return;let n=r.indexOf(e);n!==-1&&r.splice(n,1)}}function Qn(t){return typeof t=="number"&&isFinite(t)}function Ht(t,{startTimestamp:e,...r}){return e&&t.startTimestamp>e&&(t.startTimestamp=e),t.startChild({startTimestamp:e,...r})}function $(t){return t/1e3}function Hs(){return R&&R.addEventListener&&R.performance}var Fs=0,w={},He,en;function Us(){let t=Hs();if(t&&se){t.mark&&R.performance.mark("sentry-tracing-init");let e=tp(),r=Qf(),n=ep();return()=>{e(),r(),n()}}return()=>{}}function Gs(){Qr("longtask",({entries:t})=>{for(let e of t){let r=Ie();if(!r)return;let n=$(se+e.startTime),o=$(e.duration);r.startChild({description:"Main UI thread blocked",op:"ui.long-task",origin:"auto.ui.browser.metrics",startTimestamp:n,endTimestamp:n+o})}})}function Ys(){Qr("event",({entries:t})=>{for(let e of t){let r=Ie();if(!r)return;if(e.name==="click"){let n=$(se+e.startTime),o=$(e.duration);r.startChild({description:Be(e.target),op:`ui.interaction.${e.name}`,origin:"auto.ui.browser.metrics",startTimestamp:n,endTimestamp:n+o})}}})}function Qf(){return Ms(({metric:t})=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding CLS"),w.cls={value:t.value,unit:""},en=e)})}function ep(){return ws(({metric:t})=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding LCP"),w.lcp={value:t.value,unit:"millisecond"},He=e)})}function tp(){return ks(({metric:t})=>{let e=t.entries.pop();if(!e)return;let r=$(se),n=$(e.startTime);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FID"),w.fid={value:t.value,unit:"millisecond"},w["mark.fid"]={value:r+n,unit:"second"}})}function $s(t){let e=Hs();if(!e||!R.performance.getEntries||!se)return;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Tracing] Adding & adjusting spans using Performance API");let r=$(se),n=e.getEntries(),o,i;if(n.slice(Fs).forEach(a=>{let s=$(a.startTime),c=$(a.duration);if(!(t.op==="navigation"&&r+s<t.startTimestamp))switch(a.entryType){case"navigation":{np(t,a,r),o=r+$(a.responseStart),i=r+$(a.requestStart);break}case"mark":case"paint":case"measure":{rp(t,a,s,c,r);let l=ur(),d=a.startTime<l.firstHiddenTime;a.name==="first-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FP"),w.fp={value:a.startTime,unit:"millisecond"}),a.name==="first-contentful-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FCP"),w.fcp={value:a.startTime,unit:"millisecond"});break}case"resource":{let l=a.name.replace(R.location.origin,"");ip(t,a,l,s,c,r);break}}}),Fs=Math.max(n.length-1,0),ap(t),t.op==="pageload"){typeof o=="number"&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding TTFB"),w.ttfb={value:(o-t.startTimestamp)*1e3,unit:"millisecond"},typeof i=="number"&&i<=o&&(w["ttfb.requestTime"]={value:(o-i)*1e3,unit:"millisecond"})),["fcp","fp","lcp"].forEach(s=>{if(!w[s]||r>=t.startTimestamp)return;let c=w[s].value,l=r+$(c),d=Math.abs((l-t.startTimestamp)*1e3),u=d-c;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Measurements] Normalized ${s} from ${c} to ${d} (${u})`),w[s].value=d});let a=w["mark.fid"];a&&w.fid&&(Ht(t,{description:"first input delay",endTimestamp:a.value+$(w.fid.value),op:"ui.action",origin:"auto.ui.browser.metrics",startTimestamp:a.value}),delete w["mark.fid"]),"fcp"in w||delete w.cls,Object.keys(w).forEach(s=>{t.setMeasurement(s,w[s].value,w[s].unit)}),sp(t)}He=void 0,en=void 0,w={}}function rp(t,e,r,n,o){let i=o+r,a=i+n;return Ht(t,{description:e.name,endTimestamp:a,op:e.entryType,origin:"auto.resource.browser.metrics",startTimestamp:i}),i}function np(t,e,r){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(n=>{eo(t,e,n,r)}),eo(t,e,"secureConnection",r,"TLS/SSL","connectEnd"),eo(t,e,"fetch",r,"cache","domainLookupStart"),eo(t,e,"domainLookup",r,"DNS"),op(t,e,r)}function eo(t,e,r,n,o,i){let a=i?e[i]:e[`${r}End`],s=e[`${r}Start`];!s||!a||Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:o||r,startTimestamp:n+$(s),endTimestamp:n+$(a)})}function op(t,e,r){Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:"request",startTimestamp:r+$(e.requestStart),endTimestamp:r+$(e.responseEnd)}),Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:"response",startTimestamp:r+$(e.responseStart),endTimestamp:r+$(e.responseEnd)})}function ip(t,e,r,n,o,i){if(e.initiatorType==="xmlhttprequest"||e.initiatorType==="fetch")return;let a={};"transferSize"in e&&(a["http.response_transfer_size"]=e.transferSize),"encodedBodySize"in e&&(a["http.response_content_length"]=e.encodedBodySize),"decodedBodySize"in e&&(a["http.decoded_response_content_length"]=e.decodedBodySize),"renderBlockingStatus"in e&&(a["resource.render_blocking_status"]=e.renderBlockingStatus);let s=i+n,c=s+o;Ht(t,{description:r,endTimestamp:c,op:e.initiatorType?`resource.${e.initiatorType}`:"resource.other",origin:"auto.resource.browser.metrics",startTimestamp:s,data:a})}function ap(t){let e=R.navigator;if(!e)return;let r=e.connection;r&&(r.effectiveType&&t.setTag("effectiveConnectionType",r.effectiveType),r.type&&t.setTag("connectionType",r.type),Qn(r.rtt)&&(w["connection.rtt"]={value:r.rtt,unit:"millisecond"})),Qn(e.deviceMemory)&&t.setTag("deviceMemory",`${e.deviceMemory} GB`),Qn(e.hardwareConcurrency)&&t.setTag("hardwareConcurrency",String(e.hardwareConcurrency))}function sp(t){He&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding LCP Data"),He.element&&t.setTag("lcp.element",Be(He.element)),He.id&&t.setTag("lcp.id",He.id),He.url&&t.setTag("lcp.url",He.url.trim().slice(0,200)),t.setTag("lcp.size",He.size)),en&&en.sources&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding CLS Data"),en.sources.forEach((e,r)=>t.setTag(`cls.source.${r+1}`,Be(e.node))))}var Ri=["localhost",/^\/(?!\/)/],tn={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:Ri,tracePropagationTargets:Ri};function Ii(t){let{traceFetch:e,traceXHR:r,tracePropagationTargets:n,tracingOrigins:o,shouldCreateSpanForRequest:i,enableHTTPTimings:a}={traceFetch:tn.traceFetch,traceXHR:tn.traceXHR,...t},s=typeof i=="function"?i:d=>!0,c=d=>dp(d,n||o),l={};e&&H("fetch",d=>{let u=fp(d,s,c,l);a&&u&&Ws(u)}),r&&H("xhr",d=>{let u=mp(d,s,c,l);a&&u&&Ws(u)})}function cp(t){return t.entryType==="resource"&&"initiatorType"in t&&typeof t.nextHopProtocol=="string"&&(t.initiatorType==="fetch"||t.initiatorType==="xmlhttprequest")}function Ws(t){let e=t.data.url;if(!e)return;let r=Qr("resource",({entries:n})=>{n.forEach(o=>{cp(o)&&o.name.endsWith(e)&&(up(o).forEach(a=>t.setData(...a)),setTimeout(r))})})}function lp(t){let e="unknown",r="unknown",n="";for(let o of t){if(o==="/"){[e,r]=t.split("/");break}if(!isNaN(Number(o))){e=n==="h"?"http":n,r=t.split(n)[1];break}n+=o}return n===t&&(e=n),{name:e,version:r}}function Ue(t=0){return((se||performance.timeOrigin)+t)/1e3}function up(t){let{name:e,version:r}=lp(t.nextHopProtocol),n=[];return n.push(["network.protocol.version",r],["network.protocol.name",e]),se?[...n,["http.request.redirect_start",Ue(t.redirectStart)],["http.request.fetch_start",Ue(t.fetchStart)],["http.request.domain_lookup_start",Ue(t.domainLookupStart)],["http.request.domain_lookup_end",Ue(t.domainLookupEnd)],["http.request.connect_start",Ue(t.connectStart)],["http.request.secure_connection_start",Ue(t.secureConnectionStart)],["http.request.connection_end",Ue(t.connectEnd)],["http.request.request_start",Ue(t.requestStart)],["http.request.response_start",Ue(t.responseStart)],["http.request.response_end",Ue(t.responseEnd)]]:n}function dp(t,e){return _t(t,e||Ri)}function fp(t,e,r,n){if(!ir()||!t.fetchData)return;let o=e(t.fetchData.url);if(t.endTimestamp&&o){let m=t.fetchData.__span;if(!m)return;let h=n[m];if(h){if(t.response){h.setHttpStatus(t.response.status);let S=t.response&&t.response.headers&&t.response.headers.get("content-length"),y=parseInt(S);y>0&&h.setData("http.response_content_length",y)}else t.error&&h.setStatus("internal_error");h.finish(),delete n[m]}return}let i=b(),a=i.getScope(),s=i.getClient(),c=a.getSpan(),{method:l,url:d}=t.fetchData,u=o&&c?c.startChild({data:{url:d,type:"fetch","http.method":l},description:`${l} ${d}`,op:"http.client",origin:"auto.http.browser"}):void 0;if(u&&(t.fetchData.__span=u.spanId,n[u.spanId]=u),r(t.fetchData.url)&&s){let m=t.args[0];t.args[1]=t.args[1]||{};let h=t.args[1];h.headers=pp(m,s,a,h,u)}return u}function pp(t,e,r,n,o){let i=o||r.getSpan(),a=i&&i.transaction,{traceId:s,sampled:c,dsc:l}=r.getPropagationContext(),d=i?i.toTraceparent():Kt(s,void 0,c),u=a?a.getDynamicSamplingContext():l||ht(s,e,r),m=Wr(u),h=typeof Request<"u"&&de(t,Request)?t.headers:n.headers;if(h)if(typeof Headers<"u"&&de(h,Headers)){let S=new Headers(h);return S.append("sentry-trace",d),m&&S.append($r,m),S}else if(Array.isArray(h)){let S=[...h,["sentry-trace",d]];return m&&S.push([$r,m]),S}else{let S="baggage"in h?h.baggage:void 0,y=[];return Array.isArray(S)?y.push(...S):S&&y.push(S),m&&y.push(m),{...h,"sentry-trace":d,baggage:y.length>0?y.join(","):void 0}}else return{"sentry-trace":d,baggage:m}}function mp(t,e,r,n){let o=t.xhr,i=o&&o[Je];if(!ir()||o&&o.__sentry_own_request__||!o||!i)return;let a=e(i.url);if(t.endTimestamp&&a){let u=o.__sentry_xhr_span_id__;if(!u)return;let m=n[u];m&&(m.setHttpStatus(i.status_code),m.finish(),delete n[u]);return}let s=b(),c=s.getScope(),l=c.getSpan(),d=a&&l?l.startChild({data:{...i.data,type:"xhr","http.method":i.method,url:i.url},description:`${i.method} ${i.url}`,op:"http.client",origin:"auto.http.browser"}):void 0;if(d&&(o.__sentry_xhr_span_id__=d.spanId,n[o.__sentry_xhr_span_id__]=d),o.setRequestHeader&&r(i.url))if(d){let u=d&&d.transaction,m=u&&u.getDynamicSamplingContext(),h=Wr(m);Vs(o,d.toTraceparent(),h)}else{let u=s.getClient(),{traceId:m,sampled:h,dsc:S}=c.getPropagationContext(),y=Kt(m,void 0,h),M=S||(u?ht(m,u,c):void 0),N=Wr(M);Vs(o,y,N)}return d}function Vs(t,e,r){try{t.setRequestHeader("sentry-trace",e),r&&t.setRequestHeader($r,r)}catch{}}function js(t,e=!0,r=!0){if(!R||!R.location){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("Could not initialize routing instrumentation due to invalid location");return}let n=R.location.href,o;e&&(o=t({name:R.location.pathname,startTimestamp:se?se/1e3:void 0,op:"pageload",origin:"auto.pageload.browser",metadata:{source:"url"}})),r&&H("history",({to:i,from:a})=>{if(a===void 0&&n&&n.indexOf(i)!==-1){n=void 0;return}a!==i&&(n=void 0,o&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Finishing current transaction with op: ${o.op}`),o.finish()),o=t({name:R.location.pathname,op:"navigation",origin:"auto.navigation.browser",metadata:{source:"url"}}))})}var zs="BrowserTracing",gp={...or,markBackgroundTransactions:!0,routingInstrumentation:js,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{},...tn},dr=class{constructor(e){this.name=zs,this._hasSetTracePropagationTargets=!1,Un(),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(this._hasSetTracePropagationTargets=!!(e&&(e.tracePropagationTargets||e.tracingOrigins))),this.options={...gp,...e},this.options._experiments.enableLongTask!==void 0&&(this.options.enableLongTask=this.options._experiments.enableLongTask),e&&!e.tracePropagationTargets&&e.tracingOrigins&&(this.options.tracePropagationTargets=e.tracingOrigins),this._collectWebVitals=Us(),this.options.enableLongTask&&Gs(),this.options._experiments.enableInteractions&&Ys()}setupOnce(e,r){this._getCurrentHub=r;let o=r().getClient(),i=o&&o.getOptions(),{routingInstrumentation:a,startTransactionOnLocationChange:s,startTransactionOnPageLoad:c,markBackgroundTransactions:l,traceFetch:d,traceXHR:u,shouldCreateSpanForRequest:m,enableHTTPTimings:h,_experiments:S}=this.options,y=i&&i.tracePropagationTargets,M=y||this.options.tracePropagationTargets;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._hasSetTracePropagationTargets&&y&&p.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."),a(N=>{let C=this._createRouteTransaction(N);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(C,N,r),C},c,s),l&&Ts(),S.enableInteractions&&this._registerInteractionListener(),Ii({traceFetch:d,traceXHR:u,tracePropagationTargets:M,shouldCreateSpanForRequest:m,enableHTTPTimings:h})}_createRouteTransaction(e){if(!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${e.op} transaction because _getCurrentHub is invalid.`);return}let r=this._getCurrentHub(),{beforeNavigate:n,idleTimeout:o,finalTimeout:i,heartbeatInterval:a}=this.options,s=e.op==="pageload",c=s?qs("sentry-trace"):"",l=s?qs("baggage"):"",{traceparentData:d,dynamicSamplingContext:u,propagationContext:m}=Xo(c,l),h={...e,...d,metadata:{...e.metadata,dynamicSamplingContext:d&&!u?{}:u},trimEnd:!0},S=typeof n=="function"?n(h):h,y=S===void 0?{...h,sampled:!1}:S;y.metadata=y.name!==h.name?{...y.metadata,source:"custom"}:y.metadata,this._latestRouteName=y.name,this._latestRouteSource=y.metadata&&y.metadata.source,y.sampled===!1&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Will not send ${y.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Starting ${y.op} transaction on scope`);let{location:M}=R,N=Hn(r,y,o,i,!0,{location:M},a),C=r.getScope();return s&&d?C.setPropagationContext(m):C.setPropagationContext({traceId:N.traceId,spanId:N.spanId,parentSpanId:N.parentSpanId,sampled:N.sampled}),N.registerBeforeFinishCallback(ce=>{this._collectWebVitals(),$s(ce)}),N}_registerInteractionListener(){let e,r=()=>{let{idleTimeout:n,finalTimeout:o,heartbeatInterval:i}=this.options,a="ui.action.click",s=Ie();if(s&&s.op&&["navigation","pageload"].includes(s.op)){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because a pageload or navigation transaction is in progress.`);return}if(e&&(e.setFinishReason("interactionInterrupted"),e.finish(),e=void 0),!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because _getCurrentHub is invalid.`);return}if(!this._latestRouteName){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}let c=this._getCurrentHub(),{location:l}=R,d={name:this._latestRouteName,op:a,trimEnd:!0,metadata:{source:this._latestRouteSource||"url"}};e=Hn(c,d,n,o,!0,{location:l},i)};["click"].forEach(n=>{addEventListener(n,r,{once:!1,capture:!0})})}};function qs(t){let e=Ao(`meta[name=${t}]`);return e?e.getAttribute("content"):void 0}var Zs={};T.Sentry&&T.Sentry.Integrations&&(Zs=T.Sentry.Integrations);var Qy={...Zs,...Ft,...bi};var _p=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};_p.SENTRY_RELEASE={id:"3.1.8--canary.8"};var Ks=!1;function hp(){Ci({dsn:"https://903950caba7d4802afe6c1e985ad5ebd@o128085.ingest.sentry.io/4504854496149504",release:"3.1.8--canary.8",integrations:[new dr],tracesSampleRate:1}),Ks=!0}var _e=t=>(Ks||hp(),ar(t));var nc=A(require("react"));var Ni="[Duffel Ancillaries] ",Js="duffel-ancillaries-logger-state",Xs=!1,Sp=t=>{localStorage.setItem(Js,t.toString())},Qs=()=>localStorage.getItem(Js)==="true",to=t=>{Sp(t),t&&!Xs&&console.info(Ni,`
23
+ Error:`,o)}}function Zf(){Is(t=>{Jn("cls",{metric:t}),Ps=t})}function Kf(){xs(t=>{Jn("fid",{metric:t}),As=t})}function Xf(){Os(t=>{Jn("lcp",{metric:t}),Ds=t})}function Ti(t,e,r,n){return Bs(t,e),Xn[t]||(r(),Xn[t]=!0),n&&e({metric:n}),Ls(t,e)}function Jf(t){let e={};t==="event"&&(e.durationThreshold=0),vt(t,r=>{Jn(t,{entries:r})},e)}function Bs(t,e){Jr[t]=Jr[t]||[],Jr[t].push(e)}function Ls(t,e){return()=>{let r=Jr[t];if(!r)return;let n=r.indexOf(e);n!==-1&&r.splice(n,1)}}function Qn(t){return typeof t=="number"&&isFinite(t)}function Ht(t,{startTimestamp:e,...r}){return e&&t.startTimestamp>e&&(t.startTimestamp=e),t.startChild({startTimestamp:e,...r})}function $(t){return t/1e3}function Hs(){return R&&R.addEventListener&&R.performance}var Fs=0,w={},He,en;function Us(){let t=Hs();if(t&&se){t.mark&&R.performance.mark("sentry-tracing-init");let e=tp(),r=Qf(),n=ep();return()=>{e(),r(),n()}}return()=>{}}function Gs(){Qr("longtask",({entries:t})=>{for(let e of t){let r=Ie();if(!r)return;let n=$(se+e.startTime),o=$(e.duration);r.startChild({description:"Main UI thread blocked",op:"ui.long-task",origin:"auto.ui.browser.metrics",startTimestamp:n,endTimestamp:n+o})}})}function Ys(){Qr("event",({entries:t})=>{for(let e of t){let r=Ie();if(!r)return;if(e.name==="click"){let n=$(se+e.startTime),o=$(e.duration);r.startChild({description:Be(e.target),op:`ui.interaction.${e.name}`,origin:"auto.ui.browser.metrics",startTimestamp:n,endTimestamp:n+o})}}})}function Qf(){return Ms(({metric:t})=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding CLS"),w.cls={value:t.value,unit:""},en=e)})}function ep(){return ws(({metric:t})=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding LCP"),w.lcp={value:t.value,unit:"millisecond"},He=e)})}function tp(){return ks(({metric:t})=>{let e=t.entries.pop();if(!e)return;let r=$(se),n=$(e.startTime);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FID"),w.fid={value:t.value,unit:"millisecond"},w["mark.fid"]={value:r+n,unit:"second"}})}function $s(t){let e=Hs();if(!e||!R.performance.getEntries||!se)return;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Tracing] Adding & adjusting spans using Performance API");let r=$(se),n=e.getEntries(),o,i;if(n.slice(Fs).forEach(a=>{let s=$(a.startTime),c=$(a.duration);if(!(t.op==="navigation"&&r+s<t.startTimestamp))switch(a.entryType){case"navigation":{np(t,a,r),o=r+$(a.responseStart),i=r+$(a.requestStart);break}case"mark":case"paint":case"measure":{rp(t,a,s,c,r);let l=ur(),d=a.startTime<l.firstHiddenTime;a.name==="first-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FP"),w.fp={value:a.startTime,unit:"millisecond"}),a.name==="first-contentful-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding FCP"),w.fcp={value:a.startTime,unit:"millisecond"});break}case"resource":{let l=a.name.replace(R.location.origin,"");ip(t,a,l,s,c,r);break}}}),Fs=Math.max(n.length-1,0),ap(t),t.op==="pageload"){typeof o=="number"&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding TTFB"),w.ttfb={value:(o-t.startTimestamp)*1e3,unit:"millisecond"},typeof i=="number"&&i<=o&&(w["ttfb.requestTime"]={value:(o-i)*1e3,unit:"millisecond"})),["fcp","fp","lcp"].forEach(s=>{if(!w[s]||r>=t.startTimestamp)return;let c=w[s].value,l=r+$(c),d=Math.abs((l-t.startTimestamp)*1e3),u=d-c;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Measurements] Normalized ${s} from ${c} to ${d} (${u})`),w[s].value=d});let a=w["mark.fid"];a&&w.fid&&(Ht(t,{description:"first input delay",endTimestamp:a.value+$(w.fid.value),op:"ui.action",origin:"auto.ui.browser.metrics",startTimestamp:a.value}),delete w["mark.fid"]),"fcp"in w||delete w.cls,Object.keys(w).forEach(s=>{t.setMeasurement(s,w[s].value,w[s].unit)}),sp(t)}He=void 0,en=void 0,w={}}function rp(t,e,r,n,o){let i=o+r,a=i+n;return Ht(t,{description:e.name,endTimestamp:a,op:e.entryType,origin:"auto.resource.browser.metrics",startTimestamp:i}),i}function np(t,e,r){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(n=>{eo(t,e,n,r)}),eo(t,e,"secureConnection",r,"TLS/SSL","connectEnd"),eo(t,e,"fetch",r,"cache","domainLookupStart"),eo(t,e,"domainLookup",r,"DNS"),op(t,e,r)}function eo(t,e,r,n,o,i){let a=i?e[i]:e[`${r}End`],s=e[`${r}Start`];!s||!a||Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:o||r,startTimestamp:n+$(s),endTimestamp:n+$(a)})}function op(t,e,r){Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:"request",startTimestamp:r+$(e.requestStart),endTimestamp:r+$(e.responseEnd)}),Ht(t,{op:"browser",origin:"auto.browser.browser.metrics",description:"response",startTimestamp:r+$(e.responseStart),endTimestamp:r+$(e.responseEnd)})}function ip(t,e,r,n,o,i){if(e.initiatorType==="xmlhttprequest"||e.initiatorType==="fetch")return;let a={};"transferSize"in e&&(a["http.response_transfer_size"]=e.transferSize),"encodedBodySize"in e&&(a["http.response_content_length"]=e.encodedBodySize),"decodedBodySize"in e&&(a["http.decoded_response_content_length"]=e.decodedBodySize),"renderBlockingStatus"in e&&(a["resource.render_blocking_status"]=e.renderBlockingStatus);let s=i+n,c=s+o;Ht(t,{description:r,endTimestamp:c,op:e.initiatorType?`resource.${e.initiatorType}`:"resource.other",origin:"auto.resource.browser.metrics",startTimestamp:s,data:a})}function ap(t){let e=R.navigator;if(!e)return;let r=e.connection;r&&(r.effectiveType&&t.setTag("effectiveConnectionType",r.effectiveType),r.type&&t.setTag("connectionType",r.type),Qn(r.rtt)&&(w["connection.rtt"]={value:r.rtt,unit:"millisecond"})),Qn(e.deviceMemory)&&t.setTag("deviceMemory",`${e.deviceMemory} GB`),Qn(e.hardwareConcurrency)&&t.setTag("hardwareConcurrency",String(e.hardwareConcurrency))}function sp(t){He&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding LCP Data"),He.element&&t.setTag("lcp.element",Be(He.element)),He.id&&t.setTag("lcp.id",He.id),He.url&&t.setTag("lcp.url",He.url.trim().slice(0,200)),t.setTag("lcp.size",He.size)),en&&en.sources&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log("[Measurements] Adding CLS Data"),en.sources.forEach((e,r)=>t.setTag(`cls.source.${r+1}`,Be(e.node))))}var Ri=["localhost",/^\/(?!\/)/],tn={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:Ri,tracePropagationTargets:Ri};function Ii(t){let{traceFetch:e,traceXHR:r,tracePropagationTargets:n,tracingOrigins:o,shouldCreateSpanForRequest:i,enableHTTPTimings:a}={traceFetch:tn.traceFetch,traceXHR:tn.traceXHR,...t},s=typeof i=="function"?i:d=>!0,c=d=>dp(d,n||o),l={};e&&H("fetch",d=>{let u=fp(d,s,c,l);a&&u&&Ws(u)}),r&&H("xhr",d=>{let u=mp(d,s,c,l);a&&u&&Ws(u)})}function cp(t){return t.entryType==="resource"&&"initiatorType"in t&&typeof t.nextHopProtocol=="string"&&(t.initiatorType==="fetch"||t.initiatorType==="xmlhttprequest")}function Ws(t){let e=t.data.url;if(!e)return;let r=Qr("resource",({entries:n})=>{n.forEach(o=>{cp(o)&&o.name.endsWith(e)&&(up(o).forEach(a=>t.setData(...a)),setTimeout(r))})})}function lp(t){let e="unknown",r="unknown",n="";for(let o of t){if(o==="/"){[e,r]=t.split("/");break}if(!isNaN(Number(o))){e=n==="h"?"http":n,r=t.split(n)[1];break}n+=o}return n===t&&(e=n),{name:e,version:r}}function Ue(t=0){return((se||performance.timeOrigin)+t)/1e3}function up(t){let{name:e,version:r}=lp(t.nextHopProtocol),n=[];return n.push(["network.protocol.version",r],["network.protocol.name",e]),se?[...n,["http.request.redirect_start",Ue(t.redirectStart)],["http.request.fetch_start",Ue(t.fetchStart)],["http.request.domain_lookup_start",Ue(t.domainLookupStart)],["http.request.domain_lookup_end",Ue(t.domainLookupEnd)],["http.request.connect_start",Ue(t.connectStart)],["http.request.secure_connection_start",Ue(t.secureConnectionStart)],["http.request.connection_end",Ue(t.connectEnd)],["http.request.request_start",Ue(t.requestStart)],["http.request.response_start",Ue(t.responseStart)],["http.request.response_end",Ue(t.responseEnd)]]:n}function dp(t,e){return _t(t,e||Ri)}function fp(t,e,r,n){if(!ir()||!t.fetchData)return;let o=e(t.fetchData.url);if(t.endTimestamp&&o){let m=t.fetchData.__span;if(!m)return;let h=n[m];if(h){if(t.response){h.setHttpStatus(t.response.status);let S=t.response&&t.response.headers&&t.response.headers.get("content-length"),y=parseInt(S);y>0&&h.setData("http.response_content_length",y)}else t.error&&h.setStatus("internal_error");h.finish(),delete n[m]}return}let i=b(),a=i.getScope(),s=i.getClient(),c=a.getSpan(),{method:l,url:d}=t.fetchData,u=o&&c?c.startChild({data:{url:d,type:"fetch","http.method":l},description:`${l} ${d}`,op:"http.client",origin:"auto.http.browser"}):void 0;if(u&&(t.fetchData.__span=u.spanId,n[u.spanId]=u),r(t.fetchData.url)&&s){let m=t.args[0];t.args[1]=t.args[1]||{};let h=t.args[1];h.headers=pp(m,s,a,h,u)}return u}function pp(t,e,r,n,o){let i=o||r.getSpan(),a=i&&i.transaction,{traceId:s,sampled:c,dsc:l}=r.getPropagationContext(),d=i?i.toTraceparent():Kt(s,void 0,c),u=a?a.getDynamicSamplingContext():l||ht(s,e,r),m=Wr(u),h=typeof Request<"u"&&de(t,Request)?t.headers:n.headers;if(h)if(typeof Headers<"u"&&de(h,Headers)){let S=new Headers(h);return S.append("sentry-trace",d),m&&S.append($r,m),S}else if(Array.isArray(h)){let S=[...h,["sentry-trace",d]];return m&&S.push([$r,m]),S}else{let S="baggage"in h?h.baggage:void 0,y=[];return Array.isArray(S)?y.push(...S):S&&y.push(S),m&&y.push(m),{...h,"sentry-trace":d,baggage:y.length>0?y.join(","):void 0}}else return{"sentry-trace":d,baggage:m}}function mp(t,e,r,n){let o=t.xhr,i=o&&o[Je];if(!ir()||o&&o.__sentry_own_request__||!o||!i)return;let a=e(i.url);if(t.endTimestamp&&a){let u=o.__sentry_xhr_span_id__;if(!u)return;let m=n[u];m&&(m.setHttpStatus(i.status_code),m.finish(),delete n[u]);return}let s=b(),c=s.getScope(),l=c.getSpan(),d=a&&l?l.startChild({data:{...i.data,type:"xhr","http.method":i.method,url:i.url},description:`${i.method} ${i.url}`,op:"http.client",origin:"auto.http.browser"}):void 0;if(d&&(o.__sentry_xhr_span_id__=d.spanId,n[o.__sentry_xhr_span_id__]=d),o.setRequestHeader&&r(i.url))if(d){let u=d&&d.transaction,m=u&&u.getDynamicSamplingContext(),h=Wr(m);Vs(o,d.toTraceparent(),h)}else{let u=s.getClient(),{traceId:m,sampled:h,dsc:S}=c.getPropagationContext(),y=Kt(m,void 0,h),M=S||(u?ht(m,u,c):void 0),N=Wr(M);Vs(o,y,N)}return d}function Vs(t,e,r){try{t.setRequestHeader("sentry-trace",e),r&&t.setRequestHeader($r,r)}catch{}}function js(t,e=!0,r=!0){if(!R||!R.location){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn("Could not initialize routing instrumentation due to invalid location");return}let n=R.location.href,o;e&&(o=t({name:R.location.pathname,startTimestamp:se?se/1e3:void 0,op:"pageload",origin:"auto.pageload.browser",metadata:{source:"url"}})),r&&H("history",({to:i,from:a})=>{if(a===void 0&&n&&n.indexOf(i)!==-1){n=void 0;return}a!==i&&(n=void 0,o&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Finishing current transaction with op: ${o.op}`),o.finish()),o=t({name:R.location.pathname,op:"navigation",origin:"auto.navigation.browser",metadata:{source:"url"}}))})}var zs="BrowserTracing",gp={...or,markBackgroundTransactions:!0,routingInstrumentation:js,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{},...tn},dr=class{constructor(e){this.name=zs,this._hasSetTracePropagationTargets=!1,Un(),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(this._hasSetTracePropagationTargets=!!(e&&(e.tracePropagationTargets||e.tracingOrigins))),this.options={...gp,...e},this.options._experiments.enableLongTask!==void 0&&(this.options.enableLongTask=this.options._experiments.enableLongTask),e&&!e.tracePropagationTargets&&e.tracingOrigins&&(this.options.tracePropagationTargets=e.tracingOrigins),this._collectWebVitals=Us(),this.options.enableLongTask&&Gs(),this.options._experiments.enableInteractions&&Ys()}setupOnce(e,r){this._getCurrentHub=r;let o=r().getClient(),i=o&&o.getOptions(),{routingInstrumentation:a,startTransactionOnLocationChange:s,startTransactionOnPageLoad:c,markBackgroundTransactions:l,traceFetch:d,traceXHR:u,shouldCreateSpanForRequest:m,enableHTTPTimings:h,_experiments:S}=this.options,y=i&&i.tracePropagationTargets,M=y||this.options.tracePropagationTargets;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._hasSetTracePropagationTargets&&y&&p.warn("[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used."),a(N=>{let C=this._createRouteTransaction(N);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(C,N,r),C},c,s),l&&Ts(),S.enableInteractions&&this._registerInteractionListener(),Ii({traceFetch:d,traceXHR:u,tracePropagationTargets:M,shouldCreateSpanForRequest:m,enableHTTPTimings:h})}_createRouteTransaction(e){if(!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${e.op} transaction because _getCurrentHub is invalid.`);return}let r=this._getCurrentHub(),{beforeNavigate:n,idleTimeout:o,finalTimeout:i,heartbeatInterval:a}=this.options,s=e.op==="pageload",c=s?qs("sentry-trace"):"",l=s?qs("baggage"):"",{traceparentData:d,dynamicSamplingContext:u,propagationContext:m}=Xo(c,l),h={...e,...d,metadata:{...e.metadata,dynamicSamplingContext:d&&!u?{}:u},trimEnd:!0},S=typeof n=="function"?n(h):h,y=S===void 0?{...h,sampled:!1}:S;y.metadata=y.name!==h.name?{...y.metadata,source:"custom"}:y.metadata,this._latestRouteName=y.name,this._latestRouteSource=y.metadata&&y.metadata.source,y.sampled===!1&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Will not send ${y.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.log(`[Tracing] Starting ${y.op} transaction on scope`);let{location:M}=R,N=Hn(r,y,o,i,!0,{location:M},a),C=r.getScope();return s&&d?C.setPropagationContext(m):C.setPropagationContext({traceId:N.traceId,spanId:N.spanId,parentSpanId:N.parentSpanId,sampled:N.sampled}),N.registerBeforeFinishCallback(ce=>{this._collectWebVitals(),$s(ce)}),N}_registerInteractionListener(){let e,r=()=>{let{idleTimeout:n,finalTimeout:o,heartbeatInterval:i}=this.options,a="ui.action.click",s=Ie();if(s&&s.op&&["navigation","pageload"].includes(s.op)){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because a pageload or navigation transaction is in progress.`);return}if(e&&(e.setFinishReason("interactionInterrupted"),e.finish(),e=void 0),!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because _getCurrentHub is invalid.`);return}if(!this._latestRouteName){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&p.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}let c=this._getCurrentHub(),{location:l}=R,d={name:this._latestRouteName,op:a,trimEnd:!0,metadata:{source:this._latestRouteSource||"url"}};e=Hn(c,d,n,o,!0,{location:l},i)};["click"].forEach(n=>{addEventListener(n,r,{once:!1,capture:!0})})}};function qs(t){let e=Ao(`meta[name=${t}]`);return e?e.getAttribute("content"):void 0}var Zs={};T.Sentry&&T.Sentry.Integrations&&(Zs=T.Sentry.Integrations);var Qy={...Zs,...Ft,...bi};var _p=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};_p.SENTRY_RELEASE={id:"3.1.8"};var Ks=!1;function hp(){Ci({dsn:"https://903950caba7d4802afe6c1e985ad5ebd@o128085.ingest.sentry.io/4504854496149504",release:"3.1.8",integrations:[new dr],tracesSampleRate:1}),Ks=!0}var _e=t=>(Ks||hp(),ar(t));var nc=A(require("react"));var Ni="[Duffel Ancillaries] ",Js="duffel-ancillaries-logger-state",Xs=!1,Sp=t=>{localStorage.setItem(Js,t.toString())},Qs=()=>localStorage.getItem(Js)==="true",to=t=>{Sp(t),t&&!Xs&&console.info(Ni,`
24
24
 
25
25
  Debug mode is enabled. Information about your setup will be printed to the console.
26
26
 
27
27
  If you do not want to enable debug mode (for example in a production environment), pass "debug: false" when initializing this component.
28
28
 
29
29
  Learn more about the Ancillaries component:
30
- http://duffel.com/docs/guides/ancillaries-component`),Xs=!0},ec=t=>{Qs()?console.info(Ni,t):zr({category:"log",message:t})};function st(t,e){let r=[];Array.isArray(e)?r=e:r=Object.entries(e).map(([n,o])=>({property:n,value:o})),Qs()?(console.groupCollapsed(Ni,t),r.forEach(n=>{console.info(n)}),console.groupEnd()):zr({category:"log.group",message:t,data:e})}var v=require("react/jsx-runtime"),tc={add:(0,v.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1z"}),apartment:(0,v.jsx)("path",{d:"M3.8496 19.9752V7.2744H7.4496V3.6744H15.9504V10.8744H20.1504V19.9752H13.4496V16.3752H10.5504V19.9752H3.8496ZM5.1504 18.6744H7.4496V16.3752H5.1504V18.6744ZM5.1504 14.7744H7.4496V12.4752H5.1504V14.7744ZM5.1504 10.8744H7.4496V8.5752H5.1504V10.8744ZM8.7504 14.7744H11.0496V12.4752H8.7504V14.7744ZM8.7504 10.8744H11.0496V8.5752H8.7504V10.8744ZM8.7504 7.2744H11.0496V4.9752H8.7504V7.2744ZM12.3504 14.7744H14.6496V12.4752H12.3504V14.7744ZM12.3504 10.8744H14.6496V8.5752H12.3504V10.8744ZM12.3504 7.2744H14.6496V4.9752H12.3504V7.2744ZM16.5504 18.6744H18.8496V16.3752H16.5504V18.6744ZM16.5504 14.7744H18.8496V12.4752H16.5504V14.7744Z"}),arrow_forward:(0,v.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"}),arrow_left:(0,v.jsx)("path",{d:"M9 19L2 12L9 5L10.425 6.4L5.825 11H22V13H5.825L10.4 17.6L9 19Z"}),arrow_right:(0,v.jsx)("path",{d:"M15 19L13.6 17.6L18.2 13H2V11H18.2L13.6 6.4L15 5L22 12L15 19Z"}),autorenew:(0,v.jsx)("path",{d:"M5.69728 14.4104C5.49326 13.9833 5.32604 13.5257 5.19562 13.0374C5.06521 12.5492 5 12.0367 5 11.5C5 9.56481 5.69083 7.91679 7.07249 6.55591C8.45416 5.19504 10.147 4.53946 12.1511 4.58918H12.7613L11.0742 2.92359L12.0097 2L15.2869 5.23549L12.0097 8.47099L11.0742 7.54739L12.7613 5.88181H12.1511C10.5021 5.84866 9.11624 6.38632 7.99347 7.49479C6.87069 8.60326 6.30931 9.93833 6.30931 11.5C6.30931 11.8455 6.33804 12.1824 6.3955 12.5106C6.45296 12.8389 6.53915 13.1573 6.65407 13.4658L5.69728 14.4104ZM11.9903 21L8.71309 17.7645L11.9903 14.529L12.9258 15.4526L11.2387 17.1182H11.8489C13.4979 17.1513 14.8838 16.6137 16.0065 15.5052C17.1293 14.3967 17.6907 13.0617 17.6907 11.5C17.6907 11.1545 17.662 10.8176 17.6045 10.4894C17.547 10.1611 17.4609 9.84273 17.3459 9.53421L18.3027 8.58959C18.5067 9.01665 18.674 9.47431 18.8044 9.96256C18.9348 10.4508 19 10.9633 19 11.5C19 13.4186 18.3092 15.0625 16.9275 16.4317C15.5458 17.8008 13.853 18.4605 11.8489 18.4108H11.2387L12.9258 20.0764L11.9903 21Z"}),bassinet:(0,v.jsxs)(v.Fragment,{children:[(0,v.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"}),(0,v.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"})]}),cabin_bag:(0,v.jsx)("path",{d:"M7.3077 20.5C6.81058 20.5 6.38502 20.323 6.03102 19.969C5.67701 19.615 5.5 19.1894 5.5 18.6923V8.25007C5.5 7.76417 5.67019 7.35103 6.01057 7.01065C6.35096 6.67027 6.7641 6.50007 7.25 6.50007H9.25V3.6924C9.25 3.43631 9.33622 3.22166 9.50865 3.04842C9.68108 2.87519 9.89773 2.78857 10.1586 2.78857H13.8414C14.1022 2.78857 14.3189 2.87519 14.4913 3.04842C14.6637 3.22166 14.75 3.43631 14.75 3.6924V6.50007H16.6922C17.1894 6.50007 17.6149 6.67708 17.9689 7.0311C18.3229 7.3851 18.5 7.81066 18.5 8.30777V18.6923C18.5 19.1894 18.3229 19.615 17.9689 19.969C17.6149 20.323 17.1894 20.5 16.6922 20.5C16.6922 20.7507 16.6074 20.9608 16.4377 21.1303C16.2681 21.2999 16.0578 21.3846 15.807 21.3846C15.5561 21.3846 15.3461 21.2999 15.1769 21.1303C15.0077 20.9608 14.923 20.7507 14.923 20.5H9.0769C9.0769 20.7513 8.99206 20.9615 8.82237 21.1308C8.65271 21.3 8.44246 21.3846 8.19162 21.3846C7.94079 21.3846 7.73076 21.2999 7.56153 21.1303C7.39231 20.9608 7.3077 20.7507 7.3077 20.5ZM10.4423 6.50007H13.5577V3.98085H10.4423V6.50007ZM7.3077 19H16.6922C16.782 19 16.8557 18.9712 16.9134 18.9135C16.9711 18.8558 17 18.7821 17 18.6923V8.30777C17 8.21802 16.9711 8.1443 16.9134 8.0866C16.8557 8.0289 16.782 8.00005 16.6922 8.00005H7.3077C7.21795 8.00005 7.14423 8.0289 7.08652 8.0866C7.02882 8.1443 6.99997 8.21802 6.99997 8.30777V18.6923C6.99997 18.7821 7.02882 18.8558 7.08652 18.9135C7.14423 18.9712 7.21795 19 7.3077 19ZM8.15382 17.1539C8.15382 17.3261 8.21009 17.4685 8.32262 17.5811C8.43514 17.6937 8.57744 17.75 8.74952 17.75C8.92161 17.75 9.06407 17.6937 9.1769 17.5811C9.28972 17.4685 9.34613 17.3261 9.34613 17.1539V9.8462C9.34613 9.67398 9.28986 9.53157 9.17732 9.41897C9.06481 9.30637 8.92251 9.25007 8.75043 9.25007C8.57834 9.25007 8.43588 9.30637 8.32305 9.41897C8.21023 9.53157 8.15382 9.67398 8.15382 9.8462V17.1539ZM11.4038 17.1539C11.4038 17.3261 11.4601 17.4685 11.5726 17.5811C11.6851 17.6937 11.8274 17.75 11.9995 17.75C12.1716 17.75 12.3141 17.6937 12.4269 17.5811C12.5397 17.4685 12.5961 17.3261 12.5961 17.1539V9.8462C12.5961 9.67398 12.5399 9.53157 12.4273 9.41897C12.3148 9.30637 12.1725 9.25007 12.0004 9.25007C11.8283 9.25007 11.6859 9.30637 11.5731 9.41897C11.4602 9.53157 11.4038 9.67398 11.4038 9.8462V17.1539ZM14.6538 17.1539C14.6538 17.3261 14.7101 17.4685 14.8226 17.5811C14.9351 17.6937 15.0774 17.75 15.2495 17.75C15.4216 17.75 15.5641 17.6937 15.6769 17.5811C15.7897 17.4685 15.8461 17.3261 15.8461 17.1539V9.8462C15.8461 9.67398 15.7899 9.53157 15.6773 9.41897C15.5648 9.30637 15.4225 9.25007 15.2504 9.25007C15.0783 9.25007 14.9359 9.30637 14.823 9.41897C14.7102 9.53157 14.6538 9.67398 14.6538 9.8462V17.1539Z"}),check:(0,v.jsx)("path",{d:"M10.3333 15.8646L7 12.5313L8.0625 11.4688L10.3333 13.7396L15.9375 8.13544L17 9.19794L10.3333 15.8646Z"}),checked_bag:(0,v.jsx)("path",{d:"M22 19H2V21H22V19M4 15C4 15.5 4.2 16 4.6 16.4C5 16.8 5.5 17 6 17V6C5.5 6 5 6.2 4.6 6.6C4.2 7 4 7.5 4 8V15M13.5 6H10.5C10.5 5.6 10.6 5.2 10.9 4.9C11.2 4.6 11.5 4.5 12 4.5C12.4 4.5 12.8 4.6 13.1 4.9C13.3 5.2 13.5 5.6 13.5 6M7 6V17H17V6H15C15 5.2 14.7 4.5 14.1 3.9S12.8 3 12 3C11.2 3 10.5 3.3 9.9 3.9C9.3 4.5 9 5.2 9 6H7M18 17C18.5 17 19 16.8 19.4 16.4C19.8 16 20 15.5 20 15V8C20 7.5 19.8 7 19.4 6.6C19 6.2 18.5 6 18 6V17Z"}),chevron:(0,v.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"}),close:(0,v.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"}),closet:(0,v.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"}),exit_row:(0,v.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"}),exit_row_right:(0,v.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"}),expand_content:(0,v.jsx)("path",{d:"M5 19V13H7V17H11V19H5ZM17 11V7H13V5H19V11H17Z"}),flight_class:(0,v.jsx)("path",{d:"M14.2596 12.5C13.7737 12.5 13.3606 12.3298 13.0202 11.9894C12.6798 11.649 12.5096 11.2359 12.5096 10.75V6.25C12.5096 5.7641 12.6798 5.35096 13.0202 5.01058C13.3606 4.67019 13.7737 4.5 14.2596 4.5H15.75C16.2359 4.5 16.649 4.67019 16.9894 5.01058C17.3298 5.35096 17.5 5.7641 17.5 6.25V10.75C17.5 11.2359 17.3298 11.649 16.9894 11.9894C16.649 12.3298 16.2359 12.5 15.75 12.5H14.2596ZM14.2596 11H15.75C15.8205 11 15.8798 10.9759 15.9278 10.9279C15.9759 10.8798 16 10.8205 16 10.75V6.25C16 6.17948 15.9759 6.12018 15.9278 6.0721C15.8798 6.02402 15.8205 5.99998 15.75 5.99998H14.2596C14.1891 5.99998 14.1298 6.02402 14.0817 6.0721C14.0336 6.12018 14.0096 6.17948 14.0096 6.25V10.75C14.0096 10.8205 14.0336 10.8798 14.0817 10.9279C14.1298 10.9759 14.1891 11 14.2596 11ZM9.5673 17.5C9.21345 17.5 8.89678 17.398 8.6173 17.1942C8.33782 16.9903 8.14423 16.7198 8.03655 16.3827L5.5 8.02883V4.5H6.99997V7.99998L9.49997 16H17.7596V17.5H9.5673ZM8.25 20.5V19H17.75V20.5H8.25ZM14.2596 5.99998H16H14.0096H14.2596Z"}),flight_takeoff:(0,v.jsx)("path",{d:"M3.77521 20.1498V18.849H20.0748V20.1498H3.77521ZM5.45041 15.2742L2.94961 11.0994L4.05001 10.8246L5.90041 12.399L10.05 11.2998L6.27481 4.89902L7.72561 4.62422L14.1 10.1994L19.4004 8.77382C19.75 8.67462 20.0832 8.72062 20.4 8.91182C20.7168 9.10382 20.9252 9.37462 21.0252 9.72422C21.1084 10.0746 21.0624 10.4038 20.8872 10.7118C20.7128 11.0198 20.4504 11.2242 20.1 11.325L5.45041 15.2742Z"}),galley:(0,v.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"}),lavatory:(0,v.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"}),lie_flat_seat:(0,v.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"}),minus:(0,v.jsx)("path",{d:"M18 13H6c-.55 0-1-.45-1-1s.45-1 1-1h12c.55 0 1 .45 1 1s-.45 1-1 1z"}),no_airplane:(0,v.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"}),no_bag:(0,v.jsx)("path",{d:"M16.8992 6.12037H14.9392V3.18101C14.9385 2.92148 14.8351 2.67278 14.6516 2.48926C14.4681 2.30574 14.2194 2.20234 13.9599 2.20166H10.0399C9.78034 2.20234 9.53163 2.30574 9.34811 2.48926C9.16459 2.67278 9.06119 2.92148 9.06051 3.18101V6.12037H8.20711L8.34715 6.25804L14.3973 12.0871V9.06102H15.9676V13.6L17.3022 14.8859L18.8592 16.4748V8.08037C18.8579 7.56096 18.6509 7.06322 18.2836 6.69594C17.9164 6.32867 17.4186 6.12173 16.8992 6.12037ZM5.14051 8.09559L3.77173 6.71825L5.00821 5.48945L7.16586 7.6606L13.9581 14.4953L15.8932 16.4426L19.7441 20.3175L20.2279 20.8043L18.9914 22.0331L17.635 20.6683C17.4035 20.7625 17.154 20.8126 16.8992 20.8133C16.904 20.945 16.8822 21.0763 16.8351 21.1993C16.788 21.3224 16.7166 21.4347 16.6251 21.5296C16.5336 21.6244 16.424 21.6999 16.3027 21.7514C16.1814 21.8029 16.051 21.8295 15.9192 21.8295C15.7874 21.8295 15.657 21.8029 15.5357 21.7514C15.4145 21.6999 15.3048 21.6244 15.2133 21.5296C15.1219 21.4347 15.0504 21.3224 15.0034 21.1993C14.9563 21.0763 14.9344 20.945 14.9392 20.8133H9.06051C9.06529 20.945 9.04348 21.0763 8.99638 21.1993C8.94929 21.3224 8.87787 21.4347 8.7864 21.5296C8.69492 21.6244 8.58527 21.6999 8.46399 21.7514C8.34271 21.8029 8.21229 21.8295 8.08051 21.8295C7.94874 21.8295 7.81832 21.8029 7.69703 21.7514C7.57575 21.6999 7.4661 21.6244 7.37463 21.5296C7.28316 21.4347 7.21174 21.3224 7.16464 21.1993C7.11754 21.0763 7.09573 20.945 7.10051 20.8133C6.58222 20.8119 6.08545 20.6059 5.71835 20.24C5.35126 19.8741 5.14357 19.378 5.14051 18.8597V8.09559ZM14.8632 17.8791L14.3973 17.4103V17.8791H14.8632ZM9.596 12.579V17.8791H8.03083V11.004L9.596 12.579ZM10.5302 3.67134H13.4695V6.12295H10.5302V3.67134Z"}),no_seat:(0,v.jsxs)(v.Fragment,{children:[(0,v.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"}),(0,v.jsx)("path",{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"})]}),north_east:(0,v.jsx)("path",{d:"M4.69999 19.3C4.51665 19.1167 4.42499 18.8833 4.42499 18.6C4.42499 18.3167 4.51665 18.0833 4.69999 17.9L15.6 7H9.99999C9.71665 7 9.47915 6.90417 9.28749 6.7125C9.09582 6.52083 8.99999 6.28333 8.99999 6C8.99999 5.71667 9.09582 5.47917 9.28749 5.2875C9.47915 5.09583 9.71665 5 9.99999 5H18C18.2833 5 18.5208 5.09583 18.7125 5.2875C18.9042 5.47917 19 5.71667 19 6V14C19 14.2833 18.9042 14.5208 18.7125 14.7125C18.5208 14.9042 18.2833 15 18 15C17.7167 15 17.4792 14.9042 17.2875 14.7125C17.0958 14.5208 17 14.2833 17 14V8.4L6.09999 19.3C5.91665 19.4833 5.68332 19.575 5.39999 19.575C5.11665 19.575 4.88332 19.4833 4.69999 19.3Z"}),seat:(0,v.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"}),seat_paid_indicator:(0,v.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"}),shield_with_moon:(0,v.jsx)("path",{d:"M12.525 15.75C13.0814 15.75 13.6269 15.6408 14.1615 15.4222C14.6961 15.2036 15.166 14.8757 15.5711 14.4385C15.6749 14.3244 15.7032 14.2033 15.6557 14.0751C15.6083 13.9469 15.5077 13.8629 15.3538 13.8232C14.7269 13.6783 14.1477 13.4183 13.6163 13.0433C13.0849 12.6683 12.6474 12.1789 12.3038 11.5751C11.9769 11.0046 11.7682 10.393 11.6778 9.74048C11.5874 9.08791 11.6589 8.45458 11.8923 7.84048C11.9525 7.68663 11.9301 7.55586 11.8249 7.44817C11.7198 7.34049 11.5916 7.30332 11.4403 7.33665C10.4442 7.59177 9.65927 8.1142 9.08555 8.90395C8.51185 9.69368 8.225 10.5591 8.225 11.5001C8.225 12.6796 8.64519 13.6828 9.48558 14.5097C10.3259 15.3366 11.3391 15.75 12.525 15.75ZM12 21.4808C9.83716 20.8911 8.04646 19.618 6.62787 17.6616C5.20929 15.7052 4.5 13.518 4.5 11.1001V5.34625L12 2.53857L19.5 5.34625V11.1001C19.5 13.518 18.7907 15.7052 17.3721 17.6616C15.9535 19.618 14.1628 20.8911 12 21.4808ZM12 19.9001C13.7333 19.3501 15.1666 18.2501 16.3 16.6001C17.4333 14.9501 18 13.1167 18 11.1001V6.37507L12 4.1347L5.99997 6.37507V11.1001C5.99997 13.1167 6.56664 14.9501 7.69997 16.6001C8.83331 18.2501 10.2666 19.3501 12 19.9001Z"}),stairs:(0,v.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"}),warning:(0,v.jsx)("path",{d:"M20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12ZM8.21071 9.25592L10.9548 12L8.21071 14.7441L9.38922 15.9226L12.1333 13.1785L14.8774 15.9226L16.0559 14.7441L13.3118 12L16.0559 9.25592L14.8774 8.07741L12.1333 10.8215L9.38922 8.07741L8.21071 9.25592Z"}),wifi:(0,v.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"})},yp=t=>t in tc?tc[t]:(ec(`The icon "${t}" is missing from ICON_MAP`),null),P=({name:t,size:e,className:r,viewBox:n,style:o})=>(0,v.jsx)("svg",{className:r,width:e||24,height:e||24,viewBox:n||"0 0 24 24","aria-label":t,"data-testid":t,style:{display:"block",fill:"currentColor",...o},children:yp(t)});var rc=A(Ne());var no=require("react/jsx-runtime"),Ep={primary:"button--primary",outlined:"button--outlined",destructive:"button--destructive"},vp={32:"button--32",40:"button--40",48:"button--48"},ee=({iconBefore:t,variant:e="primary",size:r=40,children:n,className:o,type:i="button",...a})=>(0,no.jsxs)("button",{type:i,className:(0,rc.default)("button",Ep[e],vp[r],o),...a,children:[t&&(0,no.jsx)(P,{className:"duffel-button__icon duffel-button__icon--before",name:t}),n]});var Oi=require("react/jsx-runtime"),fr=({style:t,children:e})=>(0,Oi.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",border:"dashed 1px var(--GREY-300)",borderRadius:"4px",paddingBlock:"32px",...t},children:(0,Oi.jsx)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",maxWidth:"470px"},children:e})});var Ut=require("react/jsx-runtime"),pr=class extends nc.default.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){_e(e)}render(){return this.state.hasError?(0,Ut.jsxs)(fr,{children:[(0,Ut.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"We ran into an error"}),(0,Ut.jsx)("p",{className:"p1--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:"Please try reloading. If the problem persists reach out to our support team."}),(0,Ut.jsx)("div",{children:(0,Ut.jsx)(ee,{variant:"outlined",iconBefore:"autorenew",onClick:()=>location.reload(),children:"Try again"})})]}):this.props.children}};var Gt=require("react/jsx-runtime"),oc=({height:t,message:e})=>(0,Gt.jsxs)(fr,{style:{minHeight:t},children:[(0,Gt.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"Failed to load extras"}),(0,Gt.jsx)("p",{className:"p2--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:e||"Please try reloading. If the problem persists reach out to our support team."}),(0,Gt.jsx)("div",{children:(0,Gt.jsx)(ee,{variant:"outlined",onClick:()=>location.reload(),iconBefore:"autorenew",children:"Try again"})})]});var mr=t=>t.reduce((e,{id:r,total_amount:n,total_currency:o})=>({[r]:{total_amount:n,total_currency:o},...e}),{});var bt=(t,e,r)=>{if(!t||!e||e.length===0)return 0;let n=mr(t.available_services);return rn(n,e,r)},rn=(t,e,r)=>(e||[]).reduce((n,{quantity:o,id:i})=>{let a=n;return i in t?a+=o*+t[i].total_amount:r?a+=o*Cp(i,r):_e(new Error(`The service id (${i}) provided could not be found in neither the offer nor the seat maps.`)),a},0),Cp=(t,e)=>{for(let r of e)for(let n of r.cabins)for(let o of n.rows)for(let i of o.sections)for(let a of i.elements)if(a.type==="seat"&&Array.isArray(a.available_services)){let s=a.available_services.find(c=>c.id===t);if(s)return+s.total_amount}return 0};var ic=({baggageSelectedServices:t,seatSelectedServices:e,cfarSelectedServices:r,offer:n,seatMaps:o,passengers:i})=>{let a=[...t||[],...e||[],...r||[]],s=+n.total_amount+bt(n,a,o);return{...n&&{selected_offers:[n.id]},passengers:i,services:bp(a),...n&&{payments:[{type:"balance",amount:`${s}`,currency:n.total_currency}]},type:"instant",metadata:{source:"duffel-ancillaries@3.1.8--canary.8"}}},bp=t=>Array.isArray(t)?t.filter(({quantity:e})=>e>0).map(({id:e,quantity:r})=>({id:e,quantity:r})):[];var Pi=t=>(e,r)=>{let{rate:n,amount:o}=t;return{amount:e*(1+n)+o,currency:r}},Ai="You cannot supply both markup and priceFormatters for the same service.",ac=(t,e)=>{let r={};if(e&&(e.bags&&(r.bags=e.bags),e.seats&&(r.seats=e.seats),e.cancel_for_any_reason&&(r.cancel_for_any_reason=e.cancel_for_any_reason)),t){if(t.bags){if(e&&e.bags)throw new Error(Ai);r.bags=Pi(t.bags)}if(t.seats){if(e&&e.seats)throw new Error(Ai);r.seats=Pi(t.seats)}if(t.cancel_for_any_reason){if(e&&e.cancel_for_any_reason)throw new Error(Ai);r.cancel_for_any_reason=Pi(t.cancel_for_any_reason)}}return r};var oo=t=>t.type==="baggage";var gr=t=>t.type==="cancel_for_any_reason";var Tp=(t,e)=>`${t} must all have the same currency, but they have ${e.size} different currencies (${[...e].join(", ")}). Check the price formatters passed into the component's render function.`,sc=(t,e)=>{if(!e)return t;let r=t.available_services,n=new Set,o={baggage:e?.bags,cancel_for_any_reason:e?.cancel_for_any_reason},i=r.map(a=>{let s={...a};if(a.type in o&&o[a.type]){let{total_amount:c,total_currency:l}=a;if(oo(a)){let{amount:d,currency:u}=o[a.type](+a.total_amount,a.total_currency,a);c=d.toString(),u&&(l=u)}if(gr(a)){let{amount:d,currency:u}=o[a.type](+a.total_amount,a.total_currency,a);c=d.toString(),u&&(l=u)}if(n.add(l),n.size>1)throw new Error(Tp(a.type,n));s.total_amount=c,s.total_currency=l}return s});return{...t,available_services:i}};function io(t){return t.type==="seat"}var Rp=t=>`Seats must all have the same currency, but they have ${t.size} different currencies (${[...t].join(", ")}). Check the price formatters passed into the component's render function.`,Ip=(t,e,r)=>{let n={...t};if(io(n)&&n.available_services.length>0){let o=n.available_services.map(i=>{let a={...i},{amount:s,currency:c}=e(+i.total_amount,i.total_currency,i);if(a.total_amount=s.toString(),c&&(a.total_currency=c,r.add(c),r.size>1))throw new Error(Rp(r));return a});n.available_services=o}return n},cc=(t,e)=>{if(!e)return t;let r=new Set;return t.map(o=>{let i=o.cabins.map(a=>{let s=a.rows.map(c=>{let l=c.sections.map(d=>{let u=d.elements.map(m=>Ip(m,e,r));return{...d,elements:u}});return{...c,sections:l}});return{...a,rows:s}});return{...o,cabins:i}})};var ao=t=>{let e=t.split(", ").map(n=>parseInt(n));return(.2126*e[0]+.7152*e[1]+.0722*e[2])/255>.5};var lc=t=>"selected_offers"in t&&"passengers"in t&&"services"in t&&"payments"in t&&"type"in t&&"metadata"in t;var uc=t=>t.expires_at&&new Date(t.expires_at)<new Date;var nn=t=>"data"in t&&Array.isArray(t.data.errors),xp="https://api.duffel.com",Np="3.1.8--canary.8";async function so(t,e,r="GET",n){st("Making request to the Duffel API",{path:e,method:r});let o=`${xp}/ancillaries-component/${e}`,i=null;try{i=await fetch(o,{method:r,body:n,headers:{"Duffel-Version":"v1",Authorization:`Bearer ${t}`,"User-Agent":`Duffel/ancillaries-component@${Np}`}})}catch(s){throw st("Failed to make request to the Duffel API",{error:s}),s}let a=await i.json();if(Array.isArray(a.errors))throw st("Request to the Duffel API failed",{operation:`${r} ${o}`,method:r,request_id:a?.meta?.request_id,errors:a.errors,status:i.status}),{...i,data:a};return st("Request to the Duffel succeeded",{request_id:a?.meta?.request_id}),a}var dc="https://assets.duffel.com/components/3.1.8--canary.8",fc=async t=>await(await fetch(dc+`/fixtures/offers/${t}.json`)).json(),pc=async t=>await(await fetch(dc+`/fixtures/seat-maps/${t}.json`)).json();var co=t=>t.startsWith("fixture_off_");async function mc(t,e){return(await so(e,`offers/${t}?return_available_services=true`)).data}async function gc(t,e,r,n,o){n(!0);let i=co(t);if(t=i?t.replace("fixture_",""):t,i)return fc(t).then(a=>{n(!1),o(a)});if(!e)throw new Error("Attempted to retrieve seat maps but the client key is missing.");try{let a=await mc(t,e);o(a)}catch(a){let s="An unknown error occurred while retrieving the offer.";a instanceof Error?(s=a.message,a.message.includes("Load failed")&&(s="The Duffel API is not available. Please try again later.")):nn(a)&&a.status===404&&(s="The offer you are looking for does not exist or has expired."),nn(a)&&a.status>=500&&a.status<600&&_e(new Error(s)),r(s)}finally{n(!1)}}async function _c(t,e){return(await so(e,`offers/${t}/seat_maps`)).data}async function hc(t,e,r,n,o){n(!0);let i=co(t);if(t=i?t.replace("fixture_",""):t,i)return pc(t).then(a=>{n(!1),o(a)});if(!e)throw new Error("Attemptted to retrieve seat maps but the client key is missing.");try{let a=await _c(t,e);o(a)}catch(a){let s="An unknown error occurred while retrieving the seat maps.";a instanceof Error?(s=a.message,a.message.includes("Load failed")&&(s="The Duffel API is not available. Please try again later.")):nn(a)&&(s=a.data.errors[0]?.message||"Received an unknown error from the Duffel API."),_e(new Error(s)),r()}finally{n(!1)}}var Di=t=>Op(t)&&(Mi(t)||wi(t)||ki(t)||Bi(t)),Op=t=>"onPayloadReady"in t&&"passengers"in t&&"services"in t,Mi=t=>"offer_id"in t&&t.offer_id.startsWith("fixture_"),wi=t=>"offer_id"in t&&"client_key"in t,ki=t=>"offer"in t&&"seat_maps"in t,Bi=t=>"offer"in t&&"client_key"in t;var pe=A(require("react"));var Sc=require("react/jsx-runtime"),_r=()=>(0,Sc.jsx)("span",{className:"textual-loading-indicator","aria-hidden":"true"});var yc=require("react/jsx-runtime"),ct=({backgroundColor:t,color:e,children:r})=>(0,yc.jsx)("div",{style:{backgroundColor:t,color:e,padding:"2px 8px",whiteSpace:"nowrap",borderRadius:"4px",fontWeight:"600",fontSize:"14px",lineHeight:"20px",textAlign:"center"},children:r});var hr=(t,e)=>{if(t.available_services.length===0)throw new Error("No services available");let r=t.available_services.find(n=>n.type===e);if(!r)throw new Error(`No ${e} services available`);return r.total_currency};var Ge=t=>(t||[]).reduce((e,{quantity:r})=>e+r,0);var Pp={baggage:oo,cancel_for_any_reason:gr},Sr=(t,e)=>{let r=Pp[e];if(!r)throw new Error(`Unknown service type: ${e}`);return t&&Array.isArray(t.available_services)&&t.available_services.some(n=>r(n)&&n.maximum_quantity>0)};var G=(t,e="en-GB",r={})=>n=>{try{let i=new Intl.NumberFormat(e,{style:"currency",currency:t,...r}).format(n);return r&&r.signDisplay&&(r.signDisplay==="always"||r.signDisplay==="exceptZero"&&n!==0)?i.replace(/^([+-])/,"$1 "):i}catch{return`${n} ${t}`}};var Oe=(t,e,r)=>t==1?`${t} ${e}`:`${t} ${r}`;var Lc=A(require("react"));var Ec=A(Ne()),vc=A(require("react"));var he=require("react/jsx-runtime"),yr=({buttonTitle:t,title:e,icon:r,copy:n,onClick:o,children:i,isLoading:a,disabled:s,isSelected:c})=>{let l=vc.Children.toArray(i).length>0;return(0,he.jsxs)("button",{type:"button",title:t,...o&&{onClick:o},disabled:s,className:(0,Ec.default)("ancillary-card",a&&"ancillary-card--loading"),style:{cursor:"pointer",background:"transparent",color:"var(--GREY-900)",border:"solid 1px rgba(226, 226, 232, 1)",display:"flex",rowGap:"4px",padding:"20px",borderRadius:"8px",justifyContent:"space-between",flexWrap:"wrap",flexDirection:"column",width:"100%",boxSizing:"border-box",fontSize:"16px",fontWeight:"400",lineHeight:"24px",letterSpacing:"0em",transition:"border-color 0.3s var(--TRANSITION-CUBIC-BEZIER) background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)"},children:[(0,he.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",marginBlock:"0",textAlign:"start",marginTop:"2px",columnGap:"12px",width:"100%"},children:[(0,he.jsx)("div",{children:c?(0,he.jsx)(P,{name:"check",className:"ancillary-card__selected-icon"}):(0,he.jsx)(P,{name:r})}),(0,he.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"start",width:"100%"},children:[(0,he.jsx)("p",{className:"p1--semibold",style:{marginBlock:"0"},children:e}),(0,he.jsx)("div",{className:"ancillary-card__children",children:l?i:(0,he.jsx)(P,{name:"expand_content",className:"ancillary-card__expand-icon"})})]})]}),(0,he.jsx)("p",{className:"p1--regular",style:{textAlign:"start",color:"var(--GREY-600)",marginLeft:"34px",marginBlock:"0"},children:n})]})};var Li=t=>{t?document.body.style.overflow="":document.body.style.overflow="hidden"};var bc=A(Ne()),Tc=A(require("react"));var Cc=A(Ne());var Fi=require("react/jsx-runtime"),Ap={primary:"icon-button--primary",outlined:"icon-button--outlined"},on=({icon:t,variant:e="primary",className:r,...n})=>(0,Fi.jsx)("button",{type:"button",className:(0,Cc.default)("icon-button",Ap[e],r),...n,children:(0,Fi.jsx)(P,{name:t})});var Er=require("react/jsx-runtime"),vr=({children:t,onClose:e,isOpen:r})=>(Tc.useEffect(()=>(Li(!r),()=>Li(!0)),[r]),(0,Er.jsx)("div",{className:(0,bc.default)("modal",r&&"modal--open"),style:{opacity:0},children:(0,Er.jsxs)("div",{role:"presentation",className:"modal--content",children:[t,(0,Er.jsx)(on,{icon:"close",onClick:e,title:"Close modal",className:"modal--close-button"})]})})),Cr=({children:t})=>(0,Er.jsx)("div",{className:"modal-body",children:t});var lo=t=>t.reduce((e,r)=>({[r.id]:r,...e}),{});var uo=t=>t.slices.reduce((e,r)=>[...e,...r.segments],new Array);var mo=A(require("react"));var fo=(t,e,r)=>t?t.given_name&&t.family_name?`${t.given_name} ${t.family_name}`:t.given_name?t.given_name:t.family_name?t.family_name:e?.given_name&&e?.family_name?`${e.given_name} ${e.family_name}`:e?.given_name?e.given_name:e?.family_name?e.family_name:`Passenger ${r}`:`Passenger ${r}`;var Rc=t=>{if(!t)return _e(new Error("getBaggageServiceDescription was not given any metadata")),null;if(!t.maximum_weight_kg&&!t.maximum_length_cm&&!t.maximum_height_cm&&!t.maximum_depth_cm)return null;let e=t.maximum_length_cm&&t.maximum_height_cm&&t.maximum_depth_cm,r="";e&&(r=` / ${t.maximum_height_cm} x ${t.maximum_length_cm} x ${t.maximum_depth_cm} cm`);let n="";return t.maximum_weight_kg&&(n=`Up to ${t.maximum_weight_kg}kg`),`${n}${r}`};var Ic=(t,e,r,n)=>t.some(o=>o.id===n.id||o.serviceInformation?.type!=="carry_on"&&o.serviceInformation?.type!=="checked"||o.serviceInformation?.segmentId!==e||o.serviceInformation?.passengerId!==r?!1:o.serviceInformation?.type===n.metadata.type);var br=require("react/jsx-runtime"),xc=({id:t,min:e,max:r,value:n,onChange:o})=>(0,br.jsxs)("div",{className:"counter",id:t,children:[(0,br.jsx)(on,{icon:"minus",title:"Remove one",id:`${t}-minus`,"data-testid":`${t}-minus`,variant:"outlined",disabled:n<=e,onClick:()=>o(Math.max(n-1,e))}),(0,br.jsx)("div",{className:"counter__count-label",children:n}),(0,br.jsx)(on,{icon:"add",title:"Add one",id:`${t}-plus`,"data-testid":`${t}-plus`,variant:"outlined",disabled:n>=r,onClick:()=>o(Math.min(n+1,r))})]});var lt=require("react/jsx-runtime"),Nc=({segmentId:t,passengerId:e,availableService:r,quantity:n,onQuantityChanged:o,selectedServices:i})=>{let a=r.metadata.type==="carry_on"?"Cabin bag":"Checked bag",s=G(r.total_currency)(+r.total_amount),c=Rc(r.metadata),l=Ic(i,t,e,r);return(0,lt.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,lt.jsxs)("div",{children:[(0,lt.jsxs)("p",{style:{margin:0},className:"p2--regular",children:[a,(0,lt.jsx)("span",{style:{marginInline:"4px",color:"var(--GREY-400)"},children:"\u2022"}),(0,lt.jsx)("span",{className:"p2--semibold","data-testid":`price-label--${r.id}--${e}`,children:s})]}),(0,lt.jsx)("p",{style:{margin:0,color:"var(--GREY-600)"},className:"p3--regular",children:c})]}),(0,lt.jsx)(xc,{id:`counter--${r.id}--${e}`,min:0,value:n,onChange:o,max:l?0:r.maximum_quantity})]})};var Pc=require("react/jsx-runtime"),Oc=({includedBaggage:t})=>{let{carryOnBagsQuantity:e,checkedBagsQuantity:r}=t.reduce((o,{type:i,quantity:a})=>({carryOnBagsQuantity:o.carryOnBagsQuantity+(i==="carry_on"?a:0),checkedBagsQuantity:o.checkedBagsQuantity+(i==="checked"?a:0)}),{carryOnBagsQuantity:0,checkedBagsQuantity:0}),n=new Array;return e>0&&n.push(Oe(e,"cabin bag","cabin bags")),r>0&&n.push(Oe(r,"checked bag","checked bags")),(0,Pc.jsxs)("div",{style:{marginBlock:"8px",padding:"8px 12px",color:" var(--GREEN-300)",backgroundColor:" var(--GREEN-100)",borderRadius:"6px"},className:"p2--regular",children:[n.join(" and ")," included with ticket"]})};var Tt=require("react/jsx-runtime"),Ac=({segmentId:t,passengerId:e,passengerName:r,includedBaggage:n,passengerServicesForSegment:o,selectedServices:i,setSelectedServices:a})=>{let s=n.reduce((c,l)=>c+l.quantity,0);return(0,Tt.jsxs)("div",{style:{marginTop:"24px"},children:[(0,Tt.jsx)("h3",{style:{margin:0},className:"p1--semibold",children:r}),s?(0,Tt.jsx)(Oc,{includedBaggage:n}):null,(0,Tt.jsx)("div",{style:{display:"flex",rowGap:"8px",flexDirection:"column"},children:o.map(c=>(0,Tt.jsx)(Nc,{passengerId:e,segmentId:t,availableService:c,selectedServices:i,quantity:i.find(({id:l})=>l==c.id)?.quantity||0,onQuantityChanged:l=>Dp(l,t,e,r,c,i,a)},c.id))}),o.length===0&&(0,Tt.jsx)("p",{style:{color:"var(--GREY-700)",margin:0},children:"Extra baggage is not available for this passenger on this flight"})]})},Dp=(t,e,r,n,o,i,a)=>{let s=i.findIndex(({id:l})=>o.id===l),c=Array.from(i);s<0?c.push({id:o.id,quantity:t,serviceInformation:{segmentId:e,passengerId:r,passengerName:n,total_amount:o.total_amount,total_currency:o.total_currency,...o.metadata}}):c[s].quantity=t,a(c.filter(({quantity:l})=>l!==0))};var Hi=require("react/jsx-runtime"),Dc=({offer:t,segment:e,passengersById:r,selectedServices:n,setSelectedServices:o})=>(0,Hi.jsx)(Cr,{children:e.passengers.map(({passenger_id:i,baggages:a},s)=>(0,Hi.jsx)(Ac,{segmentId:e.id,passengerId:i,passengerName:fo(r[i],t.passengers.find(({id:c})=>c===i),s+1),includedBaggage:a,passengerServicesForSegment:t.available_services.filter(({type:c,passenger_ids:l,segment_ids:d})=>c==="baggage"&&l.includes(i)&&d.includes(e.id)),selectedServices:n,setSelectedServices:o},i))});var ut=require("react/jsx-runtime"),Mc=({selectedServices:t,servicePrices:e,currency:r,isFirstSegment:n,isLastSegment:o,onNextSegmentButtonClicked:i,onPreviousSegmentButtonClicked:a,onClose:s})=>{let c=Ge(t),l=rn(e,t),d=G(r)(l),u=n&&n;return(0,ut.jsxs)("div",{style:{padding:"16px 24px 24px"},children:[(0,ut.jsxs)("div",{className:"flex--space-between",children:[(0,ut.jsxs)("div",{children:["Price for ",Oe(c,"extra bag","extra bags")]}),(0,ut.jsxs)("div",{className:"h3--semibold","data-testid":"baggage-total-amount-label",children:["+ ",d]})]}),(0,ut.jsxs)("div",{style:u?{marginTop:"16px",display:"grid"}:{marginTop:"16px",display:"grid",columnGap:"12px",gridTemplateColumns:"repeat(2, 1fr)"},children:[!u&&(0,ut.jsx)(ee,{size:48,variant:"outlined",disabled:n,onClick:()=>a(),children:"Back"}),(0,ut.jsx)(ee,{size:48,"data-testid":"confirm-selection-for-baggage",onClick:()=>o?s():i(),children:o?"Confirm":"Next"})]})]})};var po=t=>{let e=new Date(t);if(isNaN(e.valueOf()))_e(new Error(`formatDateString attempted to parse an invalid date string: ${t}`));else return Mp(e)},Mp=t=>{let{format:e}=new Intl.DateTimeFormat(void 0,{dateStyle:"medium"});return e(t)};var Ye=require("react/jsx-runtime"),wc=({segmentCount:t,currentSegmentIndex:e,currentSegment:r,setCurrentSegmentIndex:n})=>(0,Ye.jsxs)("div",{style:{padding:"24px 24px 16px"},children:[t>1&&(0,Ye.jsx)("div",{style:{display:"flex",columnGap:"4px"},children:Array(t).fill(0).map((o,i)=>i===e?(0,Ye.jsx)(wp,{},`segment_${i}`):(0,Ye.jsx)(kc,{onClick:()=>n(i)},`segment_${i}`))}),(0,Ye.jsxs)("h2",{className:"h3--semibold",style:t>1?{marginTop:"12px"}:{},children:["Flight to ",r.destination.iata_code,(0,Ye.jsx)("span",{className:"p2--regular",style:{color:"var(--GREY-600)",marginLeft:"8px"},children:po(r.departing_at)})]})]}),kc=({onClick:t,style:e})=>(0,Ye.jsx)("button",{onClick:t,style:{border:"none",width:"4px",height:"4px",padding:"0",borderRadius:"4px",backgroundColor:"var(--TERTIARY, rgba(var(--ACCENT), var(--ACCENT-LIGHT-200)))",transition:"background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)",...e}}),wp=()=>(0,Ye.jsx)(kc,{onClick:void 0,style:{backgroundColor:"var(--SECONDARY, rgb(var(--ACCENT)))"}});var Tr=require("react/jsx-runtime"),Bc=({isOpen:t,offer:e,passengers:r,onClose:n,selectedServices:o})=>{let[i,a]=(0,mo.useState)(0),[s,c]=mo.default.useState(o);if(!e)return null;let l=uo(e),d=l[i],u=lo(r),m=mr(e.available_services),h=e.base_currency;return Sr(e,"baggage")&&(h=hr(e,"baggage")),(0,Tr.jsxs)(vr,{isOpen:t,onClose:()=>n(o),children:[(0,Tr.jsx)(wc,{segmentCount:l.length,currentSegment:d,currentSegmentIndex:i,setCurrentSegmentIndex:S=>a(S)}),(0,Tr.jsx)(Dc,{offer:e,selectedServices:s,passengersById:u,segment:d,setSelectedServices:c}),(0,Tr.jsx)(Mc,{currency:h,selectedServices:s,servicePrices:m,isFirstSegment:i===0,isLastSegment:i+1===l.length,onNextSegmentButtonClicked:()=>a(i+1),onPreviousSegmentButtonClicked:()=>a(i-1),onClose:()=>n(s)})]})};var $e=require("react/jsx-runtime"),Fc=({isLoading:t,offer:e,passengers:r,selectedServices:n,setSelectedServices:o})=>{let[i,a]=Lc.default.useState(!1),s=Sr(e,"baggage"),c=Ge(n),l=c>0,d=bt(e,n),u=e?.base_currency||"";s&&(u=hr(e,"baggage"));let m=e?G(u)(d):"0",h=s&&l?`${Oe(c,"bag","bags")} added for ${m}`:"Add any extra baggage you need for your trip";return(0,$e.jsxs)($e.Fragment,{children:[(0,$e.jsxs)(yr,{buttonTitle:"Select extra baggage",title:"Extra baggage",copy:h,icon:"cabin_bag",onClick:s?()=>a(!0):null,isLoading:t,disabled:!t&&!s,isSelected:l,children:[t&&(0,$e.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,$e.jsx)(_r,{})]}),!t&&!s&&(0,$e.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,$e.jsx)(Bc,{isOpen:!!(i&&e),offer:e,passengers:r,onClose:S=>{let y=JSON.parse(JSON.stringify(S));o(y),a(!1)},selectedServices:n})]})};var $c=A(require("react"));var an=require("react/jsx-runtime"),go=({children:t})=>(0,an.jsxs)("li",{className:"cfar-modal-list-item",children:[(0,an.jsx)(P,{name:"check"}),(0,an.jsx)("p",{children:t})]});var dt=require("react/jsx-runtime"),Hc=({offerCurrency:t,service:e})=>(0,dt.jsxs)(Cr,{children:[(0,dt.jsxs)("ul",{style:{padding:0},children:[(0,dt.jsx)(go,{children:"Cancel your trip for any reason"}),(0,dt.jsxs)(go,{children:["Guaranteed refund of"," ",G(t)(+e.metadata.refund_amount)]}),(0,dt.jsx)(go,{children:"Redeemable up to 24 hours before first flight departure"})]}),(0,dt.jsxs)("a",{href:e.metadata.terms_and_conditions_url,rel:"noopener noreferrer",target:"_blank",className:"p2--regular",style:{color:"var(--GREY-600)"},children:["Terms and conditions",(0,dt.jsx)(P,{name:"north_east",size:16,style:{display:"inline",verticalAlign:"middle",marginLeft:"4px"}})]})]});var Rt=require("react/jsx-runtime"),Uc=({service:t,selectedServices:e,onAddCfarService:r,onRemoveCfarService:n,onClose:o})=>{let i=e.some(({id:s})=>s==t.id),a=G(t.total_currency)(+t.total_amount);return(0,Rt.jsxs)("div",{className:"cfar-modal-footer",children:[(0,Rt.jsx)(ee,{size:48,variant:i?"destructive":"outlined",onClick:i?n:o,children:i?"Remove protection":"Don\u2019t protect trip"}),!i&&(0,Rt.jsxs)(ee,{size:48,"data-testid":"confirm-selection-for-cfar",onClick:r,children:["Add protection for ",a]}),i&&(0,Rt.jsx)(kp,{})]})},kp=()=>(0,Rt.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",columnGap:"8px",backgroundColor:"var(--GREY-100)",padding:"var(--space-12)",borderRadius:"var(--BUTTON-RADIUS)"},children:[(0,Rt.jsx)(P,{size:20,name:"shield_with_moon",style:{fill:"var(--SECONDARY, rgb(var(--ACCENT)))"}}),"Your trip is protected"]});var Ui=require("react/jsx-runtime"),Gc=()=>(0,Ui.jsx)("div",{style:{padding:"24px 24px 16px"},children:(0,Ui.jsx)("h2",{className:"h3--semibold",style:{marginBlock:0},children:"Cancel for any reason"})});var ft=require("react/jsx-runtime"),Yc=({isOpen:t,offerCurrency:e,service:r,onClose:n,selectedServices:o})=>(0,ft.jsxs)(vr,{isOpen:t,onClose:()=>n(o),children:[(0,ft.jsx)(Gc,{}),r&&e&&(0,ft.jsxs)(ft.Fragment,{children:[(0,ft.jsx)(Hc,{service:r,offerCurrency:e}),(0,ft.jsx)(Uc,{service:r,selectedServices:o,onAddCfarService:()=>n([{id:r.id,quantity:1,serviceInformation:{type:"cancel_for_any_reason",total_amount:r.total_amount,total_currency:r.total_currency,...r.metadata}}]),onRemoveCfarService:()=>n([]),onClose:()=>n(o)})]})]});var We=require("react/jsx-runtime"),Wc=({isLoading:t,offer:e,selectedServices:r,setSelectedServices:n})=>{let[o,i]=$c.default.useState(!1),a=Sr(e,"cancel_for_any_reason"),c=Ge(r)>0,l=e?.base_currency||"";a&&(l=hr(e,"cancel_for_any_reason"));let d=bt(e,r),u=e?G(l)(d):"0",m=e?.available_services.find(gr),h=a&&c?`Your trip is protected for ${u}`:"Protect your purchase if you decide to cancel";return(0,We.jsxs)(We.Fragment,{children:[(0,We.jsxs)(yr,{buttonTitle:"Add cancel for any reason",title:"Cancel for any reason",copy:h,icon:"shield_with_moon",onClick:a?()=>i(!0):null,isLoading:t,disabled:!t&&!a,isSelected:c,children:[t&&(0,We.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,We.jsx)(_r,{})]}),!t&&!a&&(0,We.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,We.jsx)(Yc,{isOpen:!!(o&&e&&m),offerCurrency:e?.base_currency,service:m,onClose:S=>{i(!1),n(S)},selectedServices:r})]})};var Vc=(t,e)=>{for(let r of t)for(let n of r.cabins)for(let o of n.rows)for(let i of o.sections)for(let a of i.elements)if(e(a))return a};var _o=t=>Vc(t,r=>r.type==="seat"&&r.available_services.length>0)?.available_services[0]?.total_currency;var Tl=A(require("react"));var jc=t=>t.flatMap(e=>e.passengers.map((r,n)=>({passenger:r,passengerIndex:n,segment:e})));var qi=A(require("react"));var qc=(t,e)=>e.cabins.filter(r=>r.deck===t);var zc=t=>{let e=new Set;for(let r of t)for(let n of r.rows)for(let o of n.sections)for(let i of o.elements)i.type!=="seat"&&i.type!=="empty"&&e.add(i.type);return e};var Zc=(t,e)=>!!(t.wings&&t.wings.first_row_index<=e&&t.wings.last_row_index>=e);var _l=A(Ne()),hl=A(require("react"));var Kc=A(Ne());var Gi=require("react/jsx-runtime"),Xc=({value:t,onChange:e,options:r})=>(0,Gi.jsx)("div",{className:"seat-map__tab-select",children:r.map(n=>(0,Gi.jsx)("button",{type:"button",className:(0,Kc.default)("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":n===t}),onClick:()=>t!==n&&e(n),children:n},n))});var Qc=require("react/jsx-runtime"),Jc=({value:t,setValue:e})=>{let r=["Lower deck","Upper deck"];return(0,Qc.jsx)(Xc,{options:r,value:r[t],onChange:n=>e(r.indexOf(n))})};var te=require("react/jsx-runtime"),el=({symbols:t})=>(0,te.jsxs)("div",{className:"seat-map__legend",children:[(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat",children:(0,te.jsx)(P,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12})}),"Additional Cost"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"}),"Included"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"}),"Selected"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat","aria-label":"Unavailable seat",children:(0,te.jsx)(P,{name:"close",size:14})}),"Unavailable"]}),[...t].map(e=>(0,te.jsxs)("span",{className:"seat-map__legend-item seat-map__legend-item--symbol",children:[(0,te.jsx)(P,{name:e,size:20}),e.split("_")[0]]},e))]});var tl=t=>{let e=Object.values(t.sections).map(r=>r.elements).reduce((r,n)=>r.concat(n),[]).filter(r=>r.type==="seat");return e.length>0?e[0].designator.substring(0,e[0].designator.length-1):null};var pl=A(Ne()),Wi=A(require("react"));var rl=A(Ne());var Yi=require("react/jsx-runtime"),Bp=["bassinet","exit_row"],nl=({type:t})=>(0,Yi.jsx)("div",{className:(0,rl.default)("map-element map-element--amenity",{"map-element--wrapped":!Bp.includes(t)}),"aria-label":t.toString(),children:(0,Yi.jsx)(P,{name:t,size:16})});var ol=require("react/jsx-runtime"),sn=()=>(0,ol.jsx)("div",{className:"map-element map-element--empty"});var il=A(Ne());var ho=require("react/jsx-runtime"),al=({isRight:t})=>(0,ho.jsx)("div",{className:(0,il.default)("map-element map-element--exit",{"map-element--exit--right":t}),children:t?(0,ho.jsx)(P,{name:"exit_row_right"}):(0,ho.jsx)(P,{name:"exit_row"})});var sl=(t="")=>t.split(" ").map(e=>e[0]).slice(0,2).join("");var ul=A(Ne());var It=require("react/jsx-runtime"),cl=({seat:t,service:e})=>{let r=e?G(e.total_currency)(+e.total_amount):"";return(0,It.jsxs)("div",{className:"seat-info",children:[(0,It.jsxs)("div",{className:"seat-info__details",children:[(0,It.jsx)("strong",{children:t?.designator}),(0,It.jsxs)("span",{children:[t?.name||"Seat"," "]}),(0,It.jsx)("strong",{children:r})]}),t?.disclosures.map((n,o)=>(0,It.jsx)("div",{className:"seat-info__disclosure",children:n},o))]})};var $i=require("react/jsx-runtime"),ll=({seat:t})=>(0,$i.jsx)("span",{className:"map-element map-element__seat","aria-label":`${t.designator} ${t.name||"Seat"} Unavailable`,children:(0,$i.jsx)(P,{name:"close",size:14})});var pt=require("react/jsx-runtime"),dl=({element:t,currentPassengerId:e,currentSegmentId:r,currentPassengerName:n,onSeatToggled:o,selectedServicesMap:i})=>{let a=t.available_services.find(M=>M.passenger_id===e);if(!a)return(0,pt.jsx)(ll,{seat:t});let s=Object.values(i).find(M=>M.serviceInformation?.designator===t.designator&&M.serviceInformation?.segmentId===r),c=s!=null,l=c?sl(s.serviceInformation?.passengerName):t.designator.charAt(t.designator.length-1),d=!isNaN(+a?.total_amount)&&+a?.total_amount!=0,u=!c&&a.passenger_id===e,m=!c||c&&r===s.serviceInformation?.segmentId&&e===s.serviceInformation?.passengerId,h=(0,ul.default)("map-element","map-element__seat",{"map-element--available":u,"map-element--selected":c,"map-element--actionable":m}),S=G(a.total_currency)(+a.total_amount),y=c&&r===s.serviceInformation?.segmentId&&e===s.serviceInformation?.passengerId;return(0,pt.jsxs)(pt.Fragment,{children:[(0,pt.jsxs)("button",{"data-testid":`seat-${t.designator}`,id:t.designator,className:h,onClick:()=>{m&&o({quantity:c?0:1,id:a.id,serviceInformation:{type:"seat",segmentId:r,passengerId:e,passengerName:n,designator:t.designator,disclosures:t.disclosures,total_amount:a.total_amount,total_currency:a.total_currency}})},"aria-label":`${t.designator} ${t.name||"Seat"} ${S}`,children:[d&&(0,pt.jsx)(P,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:16}),l]}),y&&(0,pt.jsx)(cl,{seat:t,service:a})]})};var xt=require("react/jsx-runtime"),fl=({element:t,elementIndex:e,sectionIndex:r,onSeatToggled:n,selectedServicesMap:o,currentPassengerId:i,currentSegmentId:a,currentPassengerName:s})=>(0,xt.jsx)(xt.Fragment,{children:io(t)?(0,xt.jsx)(dl,{currentSegmentId:a,currentPassengerId:i,currentPassengerName:s,selectedServicesMap:o,element:t,onSeatToggled:n},e):t.type==="empty"?(0,xt.jsx)(sn,{},e):t.type==="exit_row"?(0,xt.jsx)(al,{isRight:r>0},e):(0,xt.jsx)(nl,{type:t.type},e)});var mt=require("react/jsx-runtime"),ml=({row:t,rowNumber:e,hasWings:r,section:n,sectionIndex:o,onSeatToggled:i,selectedServicesMap:a,currentPassengerId:s,currentPassengerName:c,currentSegmentId:l})=>{let d=Object.keys(t.sections).length,u=d===1;return(0,mt.jsxs)(Wi.Fragment,{children:[(0,mt.jsx)("div",{className:(0,pl.default)("map-section",{"map-section--left":o===0,"map-section--right":u?!1:o===d-1,"map-section--wing":r}),children:n.elements.length>0?n.elements.map((m,h)=>(0,mt.jsx)(Wi.Fragment,{children:(0,mt.jsx)(fl,{sectionIndex:o,elementIndex:h,element:m,selectedServicesMap:a,onSeatToggled:i,currentPassengerId:s,currentSegmentId:l,currentPassengerName:c})},h)):(0,mt.jsx)(sn,{})}),(o<d-1||u&&o<d)&&(0,mt.jsx)("span",{className:"map-section__aisle",children:e}),u&&o===t.sections.length-1&&(0,mt.jsx)(sn,{})]},o)};var cn=require("react/jsx-runtime"),gl=({row:t,hasWings:e,onSeatToggled:r,selectedServicesMap:n,currentPassengerId:o,currentPassengerName:i,currentSegmentId:a})=>{let s=tl(t);return(0,cn.jsx)(cn.Fragment,{children:t.sections.map((c,l)=>(0,cn.jsx)(ml,{row:t,rowNumber:s,hasWings:e,section:c,sectionIndex:l,selectedServicesMap:n,onSeatToggled:r,currentPassengerId:o,currentPassengerName:i,currentSegmentId:a},l))})};var ln=require("react/jsx-runtime"),Vi=()=>(0,ln.jsxs)(fr,{children:[(0,ln.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"Seat selection unavailable"}),(0,ln.jsx)("p",{className:"p1--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline."})]});var Ve=require("react/jsx-runtime"),Sl=({seatMap:t,onSeatToggled:e,selectedServicesMap:r,currentPassengerId:n,currentPassengerName:o,currentSegmentId:i})=>{let[a,s]=hl.useState(0);if(!t||!t.cabins||!t.cabins.length)return(0,Ve.jsx)(Vi,{});let c=qc(a,t),l=c.length!==t.cabins.length,d=t.cabins.some(m=>m.wings);if(!c||!c.length)return(0,Ve.jsx)(Vi,{});let u=zc(c);return(0,Ve.jsxs)("div",{className:(0,_l.default)("seat-map",{"seat-map--wings":d}),children:[l&&(0,Ve.jsx)(Jc,{value:a,setValue:m=>{s(m)}}),(0,Ve.jsx)("div",{className:"seat-map__legend-container",children:(0,Ve.jsx)(el,{symbols:u})}),c.map((m,h)=>(0,Ve.jsx)("div",{className:"seat-map__map-container",style:{"--CABIN-AISLES":m.aisles},children:m.rows.map((S,y)=>(0,Ve.jsx)(gl,{row:S,hasWings:Zc(m,y),onSeatToggled:e,selectedServicesMap:r,currentPassengerId:n,currentPassengerName:o,currentSegmentId:i},y))},`cabin-${h}`))]})};var ji=require("react/jsx-runtime"),yl=t=>(0,ji.jsx)(Cr,{children:(0,ji.jsx)(Sl,{...t})});var gt=require("react/jsx-runtime"),El=({selectedServices:t,servicePrices:e,currency:r,isFirstSegment:n,isLastSegment:o,onNextSegmentButtonClicked:i,onPreviousSegmentButtonClicked:a,onClose:s,seatMaps:c})=>{let l=Ge(t),d=rn(e,t,c),u=G(r)(d),m=n&&o;return(0,gt.jsxs)("div",{style:{padding:"16px 24px 24px"},children:[(0,gt.jsxs)("div",{className:"flex--space-between",children:[(0,gt.jsxs)("div",{children:["Price for ",Oe(l,"seat","seats")]}),(0,gt.jsxs)("div",{className:"h3--semibold",children:["+ ",u]})]}),(0,gt.jsxs)("div",{style:m?{marginTop:"16px",display:"grid"}:{marginTop:"16px",display:"grid",columnGap:"12px",gridTemplateColumns:"repeat(2, 1fr)"},children:[!m&&(0,gt.jsx)(ee,{size:48,disabled:n,variant:"outlined",onClick:()=>a(),children:"Back"}),(0,gt.jsx)(ee,{size:48,"data-testid":"confirm-selection-for-seats",onClick:()=>o?s():i(),children:o?"Confirm":"Next"})]})]})};var Pe=require("react/jsx-runtime"),vl=({segmentAndPassengerPermutationsCount:t,currentSegmentAndPassengerPermutationsIndex:e,currentSegment:r,currentPassengerName:n,setCurrentSegmentAndPassengerPermutationsIndex:o})=>(0,Pe.jsxs)("div",{style:{padding:"24px 24px 16px"},children:[t>1&&(0,Pe.jsx)("div",{style:{display:"flex",columnGap:"4px"},children:Array(t).fill(0).map((i,a)=>a===e?(0,Pe.jsx)(Lp,{},`segment_${a}`):(0,Pe.jsx)(Cl,{onClick:()=>o(a)},`segment_${a}`))}),(0,Pe.jsxs)("h2",{className:"h3--semibold",style:t>1?{marginBlock:"12px 0px"}:{},children:["Flight to ",r.destination.iata_code,(0,Pe.jsx)("span",{className:"p2--regular",style:{color:"var(--GREY-600)",marginLeft:"8px"},children:po(r.departing_at)})]}),(0,Pe.jsx)("p",{className:"h3--semibold",style:{color:"var(--GREY-600)",marginBlock:"0 4px"},children:n})]}),Cl=({onClick:t,style:e})=>(0,Pe.jsx)("button",{onClick:t,style:{border:"none",width:"4px",height:"4px",padding:"0",borderRadius:"4px",backgroundColor:"var(--TERTIARY, rgba(var(--ACCENT), var(--ACCENT-LIGHT-200)))",transition:"background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)",...e}}),Lp=()=>(0,Pe.jsx)(Cl,{onClick:void 0,style:{backgroundColor:"var(--SECONDARY, rgb(var(--ACCENT)))"}});var Rr=require("react/jsx-runtime"),bl=({isOpen:t,offer:e,passengers:r,seatMaps:n,selectedServices:o,onClose:i})=>{let[a,s]=qi.default.useState(0),[c,l]=qi.default.useState(o),d=c.reduce((K,X)=>({...K,[X.id]:X}),{});if(!e||!n)return null;let u=uo(e),m=lo(r),h=mr(e.available_services),S=jc(u),{passenger:{passenger_id:y},passengerIndex:M,segment:{id:N}}=S[a],C=u.find(({id:K})=>K===N),ce=m[y],j=n.find(K=>K.segment_id===N),qe=fo(ce,e.passengers[M],M+1),ye=K=>{let X=new Array;for(let De of c){let $t=De.id===K.id&&K.quantity===0,Ir=De.serviceInformation?.segmentId===N&&De.serviceInformation?.passengerId===y;!$t&&!Ir&&(X=[...X,De])}K.quantity>0&&(X=[...X,K]),l(X)},Yt=_o(n)??e.total_currency;return(0,Rr.jsxs)(vr,{isOpen:t,onClose:()=>i(o),children:[(0,Rr.jsx)(vl,{segmentAndPassengerPermutationsCount:S.length,currentSegment:C,currentPassengerName:qe,currentSegmentAndPassengerPermutationsIndex:a,setCurrentSegmentAndPassengerPermutationsIndex:s}),(0,Rr.jsx)(yl,{selectedServicesMap:d,seatMap:j,onSeatToggled:ye,currentPassengerId:y,currentPassengerName:qe,currentSegmentId:N}),(0,Rr.jsx)(El,{seatMaps:n,currency:Yt,selectedServices:c,servicePrices:h,isFirstSegment:a===0,isLastSegment:a+1===S.length,onNextSegmentButtonClicked:()=>{s(a+1)},onPreviousSegmentButtonClicked:()=>{s(a-1)},onClose:()=>i(c)})]})};var je=require("react/jsx-runtime"),Rl=({isLoading:t,offer:e,seatMaps:r,passengers:n,selectedServices:o,setSelectedServices:i})=>{let[a,s]=Tl.default.useState(!1),c=Array.isArray(r)&&r.length>0,l=Ge(o),d=l>0,u=bt(e,o,r),m=e?.base_currency??"";r&&(m=_o(r)??m);let h=e?G(m)(u):"0",S=c&&d?`${Oe(l,"seat","seats")} selected for ${h}`:"Specify where on the plane you\u2019d like to sit";return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)(yr,{buttonTitle:"Select seats",title:"Seat selection",copy:S,icon:"flight_class",onClick:c?()=>s(!0):null,isLoading:t,disabled:t&&!c,isSelected:d,children:[t&&(0,je.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,je.jsx)(_r,{})]}),!t&&!c&&(0,je.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,je.jsx)(bl,{isOpen:!!(e&&r&&a),seatMaps:r,offer:e,passengers:n,selectedServices:o,onClose:y=>{i(y),s(!1)}})]})};var Se=require("react/jsx-runtime"),Fp="https://assets.duffel.com/components/3.1.8--canary.8",Hp=`${Fp}/global.css`,Il=t=>{if(to(t.debug||!1),st("Properties passed into the component:",t),!Di(t))throw new Error(`The props (${Object.keys(t)}) passed to DuffelAncillaries are invalid. \`onPayloadReady\`, \`passengers\` and \`services\` are always required. Then, depending on your use case you may have one of the following combinations of required props: \`offer_id\` and \`client_key\`, \`offer\` and \`seat_maps\` or \`offer\` and \`client_key\`.Please refer to the documentation for more information and working examples: https://duffel.com/docs/guides/ancillaries-component`);if(t.services.length===0)throw new Error('You must provide at least one service in the "services" prop. Valid services: ["bags", "seats", "cancel_for_any_reason"]');let e=Mi(t),r=wi(t),n=ki(t),o=Bi(t),i=t.services.includes("seats")&&!("seat_maps"in t)&&(e||r||o),[a,s]=pe.useState(t.passengers),[c,l]=pe.useState(t.offer),[d,u]=pe.useState(r),[m,h]=pe.useState(n?t.seat_maps:void 0),[S,y]=pe.useState(i),[M,N]=pe.useState(null),[C,ce]=pe.useState([]),[j,qe]=pe.useState([]),[ye,Yt]=pe.useState([]),K=ac(t.markup,t.priceFormatters),X=k=>{let le="This offer has expired.";if(uc(k)){N(le);return}else{let Nr=new Date(k?.expires_at)?.getTime()-Date.now(),Ot=1e3*60*60*24;Nr<Ot&&setTimeout(()=>N(le),Nr)}let xr=sc(k,K);l(xr)},De=k=>{let le=cc(k,K.seats);h(le)};if(pe.useEffect(()=>{Gn("props",{"props.services":t.services,"props.passengers.length":t.passengers.length,"props.offer_id":t.offer_id,"props.client_key":t.client_key,"props.offer?.id":t.offer?.id,"props.seat_maps?.[0]?.id":t.seat_maps?.[0]?.id}),(r||e)&&gc(t.offer_id,e?null:t.client_key,N,u,k=>{if(X(k),k.passengers.length!==a.length)throw new Error(`The number of passengers given to \`duffel-ancillaries\` (${t.passengers.length}) doesn't match the number of passengers on the given offer (${k.passengers.length}).`);e&&s(t.passengers.map((le,xr)=>({...le,id:k.passengers[xr].id})))}),i&&hc(r||e?t.offer_id:t.offer.id,e?null:t.client_key,()=>De([]),y,De),o&&X(t.offer),n&&(X(t.offer),De(t.seat_maps))},[t.offer_id,t.client_key,t.offer?.id,t.seat_maps?.[0]?.id]),pe.useEffect(()=>{if(!c)return;let k=ic({baggageSelectedServices:C,seatSelectedServices:j,cfarSelectedServices:ye,offer:c,passengers:a,seatMaps:m});if(lc(k)){let le={offer_total_amount:c.total_amount,offer_total_currency:c.total_currency,offer_tax_amount:c.tax_amount,offer_tax_currency:c.tax_currency,baggage_services:C,seat_services:j,cancel_for_any_reason_services:ye};st("Payload ready",{"Order creation payload":k,"Services metadata":le}),t.onPayloadReady(k,le)}},[C,j,ye]),!Di(t))return null;let $t=`${72*t.services.length+32*(t.services.length-1)}px`,Ir={display:"flex",width:"100%",flexDirection:"column",rowGap:"12px",...t.styles?.accentColor&&{"--ACCENT":t.styles.accentColor},...t.styles?.accentColor&&ao(t.styles.accentColor)&&{"--SECONDARY":"var(--GREY-900)","--TERTIARY":"var(--GREY-400)"},...t.styles?.fontFamily&&{"--FONT-FAMILY":t.styles.fontFamily},...t.styles?.buttonCornerRadius&&{"--BUTTON-RADIUS":t.styles.buttonCornerRadius}};return st("Component's internal state:",{isOfferLoading:d,isSeatMapLoading:S,baggageSelectedServices:C,seatSelectedServices:j,cfarSelectedServices:ye,offer:c,seatMaps:m,error:M}),(0,Se.jsxs)(Se.Fragment,{children:[(0,Se.jsx)("link",{rel:"stylesheet",href:Hp}),(0,Se.jsx)("div",{className:"duffel-components",style:Ir,children:(0,Se.jsxs)(pr,{children:[M&&(0,Se.jsx)(oc,{height:$t,message:M}),!M&&t.services.map(k=>{if(k==="bags")return(0,Se.jsx)(Fc,{isLoading:d,offer:c,passengers:a,selectedServices:C,setSelectedServices:ce},"bags");if(k==="seats")return(0,Se.jsx)(Rl,{isLoading:d||S,seatMaps:m,offer:c,passengers:a,selectedServices:j,setSelectedServices:qe},"seats");if(k==="cancel_for_any_reason")return(0,Se.jsx)(Wc,{isLoading:d,offer:c,selectedServices:ye,setSelectedServices:Yt},"cancel_for_any_reason")})]})})]})};var Al=require("react/jsx-runtime"),zi="duffel-ancillaries",Zi=class extends HTMLElement{root;connectedCallback(){let e=document.createElement("div");this.attachShadow({mode:"open"}).appendChild(e),this.root=(0,xl.createRoot)(e)}render(e){if(!this.root)throw"It was not possible to render `duffel-ancillaries` because `this.root` is missing.";this.root.render((0,Al.jsx)(Il,{...e,onPayloadReady:(r,n)=>{this.dispatchEvent(new CustomEvent("onPayloadReady",{detail:{data:r,metadata:n},composed:!0}))}}))}};window.customElements.get(zi)||window.customElements.define(zi,Zi);function Nl(t){let e=document.querySelector(zi);if(!e)throw new Error(`Could not find duffel-ancillaries element in the DOM. Maybe you need to call ${t} after 'window.onload'?`);return e}function Ol(t){Nl("renderDuffelAncillariesCustomElement").render(t)}function Pl(t){let e=Nl("onDuffelAncillariesPayloadReady"),r=n=>{t(n.detail.data,n.detail.metadata)};e.addEventListener("onPayloadReady",r)}var Ul=require("react-dom/client");var Nt=A(Ml());var kl="https://js.stripe.com/v3",Up=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,wl="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",Gp=function(){for(var e=document.querySelectorAll('script[src^="'.concat(kl,'"]')),r=0;r<e.length;r++){var n=e[r];if(Up.test(n.src))return n}return null},Yp=function(e){var r=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(kl).concat(r);var o=document.head||document.body;if(!o)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return o.appendChild(n),n},$p=function(e,r){!e||!e._registerWrapper||e._registerWrapper({name:"stripe-js",version:"1.54.0",startTime:r})},yo=null,Wp=function(e){return yo!==null||(yo=new Promise(function(r,n){if(typeof window>"u"||typeof document>"u"){r(null);return}if(window.Stripe&&e&&console.warn(wl),window.Stripe){r(window.Stripe);return}try{var o=Gp();o&&e?console.warn(wl):o||(o=Yp(e)),o.addEventListener("load",function(){window.Stripe?r(window.Stripe):n(new Error("Stripe.js not available"))}),o.addEventListener("error",function(){n(new Error("Failed to load Stripe.js"))})}catch(i){n(i);return}})),yo},Vp=function(e,r,n){if(e===null)return null;var o=e.apply(void 0,r);return $p(o,n),o},Bl=Promise.resolve().then(function(){return Wp(null)}),Ll=!1;Bl.catch(function(t){Ll||console.warn(t)});var Fl=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];Ll=!0;var o=Date.now();return Bl.then(function(i){return Vp(i,r,o)})};var Ae=A(require("react"));var Z=require("react/jsx-runtime"),jp="https://assets.duffel.com/components/3.1.8--canary.8",qp=`${jp}/global.css`,zp="card",Zp="3.1.8--canary.8",Kp={color:"var(--GREY-900)",fontFamily:'"-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "sans-serif"',fontSmoothing:"antialiased",fontSize:"16px","::placeholder":{color:"#ababb4"}},Xp={color:"#ef4444",iconColor:"#ef4444"},Jp=({styles:t,paymentIntentClientToken:e,onSuccessfulPayment:r,onFailedPayment:n})=>{let[o,i]=Ae.useState(null),[a,s]=Ae.useState(!1),[c,l]=Ae.useState(!1),[d,u]=Ae.useState(!1),[m,h]=Ae.useState(""),S=(0,Nt.useStripe)(),y=(0,Nt.useElements)();return Ae.useEffect(()=>{if(y&&!o){let N=y?.getElement(zp);N&&i(N)}},[y,o]),Ae.useEffect(()=>{o&&o.on("change",N=>{let{error:C,complete:ce}=N;C?(l(!0),h(C.message)):l(!1),s(!!ce)})},[o]),e?(0,Z.jsx)("div",{className:"card-payment__container",children:(0,Z.jsxs)("form",{onSubmit:async N=>{if(N.preventDefault(),!(!S||!y)&&o){u(!0);let C=atob(e),ce=JSON.parse(C),{client_secret:j}=ce,qe=await S.confirmCardPayment(j,{payment_method:{card:o,metadata:{duffel_components_version:Zp||"failed-to-get-version"}}});if(u(!1),qe.error){let{error:ye}=qe;n(ye)}else r()}},children:[d&&(0,Z.jsx)("div",{className:"card-payment--in-progress","aria-live":"polite","aria-busy":"true"}),(0,Z.jsx)(Nt.CardElement,{className:"card-details",options:{style:{base:{...Kp,...t?.fontFamily&&{fontFamily:t.fontFamily}},invalid:{...Xp}}}}),(0,Z.jsx)("div",{className:"card-payment__container--invalid",role:"alert",children:c&&m}),(0,Z.jsx)(ee,{className:"card-payment__pay-button",type:"submit",disabled:!a||d,"aria-label":"Pay",children:d?"Processing...":"Pay"})]})}):null},Hl=t=>{let[e,r]=Ae.useState(null);to(t.debug||!1);let n=atob(t.paymentIntentClientToken),o;try{o=JSON.parse(n)}catch{throw new Error("Invalid Duffel payment intent client token provided")}let{publishable_key:i}=o;Ae.useEffect(()=>{if(!e&&i){let s=Fl(i);s&&r(s)}},[e,i]);let a={...t.styles?.accentColor&&{"--ACCENT":t.styles.accentColor},...t.styles?.accentColor&&ao(t.styles.accentColor)&&{"--SECONDARY":"black","--TERTIARY":"grey"},...t.styles?.fontFamily&&{"--FONT-FAMILY":t.styles.fontFamily},...t.styles?.buttonCornerRadius&&{"--BUTTON-RADIUS":t.styles.buttonCornerRadius}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("link",{rel:"stylesheet",href:qp}),(0,Z.jsx)("div",{className:"duffel-components",style:a,children:(0,Z.jsx)(pr,{children:(0,Z.jsx)(Nt.Elements,{stripe:e,children:(0,Z.jsx)(Jp,{...t})})})})]})};var Wl=require("react/jsx-runtime"),Ki="duffel-payments",Xi=class extends HTMLElement{root;connectedCallback(){let e=document.createElement("div");this.appendChild(e),this.root=(0,Ul.createRoot)(e)}render(e){if(!this.root)throw"It was not possible to render `duffel-payments` because `this.root` is missing.";this.root.render((0,Wl.jsx)(Hl,{...e,onSuccessfulPayment:()=>{this.dispatchEvent(new CustomEvent("onSuccessfulPayment",{composed:!0}))},onFailedPayment:r=>{this.dispatchEvent(new CustomEvent("onFailedPayment",{detail:{error:r},composed:!0}))}}))}};window.customElements.get(Ki)||window.customElements.define(Ki,Xi);function Ji(t){let e=document.querySelector(Ki);if(!e)throw new Error(`Could not find duffel-payments element in the DOM. Maybe you need to call ${t} after 'window.onload'?`);return e}function Gl(t){Ji("renderDuffelPaymentsCustomElement").render(t)}function Yl(t){Ji("onDuffelPaymentsSuccessfulPayment").addEventListener("onSuccessfulPayment",t)}function $l(t){let e=Ji("onDuffelPaymentsFailedPayment"),r=n=>{t(n.detail.error)};e.addEventListener("onFailedPayment",r)}
30
+ http://duffel.com/docs/guides/ancillaries-component`),Xs=!0},ec=t=>{Qs()?console.info(Ni,t):zr({category:"log",message:t})};function st(t,e){let r=[];Array.isArray(e)?r=e:r=Object.entries(e).map(([n,o])=>({property:n,value:o})),Qs()?(console.groupCollapsed(Ni,t),r.forEach(n=>{console.info(n)}),console.groupEnd()):zr({category:"log.group",message:t,data:e})}var v=require("react/jsx-runtime"),tc={add:(0,v.jsx)("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1z"}),apartment:(0,v.jsx)("path",{d:"M3.8496 19.9752V7.2744H7.4496V3.6744H15.9504V10.8744H20.1504V19.9752H13.4496V16.3752H10.5504V19.9752H3.8496ZM5.1504 18.6744H7.4496V16.3752H5.1504V18.6744ZM5.1504 14.7744H7.4496V12.4752H5.1504V14.7744ZM5.1504 10.8744H7.4496V8.5752H5.1504V10.8744ZM8.7504 14.7744H11.0496V12.4752H8.7504V14.7744ZM8.7504 10.8744H11.0496V8.5752H8.7504V10.8744ZM8.7504 7.2744H11.0496V4.9752H8.7504V7.2744ZM12.3504 14.7744H14.6496V12.4752H12.3504V14.7744ZM12.3504 10.8744H14.6496V8.5752H12.3504V10.8744ZM12.3504 7.2744H14.6496V4.9752H12.3504V7.2744ZM16.5504 18.6744H18.8496V16.3752H16.5504V18.6744ZM16.5504 14.7744H18.8496V12.4752H16.5504V14.7744Z"}),arrow_forward:(0,v.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"}),arrow_left:(0,v.jsx)("path",{d:"M9 19L2 12L9 5L10.425 6.4L5.825 11H22V13H5.825L10.4 17.6L9 19Z"}),arrow_right:(0,v.jsx)("path",{d:"M15 19L13.6 17.6L18.2 13H2V11H18.2L13.6 6.4L15 5L22 12L15 19Z"}),autorenew:(0,v.jsx)("path",{d:"M5.69728 14.4104C5.49326 13.9833 5.32604 13.5257 5.19562 13.0374C5.06521 12.5492 5 12.0367 5 11.5C5 9.56481 5.69083 7.91679 7.07249 6.55591C8.45416 5.19504 10.147 4.53946 12.1511 4.58918H12.7613L11.0742 2.92359L12.0097 2L15.2869 5.23549L12.0097 8.47099L11.0742 7.54739L12.7613 5.88181H12.1511C10.5021 5.84866 9.11624 6.38632 7.99347 7.49479C6.87069 8.60326 6.30931 9.93833 6.30931 11.5C6.30931 11.8455 6.33804 12.1824 6.3955 12.5106C6.45296 12.8389 6.53915 13.1573 6.65407 13.4658L5.69728 14.4104ZM11.9903 21L8.71309 17.7645L11.9903 14.529L12.9258 15.4526L11.2387 17.1182H11.8489C13.4979 17.1513 14.8838 16.6137 16.0065 15.5052C17.1293 14.3967 17.6907 13.0617 17.6907 11.5C17.6907 11.1545 17.662 10.8176 17.6045 10.4894C17.547 10.1611 17.4609 9.84273 17.3459 9.53421L18.3027 8.58959C18.5067 9.01665 18.674 9.47431 18.8044 9.96256C18.9348 10.4508 19 10.9633 19 11.5C19 13.4186 18.3092 15.0625 16.9275 16.4317C15.5458 17.8008 13.853 18.4605 11.8489 18.4108H11.2387L12.9258 20.0764L11.9903 21Z"}),bassinet:(0,v.jsxs)(v.Fragment,{children:[(0,v.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"}),(0,v.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"})]}),cabin_bag:(0,v.jsx)("path",{d:"M7.3077 20.5C6.81058 20.5 6.38502 20.323 6.03102 19.969C5.67701 19.615 5.5 19.1894 5.5 18.6923V8.25007C5.5 7.76417 5.67019 7.35103 6.01057 7.01065C6.35096 6.67027 6.7641 6.50007 7.25 6.50007H9.25V3.6924C9.25 3.43631 9.33622 3.22166 9.50865 3.04842C9.68108 2.87519 9.89773 2.78857 10.1586 2.78857H13.8414C14.1022 2.78857 14.3189 2.87519 14.4913 3.04842C14.6637 3.22166 14.75 3.43631 14.75 3.6924V6.50007H16.6922C17.1894 6.50007 17.6149 6.67708 17.9689 7.0311C18.3229 7.3851 18.5 7.81066 18.5 8.30777V18.6923C18.5 19.1894 18.3229 19.615 17.9689 19.969C17.6149 20.323 17.1894 20.5 16.6922 20.5C16.6922 20.7507 16.6074 20.9608 16.4377 21.1303C16.2681 21.2999 16.0578 21.3846 15.807 21.3846C15.5561 21.3846 15.3461 21.2999 15.1769 21.1303C15.0077 20.9608 14.923 20.7507 14.923 20.5H9.0769C9.0769 20.7513 8.99206 20.9615 8.82237 21.1308C8.65271 21.3 8.44246 21.3846 8.19162 21.3846C7.94079 21.3846 7.73076 21.2999 7.56153 21.1303C7.39231 20.9608 7.3077 20.7507 7.3077 20.5ZM10.4423 6.50007H13.5577V3.98085H10.4423V6.50007ZM7.3077 19H16.6922C16.782 19 16.8557 18.9712 16.9134 18.9135C16.9711 18.8558 17 18.7821 17 18.6923V8.30777C17 8.21802 16.9711 8.1443 16.9134 8.0866C16.8557 8.0289 16.782 8.00005 16.6922 8.00005H7.3077C7.21795 8.00005 7.14423 8.0289 7.08652 8.0866C7.02882 8.1443 6.99997 8.21802 6.99997 8.30777V18.6923C6.99997 18.7821 7.02882 18.8558 7.08652 18.9135C7.14423 18.9712 7.21795 19 7.3077 19ZM8.15382 17.1539C8.15382 17.3261 8.21009 17.4685 8.32262 17.5811C8.43514 17.6937 8.57744 17.75 8.74952 17.75C8.92161 17.75 9.06407 17.6937 9.1769 17.5811C9.28972 17.4685 9.34613 17.3261 9.34613 17.1539V9.8462C9.34613 9.67398 9.28986 9.53157 9.17732 9.41897C9.06481 9.30637 8.92251 9.25007 8.75043 9.25007C8.57834 9.25007 8.43588 9.30637 8.32305 9.41897C8.21023 9.53157 8.15382 9.67398 8.15382 9.8462V17.1539ZM11.4038 17.1539C11.4038 17.3261 11.4601 17.4685 11.5726 17.5811C11.6851 17.6937 11.8274 17.75 11.9995 17.75C12.1716 17.75 12.3141 17.6937 12.4269 17.5811C12.5397 17.4685 12.5961 17.3261 12.5961 17.1539V9.8462C12.5961 9.67398 12.5399 9.53157 12.4273 9.41897C12.3148 9.30637 12.1725 9.25007 12.0004 9.25007C11.8283 9.25007 11.6859 9.30637 11.5731 9.41897C11.4602 9.53157 11.4038 9.67398 11.4038 9.8462V17.1539ZM14.6538 17.1539C14.6538 17.3261 14.7101 17.4685 14.8226 17.5811C14.9351 17.6937 15.0774 17.75 15.2495 17.75C15.4216 17.75 15.5641 17.6937 15.6769 17.5811C15.7897 17.4685 15.8461 17.3261 15.8461 17.1539V9.8462C15.8461 9.67398 15.7899 9.53157 15.6773 9.41897C15.5648 9.30637 15.4225 9.25007 15.2504 9.25007C15.0783 9.25007 14.9359 9.30637 14.823 9.41897C14.7102 9.53157 14.6538 9.67398 14.6538 9.8462V17.1539Z"}),check:(0,v.jsx)("path",{d:"M10.3333 15.8646L7 12.5313L8.0625 11.4688L10.3333 13.7396L15.9375 8.13544L17 9.19794L10.3333 15.8646Z"}),checked_bag:(0,v.jsx)("path",{d:"M22 19H2V21H22V19M4 15C4 15.5 4.2 16 4.6 16.4C5 16.8 5.5 17 6 17V6C5.5 6 5 6.2 4.6 6.6C4.2 7 4 7.5 4 8V15M13.5 6H10.5C10.5 5.6 10.6 5.2 10.9 4.9C11.2 4.6 11.5 4.5 12 4.5C12.4 4.5 12.8 4.6 13.1 4.9C13.3 5.2 13.5 5.6 13.5 6M7 6V17H17V6H15C15 5.2 14.7 4.5 14.1 3.9S12.8 3 12 3C11.2 3 10.5 3.3 9.9 3.9C9.3 4.5 9 5.2 9 6H7M18 17C18.5 17 19 16.8 19.4 16.4C19.8 16 20 15.5 20 15V8C20 7.5 19.8 7 19.4 6.6C19 6.2 18.5 6 18 6V17Z"}),chevron:(0,v.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"}),close:(0,v.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"}),closet:(0,v.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"}),exit_row:(0,v.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"}),exit_row_right:(0,v.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"}),expand_content:(0,v.jsx)("path",{d:"M5 19V13H7V17H11V19H5ZM17 11V7H13V5H19V11H17Z"}),flight_class:(0,v.jsx)("path",{d:"M14.2596 12.5C13.7737 12.5 13.3606 12.3298 13.0202 11.9894C12.6798 11.649 12.5096 11.2359 12.5096 10.75V6.25C12.5096 5.7641 12.6798 5.35096 13.0202 5.01058C13.3606 4.67019 13.7737 4.5 14.2596 4.5H15.75C16.2359 4.5 16.649 4.67019 16.9894 5.01058C17.3298 5.35096 17.5 5.7641 17.5 6.25V10.75C17.5 11.2359 17.3298 11.649 16.9894 11.9894C16.649 12.3298 16.2359 12.5 15.75 12.5H14.2596ZM14.2596 11H15.75C15.8205 11 15.8798 10.9759 15.9278 10.9279C15.9759 10.8798 16 10.8205 16 10.75V6.25C16 6.17948 15.9759 6.12018 15.9278 6.0721C15.8798 6.02402 15.8205 5.99998 15.75 5.99998H14.2596C14.1891 5.99998 14.1298 6.02402 14.0817 6.0721C14.0336 6.12018 14.0096 6.17948 14.0096 6.25V10.75C14.0096 10.8205 14.0336 10.8798 14.0817 10.9279C14.1298 10.9759 14.1891 11 14.2596 11ZM9.5673 17.5C9.21345 17.5 8.89678 17.398 8.6173 17.1942C8.33782 16.9903 8.14423 16.7198 8.03655 16.3827L5.5 8.02883V4.5H6.99997V7.99998L9.49997 16H17.7596V17.5H9.5673ZM8.25 20.5V19H17.75V20.5H8.25ZM14.2596 5.99998H16H14.0096H14.2596Z"}),flight_takeoff:(0,v.jsx)("path",{d:"M3.77521 20.1498V18.849H20.0748V20.1498H3.77521ZM5.45041 15.2742L2.94961 11.0994L4.05001 10.8246L5.90041 12.399L10.05 11.2998L6.27481 4.89902L7.72561 4.62422L14.1 10.1994L19.4004 8.77382C19.75 8.67462 20.0832 8.72062 20.4 8.91182C20.7168 9.10382 20.9252 9.37462 21.0252 9.72422C21.1084 10.0746 21.0624 10.4038 20.8872 10.7118C20.7128 11.0198 20.4504 11.2242 20.1 11.325L5.45041 15.2742Z"}),galley:(0,v.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"}),lavatory:(0,v.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"}),lie_flat_seat:(0,v.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"}),minus:(0,v.jsx)("path",{d:"M18 13H6c-.55 0-1-.45-1-1s.45-1 1-1h12c.55 0 1 .45 1 1s-.45 1-1 1z"}),no_airplane:(0,v.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"}),no_bag:(0,v.jsx)("path",{d:"M16.8992 6.12037H14.9392V3.18101C14.9385 2.92148 14.8351 2.67278 14.6516 2.48926C14.4681 2.30574 14.2194 2.20234 13.9599 2.20166H10.0399C9.78034 2.20234 9.53163 2.30574 9.34811 2.48926C9.16459 2.67278 9.06119 2.92148 9.06051 3.18101V6.12037H8.20711L8.34715 6.25804L14.3973 12.0871V9.06102H15.9676V13.6L17.3022 14.8859L18.8592 16.4748V8.08037C18.8579 7.56096 18.6509 7.06322 18.2836 6.69594C17.9164 6.32867 17.4186 6.12173 16.8992 6.12037ZM5.14051 8.09559L3.77173 6.71825L5.00821 5.48945L7.16586 7.6606L13.9581 14.4953L15.8932 16.4426L19.7441 20.3175L20.2279 20.8043L18.9914 22.0331L17.635 20.6683C17.4035 20.7625 17.154 20.8126 16.8992 20.8133C16.904 20.945 16.8822 21.0763 16.8351 21.1993C16.788 21.3224 16.7166 21.4347 16.6251 21.5296C16.5336 21.6244 16.424 21.6999 16.3027 21.7514C16.1814 21.8029 16.051 21.8295 15.9192 21.8295C15.7874 21.8295 15.657 21.8029 15.5357 21.7514C15.4145 21.6999 15.3048 21.6244 15.2133 21.5296C15.1219 21.4347 15.0504 21.3224 15.0034 21.1993C14.9563 21.0763 14.9344 20.945 14.9392 20.8133H9.06051C9.06529 20.945 9.04348 21.0763 8.99638 21.1993C8.94929 21.3224 8.87787 21.4347 8.7864 21.5296C8.69492 21.6244 8.58527 21.6999 8.46399 21.7514C8.34271 21.8029 8.21229 21.8295 8.08051 21.8295C7.94874 21.8295 7.81832 21.8029 7.69703 21.7514C7.57575 21.6999 7.4661 21.6244 7.37463 21.5296C7.28316 21.4347 7.21174 21.3224 7.16464 21.1993C7.11754 21.0763 7.09573 20.945 7.10051 20.8133C6.58222 20.8119 6.08545 20.6059 5.71835 20.24C5.35126 19.8741 5.14357 19.378 5.14051 18.8597V8.09559ZM14.8632 17.8791L14.3973 17.4103V17.8791H14.8632ZM9.596 12.579V17.8791H8.03083V11.004L9.596 12.579ZM10.5302 3.67134H13.4695V6.12295H10.5302V3.67134Z"}),no_seat:(0,v.jsxs)(v.Fragment,{children:[(0,v.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"}),(0,v.jsx)("path",{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"})]}),north_east:(0,v.jsx)("path",{d:"M4.69999 19.3C4.51665 19.1167 4.42499 18.8833 4.42499 18.6C4.42499 18.3167 4.51665 18.0833 4.69999 17.9L15.6 7H9.99999C9.71665 7 9.47915 6.90417 9.28749 6.7125C9.09582 6.52083 8.99999 6.28333 8.99999 6C8.99999 5.71667 9.09582 5.47917 9.28749 5.2875C9.47915 5.09583 9.71665 5 9.99999 5H18C18.2833 5 18.5208 5.09583 18.7125 5.2875C18.9042 5.47917 19 5.71667 19 6V14C19 14.2833 18.9042 14.5208 18.7125 14.7125C18.5208 14.9042 18.2833 15 18 15C17.7167 15 17.4792 14.9042 17.2875 14.7125C17.0958 14.5208 17 14.2833 17 14V8.4L6.09999 19.3C5.91665 19.4833 5.68332 19.575 5.39999 19.575C5.11665 19.575 4.88332 19.4833 4.69999 19.3Z"}),seat:(0,v.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"}),seat_paid_indicator:(0,v.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"}),shield_with_moon:(0,v.jsx)("path",{d:"M12.525 15.75C13.0814 15.75 13.6269 15.6408 14.1615 15.4222C14.6961 15.2036 15.166 14.8757 15.5711 14.4385C15.6749 14.3244 15.7032 14.2033 15.6557 14.0751C15.6083 13.9469 15.5077 13.8629 15.3538 13.8232C14.7269 13.6783 14.1477 13.4183 13.6163 13.0433C13.0849 12.6683 12.6474 12.1789 12.3038 11.5751C11.9769 11.0046 11.7682 10.393 11.6778 9.74048C11.5874 9.08791 11.6589 8.45458 11.8923 7.84048C11.9525 7.68663 11.9301 7.55586 11.8249 7.44817C11.7198 7.34049 11.5916 7.30332 11.4403 7.33665C10.4442 7.59177 9.65927 8.1142 9.08555 8.90395C8.51185 9.69368 8.225 10.5591 8.225 11.5001C8.225 12.6796 8.64519 13.6828 9.48558 14.5097C10.3259 15.3366 11.3391 15.75 12.525 15.75ZM12 21.4808C9.83716 20.8911 8.04646 19.618 6.62787 17.6616C5.20929 15.7052 4.5 13.518 4.5 11.1001V5.34625L12 2.53857L19.5 5.34625V11.1001C19.5 13.518 18.7907 15.7052 17.3721 17.6616C15.9535 19.618 14.1628 20.8911 12 21.4808ZM12 19.9001C13.7333 19.3501 15.1666 18.2501 16.3 16.6001C17.4333 14.9501 18 13.1167 18 11.1001V6.37507L12 4.1347L5.99997 6.37507V11.1001C5.99997 13.1167 6.56664 14.9501 7.69997 16.6001C8.83331 18.2501 10.2666 19.3501 12 19.9001Z"}),stairs:(0,v.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"}),warning:(0,v.jsx)("path",{d:"M20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12ZM8.21071 9.25592L10.9548 12L8.21071 14.7441L9.38922 15.9226L12.1333 13.1785L14.8774 15.9226L16.0559 14.7441L13.3118 12L16.0559 9.25592L14.8774 8.07741L12.1333 10.8215L9.38922 8.07741L8.21071 9.25592Z"}),wifi:(0,v.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"})},yp=t=>t in tc?tc[t]:(ec(`The icon "${t}" is missing from ICON_MAP`),null),P=({name:t,size:e,className:r,viewBox:n,style:o})=>(0,v.jsx)("svg",{className:r,width:e||24,height:e||24,viewBox:n||"0 0 24 24","aria-label":t,"data-testid":t,style:{display:"block",fill:"currentColor",...o},children:yp(t)});var rc=A(Ne());var no=require("react/jsx-runtime"),Ep={primary:"button--primary",outlined:"button--outlined",destructive:"button--destructive"},vp={32:"button--32",40:"button--40",48:"button--48"},ee=({iconBefore:t,variant:e="primary",size:r=40,children:n,className:o,type:i="button",...a})=>(0,no.jsxs)("button",{type:i,className:(0,rc.default)("button",Ep[e],vp[r],o),...a,children:[t&&(0,no.jsx)(P,{className:"duffel-button__icon duffel-button__icon--before",name:t}),n]});var Oi=require("react/jsx-runtime"),fr=({style:t,children:e})=>(0,Oi.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",border:"dashed 1px var(--GREY-300)",borderRadius:"4px",paddingBlock:"32px",...t},children:(0,Oi.jsx)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",maxWidth:"470px"},children:e})});var Ut=require("react/jsx-runtime"),pr=class extends nc.default.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){_e(e)}render(){return this.state.hasError?(0,Ut.jsxs)(fr,{children:[(0,Ut.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"We ran into an error"}),(0,Ut.jsx)("p",{className:"p1--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:"Please try reloading. If the problem persists reach out to our support team."}),(0,Ut.jsx)("div",{children:(0,Ut.jsx)(ee,{variant:"outlined",iconBefore:"autorenew",onClick:()=>location.reload(),children:"Try again"})})]}):this.props.children}};var Gt=require("react/jsx-runtime"),oc=({height:t,message:e})=>(0,Gt.jsxs)(fr,{style:{minHeight:t},children:[(0,Gt.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"Failed to load extras"}),(0,Gt.jsx)("p",{className:"p2--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:e||"Please try reloading. If the problem persists reach out to our support team."}),(0,Gt.jsx)("div",{children:(0,Gt.jsx)(ee,{variant:"outlined",onClick:()=>location.reload(),iconBefore:"autorenew",children:"Try again"})})]});var mr=t=>t.reduce((e,{id:r,total_amount:n,total_currency:o})=>({[r]:{total_amount:n,total_currency:o},...e}),{});var bt=(t,e,r)=>{if(!t||!e||e.length===0)return 0;let n=mr(t.available_services);return rn(n,e,r)},rn=(t,e,r)=>(e||[]).reduce((n,{quantity:o,id:i})=>{let a=n;return i in t?a+=o*+t[i].total_amount:r?a+=o*Cp(i,r):_e(new Error(`The service id (${i}) provided could not be found in neither the offer nor the seat maps.`)),a},0),Cp=(t,e)=>{for(let r of e)for(let n of r.cabins)for(let o of n.rows)for(let i of o.sections)for(let a of i.elements)if(a.type==="seat"&&Array.isArray(a.available_services)){let s=a.available_services.find(c=>c.id===t);if(s)return+s.total_amount}return 0};var ic=({baggageSelectedServices:t,seatSelectedServices:e,cfarSelectedServices:r,offer:n,seatMaps:o,passengers:i})=>{let a=[...t||[],...e||[],...r||[]],s=+n.total_amount+bt(n,a,o);return{...n&&{selected_offers:[n.id]},passengers:i,services:bp(a),...n&&{payments:[{type:"balance",amount:`${s}`,currency:n.total_currency}]},type:"instant",metadata:{source:"duffel-ancillaries@3.1.8"}}},bp=t=>Array.isArray(t)?t.filter(({quantity:e})=>e>0).map(({id:e,quantity:r})=>({id:e,quantity:r})):[];var Pi=t=>(e,r)=>{let{rate:n,amount:o}=t;return{amount:e*(1+n)+o,currency:r}},Ai="You cannot supply both markup and priceFormatters for the same service.",ac=(t,e)=>{let r={};if(e&&(e.bags&&(r.bags=e.bags),e.seats&&(r.seats=e.seats),e.cancel_for_any_reason&&(r.cancel_for_any_reason=e.cancel_for_any_reason)),t){if(t.bags){if(e&&e.bags)throw new Error(Ai);r.bags=Pi(t.bags)}if(t.seats){if(e&&e.seats)throw new Error(Ai);r.seats=Pi(t.seats)}if(t.cancel_for_any_reason){if(e&&e.cancel_for_any_reason)throw new Error(Ai);r.cancel_for_any_reason=Pi(t.cancel_for_any_reason)}}return r};var oo=t=>t.type==="baggage";var gr=t=>t.type==="cancel_for_any_reason";var Tp=(t,e)=>`${t} must all have the same currency, but they have ${e.size} different currencies (${[...e].join(", ")}). Check the price formatters passed into the component's render function.`,sc=(t,e)=>{if(!e)return t;let r=t.available_services,n=new Set,o={baggage:e?.bags,cancel_for_any_reason:e?.cancel_for_any_reason},i=r.map(a=>{let s={...a};if(a.type in o&&o[a.type]){let{total_amount:c,total_currency:l}=a;if(oo(a)){let{amount:d,currency:u}=o[a.type](+a.total_amount,a.total_currency,a);c=d.toString(),u&&(l=u)}if(gr(a)){let{amount:d,currency:u}=o[a.type](+a.total_amount,a.total_currency,a);c=d.toString(),u&&(l=u)}if(n.add(l),n.size>1)throw new Error(Tp(a.type,n));s.total_amount=c,s.total_currency=l}return s});return{...t,available_services:i}};function io(t){return t.type==="seat"}var Rp=t=>`Seats must all have the same currency, but they have ${t.size} different currencies (${[...t].join(", ")}). Check the price formatters passed into the component's render function.`,Ip=(t,e,r)=>{let n={...t};if(io(n)&&n.available_services.length>0){let o=n.available_services.map(i=>{let a={...i},{amount:s,currency:c}=e(+i.total_amount,i.total_currency,i);if(a.total_amount=s.toString(),c&&(a.total_currency=c,r.add(c),r.size>1))throw new Error(Rp(r));return a});n.available_services=o}return n},cc=(t,e)=>{if(!e)return t;let r=new Set;return t.map(o=>{let i=o.cabins.map(a=>{let s=a.rows.map(c=>{let l=c.sections.map(d=>{let u=d.elements.map(m=>Ip(m,e,r));return{...d,elements:u}});return{...c,sections:l}});return{...a,rows:s}});return{...o,cabins:i}})};var ao=t=>{let e=t.split(", ").map(n=>parseInt(n));return(.2126*e[0]+.7152*e[1]+.0722*e[2])/255>.5};var lc=t=>"selected_offers"in t&&"passengers"in t&&"services"in t&&"payments"in t&&"type"in t&&"metadata"in t;var uc=t=>t.expires_at&&new Date(t.expires_at)<new Date;var nn=t=>"data"in t&&Array.isArray(t.data.errors),xp="https://api.duffel.com",Np="3.1.8";async function so(t,e,r="GET",n){st("Making request to the Duffel API",{path:e,method:r});let o=`${xp}/ancillaries-component/${e}`,i=null;try{i=await fetch(o,{method:r,body:n,headers:{"Duffel-Version":"v1",Authorization:`Bearer ${t}`,"User-Agent":`Duffel/ancillaries-component@${Np}`}})}catch(s){throw st("Failed to make request to the Duffel API",{error:s}),s}let a=await i.json();if(Array.isArray(a.errors))throw st("Request to the Duffel API failed",{operation:`${r} ${o}`,method:r,request_id:a?.meta?.request_id,errors:a.errors,status:i.status}),{...i,data:a};return st("Request to the Duffel succeeded",{request_id:a?.meta?.request_id}),a}var dc="https://assets.duffel.com/components/3.1.8",fc=async t=>await(await fetch(dc+`/fixtures/offers/${t}.json`)).json(),pc=async t=>await(await fetch(dc+`/fixtures/seat-maps/${t}.json`)).json();var co=t=>t.startsWith("fixture_off_");async function mc(t,e){return(await so(e,`offers/${t}?return_available_services=true`)).data}async function gc(t,e,r,n,o){n(!0);let i=co(t);if(t=i?t.replace("fixture_",""):t,i)return fc(t).then(a=>{n(!1),o(a)});if(!e)throw new Error("Attempted to retrieve seat maps but the client key is missing.");try{let a=await mc(t,e);o(a)}catch(a){let s="An unknown error occurred while retrieving the offer.";a instanceof Error?(s=a.message,a.message.includes("Load failed")&&(s="The Duffel API is not available. Please try again later.")):nn(a)&&a.status===404&&(s="The offer you are looking for does not exist or has expired."),nn(a)&&a.status>=500&&a.status<600&&_e(new Error(s)),r(s)}finally{n(!1)}}async function _c(t,e){return(await so(e,`offers/${t}/seat_maps`)).data}async function hc(t,e,r,n,o){n(!0);let i=co(t);if(t=i?t.replace("fixture_",""):t,i)return pc(t).then(a=>{n(!1),o(a)});if(!e)throw new Error("Attemptted to retrieve seat maps but the client key is missing.");try{let a=await _c(t,e);o(a)}catch(a){let s="An unknown error occurred while retrieving the seat maps.";a instanceof Error?(s=a.message,a.message.includes("Load failed")&&(s="The Duffel API is not available. Please try again later.")):nn(a)&&(s=a.data.errors[0]?.message||"Received an unknown error from the Duffel API."),_e(new Error(s)),r()}finally{n(!1)}}var Di=t=>Op(t)&&(Mi(t)||wi(t)||ki(t)||Bi(t)),Op=t=>"onPayloadReady"in t&&"passengers"in t&&"services"in t,Mi=t=>"offer_id"in t&&t.offer_id.startsWith("fixture_"),wi=t=>"offer_id"in t&&"client_key"in t,ki=t=>"offer"in t&&"seat_maps"in t,Bi=t=>"offer"in t&&"client_key"in t;var pe=A(require("react"));var Sc=require("react/jsx-runtime"),_r=()=>(0,Sc.jsx)("span",{className:"textual-loading-indicator","aria-hidden":"true"});var yc=require("react/jsx-runtime"),ct=({backgroundColor:t,color:e,children:r})=>(0,yc.jsx)("div",{style:{backgroundColor:t,color:e,padding:"2px 8px",whiteSpace:"nowrap",borderRadius:"4px",fontWeight:"600",fontSize:"14px",lineHeight:"20px",textAlign:"center"},children:r});var hr=(t,e)=>{if(t.available_services.length===0)throw new Error("No services available");let r=t.available_services.find(n=>n.type===e);if(!r)throw new Error(`No ${e} services available`);return r.total_currency};var Ge=t=>(t||[]).reduce((e,{quantity:r})=>e+r,0);var Pp={baggage:oo,cancel_for_any_reason:gr},Sr=(t,e)=>{let r=Pp[e];if(!r)throw new Error(`Unknown service type: ${e}`);return t&&Array.isArray(t.available_services)&&t.available_services.some(n=>r(n)&&n.maximum_quantity>0)};var G=(t,e="en-GB",r={})=>n=>{try{let i=new Intl.NumberFormat(e,{style:"currency",currency:t,...r}).format(n);return r&&r.signDisplay&&(r.signDisplay==="always"||r.signDisplay==="exceptZero"&&n!==0)?i.replace(/^([+-])/,"$1 "):i}catch{return`${n} ${t}`}};var Oe=(t,e,r)=>t==1?`${t} ${e}`:`${t} ${r}`;var Lc=A(require("react"));var Ec=A(Ne()),vc=A(require("react"));var he=require("react/jsx-runtime"),yr=({buttonTitle:t,title:e,icon:r,copy:n,onClick:o,children:i,isLoading:a,disabled:s,isSelected:c})=>{let l=vc.Children.toArray(i).length>0;return(0,he.jsxs)("button",{type:"button",title:t,...o&&{onClick:o},disabled:s,className:(0,Ec.default)("ancillary-card",a&&"ancillary-card--loading"),style:{cursor:"pointer",background:"transparent",color:"var(--GREY-900)",border:"solid 1px rgba(226, 226, 232, 1)",display:"flex",rowGap:"4px",padding:"20px",borderRadius:"8px",justifyContent:"space-between",flexWrap:"wrap",flexDirection:"column",width:"100%",boxSizing:"border-box",fontSize:"16px",fontWeight:"400",lineHeight:"24px",letterSpacing:"0em",transition:"border-color 0.3s var(--TRANSITION-CUBIC-BEZIER) background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)"},children:[(0,he.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",marginBlock:"0",textAlign:"start",marginTop:"2px",columnGap:"12px",width:"100%"},children:[(0,he.jsx)("div",{children:c?(0,he.jsx)(P,{name:"check",className:"ancillary-card__selected-icon"}):(0,he.jsx)(P,{name:r})}),(0,he.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"start",width:"100%"},children:[(0,he.jsx)("p",{className:"p1--semibold",style:{marginBlock:"0"},children:e}),(0,he.jsx)("div",{className:"ancillary-card__children",children:l?i:(0,he.jsx)(P,{name:"expand_content",className:"ancillary-card__expand-icon"})})]})]}),(0,he.jsx)("p",{className:"p1--regular",style:{textAlign:"start",color:"var(--GREY-600)",marginLeft:"34px",marginBlock:"0"},children:n})]})};var Li=t=>{t?document.body.style.overflow="":document.body.style.overflow="hidden"};var bc=A(Ne()),Tc=A(require("react"));var Cc=A(Ne());var Fi=require("react/jsx-runtime"),Ap={primary:"icon-button--primary",outlined:"icon-button--outlined"},on=({icon:t,variant:e="primary",className:r,...n})=>(0,Fi.jsx)("button",{type:"button",className:(0,Cc.default)("icon-button",Ap[e],r),...n,children:(0,Fi.jsx)(P,{name:t})});var Er=require("react/jsx-runtime"),vr=({children:t,onClose:e,isOpen:r})=>(Tc.useEffect(()=>(Li(!r),()=>Li(!0)),[r]),(0,Er.jsx)("div",{className:(0,bc.default)("modal",r&&"modal--open"),style:{opacity:0},children:(0,Er.jsxs)("div",{role:"presentation",className:"modal--content",children:[t,(0,Er.jsx)(on,{icon:"close",onClick:e,title:"Close modal",className:"modal--close-button"})]})})),Cr=({children:t})=>(0,Er.jsx)("div",{className:"modal-body",children:t});var lo=t=>t.reduce((e,r)=>({[r.id]:r,...e}),{});var uo=t=>t.slices.reduce((e,r)=>[...e,...r.segments],new Array);var mo=A(require("react"));var fo=(t,e,r)=>t?t.given_name&&t.family_name?`${t.given_name} ${t.family_name}`:t.given_name?t.given_name:t.family_name?t.family_name:e?.given_name&&e?.family_name?`${e.given_name} ${e.family_name}`:e?.given_name?e.given_name:e?.family_name?e.family_name:`Passenger ${r}`:`Passenger ${r}`;var Rc=t=>{if(!t)return _e(new Error("getBaggageServiceDescription was not given any metadata")),null;if(!t.maximum_weight_kg&&!t.maximum_length_cm&&!t.maximum_height_cm&&!t.maximum_depth_cm)return null;let e=t.maximum_length_cm&&t.maximum_height_cm&&t.maximum_depth_cm,r="";e&&(r=` / ${t.maximum_height_cm} x ${t.maximum_length_cm} x ${t.maximum_depth_cm} cm`);let n="";return t.maximum_weight_kg&&(n=`Up to ${t.maximum_weight_kg}kg`),`${n}${r}`};var Ic=(t,e,r,n)=>t.some(o=>o.id===n.id||o.serviceInformation?.type!=="carry_on"&&o.serviceInformation?.type!=="checked"||o.serviceInformation?.segmentId!==e||o.serviceInformation?.passengerId!==r?!1:o.serviceInformation?.type===n.metadata.type);var br=require("react/jsx-runtime"),xc=({id:t,min:e,max:r,value:n,onChange:o})=>(0,br.jsxs)("div",{className:"counter",id:t,children:[(0,br.jsx)(on,{icon:"minus",title:"Remove one",id:`${t}-minus`,"data-testid":`${t}-minus`,variant:"outlined",disabled:n<=e,onClick:()=>o(Math.max(n-1,e))}),(0,br.jsx)("div",{className:"counter__count-label",children:n}),(0,br.jsx)(on,{icon:"add",title:"Add one",id:`${t}-plus`,"data-testid":`${t}-plus`,variant:"outlined",disabled:n>=r,onClick:()=>o(Math.min(n+1,r))})]});var lt=require("react/jsx-runtime"),Nc=({segmentId:t,passengerId:e,availableService:r,quantity:n,onQuantityChanged:o,selectedServices:i})=>{let a=r.metadata.type==="carry_on"?"Cabin bag":"Checked bag",s=G(r.total_currency)(+r.total_amount),c=Rc(r.metadata),l=Ic(i,t,e,r);return(0,lt.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,lt.jsxs)("div",{children:[(0,lt.jsxs)("p",{style:{margin:0},className:"p2--regular",children:[a,(0,lt.jsx)("span",{style:{marginInline:"4px",color:"var(--GREY-400)"},children:"\u2022"}),(0,lt.jsx)("span",{className:"p2--semibold","data-testid":`price-label--${r.id}--${e}`,children:s})]}),(0,lt.jsx)("p",{style:{margin:0,color:"var(--GREY-600)"},className:"p3--regular",children:c})]}),(0,lt.jsx)(xc,{id:`counter--${r.id}--${e}`,min:0,value:n,onChange:o,max:l?0:r.maximum_quantity})]})};var Pc=require("react/jsx-runtime"),Oc=({includedBaggage:t})=>{let{carryOnBagsQuantity:e,checkedBagsQuantity:r}=t.reduce((o,{type:i,quantity:a})=>({carryOnBagsQuantity:o.carryOnBagsQuantity+(i==="carry_on"?a:0),checkedBagsQuantity:o.checkedBagsQuantity+(i==="checked"?a:0)}),{carryOnBagsQuantity:0,checkedBagsQuantity:0}),n=new Array;return e>0&&n.push(Oe(e,"cabin bag","cabin bags")),r>0&&n.push(Oe(r,"checked bag","checked bags")),(0,Pc.jsxs)("div",{style:{marginBlock:"8px",padding:"8px 12px",color:" var(--GREEN-300)",backgroundColor:" var(--GREEN-100)",borderRadius:"6px"},className:"p2--regular",children:[n.join(" and ")," included with ticket"]})};var Tt=require("react/jsx-runtime"),Ac=({segmentId:t,passengerId:e,passengerName:r,includedBaggage:n,passengerServicesForSegment:o,selectedServices:i,setSelectedServices:a})=>{let s=n.reduce((c,l)=>c+l.quantity,0);return(0,Tt.jsxs)("div",{style:{marginTop:"24px"},children:[(0,Tt.jsx)("h3",{style:{margin:0},className:"p1--semibold",children:r}),s?(0,Tt.jsx)(Oc,{includedBaggage:n}):null,(0,Tt.jsx)("div",{style:{display:"flex",rowGap:"8px",flexDirection:"column"},children:o.map(c=>(0,Tt.jsx)(Nc,{passengerId:e,segmentId:t,availableService:c,selectedServices:i,quantity:i.find(({id:l})=>l==c.id)?.quantity||0,onQuantityChanged:l=>Dp(l,t,e,r,c,i,a)},c.id))}),o.length===0&&(0,Tt.jsx)("p",{style:{color:"var(--GREY-700)",margin:0},children:"Extra baggage is not available for this passenger on this flight"})]})},Dp=(t,e,r,n,o,i,a)=>{let s=i.findIndex(({id:l})=>o.id===l),c=Array.from(i);s<0?c.push({id:o.id,quantity:t,serviceInformation:{segmentId:e,passengerId:r,passengerName:n,total_amount:o.total_amount,total_currency:o.total_currency,...o.metadata}}):c[s].quantity=t,a(c.filter(({quantity:l})=>l!==0))};var Hi=require("react/jsx-runtime"),Dc=({offer:t,segment:e,passengersById:r,selectedServices:n,setSelectedServices:o})=>(0,Hi.jsx)(Cr,{children:e.passengers.map(({passenger_id:i,baggages:a},s)=>(0,Hi.jsx)(Ac,{segmentId:e.id,passengerId:i,passengerName:fo(r[i],t.passengers.find(({id:c})=>c===i),s+1),includedBaggage:a,passengerServicesForSegment:t.available_services.filter(({type:c,passenger_ids:l,segment_ids:d})=>c==="baggage"&&l.includes(i)&&d.includes(e.id)),selectedServices:n,setSelectedServices:o},i))});var ut=require("react/jsx-runtime"),Mc=({selectedServices:t,servicePrices:e,currency:r,isFirstSegment:n,isLastSegment:o,onNextSegmentButtonClicked:i,onPreviousSegmentButtonClicked:a,onClose:s})=>{let c=Ge(t),l=rn(e,t),d=G(r)(l),u=n&&n;return(0,ut.jsxs)("div",{style:{padding:"16px 24px 24px"},children:[(0,ut.jsxs)("div",{className:"flex--space-between",children:[(0,ut.jsxs)("div",{children:["Price for ",Oe(c,"extra bag","extra bags")]}),(0,ut.jsxs)("div",{className:"h3--semibold","data-testid":"baggage-total-amount-label",children:["+ ",d]})]}),(0,ut.jsxs)("div",{style:u?{marginTop:"16px",display:"grid"}:{marginTop:"16px",display:"grid",columnGap:"12px",gridTemplateColumns:"repeat(2, 1fr)"},children:[!u&&(0,ut.jsx)(ee,{size:48,variant:"outlined",disabled:n,onClick:()=>a(),children:"Back"}),(0,ut.jsx)(ee,{size:48,"data-testid":"confirm-selection-for-baggage",onClick:()=>o?s():i(),children:o?"Confirm":"Next"})]})]})};var po=t=>{let e=new Date(t);if(isNaN(e.valueOf()))_e(new Error(`formatDateString attempted to parse an invalid date string: ${t}`));else return Mp(e)},Mp=t=>{let{format:e}=new Intl.DateTimeFormat(void 0,{dateStyle:"medium"});return e(t)};var Ye=require("react/jsx-runtime"),wc=({segmentCount:t,currentSegmentIndex:e,currentSegment:r,setCurrentSegmentIndex:n})=>(0,Ye.jsxs)("div",{style:{padding:"24px 24px 16px"},children:[t>1&&(0,Ye.jsx)("div",{style:{display:"flex",columnGap:"4px"},children:Array(t).fill(0).map((o,i)=>i===e?(0,Ye.jsx)(wp,{},`segment_${i}`):(0,Ye.jsx)(kc,{onClick:()=>n(i)},`segment_${i}`))}),(0,Ye.jsxs)("h2",{className:"h3--semibold",style:t>1?{marginTop:"12px"}:{},children:["Flight to ",r.destination.iata_code,(0,Ye.jsx)("span",{className:"p2--regular",style:{color:"var(--GREY-600)",marginLeft:"8px"},children:po(r.departing_at)})]})]}),kc=({onClick:t,style:e})=>(0,Ye.jsx)("button",{onClick:t,style:{border:"none",width:"4px",height:"4px",padding:"0",borderRadius:"4px",backgroundColor:"var(--TERTIARY, rgba(var(--ACCENT), var(--ACCENT-LIGHT-200)))",transition:"background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)",...e}}),wp=()=>(0,Ye.jsx)(kc,{onClick:void 0,style:{backgroundColor:"var(--SECONDARY, rgb(var(--ACCENT)))"}});var Tr=require("react/jsx-runtime"),Bc=({isOpen:t,offer:e,passengers:r,onClose:n,selectedServices:o})=>{let[i,a]=(0,mo.useState)(0),[s,c]=mo.default.useState(o);if(!e)return null;let l=uo(e),d=l[i],u=lo(r),m=mr(e.available_services),h=e.base_currency;return Sr(e,"baggage")&&(h=hr(e,"baggage")),(0,Tr.jsxs)(vr,{isOpen:t,onClose:()=>n(o),children:[(0,Tr.jsx)(wc,{segmentCount:l.length,currentSegment:d,currentSegmentIndex:i,setCurrentSegmentIndex:S=>a(S)}),(0,Tr.jsx)(Dc,{offer:e,selectedServices:s,passengersById:u,segment:d,setSelectedServices:c}),(0,Tr.jsx)(Mc,{currency:h,selectedServices:s,servicePrices:m,isFirstSegment:i===0,isLastSegment:i+1===l.length,onNextSegmentButtonClicked:()=>a(i+1),onPreviousSegmentButtonClicked:()=>a(i-1),onClose:()=>n(s)})]})};var $e=require("react/jsx-runtime"),Fc=({isLoading:t,offer:e,passengers:r,selectedServices:n,setSelectedServices:o})=>{let[i,a]=Lc.default.useState(!1),s=Sr(e,"baggage"),c=Ge(n),l=c>0,d=bt(e,n),u=e?.base_currency||"";s&&(u=hr(e,"baggage"));let m=e?G(u)(d):"0",h=s&&l?`${Oe(c,"bag","bags")} added for ${m}`:"Add any extra baggage you need for your trip";return(0,$e.jsxs)($e.Fragment,{children:[(0,$e.jsxs)(yr,{buttonTitle:"Select extra baggage",title:"Extra baggage",copy:h,icon:"cabin_bag",onClick:s?()=>a(!0):null,isLoading:t,disabled:!t&&!s,isSelected:l,children:[t&&(0,$e.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,$e.jsx)(_r,{})]}),!t&&!s&&(0,$e.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,$e.jsx)(Bc,{isOpen:!!(i&&e),offer:e,passengers:r,onClose:S=>{let y=JSON.parse(JSON.stringify(S));o(y),a(!1)},selectedServices:n})]})};var $c=A(require("react"));var an=require("react/jsx-runtime"),go=({children:t})=>(0,an.jsxs)("li",{className:"cfar-modal-list-item",children:[(0,an.jsx)(P,{name:"check"}),(0,an.jsx)("p",{children:t})]});var dt=require("react/jsx-runtime"),Hc=({offerCurrency:t,service:e})=>(0,dt.jsxs)(Cr,{children:[(0,dt.jsxs)("ul",{style:{padding:0},children:[(0,dt.jsx)(go,{children:"Cancel your trip for any reason"}),(0,dt.jsxs)(go,{children:["Guaranteed refund of"," ",G(t)(+e.metadata.refund_amount)]}),(0,dt.jsx)(go,{children:"Redeemable up to 24 hours before first flight departure"})]}),(0,dt.jsxs)("a",{href:e.metadata.terms_and_conditions_url,rel:"noopener noreferrer",target:"_blank",className:"p2--regular",style:{color:"var(--GREY-600)"},children:["Terms and conditions",(0,dt.jsx)(P,{name:"north_east",size:16,style:{display:"inline",verticalAlign:"middle",marginLeft:"4px"}})]})]});var Rt=require("react/jsx-runtime"),Uc=({service:t,selectedServices:e,onAddCfarService:r,onRemoveCfarService:n,onClose:o})=>{let i=e.some(({id:s})=>s==t.id),a=G(t.total_currency)(+t.total_amount);return(0,Rt.jsxs)("div",{className:"cfar-modal-footer",children:[(0,Rt.jsx)(ee,{size:48,variant:i?"destructive":"outlined",onClick:i?n:o,children:i?"Remove protection":"Don\u2019t protect trip"}),!i&&(0,Rt.jsxs)(ee,{size:48,"data-testid":"confirm-selection-for-cfar",onClick:r,children:["Add protection for ",a]}),i&&(0,Rt.jsx)(kp,{})]})},kp=()=>(0,Rt.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",columnGap:"8px",backgroundColor:"var(--GREY-100)",padding:"var(--space-12)",borderRadius:"var(--BUTTON-RADIUS)"},children:[(0,Rt.jsx)(P,{size:20,name:"shield_with_moon",style:{fill:"var(--SECONDARY, rgb(var(--ACCENT)))"}}),"Your trip is protected"]});var Ui=require("react/jsx-runtime"),Gc=()=>(0,Ui.jsx)("div",{style:{padding:"24px 24px 16px"},children:(0,Ui.jsx)("h2",{className:"h3--semibold",style:{marginBlock:0},children:"Cancel for any reason"})});var ft=require("react/jsx-runtime"),Yc=({isOpen:t,offerCurrency:e,service:r,onClose:n,selectedServices:o})=>(0,ft.jsxs)(vr,{isOpen:t,onClose:()=>n(o),children:[(0,ft.jsx)(Gc,{}),r&&e&&(0,ft.jsxs)(ft.Fragment,{children:[(0,ft.jsx)(Hc,{service:r,offerCurrency:e}),(0,ft.jsx)(Uc,{service:r,selectedServices:o,onAddCfarService:()=>n([{id:r.id,quantity:1,serviceInformation:{type:"cancel_for_any_reason",total_amount:r.total_amount,total_currency:r.total_currency,...r.metadata}}]),onRemoveCfarService:()=>n([]),onClose:()=>n(o)})]})]});var We=require("react/jsx-runtime"),Wc=({isLoading:t,offer:e,selectedServices:r,setSelectedServices:n})=>{let[o,i]=$c.default.useState(!1),a=Sr(e,"cancel_for_any_reason"),c=Ge(r)>0,l=e?.base_currency||"";a&&(l=hr(e,"cancel_for_any_reason"));let d=bt(e,r),u=e?G(l)(d):"0",m=e?.available_services.find(gr),h=a&&c?`Your trip is protected for ${u}`:"Protect your purchase if you decide to cancel";return(0,We.jsxs)(We.Fragment,{children:[(0,We.jsxs)(yr,{buttonTitle:"Add cancel for any reason",title:"Cancel for any reason",copy:h,icon:"shield_with_moon",onClick:a?()=>i(!0):null,isLoading:t,disabled:!t&&!a,isSelected:c,children:[t&&(0,We.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,We.jsx)(_r,{})]}),!t&&!a&&(0,We.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,We.jsx)(Yc,{isOpen:!!(o&&e&&m),offerCurrency:e?.base_currency,service:m,onClose:S=>{i(!1),n(S)},selectedServices:r})]})};var Vc=(t,e)=>{for(let r of t)for(let n of r.cabins)for(let o of n.rows)for(let i of o.sections)for(let a of i.elements)if(e(a))return a};var _o=t=>Vc(t,r=>r.type==="seat"&&r.available_services.length>0)?.available_services[0]?.total_currency;var Tl=A(require("react"));var jc=t=>t.flatMap(e=>e.passengers.map((r,n)=>({passenger:r,passengerIndex:n,segment:e})));var qi=A(require("react"));var qc=(t,e)=>e.cabins.filter(r=>r.deck===t);var zc=t=>{let e=new Set;for(let r of t)for(let n of r.rows)for(let o of n.sections)for(let i of o.elements)i.type!=="seat"&&i.type!=="empty"&&e.add(i.type);return e};var Zc=(t,e)=>!!(t.wings&&t.wings.first_row_index<=e&&t.wings.last_row_index>=e);var _l=A(Ne()),hl=A(require("react"));var Kc=A(Ne());var Gi=require("react/jsx-runtime"),Xc=({value:t,onChange:e,options:r})=>(0,Gi.jsx)("div",{className:"seat-map__tab-select",children:r.map(n=>(0,Gi.jsx)("button",{type:"button",className:(0,Kc.default)("seat-map__tab-select-option",{"seat-map__tab-select-option--selected":n===t}),onClick:()=>t!==n&&e(n),children:n},n))});var Qc=require("react/jsx-runtime"),Jc=({value:t,setValue:e})=>{let r=["Lower deck","Upper deck"];return(0,Qc.jsx)(Xc,{options:r,value:r[t],onChange:n=>e(r.indexOf(n))})};var te=require("react/jsx-runtime"),el=({symbols:t})=>(0,te.jsxs)("div",{className:"seat-map__legend",children:[(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--fee-payable","aria-label":"Additional cost for seat",children:(0,te.jsx)(P,{name:"seat_paid_indicator",className:"seat-map__legend-seat--fee-payable-indicator",size:12})}),"Additional Cost"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--included","aria-label":"Included seat"}),"Included"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat seat-map__legend-seat--selected","aria-label":"Selected seat"}),"Selected"]}),(0,te.jsxs)("span",{className:"seat-map__legend-item",children:[(0,te.jsx)("span",{className:"seat-map__legend-seat","aria-label":"Unavailable seat",children:(0,te.jsx)(P,{name:"close",size:14})}),"Unavailable"]}),[...t].map(e=>(0,te.jsxs)("span",{className:"seat-map__legend-item seat-map__legend-item--symbol",children:[(0,te.jsx)(P,{name:e,size:20}),e.split("_")[0]]},e))]});var tl=t=>{let e=Object.values(t.sections).map(r=>r.elements).reduce((r,n)=>r.concat(n),[]).filter(r=>r.type==="seat");return e.length>0?e[0].designator.substring(0,e[0].designator.length-1):null};var pl=A(Ne()),Wi=A(require("react"));var rl=A(Ne());var Yi=require("react/jsx-runtime"),Bp=["bassinet","exit_row"],nl=({type:t})=>(0,Yi.jsx)("div",{className:(0,rl.default)("map-element map-element--amenity",{"map-element--wrapped":!Bp.includes(t)}),"aria-label":t.toString(),children:(0,Yi.jsx)(P,{name:t,size:16})});var ol=require("react/jsx-runtime"),sn=()=>(0,ol.jsx)("div",{className:"map-element map-element--empty"});var il=A(Ne());var ho=require("react/jsx-runtime"),al=({isRight:t})=>(0,ho.jsx)("div",{className:(0,il.default)("map-element map-element--exit",{"map-element--exit--right":t}),children:t?(0,ho.jsx)(P,{name:"exit_row_right"}):(0,ho.jsx)(P,{name:"exit_row"})});var sl=(t="")=>t.split(" ").map(e=>e[0]).slice(0,2).join("");var ul=A(Ne());var It=require("react/jsx-runtime"),cl=({seat:t,service:e})=>{let r=e?G(e.total_currency)(+e.total_amount):"";return(0,It.jsxs)("div",{className:"seat-info",children:[(0,It.jsxs)("div",{className:"seat-info__details",children:[(0,It.jsx)("strong",{children:t?.designator}),(0,It.jsxs)("span",{children:[t?.name||"Seat"," "]}),(0,It.jsx)("strong",{children:r})]}),t?.disclosures.map((n,o)=>(0,It.jsx)("div",{className:"seat-info__disclosure",children:n},o))]})};var $i=require("react/jsx-runtime"),ll=({seat:t})=>(0,$i.jsx)("span",{className:"map-element map-element__seat","aria-label":`${t.designator} ${t.name||"Seat"} Unavailable`,children:(0,$i.jsx)(P,{name:"close",size:14})});var pt=require("react/jsx-runtime"),dl=({element:t,currentPassengerId:e,currentSegmentId:r,currentPassengerName:n,onSeatToggled:o,selectedServicesMap:i})=>{let a=t.available_services.find(M=>M.passenger_id===e);if(!a)return(0,pt.jsx)(ll,{seat:t});let s=Object.values(i).find(M=>M.serviceInformation?.designator===t.designator&&M.serviceInformation?.segmentId===r),c=s!=null,l=c?sl(s.serviceInformation?.passengerName):t.designator.charAt(t.designator.length-1),d=!isNaN(+a?.total_amount)&&+a?.total_amount!=0,u=!c&&a.passenger_id===e,m=!c||c&&r===s.serviceInformation?.segmentId&&e===s.serviceInformation?.passengerId,h=(0,ul.default)("map-element","map-element__seat",{"map-element--available":u,"map-element--selected":c,"map-element--actionable":m}),S=G(a.total_currency)(+a.total_amount),y=c&&r===s.serviceInformation?.segmentId&&e===s.serviceInformation?.passengerId;return(0,pt.jsxs)(pt.Fragment,{children:[(0,pt.jsxs)("button",{"data-testid":`seat-${t.designator}`,id:t.designator,className:h,onClick:()=>{m&&o({quantity:c?0:1,id:a.id,serviceInformation:{type:"seat",segmentId:r,passengerId:e,passengerName:n,designator:t.designator,disclosures:t.disclosures,total_amount:a.total_amount,total_currency:a.total_currency}})},"aria-label":`${t.designator} ${t.name||"Seat"} ${S}`,children:[d&&(0,pt.jsx)(P,{name:"seat_paid_indicator",className:"map-element--fee-payable",size:16}),l]}),y&&(0,pt.jsx)(cl,{seat:t,service:a})]})};var xt=require("react/jsx-runtime"),fl=({element:t,elementIndex:e,sectionIndex:r,onSeatToggled:n,selectedServicesMap:o,currentPassengerId:i,currentSegmentId:a,currentPassengerName:s})=>(0,xt.jsx)(xt.Fragment,{children:io(t)?(0,xt.jsx)(dl,{currentSegmentId:a,currentPassengerId:i,currentPassengerName:s,selectedServicesMap:o,element:t,onSeatToggled:n},e):t.type==="empty"?(0,xt.jsx)(sn,{},e):t.type==="exit_row"?(0,xt.jsx)(al,{isRight:r>0},e):(0,xt.jsx)(nl,{type:t.type},e)});var mt=require("react/jsx-runtime"),ml=({row:t,rowNumber:e,hasWings:r,section:n,sectionIndex:o,onSeatToggled:i,selectedServicesMap:a,currentPassengerId:s,currentPassengerName:c,currentSegmentId:l})=>{let d=Object.keys(t.sections).length,u=d===1;return(0,mt.jsxs)(Wi.Fragment,{children:[(0,mt.jsx)("div",{className:(0,pl.default)("map-section",{"map-section--left":o===0,"map-section--right":u?!1:o===d-1,"map-section--wing":r}),children:n.elements.length>0?n.elements.map((m,h)=>(0,mt.jsx)(Wi.Fragment,{children:(0,mt.jsx)(fl,{sectionIndex:o,elementIndex:h,element:m,selectedServicesMap:a,onSeatToggled:i,currentPassengerId:s,currentSegmentId:l,currentPassengerName:c})},h)):(0,mt.jsx)(sn,{})}),(o<d-1||u&&o<d)&&(0,mt.jsx)("span",{className:"map-section__aisle",children:e}),u&&o===t.sections.length-1&&(0,mt.jsx)(sn,{})]},o)};var cn=require("react/jsx-runtime"),gl=({row:t,hasWings:e,onSeatToggled:r,selectedServicesMap:n,currentPassengerId:o,currentPassengerName:i,currentSegmentId:a})=>{let s=tl(t);return(0,cn.jsx)(cn.Fragment,{children:t.sections.map((c,l)=>(0,cn.jsx)(ml,{row:t,rowNumber:s,hasWings:e,section:c,sectionIndex:l,selectedServicesMap:n,onSeatToggled:r,currentPassengerId:o,currentPassengerName:i,currentSegmentId:a},l))})};var ln=require("react/jsx-runtime"),Vi=()=>(0,ln.jsxs)(fr,{children:[(0,ln.jsx)("p",{style:{marginBlock:"0"},className:"p1--semibold",children:"Seat selection unavailable"}),(0,ln.jsx)("p",{className:"p1--regular",style:{color:"var(--GREY-600)",marginBlock:"12px",textAlign:"center"},children:"Unfortunately seat selection is not available for this flight. A seat will be allocated by the airline."})]});var Ve=require("react/jsx-runtime"),Sl=({seatMap:t,onSeatToggled:e,selectedServicesMap:r,currentPassengerId:n,currentPassengerName:o,currentSegmentId:i})=>{let[a,s]=hl.useState(0);if(!t||!t.cabins||!t.cabins.length)return(0,Ve.jsx)(Vi,{});let c=qc(a,t),l=c.length!==t.cabins.length,d=t.cabins.some(m=>m.wings);if(!c||!c.length)return(0,Ve.jsx)(Vi,{});let u=zc(c);return(0,Ve.jsxs)("div",{className:(0,_l.default)("seat-map",{"seat-map--wings":d}),children:[l&&(0,Ve.jsx)(Jc,{value:a,setValue:m=>{s(m)}}),(0,Ve.jsx)("div",{className:"seat-map__legend-container",children:(0,Ve.jsx)(el,{symbols:u})}),c.map((m,h)=>(0,Ve.jsx)("div",{className:"seat-map__map-container",style:{"--CABIN-AISLES":m.aisles},children:m.rows.map((S,y)=>(0,Ve.jsx)(gl,{row:S,hasWings:Zc(m,y),onSeatToggled:e,selectedServicesMap:r,currentPassengerId:n,currentPassengerName:o,currentSegmentId:i},y))},`cabin-${h}`))]})};var ji=require("react/jsx-runtime"),yl=t=>(0,ji.jsx)(Cr,{children:(0,ji.jsx)(Sl,{...t})});var gt=require("react/jsx-runtime"),El=({selectedServices:t,servicePrices:e,currency:r,isFirstSegment:n,isLastSegment:o,onNextSegmentButtonClicked:i,onPreviousSegmentButtonClicked:a,onClose:s,seatMaps:c})=>{let l=Ge(t),d=rn(e,t,c),u=G(r)(d),m=n&&o;return(0,gt.jsxs)("div",{style:{padding:"16px 24px 24px"},children:[(0,gt.jsxs)("div",{className:"flex--space-between",children:[(0,gt.jsxs)("div",{children:["Price for ",Oe(l,"seat","seats")]}),(0,gt.jsxs)("div",{className:"h3--semibold",children:["+ ",u]})]}),(0,gt.jsxs)("div",{style:m?{marginTop:"16px",display:"grid"}:{marginTop:"16px",display:"grid",columnGap:"12px",gridTemplateColumns:"repeat(2, 1fr)"},children:[!m&&(0,gt.jsx)(ee,{size:48,disabled:n,variant:"outlined",onClick:()=>a(),children:"Back"}),(0,gt.jsx)(ee,{size:48,"data-testid":"confirm-selection-for-seats",onClick:()=>o?s():i(),children:o?"Confirm":"Next"})]})]})};var Pe=require("react/jsx-runtime"),vl=({segmentAndPassengerPermutationsCount:t,currentSegmentAndPassengerPermutationsIndex:e,currentSegment:r,currentPassengerName:n,setCurrentSegmentAndPassengerPermutationsIndex:o})=>(0,Pe.jsxs)("div",{style:{padding:"24px 24px 16px"},children:[t>1&&(0,Pe.jsx)("div",{style:{display:"flex",columnGap:"4px"},children:Array(t).fill(0).map((i,a)=>a===e?(0,Pe.jsx)(Lp,{},`segment_${a}`):(0,Pe.jsx)(Cl,{onClick:()=>o(a)},`segment_${a}`))}),(0,Pe.jsxs)("h2",{className:"h3--semibold",style:t>1?{marginBlock:"12px 0px"}:{},children:["Flight to ",r.destination.iata_code,(0,Pe.jsx)("span",{className:"p2--regular",style:{color:"var(--GREY-600)",marginLeft:"8px"},children:po(r.departing_at)})]}),(0,Pe.jsx)("p",{className:"h3--semibold",style:{color:"var(--GREY-600)",marginBlock:"0 4px"},children:n})]}),Cl=({onClick:t,style:e})=>(0,Pe.jsx)("button",{onClick:t,style:{border:"none",width:"4px",height:"4px",padding:"0",borderRadius:"4px",backgroundColor:"var(--TERTIARY, rgba(var(--ACCENT), var(--ACCENT-LIGHT-200)))",transition:"background-color 0.3s var(--TRANSITION-CUBIC-BEZIER)",...e}}),Lp=()=>(0,Pe.jsx)(Cl,{onClick:void 0,style:{backgroundColor:"var(--SECONDARY, rgb(var(--ACCENT)))"}});var Rr=require("react/jsx-runtime"),bl=({isOpen:t,offer:e,passengers:r,seatMaps:n,selectedServices:o,onClose:i})=>{let[a,s]=qi.default.useState(0),[c,l]=qi.default.useState(o),d=c.reduce((K,X)=>({...K,[X.id]:X}),{});if(!e||!n)return null;let u=uo(e),m=lo(r),h=mr(e.available_services),S=jc(u),{passenger:{passenger_id:y},passengerIndex:M,segment:{id:N}}=S[a],C=u.find(({id:K})=>K===N),ce=m[y],j=n.find(K=>K.segment_id===N),qe=fo(ce,e.passengers[M],M+1),ye=K=>{let X=new Array;for(let De of c){let $t=De.id===K.id&&K.quantity===0,Ir=De.serviceInformation?.segmentId===N&&De.serviceInformation?.passengerId===y;!$t&&!Ir&&(X=[...X,De])}K.quantity>0&&(X=[...X,K]),l(X)},Yt=_o(n)??e.total_currency;return(0,Rr.jsxs)(vr,{isOpen:t,onClose:()=>i(o),children:[(0,Rr.jsx)(vl,{segmentAndPassengerPermutationsCount:S.length,currentSegment:C,currentPassengerName:qe,currentSegmentAndPassengerPermutationsIndex:a,setCurrentSegmentAndPassengerPermutationsIndex:s}),(0,Rr.jsx)(yl,{selectedServicesMap:d,seatMap:j,onSeatToggled:ye,currentPassengerId:y,currentPassengerName:qe,currentSegmentId:N}),(0,Rr.jsx)(El,{seatMaps:n,currency:Yt,selectedServices:c,servicePrices:h,isFirstSegment:a===0,isLastSegment:a+1===S.length,onNextSegmentButtonClicked:()=>{s(a+1)},onPreviousSegmentButtonClicked:()=>{s(a-1)},onClose:()=>i(c)})]})};var je=require("react/jsx-runtime"),Rl=({isLoading:t,offer:e,seatMaps:r,passengers:n,selectedServices:o,setSelectedServices:i})=>{let[a,s]=Tl.default.useState(!1),c=Array.isArray(r)&&r.length>0,l=Ge(o),d=l>0,u=bt(e,o,r),m=e?.base_currency??"";r&&(m=_o(r)??m);let h=e?G(m)(u):"0",S=c&&d?`${Oe(l,"seat","seats")} selected for ${h}`:"Specify where on the plane you\u2019d like to sit";return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)(yr,{buttonTitle:"Select seats",title:"Seat selection",copy:S,icon:"flight_class",onClick:c?()=>s(!0):null,isLoading:t,disabled:t&&!c,isSelected:d,children:[t&&(0,je.jsxs)(ct,{color:"var(--GREY-900)",backgroundColor:"var(--GREY-100)",children:["Loading",(0,je.jsx)(_r,{})]}),!t&&!c&&(0,je.jsx)(ct,{color:"var(--GREY-700)",backgroundColor:"var(--GREY-200)",children:"Not available"})]}),(0,je.jsx)(bl,{isOpen:!!(e&&r&&a),seatMaps:r,offer:e,passengers:n,selectedServices:o,onClose:y=>{i(y),s(!1)}})]})};var Se=require("react/jsx-runtime"),Fp="https://assets.duffel.com/components/3.1.8",Hp=`${Fp}/global.css`,Il=t=>{if(to(t.debug||!1),st("Properties passed into the component:",t),!Di(t))throw new Error(`The props (${Object.keys(t)}) passed to DuffelAncillaries are invalid. \`onPayloadReady\`, \`passengers\` and \`services\` are always required. Then, depending on your use case you may have one of the following combinations of required props: \`offer_id\` and \`client_key\`, \`offer\` and \`seat_maps\` or \`offer\` and \`client_key\`.Please refer to the documentation for more information and working examples: https://duffel.com/docs/guides/ancillaries-component`);if(t.services.length===0)throw new Error('You must provide at least one service in the "services" prop. Valid services: ["bags", "seats", "cancel_for_any_reason"]');let e=Mi(t),r=wi(t),n=ki(t),o=Bi(t),i=t.services.includes("seats")&&!("seat_maps"in t)&&(e||r||o),[a,s]=pe.useState(t.passengers),[c,l]=pe.useState(t.offer),[d,u]=pe.useState(r),[m,h]=pe.useState(n?t.seat_maps:void 0),[S,y]=pe.useState(i),[M,N]=pe.useState(null),[C,ce]=pe.useState([]),[j,qe]=pe.useState([]),[ye,Yt]=pe.useState([]),K=ac(t.markup,t.priceFormatters),X=k=>{let le="This offer has expired.";if(uc(k)){N(le);return}else{let Nr=new Date(k?.expires_at)?.getTime()-Date.now(),Ot=1e3*60*60*24;Nr<Ot&&setTimeout(()=>N(le),Nr)}let xr=sc(k,K);l(xr)},De=k=>{let le=cc(k,K.seats);h(le)};if(pe.useEffect(()=>{Gn("props",{"props.services":t.services,"props.passengers.length":t.passengers.length,"props.offer_id":t.offer_id,"props.client_key":t.client_key,"props.offer?.id":t.offer?.id,"props.seat_maps?.[0]?.id":t.seat_maps?.[0]?.id}),(r||e)&&gc(t.offer_id,e?null:t.client_key,N,u,k=>{if(X(k),k.passengers.length!==a.length)throw new Error(`The number of passengers given to \`duffel-ancillaries\` (${t.passengers.length}) doesn't match the number of passengers on the given offer (${k.passengers.length}).`);e&&s(t.passengers.map((le,xr)=>({...le,id:k.passengers[xr].id})))}),i&&hc(r||e?t.offer_id:t.offer.id,e?null:t.client_key,()=>De([]),y,De),o&&X(t.offer),n&&(X(t.offer),De(t.seat_maps))},[t.offer_id,t.client_key,t.offer?.id,t.seat_maps?.[0]?.id]),pe.useEffect(()=>{if(!c)return;let k=ic({baggageSelectedServices:C,seatSelectedServices:j,cfarSelectedServices:ye,offer:c,passengers:a,seatMaps:m});if(lc(k)){let le={offer_total_amount:c.total_amount,offer_total_currency:c.total_currency,offer_tax_amount:c.tax_amount,offer_tax_currency:c.tax_currency,baggage_services:C,seat_services:j,cancel_for_any_reason_services:ye};st("Payload ready",{"Order creation payload":k,"Services metadata":le}),t.onPayloadReady(k,le)}},[C,j,ye]),!Di(t))return null;let $t=`${72*t.services.length+32*(t.services.length-1)}px`,Ir={display:"flex",width:"100%",flexDirection:"column",rowGap:"12px",...t.styles?.accentColor&&{"--ACCENT":t.styles.accentColor},...t.styles?.accentColor&&ao(t.styles.accentColor)&&{"--SECONDARY":"var(--GREY-900)","--TERTIARY":"var(--GREY-400)"},...t.styles?.fontFamily&&{"--FONT-FAMILY":t.styles.fontFamily},...t.styles?.buttonCornerRadius&&{"--BUTTON-RADIUS":t.styles.buttonCornerRadius}};return st("Component's internal state:",{isOfferLoading:d,isSeatMapLoading:S,baggageSelectedServices:C,seatSelectedServices:j,cfarSelectedServices:ye,offer:c,seatMaps:m,error:M}),(0,Se.jsxs)(Se.Fragment,{children:[(0,Se.jsx)("link",{rel:"stylesheet",href:Hp}),(0,Se.jsx)("div",{className:"duffel-components",style:Ir,children:(0,Se.jsxs)(pr,{children:[M&&(0,Se.jsx)(oc,{height:$t,message:M}),!M&&t.services.map(k=>{if(k==="bags")return(0,Se.jsx)(Fc,{isLoading:d,offer:c,passengers:a,selectedServices:C,setSelectedServices:ce},"bags");if(k==="seats")return(0,Se.jsx)(Rl,{isLoading:d||S,seatMaps:m,offer:c,passengers:a,selectedServices:j,setSelectedServices:qe},"seats");if(k==="cancel_for_any_reason")return(0,Se.jsx)(Wc,{isLoading:d,offer:c,selectedServices:ye,setSelectedServices:Yt},"cancel_for_any_reason")})]})})]})};var Al=require("react/jsx-runtime"),zi="duffel-ancillaries",Zi=class extends HTMLElement{root;connectedCallback(){let e=document.createElement("div");this.attachShadow({mode:"open"}).appendChild(e),this.root=(0,xl.createRoot)(e)}render(e){if(!this.root)throw"It was not possible to render `duffel-ancillaries` because `this.root` is missing.";this.root.render((0,Al.jsx)(Il,{...e,onPayloadReady:(r,n)=>{this.dispatchEvent(new CustomEvent("onPayloadReady",{detail:{data:r,metadata:n},composed:!0}))}}))}};window.customElements.get(zi)||window.customElements.define(zi,Zi);function Nl(t){let e=document.querySelector(zi);if(!e)throw new Error(`Could not find duffel-ancillaries element in the DOM. Maybe you need to call ${t} after 'window.onload'?`);return e}function Ol(t){Nl("renderDuffelAncillariesCustomElement").render(t)}function Pl(t){let e=Nl("onDuffelAncillariesPayloadReady"),r=n=>{t(n.detail.data,n.detail.metadata)};e.addEventListener("onPayloadReady",r)}var Ul=require("react-dom/client");var Nt=A(Ml());var kl="https://js.stripe.com/v3",Up=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,wl="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",Gp=function(){for(var e=document.querySelectorAll('script[src^="'.concat(kl,'"]')),r=0;r<e.length;r++){var n=e[r];if(Up.test(n.src))return n}return null},Yp=function(e){var r=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(kl).concat(r);var o=document.head||document.body;if(!o)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return o.appendChild(n),n},$p=function(e,r){!e||!e._registerWrapper||e._registerWrapper({name:"stripe-js",version:"1.54.0",startTime:r})},yo=null,Wp=function(e){return yo!==null||(yo=new Promise(function(r,n){if(typeof window>"u"||typeof document>"u"){r(null);return}if(window.Stripe&&e&&console.warn(wl),window.Stripe){r(window.Stripe);return}try{var o=Gp();o&&e?console.warn(wl):o||(o=Yp(e)),o.addEventListener("load",function(){window.Stripe?r(window.Stripe):n(new Error("Stripe.js not available"))}),o.addEventListener("error",function(){n(new Error("Failed to load Stripe.js"))})}catch(i){n(i);return}})),yo},Vp=function(e,r,n){if(e===null)return null;var o=e.apply(void 0,r);return $p(o,n),o},Bl=Promise.resolve().then(function(){return Wp(null)}),Ll=!1;Bl.catch(function(t){Ll||console.warn(t)});var Fl=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];Ll=!0;var o=Date.now();return Bl.then(function(i){return Vp(i,r,o)})};var Ae=A(require("react"));var Z=require("react/jsx-runtime"),jp="https://assets.duffel.com/components/3.1.8",qp=`${jp}/global.css`,zp="card",Zp="3.1.8",Kp={color:"var(--GREY-900)",fontFamily:'"-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "sans-serif"',fontSmoothing:"antialiased",fontSize:"16px","::placeholder":{color:"#ababb4"}},Xp={color:"#ef4444",iconColor:"#ef4444"},Jp=({styles:t,paymentIntentClientToken:e,onSuccessfulPayment:r,onFailedPayment:n})=>{let[o,i]=Ae.useState(null),[a,s]=Ae.useState(!1),[c,l]=Ae.useState(!1),[d,u]=Ae.useState(!1),[m,h]=Ae.useState(""),S=(0,Nt.useStripe)(),y=(0,Nt.useElements)();return Ae.useEffect(()=>{if(y&&!o){let N=y?.getElement(zp);N&&i(N)}},[y,o]),Ae.useEffect(()=>{o&&o.on("change",N=>{let{error:C,complete:ce}=N;C?(l(!0),h(C.message)):l(!1),s(!!ce)})},[o]),e?(0,Z.jsx)("div",{className:"card-payment__container",children:(0,Z.jsxs)("form",{onSubmit:async N=>{if(N.preventDefault(),!(!S||!y)&&o){u(!0);let C=atob(e),ce=JSON.parse(C),{client_secret:j}=ce,qe=await S.confirmCardPayment(j,{payment_method:{card:o,metadata:{duffel_components_version:Zp||"failed-to-get-version"}}});if(u(!1),qe.error){let{error:ye}=qe;n(ye)}else r()}},children:[d&&(0,Z.jsx)("div",{className:"card-payment--in-progress","aria-live":"polite","aria-busy":"true"}),(0,Z.jsx)(Nt.CardElement,{className:"card-details",options:{style:{base:{...Kp,...t?.fontFamily&&{fontFamily:t.fontFamily}},invalid:{...Xp}}}}),(0,Z.jsx)("div",{className:"card-payment__container--invalid",role:"alert",children:c&&m}),(0,Z.jsx)(ee,{className:"card-payment__pay-button",type:"submit",disabled:!a||d,"aria-label":"Pay",children:d?"Processing...":"Pay"})]})}):null},Hl=t=>{let[e,r]=Ae.useState(null);to(t.debug||!1);let n=atob(t.paymentIntentClientToken),o;try{o=JSON.parse(n)}catch{throw new Error("Invalid Duffel payment intent client token provided")}let{publishable_key:i}=o;Ae.useEffect(()=>{if(!e&&i){let s=Fl(i);s&&r(s)}},[e,i]);let a={...t.styles?.accentColor&&{"--ACCENT":t.styles.accentColor},...t.styles?.accentColor&&ao(t.styles.accentColor)&&{"--SECONDARY":"black","--TERTIARY":"grey"},...t.styles?.fontFamily&&{"--FONT-FAMILY":t.styles.fontFamily},...t.styles?.buttonCornerRadius&&{"--BUTTON-RADIUS":t.styles.buttonCornerRadius}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("link",{rel:"stylesheet",href:qp}),(0,Z.jsx)("div",{className:"duffel-components",style:a,children:(0,Z.jsx)(pr,{children:(0,Z.jsx)(Nt.Elements,{stripe:e,children:(0,Z.jsx)(Jp,{...t})})})})]})};var Wl=require("react/jsx-runtime"),Ki="duffel-payments",Xi=class extends HTMLElement{root;connectedCallback(){let e=document.createElement("div");this.appendChild(e),this.root=(0,Ul.createRoot)(e)}render(e){if(!this.root)throw"It was not possible to render `duffel-payments` because `this.root` is missing.";this.root.render((0,Wl.jsx)(Hl,{...e,onSuccessfulPayment:()=>{this.dispatchEvent(new CustomEvent("onSuccessfulPayment",{composed:!0}))},onFailedPayment:r=>{this.dispatchEvent(new CustomEvent("onFailedPayment",{detail:{error:r},composed:!0}))}}))}};window.customElements.get(Ki)||window.customElements.define(Ki,Xi);function Ji(t){let e=document.querySelector(Ki);if(!e)throw new Error(`Could not find duffel-payments element in the DOM. Maybe you need to call ${t} after 'window.onload'?`);return e}function Gl(t){Ji("renderDuffelPaymentsCustomElement").render(t)}function Yl(t){Ji("onDuffelPaymentsPayloadReady").addEventListener("onPayloadReady",t)}function $l(t){let e=Ji("onDuffelPaymentsPayloadReady"),r=n=>{t(n.detail.error)};e.addEventListener("onPayloadReady",r)}
31
31
  /*! Bundled license information:
32
32
 
33
33
  classnames/index.js: