1import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,m as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./vendor/internationalized-date.js";import{a as h,c as g,i as _,l as v,n as y,s as b,t as x}from"./vendor/preact.js";import{a as S,c as C,i as w,l as T,n as E,o as D,r as O,s as k,t as A,u as j}from"./vendor/preact-signals.js";import{a as M,o as ee,r as N,t as P}from"./vendor/es-toolkit.js";import{c as F,d as I,f as L,l as R,n as z,t as B,u as te}from"./chunks/error-boundary.js";import{t as ne}from"./vendor/segment-analytics-next.js";import{n as V,t as H}from"./vendor/datadog-browser-rum.js";var re=`cart-state`,U=`magic-cart-id`;function W(e){return new Intl.NumberFormat(`en-US`,{currency:`USD`,maximumFractionDigits:2,roundingMode:`floor`,style:`currency`}).format(e/100)}function ie(e){return Math.round(e*100)??0}function G(e){try{let t=window.localStorage.getItem(e);if(t)return JSON.parse(t)}catch(e){console.error(e)}}function K(e,t){try{let n=JSON.stringify(t);n===`{}`||n===void 0?window.localStorage.removeItem(e):window.localStorage.setItem(e,n)}catch(e){console.error(e)}}function ae(e){return e===null||typeof e==`string`}var oe=1e9;function q(e,t){return new Map(e.map(e=>[e[t],e]))}function J(e,t){let n=new Map;for(let r of e){let e=n.get(r[t]);e?e.push(r):n.set(r[t],[r])}return n}function se(e,t,n){let r=q(e.addons??[],`id`),i=q(e.productTypes??[],`id`),o=q(e.products??[],`id`),s=q(e.selections??[],`id`);function c(e,r){let i=s.get(e);if(i===void 0){console.warn(`Could not find data for selection ${e}!`);return}let o=[];for(let e of i.prices){let t=e.kind===2?`left`:e.kind===3?`right`:`whole`;o.push({coverage:t,id:e.id,price:e.price})}if(o.length){let e=j(i.unavailableUntil?a(i.unavailableUntil,n):null),s=k(()=>e.value instanceof d&&e.value.compare(t.value)>0),c={id:i.id,isOutOfStock:s,name:i.name,outOfStockUntil:e,variants:o};return r&&(c.allowRemoval=!0),c}console.warn(`Could not find any prices for selection ${e}!`)}function l(e){let t=r.get(e);if(t===void 0){console.warn(`Could not find data for addon ${e}!`);return}if(t.limit===0)return;let n=t.name===`Remove`,i=[];for(let e of t.selectionIds){let t=c(e,n);t&&i.push(t)}if(i.length){let e={id:t.id,maxQuantity:1,minSelect:+!!t.required,modifiers:i,name:t.name};return t.limit&&(e.maxSelect=t.limit),i.some(e=>e.variants.some(e=>e.coverage!==`whole`))&&(e.minimumCoverageType=`half`),e}console.warn(`Could not find any selections for addon ${e}!`)}function u(e){let r=i.get(e);if(r===void 0){console.warn(`Could not find data for product type ${e}!`);return}let o=j(r.unavailableUntil?a(r.unavailableUntil,n):null),s=k(()=>o.value instanceof d&&o.value.compare(t.value)>0),c=[];for(let e of r.addonIds??[]){let t=l(e);t&&c.push(t)}let u={id:r.id,isOutOfStock:s,name:r.name,outOfStockUntil:o,price:r.price};return c.length&&(u.modifierGroups=c),u}function f(e,r){let i=o.get(r);if(i===void 0){console.warn(`Could not find data for product ${r}!`);return}let s=[];for(let e of i.productTypeIds){let t=u(e);t&&s.push(t)}if(s.length){let r=j(i.unavailableUntil?a(i.unavailableUntil,n):null),o=k(()=>r.value instanceof d&&r.value.compare(t.value)>0),c={category:e,id:i.id,isOutOfStock:o,name:i.name,outOfStockUntil:r,price:i.price,variants:s};return i.description&&(c.description=i.description),i.image&&(c.imageUrl=i.image),i.isBestSeller&&(c.isBestSeller=i.isBestSeller),i.isFeatured&&(c.isHouseFavorite=i.isFeatured),c}console.warn(`Could not find any variants for item ${r}!`)}function p(e){let t={id:e.id,items:[],name:e.name};e.availabilities&&(t.schedules=e.availabilities),e.shippingType&&(t.deliveryMethod=e.shippingType),e.description&&(t.description=e.description);for(let n of e.productIds){let e=f(t,n);e&&t.items.push(e)}if(t.items.length)return t;console.warn(`Could not find any sellable items for category ${e.id}!`)}let m=[];for(let t of e.categories??[]){let e=p(t);e&&m.push(e)}return{categories:m,source:`gomenu`}}function ce(e,t,n){let r=J(e.itemDefaultModifiers,`itemId`),i=J(e.itemModifierGroups,`itemId`),o=J(e.itemVariants,`itemId`),s=q(e.items,`id`),c=q(e.modifierGroupMembers,`id`),l=q(e.modifiers,`id`),u=q(e.modifierGroups,`id`),f=J(e.modifierGroupSizes,`modifierGroupId`),p=J(e.modifierVariants,`modifierGroupMemberId`),m=q(e.sizes,`id`);function h(e,r,i,o){let s=c.get(e)?.modifierId;if(s===void 0){console.warn(`Could not find data for modifierGroupMember ${e}!`);return}let u=l.get(s);if(u===void 0){console.warn(`Could not find data for modifier ${s}!`);return}let f=p.get(e),m=[];for(let e of f??[])e.sizeId!==r||e.coverageType===`half`&&i===`whole`||(e.coverageType===`half`?m.push({coverage:`left`,id:e.id-oe,price:e.modifierPrice},{coverage:`right`,id:e.id,price:e.modifierPrice}):m.push({coverage:`whole`,id:e.id,price:e.modifierPrice}));if(!m.length&&!f?.length&&m.push({coverage:`whole`,id:e,price:0}),m.length){let e=j(u.outOfStockUntil?a(u.outOfStockUntil,n):null),r=k(()=>e.value instanceof d&&e.value.compare(t.value)>0),i={id:u.id,isOutOfStock:r,name:u.name,outOfStockUntil:e,variants:m};return o&&(i.isDefault=!0),i}console.warn(`Could not find any variants for modifier ${s} using size ${r}!`)}function g(e,t,n){let r=u.get(e);if(r===void 0){console.warn(`Could not find data for modifierGroup ${e}!`);return}if(r.maxSelect===0)return;let i=f.get(e)?.find(e=>e.sizeId===t||r.modifierGroupSizeIds.length===1&&e.id===r.modifierGroupSizeIds.at(0)),a=i?.sizeId??t,o=i?.minimumCoverageType??`whole`,s=[];for(let e of r.modifierGroupMemberIds){let t=h(e,a,o,n.has(e));t&&s.push(t)}
1if(s.length){let e={id:r.id,maxQuantity:r.maxQuantity,minSelect:r.minSelect,modifiers:s,name:r.name};return r.allowLight&&(e.allowLight=r.allowLight),typeof r.maxSelect==`number`&&(e.maxSelect=r.maxSelect),o!==`whole`&&(e.minimumCoverageType=o),r.modifierType!==`generic`&&(e.modifierType=r.modifierType),e}console.warn(`Could not find any modifiers for modifier group ${e} using size ${a}!`)}function _(e,r,i){let o=m.get(e.sizeId);if(o===void 0){console.warn(`Could not find data for size ${e.sizeId}!`);return}let s=j(e.outOfStockUntil?a(e.outOfStockUntil,n):null),c=k(()=>s.value instanceof d&&s.value.compare(t.value)>0),l=[];for(let e of r){let t=g(e,o.id,i);t&&l.push(t)}let u={id:e.id,isOutOfStock:c,name:o.name,outOfStockUntil:s,price:e.itemPrice};return l.length&&(u.modifierGroups=l),u}function v(e,c){let l=s.get(c);if(l===void 0){console.warn(`Could not find data for item ${c}!`);return}let u=i.get(c)?.map(e=>e.modifierGroupId)??[],f=new Set((r.get(c)??[]).map(e=>e.modifierGroupMemberId)),p=o.get(l.id)??[],m=[];for(let e of p){let t=_(e,new Set(u),f);t&&m.push(t)}if(m.length){let r=j(l.outOfStockUntil?a(l.outOfStockUntil,n):null),i=k(()=>r.value instanceof d&&r.value.compare(t.value)>0),o={category:e,id:l.id,isOutOfStock:i,name:l.name,outOfStockUntil:r,price:l.price,variants:m};return l.description&&(o.description=l.description),l.imageUrl&&(o.imageUrl=l.imageUrl),l.isBestSeller&&(o.isBestSeller=l.isBestSeller),l.isDiscountIneligible&&(o.isDiscountIneligible=l.isDiscountIneligible),l.isHouseFavorite&&(o.isHouseFavorite=l.isHouseFavorite),l.isLoyaltyReward&&(o.isLoyaltyReward=l.isLoyaltyReward),l.type!==`generic`&&(o.type=l.type),o}console.warn(`Could not find any variants for item ${c}!`)}function y(e){let t={description:e.description,id:e.id,items:[],name:e.name};for(let n of e.itemIds){let e=v(t,n);e&&t.items.push(e)}if(e.schedules&&(t.schedules=e.schedules),e.deliveryMethod&&(t.deliveryMethod=e.deliveryMethod),t.items.length)return t;console.warn(`Could not find any sellable items for category ${e.id}!`)}let b=[];for(let t of e.categories){let e=y(t);e&&b.push(e)}return{categories:b,menuId:e.menuId,source:`pymenu`}}function le(e,t,n){return e.source===`gomenu`?se(e.data,t,n):ce(e.data,t,n)}function ue(e){return e.toLowerCase().replace(/\s+/g,` `).normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function de(e){let t=[];for(let n of e.data.categories??[])t.push({categoryIds:[n.id],itemIds:`itemIds`in n?n.itemIds:n.productIds,points:.75,text:ue(n.name)});for(let n of`items`in e.data?e.data.items:e.data.products??[]){let e=[n.id],r=`categoryIds`in n?n.categoryIds:[n.categoryId];t.push({categoryIds:r,itemIds:e,points:1,text:ue(n.name)}),n.description&&t.push({categoryIds:r,itemIds:e,points:.5,text:ue(n.description)})}return t}function fe(e,t,n){let r=le(t,n,e.timeZone),i=de(t),a=new Map,o=new Map;for(let e of r.categories)if(e){o.set(e.id.toString(),e);for(let t of e.items)a.set(`${e.id}-${t.id}`,t)}function s(e,t){return a.get(`${e}-${t}`)}function c(e){return o.get(e.toString())}function l(e){let t=ue(e),r=new Map,a=new Intl.Collator(`en`,{sensitivity:`base`});if(t){for(let e of i)if(e.text.includes(t))for(let t of e.categoryIds)for(let i of e.itemIds){let a=s(t,i);if(a){if(a.outOfStockUntil.value&&a.outOfStockUntil.value.toDate().getTime()-n.value.toDate().getTime()>2592e6)continue;r.set(a,(r.get(a)??0)+e.points)}}}return Array.from(r.entries()).sort(([e,t],[n,r])=>{let i=r-t;return i===0?a.compare(e.name,n.name):i}).map(([e])=>e)}return{...r,findCategoryById:c,findItemByIds:s,searchItemsByText:l}}var pe=[`offeredShopDiscount`,`serviceFeePercentage`],me=`Activity Order Order items `,he={Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6,Sunday:7};function ge(e){return{products_quantity:e.quantity,products_type_id:e.itemVariantId,selection_ids:e.modifiers.map(e=>e.modiferVariantId),...e.instructions?{products_instruction:e.instructions}:{}}}async function _e(e,t,n,r){let{coreApiKey:i,coreApiOrigin:a}=R(),o=new URL(`/services/core/api/v1/orders/shopping_cart`,a),s=t.value.delivery?.address,c={order:{delivery__address:s?.line1,delivery_city:s?.city,delivery_floor:s?.line2,delivery_postcode:s?.zipcode,delivery_state:s?.state,order_items_attributes:e.map(ge),payment_method:`credit`,placed_via:`web`,redeem_loyalty_reward:null,shipping_type:t.value.method,shop_id:n}},l=await fetch(o,{body:JSON.stringify(c),headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":i},method:`POST`,signal:r?.signal});if(l.ok){let e=N(await l.json()),t=e.shoppingCart.receipt,n=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,pe.includes(e)?t:Math.abs(ie(t))])),r=e.shoppingCart.orderValidations.errors;return r?.length&&console.error(`Cart validation errors: ${r}`),n}throw Error(`Unable to fetch cart pricing: ${l.status}!`)}
1async function ve(e){let{coreApiKey:t,coreApiOrigin:n}=R(),{cartEntries:r,fulfillmentState:i,shopId:a,signal:o,uuid:s}=e,c=new URL(`/services/core/api/v1/activities`,n),l=i.value.delivery?.address,u={payload:{order:{order_items_attributes:r.map(ge),payment_method:`credit`,shipping_type:i.value.method,shop_id:a,...i.value.method===`delivery`&&{delivery_address:l?.line1||void 0,delivery_city:l?.city||void 0,delivery_floor:l?.line2||void 0,delivery_postcode:l?.zipcode||void 0,delivery_state:l?.state||void 0},...i.value.timing===`scheduled`&&{deliver_at:i.value.time?.toDate()}}},type:`magic_cart`,uuid:s},d=await fetch(c,{body:JSON.stringify(u),headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":t},method:`POST`,signal:o}),f=N(await d.json());return d.ok?{errors:[],id:f.envelopeId.replaceAll(`activity_v_1_`,``)}:{errors:ye(f),id:null}}function ye(e){return e.messages.map(e=>e.replace(me,``))}function be(e,t){if(!e.length)return[];let n=xe(t);return e.map(e=>{let t=e.productsTypeId,r=n.itemIdByItemVariantId.get(t)??null;if(!r)return;let i=n.categoryIdByItemId.get(r);if(i)return{categoryId:i,id:crypto.randomUUID(),instructions:e.productsInstruction??``,itemId:r,itemVariantId:t,modifiers:e.orderItemSelections?.map(e=>({coverage:n.coverageByModifierVariantId.get(e.selectionId),modiferVariantId:e.selectionId,modifierGroupId:e.addonId})),quantity:e.productsQuantity??1}}).filter(Boolean)}function xe(e){let t=new Map,n=new Map,r=new Map;for(let i of e.categories)for(let e of i.items){t.set(e.id,i.id);for(let t of e.variants){n.set(t.id,e.id);for(let e of t.modifierGroups??[])for(let t of e.modifiers)for(let n of t.variants){let t=e.minimumCoverageType===`half`;r.set(n.id,t?n.coverage??`whole`:void 0)}}}return{categoryIdByItemId:t,coverageByModifierVariantId:r,itemIdByItemVariantId:n}}function Se(e,t,n){if(!t?.length)return!0;let i=e??u(n),a=r(i,`en-US`),o=new c(i.hour,i.minute);return t.filter(e=>he[e.dayOfWeek]===a).some(e=>o.compare(l(e.startTime))>=0&&o.compare(l(e.endTime))<=0)}async function Ce(e,t,n){let{coreApiKey:r,coreApiOrigin:i}=R(),a=new URL(`/services/core/api/v3/menus/${e}/recommendations`,i),o=await fetch(a,{body:JSON.stringify({items:t,shopId:e}),headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":r},method:`POST`,signal:n});return o.ok?await o.json():(console.error(`Failed to fetch addons: ${o.status} ${o.statusText}`),{products:[]})}function we(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.coverage===void 0||[`left`,`right`,`whole`].includes(t.coverage);return Number.isInteger(t.modiferVariantId)&&Number.isInteger(t.modifierGroupId)&&n}function Te(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&Number.isInteger(t.itemVariantId)&&Number.isInteger(t.itemId)&&Number.isInteger(t.categoryId)&&Number.isInteger(t.quantity)&&ae(t.instructions)&&Array.isArray(t.modifiers)&&t.modifiers.every(we)}function Ee(e,t){return e.itemVariantId===t.itemVariantId&&e.instructions===t.instructions&&De(e.modifiers)===De(t.modifiers)}function De(e=[]){return JSON.stringify([...e].sort((e,t)=>e.modiferVariantId===t.modiferVariantId?(e.coverage??`general`)<(t.coverage??`general`)?-1:1:e.modiferVariantId-t.modiferVariantId).map(e=>[e.modiferVariantId,e.coverage]))}function Oe(e,t){return e===0?t===0?``:L(`cart.state.feeWaived`):W(e)}function ke(e){let t=G(re);if(!Array.isArray(t))return null;let n=t.filter(t=>Te(t)&&e.findItemByIds(t.categoryId,t.itemId)!==void 0);return n.length?n:null}function Ae(e,t,n){e.entries.value=t,e.magicCartId.value=n,K(U,void 0)}var je={deliveryFee:0,offeredShopDiscount:0,serviceFeeAmount:0,serviceFeePercentage:0,shopDiscountAmount:0,subtotal:0,tax:0,total:0};function Me({fulfillmentState:e,initialEntries:t,initialMagicCartId:n,menu:r,shop:i}){let a=j(n&&t?t:ke(r)??[]),o=j(je),s=j([]),c=j([]),l=j(!1),u=j(n??null),d=j(!1),f=j([]),p=j([]),m=j(``),h=null;function g(e){m.value=``,setTimeout(()=>{m.value=e},0)}function _(e){h=e}n&&K(U,void 0);let v=k(()=>ee(a.value.map(e=>e.quantity))),y=k(()=>{let e=new Map;for(let t of a.value){let n=`${t.categoryId}-${t.itemId}`;
1e.set(n,(e.get(n)??0)+t.quantity)}return e}),b=k(()=>{let t=ie(Number.parseFloat(e.value.method===`delivery`?e.value.delivery?.minimum?.toString()??`0`:i.pickup?.minimum??`0`)),n=o.value.subtotal-o.value.shopDiscountAmount,r=n>=t;return{amountLeftToReachOrderMinimum:Math.max(0,t-n),isOrderMinimumMet:r}}),x=k(()=>{let t=o.value.subtotal,n=e.value.method===`delivery`?Oe(o.value.deliveryFee,t):null,r=Oe(o.value.serviceFeeAmount,t);return{delivery:n,isPercentageServiceFee:o.value.serviceFeePercentage!==null,service:r}}),S=k(()=>!b.value.isOrderMinimumMet||c.value.length>0),w=null;C(()=>{let t=a.value;if(w?.abort(),!t.length){T(()=>{o.value=je,p.value=[]}),l.value=!1;return}async function n(){let n=new AbortController;w=n;try{l.value=!0;{let r=await _e(t,e,i.shopId,{signal:n.signal});w===n&&T(()=>{o.value=r,p.value=[]})}}catch(e){e instanceof DOMException&&e.name===`AbortError`||(console.error(e),T(()=>{o.value=je,p.value=[]}))}finally{w===n&&(w=null),w||(l.value=!1)}}n()});let E=null,D=k(()=>[...new Set(a.value.map(e=>e.itemId))].sort().join(`,`));C(()=>{let e=D.value,t=a.peek();if(E?.abort(),!e){s.value=[];return}async function n(){let e=new AbortController;E=e;try{let n=t.map(e=>({productId:e.itemId})),r=await Ce(i.shopId,n,e.signal);E===e&&(s.value=r.products)}catch(e){e instanceof DOMException&&e.name===`AbortError`||(s.value=[],console.error(e))}finally{E===e&&(E=null)}}n()});let O=null;C(()=>{let e=l.value,{deliveryFee:t,serviceFeeAmount:n,shopDiscountAmount:r,subtotal:i}=o.value,s=i+n+t-r,c=a.value.length===0;if(e)return;let u=O!==null&&O!==s;O=s;let d=[];h&&=(d.push(h),null),!c&&(u||d.length>0)&&d.push(L(`cart.state.cartTotalAnnouncement`,{total:W(s)})),d.length>0&&g(d.join(`. `))});function A(e){let t=a.value.slice(),n=a.value.findIndex(t=>Ee(t,e));if(n===-1||!t[n]){t.push(e),T(()=>{a.value=t,f.value=[]});return}t[n]={...t[n],quantity:t[n].quantity+e.quantity},T(()=>{a.value=t,f.value=[]})}function M(e,t={}){let n=a.value.slice(),r=n.findIndex(t=>t.id===e);if(r===-1||!n[r])return;let i={...n[r],...t,quantity:Math.max(1,t.quantity??n[r].quantity)},o=n.findIndex((e,t)=>t!==r&&Ee(e,i));if(o!==-1&&n[o]){n[o]={...n[o],quantity:n[o].quantity+i.quantity},n.splice(r,1),T(()=>{a.value=n,f.value=[]});return}n[r]=i,T(()=>{a.value=n,f.value=[]})}function N(e){T(()=>{a.value=a.value.filter(t=>t.id!==e),f.value=[]})}let P=null;C(()=>{let t=a.value;if(P?.abort(),!t.length){K(U,void 0),u.value=null;return}async function n(){let t=new AbortController;P=t;let n=a.value;d.value=!0;try{let r=await ve({cartEntries:n,fulfillmentState:e,shopId:i.shopId,signal:t.signal,uuid:u.value??void 0});return r.id?(K(U,r.id),T(()=>{u.value=r.id,f.value=[]}),r.id):(f.value=r.errors,null)}catch(e){return e instanceof DOMException&&e.name===`AbortError`||(u.value=null),null}finally{P===t&&(P=null),P||(d.value=!1)}}n()});let F=JSON.stringify(e.value);C(()=>{let t=JSON.stringify(e.value);t!==F&&(f.value=[],F=t)});function I(t){let n=[],{method:a,time:o}=e.value,s=r.findItemByIds(t.categoryId,t.itemId),c=r.findCategoryById(t.categoryId);c?.deliveryMethod&&c.deliveryMethod!==a&&n.push(L(`cart.state.availableOnlyForMethod`,{categoryName:s?.category.name??``,itemName:s?.name??``,method:c.deliveryMethod}));let l=Se(o,c?.schedules,i.timeZone);return!s||!c||l||n.push(L(`cart.state.notAvailableAtThisTime`,{categoryName:c.name,itemName:s.name})),n}function R(){let e=[];for(let t of a.value)e.push(...I(t));e.push(...f.value),e.push(...p.value),c.value=e}return C(()=>{R()}),{addEntry:A,addons:s,announceItemEvent:_,cartCount:v,countByCategoryAndItemIds:y,entries:a,errors:c,isCartInvalid:S,isMagicCartIdLoading:d,isPricingLoading:l,itemEventMessage:m,magicCartId:u,orderFees:x,orderMinimum:b,pricing:o,removeEntry:N,revalidate:R,updateEntry:M}}var Ne=`fulfillment-state`;async function Pe(e,t){try{if(!e.query.length)return[];let{coreApiKey:n,coreApiOrigin:r}=R(),i=new URL(`/services/location/autocomplete`,r);return i.searchParams.append(`query`,e.query),i.searchParams.append(`latitude`,e.latitude),i.searchParams.append(`longitude`,e.longitude),i.searchParams.append(`sessionToken`,e.sessionToken),await(await fetch(i,{headers:{"x-api-key":n},signal:t})).json()}catch(e){return e!==`aborted`&&console.error(`Failed to fetch location suggestions`,{e}),[]}}async function Fe({location:e,shopWebSlug:t,signal:n}){let{coreApiKey:r,coreApiOrigin:i}=R(),a=new URL(`services/core/api/v3/shops/${t}/delivery_zone_validation`,i);return a.searchParams.append(`location`,e),await fetch(a,{headers:{"x-api-key":r},signal:n})}async function Ie(e){let t=e.status,{messages:n}=await e.json();return t===400||t===404&&n?.includes(`error finding a location`)?`fulfillment.location.invalidLocation`:t===404?`fulfillment.location.undeliverableAddress`:`fulfillment.location.undeterminedAddress`}function Le(e,t,n=!1){t=t.set({millisecond:0,second:0});let r=o(t).toString(),i=[];for(let t of e.values())for(let e of t)for(let t of e.slots)o(t.time).toString()===r&&i.push(t);i.sort((e,t)=>
1e.time.compare(t.time));let a,s;for(let e of i){if(n&&!e.isAvailable)continue;let r=e.time.compare(t);if(r===0)return e.time;if(r<0)a=e.time;else{s=e.time;break}}return a&&s?Number(t.toDate())-Number(a.toDate())<Number(s.toDate())-Number(t.toDate())?a:s:a??s}function Re(e,t){if(t.delivery.isOffered&&e.delivery.value.currentEntry?.kind===`opening`)return{method:`delivery`,timing:`asap`};if(e.pickup.value.currentEntry?.kind===`opening`)return{method:`pickup`,timing:`asap`};if(t.isSchedulingOffered){let t=e.delivery.value.nextScheduableOpening,n=t?.slots.find(e=>e.isAvailable)?.time,r=e.pickup.value.nextScheduableOpening,i=r?.slots.find(e=>e.isAvailable)?.time;if(n&&(!i||t.start.compare(r.start)<=0))return{method:`delivery`,time:n,timing:`scheduled`};if(i)return{method:`pickup`,time:i,timing:`scheduled`}}return{method:t.delivery.isOffered?`delivery`:`pickup`,timing:`asap`}}function ze(e,t){let n=G(Ne);if(typeof n==`object`&&(n.method===`delivery`||n.method===`pickup`)&&(n.timing===`asap`||n.timing===`scheduled`)){let r=n.method,a=n.timing,o,s;if(r===`delivery`&&!t.delivery.isOffered||r===`pickup`&&!t.pickup.isOffered)return;if(r===`delivery`&&typeof n.delivery==`object`){let e=n.delivery.address;typeof e==`object`&&typeof e.city==`string`&&typeof e.line1==`string`&&typeof e.line2==`string`&&typeof e.state==`string`&&typeof e.zipcode==`string`&&(o={address:{city:e.city,line1:e.line1,line2:e.line2,state:e.state,zipcode:e.zipcode},minimum:typeof n.delivery.minimum==`number`?n.delivery.minimum:0})}if(a===`asap`&&e[r].value.currentEntry?.kind!==`opening`)return;if(a===`scheduled`){try{let t=f(n.time);e.dates.value.some(e=>i(e,t))&&(s=Le(e[r].value.entriesByDate,t))}catch{}if(!s)return}return{delivery:o,method:r,time:s,timing:a}}}async function Be(e,t,n){let r=e.value;if(r.method!==`delivery`||!r.delivery?.address)return;let i=r.delivery.address,a=await Fe({location:`${i.line1}, ${i.line2}, ${i.city}, ${i.state} ${i.zipcode}`,shopWebSlug:n.uuid});if(a.ok){let{delivery_address_info:t}=await a.json();e.value={...r,delivery:{address:r.delivery.address,minimum:t.minimum_order??0}}}else e.value=Re(t,n)}function Ve(e,t,n,r){if(!e)return;let i=e.shippingType===`delivery`||e.shippingType===`pickup`?e.shippingType:void 0;if(!i)return;let o;if(i===`delivery`){if(!e.deliveryAddress||!e.deliveryCity||!e.deliveryState||!e.deliveryPostcode)return;o={address:{city:e.deliveryCity,line1:e.deliveryAddress,line2:e.deliveryFloor??``,state:e.deliveryState,zipcode:e.deliveryPostcode},minimum:r?.delivery?.minimum??(Number(n.delivery.minimum)||0)}}let s=`asap`,c;if(e.deliverAt)try{let r=a(e.deliverAt,n.timeZone),o=Le(t[i].value.entriesByDate,r);if(!o)return;s=`scheduled`,c=o}catch{return}return{delivery:o,method:i,time:c,timing:s}}function He(e,t,n,r){let i=Ve(r,t,n,e.value);i&&(e.value=i)}function Ue(e,t,n){let r=Ve(n,e,t),i=r?void 0:ze(e,t),a=r??i??Re(e,t),o=j(a);return i?.method===`delivery`&&i.delivery&&Be(o,e,t),o}function We(e,t){let n=j(``),r=j(`delivery`),i=j(),a=j(`asap`),s=j(),c=j(``),l=j(!1),u=j(!1),f=j(!1),p=k(()=>{let e=s.value;if(a.value!==`scheduled`||!e)return{isDateAvailable:!0,isTimeAvailable:!0};let n=o(e).toString(),{slotAvailabilityByDate:i,slotAvailabilityByTime:c}=t[r.value].value;return{isDateAvailable:!!i.get(n),isTimeAvailable:!!c.get(e.toAbsoluteString())}}),m=k(()=>p.value.isDateAvailable?``:L(`fulfillment.state.dateSlotsFull`)),h=k(()=>p.value.isDateAvailable&&!p.value.isTimeAvailable?L(`fulfillment.state.timeSlotFull`):``);function g(e){u.value=e}function _(e,t){e===`delivery`&&(l.value=t)}function v(e,t){e===`delivery`&&(c.value=t)}function y(e){return(!e||e===`delivery`)&&(r.value===`delivery`&&!i.value?v(`delivery`,L(`fulfillment.state.invalidDeliveryAddress`)):v(`delivery`,``)),!c.value}function b(e,o,c=!0){T(()=>{if(e===`method`?(r.value=o,r.value===`pickup`&&!i.value&&(n.value=``)):e===`delivery`?(i.value=o,i.value||(n.value=``,u.value=!1)):e===`address`?n.value=o:e===`timing`&&(a.value=o),(e===`method`||e===`delivery`||e===`address`)&&y(`delivery`),e===`method`||e===`timing`||e===`time`){let n=o instanceof d?o:s.value??t[r.value].value.nextScheduableOpening?.slots.find(e=>e.isAvailable)?.time??t.dates.value[0];s.value=Le(t[r.value].value.entriesByDate,n,c)??(e===`method`?t[r.value].value.nextScheduableOpening?.slots.find(e=>e.isAvailable)?.time:void 0)}})}function x(e){T(()=>{_(`delivery`,!1),b(`method`,e.method),b(`delivery`,e.delivery),b(`timing`,e.timing),b(`time`,e.time,!1),y(),f.value=!1,u.value=!1})}function S(){let t=y();return t&&(e.value={delivery:i.value,method:r.value,...a.value===`scheduled`&&{time:s.value},timing:a.value}),f.value=!0,u.value=!1,t}return C(()=>{let t=e.value;D(()=>{x(t)})}),C(()=>{let e=t[r.value].value.currentEntry;(!e||e.kind===`pausing`)&&a.value===`asap`&&D(()=>{b(`timing`,`scheduled`)})}),{blurred:{delivery:k(()=>l.value)},errors:{date:m,delivery:k(()=>c.value),time:h},isEditingApartment:k(()=>u.value),isSubmitted:k(()=>f.value),reset:x,setBlurred:_,setEditingApartment:g,setError:v,setValue:b,submit:S,values:{address:k(()=>n.value),delivery:k(()=>i.value),method:k(()=>r.value),time:k(()=>s.value),timing:k(()=>a.value)}}}function Y(e){return e===`00:00`||e===`00:00:00`}function Ge(e,t){let i={};for(let{from:o,to:s}of e){let e=a(o,t),c=n(e).toString(),l=n(a(s,t)).toString();if(!Y(c)||!Y(l)){let t=r(e,`en-US`,`mon`);i[t]??=[],i[t].push({start:c,stop:l})}}for(let e of Object.values(i))e.sort();return i}function Ke(e,t){let r={};for(let{from:s,to:c}of e){let e=a(s,t).set({millisecond:0}),l=a(c,t).set({millisecond:0});
1if(i(e,l)){let t=o(e).toString();r[t]??=[],r[t].push({start:n(e).toString(),stop:n(l).toString()})}else{let t=o(e).toString(),i=o(l).toString();r[t]??=[],r[i]??=[],r[t].push({start:n(e).toString(),stop:`23:59:59`}),r[i].push({start:`00:00:00`,stop:n(l).toString()})}}return r}function X(e){return e.set({hour:0,millisecond:0,minute:0,second:0})}function qe(e){return e.set({millisecond:0,second:0})}function Z(e,t){let n=e.start,r=e.stop.hour===23&&e.stop.minute===59?e.stop.add({minutes:1}):e.stop;return n.compare(t)<=0&&r.compare(t)>0}function Q(e,n,r){return t(m(n,l(e)),r)}function Je(e,t,n,r,a){let o=[],s=i(e,t);n.compare(e)>0&&(e=n),e=qe(e.add({minutes:r.min??0})),s&&e.hour===23&&e.minute>45?e=e.set({minute:59}):e.minute%15>0&&(e=e.add({minutes:15-e.minute%15}));let c=e;for(;c.compare(t)<=0;){let e=!a.some(e=>Z(e,c));o.push({isAvailable:e,time:c}),c=c.add({minutes:s&&c.hour===23&&c.minute===45?14:15})}return o}function Ye(e,t,n,i,a){let s=e.subtract({days:1}),c=t[o(s).toString()]??t[r(s,`en-US`,`mon`)]??[],l=[];for(let t of c){if(!(!Y(t.stop)&&t.stop<=t.start))continue;let r=Q(t.start,s,i),o=Q(t.stop,e,i),c=a.filter(e=>e.start.compare(o)<0&&e.stop.compare(r)>0);l.push({kind:`opening`,slots:Je(r,o,e,n,c),start:r,stop:o})}return l}function Xe(e,t,n,i,s,c){let l=c.map(e=>({start:a(e.from,s),stop:a(e.to,s)})),u=new Map,d=new Map,f,p,m,h=Ye(e[0],t,i,s,l),g=new Map(e.map(a=>{let c=o(a).toString(),g=(t[c]??t[r(a,`en-US`,`mon`)]??[]).map(t=>{let n=Q(t.start,a,s),r=!Y(t.stop)&&t.stop<=t.start?Q(t.stop,a.add({days:1}),s):Q(Y(t.stop)?`23:59`:t.stop,a,s),o=l.filter(e=>e.start.compare(r)<0&&e.stop.compare(n)>0);return{kind:`opening`,slots:Je(n,r,e[0],i,o),start:n,stop:r}});a===e[0]&&g.unshift(...h);for(let{start:t,stop:r}of n[c]??[]){let n={kind:`pausing`,slots:[],start:Q(t,a,s),stop:Q(r,a,s)};if(n.stop.compare(a)<=0)continue;let o=g.findIndex(e=>Z(e,n.start)||Z(e,n.stop)),c=g.findLastIndex(e=>Z(e,n.start)||Z(e,n.stop));if(o>-1&&c>-1){let t=g.splice(o,c-o+1),r=[];for(let a of t){if(a.start.compare(n.start)<0){let t=a.start,o=n.start,s=l.filter(e=>e.start.compare(o)<0&&e.stop.compare(t)>0);r.push({kind:`opening`,slots:Je(t,o,e[0],i,s),start:t,stop:o})}if(a.stop.compare(n.stop)>0){let t=n.stop,o=a.stop,s=l.filter(e=>e.start.compare(o)<0&&e.stop.compare(t)>0);r.push({kind:`opening`,slots:Je(t,o,e[0],i,s),start:t,stop:o})}}let a=r.findIndex(e=>e.stop.compare(n.start)<=0)+1;r.splice(a,0,n),g.splice(o,0,...r)}}for(let t of g)if(!f&&a===e[0]&&Z(t,e[0])&&(f=t),t.kind===`opening`){let n=t.slots.some(e=>e.isAvailable);if(!p&&e[0].compare(t.start)<0&&(p=t),!m&&n&&(m=t),p&&m)break}for(let e of g)for(let t of e.slots){u.set(t.time.toAbsoluteString(),t.isAvailable);let e=o(t.time).toString();t.isAvailable?d.set(e,!0):d.has(e)||d.set(e,!1)}return[a,g]}));return{currentEntry:f,entriesByDate:g,nextOpening:p,nextScheduableOpening:m,slotAvailabilityByDate:d,slotAvailabilityByTime:u}}function Ze(e,t,n,r){let i=r?.unavailableSlots??[],a=r?.schedule,o=k(()=>[e.value,X(e.value.add({days:1})),X(e.value.add({days:2})),X(e.value.add({days:3})),X(e.value.add({days:4})),X(e.value.add({days:5})),X(e.value.add({days:6}))]),s=a&&{openings:Ge(a.delivery,a.timezone),pausings:Ke(a.pausings.delivery,a.timezone)},c=a&&{openings:Ge(a.pickup,a.timezone),pausings:Ke(a.pausings.pickup,a.timezone)};return{dates:o,delivery:k(()=>Xe(o.value,s?.openings??n.delivery.openings,s?.pausings??n.delivery.pausings,t.delivery.value,a?.timezone??n.timeZone,i)),pickup:k(()=>Xe(o.value,c?.openings??n.pickup.openings,c?.pausings??n.pickup.pausings,t.pickup.value,a?.timezone??n.timeZone,i))}}async function Qe(e){let{coreApiKey:t,coreApiOrigin:n}=R(),r=new URL(`/services/core/api/v1/discover/shops`,n),i=await fetch(r,{body:JSON.stringify({filters:[{filter_type:`shop_identifiers`,identifier_type:`uuid`,identifiers:[e]}],sorts:[]}),headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":t},method:`POST`});if(i.ok)return N((await i.json()).data.at(0)?.attributes);throw Error(`Unable to fetch shop data: ${i.status}!`)}async function $e(e){let{coreApiKey:t,coreApiOrigin:n}
1=R(),r=new URL(`/services/core/api/v1/shops/${e}/schedule/schedule_with_unavailable`,n),i=await fetch(r,{headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":t},method:`GET`});if(i.ok)return N(await i.json());throw Error(`Unable to fetch shop schedule: ${i.status}!`)}async function et(e){let{coreApiKey:t,coreApiOrigin:n}=R(),r=new URL(`/services/core/api/v1/activities/activity_v_1_${e}`,n),i=await fetch(r,{cache:`no-store`,headers:{Accept:`application/json`,"Content-Type":`application/json`,"x-api-key":t},method:`GET`});if(i.ok){let e=await i.json();return N(e?.payload?.order)}throw Error(`Unable to fetch magic cart activity: ${i.status}!`)}function tt(e){let t=new Map;try{if(e.loyalty?.milestones)for(let n of e.loyalty.milestones)for(let e of n.rewards??[])t.set(e.menuItemId,{allowedVariantId:e.allowedVariantId,id:e.id,menuItemId:e.menuItemId,modifierGroups:e.modifierGroups,name:e.name,pointsRequired:e.pointsRequired??n.pointsRequired,variantName:e.variantName})}catch(e){console.error(`Error building loyalty data:`,e)}return{isEnabled:e.loyalty?.isLoyaltyEnabled??!1,rewardsByMenuItemId:t}}function nt(e,t){let n=j(u(e.shop.timeZone)),r={delivery:j({max:t.shop?.maxDeliveryEstimate??e.shop.delivery.eta.max,min:t.shop?.minDeliveryEstimate??e.shop.delivery.eta.min}),pickup:j({max:t.shop?.maxPickupEstimate??e.shop.pickup.eta.max,min:t.shop?.minPickupEstimate??e.shop.pickup.eta.min})},i={...e.shop,delivery:{fees:e.shop.delivery.fees,isOffered:e.shop.delivery.isOffered,minimum:e.shop.delivery.minimum},pickup:{isOffered:e.shop.pickup.isOffered,minimum:e.shop.pickup.minimum}},a=Ze(n,r,e.shop,t.schedule),o=Ue(a,i,t.magicCart),s=fe(e.shop,e.menu,n);return{cart:Me({fulfillmentState:o,initialEntries:be(t.magicCart?.orderItems??[],s),initialMagicCartId:t.magicCartId,menu:s,shop:i}),eta:r,fulfillment:o,loyalty:tt(e),menu:s,now:n,schedule:a,shop:i}}function rt(e){async function t(e){let t=G(U);if(t)try{let n=await et(t),r=be(n?.orderItems??[],e.menu);if(!r.length)return;Ae(e.cart,r,t),He(e.fulfillment,e.schedule,e.shop,n)}catch(e){console.error(`Could not sync magic cart on bfcache pageshow: ${e}`)}}window.addEventListener(`pageshow`,n=>{n.persisted&&t(e)})}function it(e){return e?.closest(`a[data-slice-event],button[data-slice-event],[role="button"][data-slice-event],input[data-slice-event]`)??null}function at(e){if(!e)return null;let t=e.trim();try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?null:e}catch{return null}}function ot(e,t){function n(n){let r=n.target,i=it(r);if(!i)return;let a=at(i.getAttribute(`data-slice-event`));if(!a)return;let o=a.event;if(!o||typeof o!=`string`)return;let s={...M(a,[`event`]),shop_id:t.shop.shopId,template_name:t.shop.templateName};e.track(o,s)}document.addEventListener(`click`,n)}function st(){return{height:window.innerHeight,width:window.innerWidth}}function ct(e,t){e.track(`viewed_direct_web`,{path:window.location.pathname,resolution:st(),shopId:t.shop.shopId,templateName:t.shop.templateName,title:document.title,url:window.location.href})}function lt(e){let t=R().segmentWriteKey;if(t){let n=ne.load({writeKey:t});ot(n,e),ct(n,e)}}function ut({cart:e,categoryId:t,itemId:n}){let r=k(()=>{if(Number.isInteger(t)&&Number.isInteger(n)){let r=`${t}-${n}`;return e.countByCategoryAndItemIds.value.get(r)??0}return e.cartCount.value});return x(g,{children:[x(A,{when:()=>r.value>0,children:x(`span`,{"aria-hidden":`true`,class:`cart-count__value`,children:r.value})}),x(`span`,{class:`cart-count__label`,children:L(`cart.cartCount.itemCount`,{count:r.value})})]})}function dt(e,t){let n=e.dataset.sliceLandmark===`cart-count`?[e]:e.querySelectorAll(`[data-slice-landmark="cart-count"]`);for(let e of n){let n=e.dataset.categoryId?Number.parseInt(e.dataset.categoryId,10):void 0,r=e.dataset.itemId?Number.parseInt(e.dataset.itemId,10):void 0;b(x(B,{children:x(ut,{cart:t.cart,categoryId:n,itemId:r})}),e)}}function ft(e){let t=new MutationObserver(t=>{for(let{addedNodes:n}of t)for(let t of n)t.nodeType===Node.ELEMENT_NODE&&dt(t,e)});dt(document.body,e),t.observe(document.documentElement,{childList:!0,subtree:!0})}function pt({cartState:e}){let t=O(()=>{let t=new Set(e.entries.value.map(e=>e.itemId));return e.addons.value.filter(e=>!t.has(e.id))}),n=O(()=>t.value.length>0);return x(A,{when:n,children:x(`div`,{class:`cart-add-ons`,children:[x(`h3`,{class:`cart-add-ons__title`,children:L(`cart.cartAddons.title`)}),x(mt,{addons:t.value})]})})}function mt({addons:e}){return x(`div`,{class:`cart-add-ons__carousel`,children:x(`ul`,{class:`cart-add-ons__carousel-track`,children:e.map(e=>x(`li`,{children:x(`a`,{"aria-label":L(`cart.cartAddons.addOnAriaLabel`,{itemName:e.name,price:W(e.price)}),class:`cart-add-ons__card`,"data-name":`cart-add-ons__card`,"data-slice-event":`{"event": "clicked_menu_product", "page_location": "cart_addons", "product_id": "${e.id}", "best_seller": "${e.isBestSeller}"}`,href:`?item-id=${e.id}&category-id=${e.categoryId}`,children:[x(`div`,{class:`cart-add-ons__card-content`,children:[x(`span`,{class:`cart-add-ons__card-title`,"data-name":`cart-add-ons__card-title`,children:e.name}),x(`span`,{class:`cart-add-ons__card-price`,"data-name":`cart-add-ons__card-price`,children:W(e.price)})]}),x(`div`,{class:`cart-add-ons__card-button-wrapper`,children:x(`div`,{class:`cart-add-ons__card-button`,"data-name":`cart-add-ons__card-button`})})]})},e.id))})})}var ht=1,gt=99;function _t({itemName:e,onValueChange:t,pageLocation:n,value:r}){function i(e){let n=e.currentTarget;n.value===``&&(n.value=String(ht));let i=n.valueAsNumber;if(!Number.isInteger(i))return;let a=Math.min(gt,Math.max(ht,i));i!==a&&(n.value=String(a)),a!==r&&t(a)}function a(e){switch(e.key){case`+`:case`-`:case`.`:case`E`:case`e`:e.preventDefault();break;case`End`:e.preventDefault(),t(gt);break;case`Home`:e.preventDefault(),t(ht)}}return x(`div`,{"aria-label":L(`common.quantityControl.ariaLabel`,{itemName:e}),class:`quantity-control`,role:`group`,children:[x(`button`,{"aria-label":L(`common.quantityControl.decreaseAriaLabel`,{itemName:e}),class:`quantity-control__button quantity-control__button--decrease`,"data-slice-event":`{"event": "clicked_product_quantity", "page_location": "${n}", "button_name": "decrease"}`,disabled:r===ht,onClick:()=>{t(r-1)},type:`button`}),x(`input`,{"aria-label":L(`common.quantityControl.ariaLabel`,{itemName:e}),class:`quantity-control__input`,"data-slice-event":`{"event": "clicked_product_quantity", "page_location": "${n}", "button_name": "input"}`,inputMode:`numeric`,max:gt,min:ht,onInput:i,onKeyDown:a,step:`1`,type:`number`,value:r}),x(`button`,{"aria-label":L(`common.quantityControl.increaseAriaLabel`,{itemName:e}),class:`quantity-control__button quantity-control__button--increase`,"data-slice-event":`{"event": "clicked_product_quantity", "page_location": "${n}", "button_name": "increase"}`,disabled:r===gt,onClick:()=>{t(r+1)},type:`button`})]})}function vt({name:e,price:t}){return x(`li`,{class:`cart-item__modifier`,children:[e,t>0&&x(`p`,{class:`cart-item__modifier-price`,children:W(t)})]})}function yt({label:e,modifiers:t}){if(t.length)return x(`li`,{class:`cart-item__modifier-pizza`,children:[x(`p`,{class:`cart-item__modifier-pizza-label`,children:e}),x(`ul`,{class:`cart-item__modifier-pizza-modifiers`,children:t.map(e=>x(vt,{name:e.name,price:e.price}))})]})}function bt({modifiers:e}){if(e.length)return x(`li`,{class:`cart-item__modifiers--removal`,children:[x(`p`,{class:`cart-item__modifier-label--removal`,children:L(`cart.removalModifierItems.removeLabel`)}),x(`ul`,{class:`cart-item__modifier--removal`,children:e.map(e=>x(vt,{name:e.name,price:e.price},`${e.id}-${e.groupId}`))})]})}function xt({modifiers:e}){let t=[],n=[],r=[],i=[],a=[];for(let o of e)o.coverage===`left`?r.push(o):o.coverage===`right`?i.push(o):o.coverage===`whole`?a.push(o):o.allowRemoval?n.push(o):t.push(o);return e?.length?x(`ul`,{class:`cart-item__modifiers`,children:[t.map(e=>x(vt,{name:e.name,price:e.price},`${e.id}-${e.groupId}`)),x(yt,{label:L(`cart.itemModifiers.wholeLabel`),modifiers:a}),x(yt,{label:L(`cart.itemModifiers.leftHalfLabel`),modifiers:r}),x(yt,{label:L(`cart.itemModifiers.rightHalfLabel`),modifiers:i}),x(bt,{modifiers:n})]}):null}function St({announceItemEvent:e,entry:t,getCartEntryDetails:n,handleQuantityChangeItem:r,handleRemoveItem:i}){let a=n(t),o=a.itemPriceTotalWithDiscount<a.itemPriceTotal;function s(t){r(a.id,{quantity:t}),e(L(`cart.cartItem.quantityAnnouncement`,{itemName:a.itemName,quantity:t}))}function c(t){let n=t.currentTarget.closest(`.cart-item`),r=n?.nextElementSibling?.querySelector(`.cart-item__delete`),o=n?.previousElementSibling?.querySelector(`.cart-item__delete`),s=n?.closest(`.cart-items`);i(a.id),e(L(`cart.cartItem.removedAnnouncement`,{itemName:a.itemName})),window.requestAnimationFrame(()=>{let e=s?.querySelector(`.cart-items__empty-text`);(r??o??e)?.focus()})}return x(`div`,{class:`cart-item`,"data-slice-event":`{"event": "clicked_menu_product", "page_location": "cart", "product_id": "${a.itemId}", "best_seller": "${a.isBestSeller}"`,children:[x(`div`,{class:`cart-item__media`,children:a.imageUrl&&x(`
1img`,{alt:``,class:`cart-item__image`,loading:`lazy`,src:a.imageUrl})}),x(`div`,{class:`cart-item__text`,children:[x(`h3`,{class:`cart-item__title`,title:a.itemName,children:a.itemName}),x(`p`,{class:`cart-item__price`,children:[x(`span`,{class:o?`cart-item__price--discounted`:``,children:[o&&x(`span`,{class:`cart-item__price-description`,children:L(`cart.cartItem.originalPriceDescription`,{price:W(a.itemPriceTotal)})}),x(`span`,{"aria-hidden":o,children:W(a.itemPriceTotal)})]}),o&&x(`span`,{class:`cart-item__price--discount`,children:[x(`span`,{class:`cart-item__price-description`,children:L(`cart.cartItem.discountedPriceDescription`,{price:W(a.itemPriceTotalWithDiscount)})}),x(`span`,{"aria-hidden":`true`,children:W(a.itemPriceTotalWithDiscount)})]})]}),a.itemSize&&x(`p`,{class:`cart-item__type`,children:a.itemSize}),x(xt,{modifiers:a.modifiers}),a.notesForTheKitchen&&x(`p`,{class:`cart-item__notes`,children:a.notesForTheKitchen})]}),x(`div`,{class:`cart-item__actions`,children:[x(_t,{itemName:a.itemName,onValueChange:s,pageLocation:`cart`,value:a.itemQuantity}),x(`a`,{"aria-label":L(`cart.cartItem.editAriaLabel`,{itemName:a.itemName}),class:`cart-item__edit`,"data-slice-event":`{"event": "clicked_edit_item"}`,href:`?category-id=${a.categoryId}&item-id=${a.itemId}&cart-id=${a.id}`,children:x(`span`,{children:L(`cart.cartItem.editLabel`)})}),x(`button`,{"aria-label":L(`cart.cartItem.removeAriaLabel`,{itemName:a.itemName}),class:`cart-item__delete`,"data-slice-event":`{"event": "removed_product"}`,onClick:c,type:`button`,children:x(`span`,{children:L(`cart.cartItem.removeLabel`)})})]})]})}function Ct({dataLoadingStyling:e,orderFees:t}){let n=O(()=>t.value.delivery),r=O(()=>t.value.service),i=O(()=>!!(n.value||r.value)),a=O(()=>r.value===L(`cart.state.feeWaived`)||!r.value||t.value.isPercentageServiceFee?L(`cart.deliveryServiceFees.serviceFeeGeneralDescription`):L(`cart.deliveryServiceFees.serviceFeeFlatDescription`,{serviceFee:r.value}));return x(A,{when:i,children:x(`dl`,{class:`cart-items__fees ${e}`,children:[x(A,{when:n,children:x(`div`,{class:`cart-items__delivery-fee`,children:[x(`dt`,{"aria-describedby":`deliveryFeeId`,class:`cart-items__fee-label`,tabindex:0,children:[L(`cart.deliveryServiceFees.deliveryLabel`),` `,x(`div`,{class:`cart-items__fee-description`,id:`deliveryFeeId`,role:`tooltip`,children:L(`cart.deliveryServiceFees.deliveryFeeDescription`)})]}),` `,x(`dd`,{class:`cart-items__fee-amount`,children:n})]})}),x(A,{when:r,children:x(`div`,{class:`cart-items__service-fee`,children:[x(`dt`,{"aria-describedby":`serviceFeeId`,class:`cart-items__fee-label`,tabindex:0,children:[L(`cart.deliveryServiceFees.serviceFeeLabel`),` `,x(`div`,{class:`cart-items__fee-description`,id:`serviceFeeId`,role:`tooltip`,children:a})]}),` `,x(`dd`,{class:`cart-items__fee-amount`,children:r})]})})]})})}function wt({cartState:e,getCartEntryDetails:t}){let n=O(()=>e.entries.value.length===0),r=O(()=>e.entries.value.length>0),i=O(()=>e.errors.value.length>0),a=O(()=>e.entries.value.length>0&&!e.orderMinimum.value.isOrderMinimumMet&&!i.value),o=O(()=>e.isPricingLoading.value?`cart-items__data-loading`:``);return x(`div`,{class:`cart-items`,children:[x(`ol`,{class:`cart-items__list`,children:[x(E,{each:e.entries,children:n=>x(St,{announceItemEvent:e.announceItemEvent,entry:n,getCartEntryDetails:t,handleQuantityChangeItem:e.updateEntry,handleRemoveItem:e.removeEntry})}),x(A,{when:r,children:x(pt,{cartState:e})})]}),x(`output`,{"aria-live":`polite`,class:`cart-items__announcer`,children:e.itemEventMessage}),x(`output`,{class:`cart-items__summary`,children:[x(A,{when:n,children:x(`p`,{class:`cart-items__empty-text`,tabIndex:-1,children:L(`cart.cartItems.emptyText`)})}),x(Ct,{dataLoadingStyling:o,orderFees:e.orderFees}),x(A,{when:a,children:x(`p`,{class:`cart-items__minimum-order ${o}`,children:L(`cart.cartItems.minimumOrderNote`,{amount:W(e.orderMinimum.value.amountLeftToReachOrderMinimum)})})})]})]})}function Tt(e,t,n){let r=[],i=t.findItemByIds(n.categoryId,n.itemId);P(i,"Expected `item` to be defined!");let a=i.variants.find(e=>e.id===n.itemVariantId);P(a,"Expected `variant` to be defined!");let o=new Map(n.modifiers.map(e=>[[e.modifierGroupId,e.modiferVariantId].toString(),e]));for(let e of a.modifierGroups??[])for(let t of e.modifiers)for(let n of t.variants){let i=o.get([e.id,n.id].toString());i&&r.push({allowRemoval:t.allowRemoval,coverage:i.coverage,groupId:e.id,id:t.id,name:t.name,price:n.price})}let s=e.discountPercent??0,c=(a.price+r.reduce((e,t)=>
1e+t.price,0))*n.quantity,l=s&&s>0?c*(1-s/100):c;return{categoryId:n.categoryId,id:n.id,imageUrl:i.imageUrl,isBestSeller:!!i.isBestSeller,itemId:i.id,itemName:i.name,itemPriceTotal:c,itemPriceTotalWithDiscount:l,itemQuantity:n.quantity,itemSize:a.name,modifiers:r,notesForTheKitchen:n.instructions}}function Et(e){function t(t){return Tt(e.shop,e.menu,t)}function n(){let n=document.querySelectorAll(`[data-slice-landmark="cart-items"]`);for(let r of n){let n=j(r);b(v(B,null,v(wt,{cartState:e.cart,getCartEntryDetails:t,parent:n})),r)}}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,n,{once:!0}):n()}function Dt({cart:e}){C(()=>{K(re,e.entries.value)})}function Ot({cartState:e}){let t=O(()=>e.pricing.value.offeredShopDiscount>0),n=O(()=>e.pricing.value.subtotal+e.pricing.value.serviceFeeAmount+e.pricing.value.deliveryFee),r=O(()=>n.value-e.pricing.value.shopDiscountAmount);return x(A,{when:()=>n.value>0,children:x(`span`,{class:`cart-total__price`,children:[x(`span`,{class:t.value?`cart-total__price--discounted`:``,children:[t.value&&x(`span`,{class:`cart-total__price-description`,children:L(`cart.cartTotal.originalPriceDescription`,{price:W(n.value)})}),x(`span`,{"aria-hidden":t.value,children:W(n.value)})]}),x(A,{when:t,children:x(`span`,{class:`cart-total__price--discount`,children:[x(`span`,{"aria-hidden":`true`,children:L(`cart.cartTotal.discountLabel`,{percentage:e.pricing.value.offeredShopDiscount,price:W(r.value)})}),x(`span`,{class:`cart-total__price-description`,children:L(`cart.cartTotal.discountDescription`,{percentage:e.pricing.value.offeredShopDiscount,price:W(r.value)})})]})})]})})}function kt(e){function t(){let t=document.querySelectorAll(`[data-slice-landmark="cart-total"]`);for(let n of t)b(x(B,{children:x(Ot,{cartState:e.cart})}),n)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t,{once:!0}):t()}function At({cartState:e,storefrontOrigin:t,storefrontPath:n}){let r=O(()=>e.entries.value.length>0),i=O(()=>r&&e.pricing.value.subtotal>0),a=O(()=>{if(!r.value||e.isMagicCartIdLoading.value||e.isPricingLoading.value||(e.revalidate(),e.isCartInvalid.value))return``;let i=n.replace(`/menu`,`/checkout`),a=new URL(i,t);a.searchParams.set(`uuid`,`activity_v_1_${e.magicCartId.value}`),a.searchParams.set(`utm_campaign`,`direct_websites`);let o=G(`ajs_anonymous_id`);return o&&a.searchParams.set(`client_id`,o),window.location&&a.searchParams.set(`referred_from`,window.location.hostname),a.toString()});return x(A,{when:r,children:[x(E,{each:e.errors,children:(t,n)=>x(`span`,{class:`checkout-button__error ${e.isPricingLoading.value||e.isMagicCartIdLoading.value?`cart-items__data-loading`:``}`,children:t},n)}),x(A,{fallback:x(jt,{cartState:e,checkoutUrl:a,hasPrice:i}),when:a,children:x(jt,{cartState:e,checkoutUrl:a,hasPrice:i})})]})}function jt({cartState:e,checkoutUrl:t,hasPrice:n}){return x(`a`,{class:`checkout-button ${t.value?``:`checkout-button--disabled`} ${e.isPricingLoading.value||e.isMagicCartIdLoading.value?`cart-items__data-loading`:``}`,...t.value&&{"data-slice-event":`{"event": "clicked_proceed_to_checkout"}`},...t.value&&{href:t.value},children:[x(`span`,{class:`checkout-button__text`,children:L(`cart.checkoutButton.checkoutLabel`)}),x(A,{fallback:x(`span`,{class:`checkout-button__price`,children:`â`}),when:n,children:x(Ot,{cartState:e})}),x(`span`,{class:`checkout-button__item-count`,children:e.cartCount})]})}function Mt(e){function t(){let n=document.querySelectorAll(`[data-slice-landmark="checkout-button"]`),{storefrontOrigin:r}=R();for(let t of n)b(x(B,{children:x(At,{cartState:e.cart,storefrontOrigin:r,storefrontPath:e.shop.storefrontPath})}),t);document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Nt(e){Dt(e),Et(e),ft(e),kt(e),Mt(e)}var Pt=500;function Ft({form:e,id:t,shop:n}){let r=y(null),i=y(null),a=`${t}-address-input`,o=y(null),s=`${t}-apt-input`,c=y(null),l=`${t}-address-popover`,u=`${t}-address-listbox`,d=`${t}-address-error`,f=w(`initial`),p=w([]),m=O(()=>crypto.randomUUID()),h=y(),_=y(),v=w(!1),b=w(!1),C=w(-1);function D(e){return`${t}-option-${e}`}let k=O(()=>{let e=p.value[C.value];return e?D(e.id):void 0}),j=O(()=>f.value===`empty`),M=O(()=>f.value===`initial`),ee=O(()=>f.value===`loading`),N=O(()=>v.value?f.value===`loading`?L(`fulfillment.location.loading`):f.value===`empty`?L(`fulfillment.location.noResults`):f.value===`full`?L(`fulfillment.location.suggestionsAvailable`,{count:p.value.length}):``:``),P=O(()=>(e.blurred.delivery.value||e.isSubmitted.value)&&!b.value),F=O(()=>P.value&&e.errors.delivery.value.length>0),I=O(()=>P.value?e.errors.delivery.value:``),R=O(()=>F.value?d:void 0),z=O(()=>`fulfillment-form__address-options fulfillment-form__address-options--${f.value}`),B=O(()=>L(`fulfillment.location.legend`,{method:e.values.method.value})),te=O(()=>L(`fulfillment.location.changeApartment`,{hasApartment:!!e.values.delivery.value?.address.line2})),ne=O(()=>{if(e.values.method.value===`pickup`)return[n.address.street,L(`fulfillment.location.cityStateZip`,{city:n.address.city,state:n.address.state,zip:n.address.postalCode})];let t=e.values.delivery.value;if(t)return[t.address.line1,t.address.line2,L(`fulfillment.location.cityStateZip`,{city:t.address.city,state:t.address.state,zip:t.address.zipcode})]}),V=O(()=>e.values.method.value===`delivery`&&e.values.delivery.value===void 0),H=O(()=>e.values.method.value===`delivery`&&e.values.delivery.value!==void 0);S(()=>
1{let e=c.current;e&&e.togglePopover(v.value)}),S(()=>{V.value||T(()=>{v.value=!1,C.value=-1})}),S(()=>{let e=i.current;if(!e)return;let t=k.value;t?(e.setAttribute(`aria-activedescendant`,t),document.getElementById(t)?.scrollIntoView({block:`nearest`})):e.removeAttribute(`aria-activedescendant`)});function re(){T(()=>{v.value=!1,C.value=-1,e.setBlurred(`delivery`,!0)})}function U(t){if(t.ctrlKey||t.shiftKey)return;let n=p.value.length,r=C.value>=0,i=!1;switch(t.key){case`ArrowDown`:i=!0,n>0?t.altKey?v.value=!0:T(()=>{v.value=!0,C.value=r?(C.value+1)%n:0}):v.value||=!0;break;case`ArrowLeft`:case`ArrowRight`:case`Backspace`:case`End`:case`Home`:C.value=-1;break;case`ArrowUp`:i=!0,n>0?r?C.value=(C.value-1+n)%n:T(()=>{v.value=!0,t.altKey||(C.value=n-1)}):v.value||=!0;break;case`Enter`:if(i=!0,r){let e=p.value[C.value];e&&q(e)}else T(()=>{v.value=!1,C.value=-1});break;case`Escape`:i=!0,v.value?T(()=>{v.value=!1,C.value=-1}):T(()=>{p.value=[],f.value=`initial`,e.setValue(`address`,``)});break;case`Tab`:if(r){let e=p.value[C.value];e&&q(e)}}i&&t.preventDefault()}function W(){C.value=-1}function ie(){T(()=>{v.value=!v.value,C.value=-1})}function G({currentTarget:t}){let r=t.value;if(T(()=>{v.value=!0,C.value=-1,e.setValue(`address`,r)}),clearTimeout(h.current),_.current?.abort(`aborted`),r===``){T(()=>{p.value=[],f.value=`initial`});return}_.current=new AbortController,h.current=setTimeout(async()=>{T(()=>{p.value=[],f.value=`loading`});let e=await Pe({latitude:n.latitude,longitude:n.longitude,query:r,sessionToken:m.value},_.current?.signal);T(()=>{p.value=e,f.value=e.length>0?`full`:`empty`})},Pt)}function K(){e.setValue(`delivery`,void 0),window.requestAnimationFrame(()=>{i.current?.focus()})}function ae(){e.setEditingApartment(!e.isEditingApartment.value),e.isEditingApartment.value&&window.requestAnimationFrame(()=>{o.current?.focus()})}function oe({currentTarget:t}){e.values.delivery.value&&e.setValue(`delivery`,{...e.values.delivery.value,address:{...e.values.delivery.value.address,line2:t.value}})}async function q(t){T(()=>{v.value=!1,C.value=-1,b.value=!0}),e.setBlurred(`delivery`,!0);let a=await Fe({location:t.suggested_address,shopWebSlug:n.uuid});if(a.ok){let{delivery_address_info:t}=await a.json(),{building_number:n,city:i,state_code:o,street:s,zip_code:c}=t.location.address_details,l={city:i,line1:`${n} ${s}`,line2:``,state:o,zipcode:c};e.setValue(`delivery`,{address:l,minimum:t.minimum_order??0}),T(()=>{p.value=[],f.value=`initial`,b.value=!1}),window.requestAnimationFrame(()=>{r.current?.focus()})}else{let t=await Ie(a);e.setError(`delivery`,L(t)),b.value=!1,window.requestAnimationFrame(()=>{i.current?.focus()})}}return x(`fieldset`,{class:`fulfillment-form__location`,ref:r,tabIndex:-1,children:[x(`legend`,{class:`fulfillment-form__location-legend`,children:B}),x(A,{when:V,children:x(`div`,{class:`fulfillment-form__address`,children:[x(`label`,{class:`fulfillment-form__address-label`,htmlFor:a,children:L(`fulfillment.location.addressLabel`)}),x(`input`,{"aria-autocomplete":`list`,"aria-controls":u,"aria-describedby":R,"aria-expanded":v,"aria-invalid":F,autocomplete:`off`,autocorrect:`off`,class:`fulfillment-form__address-input`,id:a,name:`address`,onBlur:re,onClick:ie,onFocus:W,onInput:G,onKeyDown:U,ref:i,role:`combobox`,spellcheck:!1,type:`search`,value:e.values.address}),x(`span`,{"aria-live":`polite`,class:`fulfillment-form__address-error`,id:d,children:I})]})}),x(`output`,{class:`fulfillment-form__selected-address`,for:`${t}-method-delivery ${t}-method-pickup ${a}`,children:x(A,{when:ne,children:e=>x(g,{children:e.map(e=>x(`span`,{class:`fulfillment-form__selected-address-line`,children:e},e))})})}),x(A,{when:H,children:x(`button`,{"aria-label":L(`fulfillment.location.changeAddressAriaLabel`),class:`fulfillment-form__change-address-button`,onClick:K,type:`button`,children:L(`fulfillment.location.changeAddress`)})}),x(`span`,{"aria-live":`polite`,class:`fulfillment-form__address-status`,children:N}),x(`div`,{class:z,id:l,onMouseDown:e=>{e.preventDefault()},onPointerDown:e=>{e.preventDefault()},popover:`manual`,ref:c,children:[x(A,{when:M,children:x(`p`,{class:`fulfillment-form__address-message fulfillment-form__address-message--initial`,children:L(`fulfillment.location.typeToSearch`)})}),x(A,{when:ee,children:x(`p`,{class:`fulfillment-form__address-message fulfillment-form__address-message--loading`,children:L(`fulfillment.location.loading`)})}),x(A,{when:j,children:x(`p`,{class:`fulfillment-form__address-message fulfillment-form__address-message--empty`,children:L(`fulfillment.location.noResults`)})}),x(`ul`,{"aria-label":L(`fulfillment.location.suggestionsAriaLabel`),class:`fulfillment-form__address-listbox`,id:u,role:`listbox`,children:x(E,{each:p,children:e=>x(`li`,{"aria-selected":k.value===D(e.id)?`true`:void 0,class:`fulfillment-form__address-option`,id:D(e.id),onClick:()=>{q(e)},role:`option`,children:[x(`div`,{class:`fulfillment-form__address-option-line-1`,children:e.main_text}),x(`div`,{class:`fulfillment-form__address-option-line-2`,children:e.secondary_text})]},e.id)})})]}),x(A,{when:H,children:x(`div`,{class:`fulfillment-form__apt`,children:[x(`button`,{"aria-label":L(`fulfillment.location.changeApartmentAriaLabel`),class:`fulfillment-form__change-apt-button`,onClick:ae,type:`button`,children:te}),x(A,{when:e.isEditingApartment,children:x(`input`,{autocomplete:`off`,autocorrect:`off`,class:`fulfillment-form__apt-input`,id:s,onInput:oe,ref:o,spellcheck:!1,value:e.values.delivery.value?.address.line2})})]})})]})}function It({form:e,id:t,panelId:n,shop:r}){let i=y(null),a=y(null),o=r.delivery.isOffered,s=r.pickup.isOffered,c=O(()=>e.values.method.value===`delivery`),l=O(()=>e.values.method.value===`pickup`),u=O(()=>c.value?0:-1),d=O(()=>l.value?0:-1);function f(t){e.setValue(`method`,t)}function p(t){if(t.key===`ArrowLeft`||t.key===`ArrowRight`){let n=c.value?`pickup`:`delivery`;(n===`delivery`?o:s)&&(t.preventDefault(),e.setValue(`method`,n),(n===`delivery`?i:a).current?.focus())}}return x(`div`,{"aria-label":L(`fulfillment.method.ariaLabel`),class:`fulfillment-form__method`,onKeyDown:p,role:`tablist`,children:[x(`button`,{"aria-controls":n,"aria-selected":c,class:`fulfillment-form__method-tab`,"data-slice-event":`{"event": "clicked_dp_toggle", "page_location": "modal", "toggle_value": "delivery"}`,disabled:!o,id:`${t}-method-delivery`,onClick:()=>f(`delivery`),ref:i,role:`tab`,tabIndex:u,type:`button`,children:L(`fulfillment.method.deliveryLabel`)}),x(`button`,{"aria-controls":n,"aria-selected":l,class:`fulfillment-form__method-tab`,"data-slice-event":`{"event": "clicked_dp_toggle", "page_location": "modal", "toggle_value": "pickup"}`,disabled:!s,id:`${t}-method-pickup`,onClick:()=>f(`pickup`),ref:a,role:`tab`,tabIndex:d,type:`button`,children:L(`fulfillment.method.pickupLabel`)})]})}function Lt({eta:r,form:l,id:u,schedule:d,shop:f}){let h=`${u}-date-select`,g=`${u}-date-error`,_=`${u}-time-select`,v=`${u}-time-error`,b=y(null),C=y(null),w=f.timeZone,T=O(()=>l.values.timing.value===`asap`),D=O(()=>l.values.timing.value===`scheduled`),k=O(()=>{let{max:e,min:t}=r[l.values.method.value].value;return L(`fulfillment.scheduling.asapEta`,{max:e,min:t})}),j=O(()=>d[l.values.method.value].value),M=O(()=>j.value.currentEntry?.kind===`pausing`),ee=O(()=>!j.value.currentEntry),N=O(()=>M.value||ee.value),P=f.isSchedulingOffered,F=O(()=>{if(N.value){let e=j.value.nextOpening;if(e){let t=new p(`en-US`,{hour:`numeric`,hour12:!0,minute:`2-digit`,timeZone:f.timeZone});return L(`fulfillment.scheduling.asapUnavailableUntil`,{day:i(e.start,d.dates.value[0])?`today`:`tomorrow`,time:t.format(e.start.toDate())})}}}),I=O(()=>{let e=d.dates.value[0],t=new p(`en-US`,{day:`numeric`,month:`short`,timeZone:w,weekday:`short`,year:`numeric`}),n=[...j.value.entriesByDate.values()].flat().filter(e=>e.kind===`opening`),r=n.map(t=>{let r=t.start.hour===0&&t.start.minute===0&&n.some(e=>e.stop.add({minutes:1}).compare(t.start)===0)?t.start.subtract({days:1}):t.start;return{slots:t.slots,tradingDay:r.compare(e)<0?e:r}});return d.dates.value.map(e=>{let n=o(e).toString(),a=r.filter(t=>i(t.tradingDay,e)).flatMap(e=>e.slots),s=a.length>0,c=a.some(e=>e.isAvailable),l=t.format(e.toDate());return{isDisabled:!c,label:s&&!c?L(`fulfillment.scheduling.dateOptionFull`,{date:l}):l,slots:a,value:n}})}),R=O(()=>new Map(I.value.map(e=>[e.value,e.slots]))),z=O(()=>{let e=l.values.time.value;return e?I.value.find(t=>t.slots.some(t=>t.time.compare(e)===0))?.value??o(e).toString():``});S(()=>{b.current&&I.value&&(b.current.value=z.value)});let B=O(()=>{let e=new p(`en-US`,{hour:`numeric`,hour12:!0,minute:`2-digit`,timeZone:w,timeZoneName:s()===w?void 0:`short`});return(R.value.get(z.value)??[]).map(t=>{let n=e.format(t.time.toDate());return{isAvailable:t.isAvailable,label:t.isAvailable?n:L(`fulfillment.scheduling.timeOptionFull`,{time:n}),value:t.time.toAbsoluteString()}}).sort((e,t)=>
1e.value.localeCompare(t.value))}),te=O(()=>{let e=l.values.time.value;return e?e.toAbsoluteString():``});S(()=>{C.current&&B.value&&(C.current.value=te.value)});function ne(e){l.setValue(`timing`,e.currentTarget.value)}function V(r){let i=l.values.time.value,a=r.currentTarget.value,o=R.value.get(a)??[],s=o.filter(e=>e.isAvailable);try{let r=t(m(e(a),i?n(i):new c(0,0)),w),u=[...s.length>0?s:o].sort((e,t)=>e.time.compare(t.time)),d=u.find(e=>e.time.compare(r)>=0)??u.at(-1);l.setValue(`time`,d?.time??r)}catch{}}function H(e){try{l.setValue(`time`,a(e.currentTarget.value,w))}catch{}}return x(`fieldset`,{class:`fulfillment-form__scheduling`,children:[x(`legend`,{class:`fulfillment-form__scheduling-legend`,children:L(`fulfillment.scheduling.legend`)}),x(A,{when:F,children:e=>x(`div`,{class:`fulfillment-form__timing-notice`,children:e})}),x(`fieldset`,{class:`fulfillment-form__timing`,children:[x(`legend`,{class:`fulfillment-form__timing-legend`,children:L(`fulfillment.scheduling.timingLegend`)}),x(`label`,{class:`fulfillment-form__timing-label`,children:[x(`input`,{checked:T,class:`fulfillment-form__timing-input`,disabled:N,name:`timing`,onChange:ne,type:`radio`,value:`asap`}),x(`span`,{class:`fulfillment-form__timing-label-text`,children:[L(`fulfillment.scheduling.asapLabel`),x(`span`,{className:`fulfillment-form__timing-eta-text`,children:k})]})]}),x(A,{when:()=>P,children:x(`label`,{class:`fulfillment-form__timing-label`,children:[x(`input`,{checked:D,class:`fulfillment-form__timing-input`,name:`timing`,onChange:ne,type:`radio`,value:`scheduled`}),x(`span`,{class:`fulfillment-form__timing-label-text`,children:L(`fulfillment.scheduling.scheduleAheadLabel`)})]})})]}),x(A,{when:()=>P,children:[x(`div`,{class:`fulfillment-form__date`,children:[x(`label`,{class:`fulfillment-form__date-label`,htmlFor:h,children:L(`fulfillment.scheduling.dateLabel`)}),x(`select`,{"aria-describedby":g,"aria-invalid":!!l.errors.date.value,class:`fulfillment-form__date-select`,disabled:T,id:h,name:`date`,onChange:V,ref:b,value:z,children:x(E,{each:I,children:({isDisabled:e,label:t,value:n})=>x(`option`,{disabled:e,value:n,children:t})})})]}),x(`span`,{class:`fulfillment-form__datetime-error`,id:g,role:`alert`,children:l.errors.date.value}),x(`div`,{class:`fulfillment-form__time`,children:[x(`label`,{class:`fulfillment-form__time-label`,htmlFor:_,children:L(`fulfillment.scheduling.timeLabel`)}),x(`select`,{"aria-describedby":v,"aria-invalid":!!l.errors.time.value||!!l.errors.date.value,class:`fulfillment-form__time-select`,disabled:T,id:_,name:`date`,onChange:H,ref:C,value:te,children:x(E,{each:B,children:({isAvailable:e,label:t,value:n})=>x(`option`,{disabled:!e,value:n,children:t})})})]}),x(`span`,{class:`fulfillment-form__datetime-error`,id:v,role:`alert`,children:l.errors.time.value})]})]})}function Rt({eta:e,form:t,schedule:n,shop:r}){let i=_(),a=`${i}-method-panel`,o=O(()=>t.values.method.value===`pickup`?`${i}-method-pickup`:`${i}-method-delivery`);function s(e){e.preventDefault();let n=e.currentTarget;t.submit()?n.closest(`dialog`)?.close():n.querySelector(`[aria-invalid='true']`)?.focus()}return x(`form`,{className:`fulfillment-form`,id:i,onSubmit:s,children:[x(It,{form:t,id:i,panelId:a,shop:r}),x(`div`,{"aria-labelledby":o,class:`fulfillment-form__panel`,id:a,role:`tabpanel`,children:[x(Ft,{form:t,id:i,shop:r}),x(Lt,{eta:e,form:t,id:i,schedule:n,shop:r})]}),x(`button`,{"aria-disabled":!!t.errors.date.value||!!t.errors.time.value,class:`fulfillment-form__submit`,disabled:!!t.errors.date.value||!!t.errors.time.value,type:`submit`,children:L(`fulfillment.form.submitLabel`)})]})}function zt(e){function t(){let n=document.querySelectorAll(`[data-slice-landmark="fulfillment-form"]`),r=new Set;function i(e,t){for(let{addedNodes:i}of e)for(let e of i)e.nodeType===Node.ELEMENT_NODE&&(r.add(e),t.disconnect(),r.size===n.length&&V(async()=>{let{default:e}=await import(`./vendor/oddbird-css-anchor-positioning.js`).then(e=>e.t);return{default:e}},[],import.meta.url).then(({default:e})=>e({excludeInlineStyles:!0}
1)).catch(()=>console.error(`Could not polyfill anchor positioning.`)))}for(let t of n){let n=We(e.fulfillment,e.schedule),r=t.closest(`dialog`);r&&r.addEventListener(`beforetoggle`,t=>{t.newState===`open`&&n.reset(e.fulfillment.value)}),`anchorName`in document.documentElement.style||new MutationObserver(i).observe(t,{childList:!0}),b(x(B,{children:x(Rt,{eta:e.eta,form:n,schedule:e.schedule,shop:e.shop})}),t)}document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Bt({fulfillment:e}){function t(){C(()=>{let t=document.querySelectorAll(`[data-slice-landmark="fulfillment-method"]`),n=e.value.method,r=L(n===`delivery`?`fulfillment.method.deliveryLabel`:`fulfillment.method.pickupLabel`);for(let e of t)e.textContent=r}),document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Vt(e){C(()=>{let t=e.value;K(Ne,{...t,time:t.time?.toString()})})}function Ht({eta:e,fulfillment:t,shop:n}){function r(){C(()=>{let r=document.querySelectorAll(`[data-slice-landmark="fulfillment-timing"]`),i=t.value.method,a=t.value.time,o=t.value.timing,s=L(`fulfillment.timing.chooseTime`);if(o===`asap`){let t=e[i].value.min,n=e[i].value.max;s=L(`fulfillment.timing.eta`,{max:n,min:t})}else a&&(s=new p(`en-US`,{day:`numeric`,hour:`numeric`,hour12:!0,minute:`2-digit`,month:`short`,timeZone:n.timeZone}).format(a.toDate()));for(let e of r)e.textContent=s}),document.removeEventListener(`DOMContentLoaded`,r)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,r):r()}function Ut(e){Vt(e.fulfillment),zt(e),Bt(e),Ht(e)}function Wt(...e){return e.filter(e=>typeof e==`string`&&e.length).join(` `)}function Gt({date:e,method:t,schedule:n,shop:r}){let a=r.timeZone,o=O(()=>n[t].value),c=O(()=>o.value.entriesByDate.get(e)??[]),l=O(()=>c.value.filter(t=>t.kind===`opening`&&i(t.start,e))),u=O(()=>l.value.length===0),d=O(()=>{let t=c.value.at(0),n=o.value.currentEntry,r=n?.kind===`pausing`&&i(n.start,e)?n:t?.kind===`pausing`&&t.start.hour===0&&t.start.minute===0?t:void 0;if(r&&o.value.nextOpening?.start.compare(r.stop)===0)return r}),f=O(()=>(n[t===`delivery`?`pickup`:`delivery`].value.entriesByDate.get(e)??[]).length===0),m=new p(`en-US`,{hour:`numeric`,minute:`numeric`,timeZone:a,timeZoneName:s()===a?void 0:`short`});return x(A,{when:u,fallback:x(A,{when:d,fallback:x(E,{each:l,children:e=>x(`div`,{class:`schedule__hours`,children:[x(`time`,{dateTime:e.start.toAbsoluteString(),children:m.format(e.start.toDate())}),` `,`-`,` `,x(`time`,{dateTime:e.stop.toAbsoluteString(),children:m.format(e.stop.toDate())})]},e.toString())}),children:e=>x(`div`,{class:`schedule__unavailable`,children:[L(`hours.schedule.unavailableUntil`,{time:m.format(e.start.toDate())}),r.isSchedulingOffered&&x(`div`,{class:`schedule__note`,children:L(`hours.schedule.scheduledOrdersNote`)})]})}),children:x(`div`,{class:`schedule__closed`,children:x(A,{fallback:x(g,{children:L(`hours.schedule.noMethodAvailable`,{method:t})}),when:f,children:x(g,{children:L(`hours.schedule.closed`)})})})})}function Kt({date:e,method:t,schedule:n,shop:r}){let a=O(()=>n.dates.value[0]),o=O(()=>Wt(`schedule__day`,i(e,a.value)&&`schedule__day--today`)),s=new p(`en-US`,{timeZone:r.timeZone,weekday:`long`}),c=new p(`en-US`,{day:`numeric`,month:`short`,timeZone:r.timeZone,year:`numeric`});return x(`tr`,{class:o,children:[x(`th`,{class:`schedule__term`,scope:`row`,children:[x(`div`,{class:`schedule__day-of-week`,children:s.format(e.toDate())}),x(`time`,{class:`schedule__date`,dateTime:e.toString(),children:c.format(e.toDate())})]}),x(`td`,{class:`schedule__definition`,children:x(Gt,{date:e,method:t,schedule:n,shop:r})})]})}function qt({method:e,schedule:t,shop:n}){return x(`table`,{"aria-label":L(`hours.schedule.ariaLabel`,{method:e}),class:`schedule`,children:x(`tbody`,{children:x(E,{each:t.dates,children:r=>x(Kt,{date:r,method:e,schedule:t,shop:n},r.toString())})})})}function Jt(e){function t(){let n=document.querySelectorAll(`[data-slice-landmark="delivery-schedule"], [data-slice-landmark="pickup-schedule"]`);for(let t of n){let n=t.dataset.sliceLandmark?.startsWith(`delivery`)?`delivery`:`pickup`;b(x(B,{children:x(qt,{method:n,schedule:e.schedule,shop:e.shop})}),t)}document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Yt({opening:e,shop:t,today:n}){let r=t.timeZone,a=O(()=>e.value.start),o=O(()=>i(a.value,n.value)),c=O(()=>new p(`en-US`,{hour:`numeric`,minute:`numeric`,timeZone:r,timeZoneName:s()===r?void 0:`short`}).format(a.value.toDate())),l=O(()=>new p(`en-US`,{day:`numeric`,month:`short`,timeZone:r}).format(a.value.toDate())),u=O(()=>o.value?L(`hours.status.unavailableUntilOnDate`,{date:l.value,time:c.value}):L(`hours.status.unavailableUntil`,{time:c.value}));return x(g,{children:u})}function Xt({method:e,schedule:t,shop:n}){let r=O(()=>t.dates.value[0]),i=O(()=>t[e]?.value.currentEntry),a=O(()=>t[e]?.value.nextOpening),o=O(()=>i.value?.kind===`opening`),s=O(()=>n.isSchedulingOffered);return x(A,{when:o,fallback:x(A,{when:a,fallback:x(g,{children:L(`hours.status.unavailable`)}),children:x(A,{when:s,fallback:x(Yt,{opening:a,shop:n,today:r}),children:x(g,{children:L(`hours.status.scheduleAhead`)})})}),children:x(g,{children:L(`hours.status.acceptingOrders`)})})}function Zt(e){function t(){let n=document.querySelectorAll(`[data-slice-landmark="delivery-status"], [data-slice-landmark="pickup-status"]`);for(let t of n){let n=t.dataset.sliceLandmark?.startsWith(`delivery`)?`delivery`:`pickup`;b(x(B,{children:x(Xt,{method:n,schedule:e.schedule,shop:e.shop})}),t)}document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Qt(e){Jt(e),Zt(e)}function $t(e){let t=e.tagName===`IMG`?[e]:e.querySelectorAll(`img`);for(let e of t)e.addEventListener(`load`,function(){this.dataset.loaded=`true`}
1),e.complete&&e.naturalWidth>0&&(e.dataset.loaded=`true`)}function en(){let e=new MutationObserver(e=>{for(let{addedNodes:t}of e)for(let e of t)e.nodeType===Node.ELEMENT_NODE&&$t(e)});$t(document.body),e.observe(document.documentElement,{childList:!0,subtree:!0})}function tn(){en()}function nn({message:e}){return x(`output`,{"aria-live":`polite`,class:`item-configurator__announcer`,children:e})}function rn(e){return e.map(([,e])=>e)}function an({cartState:e,form:t,item:n}){let r=O(()=>{if(!n.value)return 0;let r=`${n.value.category.id}-${n.value.id}`,i=e.countByCategoryAndItemIds.value.get(r)??0;if(t.cartEntryId.value){let n=e.entries.value.find(e=>e.id===t.cartEntryId.value);if(n)return i-n.quantity}return i});return x(A,{when:()=>r.value>0,children:x(`div`,{class:`cart-indicator`,children:[x(`strong`,{class:`cart-indicator__quantity`,children:L(`itemConfigurator.cartQuantityIndicator.summary`,{count:r.value})}),x(`button`,{class:`cart-indicator__button`,command:`--view-cart`,commandfor:`slice-command-receiver`,type:`button`,children:L(`itemConfigurator.cartQuantityIndicator.viewOrder`)})]})})}function on({id:e,message:t}){return x(`p`,{"aria-live":`polite`,class:`item-configurator__error`,id:e,role:`alert`,children:t})}var sn={left:{value:`left`},right:{value:`right`},whole:{value:`whole`}};function cn({form:e,isReward:t,key:n,modifierGroup:r,rewardFreeModifierGroupNames:i}){let a=r.maxSelect,o=a===1?`radio`:`checkbox`,s=r.minSelect>0,c=_(),l=`${c}-modifier-group-description`,u=`${c}-modifier-group-error`,d=`${c}-${o}`,f=O(()=>e.blurred.modifierGroups.value.has(r.id)||e.isSubmitted.value),p=O(()=>e.errors.modifierGroups.value.get(r.id)??``),m=O(()=>f.value&&p.value.length>0),h=e.values.selectedModifierGroupIdsAndVariantIds.value,v=r.id;function y(e){return(r.modifiers.find(t=>t.id===e)?.variants??[]).sort((e,t)=>e.coverage.localeCompare(t.coverage,`en`,{sensitivity:`base`}))}function b(e){let t=r.modifiers.find(t=>t.id===e)?.variants.map(e=>e.id)??[];return h.find(([e,n])=>e===v&&t.includes(n))?.[1]}function S(t,n){let i=r.modifiers.find(e=>e.id===t),a=i?i.variants.map(e=>e.id):[],o=h.filter(([e,t])=>!(e===v&&a.includes(t)));e.setValue(`selectedModifierGroupIdsAndVariantIds`,n?[...o,[v,n]]:o)}function C(t){let n=h.filter(([e])=>e!==v),r=y(t).find(e=>e.coverage===`whole`)?.id;e.setValue(`selectedModifierGroupIdsAndVariantIds`,r?[...n,[v,r]]:n)}function w(e){if(k(e))S(e);else{let t=y(e).find(e=>e.coverage===`whole`)?.id;S(e,t)}}function T(e,t){S(e,t)}function E(e){return r.minimumCoverageType===`half`&&k(e)}function D(e){let t=r.modifiers.find(t=>t.id===e)?.variants??[],n=b(e);return n?t.find(e=>e.id===n)?.price:t.find(e=>e.coverage===`whole`)?.price}function k(e){return b(e)!==void 0}function A(e,t){let n=y(e).find(e=>e.coverage===t),r=b(e);return!r&&t===`whole`||n?.id===r}return x(`fieldset`,{"aria-describedby":`${l}${m.value?` ${u}`:``}`,"aria-invalid":m.value,class:`item-configurator__modifier-group`,children:[x(`legend`,{class:`item-configurator__modifier-group-title`,children:r.name}),s&&x(`p`,{class:`item-configurator__modifier-group-description`,id:l,children:a===void 0?L(`itemConfigurator.modifierGroups.selectAtLeastOne`):a===1?L(`itemConfigurator.modifierGroups.selectOnlyOne`):L(`itemConfigurator.modifierGroups.selectUpTo`,{maxSelect:a})}),f.value&&p.value&&x(on,{id:u,message:p.value}),r.modifiers.map(n=>x(g,{children:[x(`label`,{class:`item-configurator__modifier-group-label`,children:[x(`input`,{"aria-invalid":m.value,"aria-required":s,checked:k(n.id),class:`item-configurator__${o}-input`,disabled:n.isOutOfStock,name:d,onBlur:()=>e.setBlurred(`selectedModifierGroupIdsAndVariantIds`,r.id),onChange:()=>o===`radio`?C(n.id):w(n.id),type:o,value:n.id}),x(`span`,{class:`item-configurator__${o}-label`,children:n.name}),(()=>
1{let e=D(n.id),a=t.value&&i?.value.has(r.name);return e!==0&&!a&&x(`span`,{class:`item-configurator__modifier-group-price`,children:[`+ `,W(e??0)]})})()]},n.id),E(n.id)&&x(`div`,{class:`item-configurator__modifier-group-coverage`,children:y(n.id).map(({coverage:e,id:t})=>{let r=sn[e],i=A(n.id,e);return x(`label`,{class:`item-configurator__modifier-group-coverage-label item-configurator__modifier-group-coverage-label--${r.value}`,children:[x(`input`,{checked:i,class:`item-configurator__modifier-group-coverage-radio`,disabled:n.isOutOfStock,name:`${n.id}_coverageType`,onChange:()=>T(n.id,t),type:`radio`,value:t}),L(`itemConfigurator.modifierGroups.coverageLabel`,{coverage:r.value})]},t)})})]}))]},n)}var ln=500;function un({cartState:e,form:t,isReward:n,item:r,modalRef:i,rewardFreeModifierGroupNames:a,rewardModifierGroupNames:o,rewardPointsRequired:s,rewardUnavailableUntil:c}){let l=_(),u=`${l}-entry`,d=`${l}-variants-description`,f=`${l}-variants-error`,p=`${l}-notes-description`,m=`${l}-notes-legend`,h=O(()=>r.value?.isOutOfStock.value??!1),g=O(()=>!n.value),v=O(()=>r.value?.isBestSeller??!1),b=O(()=>n.value&&c.value!==null),C=O(()=>{if(!r.value?.category?.schedules?.length)return;let e=r.value.category.schedules,t={};for(let n of e){if(!n?.startTime||!n?.endTime||!n?.dayOfWeek)continue;let e=`${n.startTime} - ${n.endTime}`;t[e]||(t[e]=[]),t[e].push(n.dayOfWeek)}let n=Object.keys(t);if(n.length!==0)return n.map(e=>`${(t[e]??[]).join(`, `)} ${e}`).join(`, `)}),T=O(()=>t.blurred.variant.value||t.isSubmitted.value),D=O(()=>T.value&&t.errors.variant.value.length>0),k=O(()=>r.value?.variants??[]),j=O(()=>{let e=t.values.selectedVariantId.value??k.value[0]?.id,r=k.value.find(t=>t.id===e)?.modifierGroups??[];return n.value?r.filter(e=>o.value.has(e.name)):r}),M=O(()=>{let e=new Map;for(let t of j.value??[])for(let n of t?.modifiers??[])for(let t of n?.variants??[])e.set(t.id,t);return e}),ee=O(()=>{let e=new Map;for(let t of j.value??[]){let n=t?.minimumCoverageType;for(let r of t?.modifiers??[])for(let t of r?.variants??[])e.set(t.id,n)}return e}),N=O(()=>r.value?.variants.find(e=>e.id===t.values.selectedVariantId.value)?.price??0),P=O(()=>{if(!t.values.selectedVariantId.value)throw Error(`Unable to compute item price`);let e=t.values.quantity.value??1,r=0;if(!n.value)r=rn(t.values.selectedModifierGroupIdsAndVariantIds.value).reduce((e,t)=>e+(M.value.get(t)?.price??0),0);else if(n.value&&a.value.size<o.value.size){let e=t.values.selectedModifierGroupIdsAndVariantIds.value;for(let[t,n]of e){let e=j.value.find(e=>e.id===t),i=e&&a.value.has(e.name),o=M.value.get(n)?.price??0;e&&!i&&(r+=o)}}return W(((n.value?0:N.value)+r)*e)});function F(){if(!r.value)return;if(!t.submit()){setTimeout(()=>{let e=i.current?.querySelector(`[aria-invalid="true"]`);e&&e.scrollIntoView({behavior:`smooth`,block:`center`})},0);return}let a=t.values.selectedVariantId.value;if(a===null)return;if(n.value){i.current?.closest(`dialog`)?.close();return}let o=t.values.selectedModifierGroupIdsAndVariantIds.value.map(e=>{let t=e[0],n=e[1],r=M.value.get(n);return{coverage:ee.value.get(n)===`half`?r?.coverage??`whole`:void 0,modiferVariantId:n,modifierGroupId:t}}),s=t.cartEntryId.value,c={categoryId:r.value.category.id,id:s??u,instructions:t.values.notes.value,itemId:r.value.id,itemVariantId:a,modifiers:o,quantity:t.values.quantity.value},l=r.value.name,d=L(s?`itemConfigurator.form.itemUpdated`:`itemConfigurator.form.itemAddedToCart`,{itemName:l});s?e.updateEntry(s,c):e.addEntry(c),e.announceItemEvent(d),i.current?.closest(`dialog`)?.close()}let I=w(``),R=y(null),z=y(null);return S(()=>{let e=P.value;if(R.current===null){R.current=e;return}R.current!==e&&(z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{I.value=L(`itemConfigurator.form.totalPriceAnnouncement`,{price:e}),R.current=e},ln))}),r.value?.id?x(`form`,{class:`item-configurator__container`,onSubmit:e=>{e.preventDefault(),F()},children:[x(`fieldset`,{class:`item-configurator__left`,disabled:h,children:[x(`div`,{class:`item-configurator__image-container`,children:r.value?.imageUrl&&x(`img`,{alt:r.value?.name,class:`item-configurator__image`,loading:`lazy`,src:r.value?.imageUrl+`?fit=crop&w=490`})}),x(`div`,{class:`item-configurator__content`,children:[x(`div`,{class:`item-configurator__price-section`,children:[x(A,{when:g,children:x(`p`,{class:`item-configurator__price`,children:W(N.value)})}),x(A,{when:b,children:x(`p`,{class:`item-configurator__reward-unavailable-message`,children:L(`itemConfigurator.form.rewardUnavailableFor`,{schedule:C.value})})}),x(A,{when:n,children:x(`p`,{class:`item-configurator__reward-tag`,children:[x(`span`,{"aria-hidden":`true`,class:`loyalty-icon item-configurator__reward-tag__icon`}),x(`span`,{children:L(`itemConfigurator.form.rewardTag`)})]})}),x(`p`,{class:`item-configurator__description`,children:r.value?.description}),x(A,{when:v,children:x(`span`,{class:`menu-item__badge`,children:L(`common.menuItem.bestSeller`)})})]}),x(`div`,{class:`item-configurator__quantity-section`,children:x(A,{when:g,children:x(_t,{itemName:r.value.name,onValueChange:e=>{t.setValue(`quantity`,e)},pageLocation:`modal`,value:t.values.quantity.value})})}),x(an,{cartState:e,form:t,item:r}),x(A,{when:h,children:x(`span`,{class:`item-configurator__out-of-stock`,children:L(`itemConfigurator.form.outOfStock`)})}),x(`button`,{class:`item-configurator__add-to-order-button`,"data-slice-event":`{"event": "added_product", "product_id": "${r.value?.id}", "best_seller": "${v.value}"`,children:[x(`span`,{class:`item-configurator__add-to-order-button-text`,children:L(`itemConfigurator.form.addToOrder`)}),x(`span`,{class:`item-configurator__add-to-order-button-total`,children:P.value})]}),x(A,{when:n,children:x(`p`,{class:`item-configurator__points-note`,children:L(`itemConfigurator.form.rewardPointsNote`,{points:s.value??0})})}),x(`output`,{"aria-live":`polite`,class:`item-configurator__price-announcer`,children:I})]})]}),x(`div`,{class:`item-configurator__divider`}),x(`fieldset`,{class:`item-configurator__right`,disabled:h,children:[x(`fieldset`,{"aria-describedby":`${d}${D.value?` ${f}`:``}`,"aria-invalid":D.value,class:`item-configurator__variants`,children:[x(`legend`,{class:`item-configurator__variants-legend`,children:L(`itemConfigurator.form.variantsLegend`)}),x(`p`,{class:`item-configurator__variants-description`,id:d,children:L(`itemConfigurator.form.variantsSelectOnlyOne`)}),T.value&&t.errors.variant.value&&x(on,{id:f,message:t.errors.variant.value}),x(E,{each:k,children:e=>x(`label`,{class:`item-configurator__radio-label`,children:[x(`input`,{"aria-invalid":D.value,checked:t.values.selectedVariantId.value===e.id,class:`item-configurator__radio-input`,disabled:e.isOutOfStock,name:`variant`,onBlur:()=>t.setBlurred(`selectedVariantId`,!0),onChange:()=>{t.setValue(`selectedVariantId`,e.id)},required:!0,type:`radio`,value:e.id}),x(`span`,{class:`item-configurator__radio-label-text`,children:e.name}),x(A,{when:e.isOutOfStock,children:L(`itemConfigurator.form.variantOutOfStock`)})]},e.id)})]}),x(`div`,{class:`item-configurator__modifier-groups`,children:x(E,{each:j,children:e=>x(cn,{form:t,isReward:n,modifierGroup:e,rewardFreeModifierGroupNames:a},e.id)})}),x(`fieldset`,{class:`item-configurator__notes`,children:[x(`legend`,{class:`item-configurator__notes-legend`,id:m,children:L(`itemConfigurator.form.notesLegend`)}),x(`p`,{class:`item-configurator__notes-description`,id:p,children:L(`itemConfigurator.form.notesDescription`)}),x(`textarea`,{"aria-describedby":p,"aria-labelledby":m,class:`item-configurator__notes-textarea`,onInput:e=>{let n=e.currentTarget.value;t.setValue(`notes`,n)},value:t.values.notes.value})]})]})]}):null}function dn({cartState:e,form:t,isReward:n,item:r,rewardFreeModifierGroupNames:i,rewardModifierGroupNames:a,rewardPointsRequired:o,rewardUnavailableUntil:s}){let c=y(null);return r.value?.id?x(`div`,{class:`item-configurator__modal`,ref:c,children:[x(`div`,{class:`dialog__header text-6`,children:[x(`h2`,{class:`dialog__title title-7`,children:r.value?.name}
1),x(`button`,{"aria-label":L(`itemConfigurator.modal.closeAriaLabel`),class:`dialog__close`,onClick:()=>{(c.current?.closest(`dialog`))?.close()},children:x(`span`,{children:L(`itemConfigurator.modal.close`)})})]}),x(`div`,{class:`dialog__content`,children:x(un,{cartState:e,form:t,isReward:n,item:r,modalRef:c,rewardFreeModifierGroupNames:i,rewardModifierGroupNames:a,rewardPointsRequired:o,rewardUnavailableUntil:s})})]},r.value?.id):x(`div`,{children:L(`itemConfigurator.modal.loading`)})}function fn(e,t){let n=j(e),r=j(!1),i=j(``),a=j(1),o=j(null),s=j(new Set),c=j(new Set),l=j(null),u=j([]),d=j(null),f=j(null),p=j(``),m=j(new Map),h=j(!1),g=j(new Set),_=j(!1);C(()=>{let e=n.value;if(!e?.id){T(()=>{i.value=``,a.value=1,o.value=null,s.value=new Set,c.value=new Set,l.value=null,u.value=[],d.value=null,f.value=null,p.value=``,m.value=new Map,h.value=!1,g.value=new Set,_.value=!1});return}if(y())return;let t=e.variants.find(e=>!e.isOutOfStock.value)?.id??e.variants[0]?.id??null;d.value=t,D(()=>u.value.length===0)&&(u.value=v(e,t))});function v(e,t){let n=[];if(t===null)return[];let r=e.variants.find(e=>e.id===t)?.modifierGroups??[];for(let e of r)for(let t of e.modifiers){if(!t.isDefault)continue;let r=t.variants.find(e=>e.coverage===`whole`)??t.variants[0];r&&n.push([e.id,r.id])}return n}function y(){let e=new URLSearchParams(window.location.search).get(`cart-id`),n=e&&t.entries.value.find(t=>t.id===e);return n?(T(()=>{f.value=n.id,d.value=n.itemVariantId??null,u.value=u.value=(n.modifiers??[]).map(e=>[e.modifierGroupId,e.modiferVariantId]),a.value=n.quantity??1,i.value=n.instructions??``}),!0):(f.value=null,!1)}function b(e,t){let r=new Set(u.value.map(([e,t])=>`${e}|${t}`)),i=[];if(e===t||r.size===0)return;let a=n.value?.variants.find(t=>t.id===e),o=n.value?.variants.find(e=>e.id===t);if(!a||!o)return;let s=new Map;for(let e of o.modifierGroups??[]){let t=new Map;for(let n of e.modifiers??[]){let r=new Map;for(let t of n.variants??[])r.set(t.coverage,{groupId:e.id,modifierVariantId:t.id});t.set(n.name,r)}s.set(e.name,t)}for(let e of a.modifierGroups??[])for(let t of e.modifiers??[])for(let n of t.variants??[]){let a=`${e.id}|${n.id}`;if(!r.has(a))continue;let o=(s.get(e.name)?.get(t.name))?.get(n.coverage);o?.groupId&&o?.modifierVariantId&&i.push([o.groupId,o.modifierVariantId])}u.value=i}function x(e,t){if(e===`selectedVariantId`)h.value=t;else if(e===`selectedModifierGroupIdsAndVariantIds`&&typeof t==`number`){let e=new Set(g.value);e.add(t),g.value=e}}function S(e,t){if(!e)return!1;let n=!0;if((!t||t===`selectedVariantId`)&&(d.value===null?(p.value=L(`itemConfigurator.errors.chooseOption`),n=!1):p.value=``),!t||t===`selectedModifierGroupIdsAndVariantIds`){let t=e.variants.find(e=>e.id===d.value)?.modifierGroups??[],r=new Set(rn(u.value)),i=new Map;for(let e of t){let t=e.modifiers.flatMap(e=>e.variants.map(e=>e.id)).filter(e=>r.has(e)).length;if(t<e.minSelect){let t=L(`itemConfigurator.errors.selectAtLeast`,{count:e.minSelect});i.set(e.id,t),n=!1}else if(typeof e.maxSelect==`number`&&t>e.maxSelect){let t=L(`itemConfigurator.errors.selectAtMost`,{count:e.maxSelect});i.set(e.id,t),n=!1}}m.value=i}return n}function w(){let e=S(n.value);return _.value=!0,e}function E(e,t){T(()=>{if(e===`notes`)i.value=t??``;else if(e===`quantity`)a.value=t??1;else if(e===`selectedModifierGroupIdsAndVariantIds`)u.value=t??[];else if(e===`selectedVariantId`){let e=d.value,n=t??null;d.value=n,e!==null&&n!==null&&b(e,n)}_.value&&(e===`selectedVariantId`||e===`selectedModifierGroupIdsAndVariantIds`)&&S(n.value,e)})}return{blurred:{modifierGroups:k(()=>g.value),variant:k(()=>h.value)},cartEntryId:f,errors:{modifierGroups:k(()=>m.value),variant:k(()=>p.value)},isReward:r,isSubmitted:k(()=>_.value),item:n,rewardFreeModifierGroupNames:c,rewardModifierGroupNames:s,rewardPointsRequired:o,rewardUnavailableUntil:l,setBlurred:x,setValue:E,submit:w,validate:S,values:{notes:k(()=>i.value),quantity:k(()=>a.value),selectedModifierGroupIdsAndVariantIds:k(()=>u.value),selectedVariantId:k(()=>d.value)}}}var $=`item-id`,pn=`is-reward`;
1function mn(e){return e?{all:new Set(e.modifierGroups.map(e=>e.name).filter(e=>e!==void 0)),free:new Set(e.modifierGroups.filter(e=>e.free).map(e=>e.name).filter(e=>e!==void 0))}:{all:new Set,free:new Set}}function hn(e){let t=document.querySelector(`dialog[sc-landmark="item-configuration"]`),n=fn(null,e.cart);function r(e){let n=e.target?.closest(`a[href*="${$}="]`);if(!n)return;let r=new URL(n.getAttribute(`href`)||``,window.location.href);if(r.pathname===window.location.pathname){e.preventDefault();let n=r.searchParams.get($);r.searchParams.get(`category-id`)&&n&&(history.pushState({[$]:n},``,`${r.pathname}${r.search}${r.hash}`),t?.showModal())}}function i(t){let r=new URL(window.location.href),i=Number(r.searchParams.get($)),a=Number(r.searchParams.get(`category-id`)),o=t.newState===`open`,s=e.menu.findItemByIds(a,i);if(o&&s){let t=r.searchParams.get(pn)===`true`&&!!e.loyalty?.isEnabled&&e.loyalty.rewardsByMenuItemId.has(i);if(n.isReward.value=t,t){let t=e.loyalty?.rewardsByMenuItemId.get(i),{all:r,free:a}=mn(t);if(t){let e={...s,variants:s.variants.filter(e=>e.id===t.allowedVariantId)};n.item.value=e,n.rewardPointsRequired.value=t.pointsRequired??null;let r=e.category?.schedules?.some(e=>e?.startTime&&e?.endTime&&e?.dayOfWeek);n.rewardUnavailableUntil.value=r?`pending`:null}else n.item.value=s,n.rewardPointsRequired.value=null,n.rewardUnavailableUntil.value=null;n.rewardModifierGroupNames.value=r,n.rewardFreeModifierGroupNames.value=a}else n.item.value=s,n.rewardPointsRequired.value=null,n.rewardModifierGroupNames.value=new Set,n.rewardFreeModifierGroupNames.value=new Set,n.rewardUnavailableUntil.value=null}else if(i!==null){o&&t.preventDefault(),r.searchParams.delete($),r.searchParams.delete(`category-id`),r.searchParams.delete(`cart-id`),r.searchParams.delete(pn);let e=r.searchParams.toString();history.replaceState({},``,`${r.pathname}${e?`?${e}`:``}${r.hash}`),n.isReward.value=!1,n.item.value=null}}function a(){new URL(window.location.href).searchParams.get($)?t?.showModal():t?.close()}if(document.addEventListener(`click`,r),t?.addEventListener(`beforetoggle`,i),window.addEventListener(`popstate`,a),a(),t){b(v(B,null,v(dn,{cartState:e.cart,form:n,isReward:n.isReward,item:n.item,rewardFreeModifierGroupNames:n.rewardFreeModifierGroupNames,rewardModifierGroupNames:n.rewardModifierGroupNames,rewardPointsRequired:n.rewardPointsRequired,rewardUnavailableUntil:n.rewardUnavailableUntil})),t);let r=document.createElement(`div`);t.after(r),b(v(B,null,v(nn,{message:e.cart.itemEventMessage})),r)}else{function r(){b(v(B,null,v(dn,{cartState:e.cart,form:n,isReward:n.isReward,item:n.item,rewardFreeModifierGroupNames:n.rewardFreeModifierGroupNames,rewardModifierGroupNames:n.rewardModifierGroupNames,rewardPointsRequired:n.rewardPointsRequired,rewardUnavailableUntil:n.rewardUnavailableUntil})),t),document.removeEventListener(`DOMContentLoaded`,r)}document.addEventListener(`DOMContentLoaded`,r)}}function gn(e,t){let n=document.querySelectorAll(`a[href*="item-id=${e}"]`);for(let e of n)t?e.classList.add(`out-of-stock`):e.classList.remove(`out-of-stock`)}function _n(e){function t(){for(let t of e.menu.categories)for(let e of t.items)C(()=>gn(e.id,e.isOutOfStock.value))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function vn({item:{category:e,description:t,id:n,imageUrl:r,isBestSeller:i,isOutOfStock:a,name:o,price:s}}){let c=O(()=>Wt(`menu-item`,a.value&&`out-of-stock`));return x(`a`,{"aria-label":L(`common.menuItem.ariaLabel`,{name:o}),class:c,"data-slice-event":`{"event": "clicked_menu_product", "page_location": "search", "product_id": "${n}", "best_seller": 2 "${i}"`,href:`?category-id=${e.id}&item-id=${n}`,children:[x(`div`,{"aria-label":o,class:`menu-item__media`,role:`img`,children:r&&x(`img`,{alt:``,class:`menu-item__image`,loading:`lazy`,src:r})}),x(`div`,{class:`menu-item__text`,children:[i&&x(`div`,{class:`menu-item__badge`,children:L(`common.menuItem.bestSeller`)}),x(`p`,{class:`menu-item__title`,children:o}),x(`p`,{class:`menu-item__price`,children:W(s)}),x(A,{when:a,children:x(`div`,{class:`menu-item__out-of-stock`,children:L(`common.menuItem.outOfStock`)})}),t&&x(`p`,{class:`menu-item__description`,children:t})]}),x(`span`,{class:`menu-item__button`,"data-category-id":e.id,"data-item-id":n,"data-slice-landmark":`cart-count`})]})}function yn({menu:e}){let t=_(),n=y(null),r=`${t}-input`,i=`${t}-results`,a=w(),o=y(),s=y(!1),c=w(``),l=O(()=>e.searchItemsByText(c.value)),u=O(()=>c.value.trim().length>0),d=O(()=>l.value.length>0),f=O(()=>u.value&&!d.value),p=w(``);S(()=>{let e=l.value,t=u.value?e.length===0?L(`menu.menuSearch.noResults`):L(`menu.menuSearch.resultsFound`,{count:e.length}):``;clearTimeout(o.current),o.current=setTimeout(()=>{if(!t){p.value=``;return}s.current=!s.current,p.value=s.current?`${t}\u200B`:t},1e3)});function m(e){clearTimeout(a.value),a.value=setTimeout(()=>{c.value=e.target?.value??``},150)}return S(()=>{(n.current?.closest(`dialog`))?.addEventListener(`beforetoggle`,e=>
2{e.newState===`closed`&&(clearTimeout(a.value),clearTimeout(o.current),T(()=>{c.value=``,p.value=``}))})}),x(`search`,{"aria-label":L(`menu.menuSearch.ariaLabel`),class:`menu-search`,ref:n,children:[x(`label`,{class:`menu-search__label`,htmlFor:r,children:L(`menu.menuSearch.label`)}),x(`div`,{class:`menu-search__input-group`,role:`group`,children:x(`input`,{"aria-controls":i,autofocus:!0,class:`menu-search__input`,id:r,onInput:m,placeholder:L(`menu.menuSearch.placeholder`),type:`search`,value:c.value})}),x(`div`,{"aria-atomic":`true`,"aria-live":`polite`,class:`menu-search__status`,role:`status`,children:p}),x(A,{when:d,children:x(`ol`,{class:`menu-search__results`,id:i,children:x(E,{each:l,children:e=>x(`li`,{class:`menu-search__item`,children:x(vn,{item:e})},e.id)})})}),x(A,{when:f,children:x(`div`,{class:`menu-search__no-results`,children:L(`menu.menuSearch.noResults`)})})]})}function bn(e){function t(){let n=document.querySelectorAll(`[data-slice-landmark="menu-search"]`);for(let t of n)b(x(B,{children:x(yn,{menu:e.menu})}),t);document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function xn(e){bn(e),_n(e)}var Sn=j(null);async function Cn(){let e=Sn.value;if(e)try{await e.prompt(),(await e.userChoice).outcome===`accepted`?console.log(`User accepted the A2HS prompt`):console.log(`User dismissed the A2HS prompt`),Sn.value=null}catch(e){console.error(`Error triggering install prompt:`,e)}}var wn=`app_banner_dismissed_at`,Tn=864e5;function En(){let e=G(wn);return!e||typeof e!=`number`?!1:Date.now()-e<Tn}function Dn(){return/Chrome|CriOS/i.test(navigator.userAgent)}function On({shopId:e}){let t=w(!En()),n=y(null);h(()=>{let e=n.current?.closest(`[data-slice-landmark="mobile-app-banner"]`);e&&e.classList.add(`is-ready`)},[]);function r(){K(wn,Date.now()),t.value=!1;let e=n.current?.closest(`[data-slice-landmark="mobile-app-banner"]`);e&&(e.style.display=`none`)}async function i(){if(Sn.value&&Dn())await Cn(),r();else{let t=kn({shopId:e.toString()});window.location.href=t}}return t.value?x(`div`,{class:`mobile-app-banner`,ref:n,children:[x(`div`,{class:`mobile-app-banner__title-container`,children:[x(`div`,{class:`mobile-app-banner__image`}),x(`div`,{children:[x(`p`,{class:`mobile-app-banner__title`,children:L(`appBanner.title`)}),x(`p`,{class:`mobile-app-banner__subtext`,children:L(`appBanner.subtext`)})]}),x(`button`,{"aria-label":`Close banner`,class:`mobile-app-banner__close-button`,"data-slice-event":`{"event": "closed_app_install", "name": "scw_toast"}`,onClick:r,children:`â`})]}),x(`button`,{class:`mobile-app-banner__button`,"data-slice-event":`{"event": "clicked_app_install", "name": "scw_toast"}`,onClick:i,children:L(`appBanner.button.text`)})]}):null}function kn({shopId:e}){let t=new URL(`https://slicelife.onelink.me/ylsM`),n=G(`ajs_anonymous_id`);return n&&t.searchParams.set(`af_sub1`,n),t.searchParams.set(`af_sub3`,e),t.searchParams.set(`type`,`scw_toast`),t.searchParams.set(`pid`,`web`),t.searchParams.set(`c`,`direct_websites`),t.toString()}function An(){return/Android/i.test(navigator.userAgent)}function jn(){return window.matchMedia(`(max-width: 767px)`).matches}function Mn(){window.addEventListener(`beforeinstallprompt`,e=>{e.preventDefault(),Sn.value=e})}function Nn(e){An()&&Mn();function t(){if(!jn())return;let n=document.querySelectorAll(`[data-slice-landmark="mobile-app-banner"]`);for(let t of n)b(x(B,{children:x(On,{shopId:e.shop.shopId})}),t);document.removeEventListener(`DOMContentLoaded`,t)}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,t):t()}function Pn(e){Nn(e)}function Fn(e){let{datadogApplicationId:t,datadogClientToken:n,env:r}=R();t&&n&&(H.init({applicationId:t,clientToken:n,env:r,service:`custom-websites-app`,sessionSampleRate:25,site:`datadoghq.com`,version:`2.7.0`}),H.setGlobalContextProperty(`shopUuid`,e.shop.uuid),H.setGlobalContextProperty(`templateName`,e.shop.templateName))}function In(){return typeof HTMLDialogElement<`u`&&typeof HTMLDialogElement.prototype==`object`&&`closedBy`in HTMLDialogElement.prototype}function Ln(){if(typeof HTMLDialogElement!=`function`)return!1;let e=!1,t=document.createElement(`dialog`);return t.addEventListener(`beforetoggle`,t=>{e=!0,t.preventDefault()}),t.show(),e}function Rn(){return typeof HTMLButtonElement<`u`&&`command`in HTMLButtonElement.prototype&&`source`in((globalThis.CommandEvent||{}).prototype||{})}function zn(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype==`object`&&`popover`in HTMLElement.prototype}async function Bn(){return Promise.allSettled([!In()&&(await V(async()=>{let{apply:e}=await import(`./vendor/dialog-closedby-polyfill.js`).then(e=>e.t);return{apply:e}},[],import.meta.url)).apply(),!Ln()&&(await V(async()=>{let{apply:e}=await import(`./vendor/dialog-toggle-events-polyfill.js`).then(e=>e.t);return{apply:e}},[],import.meta.url)).apply(),!Rn()&&(await V(async()=>{let{apply:e}=await import(`./vendor/invokers-polyfill.js`).then(e=>e.t);return{apply:e}},[],import.meta.url)).apply(),!zn()&&(await V(async()=>{let{apply:e}=await import(`./vendor/oddbird-popover-polyfill.js`).then(e=>e.t);return{apply:e}},[],import.meta.url)).apply()])}async function Vn(e){let t=G(U),[n,r,i]=await Promise.allSettled([Qe(e.shop.uuid),t?et(t):Prom
2ise.resolve(void 0),$e(e.shop.shopId)]);return{magicCart:r.status===`fulfilled`?r.value:void 0,magicCartId:typeof t==`string`?t:void 0,schedule:i.status===`fulfilled`?i.value:void 0,shop:n.status===`fulfilled`?n.value:void 0}}var Hn=!1;async function Un(){if(Hn)throw Error(`You cannot call __initialize()!`);Hn=!0;let[e]=await Promise.all([F(),Bn()]);te(e),I(),tn();let t=z(`cx-location-embedded-data:2.7.0`),[n]=await Promise.allSettled([Vn(t)]),r=nt(t,n.status===`fulfilled`?n.value:{magicCart:void 0,magicCartId:void 0,shop:void 0});lt(r),Fn(r),Ut(r),Nt(r),Qt(r),hn(r),xn(r),Pn(r),rt(r)}Un();export{Un as __initialize}; 3//# sourceMappingURL=location-main.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.