PageSourceSearch

https://www.nandos.co.uk/order/_next/static/chunks/pages/[market]/checkout-e80d80fca1ba78c7.js

js nandos.co.uk collected 2026-09-24 19:59:17 UTC 115,803 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9803],{4929:(e,t,a)=>{"use strict";a.d(t,{q:()=>o});var r=a(37876),n=a(48929);function o({loadingGate:e=!1,className:t,renderMain:a=!0,children:i}){let l=e?(0,r.jsx)(n.T,{children:i}):i;return a?(0,r.jsx)("main",{id:"main",tabIndex:-1,className:t,children:l}):l}},5806:e=>{e.exports={chilliEarned:"LoyaltyMissionsRow_chilliEarned__KLqDS",chilli:"LoyaltyMissionsRow_chilli__VrsUl","fade-in":"LoyaltyMissionsRow_fade-in__xby1F","fade-out":"LoyaltyMissionsRow_fade-out__kneZq","fade-in-and-zoom":"LoyaltyMissionsRow_fade-in-and-zoom__EMxsD","fade-out-and-zoom":"LoyaltyMissionsRow_fade-out-and-zoom__gqKtX"}},8312:e=>{e.exports={container:"CheckoutDetailsSummary_container__dp2JZ",childText:"CheckoutDetailsSummary_childText__qDKvB",summaryHeader:"CheckoutDetailsSummary_summaryHeader__r_Gak",sectionName:"CheckoutDetailsSummary_sectionName__3Jb5i",editButton:"CheckoutDetailsSummary_editButton__k4dre",disabled:"CheckoutDetailsSummary_disabled___BCxd",removeSpacerBottom:"CheckoutDetailsSummary_removeSpacerBottom__NnkEb",spacerBottom:"CheckoutDetailsSummary_spacerBottom__ee5iU","fade-in":"CheckoutDetailsSummary_fade-in__6GiZ_","fade-out"
1:"CheckoutDetailsSummary_fade-out__qmdAl","fade-in-and-zoom":"CheckoutDetailsSummary_fade-in-and-zoom__5MAiA","fade-out-and-zoom":"CheckoutDetailsSummary_fade-out-and-zoom__Y6z_z"}},8678:e=>{e.exports={wrapper:"PaymentForm_wrapper__Fy5yY",mainWrapper:"PaymentForm_mainWrapper__6DSYT",cardBrand:"PaymentForm_cardBrand__Sa0fe",cardLastFour:"PaymentForm_cardLastFour__cSuXc",emptySummary:"PaymentForm_emptySummary__TPn_4","fade-in":"PaymentForm_fade-in__PB9J8","fade-out":"PaymentForm_fade-out__cOC2t","fade-in-and-zoom":"PaymentForm_fade-in-and-zoom__CZks2","fade-out-and-zoom":"PaymentForm_fade-out-and-zoom__crLa4"}},9105:e=>{e.exports={contentContainer:"NextReward_contentContainer__4IrRn",imageContainer:"NextReward_imageContainer__WQ6Jz",heart:"NextReward_heart__xpFXK","fade-in":"NextReward_fade-in__k3g5L","fade-out":"NextReward_fade-out__VC8GM","fade-in-and-zoom":"NextReward_fade-in-and-zoom__RZnfU","fade-out-and-zoom":"NextReward_fade-out-and-zoom__USN4p"}},10122:(e,t,a)=>{"use strict";a.d(t,{z:()=>o});var r=a(37876),n=a(47193);let o=({error:e})=>e?(0,r.jsx)(n.l,{type:n.x.ALERT,children:(0,r.jsx)("p",{children:"Oops! Something went wrong, please try again."})}):null},11551:e=>{e.exports={wrapper:"CollectionTimeFormUI_wrapper__6RkcI",errorBanner:"CollectionTimeFormUI_errorBanner__yS4uZ",confirmCTA:"CollectionTimeFormUI_confirmCTA__Re1sT",updatePromptText:"CollectionTimeFormUI_updatePromptText__YiuzF","fade-in":"CollectionTimeFormUI_fade-in__H6aBS","fade-out":"CollectionTimeFormUI_fade-out__BgFrT","fade-in-and-zoom":"CollectionTimeFormUI_fade-in-and-zoom__vgwXU","fade-out-and-zoom":"CollectionTimeFormUI_fade-out-and-zoom__hVNcP"}},13178:e=>{e.exports={heart:"LoyaltyRewardBalance_heart___U5OW",container:"LoyaltyRewardBalance_container__7R5aj",rewardName:"LoyaltyRewardBalance_rewardName__3CVuv",rewardBalance:"LoyaltyRewardBalance_rewardBalance__k8a_l",hiddenRewardBalance:"LoyaltyRewardBalance_hiddenRewardBalance__NVE4P","fade-in":"LoyaltyRewardBalance_fade-in__LJsk8","fade-out"
1:"LoyaltyRewardBalance_fade-out__OEFNe","fade-in-and-zoom":"LoyaltyRewardBalance_fade-in-and-zoom__G09Yw","fade-out-and-zoom":"LoyaltyRewardBalance_fade-out-and-zoom__f0j07"}},23993:e=>{e.exports={container:"CheckoutLoyaltyModal_container__F9rqC",body:"CheckoutLoyaltyModal_body__Sj0ib",withRewards:"CheckoutLoyaltyModal_withRewards__DJRHr",alertBanner:"CheckoutLoyaltyModal_alertBanner__839Ix",balanceHeading:"CheckoutLoyaltyModal_balanceHeading__Iw4Q4",header:"CheckoutLoyaltyModal_header__iQpyw",rewardBalanceHearts:"CheckoutLoyaltyModal_rewardBalanceHearts__2gno7",modal:"CheckoutLoyaltyModal_modal__UjSYx","fade-in":"CheckoutLoyaltyModal_fade-in__zlEgi","fade-out":"CheckoutLoyaltyModal_fade-out__wZw4V","fade-in-and-zoom":"CheckoutLoyaltyModal_fade-in-and-zoom__9m0eY","fade-out-and-zoom":"CheckoutLoyaltyModal_fade-out-and-zoom__loYBg"}},24443:e=>{e.exports={wrapper:"TableNumberFormUI_wrapper__R9jwR",tableNumber:"TableNumberFormUI_tableNumber__2BZQW","fade-in":"TableNumberFormUI_fade-in__Wrxot","fade-out":"TableNumberFormUI_fade-out__T4_wM","fade-in-and-zoom":"TableNumberFormUI_fade-in-and-zoom__HdFPY","fade-out-and-zoom":"TableNumberFormUI_fade-out-and-zoom__Nmg8v"}},25795:e=>{e.exports={container:"CheckoutLoyaltyUI_container__2iMMv",header:"CheckoutLoyaltyUI_header__gaICz",notification:"CheckoutLoyaltyUI_notification__M3nn4",description:"CheckoutLoyaltyUI_description__DOuyR",confirmation:"CheckoutLoyaltyUI_confirmation__JLb9S",info:"CheckoutLoyaltyUI_info__K3cT7",warning:"CheckoutLoyaltyUI_warning__up6gu","fade-in":"CheckoutLoyaltyUI_fade-in__3Q6e9","fade-out"
1:"CheckoutLoyaltyUI_fade-out__e_kTL","fade-in-and-zoom":"CheckoutLoyaltyUI_fade-in-and-zoom__EgG_W","fade-out-and-zoom":"CheckoutLoyaltyUI_fade-out-and-zoom__z7XK0"}},27733:e=>{e.exports={earnedChilli:"LoyaltyChilliPill_earnedChilli__L18_I",chilliBox:"LoyaltyChilliPill_chilliBox__mlA9B","fade-in":"LoyaltyChilliPill_fade-in__34bro","fade-out":"LoyaltyChilliPill_fade-out__RFITt","fade-in-and-zoom":"LoyaltyChilliPill_fade-in-and-zoom__FsX_t","fade-out-and-zoom":"LoyaltyChilliPill_fade-out-and-zoom__y5i9d"}},29411:e=>{e.exports={wrapper:"CheckoutPage_wrapper__ufUxg",placeOrderDesktopContainer:"CheckoutPage_placeOrderDesktopContainer__vr8m3",deliveryMobileContainer:"CheckoutPage_deliveryMobileContainer__66RC2",showOnMobile:"CheckoutPage_showOnMobile__lW9nY",hideOnMobileAndDesktop:"CheckoutPage_hideOnMobileAndDesktop__AAkni",showOnDesktop:"CheckoutPage_showOnDesktop__1XA_v",showOnMobileAndDesktop:"CheckoutPage_showOnMobileAndDesktop__Nkk87",container:"CheckoutPage_container__JIYpO",row:"CheckoutPage_row__ctKCM",deliveryInfo:"CheckoutPage_deliveryInfo__JFfBP",orderWrapper:"CheckoutPage_orderWrapper__LiWgC",orderSummary:"CheckoutPage_orderSummary__PObIp","fade-in":"CheckoutPage_fade-in__UnGwn","fade-out":"CheckoutPage_fade-out__8_lmk","fade-in-and-zoom":"CheckoutPage_fade-in-and-zoom__KpDOc","fade-out-and-zoom":"CheckoutPage_fade-out-and-zoom__ALoqP"}},35445:(e,t,a)=>{"use strict";a.d(t,{D:()=>i});var r=a(67914),n=a(37149),o=a(19865);function i(e,t={}){let{hasChilliCount:a=!0}=t,l=(0,o.hI)(),s=(0,r.I)({queryKey:["loyalty-mission-feedback",e,a],queryFn:e?async()=>(await l.getMissionFeedback(e,a)).getValueOrThrow():n.hT,refetchOnWindowFocus:!1});return{data:s.data,isPending:s.isPending,isLoading:s.isLoading,isSuccess:s.isSuccess,isError:s.isError,error:s.error,fetchStatus:s.fetchStatus,refetch:s.refetch}}},36625:e=>{e.exports={buttonWithPrice:"SubmitOrderButton_buttonWithPrice__bqNtk","fade-in":"SubmitOrderButton_fade-in__x2OAM","fade-out":"SubmitOrderButton_fade-out__4t41M","fade-in-and-zoom":"SubmitOrderButton_fade-in-and-zoom__sDn7d","fade-out-and-zoom":"SubmitOrderButton_fade-out-and-zoom__gH_zd"}},42304:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var r=a(37876),n=a(97417),o=a(83794),i=a(27733),l=a.n(i);let s=({chilliesEarned:e=1,...t})=>(0,r.jsxs)("span",{className:l().earnedChilli,...t,children:[(0,r.jsx)("span",{className:l().chilliBox,children:(0,r.jsx)(n.Wd,{})}),o.SG.EARNED_CHILLI(e)]})},51375:e=>{e.exports={addInstructions:"AddInstructions_addInstructions__0H63j",inputField:"AddInstructions_inputField__gPMdJ",instructionsClosed:"AddInstructions_instructionsClosed__5gOcw",disabled:"AddInstructions_disabled__tFXU_",icon:"AddInstructions_icon__nmizD",label:"AddInstructions_label__EpjCO",optional:"AddInstructions_optional__1Iidv",instructionsInput:"AddInstructions_instructionsInput___f2Cb",instructions:"AddInstructions_instructions__H6jRB",riderInstructions:"AddInstructions_riderInstructions__mjyJj","fade-in":"AddInstructions_fade-in__V8lTH","fade-out":"AddInstructions_fade-out__Fl1D9","fade-in-and-zoom":"AddInstructions_fade-in-and-zoom__1pLkm","fade-out-and-zoom":"AddInstructions_fade-out-and-zoom__jIqt9"}},54490:(e,t,a)=>{"use strict";a.d(t,{w:()=>o});var r=a(63009),n=a(82323);let o=e=>(0,r.GP)("string"==typeof e?(0,n.H)(e):e,"h:mmaaa")},56752:e=>{e.exports={container:"LoyaltyRewardCard_container__QOjNV",radioButton:"LoyaltyRewardCard_radioButton__SDy7N",solo:"LoyaltyRewardCard_solo__X_shx",disabled:"LoyaltyRewardCard_disabled__rFomF",selected:"LoyaltyRewardCard_selected__VhmE9",feedback:"LoyaltyRewardCard_feedback__8dGq4",pill:"LoyaltyRewardCard_pill__5S6oW",imageContainer:"LoyaltyRewardCard_imageContainer__IJlhn",body:"LoyaltyRewardCard_body__0yCIm",textContainer:"LoyaltyRewardCard_textContainer__9BJvf",title:"LoyaltyRewardCard_title__x7_OR",backgroundGreen:"LoyaltyRewardCard_backgroundGreen__8HL2j",backgroundOrange:"LoyaltyRewardCard_backgroundOrange__1qH09",backgroundRed:"LoyaltyRewardCard_backgroundRed__gU6Z2",backgroundJoining:"LoyaltyRewardCard_backgroundJoining__u76W1",heartContainer:"LoyaltyRewardCard_heartContainer__bUe9_",joiningFlame:"LoyaltyRewardCard_joiningFlame__U2bXm",heart:"LoyaltyRewardCard_heart__pFQ5x",infoMessageContainer:"LoyaltyRewardCard_infoMessageContainer__ycJvq",feedbackMessage:"LoyaltyRewardCard_feedbackMessage__jQvpE",feedbackIcon:"LoyaltyRewardCard_feedbackIcon__Fx7pH",infoMessage:"LoyaltyRewardCard_infoMessage__yJFLm",infoIcon:"LoyaltyRewardCard_infoIcon__FZqQA","fade-in":"LoyaltyRewardCard_fade-in__7LtrE","fade-out"
1:"LoyaltyRewardCard_fade-out__1rUtw","fade-in-and-zoom":"LoyaltyRewardCard_fade-in-and-zoom__9sKMo","fade-out-and-zoom":"LoyaltyRewardCard_fade-out-and-zoom__Lcb_U"}},59901:e=>{e.exports={container:"Footer_container__QeQp_",button:"Footer_button__QgYia","fade-in":"Footer_fade-in___5uH_","fade-out":"Footer_fade-out__2QOI7","fade-in-and-zoom":"Footer_fade-in-and-zoom__CIYR_","fade-out-and-zoom":"Footer_fade-out-and-zoom__lt881"}},60525:e=>{e.exports={container:"SelectDropdown_container__LliFR",field:"SelectDropdown_field__4yyH6",chevron:"SelectDropdown_chevron__FZGDV",select:"SelectDropdown_select__oGAMp",invalid:"SelectDropdown_invalid__swswV",error:"SelectDropdown_error__7BwRK","fade-in":"SelectDropdown_fade-in__j8w50","fade-out":"SelectDropdown_fade-out__RdY6p","fade-in-and-zoom":"SelectDropdown_fade-in-and-zoom__BAn24","fade-out-and-zoom":"SelectDropdown_fade-out-and-zoom__rPOdK"}},63606:e=>{e.exports={banner:"StripePaymentElementForm_banner__Uq6lh",expressDivider:"StripePaymentElementForm_expressDivider__WIpy_",expressDividerText:"StripePaymentElementForm_expressDividerText__zoUcl",expressDividerLine:"StripePaymentElementForm_expressDividerLine__7MrXG","fade-in":"StripePaymentElementForm_fade-in__OxkZx","fade-out":"StripePaymentElementForm_fade-out__3Qpbt","fade-in-and-zoom":"StripePaymentElementForm_fade-in-and-zoom__cPscu","fade-out-and-zoom":"StripePaymentElementForm_fade-out-and-zoom__kSxgc"}},64092:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSP:()=>nS,default:()=>nA});var r,n,o,i,l,s=a(37876),d=a(77328),c=a.n(d),u=a(8160),m=a(73144),_=a(34822),p=a(69284),h=a(14232);let{baseProvider:f,useHook:y}=(0,a(64425).X)("CheckoutUI");function b({children:e}){let[t,a]=(0,h.useState)(void 0),[r,n]=(0,h.useState)(!1),[o,i]=(0,h.useState)(!1),[l,d]=(0,h.useState)(!1),[c,u]=(0,h.useState)(0),[m,_]=(0,h.useState)(!1),[p,y]=(0,h.useState)(!1),[E,x]=(0,h.useState)(!1),C=(0,h.useRef)(t);C.current=t;let g=(0,h.useCallback)(()=>u(e=>e+1),[]),N=(0,h.useCallback)(()=>_(!0),[]),v=(0,h.useCallback)(()=>{a(void 0),n(!1),i(!1),d(!1),u(0),_(!1),y(!1),x(!1)},[]),R=(0,h.useCallback)((e,t)=>{C.current?(n(!0),i(!0)):(a(e),t())},[]),I=(0,h.useMemo)(()=>({selectedCheckoutSectionToEdit:t,setSelectedCheckoutSectionToEdit:a,handleCheckoutSectionEdit:R,shouldShowUpdatePrompt:r,setShouldShowUpdatePrompt:n,promptScrolling:o,setPromptScrolling:i,orderPending:l,setOrderPending:d,errorCount:c,increaseErrorCount:g,canRetry:c<=1,orderFailedAfterPayment:m,flagOrderFailedAfterPayment:N,loyaltySignupInCheckout:p,setLoyaltySignupInCheckout:y,loyaltySettling:E,setLoyaltySettling:x,reset:v}),[t,R,r,o,l,c,g,m,N,p,E,v]);return(0,s.jsx)(f,{value:I,children:e})}var E=a(89099),x=a(97123);let C={title:"Sorry, we can’t deliver to you!",message:(0,s.jsx)("p",{children:"The restaurant you’ve chosen doesn’t deliver to your address. You can always order for Collect or try a different restaurant for Delivery."}),actionLabel:"click & collect",secondaryActionLabel:"restart order"},g="Table number",N="Please press ‘Update’ to continue with your order",v="Continue to payment",R="Update",I="Confirm collection time",L="Please select a time";var D=a(84937),k=((r={}).COLLECTION_SLOT="COLLECTION_SLOT",r.PERSONAL_DETAILS="PERSONAL_DETAILS",r.DELIVERY_DETAILS="DELIVERY_DETAILS",r.PAYMENT_DETAILS="PAYMENT_DETAILS",r.DELIVERY_RIDER_INSTRUCTIONS="DELIVERY_RIDER_INSTRUCTIONS",r.TABLE_NUMBER="TABLE_NUMBER",r.DISCOUNTS="DISCOUNTS",r),w=a(48326),j=a(52278),S=a(85840),A=a(44848),T=a(24400),O=a(54122),P=a(3334),M=a(11709),F=a(69180);let U={[F.n.DELIVERY]:k.DELIVERY_DETAILS,[F.n.COLLECTION]:k.COLLECTION_SLOT,[F.n.EAT_IN]:k.TABLE_NUMBER};function B(){let{selectedCheckoutSectionToEdit:e}=y(),t=(0,S.Q)(),a=(0,O._)(T.T.PINDROP),{hasOOS:r}=(0,j.J)(),n=(0,A.g)(),{authenticated:o}=(0,w.uM)();return(0,h.useMemo)(()=>{let i=function({checkout:e,selectedSection:t,isPinDropEnabled:a,authenticated:r}){let n,o=e?.fulfilment?.type??null;if(!e||!o)return{steps:[],statusByName:{},nextStep:void 0,isDelivery:!1,isOrderComplete:!1,isOrderDetailsConfirmed:!1,isCustomerProfileComplete:!1};let i=(0,P.Cg)(e),l=i.isSuccess?i.value:null,s=o===F.n.DELIVERY,d={[U[o]]:function(e,t){let a=e.fulfilment;switch(t){case F.n.DELIVERY:return a?.delivery?.isAddressConfirmed??!1;case F.n.COLLECTION:return a?.collection?.selectedPickupTime!=null;case F.n.EAT_IN:return(a?.eatIn?.tableNumber??"").trim().length>0;default:return!1}}(e,o),[k.PERSONAL_DETAILS]:(n=M.J.create(e.customer).value,!1===r&&o===F.n.EAT_IN?n.hasEmail():n.isComplete())},c=[U[o],k.PERSONAL_DETAILS],u=c.find(e=>!d[e]),m=c.map(e=>{let a,r=d[e];return a=t===e?r?"editing":"active":r?"complete":e===u?"active":"locked",{name:e,status:a}}),_=m.reduce((e,t)=>
1(e[t.name]=t.status,e),{}),p=(l?.isFulfilmentDetailComplete()??!1)&&d[k.PERSONAL_DETAILS],h=M.J.create(e.customer).value.isComplete(),f=e.fulfilment?.delivery?.pinnedCoordinates!=null;return{steps:m,statusByName:_,nextStep:u,isDelivery:s,isOrderComplete:p,isOrderDetailsConfirmed:p&&(!s||!a||f),isCustomerProfileComplete:h}}({checkout:t,selectedSection:e,isPinDropEnabled:!!a,authenticated:o});return{...i,orderDetailsValid:function({isOrderComplete:e,isDelivery:t,hasOOS:a,hasDeliveryQuoteError:r}){return e&&!a&&!(t&&r)}({isOrderComplete:i.isOrderComplete,isDelivery:i.isDelivery,hasOOS:r,hasDeliveryQuoteError:n.isError})}},[t,e,a,o,r,n.isError])}var z=a(67914),W=a(69825),H=a(19865),Y=a(69087),G=a(10346);function $(){let e=(0,H.rm)(),t=(0,S.Q)(),a=(0,W.A)(),r=t?.restaurant?.id,{isCollection:n}=(0,Y.Y)();return(0,z.I)({queryKey:["checkout","collectionSlots",a,r],enabled:!!r&&n,staleTime:0,queryFn:async()=>{let t=await e.getCollectionSlots((0,G.Ln)().toISOString(),a);if(t.isFailure)throw Error(t.error);return t.value}})}var V=a(32916),Q=a(1935);function K(){let{authenticated:e}=(0,w.uM)(),t=(0,_.M)(),{data:a}
1=(0,V.GP)(),r=(0,O._)(T.T.PINDROP),n=(0,S.Q)(),o=$(),{orderDetailsValid:i,isOrderDetailsConfirmed:l,isCustomerProfileComplete:s}=B(),{isDelivery:d,isCollection:c,isEatIn:u}=(0,Y.Y)(),m=a?.cardNumber!=null,p=a?.cardType===Q.b.NANDOS_CARD,h=t?.isZeroCost??!1,f=t?.totals?.subtotal??0,y=t?.promotions?.rewardDeductionTotal??0,b=(o.data?.length??0)>0,E=c&&o.isSuccess&&!b,x=n&&d?(n.fulfilment?.delivery??null)?.quote:null;return{isCollection:c,isEatIn:u,isDelivery:d,isZeroCost:h,authenticated:!!e,hasLoyaltyCard:m,hasNandosCard:p,isPinDropEnabledFlag:!!r,showCollectSlotsModal:E,showCollectSlotsForm:c&&!E&&b,showRewardsSection:!!e&&!m,showLoyaltyButton:!!e&&p,showDiscountSection:!(f>0&&f===y)&&(c||u),showPaymentForm:!h,showDeliveryInformation:!!x,orderDetailsValid:i,isOrderDetailsConfirmed:l,showEatInEmailOnly:u&&(!1===e||s),basketGrandTotal:t?.totals?.grandTotal}}var q=a(14e3);class J extends Error{constructor(e,t){super(e),this.name="PaymentCollectionError",this.isUserError=t,Object.setPrototypeOf(this,J.prototype)}}var X=a(29464),Z=a(90034),ee=a(88596);let et={OUT_OF_STOCK:{title:"An item sold out",description:"One or more items in your basket are no longer available. Remove them to continue.",action:"amend-basket",spendsRetryBudget:!1,fatalWhenPaid:!1,clearsStalePayment:!1},QUOTE_CHANGED:{title:"Your delivery total changed",description:"The delivery fee changed your order total. Review the new total and confirm to continue.",action:"review-total",spendsRetryBudget:!1,fatalWhenPaid:!1,clearsStalePayment:!1},DELIVERY_UNAVAILABLE:{title:"Delivery isn’t available right now",description:"We couldn’t get a delivery quote. Try again shortly, or switch to collection.",action:"try-again",spendsRetryBudget:!0,fatalWhenPaid:!1,clearsStalePayment:!1},PICKUP_TIME_INVALID:{title:"Pick a new collection time",description:"Your selected collection time is no longer available. Choose another slot to continue.",action:"choose-slot",spendsRetryBudget:!1,fatalWhenPaid:!1,clearsStalePayment:!1},PAYMENT_AMOUNT_CHANGED:{title:"Your order total changed",description:"Your order total changed since payment was set up. Review the new total to continue.",action:"review-total",spendsRetryBudget:!1,fatalWhenPaid:!1,clearsStalePayment:!0},PAYMENT_COLLECTION_FAILED:{title:"Payment didn’t go through",description:"We couldn’t take payment. Check your payment details and try again.",action:"retry-payment",spendsRetryBudget:!1,fatalWhenPaid:!1,clearsStalePayment:!1},BUILD_ORDER_FAILED:{title:"Something went wrong",description:"We couldn’t prepare your order. Please try again.",action:"try-again",spendsRetryBudget:!0,fatalWhenPaid:!1,clearsStalePayment:!1},SUBMIT_FAILED:{title:"Something went wrong",description:"We couldn’t reach our servers. Please try again.",action:"try-again",spendsRetryBudget:!0,fatalWhenPaid:!0,clearsStalePayment:!1},SUBMIT_REJECTED:{title:"We couldn’t place your order",description:"Something went wrong placing your order. Please start again.",action:"restart",spendsRetryBudget:!0,fatalWhenPaid:!0,clearsStalePayment:!1},INVALID_INPUT:{title:"Some details are missing",description:"Some of your order details are missing or invalid. Please review your order and try again.",action:"restart",spendsRetryBudget:!0,fatalWhenPaid:!1,clearsStalePayment:!1}};var ea=a(6595),er=a(60408);let en=()=>void 0;function eo(e){let t=y(),a=(0,S.Q)(),{fulfilment:r}=(0,m.n)(),n=(0,ea.U)(),o=(0,ee.G)(),i=a?.restaurant?.id??"";return{onSubmitSuccess:({paymentAlreadyTaken:t})=>{n.info("Order placed",{category:er.U.PAYMENT,paymentMethod:e,paymentAlreadyTaken:t,restaurantId:i,fulfilmentType:r})},onSubmitFailure:(a,{wasPayable:l,paymentAlreadyTaken:s=!1,onPaymentError:d,onAmendBasket:c,onShowOutcomeModal:u})=>{let m=et[a.code];if(s||l&&m.fatalWhenPaid){n.error("Order submission failed after payment was taken",{category:er.U.PAYMENT,code:"payment.submit.order_failed_after_payment",captureAsException:!0,paymentMethod:e,paymentAlreadyTaken:s,restaurantId:i,fulfilmentType:r,submitErrorCode:a.code}),t.flagOrderFailedAfterPayment(),t.setOrderPending(!1);return}if("retry-payment"===m.action){n.warning("Payment failed at checkout",{category:er.U.PAYMENT,paymentMethod:e,restaurantId:i,fulfilmentType:r,error:a.message}),d?.({message:a.message||m.description}),t.setOrderPending(!1);return}switch(n.warning("Checkout aborted before payment",{category:er.U.PAYMENT,paymentMethod:e,reason:a.code,restaurantId:i,fulfilmentType:r}),m.clearsStalePayment&&(n.warning("Stale payment discarded; prior authorisation hold left for refund",{category:er.U.PAYMENT,code:"payment.reuse.stale_hold_orphaned",paymentMethod:e,submitErrorCode:a.code,restaurantId:i,fulfilmentType:r}),o(Z.A.STALE_PAYMENT_DISCARDED)),m.action){case"amend-basket":c?.();break;case"choose-slot":t.setSelectedCheckoutSectionToEdit(void 0),t.handleCheckoutSectionEdit(k.COLLECTION_SLOT,en);break;default:u?.(m,a)}m.spendsRetryBudget&&t.increaseErrorCount(),t.setOrderPending(!1)}}}var ei=a(75718),el=a(40097);let es=["BUILD_ORDER_FAILED","SUBMIT_FAILED"];
1class ed extends Error{constructor(e,t){super(t),this.code=e,this.name="SubmitOrderFailure"}}function ec(e,t){return{...e,idempotencyKey:e.idempotencyKey??crypto.randomUUID(),isAuthenticated:t}}var eu=a(21343);let em=()=>{let{loyaltySignupInCheckout:e,setOrderPending:t}=y(),a=(0,E.useRouter)(),r=(0,eu.$m)(),{data:n}=(0,V.GP)(),{authenticated:o}=(0,w.uM)(),i=(0,_.M)(),l=(0,ei.S)(),s=(0,H.rm)(),d=(0,H.rI)(),c=(0,H.Or)(),{submitOrderAsync:u}=function(){let e=(0,H.rI)(),{authenticated:t}=(0,w.uM)(),a=(0,el.n)({mutationFn:async t=>{let{isAuthenticated:a,...r}=t;if(null===a)throw new ed("INVALID_INPUT","Cannot submit while authentication is still resolving");let n=await e.submitOrder({...r,isAuthenticated:a});if(!n.isSuccess)throw new ed(n.error.code,n.error.message);return n.value},retry:(e,t)=>e<3&&t instanceof ed&&es.includes(t.code),retryDelay:250});return{...a,submitOrder:e=>a.mutate(ec(e,t)),submitOrderAsync:e=>a.mutateAsync(ec(e,t))}}(),m=(0,ea.U)(),p=function(){let e=(0,H.rm)(),[t]=(0,h.useState)(()=>e.getCheckout()?.idempotencyKey??crypto.randomUUID());return(0,h.useEffect)(()=>{e.getCheckout()?.idempotencyKey!==t&&e.setSubmissionKeys({idempotencyKey:t})},[e,t]),t}();return async function(_){let h,f=!o,y=s.getCheckout();if(!y)return X.Q.fail({code:"INVALID_INPUT",message:"No checkout session"});let b=function(e){let t=(0,P.Cg)(e);if(t.isFailure)return X.Q.fail(t.error);let a=t.value;if(!a.isComplete())return X.Q.fail("Checkout is not complete");let r=a.restaurant.id,{customer:n}=a,o={restaurantId:r,customer:{email:n.email,firstName:n.firstName,lastName:n.lastName,phoneNumber:n.phoneNumber}};switch(a.fulfilmentType){case F.n.DELIVERY:{let{delivery:e}=a;if(!e)return X.Q.fail("Delivery details are required");return X.Q.ok({...o,fulfilment:{fulfilmentType:F.n.DELIVERY,address:function(e,t){let{latitude:a,longitude:r}=e,n=Number.isFinite(a)&&Number.isFinite(r);return{line1:e.line1,line2:e.line2||null,city:e.city,postcode:e.postalCode,countryCode:e.countryCode,deliveryNote:t||null,coords:n?{lat:a,lon:r}:null}}(e.address,e.instructions)}})}case F.n.COLLECTION:{let e=a.collection?.selectedPickupTime;if(!e)return X.Q.fail("Pickup time is required");return X.Q.ok({...o,fulfilment:{fulfilmentType:F.n.COLLECTION,pickupTime:e.toISOString()}})}case F.n.EAT_IN:{let e=a.eatIn?.tableNumber;if(!e)return X.Q.fail("Table number is required");return X.Q.ok({...o,fulfilment:{fulfilmentType:F.n.EAT_IN,tableNumber:e}})}default:return X.Q.fail("Unsupported fulfilment type")}}(y);if(b.isFailure)return X.Q.fail({code:"INVALID_INPUT",message:b.error});let E=b.value;if(E.fulfilment.fulfilmentType===F.n.EAT_IN&&f)try{let e=await c.updateGuestMarketingConsent(y.customer.email||"",y.customer.marketingConsent??!1);e.isFailure&&m.error("Failed to update guest marketing consent; continuing to submit order",{error:e.error})}catch(e){m.error("Failed to update guest marketing consent; continuing to submit order",{error:e instanceof Error?e.message:"Unknown error"})}try{h=await u({...E,collectPayment:_,idempotencyKey:p})}catch(t){let e=t instanceof ed?{code:t.code,message:t.message}:{code:"SUBMIT_FAILED",message:t instanceof Error?t.message:"Unknown error"};return X.Q.fail(e)}try{d.saveEnrichedSubmittedOrderSnapshot(h,l.length>0,i?.items??[]),r.emit("checkout:checkout_submit_success",{orderId:h.id,value:i?.totals?.grandTotal??0,subtotal:i?.totals?.subtotal??0,isLoyaltyMember:!!n?.cardNumber||e})}catch(e){m.error("Order placed but the post-submit bridge failed",{category:er.U.ORDERS,code:"checkout.submit.post_submit_bridge_failed",captureAsException:!0,orderId:h.id,error:e instanceof Error?e.message:"Unknown error"})}try{f?await a.push("/myorders/successful"):await a.push(`/myorders/${h.id}`)}catch(e){m.error("Order placed but navigation to confirmation failed",{category:er.U.ORDERS,code:"checkout.submit.post_submit_navigation_failed",captureAsException:!0,orderId:h.id,error:e instanceof Error?e.message:"Unknown error"}),t(!1)}return X.Q.ok(void 0)}};var e_=a(22013),ep=a(6358),eh=a(82920),ef=a(2428);let ey=null,eb=!1,eE=()=>({registerEmitter:e=>{ey=e,eb=!1},emitNow:()=>{!eb&&ey&&(ey(),eb=!0,ey=null)},reset:()=>{ey=null,eb=!1}});var ex=a(50735),eC=a(9435),eg=a(43048),eN=a(72738),ev=a.n(eN);let eR=({title:e,overrideStyles:t,id:a})=>(0,s.jsxs)("div",{className:ev().titleWrapper,children:[(0,s.jsx)("h2",{id:a,className:(0,eC.cn)([ev().title,t,"h3"]),children:e}),(0,s.jsx)("div",{className:ev().triangle})]}),eI=({mode:e="display",title:t="Delivery details",className:a,onEditClick:r,onCancelClick:n,children:o,"data-testid":i})=>{let l=(0,eC.cn)("mb-4 rounded-xs border border-black/12 bg-white p-4 text-left w-full",a);if("hidden"===e)return(0,s.jsx)("div",{className:(0,eC.cn)(l,"px-4 py-[15p
1x]"),"data-testid":i,children:(0,s.jsx)("h3",{className:"text-ooui-lunar text-xl font-semibold",children:t})});let d="display"===e&&r,c=d?{onClick:r,"aria-label":`Edit ${t}`}:{};return(0,s.jsxs)(d?"button":"div",{...c,className:l,"data-testid":i,children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:["active"===e||"edit"===e?(0,s.jsx)(eR,{title:t,overrideStyles:"mb-0!"}):(0,s.jsx)("h2",{className:"text-xl",children:t}),"display"===e&&r&&(0,s.jsx)("p",{className:"text-ooui-information font-semibold underline",children:"Edit"}),"edit"===e&&n&&(0,s.jsx)(eg.$,{link:!0,onClick:n,children:"Cancel"})]}),(0,s.jsx)("div",{children:o})]})};var eL=a(57124);let eD="Personal details",ek="Continue to payment",ew="Continue to table number",ej=`Want new menu drops, hot promos and ${eL.G} news?`;function eS(e){return e===F.n.DELIVERY?"Continue to address":e===F.n.COLLECTION?ek:e===F.n.EAT_IN?ew:"Continue"}var eA=a(13810),eT=a(88992),eO=a(60769),eP=a(89918),eM=a(81466);let eF=eO.Ik({firstName:eO.Yj().min(1,"Please enter a first name"),lastName:eO.Yj().min(1,"Please enter a last name"),email:eO.Yj().min(1,"Please enter an email address").regex(eM.Uo,"Please enter a valid email address"),phoneNumber:eO.Yj().min(1,"Please enter a phone number").regex(eM.rc,"Please enter a valid phone number")}),eU=({defaultValues:e,disabledFields:t=!1,submitText:a=ek,loading:r=!1,onSubmit:n})=>{let{register:o,handleSubmit:i,formState:{errors:l}}=(0,eT.mN)({resolver:(0,eA.u)(eF),values:e});return(0,s.jsxs)("form",{noValidate:!0,onSubmit:i(n),children:[(0,s.jsxs)("div",{className:"mb-8 flex flex-col gap-4",children:[(0,s.jsx)(eP.p,{id:"email",label:"Email address",type:"email",disabled:t,error:l.email?.message,sensitive:!0,...o("email")}),(0,s.jsx)(eP.p,{id:"firstName",label:"First name",disabled:t&&!!e.firstName,error:l.firstName?.message,sensitive:!0,...o("firstName")}),(0,s.jsx)(eP.p,{id:"lastName",label:"Last name",disabled:t&&!!e.lastName,error:l.lastName?.message,sensitive:!0,...o("lastName")}),(0,s.jsx)(eP.p,{id:"phoneNumber",label:"Phone number",type:"tel",error:l.phoneNumber?.message,sensitive:!0,...o("phoneNumber")})]}),(0,s.jsx)("div",{className:"flex flex-col items-center",children:(0,s.jsx)(eg.$,{className:"mx-auto block",primary:!0,submit:!0,loading:r,title:"Submit personal details",children:a})})]})},eB=({user:e})=>(0,s.jsxs)("div",{"data-hj-suppress":!0,children:[(0,s.jsxs)("p",{className:"text-black",children:[e.firstName," ",e.lastName]}),(0,s.jsx)("p",{className:"text-ooui-lunar",children:e.email}),(0,s.jsx)("p",{className:"text-ooui-lunar",children:e.phoneNumber})]}),ez=({user:e,disabledFields:t=!1,submitText:a,loading:r,onSubmit:n})=>{let o=eF.safeParse(e).success;return(0,s.jsx)(eI,{title:eD,mode:o?"display":"active","data-testid":"personal-details",children:o?(0,s.jsx)(eB,{user:e}):(0,s.jsx)(eU,{defaultValues:e,disabledFields:t,submitText:a,loading:r,onSubmit:n})})},eW=({onSaved:e})=>{let{authenticated:t,updateProfile:a}=(0,w.uM)(),r=(0,S.Q)(),n=(0,h.useMemo)(()=>({email:r?.customer.email??"",firstName:r?.customer.firstName??"",lastName:r?.customer.lastName??"",phoneNumber:r?.customer.phoneNumber??""}),[r?.customer.email,r?.customer.firstName,r?.customer.lastName,r?.customer.phoneNumber]),[o,i]=(0,h.useState)(!1),l=(0,eu.$m)(),d=(0,H.rm)(),{fulfilment:c}=(0,m.n)(),u=!!t,_=eS(c),p=async r=>{i(!0);try{d.setCustomerDetails(r),t&&await a({firstName:r.firstName,lastName:r.lastName,phoneNumber:r.phoneNumber}),l.emit("checkout:personal_details_submitted",{fulfilmentType:c,isAuthenticated:u}),e?.()}finally{i(!1)}};return(0,s.jsx)(ez,{user:n,disabledFields:u,submitText:_,loading:o,onSubmit:p})},eH=({checked:e,onChange:t})=>(0,s.jsx)("div",{className:"relative -mt-1.75 flex w-full border-none pb-5.25",children:(0,s.jsxs)("label",{children:[(0,s.jsx)("input",{type:"checkbox","aria-label":"opt into marketing",checked:e,onChange:e=>t(e.currentTarget.checked)}),(0,s.jsx)("span",{className:"pl-2 font-bold",children:ej}),(0,s.jsx)("span",{className:"block pl-8.5 text-sm",children:"Tick the box and confirm you’re 16+"})]})}),eY=eO.Ik({email:eO.Yj().min(1,"Please enter an email address").regex(eM.Uo,"Please enter a valid email address")}),eG=({defaultValues:e,submitText:t=ew,loading:a=!1,onSubmit:r,consentSlot:n})=>{let{register:o,handleSubmit:i,formState:{errors:l}}=(0,eT.mN)({resolver:(0,eA.u)(eY),values:e});return(0,s.jsxs)("form",{noValidate:!0,onSubmit:i(r),children:[(0,s.jsx)("div",{className:"mb-8 flex w-full flex-col",children:(0,s.jsx)(eP.p,{id:"email",label:"Email address",type:"email",placeholder:"Please enter your email address",error:l.email?.message,sensitive:!0,"data-testid":"personal-details-email-input",...o("email")})}),(0,s.jsxs)("div",{className:"flex flex-col items-center",children:[n,(0,s.jsx)(eg.$,{className:"mx-auto block",primary:!0,submit:!0,loading:a,title:"Submit personal details",testid:"personal-details-continue-to-table-number-button",children:t})]})]})},e$=({email:e,editable:t=!0,submitText:a,loading:r,onSubmit:n,onEditClick:o,consentSlot:i})=>{let[l,d]=(0,h.useState)(!1),c=eY.safeParse({email:e}).success,u=async e=>{await n(e),d(!1)},m="active";return c&&!l?m="display":l&&(m="edit"),(0,s.jsx)(eI,{title:eD,mode:m,onEditClick:t?()=>{d(!0),o?.()}:void 0,"data-testid":"personal-details-email-only",children:"display"===m?(0,s.jsx)("div",{"data-hj-suppress":!0,children:(0,s.jsx)("p",{className:"text-black",children:e})}):(0,s.jsx)(eG,{defaultValues:{email:e},submitText:l?"Update":a,loading:r,onSubmit:u,consentSlot:i})})},eV=({onSaved:e})=>{let{authenticated:t}=(0,w.uM)(),a=(0,S.Q)(),r=(0,h.useMemo)(()=>({email:a?.customer.email??"",firstName:a?.customer.firstName??"",lastName:a?.customer.lastName??"",phoneNumber:a?.customer.phoneNumber??""}),[a?.customer.email,a?.customer.firstName,a?.customer.lastName,a?.customer.phoneNumber]),[n,o]=(0,h.useState)(!1),{fulfilment:i}=(0,m.n)(),[l,d]=(0,h.useState)(a?.customer.marketingConsent??!1),c=(0,eu.$m)(),u=(0,H.rm)(),_=!0===t,p=eS(i);return(0,s.jsx)(e$,{email:r.email,editable:!_,submitText:p,loading:n,onSubmit:t=>{o(!0);try{u.setCustomerDetails({...r,email:t.email,marketingConsent:l}),c.emit("checkout:personal_details_submitted",{fulfilmentType:i,isAuthenticated:_}),e?.()}finally{o(!1)}},onEditClick:()=>{c.emit("checkout:personal_details_edit_clicked",{fulfilmentType:i})},consentSlot:_?void 0:(0,s.jsx)(eH,{checked:l,onChange:e=>{d(e)}})})};var eQ=a(54161),eK=a(99080),eq=a(44280),eJ=a(3523);let{title:eX,message:eZ,actionLabel:e0,secondaryActionLabel:e1}={title:"Oh no! All the collection times are booked up!",message:"Unfortunately, this restaurant doesn’t have any collection times left for today.",actionLabel:"try another restaurant",secondaryActionLabel:"get delivery instead"},e4=({show:e,onTryAnotherRestaurant:t,onGetDelivery:a})=>(0,s.jsx)(eJ.W,{open:e,title:eX,message:eZ,icon:"HEART",dismissible:!1,"data-testid":"collection-slot-modal",children:(0,s.jsxs)(eq.a.ButtonGroup,{children:[(0,s.jsx)(eg.$,{primary:!0,onClick:t,children:e0}),(0,s.jsx)(eg.$,{cta:!0,onClick:a,children:e1})]})}),e2=({show:e})=>{let t,a,r,{onTryAnotherRestaurant:n,onGetDelivery:o}=(t=(0,ee.G)(),a=(0,eK.p)(),r=(0,q.useRouter)(),{onTryAnotherRestaurant:()=>{t(Z.A.CHECKOUT_SESSION_RESET),a(),r.push(`/search/results?fulfilment=${F.n.COLLECTION}`)},onGetDelivery:()=>{t(Z.A.CHECKOUT_SESSION_RESET),a(),r.push("/search")}});return(0,s.jsx)(e4,{show:e,onTryAnotherRestaurant:n,onGetDelivery:o})};var e5=a(4406),e9=a(37149);let e3="discount",e7="availableDiscounts";var e8=a(35247);let e6="Discount",te="Invalid discount code",tt=eO.Ik({code:eO.Yj().min(1,te).regex(/^([A-Z]|_|-|[0-9])+$/i,te)});var ta=a(67488),tr=a.n(ta),tn=a(47193),to=a(97417),ti=a(32474),tl=a(66308),ts=a.n(tl);let td=({discount:{amount:e,discountCode:t,displayName:a,kind:r},loading:n,onRemoveDiscountCode:o})=>(0,s.jsxs)("div",{className:ts().appliedDiscountRow,children:[(0,s.jsxs)("div",{className:ts().appliedDiscountDetails,children:[(0,s.jsx)(to.U7,{className:ts().confirmation}),(0,s.jsxs)("div",{className:ts().discountDetails,children:[(0,s.jsx)("p",{children:a}),(0,s.jsx)("p",{className:ts().discountPrice,children:(0,e_.$g)(e.currencyCode,-e.value)})]})]}),o&&t?(0,s.jsx)(s.Fragment,{children:n?(0,s.jsx)(ti.y,{size:24,className:ts().loadingSpinner}):(0,s.jsx)("button",{"data-testid":`checkout-discount-section--applied-discount-${r}-remove-CTA`,className:ts().linkButton,onClick:()=>o(t),children:"Remove"})}):null]});var tc=a(98212),tu=a.n(tc);let tm=({discounts:e,loading:t,onRemoveDiscountCode:a})=>(0,s.jsx)("div",{"data-testid":"checkout-discount-section--applied-discounts-list",className:tu().appliedDiscountsContainer,children:e?.map(e=>(0,s.jsx)(td,{discount:e,loading:t,onRemoveDiscountCode:a},e.kind))});var t_=a(95796),tp=a.n(t_);let th=({availableDiscountNames:e,availableTitle:t,availableTitlePlural
1:a,loading:r,onApply:n})=>{let o=e.length>1?a:t;return(0,s.jsxs)("div",{"data-testid":"checkout-discount-section--available",children:[(0,s.jsx)("div",{className:tp().availableDiscountsHeader,children:(0,s.jsx)("p",{className:tp().boldSubHeader,children:o})}),(0,s.jsxs)("div",{className:tp().availableDiscountsList,children:[(0,s.jsx)("div",{children:e.map(e=>(0,s.jsx)("div",{children:(0,s.jsx)("p",{className:tp().availableDiscount,children:e})},e))}),(0,s.jsx)("div",{children:r?(0,s.jsx)(ti.y,{size:24,className:tp().loadingSpinner}):(0,s.jsx)("button",{"data-testid":"checkout-discount-section--available--apply-cta",className:tp().linkButton,onClick:n,children:"Apply"})})]})]})};var tf=a(81554),ty=a.n(tf);let tb=({appliedDiscounts:e,availableDiscountNames:t,availableTitle:a,availableTitlePlural:r,codeEntryButtonText:n,codeEntryLabel:o,codeEntryPlaceholder:i,ctaTextClose:l,currentDiscountsTitle:d,currentDiscountsTitlePlural:c,error:u,isError:m,loading:_,onClearDiscountCodes:p,onMinimize:h,onSubmit:f,register:y,sectionTitle:b,serverError:E,smallPrint:x})=>{let C=e&&e.length>1?c:d;return(0,s.jsxs)("div",{"data-testid":"checkout-discount-section--expanded",children:[(0,s.jsxs)("div",{className:ty().summaryHeader,children:[(0,s.jsx)(eR,{title:b}),(0,s.jsx)("button",{"data-testid":"checkout-discount-section--expanded--close-cta","aria-label":"Minimise Discount Section",className:ty().linkButton,onClick:h,children:l})]}),m?(0,s.jsx)(tn.l,{testId:"checkout-discount-section--error-banner",className:ty().errorBanner,type:tn.x.ALERT,children:E}):null,(0,s.jsx)("form",{className:ty().codeEntryForm,onSubmit:f,children:(0,s.jsxs)("div",{className:ty().codeEntryContainer,children:[(0,s.jsx)("div",{className:ty().codeEntryInput,children:(0,s.jsx)(eP.p,{id:"discountCodeEntry",label:o,placeholder:i,error:u,...y("code")})}),(0,s.jsx)(eg.$,{className:ty().codeEntryButton,primary:!0,submit:!0,loading:_,testid:"checkout-discount-section--apply-discount-cta",children:n})]})}),e&&e.length>0?(0,s.jsxs)("div",{"data-testid":"checkout-discount-section--expanded--current",children:[(0,s.jsx)("p",{className:ty().boldSubHeader,children:C}),(0,s.jsx)(tm,{discounts:e,onRemoveDiscountCode:p,loading:_})]}):null,t.length>0?(0,s.jsx)(th,{availableDiscountNames:t,availableTitle:a,availableTitlePlural:r,onApply:p,loading:_}):null,(0,s.jsxs)("div",{className:ty().smallPrint,children:[(0,s.jsx)("p",{className:ty().boldSubHeader,children:x.heading}),(0,s.jsxs)("ul",{children:[(0,s.jsx)("li",{children:x.oneDiscount}),(0,s.jsx)("li",{children:x.discountAndReward}),(0,s.jsxs)("li",{children:[x.termsConditions.prefix,(0,s.jsx)("a",{href:x.termsConditions.url,children:x.termsConditions.linkText}),x.termsConditions.postfix]})]})]})]})},tE=(e,t=16)=>`${e/t}rem`;var tx=a(8312),tC=a.n(tx);let tg=({children:e,editLabel:t,sectionName:a,handleClick:r})=>e&&(0,s.jsx)("button",{"aria-label":`${t??"Edit"} ${a}`,className:tC().editButton,onClick:r,type:"button","data-testid":`edit-button-${a.toLowerCase().replaceAll(" ","-")}`,children:e}),tN=({children:e,sectionName:t,optional:a})=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:tC().summaryHeader,children:(0,s.jsxs)("h2",{className:`${tC().sectionName} h3`,children:[t,a?(0,s.jsx)("span",{style:{marginLeft:tE(8),fontSize:tE(16),fontWeight:"500"},children:"(optional)"}):null]})}),e?(0,s.jsx)("div",{className:tC().childText,children:e}):null]}),tv=({children:e,handleClick:t,sectionName:a,optional:r,editLabel:n,editable:o=!0})=>(0,s.jsxs)(s.Fragment,{children:[o&&(0,s.jsx)(tg,{editLabel:n,handleClick:t,sectionName:a,children:n??"Edit"}),(0,s.jsx)(tN,{editLabel:n,optional:r,sectionName:a,children:e})]}),tR=({appliedDiscounts:e,ctaTextAddDiscount:t,ctaTextChange:a,loading:r,onExpand:n,sectionTitle:o})=>{let i=e&&e.length>0;return(0,s.jsx)(tv,{editLabel:i?a:t,handleClick:n,sectionName:o,children:i?(0,s.jsx)(tm,{discounts:e,loading:r}):null})},tI={heading:"The small print:",oneDiscount:"You can only use one discount per order.",discountAndReward:"You can use a discount and redeem a reward on the same order. Winning.",termsConditions:{prefix:"Head to ",linkText:"Terms & Conditions",postfix:" for full details and exclusions.",url:"/nandos-terms-and-conditions#promotions"}},tL=({appliedDiscounts:e,availableDiscountNames:t,expanded:a,formError:r,isError:n,loading:o,onClearDiscountCodes:i,onExpand:l,onMinimize:d,onSubmit:c,register:u})=>(0,s.jsx)("div",{"data-testid":"checkout-discount-section",className:tr().container,children:a?(0,s.jsx)(tb,{appliedDiscounts:e,availableDiscountNames:t,availableTitle:"Available discount",availableTitlePlural
1:"Available discounts",codeEntryButtonText:"Apply Discount",codeEntryLabel:"Discount code",codeEntryPlaceholder:"Enter discount code",ctaTextClose:"Close",currentDiscountsTitle:"Current discount",currentDiscountsTitlePlural:"Current discounts",error:r,isError:n,loading:o,onClearDiscountCodes:i,onMinimize:d,onSubmit:c,register:u,sectionTitle:e6,serverError:"Sorry, we can’t accept discount codes right now. Please try again later",smallPrint:tI}):(0,s.jsx)(tR,{appliedDiscounts:e,ctaTextAddDiscount:"Add discount",ctaTextChange:"Change",loading:o,onExpand:l,sectionTitle:e6})}),tD=()=>{let e=(0,_.M)(),{profile:t}=(0,w.uM)(),[a,r]=(0,h.useState)(!1),{basketId:n,customerId:o}=function({basketId:e,profileId:t}){return(0,h.useMemo)(()=>({basketId:e??void 0,customerId:t}),[e,t])}({basketId:e?.id,profileId:t?.id}),{register:i,onSubmit:l,onClearDiscountCodes:d,loading:c,isError:u,formError:m}=function({basketId:e,customerId:t,onApplied:a}){let r,n,{register:o,handleSubmit:i,reset:l,formState:{errors:s}}=(0,eT.mN)({resolver:(0,eA.u)(tt),defaultValues:{code:""}}),d=(r=(0,H.jX)(),(0,el.n)({mutationFn:async e=>{let t=await r.applyDiscountCode(e);if(!t.isSuccess)throw Error(t.error);return t.value}})),c=(n=(0,H.jX)(),(0,el.n)({mutationFn:async()=>{let e=await n.clearDiscountCode();if(!e.isSuccess)throw Error(e.error);return e.value}})),u=(0,h.useCallback)(r=>{e&&d.mutate({code:r.code.toUpperCase(),customerId:t},{onSuccess:()=>{a(),l()}})},[e,t,d,a,l]),m=(0,h.useCallback)(()=>{e&&c.mutate(void 0,{onSuccess:()=>{l()}})},[e,c,l]),_=d.error?.message===e8.e;return{register:o,onSubmit:i(u),onClearDiscountCodes:m,loading:d.isPending||c.isPending,isError:d.isError&&!_||c.isError,formError:s.code?.message??(_?te:void 0)}}({basketId:n,customerId:o,onApplied:()=>r(!1)}),p=(0,h.useMemo)(()=>e?.promotions?.deductions??[],[e?.promotions?.deductions]),f=(0,h.useMemo)(()=>p.filter(e=>!e5.Ai.has(e.kind)).map(e=>({kind:e.kind,displayName:e.displayName,discountCode:e.discountCode,amount:{value:e.amount,currencyCode:e.currencyCode}})),[p]),y=function({basketId:e,customerId:t,deductionKinds:a}){var r;let n,{data:o}=(r=e?{basketId:e,customerId:t}:null,n=(0,H.jX)(),(0,z.I)({queryKey:r?[e3,e7,r.basketId,r.customerId]:[e3,e7,null],queryFn:r?async()=>(await n.getAvailableDiscounts(r)).getValueOrThrow():e9.hT,refetchOnWindowFocus:!1}));if(!o?.discounts)return[];let i=new Set(a);return o.discounts.filter(e=>!i.has(e.kind)).map(e=>e.displayName)}({basketId:n,customerId:o,deductionKinds:p.map(e=>e.kind)});return(0,s.jsx)(tL,{appliedDiscounts:f,availableDiscountNames:y,expanded:a,formError:m,isError:u,loading:c,onClearDiscountCodes:d,onExpand:()=>r(!0),onMinimize:()=>r(!1),onSubmit:l,register:i})};var tk=a(16128),tw=a(78946),tj=a.n(tw);let tS=({show:e})=>{let{isDelivery:t}=(0,Y.Y)();return t?(0,s.jsxs)("div",{className:(0,eC.cn)([tj().wrapper,e===tk.P.DESKTOP?tj().showOnDesktop:tj().showOnMobile]),children:[(0,s.jsx)(to.V5,{className:tj().deliverooLogo}),(0,s.jsx)("span",{className:"sr-only",children:"Brought to you by Deliveroo"})]}):null};var tA=a(10896),tT=a(73617),tO=a(93912),tP=a(39742),tM=a(30849);function tF(e){return"card_error"===e.type||"validation_error"===e.type}function tU(e){return tF(e)?e.message??tM.Im:tM.Im}var tB=a(40570);function tz(){let e=(0,H.dG)(),t=(0,tP.t2)(),a=(0,tP.HH)(),r=(0,ea.U)(),{input:n,isReady:o}=function(){var e;let t,{countryCode:a}=(0,W.g)(),r=(0,H.Or)(),{profile:n}=(0,w.uM)(),o=(0,_.M)(),i=(0,S.Q)(),l=o?.totals?.grandTotal,s=o?.totals?.currencyCode,d=o?.id??null,c=(e=o?.fulfilmentType,t=Object.values(F.n),e&&t.includes(e)?e:null),u=i?.restaurant?.id??null,m=o?.customerId,p=n?.id,f=i?.customer.email,y=i?.customer.firstName??"",b=i?.customer.lastName??"",E=r.isAuthenticated();return(0,h.useMemo)(()=>void 0!==l&&u&&d&&s&&c?{isReady:!0,input:{identity:{isAuthenticated:E,profileId:p,guestEmail:E?void 0:f,givenName:y,familyName:b,countryCode:a},orderContext:{restaurantId:u,basketId:d,total:{value:l,currencyCode:s},fulfilmentMethod:c,basketCustomerId:m??void 0}}}:{input:null,isReady:!1},[l,s,d,c,u,a,E,p,f,y,b,m])}(),i=(0,el.n)({mutationFn:async t=>{let a=await e.initiatePayment(t.input,t.confirmer);if(a.isFailure)throw new J(a.error.message,a.error.isUserError);return a.value}}),{mutateAsync:l}=i;return{initiatePayment:(0,h.useCallback)(async i=>{if(!o||!n)throw r.error("Cannot initiate payment — required inputs missing",{category:er.U.PAYMENT}),new J(tM.Im,!1);if(!t||!a)throw r.error("Stripe.js was not ready at payment initiation",{category:er.U.PAYMENT,stripeReady:!!t,elementsReady:!!a}),new J(tM.Im,!1);let{error:s}=await a.submit().catch(e=>{throw r.error("Stripe elements.submit() threw",{category:er.U.PAYMENT,error:e instanceof Error?e.message:"Unknown error"}),new J(tM.Im,!1)});if(s)throw tF(s)||r.error("Stripe elements.submit() failed",{error:new tB.b("payment.submit.integration_error",{cause:s}),code:"payment.submit.integration_error",captureAsException:!0,category:er.U.PAYMENT,stripeType:s.type,providerCode:s.code,tags:{stage:"submit",fulfilmentType:n.orderContext.fulfilmentMethod,market:n.identity.countryCode,...s.code?{providerCode:s.code}:{}}}),new J(tU(s),tF(s));return l({input:n,confirmer:e.createConfirmer({stripe:t,elements:a,returnUrl:window.location.href,onConfirmStart:i?.onConfirmationStart})})},[o,n,t,a,r,l,e]),isLoading:i.isPending,isError:i.isError,error:i.error instanceof Error?i.error.message:null,data:i.data}}var tW=a(16884),tH=a(36625),tY=a.n(tH);function tG({isDisabled:e,isLoading:t,price:a,onClickCallback:r,onPaymentError:n,onSubmit:o}){let{initiatePayment:i}=tz();return(0,s.jsx)(tW.A,{className:tY().buttonWithPrice,loading:t,disabled:e,onClick:()=>o(i,r,n),price:a,title:"PLACE ORDER",testid:"place-order-button"})}function t$({isDisabled:e,isLoading:t,price:a,onSubmit:r}){return(0,s.jsx)(tW.A,{className:tY().buttonWithPrice,loading:t,disabled:e,onClick:r,price:a,title:"PLACE ORDER",testid:"place-order-button"})}function tV({isBasketZeroCost:e,isLoading:t,baseDisabled:a,price:r,showOOSModal:n,onCloseOOSModal:o,onZeroCostSubmit:i,onPayableSubmit:l,orderDetailsValid:d,onClickCallback:c,onPaymentError:u}){let m=a||!d;return(0,s.jsxs)(s.Fragment,{children:[e?(0,s.jsx)(t$,{isLoading:t,isDisabled:m,price:r,onSubmit:i}):(0,s.jsx)(tG,{isLoading:t,isDisabled:m,price:r,onClickCallback:c,onPaymentError:u,onSubmit:l}),(0,s.jsx)(eJ.W,{open:n,onClose:o,title:"Some items are out of stock",message:"One or more items in your basket are no longer available. Head back to the menu to update your order before checking out.",dismissible:!1,"data-testid":"checkout-oos-modal",children:(0,s.jsx)(eg.$,{primary:!0,onClick:o,children:"Back to menu"})})]})}function tQ({outcomeModal:e,onClose:t}){let a=e?.outcome.action==="review-total";return(0,s.jsx)(eJ.W,{open:!!e,onClose:t,title:e?.outcome.title??"",message:(0,s.jsxs)(s.Fragment,{children:[e?.outcome.de
1scription,a&&e?.newTotalLabel&&(0,s.jsxs)("span",{className:"mt-4 block font-semibold","data-testid":"checkout-submit-outcome-new-total",children:["New total: ",e.newTotalLabel]})]}),"data-testid":"checkout-submit-outcome-modal",children:(0,s.jsx)(eg.$,{primary:!0,onClick:t,children:a?"Review order":"OK"})})}var tK=a(42605),tq=a(75129),tJ=a.n(tq);let tX=({orderDetailsValid:e,submitOrderButton:t,onClickCallback:a,onPaymentError:r})=>(0,s.jsxs)("div",{className:tJ().wrapper,children:[(0,s.jsx)(tV,{...t,orderDetailsValid:e,onClickCallback:a,onPaymentError:r}),(0,s.jsx)(tQ,{outcomeModal:t.outcomeModal,onClose:t.onCloseOutcomeModal}),(0,s.jsx)("div",{children:(0,s.jsxs)("p",{className:tJ().termsAndPolicy,children:["By placing your order you are agreeing to our"," ",(0,s.jsx)("a",{href:tK.VA,className:tJ().link,children:"Terms & Conditions"})," ","and"," ",(0,s.jsx)("a",{href:tK.cg,className:tJ().link,children:"Privacy Policy"})]})})]});var tZ=a(4241),t0=a(7471),t1=a(79964),t4=a(6503);let t2={[t1.D.UK]:t4._K.NEXT_PUBLIC_STRIPE_PUBLIC_KEY_UK,[t1.D.IE]:t4._K.NEXT_PUBLIC_STRIPE_PUBLIC_KEY_IE},t5=null,t9=({children:e})=>{let{currencyCode:t}=(0,W.g)(),a=(0,_.M)(),r=a?.totals?.grandTotal??0,n={...(({currencyCode:e,grandTotalValue:t})=>({currency:e.toLowerCase(),amount:t,...{fonts:[{cssSrc:`${t4.Tz}/fonts/font-face.css`}],appearance:{theme:"stripe",variables:{borderRadius:"2px",colorBackground:"#ffffff",colorDanger:"#ef0000",colorPrimary:"#177bba",colorSuccess:"#4f8b41",colorText:"#000000",focusBoxShadow:"none",focusOutline:"2px solid #0564a5",fontFamily:"Barlow,Helvetica,Arial",fontSizeBase:"18px",gridColumnSpacing:"16px",gridRowSpacing:"20px",iconCardCvcColor:"#595959",iconCardErrorColor:"#ef0000",iconColor:"#595959",iconHoverColor:"#177bba",spacingUnit:"4px"},rules:{".Label":{fontSize:"18px",fontWeight:"700"},".Input":{border:"2px solid #595959",outlineOffset:"2px"},".Input:focus":{border:"none",outlineOffset:"2px"},".Input:focus-visible":{border:"2px solid #595959",outlineOffset:"2px"},".Link":{outlineOffset:"2px"},".MenuIcon":{outlineOffset:"2px"},".Action":{marginLeft:"10px"},".Action:focus-visible":{outlineOffset:"2px"},".PickerItem:focus-visible":{outlineOffset:"2px"},".Input--invalid":{borderColor:"var(--colorDanger)"},".Input::placeholder":{color:"#757575",fontWeight:"600"},".Error":{fontSize:"16px"},".CheckboxInput":{border:"2px solid #595959",borderRadius:"0",outlineOffset:"2px"},".CodeInput":{border:"2px solid #595959",borderRadius:"0"}}}}}))({currencyCode:t,grandTotalValue:r}),mode:"payment",capture_method:"manual"},{status:o,stripe:i,load:l}=(()=>{let e=(0,W.A)(),[t,a]=(0,h.useState)("loading"),[r,n]=(0,h.useState)(null),o=(0,h.useCallback)(()=>{a("loading");let t=t5||(t5=(0,t0.Ay)(()=>(0,tZ.c)(t2[e]),{retries:3}).catch(e=>{throw t5=null,e}));n(t),t.then(()=>a("loaded")).catch(()=>a("error"))},[e]);return(0,h.useEffect)(()=>{o()},[o]),{status:t,stripe:r,load:o}})();return"loading"===o?(0,s.jsxs)("div",{className:"flex justify-center py-4",role:"status","aria-live":"polite",children:[(0,s.jsx)("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-transparent border-t-black"}),(0,s.jsx)("span",{className:"sr-only",children:"Loading payment system"})]}):"error"===o?(0,s.jsxs)("div",{role:"alert",children:[(0,s.jsx)("p",{className:"mb-3",children:"We've had some trouble loading our payment system. Please try again."}),(0,s.jsx)(eg.$,{primary:!0,onClick:l,children:"Retry"})]}):r<=0?null:(0,s.jsx)(tP.S8,{stripe:i,options:n,children:e})};var t3=a(69075),t7=a(63606),t8=a.n(t7);function t6({canShowCardDetails:e,errorMessage:t,children:a}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("form",{className:e?void 0:"invisible","data-testid":"stripe-payment-element-form",children:[(0,s.jsx)(eR,{title:"Payment details"}),t?(0,s.jsx)(tn.l,{className:t8().banner,type:tn.x.ALERT,children:(0,s.jsx)("p",{children:t})}):null,a]}),e?null:(0,s.jsx)("h3",{className:"emptySummary","data-testid":"disabled-payment-details-section-header",children:"Payment details"})]})}let ae={paymentMethods:{applePay:"auto",googlePay:"auto",link:"never",amazonPay:"never",paypal:"never",klarna:"never"}},at=({onPaymentError:e})=>{let{hasExpressMethods:t,onReady:a,onConfirm:r}=(({onPaymentError:e})=>{let t=y(),a=(0,S.Q)(),{fulfilment:r}=(0,m.n)(),n=em(),o=(0,H.dG)(),i=(0,_.M)(),l=(0,ea.U)(),{initiatePayment:s}=tz(),{onSubmitSuccess:d,onSubmitFailure:c}=eo("wallet"),u=(0,eu.$m)(),{data:p}=(0,V.GP)(),[f,b]=(0,h.useState)(!1);return{hasExpressMethods:f,onReady:(0,h.useCallback)(e=>{b(!!e.availablePaymentMethods)},[]),onConfirm:(0,h.useCallback)(async m=>{if(t.orderPending||t.loyaltySettling)return void m.paymentFailed({reason:"fail"});e(null),t.setOrderPending(!0),u.emit("checkout:checkout_submit_clicked",{isLoyaltyMember:!!p?.cardNumber||!!t.loyaltySignupInCheckout,value:i?.totals?.grandTotal??0,subtotal:i?.totals?.subtotal??0,currencyCode:i?.totals?.currencyCode});let _=a?.restaurant?.id??"";if("reuse"===(0,t3.G)({paymentService:o,currentTotal:i?.totals?.grandTotal,paymentMethod:"wallet",restaurantId:_,fulfilmentType:r??"",logger:l})){m.paymentFailed({reason:"fail"});let t=await n(null);return t.isFailure?void c(t.error,{wasPayable:!0,paymentAlreadyTaken:!0,onPaymentError:e}):void d({paymentAlreadyTaken:!0})}let h=!1,f=async()=>{try{let{paymentReference:e}=await s({onConfirmationStart:()=>{h=!0}});return X.Q.ok({paymentReference:e})}catch(a){let e=a instanceof J&&a.isUserError,t=a instanceof Error?a.message:"Failed to take payment";return X.Q.fail({message:t,isUserError:e})}},y=await n(f);(h||m.paymentFailed({reason:"fail"}),y.isFailure)?c(y.error,{wasPayable:!0,onPaymentError:e}):d({paymentAlreadyTaken:!1})},[e,t,a,r,o,i,l,s,n,d,c,u,p])}})({onPaymentError:e});return(0,s.jsxs)("div",{"data-testid":"express-checkout",children:[(0,s.jsx)(tP.F8,{options:ae,onReady:a,onConfirm:r}),t?(0,s.jsxs)("div",{className:t8().expressDivider,children:[(0,s.jsx)("div",{className:t8().expressDividerLine}),(0,s.jsx)("span",{className:t8().expressDividerText,children:"Or pay with card"})]}):null]})},aa=({submitOrderButton:e})=>
1{let[t,a]=(0,h.useState)(!1),[r,n]=(0,h.useState)(null),o=(0,S.Q)()?.customer,i=(0,W.A)()===t1.D.IE,l=B().isOrderDetailsConfirmed,d=(0,ea.U)(),c=(0,O._)(T.T.DISABLE_STRIPE_LINK,!1),u={defaultValues:{billingDetails:{...i?{address:{country:"IE"}}:null,email:o?.email??"",name:`${o?.firstName??""} ${o?.lastName??""}`.trim(),phone:o?.phoneNumber??""}},layout:"tabs",wallets:{applePay:"never",googlePay:"never",link:c?"never":"auto"},fields:{billingDetails:{address:"if_required"}},business:{name:eL.G}},m=r?.message??null;return(0,s.jsx)(t6,{canShowCardDetails:l,errorMessage:m,children:(0,s.jsxs)(t9,{children:[(0,s.jsx)(at,{onPaymentError:n}),(0,s.jsx)(tP.He,{"data-testid":"stripe-payment-element",options:u,onLoadError:e=>{d.error("Payment Element - Load Error",{logGroup:er.U.STRIPE,error:e.error}),n({message:tU(e.error)})},onFocus:()=>{n(null)},onChange:e=>{a(e.complete)}}),(0,s.jsx)("br",{}),(0,s.jsx)(tX,{onClickCallback:()=>{n(null)},orderDetailsValid:l&&t,submitOrderButton:e,onPaymentError:n})]})})};var ar=a(10122),an=a(8678),ao=a.n(an);let ai=({submitOrderButton:e})=>{let t=(0,ea.U)();return(0,s.jsx)("div",{className:ao().wrapper,"data-testid":"payment-details",children:(0,s.jsx)(tO.tH,{fallbackRender:ar.z,onError:(e,a)=>{t.error("Payment Form Error - Stripe",{logGroup:er.U.STRIPE,error:e instanceof Error?e:Error(String(e)),componentStack:a.componentStack})},children:(0,s.jsx)(aa,{submitOrderButton:e})})})},al=({address:e})=>(0,s.jsxs)("div",{"data-hj-suppress":!0,children:[(0,s.jsx)("p",{children:e.line1}),e.line2&&(0,s.jsx)("p",{children:e.line2}),(0,s.jsx)("p",{children:e.city}),(0,s.jsx)("p",{children:e.postalCode})]});var as=a(44295),ad=a(41961);let ac=({market:e,defaultInputValue:t,onAddressSelected:a})=>{let{addressSearchDataProvider:r,handleAutocompleteSubmit:n,handleAutocompleteInputChange:o,handleOnManualAddressSelected:i,handleAutocompleteError:l}=(({defaultInputValue:e,onAddressSelected:t})=>{let[a,r]=(0,h.useState)(e||""),n=(0,eu.$m)(),o=(0,ea.U)(),i=(0,O._)(T.T.GEO_DATA_PROVIDER),l=(0,h.useCallback)(e=>(e.isComplete||n.emit("checkout:address_autocomplete:error",{error:"INCOMPLETE_ADDRESS"}),t(e)),[t,n]),s=(0,h.useCallback)(e=>{r(e)},[]);return{input:a,addressSearchDataProvider:i,handleAutocompleteSubmit:l,handleAutocompleteInputChange:s,handleOnManualAddressSelected:(0,h.useCallback)(()=>{n.emit("checkout:address_autocomplete:manual_entry_clicked",{})},[n]),handleAutocompleteError:(0,h.useCallback)(e=>{"INCOMPLETE_ADDRESS"===e.type&&(n.emit("checkout:address_autocomplete:error",{error:"INCOMPLETE_ADDRESS"}),e.address.postalCode?o.debug("Address is not a complete address type from geo data",{context:{hasPostalCode:!0,addressType:e.address.type,isComplete:e.address.isComplete}}):o.debug("Address postal code is not valid from geo data",{context:{hasPostalCode:!1,addressType:e.address.type,isComplete:e.address.isComplete}}))},[o,n])}})({defaultInputValue:t,onAddressSelected:a});return(0,s.jsx)(as.R,{market:e,scope:"address",defaultIsOpen:!0,open:!0,defaultInputValue:t,label:"google-maps"===r?ad.sE:(0,ad.xh)(e),placeholder:ad.$D,onInputValueChange:o,onAddressSelected:n,onManualAddressSelected:i,onError:l})};var au=a(12617);class am extends au.r{constructor(e){super(e)}static create(e,t){let a=e?.trim()??null,r=!a||0===a.length;if(t===t1.D.UK){if(r)return X.Q.fail("Postcode is required for UK market");let e=a.toUpperCase();return eM.rl.test(e)?X.Q.ok(new am({value:e,market:t})):X.Q.fail("Invalid UK postcode format")}if(t===t1.D.IE){if(r)return X.Q.ok(null);let e=a.toUpperCase();return eM.R6.test(e)?X.Q.ok(new am({value:e,market:t})):X.Q.fail("Invalid IE Eircode format")}return X.Q.fail(`Unsupported market: ${t}`)}get formatted(){return this._value.value}get raw(){return this._value.value}}var a_=a(60422),ap=a(85756);let ah=({market:e,buttonLabel:t,initialValues:a,onAddressSelected:r})=>{let n=(0,ap.g)({market:e}),[o,i]=(0,h.useState)(null),[l,d]=(0,h.useState)(!1);async function c(t){try{d(!0);let a=[t.line1,t.line2,t.city,t.postcode].filter(Boolean).join(", ").trim(),o=await n.mutateAsync(a).catch(()=>null);if(!o)return void i({text:"We're having trouble finding your location. Check your details and try again.",type:tn.x.ALERT});let l=am.create(t.postcode||null,e),s=!!t.line1&&!!t.city&&l.isSuccess,c={...o,line1:t.line1,line2:t.line2||"",city:t.city,postalCode:t.postcode||null,isManualInput:!0,isComplete:s};if(!s)return void i({text:"We're having trouble finding your location. Check your details and try again.",type:tn.x.ALERT});let u=await r(c);if(!u.valid)return void i({text:u.message,type:u.type});i(null)}catch{i({text:"We're having trouble finding your location. Please try again.",type:tn.x.ALERT})}finally{d(!1)}}return(0,s.jsxs)(s.Fragment,{children:[o&&(0,s.jsx)(tn.l,{className:"mb-2",type:o.type,children:o.text}),(0,s.jsx)(a_.X,{market:e,onSubmit:c,submitButtonText:t,loading:l,defaultValues:a})]})};var af=a(67768),ay=a(48740),ab=a(7305);let aE=()=>{let{address:e,defaultFormValues:t,formattedAddress:a,searchType:r,sectionView:n,market:o,submitAddress:i,onSectionEditClick:l,onSectionCancelClick:d}=(()=>{var e,t,a,r,n;let{setSelectedCheckoutSectionToEdit:o}=y(),i=(0,eu.$m)(),l=(0,ea.U)(),s=(0,W.A)(),d=(0,O._)(T.T.CHECKOUT_ADDRESS_INPUT_TYPE),c=(0,O._)(T.T.SEARCH_ADDRESS_INPUT_TYPE),u=(0,O._)(T.T.GEO_DATA_PROVIDER),m=(0,ay.W)(),_=(0,H.rm)(),p=(0,H.jX)(),f=(0,S.Q)(),b=(0,af.jE)(),{statusByName:E}=B(),x=(()=>{let e=(0,S.Q)()?.restaurant?.id??"",{countryCode:t}=(0,W.g)(),a=(0,H.rm)();return(0,h.useCallback)(async r=>(await a.getDeliveryQuoteForCoordinates({restaurantId:e,latitude:r.latitude,longitude:r.longitude,countryCode:t})).getValueOrThrow(),[a,e,t])})(),C=m.getAddress(),g=!!(f&&(f.fulfilment?.delivery??null)?.isAddressConfirmed),N=function(e){switch(e){case"complete":return"display";case"active":return"active";case"editing":return"edit";default:return"hidden"}}
1(E[k.DELIVERY_DETAILS]),v=(e=C,t=g,a=c,r=d,n=u,t?e?.isManualInput?[e.line1,e.city,e.postalCode].filter(Boolean).join(", "):e?.formatted:"autocomplete"===r&&"google-maps"===n?"":(0,ab.CS)(e,a)),R=(0,h.useCallback)(async e=>{let t={valid:!1,message:"Sorry, we can't deliver to this address. Please check your details and try again.",type:tn.x.ALERT};try{if("STREET_ADDRESS"!==e.type||!e.isComplete)return{validation:t};let a=await x({latitude:e.latitude,longitude:e.longitude});return{validation:{valid:!0},deliveryQuote:a}}catch{return{validation:t}}},[x]),I=(0,h.useCallback)(async e=>(await R(e)).validation,[R]),L=(0,h.useCallback)(async e=>{let{validation:t,deliveryQuote:a}=await R(e);if(!t.valid)return l.debug("Address failed validation",{context:{address:e}}),t;let r=a??null;if(r){let t=await p.addDeliveryFee(r.token);if(t.isFailure)return l.error("Failed to apply delivery fee on address confirm",{error:t.error}),{valid:!1,message:"Sorry, something went wrong confirming your address. Please try again.",type:tn.x.ALERT};b.setQueryData((0,A.u)(f?.restaurant?.id,e.latitude,e.longitude),r)}return m.saveAddress(e),_.setDeliveryAddress(e),_.confirmDeliveryAddress(),r&&_.setDeliveryQuote(r),o(void 0),{valid:!0}},[R,m,_,p,f,b,o,l]);return{address:C,formattedAddress:v,defaultFormValues:function(e){if(e)return{line1:e.line1,line2:e.line2,city:e.city,postcode:e.postalCode??void 0}}(C),searchType:d,sectionView:N,market:s,onSectionEditClick:()=>{i.emit("checkout:address_edit_clicked",{}),o(k.DELIVERY_DETAILS)},onSectionCancelClick:()=>{o(void 0)},submitAddress:L,validateAddress:I}})();return(0,s.jsxs)(eI,{title:"Delivery details",mode:n,onEditClick:l,onCancelClick:d,"data-testid":"display"===n?"edit-button-delivery-details":"delivery-details",children:["display"===n&&(0,s.jsx)(al,{address:e}),["active","edit"].includes(n)&&(0,s.jsxs)(s.Fragment,{children:["manual"===r&&(0,s.jsx)(ah,{market:o,initialValues:t,onAddressSelected:i,buttonLabel:"edit"===n?"Update":"Continue to payment"}),"autocomplete"===r&&(0,s.jsx)(ac,{market:o,defaultInputValue:a,onAddressSelected:i})]})]})};var ax=a(18847),aC=a.n(ax),ag=a(71277),aN=a(53590);let av=()=>(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -100%)",zIndex:1,pointerEvents:"none"},children:(0,s.jsxs)("svg",{fill:"none",height:"53",viewBox:"0 0 34 53",width:"34",xmlns:"http://www.w3.org/2000/svg",children:[(0,s.jsx)("path",{d:"m17.0794.00013613.5787.01205427c8.7636.3312256 15.925 7.5519396 16.3174 16.4288096.0654 1.1593 0 2.3186-.1962 3.4447-.1308 1.2587-1.7331 10.6986-16.1866 32.7914-.2943.4305-.9483.4305-1.2426 0-2.616-3.8754-12.58958-19.178-15.597996-30.3734-.228901-.795-.425102-1.5568-.555903-2.3517 0-.0994-.0327-.1656-.0327-.265l-.0859895-.8048c-.0484447-.5422-.0775115-1.0942-.0775115-1.6463 0-9.73801 7.97884-17.588058 17.6581-17.2237096z",fill:"#00788c"}),(0,s.jsx)("path",{d:"m17 8.43182 8.5 9.83708v.7027h-2.8333v6.3239l-4.25-.0014v-5.6199h-2.8334v5.6199l-4.25.0014v-6.3239h-2.8333v-.7027z",fill:"#fff"})]})})}),aR=aC()(()=>Promise.all([a.e(1120),a.e(9964),a.e(7904)]).then(a.bind(a,57904)).then(e=>e.PindropInteractiveMap),{loadableGenerated:{webpack:()=>[57904]},ssr:!1}),aI=({modalOpen:e,previewCenter:t,center:a,mapTooFar:r,mapType:n,onBoundsChanged:o,onConfirmClick:i,onChangeAddressClick:l,onStaticMapClick:d,onMapTypeChanged:c})=>{let u=(0,h.useMemo)(()=>(0,ag.$)(t),[t]),m=(0,h.useMemo)(()=>(0,ag.$)(a),[a]);return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"Your driver will meet you at the location below, tap the map to change your location."}),(0,s.jsx)(aN.T,{open:e,onOpen:d,headerVariant:"delivery",dismissible:!1,title:"Where are we meeting you?",description:"Choose the exact location where your driver will meet you","data-testid":"pin-drop-modal",mobileFullHeight:!0,bleed:!0,trigger:(0,s.jsx)(ng,{coordinates:u,mapTypeId:n}),footer:(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"m-0! mb-4!",children:`${eL.G} and Deliveroo aren’t responsible for failed deliveries when the pin is incorrect.`}),!r&&(0,s.jsx)(eg.$,{primary:!0,onClick:()=>i?.(a),testid:"pin-drop-map-confirm-button",children:"Confirm Pin"}),r&&(0,s.jsx)(eg.$,{primary:!0,onClick:l,testid:"pin-drop-map-change-address-button",children:"Change Address"})]}),children:(0,s.jsxs)("div",{className:"relative h-full min-h-0 md:h-[60vh]",children:[r&&(0,s.jsx)("div",{className:"absolute z-10 m-2 mt-2",children:(0,s.jsx)(tn.l,{type:tn.x.WARNING,children:"The pin is quite far from your address. Make sure it's in the right location or change your address."})}),(0,s.jsx)(av,{}),(0,s.jsx)(aR,{center:m,mapType:n,onBoundsChanged:o,onMapTypeChanged:c})]})})]})};var aL=a(42135),aD=a(78318);let ak={latitude:51.5072,longitude:.1276},aw=()=>
1{let{mode:e,center:t,previewCenter:a,mapTooFar:r,mapType:n,modalOpen:o,onBoundsChanged:i,onMapTypeChanged:l,onChangeAddressClick:d,onConfirmClick:c,onStaticMapClick:u}=function(){let{selectedCheckoutSectionToEdit:e,setSelectedCheckoutSectionToEdit:t}=y(),a=(0,ay.W)(),r=(0,H.rm)(),n=(0,S.Q)(),o=(0,eu.$m)(),[i,l]=(0,aL.Fo)("mapType","roadmap"),s=n?n.fulfilment?.delivery??null:null,d=a.getAddress(),c=d?{latitude:d.latitude,longitude:d.longitude}:void 0,u=s?.pinnedCoordinates??null,[m,_]=(0,h.useState)(u??c??ak);(0,h.useEffect)(()=>{c&&_(c)},[c?.latitude,c?.longitude]);let p=null!==u,f=!!s?.isAddressConfirmed,b=e===k.DELIVERY_DETAILS,E=(0,h.useMemo)(()=>f&&!b?"display":"hidden",[f,b]),[x,C]=(0,h.useState)(!1),g=(0,h.useMemo)(()=>u?{latitude:u.latitude,longitude:u.longitude}:c?{latitude:c.latitude,longitude:c.longitude}:ak,[u?.latitude,u?.longitude,c?.latitude,c?.longitude]),N=(0,h.useMemo)(()=>{let e=c?{latitude:c.latitude,longitude:c.longitude}:ak,t=aD.E.create(e.latitude,e.longitude),a=aD.E.create(m.latitude,m.longitude);return!t.isFailure&&!a.isFailure&&t.value.distanceTo(a.value).toMiles()>.08},[m,c?.latitude,c?.longitude]),v=(0,h.useCallback)(e=>{let t=(0,ag.b)(e.detail.center);_(e=>1e-6>Math.abs(e.latitude-t.latitude)&&1e-6>Math.abs(e.longitude-t.longitude)?e:t)},[]),R=(0,h.useCallback)(e=>{l(e)},[l]),I=(0,h.useCallback)(()=>{o.emit("checkout:pindrop:change_address",{}),t(k.DELIVERY_DETAILS),C(!1),_(g)},[t,g,o]),L=(0,h.useCallback)(()=>{o.emit("checkout:pindrop:confirmed",{}),r.confirmDeliveryPin({latitude:m.latitude,longitude:m.longitude}),C(!1)},[r,m,o]);return{mode:E,center:m,previewCenter:g,mapTooFar:N,mapType:i,modalOpen:!p||x,onBoundsChanged:v,onMapTypeChanged:R,onChangeAddressClick:I,onConfirmClick:L,onStaticMapClick:(0,h.useCallback)(()=>{C(!0)},[])}}();return(0,s.jsx)(eI,{title:"Where are we meeting you?",mode:e,"data-testid":"pin-drop-container",children:(0,s.jsx)(aI,{center:t,previewCenter:a,mapTooFar:r,mapType:n,modalOpen:o,onBoundsChanged:i,onMapTypeChanged:l,onChangeAddressClick:d,onConfirmClick:c,onStaticMapClick:u})})};
1var aj=a(29411),aS=a.n(aj),aA=a(42304),aT=a(95088),aO=a.n(aT);let aP=["","one","two","three"];function aM({value:e}){return e?(0,s.jsxs)("p",{className:`${aO().chilliEarned} body1 m-4 mb-0 flex`,children:[(0,s.jsx)(to.$b,{className:aO().chilli,size:24}),`You’ll collect ${aP[e]||e} Chilli${e>1?"es":""} on this order`]}):null}var aF=a(3403),aU=a(5806),aB=a.n(aU);function az({row:e,plural:t}){let{kind:a,value:r,displayPrefix:n}=e;return(0,s.jsxs)("p",{className:`${aB().chilliEarned} body1 m-4 mb-0 flex`,children:[(0,s.jsx)(to.$b,{className:aB().chilli,size:24}),`You’ll collect ${n} ${a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}${r>1?a===aF.t.CHILLI?"es":"s":""} for completing your Mission${t>1?"s":""}`]})}function aW({aggregatedPrizes:e}){if(!e||0===e.rows.length)return null;let{rows:t,missionsPlural:a}=e;return t.map((e,t)=>(0,s.jsx)(az,{row:e,plural:a},`${e.kind}-${t}`))}var aH=a(83794),aY=((n={}).CHILLI_COLLECTED="CHILLI_COLLECTED",n.CHILLI_ERROR_FINAL="CHILLI_ERROR_FINAL",n.CHILLI_ERROR_REFRESH="CHILLI_ERROR_REFRESH",n.CHILLI_LIMIT_REACHED="CHILLI_LIMIT_REACHED",n.CHILLI_LOADING="CHILLI_LOADING",n.CHILLI_TOTAL_TOO_LOW="CHILLI_TOTAL_TOO_LOW",n.REWARDS_APPLICABLE="REWARDS_APPLICABLE",n.REWARD_REDEMPTION_FAILED="REWARD_REDEMPTION_FAILED",n.REWARD_REDEMPTION_TOTAL_TOO_LOW="REWARD_REDEMPTION_TOTAL_TOO_LOW",n.REWARDS_APPLIED_GREEN="REWARDS_APPLIED_GREEN",n.REWARDS_APPLIED_ORANGE="REWARDS_APPLIED_ORANGE",n.REWARDS_APPLIED_RED="REWARDS_APPLIED_RED",n.REWARDS_APPLIED_JOINING="REWARDS_APPLIED_JOINING",n.REWARDS_NONE="REWARDS_NONE",n.MISSION_PRIZE_EARNED="MISSION_PRIZE_EARNED",n),aG=a(25795),a$=a.n(aG);let aV=({icon:e,description:t,button:a})=>(0,s.jsxs)("div",{className:a$().notification,children:[e,(0,s.jsx)("div",{className:a$().description,children:t}),a?(0,s.jsx)("button",{type:"button",onClick:a.onClick,children:a.description}):null]}),aQ=({events:e,chilliesEarned:t,missionPrizes:a,currencyCode:r,rewardRedemption:n,hasBasketRewardError:o,viewRewards:i,onRemoveReward:l,onErrorRetry:d})=>{let c,u=(a?.rows.length??0)>0,m={description:aH.D4.REMOVE_REWARD,onClick:l},_={CHILLI_COLLECTED:null,MISSION_PRIZE_EARNED:null,CHILLI_ERROR_FINAL:{description:aH.D4.LOYALTY_ERROR_UNRECOVERABLE(r),icon:(0,s.jsx)(to.N5,{className:a$().warning})},CHILLI_ERROR_REFRESH:{button:{description:aH.D4.LOYALTY_TRY_AGAIN,onClick:d},description:aH.D4.LOYALTY_ERROR_REFRESHABLE,icon:(0,s.jsx)(to.N5,{className:a$().warning})},CHILLI_LIMIT_REACHED:{description:aH.D4.LOYALTY_LIMIT_REACHED,icon:(0,s.jsx)(to.N5,{className:a$().warning})},CHILLI_LOADING:{description:aH.D4.LOYALTY_LOADING,icon:(0,s.jsx)(ti.y,{size:24,"data-testid":"loadingSpinner"})},CHILLI_TOTAL_TOO_LOW:{description:aH.D4.LOYALTY_SPEND_MORE(r),icon:(0,s.jsx)(to.N5,{className:a$().warning})},REWARDS_APPLICABLE:{button:{description:aH.D4.VIEW_REWARDS,onClick:i},description:aH.D4.APPLICABLE_REWARDS,icon:(0,s.jsx)(to.R2,{className:a$().info})},REWARDS_APPLIED_GREEN:{button:m,description:aH.D4.APPLIED_GREEN_REWARD,icon:(0,s.jsx)(to.U7,{className:a$().confirmation})},REWARDS_APPLIED_ORANGE:{button:m,description:aH.D4.APPLIED_ORANGE_REWARD,icon:(0,s.jsx)(to.U7,{className:a$().confirmation})},REWARDS_APPLIED_RED:{button:m,description:aH.D4.APPLIED_RED_REWARD,icon:(0,s.jsx)(to.U7,{className:a$().confirmation})},REWARDS_APPLIED_JOINING:{button:m,description:aH.D4.APPLIED_JOINING_REWARD,icon:(0,s.jsx)(to.U7,{className:a$().confirmation})},REWARD_REDEMPTION_FAILED:{button:m,description:aH.D4.LOYALTY_REWARD_REDEMPTION_FAILED,icon:(0,s.jsx)(to.N5,{className:a$().warning})},REWARD_REDEMPTION_TOTAL_TOO_LOW:{button:m,description:n?aH.D4.LOYALTY_REWARD_REDEMPTION_TOTAL_TOO_LOW(r,n.kind,n.requiredSpendRemaining):aH.D4.LOYALTY_REWARD_REDEMPTION_FAILED,icon:(0,s.jsx)(to.N5,{className:a$().warning})},REWARDS_NONE:{button:{description:aH.D4.VIEW_REWARDS,onClick:i},description:aH.D4.NO_REWARDS,icon:(0,s.jsx)(to.R2,{className:a$().info})}},p=e.includes(aY.CHILLI_COLLECTED),h=o?(c={button:{description:aH.D4.LOYALTY_TRY_AGAIN,onClick:l},description:aH.D4.SOMETHING_WENT_WRONG,icon:(0,s.jsx)(to.N5,{className:a$().warning})},(0,s.jsx)(aV,{...c})):e.sort().map(e=>{let t=_[e];return t?(0,s.jsx)(aV,{...t},e):null}
1),f=Array.isArray(h)?h.filter(Boolean).length>0:!!h;return(0,s.jsxs)("div",{className:`${a$().container}${f?"":" pb-4"}`,"data-testid":"checkout-loyalty",children:[(0,s.jsxs)("div",{className:a$().header,children:[(0,s.jsx)("h2",{className:`${a$().sectionName} h4`,children:aH.D4.LOYALTY_HEADING}),p?(0,s.jsx)(aA.A,{chilliesEarned:t}):null]}),p?(0,s.jsx)(aM,{value:t}):null,u?(0,s.jsx)(aW,{aggregatedPrizes:a}):null,h]})};var aK=a(23002),aq=a(75478),aJ=a(64998);function aX(){let e=(0,_.M)(),t=(0,aJ.M)(),a=e?.loyalty?.applicableRewards;return{data:(0,h.useMemo)(()=>{if(!a||0===a.length)return[];let e=[];return a.forEach(a=>{let{rewardType:r,menuItem:n}=a;!n||(t||r!==aq.E.JOINING)&&e.push({rewardType:r,menuItem:{id:n.id,displayName:n.displayName}})}),e},[a,t]),isLoading:!1,isError:!1}}var aZ=a(10072);function a0(){let{data:e}=aX(),{data:t}=(0,V.GP)(),a=(0,aZ.N)();return(0,h.useMemo)(()=>({applicable:Array.from(new Set(e.map(e=>e.rewardType).filter(a))).sort(),balance:Array.from(new Set((t?.rewards??[]).map(e=>e.kind).filter(a))).sort()}),[e,t?.rewards,a])}function a1(e,t){let a=new Set(t);return e.some(e=>!a.has(e))}let a4=[aq.E.JOINING,aq.E.GREEN,aq.E.ORANGE,aq.E.RED];var a2=a(65464),a5=a(97262),a9=a(55574),a3=a(49342),a7=a(20182),a8=a(35445),a6=a(58637);let re={[aq.E.GREEN]:aY.REWARDS_APPLIED_GREEN,[aq.E.ORANGE]:aY.REWARDS_APPLIED_ORANGE,[aq.E.RED]:aY.REWARDS_APPLIED_RED,[aq.E.JOINING]:aY.REWARDS_APPLIED_JOINING},rt={[a6.R.COLLECTED]:aY.CHILLI_COLLECTED,[a6.R.TOTAL_TOO_LOW]:aY.CHILLI_TOTAL_TOO_LOW,[a6.R.LIMIT_REACHED]:aY.CHILLI_LIMIT_REACHED};var ra=a(4141),rr=a(64160),rn=a(88019),ro=a(13178),ri=a.n(ro);function rl({redeemableRewards:e}){return(0,s.jsx)("div",{className:ri().container,children:rr.u.map(t=>{let{balance:a=0}=e[t]??{},r=(0,ra.ZH)(t);return(0,s.jsxs)(h.Fragment,{children:[(0,s.jsx)(rn.pS,{tier:t,className:ri().heart}),(0,s.jsx)("span",{className:a?ri().rewardBalance:ri().hiddenRewardBalance,children:a}),(0,s.jsx)("span",{className:ri().rewardName,children:r})]},r)})})}let rs=function(){let{redeemableRewards:e}=function(){let{data:e}=(0,a7.i)();return{redeemableRewards:e}}();return(0,s.jsx)(rl,{redeemableRewards:e})};var rd=a(48230),rc=a.n(rd),ru=a(56752),rm=a.n(ru);let r_={GREEN:{background:rm().backgroundGreen},ORANGE:{background:rm().backgroundOrange},RED:{background:rm().backgroundRed},JOINING:{background:rm().backgroundJoining}};function rp({rewardType:e,currencyCode:t,orderValueTooLow:a=!1,solo:r=!1,isComboMeal:n,menuItemName:o,isSelected:i,showFeedback:l,handleChange:d,menuLinkHref:c}){let{REDEEM_REWARD_DESCRIPTION:u,ADD_ITEMS:m}=aH.$U,_=(0,aH.zz)(e),p=r_[e];if(!_||!p)return null;let{modal:{title:h,description:f}}=_,y=o&&!a?u(o,n,e):f(t),b=e===aq.E.JOINING&&(!o||a)?`${h}*`:h,E=void 0===o,{background:x}=p,C=(0,eC.cn)(rm().imageContainer,x),g=(0,eC.cn)(rm().container,{[rm().selected]:i,[rm().solo]:r,[rm().disabled]:E,[rm().feedback]:!E&&l});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("label",{htmlFor:`SELECT_${e}_REWARD`,className:g,children:[E&&(0,s.jsx)("div",{className:rm().pill,children:m}),(0,s.jsx)("div",{className:C,children:e===aq.E.JOINING?(0,s.jsx)(rn.R3,{className:rm().joiningFlame}):(0,s.jsx)("div",{className:rm().heartContainer,children:(0,s.jsx)(rn.UP,{tier:e,className:rm().heart})})}),(0,s.jsxs)("div",{className:rm().body,children:[(0,s.jsxs)("div",{className:rm().textContainer,children:[(0,s.jsx)("div",{className:rm().title,children:b}),(0,s.jsx)("p",{children:y})]}),(0,s.jsx)("input",{type:"radio",name:"reward-redemption","data-testid":"reward-redemption-radio",id:`SELECT_${e}_REWARD`,checked:i,className:rm().radioButton,onChange:()=>{d()},disabled:E})]})]}),E?(0,s.jsx)("div",{className:rm().infoMessageContainer,children:(0,s.jsxs)("div",{className:rm().infoMessage,children:[(0,s.jsx)(to.R2,{className:rm().infoIcon}),"To redeem this reward add an eligible item from the"," ",c?(0,s.jsx)(rc(),{href:c,shallow:!0,children:"menu"}):"menu"]})}):l?(0,s.jsx)("div",{className:rm().infoMessageContainer,children:(0,s.jsxs)("div",{className:rm().feedbackMessage,children:[(0,s.jsx)(to.$D,{className:rm().feedbackIcon}),"Please select a reward to redeem"]})}):void 0]})}let rh=function(e){var t;let a,{menuLinkHref:r}=(t=void 0===e.menuItemName,a=(0,x.D)(),{menuLinkHref:t?a():void 0});return(0,s.jsx)(rp,{...e,menuLinkHref:r})};var rf=a(54105),ry=a(59901),rb=a.n(ry);function rE({hasRewards:e,hasApplicableRewards:t,isPending:a,onClose:r,onRedeem:n,onSkip:o}){let{FOOTER:{CLOSE:i,REDEEM:l,SKIP:d}}=aH.$U;return e?(0,s.jsxs)("div",{className:rb().container,children:[(0,s.jsx)(eg.$,{className:rb().button,cta:!0,onClick:o,title:"Skip reward",testid:"checkout-skip-loyalty-reward-redemption",children:d}),t&&(0,s.jsx)(eg.$,{primary:!0,className:rb().button,loading:a,disabled:a,onClick:n,title:"Redeem rewards",children:l})]}):(0,s.jsx)("div",{className:rb().container,children:(0,s.jsx)(eg.$,{primary:!0,className:rb().button,onClick:r,title:"Close loyalty modal",children:i})})}var rx=a(69632),rC=a(94545),rg=a.n(rC);
1function rN({showNextReward:e,nextRewardType:t,chilliesRequired:a}){let{NO_REWARDS:r}=aH.$U;return(0,s.jsx)("div",{className:rg().fullHeight,children:(0,s.jsxs)("div",{className:rg().container,children:[(0,s.jsx)("h5",{children:r.HEADING}),(0,s.jsx)("p",{children:r.BODY}),e?(0,s.jsx)(rx.A,{testId:"next-reward",isChilliCollected:!1,rewardType:t,chilliesRequired:a}):null]})})}var rv=a(23993),rR=a.n(rv);function rI({show:e,onClose:t,hasRewards:a,hasApplicableRewards:r,currencyCode:n,rewardApplyTotalTooLow:o,showError:i,showFeedback:l,selectedRewardType:d,isPending:c,redeemableRewards:u,rewardTypes:m,noRewards:_,onSelectReward:p,onRedeem:h,onSkip:f,termsHref:y}){let b=(0,rf.M)(m,e=>u[e]?.balance??0),E=function({hasApplicableRewards:e,onlyJoiningReward:t,totalTooLow:a,currencyCode:r}){if(e)return t?aH.$U.ELIGIBLE_JOINING_ONLY:aH.$U.ELIGIBLE_REWARD;if(t){let{HEADING:e,BODY:t}=a?aH.$U.NO_ELIGIBLE_TOTAL_TOO_LOW:aH.$U.NO_ELIGIBLE_JOINING_ONLY;return{HEADING:e,BODY:t(r)}}return aH.$U.NO_ELIGIBLE_REWARDS}({hasApplicableRewards:r,onlyJoiningReward:b,totalTooLow:void 0!==o,currencyCode:n}),x=b&&!r&&void 0===o,C=void 0!==o||m.some(e=>{let t=u[e];return(t?.balance??0)>0&&t?.menuItem===void 0}),g=m.filter(e=>(u[e]?.balance??0)>0).length;return(0,s.jsx)(aN.T,{open:e,headerVariant:"loyalty",mobileFullHeight:!0,onClose:t,bleed:!0,title:aH.D4.LOYALTY_HEADING,description:"Redeem your loyalty rewards on your current order",footerClassName:"border-nandos-mercury shadow-[0_2px_4px_rgba(0,0,0,0.32)]",footer:(0,s.jsx)(rE,{hasRewards:a,hasApplicableRewards:r,isPending:c,onClose:t,onRedeem:h,onSkip:f}),children:(0,s.jsxs)("div",{className:rR().container,"data-testid":"checkout-loyalty-modal",children:[a&&!b?(0,s.jsx)("div",{className:rR().rewardBalanceHearts,children:(0,s.jsx)(rs,{})}):null,(0,s.jsxs)("div",{className:(0,eC.cn)(rR().body,{[rR().withRewards]:a}),children:[i?(0,s.jsx)(tn.l,{className:rR().alertBanner,type:tn.x.ALERT,children:aH.$U.BASKET_REWARD_ERROR}):null,x?(0,s.jsx)(tn.l,{className:rR().alertBanner,type:tn.x.WARNING,children:aH.$U.NO_STARTER_IN_BASKET}):null,o?(0,s.jsx)(tn.l,{className:rR().alertBanner,type:tn.x.WARNING,children:aH.D4.LOYALTY_REWARD_APPLY_TOTAL_TOO_LOW(n,o.kind,o.requiredSpendAfterDeduction)}):null,a?(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:`${rR().balanceHeading} h4`,children:E.HEADING}),(0,s.jsxs)("p",{children:[E.BODY?`${E.BODY} `:null,(0,s.jsx)("a",{href:y,children:aH.$U.EXCLUSIONS_LINK(C)})]})]}):(0,s.jsx)(rN,{..._}),m.map(e=>{let{balance:t=0,isComboMeal:a,menuItem:r}=u[e]??{},i=e===d;return t>0&&(0,s.jsx)(rh,{rewardType:e,currencyCode:n,solo:1===g,orderValueTooLow:e===aq.E.JOINING&&o?.kind===e,isComboMeal:a||!1,menuItemName:r?.displayName,isSelected:i,showFeedback:l,handleChange:()=>p(e)},e)})]})]})})}let rL=function(){let{showLoyaltyButton:e}=K(),{loyaltyBanner:t,loyaltyModal:a}=function(){let{showLoyaltyModal:e,openLoyaltyModal:t,closeLoyaltyModal:a}=function(){let e=$(),{isCollection:t}=(0,Y.Y)(),a=(e.data?.length??0)>0,r=t&&e.isSuccess&&!a,{emitNow:n}=eE(),o=(()=>{let e=a0(),[t]=(0,aL.Fo)(aK._,null);return e.balance.length>0&&(t?a1(e.applicable,t.applicable)||a1(e.balance,t.balance):e.applicable.length>0||e.balance.length>0)})(),i=a0(),[,l]=(0,aL.Fo)(aK._,null),[s,d]=(0,h.useState)(!1),[c,u]=(0,h.useState)(),m=(0,h.useRef)(!1),_=(0,h.useCallback)(()=>{u(document.documentElement.scrollTop),d(!0)},[]),p=(0,h.useCallback)(()=>{d(!1),l(i),n(),setTimeout(()=>{document.documentElement.scrollTop=c||0},100)},[l,i,n,c]);return(0,h.useEffect)(()=>{!o||r||m.current?o||n():(m.current=!0,d(!0))},[o,r,n]),{showLoyaltyModal:s,openLoyaltyModal:_,closeLoyaltyModal:p}}(),r=function({show:e,onClose:t}){let a,r,{currencyCode:n}=(0,W.g)(),{fulfilment:o}=(0,m.n)(),i=(0,_.M)(),l=(0,eu.$m)(),s=(0,a9.K)(),{data:d,refetch:c}=(0,a3.GY)(s),u=d?.chilliesEarned??0,{data:p}=(0,a8.D)(s??"",{hasChilliCount:u>0}),{data:f}=(0,V.GP)(),{data:y}=(0,a7.i)(),{data:b}=aX(),E=(0,aZ.K)(),x=(0,h.useMemo)(()=>{var e;let t,a;return e=f?.rewards??[],t=new Map,e.forEach(({kind:e,expiryISO:a})=>{let r=a?Date.parse(a):NaN;if(Number.isNaN(r))return;let n=t.get(e);(void 0===n||r<n)&&t.set(e,r)}),a=e=>{let t=a4.indexOf(e);return -1===t?a4.length:t},[...E].sort((e,r)=>{let n=t.get(e),o=t.get(r);return void 0!==n&&void 0!==o&&n!==o?n-o:void 0!==n&&void 0===o?-1:void 0===n&&void 0!==o?1:a(e)-a(r)})},[E,f?.rewards]),C=(0,aZ.N)(),g=(a=(0,H.jX)(),(0,el.n)({mutationFn:async e=>{let t=await a.removeReward(e);if(!t.isSuccess)throw Error(t.error);return t.value}})),N=(r=(0,H.jX)(),(0,el.n)({mutationFn:async e=>{let t=await r.setReward(e);if(!t.isSuccess)throw Error(t.error);return t.value}})),v=i?.loyalty?.appliedRewards[0]?.rewardType,R=!!f?.cardNumber,I=(f?.rewards??[]).some(e=>C(e.kind)),L=b.length>0,D=function(e){let t=(0,aJ.M)(),{data:a}=(0,a7.i)();return(0,h.useMemo)(()=>
1{if(!t)return;let r=(e??[]).find(e=>e.kind===aq.E.JOINING);if(!r)return;let n=a?.[r.kind];if(n&&!(n.balance<=0)&&!n.menuItem)return{kind:r.kind,requiredSpendAfterDeduction:r.requiredSpendAfterDeduction}},[t,e,a])}(d?.orderValueBlockedRewards),[k,w]=(0,h.useState)(0),j=(e=>{var t,a;let r=(0,a9.K)(),n=(0,a3.GY)(r),o=(n.data?.chilliesEarned??0)>0,{data:i}=(0,a8.D)(r??"",{hasChilliCount:o}),l=(0,_.M)(),s=l?.loyalty,{data:d}=aX(),{data:c}=(0,V.GP)(),u=(0,aZ.N)(),m=[];if(n.isPending)return[aY.CHILLI_LOADING];let p=(t=n.data?.chilliState??void 0,a=n.isError,a?e>=3?aY.CHILLI_ERROR_FINAL:aY.CHILLI_ERROR_REFRESH:t?rt[t]:null);p&&m.push(p);let h=s?.appliedRewards??[],f=h[0]?.rewardType,y=h.length>0,b=d.length>0,E=(c?.rewards??[]).some(e=>u(e.kind)),x=!!n.data?.rewardRedemption,C=i?.hasMissionPrize??!1;return m.push(((e,t,a,r,n)=>{if(e){let t=re[e];if(t)return t}return a?aY.REWARD_REDEMPTION_TOTAL_TOO_LOW:t&&!e?aY.REWARD_REDEMPTION_FAILED:r||n?aY.REWARDS_APPLICABLE:aY.REWARDS_NONE})(f,y,x,b,E)),C&&m.push(aY.MISSION_PRIZE_EARNED),m})(k),S=i?.totals?.grandTotal;(0,h.useEffect)(()=>{s&&c()},[s,S,v,c]);let A=(0,h.useCallback)(()=>{v&&g.mutate(v)},[v,g]),T=(0,h.useCallback)(()=>{c(),w(e=>e+1)},[c]),[O,P]=(0,h.useState)(void 0),[M,F]=(0,h.useState)(!1),[U,B]=(0,h.useState)(!1);(0,h.useEffect)(()=>{v&&P(v)},[]),(0,h.useEffect)(()=>{void 0!==O&&F(!1)},[O]);let z=(0,h.useMemo)(()=>{let e=new Set;return b.forEach(({rewardType:t})=>{x.includes(t)&&(y[t]?.balance??0)>0&&e.add(t)}),[...e]},[b,x,y]),Y=1===z.length&&void 0===D?z[0]:void 0;(0,h.useEffect)(()=>{void 0===O&&void 0!==Y&&P(Y)},[O,Y]);let G=(0,h.useCallback)(async()=>{if(!O)return void F(!0);try{await N.mutateAsync(O),l.emit("checkout:rewards_redemption_reward_applied",{fulfilmentType:o,rewardApplied:O}),B(!1),t()}catch{B(!0)}},[O,N,l,o,t]),$=(0,h.useCallback)(async()=>{if(U)return void t();if(!v){B(!1),t();return}try{await g.mutateAsync(v),B(!1),t()}catch{B(!0)}},[U,v,g,t]);(0,h.useEffect)(()=>{R&&e&&l.emit("checkout:rewards_redemption_availability_state",{fulfilmentType:o,rewardStatus:L?"has_redeemable_options":I?"no_redeemable_rewards":"no_rewards"})},[e,l,o,R,L,I]);let Q=d?.chilliBalance?.current??0,K=d?.nextReward?.kind??(0,a5.D)(Q),q=d?.nextReward?.chilliesRequired??(0,a2.L)(Q);return{banner:{events:j,chilliesEarned:u,missionPrizes:p?.aggregatedPrizes,currencyCode:n,rewardRedemption:d?.rewardRedemption,hasBasketRewardError:g.isError,onRemoveReward:A,onErrorRetry:T},modal:{hasRewards:I,hasApplicableRewards:L,currencyCode:n,rewardApplyTotalTooLow:D,showError:U,showFeedback:M,selectedRewardType:O,isPending:N.isPending||g.isPending,redeemableRewards:y,rewardTypes:x,noRewards:{showNextReward:!!d,nextRewardType:K,chilliesRequired:q},onSelectReward:P,onRedeem:G,onSkip:$,termsHref:tK.wB}}}({show:e,onClose:a});return{loyaltyBanner:{...r.banner,viewRewards:t},loyaltyModal:{...r.modal,show:e,onClose:a}}}();return(0,s.jsxs)(s.Fragment,{children:[e&&(0,s.jsx)(aQ,{...t}),(0,s.jsx)(rI,{...a})]})};var rD=a(80891),rk=a.n(rD);function rw({show:e,restaurantName:t,restaurantAddress:a,restaurantPostcode:r,restaurantPhoneNumber:n,formattedDistance:o}){let i=e===tk.P.DESKTOP?rk().cardDesk:rk().cardMobile;return(0,s.jsxs)("div",{"data-testid":"wrapper",className:i,children:[(0,s.jsx)("h2",{className:`${rk().header} h4`,children:"Restaurant details"}),(0,s.jsxs)("div",{className:rk().infoWrapper,children:[(0,s.jsxs)("div",{className:rk().nameWrapper,children:[(0,s.jsx)("p",{children:t}),o?(0,s.jsx)("p",{className:rk().distance,children:o}):null]}),(0,s.jsxs)("div",{className:rk().addressWrapper,children:[(0,s.jsx)("p",{className:rk().address,children:a}),(0,s.jsx)("p",{children:r})]}),(0,s.jsx)("p",{children:n})]})]})}var rj=a(23534),rS=a(78607);let rA=function({show:e}){let t=function(){let e=(0,S.Q)(),t=e?.restaurant,a=(0,m.n)().restaurant?.slug,r=t?.slug??a??"",{data:n}=(0,rj.R0)({slug:r}),o=(0,ay.W)().getCoordinates(),i=n?.location?.coordinates.latitude,l=n?.location?.coordinates.longitude,s=o?aD.E.create(o.lat,o.lng):void 0,d=void 0!==i&&void 0!==l?aD.E.create(i,l):void 0,c=s?.isSuccess&&d?.isSuccess?s.value.distanceTo(d.value).toMiles():void 0,u=n?.name??t?.name??"",_=n?.location?.address.streetAddress??"",p=n?.location?.address.addressLocality??"";return{restaurantName:`${eL.G} ${u}`,restaurantAddress:`${_}, ${p}`,restaurantPostcode:n?.location?.address.postalCode??"",restaurantPhoneNumber:n?.telephone??"",formattedDistance:(0,rS.A)(c)??void 0}}();return(0,s.jsx)(rw,{show:e,...t})};var rT=a(96639),rO=a.n(rT);function rP({enabled:e,showPanel:t,heading:a,body:r,ctaLabel:n,chilliCount:o,messageVariant:i,successTitle:l,successMessage:d,failureCopy:c,isJoining:u,onJoin:m}){return e?(0,s.jsxs)("div",{className:rO().container,"data-testid":"checkout-rewards-section",children:[(0,s.jsxs)("div",{className:rO().header,role:"button","aria-expanded":t,tabIndex:0,children:[(0,s.jsx)("h3",{className:rO().title,children:a}),t&&o>0&&(0,s.jsx)(aA.A,{chilliesEarned:o,"data-testid":"loyalty-chilli-pill"})]}),t&&(0,s.jsxs)("div",{className:rO().drawer,children:[(0,s.jsx)("div",{children:"success"===i?(0,s.jsxs)("div",{className:`${rO().result} ${rO()["result--success"]}`,children:[(0,s.jsx)(to.U7,{className:rO()["result-icon"]}),(0,s.jsx)("h4",{className:rO()["result-title"],children:l}),(0,s.jsx)("p",{className:rO()["result-message"],children:d})]}):"error"===i?(0,s.jsxs)("div",{className:`${rO().result} ${rO()["result--error"]}`,children:[(0,s.jsx)(to.Fc,{className:rO()["result-icon"]}),(0,s.jsx)("h4",{className:rO()["result-title"],children:c})]}):(0,s.jsx)(s.Fragment,{children:r})}),"success"!==i&&(0,s.jsx)(eg.$,{primary:!0,submit:!0,loading:u,className:rO().button,onClick:m,children:n})]})]}):null}var rM=a(49167);function rF(e){return JSON.stringify({chillies:e?.chillies.current??0,rewards:(e?.rewards??[]).map(e=>`${e.kind}:${e.expiryISO??""}`).sort()})}let rU=e=>
1new Promise(t=>{setTimeout(t,e)});var rB=((o=rB||{}).Default="default",o.Loading="loading",o.Success="success",o.Failure="failure",o);let rz={heading:"",body:"",ctaLabel:"",failure:"",chilliCount:0,success:{title:"",message:""}},rW=function(){let{isOrderDetailsConfirmed:e}=K(),t=function({isOrderDetailsConfirmed:e}){let t,a,[r,n]=(0,h.useState)("default"),[o,i]=(0,h.useState)("default"),l=(0,eu.$m)(),{setLoyaltySignupInCheckout:s,setLoyaltySettling:d}=y(),c=(0,O._)(T.T.JOIN_LOYALTY_ENABLED),u=(0,O._)(T.T.JOIN_LOYALTY_MARKETING)??rz,m=(0,aJ.M)(),_=m?aH.YX.FREE_STARTER_BODY:u.body,p=m?Math.min(u.chilliCount,1):u.chilliCount,{mutateAsync:f}=(t=(0,rM.h)(),(0,el.n)({mutationFn:async()=>(await t.createAccount()).getValueOrThrow()})),{mutateAsync:b}=(a=(0,H.jX)(),(0,el.n)({mutationFn:async()=>{let e=await a.refresh();if(!e.isSuccess)throw Error(e.error);return e.value}})),{settle:E,refreshLoyalty:x}=function({attempts:e=6,intervalMs:t=750}={}){let a=(0,af.jE)(),r=(0,rM.h)(),n=(0,ea.U)();return{settle:(0,h.useCallback)(async()=>{let o=rF(a.getQueryData(V.xG)),i=async()=>(await r.getRewards()).getValueOrThrow(),l=0;for(let a=0;a<e;a+=1){a>0&&await rU(t);try{if(rF(await i())!==o)return{settled:!0}}catch{l+=1}}return n.warning("Loyalty account did not settle after sign-up",{category:er.U.LOYALTY,attempts:e,intervalMs:t,failedReads:l}),{settled:!1}},[a,r,n,e,t]),refreshLoyalty:(0,h.useCallback)(()=>a.invalidateQueries({queryKey:[a3.Em]}),[a])}}(),C=(0,h.useCallback)(async()=>{i(r),n("loading");try{await f(),s(!0),n("success"),l.emit("checkout:loyalty:signup_success",{}),d(!0);try{try{await E()}catch{}try{await b()}catch{}try{await x()}catch{}}finally{d(!1)}}catch{n("failure"),l.emit("checkout:loyalty:signup_error",{error:""})}},[r,f,E,b,x,s,d,l]),g="success"===r?"success":"failure"===r||"loading"===r&&"failure"===o?"error":"default";return{enabled:!!c,showPanel:e,heading:u.heading,body:_,ctaLabel:u.ctaLabel,chilliCount:p,messageVariant:g,successTitle:u.success.title,successMessage:u.success.message,failureCopy:u.failure,isJoining:"loading"===r,onJoin:C}}({isOrderDetailsConfirmed:e});return(0,s.jsx)(rP,{...t})};var rH=a(82323),rY=a(54490);let rG=e=>e===L||Number.isNaN((0,rH.H)(e).getTime())?e:(0,rY.w)(e),r$=()=>void 0;var rV=a(60525),rQ=a.n(rV);let rK=({name:e,options:t,onChange:a,value:r,showError:n,errorText:o,placeholder:i,preSelectedOption:l,testId:d})=>(0,s.jsxs)("div",{className:rQ().container,children:[(0,s.jsxs)("div",{className:rQ().field,children:[(0,s.jsxs)("select",{id:e,className:(0,eC.cn)([rQ().select,n?rQ().invalid:null]),onChange:a,value:r||l,"data-testid":d??"select-dropdown-container","aria-label":i,children:[i?(0,s.jsx)("option",{value:"",hidden:!0,children:i},"preSelectedOption"):null,t.map(({value:e,innerText:t})=>(0,s.jsx)("option",{value:e,children:t},e))]}),(0,s.jsx)(to.yQ,{className:rQ().chevron})]}),n&&o?(0,s.jsxs)("p",{role:"alert",className:rQ().error,children:[(0,s.jsx)(to.$D,{}),o]}):null]}),rq=e=>{let{onSelect:t}=e,a=(0,h.useCallback)(e=>{""!==e&&t(e)},[t]);return(0,s.jsx)(rK,{onChange:e=>a(e.target.value),...e})};var rJ=a(11551),rX=a.n(rJ);function rZ({saved:e,summaryTime:t,pickupTimeValue:a,pickupTimeShowError:r,slotOptions:n,showErrorBanner:o,showUpdatePrompt:i,updatePromptText:l,ctaLabel:d,promptScrolling:c,onSubmit:u,onEdit:m,onSelectSlot:_,onPromptScrolled:p}){let f=(0,h.useRef)(null),{hasMotion:y}=(0,D.y)();return(0,h.useEffect)(()=>{c&&f.current&&(f.current.scrollIntoView({behavior:y?"smooth":"auto",block:"center"}),p())},[i,c,p,y]),(0,s.jsx)("div",{className:rX().wrapper,"data-testid":"collection-slot-container",children:e?(0,s.jsx)(tv,{sectionName:"Collection time",editLabel:"Change",handleClick:m,children:(0,s.jsx)("p",{children:t})}):(0,s.jsxs)("form",{onSubmit:e=>{e.preventDefault(),u()},children:[(0,s.jsx)(eR,{title:"Choose your collection time"}),o?(0,s.jsx)(tn.l,{className:rX().errorBanner,type:tn.x.ALERT,children:(0,s.jsx)("p",{children:"Sorry, your collection time is no longer available. Please choose a new one."})}):null,n.length?(0,s.jsx)(rq,{name:"collectionTimes",options:n,value:a,showError:r,placeholder:L,onSelect:_,testId:"collection-times-list",errorText:L}):null,i&&(0,s.jsxs)("p",{className:rX().updatePromptText,role:"alert",children:[(0,s.jsx)(to.$D,{}),l]}),(0,s.jsx)("div",{className:rX().confirmCTA,ref:f,children:(0,s.jsx)(eg.$,{primary:!0,submit:!0,title:I,className:rX().button,testid:"checkout-confirm-collection-time",children:d})})]})})}let r0=function(){let e=function(){let e,t=(0,S.Q)(),a=(0,H.rm)(),r=$(),n=(e=(0,H.rm)(),(0,el.n)({mutationFn:async t=>{let a=await e.validateCollectionTimeSlot(t,(0,G.Ln)().toISOString());if(a.isFailure)throw Error(a.error);return a.value}})),{selectedCheckoutSectionToEdit:o,handleCheckoutSectionEdit:i,setSelectedCheckoutSectionToEdit:l,setShouldShowUpdatePrompt:s,setPromptScrolling:d,shouldShowUpdatePrompt:c,promptScrolling:u}=y(),m=t?(t.fulfilment?.collection??null)?.selectedPickupTime:null,_=!!m,p=o===k.COLLECTION_SLOT,f=_&&!p,[b,E]=(0,h.useState)(m||L),[x,C]=(0,h.useState)(!1),[g,v]=(0,h.useState)(!!m),[D,w]=(0,h.useState)(!1),j=r.data,A=(0,h.useMemo)(()=>j?.map(e=>({value:e,innerText:rG(e)}))??[],[j]),T=(0,h.useCallback)(async()=>{let e=new Date(b);if(!(b===L||Number.isNaN(e.getTime())?{valid:!1}:await n.mutateAsync(e.toISOString()).catch(()=>({valid:!1}))).valid){C(!0),v(!1),w(!0);return}w(!1),v(!0),a.setSelectedPickupTime(e.toISOString()),l(void 0),s(!1)},[b,n,a,l,s]),O=(0,h.useCallback)(()=>{i(k.COLLECTION_SLOT,r$)},[i]),P=(0,h.useCallback)(e=>{w(!1),E(e),C(!1),v(!1)},[]),M=(0,h.useCallback)(()=>{d(!1)},[d]),F=o===k.COLLECTION_SLOT&&_;return{saved:f,summaryTime:f?rG(b):"",pickupTimeValue:b,pickupTimeShowError:x&&!g,slotOptions:A,showErrorBanner:D&&b!==L,showUpdatePrompt:c,updatePromptText:_?N:"Please press ‘Confirm collection time’ to continue with your order",ctaLabel:F?R:I,promptScrolling:u,onSubmit:T,onEdit:O,onSelectSlot:P,onPromptScrolled:M}}();return(0,s.jsx)(rZ,{...e})};var r1=a(51375),r4=a.n(r1);let r2=()=>{let{selectedCheckoutSectionToEdit:e,setSelectedCheckoutSectionToEdit:t}=y(),a=(0,S.Q)(),r=(0,H.rm)(),n=e=>{r.setDeliveryInstructions(e)},o=e===k.DELIVERY_RIDER_INSTRUCTIONS,[i,l]=(0,h.useState)(!1),d=(0,h.useRef)(null),c=(a?(a.fulfilment?.delivery??null)?.instructions:"")??"";return c&&!o?(0,s.jsx)("div",{className:r4().riderInstructions,children:(0,s.jsx)("p",{className:r4().instructions,"data-testid":"rider-instructions-summary",children:c})}):(0,s.jsx)(s.Fragment,{children:i||o?(0,s.jsxs)("div",{className:r4().inputField,children:[(0,s.jsx)("textarea",{ref:d,id:"instructions","data-testid":"rider-instructions-input",className:(0,eC.cn)([r4().instructionsInput]),placeholder:"Enter rider instructions e.g. please knock instead of using the doorbell. Do not add a phone number.",onBlur:e=>n(e.target.value),name:"instructions",defaultValue:c,maxLength:158}),(0,s.jsx)(eg.$,{primary:!0,onClick:()=>{n(d.current?.value||""),l(!1),t(void 0)},testid:"rider-instructions-done-button",children:"Done"})]}):(0,s.jsx)("div",{children:(0,s.jsxs)("button",{className:r4().instructionsClosed,type:"button",onClick:()=>l(!0),"aria-label":"Add instructions for delivery rider","data-testid":"add-rider-instructions-button",children:[(0,s.jsx)(to.ZK,{className:r4().icon}),"Add instructions for delivery rider"]})})})};function r5({isSectionEnabled:e,isEditingSection:t,hasRiderInstructions:a,onEdit:r}){return(0,s.jsx)("div",{className:aS().wrapper,"data-testid":"rider-instructions",children:e?(0,s.jsx)(tv,{sectionName:"Add instructions for your rider",optional:!0,editLabel:a&&!t?"Edit":"",handleClick:r,children:(0,s.jsx)(r2,{})}):(0,s.jsx)("h3",{className:"emptySummary","data-testid":"empty-payment-details-summary",children:"Rider instructions"})})}let r9=function(){let{isOrderDetailsConfirmed:e}=K(),t=function({isOrderDetailsConfirmed:e}){let{setSelectedCheckoutSectionToEdit:t,selectedCheckoutSectionToEdit:a}=y(),r=(0,S.Q)(),n=!!(r&&(r.fulfilment?.delivery??null)?.instructions),o=a===k.DELIVERY_RIDER_INSTRUCTIONS;return{isSectionEnabled:e,isEditingSection:o,hasRiderInstructions:n,onEdit:()=>{o||t(k.DELIVERY_RIDER_INSTRUCTIONS)}}}({isOrderDetailsConfirmed:e});return(0,s.jsx)(r5,{...t})},r3=({isZeroCost:e,orderDetailsValid:t,submitOrderButton:a})=>e?(0,s.jsx)("div",{className:(0,eC.cn)([t?aS().showOnDesktop:aS().showOnMobileAndDesktop,aS().placeOrderDesktopContainer]),children:(0,s.jsx)(tX,{orderDetailsValid:t,submitOrderButton:a})}):null,{polling:r7}=a(43778).A;function r8({open:e,onClose:t,onClickAndCollect:a,onSearch:r}){return(0,s.jsx)(eJ.W,{open:e,onClose:t,title:C.title,message:C.message,icon:"HEART","data-testid":"checkout-quote-error-modal",children:(0,s.jsxs)(eq.a.ButtonGroup,{children:[(0,s.jsx)(eg.$,{primary:!0,onClick:a,children:C.actionLabel}),(0,s.jsx)(eg.$,{cta:!0,onClick:r,children:C.secondaryActionLabel})]})})}function r6({shouldOpen:e,title:t,message:a,onRestartOrder:r}){return(0,s.jsx)(eJ.W,{open:e,onClose:r,title:t,message:a,dismissible:!1,"data-testid":"restart-order-error-modal",children:(0,s.jsx)(eg.$,{primary:!0,onClick:r,children:"Restart order"})})}function ne(){let{restartOrderModal:e,quoteErrorModal:t}=function(){let{canRetry:e,orderFailedAfterPayment:t,reset:a}=y(),{isDelivery:r,isCollection:n,isEatIn:o}=(0,Y.Y)(),i=(0,x.D)(),l=(0,A.g)(),s=$(),d=(0,q.useRouter)(),c=(0,ee.G)(),u=(s.data?.length??0)>0,m=n&&s.isSuccess&&!u,_=t||!e||!m&&n&&s.isError,p=(0,h.useCallback)(()=>{let e=i();c(Z.A.FAILED_TERMINAL),a(),d.push(e)},[c,d,i,a]),f=l.isError,b=l.pollFailureCount<r7.delivery.limit,[E,C]=(0,h.useState)(!1);return(0,h.useEffect)(()=>{b||C(!0)},[b]),{restartOrderModal:{shouldOpen:_,title:"Sorry, something went wrong",message:n?"We’re having a bit of trouble with your order so please try again later. Don’t forget you can always order for Delivery!":o?"We’re having a bit of trouble with your order, please try placing your order at the till.":"We’re having a bit of trouble with your order so please try again later. Don’t forget you can always order for Collect!",onRestartOrder:p},quoteErrorModal:{open:!b&&r&&f&&E,onClose:(0,h.useCallback)(()=>C(!1),[]),onClickAndCollect:(0,h.useCallback)(()=>{c(Z.A.CHECKOUT_SESSION_RESET),d.push("/search")},[c,d]),onSearch:(0,h.useCallback)(()=>{c(Z.A.CHECKOUT_SESSION_RESET),d.push("/search")},[c,d])}}}();return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r6,{...e}),(0,s.jsx)(r8,{...t})]})}var nt=a(64857);let na=({isZeroCost:e,orderDetailsValid:t,submitOrderButton:a})=>e?(0,s.jsx)(nt.s,{footerContainerHeight:168,className:(0,eC.cn)([t?aS().showOnMobile:aS().hideOnMobileAndDesktop]),children:(0,s.jsx)(tX,{orderDetailsValid:t,submitOrderButton:a})}):null,nr=e=>(0,eM.Qq)(e,eM.PJ.source);var nn=a(39637),no=a(4931),ni=((i={}).ENTER="Enter",i),nl=a(93874),ns=a.n(nl);let nd=!1,nc=(0,h.forwardRef)(({autocomplete:e,children:t,disabled:a,errorText:r,inputmode:n,value:o,showError:i,optional:l=!1,onChange:d,onValidate:c,onResetChanged:u,name:m,labelText:_,pattern:p,placeholder:f,setAsValue:y,type:b,isHotJarDataAllowed:E,hideLabel:x=!1,nonValidateTarget:C,validateOnBlur:g=!0,overrideStyles:N,testId:v},R)=>{(0,no.y)(()=>{u?.();let e=window.navigator.userAgent;!e.includes("Chrome")&&e.includes("Safari")&&e.includes("Mobile")&&(nd=!0)});let I=(0,h.useRef)(null),{hasMotion:L}=(0,D.y)();return(0,h.useImperativeHandle)(R,()=>({value:()=>{if(I.current)return I.current.value},focus:()=>{I.current&&I.current.focus()},blur:()=>{I.current&&I.current.blur()}})),(0,s.jsx)(nn.J,{labelText:_,hideText:x,name:m,optional:l,children:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("input",{autoComplete:e,disabled:a,ref:I,className:(0,eC.cn)(ns().input,i?ns().invalid:null,a?ns().disabledCheckout:null,E?"data-hj-allow":null,N),"aria-label":_,"aria-invalid":i,"data-testid":v??"input",type:b??"text",id:m,value:y?o:void 0,defaultValue:y?void 0:o,inputMode:n,pattern:p,placeholder:f,onFocus:function(){u?.(),!I.current||"scrollBehavior"in document.documentElement.style&&I.current.scrollIntoView({behavior:L&&!nd?"smooth":"auto",block:"center"})},onKeyDown:e=>{let t=e.currentTarget;e?.key===ni.ENTER&&c&&c(t.value)},onBlur:e=>{let t=e.relatedTarget;(!C||t?.className!==C)&&c&&g&&c(e.target.value),t?.getAttribute("type")==="submit"&&t.click()},onChange:e=>{d(e.target.value)}}),i&&(0,s.jsxs)("p",{role:"alert",className:ns().error,"aria-label":r,children:[(0,s.jsx)(to.$D,{}),r]}),(0,s.jsx)("span",{className:(0,eC.cn)(i?ns().locationErrorPositioning:null),children:t})]})})});var nu=((l={}).search="search",l.text="text",l.email="email",l.tel="tel",l.url="url",l.none="none",l.numeric="numeric",l.decimal="decimal",l),nm=a(72251),n_=a.n(nm);function np({tableNumberValue:e,tableNumberShowError:t,showUpdatePrompt:a,promptScrolling:r,isSelectedForEdit:n,onChange:o,onValidate:i,onResetChanged:l,onSubmit:d,onPromptScrolled:c}){let u=(0,h.useRef)(null),{hasMotion:m}=(0,D.y)();return(0,h.useEffect)(()=>{r&&u.current&&(u.current.scrollIntoView({behavior:m?"smooth":"auto",block:"center"}),c())},[a,r,c,m]),(0,s.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d()},"data-testid":"table-number-form",children:[(0,s.jsx)(eR,{title:"What’s your table number?"}),(0,s.jsx)("div",{className:n_().inputField,children:(0,s.jsx)(nc,{errorText:"Please enter a valid table number",value:e,showError:t,onChange:o,onValidate:i,onResetChanged:l,labelText:"Table number",name:"tableNumber",testId:"table-number-input",pattern:"[0-9]*",inputmode:nu.numeric,placeholder:"e.g. 123"})}),a&&(0,s.jsxs)("p",{className:n_().updatePromptText,role:"alert",children:[(0,s.jsx)(to.$D,{}),N]}),(0,s.jsx)("div",{className:n_().confirmCTA,ref:u,children:(0,s.jsx)(eg.$,{primary:!0,submit:!0,title:v,className:n_().button,testid:"table-number-continue-cta",children:n?R:v})})]})}var nh=a(24443),nf=a.n(nh);function ny({hasUserDetails:e,saved:t,tableNumberValue:a,tableNumberShowError:r,showUpdatePrompt:n,promptScrolling:o,isSelectedForEdit:i,onChange:l,onValidate:d,onResetChanged:c,onEdit:u,onSubmit:m,onPromptScrolled:_}){return(0,s.jsx)("div",{className:nf().wrapper,"data-testid":"table-number-container",children:e?t?(0,s.jsx)(tv,{sectionName:g,handleClick:u,children:(0,s.jsx)("div",{"data-hj-suppress":!0,children:(0,s.jsx)("p",{className:nf().tableNumber,"data-testid":"table-number-summary",children:a})})}):(0,s.jsx)(np,{tableNumberValue:a,tableNumberShowError:r,showUpdatePrompt:n,promptScrolling:o,isSelectedForEdit:i,onChange:l,onValidate:d,onResetChanged:c,onSubmit:m,onPromptScrolled:_}):(0,s.jsx)("h2",{className:"emptySummary h3",children:g})})}let nb=function(){let e=function(){let e=(0,S.Q)(),t=(0,H.rm)(),{selectedCheckoutSectionToEdit:a,handleCheckoutSectionEdit:r,setSelectedCheckoutSectionToEdit:n,setShouldShowUpdatePrompt:o,setPromptScrolling:i,shouldShowUpdatePrompt:l,promptScrolling:s}=y(),d=(e?(e.fulfilment?.eatIn??null)?.tableNumber:"")??"",[c,u]=(0,h.useState)(d),[m,_]=(0,h.useState)(!1),[p,f]=(0,h.useState)(()=>nr(d)),[b,E]=(0,h.useState)(!!d),x=(0,h.useCallback)(()=>{r(k.TABLE_NUMBER,()=>E(!1))},[r]),C=(0,h.useCallback)(e=>{u(e),_(!1)},[]),g=(0,h.useCallback)(e=>{let t=(0,eM.yK)(e);u(t),_(!0),f(nr(t))},[]),N=(0,h.useCallback)(()=>{_(!1)},[]),v=(0,h.useCallback)(()=>{let e=(0,eM.yK)(c),a=nr(e);u(e),_(!0),f(a),a&&(t.setTableNumber(e),E(!0),n(void 0),o(!1))},[c,t,n,o]),R=(0,h.useCallback)(()=>{i(!1)},[i]);return{hasUserDetails:!!e?.customer.email,saved:b,tableNumberValue:c,tableNumberShowError:m&&!p,showUpdatePrompt:l,promptScrolling:s,isSelectedForEdit:a===k.TABLE_NUMBER,onChange:C,onValidate:g,onResetChanged:N,onEdit:x,onSubmit:v,onPromptScrolled:R}}();return(0,s.jsx)(ny,{...e})};function nE({visibility:{isCollection:e,isEatIn:t,isDelivery:a,isZeroCost:r,isPinDropEnabledFlag:n,showCollectSlotsModal:o,showCollectSlotsForm:i,showRewardsSection:l,showDiscountSection:d,showPaymentForm:c,showDeliveryInformation:u,orderDetailsValid:m,showEatInEmailOnly:_,basketGrandTotal:p},submitOrderButton:h,pageTitle:f,backToMenuLabel:y,onReturnToBasket:b}){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e2,{show:o}),(0,s.jsx)(ne,{}),(0,s.jsxs)("div",{className:aS().container,children:[(0,s.jsx)(tT.z,{onClick:b,title:f,buttonTitle:y}),u&&(0,s.jsx)("div",{className:aS().deliveryMobileContainer,children:(0,s.jsx)(tA.H,{})}),(0,s.jsxs)("div",{className:aS().row,children:[(0,s.jsxs)("div",{className:aS().deliveryInfo,children:[e&&i?(0,s.jsxs)(s.Fragm
1ent,{children:[(0,s.jsx)(rA,{show:tk.P.MOBILE}),(0,s.jsx)(r0,{})]}):null,_?(0,s.jsx)(eV,{}):(0,s.jsx)(eW,{}),t?(0,s.jsx)(nb,{}):null,a?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(aE,{}),n?(0,s.jsx)(aw,{}):null,(0,s.jsx)(r9,{})]}):null,l&&(0,s.jsx)(rW,{}),d?(0,s.jsx)(tD,{}):null,c?(0,s.jsx)(ai,{submitOrderButton:h},p):null,(0,s.jsx)(rL,{})]}),(0,s.jsx)("div",{className:aS().orderSummary,children:(0,s.jsxs)("div",{className:aS().orderWrapper,children:[e?(0,s.jsx)(rA,{show:tk.P.DESKTOP}):null,u?(0,s.jsx)(tA.H,{show:tk.P.DESKTOP}):null,(0,s.jsx)(eQ.z,{summary:!0}),(0,s.jsx)(r3,{isZeroCost:r,orderDetailsValid:m,submitOrderButton:h}),(0,s.jsx)(tS,{show:tk.P.DESKTOP})]})})]}),(0,s.jsx)(na,{isZeroCost:r,orderDetailsValid:m,submitOrderButton:h}),(0,s.jsx)(tS,{show:tk.P.MOBILE})]})]})}function nx(){let e,t,a,r=(!function(){let{setOrderPending:e,setSelectedCheckoutSectionToEdit:t,selectedCheckoutSectionToEdit:a,setShouldShowUpdatePrompt:r}=y(),{hasMotion:n}=(0,D.y)(),{nextStep:o}=B(),i=(0,h.useRef)(!1);(0,h.useEffect)(()=>{e(!1),window.scrollTo({top:0,left:0,behavior:n?"smooth":"auto"}),r(!1)},[]),(0,h.useEffect)(()=>{i.current||o===k.COLLECTION_SLOT&&void 0===a&&(i.current=!0,t(k.COLLECTION_SLOT))},[o,a,t]),(0,h.useEffect)(()=>()=>{r(!1),t(void 0),e(!1)},[r,t,e])}(),e=(0,E.useRouter)(),t=(0,x.D)(),a=(0,h.useCallback)(a=>{e.push(t(a),void 0,{shallow:!0,scroll:!1})},[e,t]),{visibility:K(),submitOrderButton:function(){let e=y(),t=(0,x.D)(),a=(0,_.M)(),r=(0,H.jX)(),n=(0,eu.$m)(),{hasOOS:o}=(0,j.J)(),i=(0,q.useRouter)(),l=em(),{data:s}=(0,V.GP)(),{onSubmitSuccess:d,onSubmitFailure:c}=eo("card"),[u,m]=(0,h.useState)(!1),[p,f]=(0,h.useState)(null),b=(a?.items??[]).some(e=>e.quantity>0),E=()=>{n.emit("checkout:checkout_submit_item_oos",{}),m(!0)},C=e=>{if("review-total"===e.action){let t=r.getBasket()?.totals;f({outcome:e,newTotalLabel:t?(0,e_.$g)(t.currencyCode,t.grandTotal):void 0});return}f({outcome:e})},g=(e,t,a)=>{c(e,{wasPayable:t,onPaymentError:a,onAmendBasket:E,onShowOutcomeModal:C})},N=async()=>{if(e.orderPending)return;e.setOrderPending(!0);let t=await l(null);t.isFailure?g(t.error,!1):d({paymentAlreadyTaken:!1})},v=async(t,r,o)=>{if(e.orderPending)return;e.setOrderPending(!0),r&&r(),n.emit("checkout:checkout_submit_clicked",{isLoyaltyMember:!!s?.cardNumber||!!e.loyaltySignupInCheckout,value:a?.totals?.grandTotal??0,subtotal:a?.totals?.subtotal??0,currencyCode:a?.totals?.currencyCode});let i=async()=>{try{let{paymentReference:e}=await t();return X.Q.ok({paymentReference:e})}catch(a){let e=a instanceof J&&a.isUserError,t=a instanceof Error?a.message:"Failed to take payment";return X.Q.fail({message:t,isUserError:e})}},c=await l(i);c.isFailure?g(c.error,!0,o):d({paymentAlreadyTaken:!1})},R=a?.totals?{value:a.totals.grandTotal,currencyCode:a.totals.currencyCode}:void 0;return{isBasketZeroCost:a?.isZeroCost??!1,isLoading:e.orderPending||e.loyaltySettling,baseDisabled:e.orderPending||e.loyaltySettling||!b||o,price:R,showOOSModal:u,onCloseOOSModal:()=>{m(!1),i.push(t())},outcomeModal:e.canRetry?p:null,onCloseOutcomeModal:()=>f(null),onZeroCostSubmit:N,onPayableSubmit:v}}(),pageTitle:"Checkout",backToMenuLabel:"Back to menu",onReturnToBasket:a});return(0,eh.E)(),(0,ep.yg)(),(0,A.g)(),function(){let{authenticated:e,profile:t}=(0,w.uM)(),a=(0,S.Q)(),r=(0,H.rm)(),n=a?.customer.authenticated??!1,o=a?.customer.email;(0,h.useEffect)(()=>{if(null!==e){if(!e){if(!n)return;r.setCustomerDetails({authenticated:!1,email:"",firstName:"",lastName:"",phoneNumber:"",marketingConsent:!1});return}!t||n&&o===t.email||r.setCustomerDetails({authenticated:!0,email:t.email,firstName:t.firstName??"",lastName:t.lastName??"",phoneNumber:t.phoneNumber??""})}},[e,t,n,o,r])}(),(0,ef.b)(),function(){let e=(0,eu.$m)(),{registerEmitter:t}=eE(),a=(0,H.jX)(),r=(0,ex.I)("checkout",!1);(0,h.useEffect)(()=>{t(()=>{let t=a.getBasket(),r=t?.items??[],n=t?.totals;r.length>0&&n&&e.emit("checkout:page_view_post_loading",{currencyCode:r[0].currencyCode,basketItems:r,basketTotals:n,appliedRewardType:t?.loyalty?.appliedRewardType??null,rewardsTotal:t?.promotions?.rewardDeductionTotal??0})}),r()},[])}(),(0,s.jsx)("div",{"data-testid":"checkout-container",children:(0,s.jsx)(nE,{...r})})}let nC=()=>(0,s.jsx)(b,{children:(0,s.jsx)(nx,{})}
1),ng=(0,h.memo)(({onClick:e,coordinates:t,mapTypeId:a,...r})=>{let n=`${t.lat},${t.lng}`,{src:o,isError:i}=function({lat:e,lng:t,mapType:a}){let r=(0,H.$G)(),n=(0,z.I)({queryKey:["static-map",e,t,a],queryFn:()=>r.fetchStaticMap({lat:e,lng:t,mapType:a}),staleTime:1/0,refetchOnMount:!1,refetchOnWindowFocus:!1,refetchOnReconnect:!1}),o=n.data,[i,l]=(0,h.useState)();return(0,h.useEffect)(()=>{if(!o)return void l(void 0);let e=URL.createObjectURL(o);return l(e),()=>URL.revokeObjectURL(e)},[o]),{src:i,isLoading:n.isLoading,isError:n.isError}}({lat:t.lat,lng:t.lng,mapType:a});return(0,s.jsx)("button",{type:"button","aria-label":"Open map to change the exact location your delivery driver will meet you",className:"mt-4",onClick:e,...r,children:o?(0,s.jsx)("img",{src:o,alt:`Map preview (${n})`,width:570,height:250}):(0,s.jsx)("div",{className:i?"h-[250px] w-[570px] max-w-full rounded bg-black/5":"h-[250px] w-[570px] max-w-full animate-pulse rounded bg-black/5","aria-hidden":!0})})});var nN=a(46268),nv=a(90363);function nR(){let{restaurant:e,fulfilment:t}=(0,m.n)(),a=(0,_.M)(),r=(0,nv.m)(),n=(a?.items??[]).some(e=>e.quantity>0),o=!!e&&(0,nN.b)(t);return r&&n&&!o}var nI=a(90401),nL=a(80233),nD=a(4929),nk=a(54494);let nw=()=>{let e,t,a,r,n,o=function(){let e=(0,_.M)(),{restaurant:t}=(0,m.n)(),a=t?.slug,{isEatIn:r}=(0,Y.Y)(),n=(0,nv.m)(),o=(0,q.useRouter)(),i=(0,nk.N)(),{authenticated:l,login:s}=(0,w.uM)(),d=nR(),c=(e?.items??[]).some(e=>e.quantity>0),u=n&&c,p=r&&!l;return((0,h.useEffect)(()=>{!n||c||(r?a?o.push(`/menu/${a}?fulfilment=EAT_IN`):o.back():o.push("/search"))},[n,c,r,a]),(0,h.useEffect)(()=>{!u||d||p||!1!==l||s(i)},[u,d,p,l]),u)?d?"journey-missing":p?null===l?"auth-pending":"ready":l?"ready":"auth-pending":"no-order"}(),i=(e=nR(),t=function(){let{fulfilment:e}=(0,m.n)(),t=(0,S.Q)(),a=(0,_.M)();if((0,nN.b)(e))return e;let r=t?.fulfilment?.type??null;return(0,nN.b)(r)?r:a?.fulfilmentType??null}(),a=(0,S.Q)(),r={draftCouldAnswer:String(!!(a?.restaurant&&a?.fulfilment?.type))},n=(0,h.useCallback)(()=>{window.location.assign(`${t4.o2}/search`)},[]),t===F.n.EAT_IN?{shouldRecover:e,fulfilment:t,diagnostics:r}:{shouldRecover:e,fulfilment:t,onRecover:n,actionLabel:"Start again",diagnostics:r});return"no-order"===o?(0,s.jsx)("div",{children:"Loading..."}):"journey-missing"===o?(0,s.jsx)(nI.Ru,{state:i,surface:"checkout"}):"auth-pending"===o?(0,s.jsx)(nL.A,{message:"Loading..."}):(0,s.jsx)(nC,{})},nj=({restaurant:e,fulfilmentType:t})=>((0,u.B)({restaurant:e,fulfilment:t}),null);var nS=!0;let nA=({journeySeed:e})=>{let t=(0,m.n)().restaurant?.id,a=(0,_.M)(),r=e?t===e.restaurant.id:!!t;return(0,p.K)(r?{type:"CART"}:null,{basket:a}),(0,s.jsxs)(s.Fragment,{children:[e&&(0,s.jsx)(nj,{...e}),(0,s.jsx)(c(),{children:(0,s.jsx)("title",{children:`Checkout | ${eL.G}`})}),(0,s.jsx)(nD.q,{loadingGate:!0,children:(0,s.jsx)(nw,{})})]})}},65464:(e,t,a)=>{"use strict";a.d(t,{L:()=>r});let r=e=>[3,2,1,3,2,1,4,3,2,1][e]??0},66308:e=>{e.exports={appliedDiscountRow:"AppliedDiscount_appliedDiscountRow__nLwis",appliedDiscountDetails:"AppliedDiscount_appliedDiscountDetails__p8Ziy",discountDetails:"AppliedDiscount_discountDetails__8q0gM",discountPrice:"AppliedDiscount_discountPrice__fr4UV",loadingSpinner:"AppliedDiscount_loadingSpinner__IKpq2",linkButton:"AppliedDiscount_linkButton__hRm92",disabled:"AppliedDiscount_disabled__a9raR",confirmation:"AppliedDiscount_confirmation__uytxn","fade-in":"AppliedDiscount_fade-in__9GUnN","fade-out":"AppliedDiscount_fade-out__H0J5K","fade-in-and-zoom":"AppliedDiscount_fade-in-and-zoom__GRsq5","fade-out-and-zoom":"AppliedDiscount_fade-out-and-zoom__5tvPk"}},67488:e=>{e.exports={container:"CheckoutDiscountSection_container__Of_Zi","fade-in":"CheckoutDiscountSection_fade-in__GW9h2","fade-out"
1:"CheckoutDiscountSection_fade-out__HsT1l","fade-in-and-zoom":"CheckoutDiscountSection_fade-in-and-zoom__vgoZb","fade-out-and-zoom":"CheckoutDiscountSection_fade-out-and-zoom__87nWN"}},69632:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var r=a(37876),n=a(83794),o=a(88019),i=a(9105),l=a.n(i);let s=function({chilliesRequired:e,rewardType:t,isChilliCollected:a,testId:i}){let{CARD_DESCRIPTION:s}=n.k5.NEXT_REWARD_CARD,d=s(e,t,a);return(0,r.jsxs)("div",{className:l().contentContainer,"data-testid":i,children:[(0,r.jsx)("span",{className:l().imageContainer,children:(0,r.jsx)(o.fz,{tier:t,className:l().heart})}),(0,r.jsx)("p",{children:d})]})}},71277:(e,t,a)=>{"use strict";function r(e){return{lat:e.latitude,lng:e.longitude}}function n(e){return{latitude:e.lat,longitude:e.lng}}a.d(t,{$:()=>r,b:()=>n})},72251:e=>{e.exports={confirmCTA:"TableNumberEntryField_confirmCTA__T4F4n",updatePromptText:"TableNumberEntryField_updatePromptText__f6_ir","fade-in":"TableNumberEntryField_fade-in___FzW1","fade-out":"TableNumberEntryField_fade-out__09KWg","fade-in-and-zoom":"TableNumberEntryField_fade-in-and-zoom___9pdw","fade-out-and-zoom":"TableNumberEntryField_fade-out-and-zoom__1k4sd"}},72738:e=>{e.exports={title:"CheckoutSectionFormHeader_title__zpsjq",titleWrapper:"CheckoutSectionFormHeader_titleWrapper__0LRg4",triangle:"CheckoutSectionFormHeader_triangle__3IaP5","fade-in":"CheckoutSectionFormHeader_fade-in__q6a9q","fade-out"
1:"CheckoutSectionFormHeader_fade-out__lXpur","fade-in-and-zoom":"CheckoutSectionFormHeader_fade-in-and-zoom__XiYeE","fade-out-and-zoom":"CheckoutSectionFormHeader_fade-out-and-zoom___ezJn"}},75129:e=>{e.exports={wrapper:"PlaceOrder_wrapper__Z14uW",termsAndPolicy:"PlaceOrder_termsAndPolicy__zQQvg",link:"PlaceOrder_link__DTfbA","fade-in":"PlaceOrder_fade-in__adslW","fade-out":"PlaceOrder_fade-out__X_wJq","fade-in-and-zoom":"PlaceOrder_fade-in-and-zoom__LTMRs","fade-out-and-zoom":"PlaceOrder_fade-out-and-zoom__DkVVs"}},78607:(e,t,a)=>{"use strict";function r(e){return e>5?Math.round(e):Number.parseFloat(e.toFixed(1))}function n(e){if(e||0===e)return e<.25?"Less than 0.25 miles away":e<.5?"Less than 0.5 miles away":1===r(e)?`${r(e)} mile away`:`${r(e)} miles away`}a.d(t,{A:()=>o,F:()=>n});let o=function(e){return!Number.isNaN(e)&&n(Math.round(100*e)/100)||null}},78946:e=>{e.exports={wrapper:"DeliverooLogo_wrapper__Ap1Kn",deliverooLogo:"DeliverooLogo_deliverooLogo__ubasl",showOnDesktop:"DeliverooLogo_showOnDesktop__Msrx3",showOnMobile:"DeliverooLogo_showOnMobile__S0roC","fade-in":"DeliverooLogo_fade-in__O1NjV","fade-out":"DeliverooLogo_fade-out__CWusQ","fade-in-and-zoom":"DeliverooLogo_fade-in-and-zoom__MvAnj","fade-out-and-zoom":"DeliverooLogo_fade-out-and-zoom__3acMf"}},80891:e=>{e.exports={cardDesk:"CheckoutRestaurantSummaryUI_cardDesk__3km4j",cardMobile:"CheckoutRestaurantSummaryUI_cardMobile__l3SId",infoWrapper:"CheckoutRestaurantSummaryUI_infoWrapper__C2s_Z",nameWrapper:"CheckoutRestaurantSummaryUI_nameWrapper__IzL6b",distance:"CheckoutRestaurantSummaryUI_distance__ATjMs",addressWrapper:"CheckoutRestaurantSummaryUI_addressWrapper___YNle",address:"CheckoutRestaurantSummaryUI_address__1VyDh","fade-in":"CheckoutRestaurantSummaryUI_fade-in__ZMSNV","fade-out":"CheckoutRestaurantSummaryUI_fade-out__Wq5wQ","fade-in-and-zoom":"CheckoutRestaurantSummaryUI_fade-in-and-zoom__iyG26","fade-out-and-zoom":"CheckoutRestaurantSummaryUI_fade-out-and-zoom__3RM1G"}},81554:e=>{e.exports={summaryHeader:"DiscountExpanded_summaryHeader__avh_a",linkButton:"DiscountExpanded_linkButton__3VPJo",disabled:"DiscountExpanded_disabled__8YZzA",errorBanner:"DiscountExpanded_errorBanner__pMRaD",codeEntryForm:"DiscountExpanded_codeEntryForm__P_9rx",codeEntryContainer:"DiscountExpanded_codeEntryContainer__wwVQ_",codeEntryInput:"DiscountExpanded_codeEntryInput__2cJDS",codeEntryButton:"DiscountExpanded_codeEntryButton__fXQmO",boldSubHeader:"DiscountExpanded_boldSubHeader__QWfZZ",smallPrint:"DiscountExpanded_smallPrint__ms5jd","fade-in":"DiscountExpanded_fade-in__wols6","fade-out":"DiscountExpanded_fade-out__o49JB","fade-in-and-zoom":"DiscountExpanded_fade-in-and-zoom__AjLUk","fade-out-and-zoom":"DiscountExpanded_fade-out-and-zoom__grKKe"}},87628:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/[market]/checkout",function(){return a(64092)}])},93874:e=>{e.exports={input:"TextInput_input__Hot8j",invalid:"TextInput_invalid__rny8U",locationErrorPositioning:"TextInput_locationErrorPositioning__hoWy_",error:"TextInput_error__h_y2b",disabledCheckout:"TextInput_disabledCheckout__X2jsz","fade-in":"TextInput_fade-in__JPEzj","fade-out":"TextInput_fade-out__N3hBM","fade-in-and-zoom":"TextInput_fade-in-and-zoom__zCTog","fade-out-and-zoom":"TextInput_fade-out-and-zoom__5th0X"}},94545:e=>{e.exports={fullHeight:"NoRewards_fullHeight__B2i76",container:"NoRewards_container__yAMQe","fade-in":"NoRewards_fade-in__ZS1iO","fade-out"
1:"NoRewards_fade-out__ZOvnF","fade-in-and-zoom":"NoRewards_fade-in-and-zoom___CzVd","fade-out-and-zoom":"NoRewards_fade-out-and-zoom__W5X_a"}},95088:e=>{e.exports={chilliEarned:"LoyaltyChilliRow_chilliEarned__o6Bl_",chilli:"LoyaltyChilliRow_chilli__8fiLn","fade-in":"LoyaltyChilliRow_fade-in__T1R9h","fade-out":"LoyaltyChilliRow_fade-out__TXOJN","fade-in-and-zoom":"LoyaltyChilliRow_fade-in-and-zoom__GMHK_","fade-out-and-zoom":"LoyaltyChilliRow_fade-out-and-zoom__8LhLu"}},95796:e=>{e.exports={availableDiscountsHeader:"AvailableDiscounts_availableDiscountsHeader__1ecWc",boldSubHeader:"AvailableDiscounts_boldSubHeader__OpGAD",availableDiscountsList:"AvailableDiscounts_availableDiscountsList__Cef5O",availableDiscount:"AvailableDiscounts_availableDiscount__FjEnG",loadingSpinner:"AvailableDiscounts_loadingSpinner__Nop78",linkButton:"AvailableDiscounts_linkButton__kP_ZU",disabled:"AvailableDiscounts_disabled__g_zHK","fade-in":"AvailableDiscounts_fade-in__l1VLm","fade-out":"AvailableDiscounts_fade-out__hXkkZ","fade-in-and-zoom":"AvailableDiscounts_fade-in-and-zoom__c_bqk","fade-out-and-zoom":"AvailableDiscounts_fade-out-and-zoom__uHlxj"}},96639:e=>{e.exports={container:"CheckoutRewardsSectionUI_container__vItyY",header:"CheckoutRewardsSectionUI_header__A_lub",title:"CheckoutRewardsSectionUI_title__fHDUu",drawer:"CheckoutRewardsSectionUI_drawer__vDPXV",button:"CheckoutRewardsSectionUI_button__Vt5RV",result:"CheckoutRewardsSectionUI_result__xReHc","result--error":"CheckoutRewardsSectionUI_result--error__CsKC5","result-icon":"CheckoutRewardsSectionUI_result-icon__LvcHH","result-title":"CheckoutRewardsSectionUI_result-title__q3PTi","result-message":"CheckoutRewardsSectionUI_result-message__fFWn9","fade-in":"CheckoutRewardsSectionUI_fade-in__MZ9aV","fade-out":"CheckoutRewardsSectionUI_fade-out__BX_kJ","fade-in-and-zoom":"CheckoutRewardsSectionUI_fade-in-and-zoom__2p20P","fade-out-and-zoom":"CheckoutRewardsSectionUI_fade-out-and-zoom__g5MeM"}},97262:(e,t,a)=>{"use strict";a.d(t,{D:()=>n});var r=a(75478);let n=e=>e<3?r.E.GREEN:e<6?r.E.ORANGE:r.E.RED},98212:e=>{e.exports={appliedDiscountsContainer:"AppliedDiscountsList_appliedDiscountsContainer__cb8UW","fade-in":"AppliedDiscountsList_fade-in__W5ZGW","fade-out"
1:"AppliedDiscountsList_fade-out__Zc4Jy","fade-in-and-zoom":"AppliedDiscountsList_fade-in-and-zoom__yji6r","fade-out-and-zoom":"AppliedDiscountsList_fade-out-and-zoom__Vw4Nw"}}},e=>{e.O(0,[4675,4820,3383,1351,3223,7880,9653,5198,2367,636,6593,8792],()=>e(e.s=87628)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.