PageSourceSearch

https://cravefestival.app/assets/RegisterShell-wPrjbGhu.js

js cravefestival.app collected 2026-10-02 15:59:31 UTC 57,372 bytes, 1 lines download raw bytes

1import{bu as Ie,cM as we,bv as Re,cN as Te,a$ as O,b0 as t,b1 as g,bg as n,bc as l,bf as R,bh as _,b9 as C,be as x,b4 as Q,b5 as pt,dO as gt,b6 as ft,bB as de,dT as ht,bp as ye,cb as qe,bn as P,aR as yt,bo as y,da as se,bb as h,bm as ne,cf as G,bl as ae,bj as L,c7 as Y,dP as _e,bd as ee,b2 as f,ba as ce,bi as F,ca as j,c1 as bt,by as Ct,dU as _t,db as Z,cB as pe,dV as ge,bq as ue,cg as je,b3 as xe,dW as kt,b7 as We,dX as Fe,bX as $t,dY as St,dZ as fe,d_ as It,co as Ne,cr as $e,cs as te,d$ as Ae,e0 as wt,e1 as Rt,cj as Tt,cm as xt,e2 as Xe,d8 as Ze,bE as Nt,e3 as Pt}from"./index-CFHz-eb3.js";import{Q as Et}from"./QPage-BZFI5xAP.js";import{S as me}from"./sound.service-PYRKGq-p.js";import{C as J}from"./currency-CGWGvrOo.js";import{C as re}from"./ClosePopup-CW5Qgyt_.js";import{P as Dt}from"./PurchaseSuccessDialog-DAVlROGe.js";import{Q as At,a as Mt}from"./QTabs-DDCXxONJ.js";import{Q as Ce}from"./QBadge-9a9vBT4t.js";import{Q as Je}from"./QChip-BsOJbGyr.js";import{Q as Me}from"./QList-Doq4ymz0.js";import{Q as zt}from"./QBtnDropdown-pIORvO-7.js";import{Q as et}from"./QBanner-D1jG3Y1o.js";import{Q as Se}from"./QItemLabel-BlQoXLXa.js";import{S as ze}from"./Scan-BodjdBpw.js";import{B as tt}from"./BalanceTransferConfirmDialog-gJJNUTMe.js";import{Q as Bt}from"./QBtnToggle-CnJdzrjr.js";import{_ as De,K as at}from"./KeyboardDialog.vue_vue_type_style_index_0_lang-Diesi4IC.js";import{B as Lt}from"./BalanceTransferSuccessDialog-B5lQEiU5.js";import{Q as st}from"./QSpace-BfvyUGAQ.js";import{Q as Ht}from"./QSpinnerRadio-CcRb4zYG.js";import"./QResizeObserver-BXpuhOEJ.js";import"./rtl-BgSf51W-.js";import"./QBtnGroup-mZOzTp8p.js";import"./QMenu-Dic1H9aS.js";import"./selection-DfU4l___.js";import"./QInnerLoading-DbxEAOQ5.js";try{let a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new a.Error().stack;e&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[e]="81fed0a0-17eb-4ed5-98d5-7a708d8f6b8f",a._sentryDebugIdIdentifier="sentry-dbid-81fed0a0-17eb-4ed5-98d5-7a708d8f6b8f")}catch{}const Ot='<defs><linearGradient x1="8.042%" y1="0%" x2="65.682%" y2="23.865%" id="a"><stop stop-color="currentColor" stop-opacity="0" offset="0%"></stop><stop stop-color="currentColor" stop-opacity=".631" offset="63.146%"></stop><stop stop-color="currentColor" offset="100%"></stop></linearGradient></defs><g transform="translate(1 1)" fill="none" fill-rule="evenodd"><path d="M36 18c0-9.94-8.06-18-18-18" stroke="url(#a)" stroke-width="2"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="0.9s" repeatCount="indefinite"></animateTransform></path><circle fill="currentColor" cx="36" cy="18" r="1"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="0.9s" repeatCount="indefinite"></animateTransform></circle></g>',nt=Ie({name:"QSpinnerTail",props:we,setup(a){const{cSize:e,classes:o}=Te(a);return()=>Re("svg",{class:o.value,width:e.value,height:e.value,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",innerHTML:Ot})}}),Qt='<circle cx="12.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="0s" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5"><animate attributeName="fill-opacity" begin="100ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="300ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="600ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="800ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="400ms" dur="1s" values="1;.2;
11" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="12.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="700ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="52.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="500ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="92.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="200ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"></animate></circle>',Ut=Ie({name:"QSpinnerGrid",props:we,setup(a){const{cSize:e,classes:o}=Te(a);return()=>Re("svg",{class:o.value,fill:"currentColor",width:e.value,height:e.value,viewBox:"0 0 105 105",xmlns:"http://www.w3.org/2000/svg",innerHTML:Qt})}}),qt='<g transform="translate(-20,-20)"><path d="M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z" fill="currentColor"><animateTransform attributeName="transform" type="rotate" from="90 50 50" to="0 50 50" dur="1s" repeatCount="indefinite"></animateTransform></path></g><g transform="translate(20,20) rotate(15 50 50)"><path d="M79.9,52.6C80,51.8,80,50.9,80,50s0-1.8-0.1-2.6l-5.1-0.4c-0.3-2.4-0.9-4.6-1.8-6.7l4.2-2.9c-0.7-1.6-1.6-3.1-2.6-4.5 L70,35c-1.4-1.9-3.1-3.5-4.9-4.9l2.2-4.6c-1.4-1-2.9-1.9-4.5-2.6L59.8,27c-2.1-0.9-4.4-1.5-6.7-1.8l-0.4-5.1C51.8,20,50.9,20,50,20 s-1.8,0-2.6,0.1l-0.4,5.1c-2.4,0.3-4.6,0.9-6.7,1.8l-2.9-4.1c-1.6,0.7-3.1,1.6-4.5,2.6l2.1,4.6c-1.9,1.4-3.5,3.1-5,4.9l-4.5-2.1 c-1,1.4-1.9,2.9-2.6,4.5l4.1,2.9c-0.9,2.1-1.5,4.4-1.8,6.8l-5,0.4C20,48.2,20,49.1,20,50s0,1.8,0.1,2.6l5,0.4 c0.3,2.4,0.9,4.7,1.8,6.8l-4.1,2.9c0.7,1.6,1.6,3.1,2.6,4.5l4.5-2.1c1.4,1.9,3.1,3.5,5,4.9l-2.1,4.6c1.4,1,2.9,1.9,4.5,2.6l2.9-4.1 c2.1,0.9,4.4,1.5,6.7,1.8l0.4,5.1C48.2,80,49.1,80,50,80s1.8,0,2.6-0.1l0.4-5.1c2.3-0.3,4.6-0.9,6.7-1.8l2.9,4.2 c1.6-0.7,3.1-1.6,4.5-2.6L65,69.9c1.9-1.4,3.5-3,4.9-4.9l4.6,2.2c1-1.4,1.9-2.9,2.6-4.5L73,59.8c0.9-2.1,1.5-4.4,1.8-6.7L79.9,52.6 z M50,65c-8.3,0-15-6.7-15-15c0-8.3,6.7-15,15-15s15,6.7,15,15C65,58.3,58.3,65,50,65z" fill="currentColor"><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="90 50 50" dur="1s" repeatCount="indefinite"></animateTransform></path></g>',lt=Ie({name:"QSpinnerGears",props:we,setup(a){const{cSize:e,classes:o}=Te(a);return()=>Re("svg",{class:o.value,width:e.value,height:e.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:qt})}}),Ft='<g><path fill="none" stroke="currentColor" stroke-width="5" stroke-miterlimit="10" d="M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z"></path><clipPath id="uil-hourglass-clip1"><rect x="15" y="20" width="70" height="25"><animate attributeName="height" from="25" to="0" dur="1s" repeatCount="indefinite" values="25;0;0" keyTimes="0;0.5;1"></animate><animate attributeName="y" from="20" to="45" dur="1s" repeatCount="indefinite" values="20;45;45" keyTimes="0;0.5;1"></animate></rect></clipPath><clipPath id="uil-hourglass-clip2"><rect x="15" y="55" width="70" height="25"><animate attributeName="height" from="0" to="25" dur="1s" repeatCount="indef
1inite" values="0;25;25" keyTimes="0;0.5;1"></animate><animate attributeName="y" from="80" to="55" dur="1s" repeatCount="indefinite" values="80;55;55" keyTimes="0;0.5;1"></animate></rect></clipPath><path d="M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z" clip-path="url(#uil-hourglass-clip1)" fill="currentColor"></path><path d="M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z" clip-path="url(#uil-hourglass-clip2)" fill="currentColor"></path><animateTransform attributeName="transform" type="rotate" from="0 50 50" to="180 50 50" repeatCount="indefinite" dur="1s" values="0 50 50;0 50 50;180 50 50" keyTimes="0;0.7;1"></animateTransform></g>',Vt=Ie({name:"QSpinnerHourglass",props:we,setup(a){const{cSize:e,classes:o}=Te(a);return()=>Re("svg",{class:o.value,width:e.value,height:e.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:Ft})}}),Kt={class:"register-charge-status"},Yt={key:0,class:"charge-state"},Gt={key:1,class:"charge-state reading-card"},jt={class:"state-row"},Wt={key:0,class:"last-display-message"},Xt={class:"input-prompt"},Zt={key:2,class:"charge-state"},Jt={key:3,class:"charge-state"},ea={key:4,class:"charge-state"},ta=O({__name:"RegisterChargeStatus",props:{charge:{}},setup(a){return(e,o)=>(t(),g("div",Kt,[a.charge.state.value==="creatingIntent"?(t(),g("div",Yt,[o[1]||(o[1]=n("div",{class:"message"},"Contacting server...",-1)),l(nt,{color:"primary",size:"2em"})])):R("",!0),a.charge.state.value==="readingCard"?(t(),g("div",Gt,[n("div",jt,[o[2]||(o[2]=n("div",{class:"message"},"Reading Card...",-1)),l(Ut,{color:"primary",size:"2em"})]),a.charge.lastDisplayMessage.value!==""?(t(),g("div",Wt,_(a.charge.lastDisplayMessage.value),1)):R("",!0),n("div",Xt,_(a.charge.readerInputPrompt.value!==""?a.charge.readerInputPrompt.value:"Please Dip, Swipe, or Tap Card"),1)])):R("",!0),a.charge.state.value==="processingPayment"?(t(),g("div",Zt,[o[3]||(o[3]=n("div",{class:"message"},"Processing Payment...",-1)),l(lt,{color:"primary",size:"2em"})])):R("",!0),a.charge.state.value==="confirmingPayment"?(t(),g("div",Jt,[o[4]||(o[4]=n("div",{class:"message"},"Confirming Payment...",-1)),l(Ht,{color:"primary",size:"2em"})])):R("",!0),a.charge.state.value==="cancelling"?(t(),g("div",ea,[o[5]||(o[5]=n("div",{class:"message"},"Cancelling...",-1)),l(Vt,{color:"primary",size:"2em"})])):R("",!0),a.charge.canCancel.value?(t(),C(x,{key:5,class:"cancel-charge",color:"red",label:"Cancel",onClick:o[0]||(o[0]=i=>a.charge.cancel())})):R("",!0)]))}}),aa=Q(ta,[["__scopeId","data-v-0715cf91"]]),sa=5,na=3,la=1e3,oa=()=>{const a=pt(),e=gt(),{lastDisplayMessageString:o,lastDisplayMessage:i,displayMessageSeq:m,readerInputPrompt:r}=ft(a),u=P("idle"),p=P(null),s=P(null);let c=!1,b=!1,$=0;const D=y(()=>u.value!=="idle"&&u.value!=="success"&&u.value!=="error"),w=y(()=>u.value==="creatingIntent"||u.value==="readingCard"),z=()=>{u.value="idle",p.value=null,s.value=null,c=!1,b=!1,$=0,a.clearReaderPrompts()};return de(m,()=>{u.value!=="readingCard"||b||i.value!==ht.TryAnotherCard||$>=sa||($++,b=!0,ye.cancelCollectPaymentMethod().catch(k=>{qe.error("CardPresentCharge","cancel wedged collect session failed",{error:k})}))}),{state:u,isActive:D,canCancel:w,lastDisplayMessage:o,readerInputPrompt:r,error:p,result:s,start:async k=>{z();try{if(!yt.is.capacitor)throw new Error("Card payments need the card reader app on a device.");await ye.verifyConnection(),u.value="creatingIntent";const M=await k.createIntent();if(c)return u.value="idle",null;for(u.value="readingCard";;)try{await ye.collectPaymentMethod(M.clientSecret);break}catch(V){if(b&&!c){b=!1;continue}throw V}if(b=!1,c||(u.value="processingPayment",await ye.processPayment(),c))return u.value="idle",null;u.value="confirmingPayment";const E=k.capture??(V=>e.capturePaymentIntent(V));let H;for(let V=1;;V++)try{H=await E(M.paymentIntentId);break}catch(W){if(V>=na)throw W;await new Promise(T=>{setTimeout(T,la*V)})}return s.value=H??null,u.value="success",s.value}catch(M){if(c&&M instanceof Error&&M.message.indexOf("canceled")>-1)return u.value="idle",null;throw p.value=M,u.value="error",M}},cancel:async()=>
1{if(w.value){c=!0,u.value="cancelling";try{await ye.cancelCollectPaymentMethod()}catch(k){qe.error("CardPresentCharge","cancel collect failed",{error:k})}}},reset:z}},ra={class:"shortfall-name"},ia={class:"shortfall-values"},ca={class:"value-block"},ua={class:"value-number"},da={class:"value-block"},ma={class:"value-number"},va={class:"value-block value-block--short"},pa={class:"value-number"},ga=O({__name:"InsufficientBalanceDialog",props:{shortfalls:{}},emits:[...se.emits],setup(a){const{dialogRef:e,onDialogHide:o}=se();return(i,m)=>(t(),C(ce,{ref_key:"dialogRef",ref:e,onHide:f(o)},{default:h(()=>[l(ne,{class:"insufficient-card"},{default:h(()=>[l(G,{class:"insufficient-header"},{default:h(()=>[l(ae,{name:"error",color:"negative",size:"64px"}),m[0]||(m[0]=n("div",{class:"insufficient-title"},"Not Enough Balance",-1)),m[1]||(m[1]=n("div",{class:"insufficient-message"}," The customer's account can't cover this cart. ",-1))]),_:1}),l(G,{class:"insufficient-body"},{default:h(()=>[(t(!0),g(L,null,Y(a.shortfalls,r=>(t(),g("div",{key:r.name,class:"shortfall-row"},[n("div",ra,_(r.name),1),n("div",ia,[n("div",ca,[m[2]||(m[2]=n("div",{class:"value-label"},"Has",-1)),n("div",ua,_(r.have),1)]),n("div",da,[m[3]||(m[3]=n("div",{class:"value-label"},"Needs",-1)),n("div",ma,_(r.want),1)]),n("div",va,[m[4]||(m[4]=n("div",{class:"value-label"},"Short",-1)),n("div",pa,_(r.want-r.have),1)])])]))),128))]),_:1}),l(_e,{align:"center"},{default:h(()=>[ee(l(x,{class:"ok-btn",color:"primary",unelevated:"",size:"lg",label:"OK"},null,512),[[re]])]),_:1})]),_:1})]),_:1},8,["onHide"]))}}),Ve=Q(ga,[["__scopeId","data-v-1853f933"]]),fa={class:"held-count"},ha={class:"held-name"},ya={key:0,class:"held-callout"},ba={class:"held-amount"},Ca=O({__name:"HeldBalanceConfirmDialog",props:{held:{},currencyUnits:{},currencyName:{}},emits:[...se.emits],setup(a){const e=a,o=y(()=>e.currencyUnits!==null&&Number.isInteger(e.currencyUnits)?e.currencyUnits:null),{dialogRef:i,onDialogHide:m,onDialogOK:r}=se();return(u,p)=>(t(),C(ce,{ref_key:"dialogRef",ref:i,onHide:f(m)},{default:h(()=>[l(ne,{class:"held-card"},{default:h(()=>[l(G,{class:"held-header"},{default:h(()=>[l(ae,{name:"warning",color:"warning",size:"64px"}),p[2]||(p[2]=n("div",{class:"held-title"},"Already on Their Account",-1)),p[3]||(p[3]=n("div",{class:"held-message"}," They already have this — use what they have instead of charging? ",-1))]),_:1}),l(G,{class:"held-body"},{default:h(()=>[(t(!0),g(L,null,Y(a.held,s=>(t(),g("div",{key:s.name,class:"held-row"},[n("div",fa,_(s.count)+"×",1),n("div",ha,_(s.name),1)]))),128)),o.value!==null?(t(),g("div",ya,[p[4]||(p[4]=F(" Charging costs ",-1)),n("span",ba,_(o.value)+" "+_(a.currencyName),1),p[5]||(p[5]=F(". ",-1))])):R("",!0)]),_:1}),l(_e,{class:"held-actions",vertical:""},{default:h(()=>[l(x,{color:"green",unelevated:"",size:"lg",label:"Use Existing",onClick:p[
10]||(p[0]=s=>f(r)("redeem"))}),l(x,{color:"warning",outline:"",size:"lg",label:`Use ${a.currencyName}`,onClick:p[1]||(p[1]=s=>f(r)("charge"))},null,8,["label"]),ee(l(x,{flat:"",label:"Cancel"},null,512),[[re]])]),_:1})]),_:1})]),_:1},8,["onHide"]))}}),_a=Q(Ca,[["__scopeId","data-v-12391aab"]]),ka={class:"charge-callout"},$a=O({__name:"ChargeAnywayConfirmDialog",props:{message:{}},emits:[...se.emits],setup(a){const{dialogRef:e,onDialogHide:o,onDialogOK:i}=se();return(m,r)=>(t(),C(ce,{ref_key:"dialogRef",ref:e,onHide:f(o)},{default:h(()=>[l(ne,{class:"charge-anyway-card"},{default:h(()=>[l(G,{class:"charge-header"},{default:h(()=>[l(ae,{name:"warning",color:"warning",size:"64px"}),r[0]||(r[0]=n("div",{class:"charge-title"},"Are You Sure?",-1))]),_:1}),l(G,{class:"charge-body"},{default:h(()=>[n("div",ka,_(a.message),1)]),_:1}),l(_e,{class:"charge-actions",vertical:""},{default:h(()=>[l(x,{color:"warning",unelevated:"",size:"lg",label:"Charge Anyway",onClick:f(i)},null,8,["onClick"]),ee(l(x,{flat:"",label:"Cancel"},null,512),[[re]])]),_:1})]),_:1})]),_:1},8,["onHide"]))}}),Sa=Q($a,[["__scopeId","data-v-b58c42fb"]]),Ia=()=>{const a=j(),e=bt(),o=oa(),i=P("cart"),m=P(null),r=P(!1),u=P(!1),p=P(!1),s=P(!1),c=P(0),b=P(null),$=P(null),D=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`ck_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`,w=(I,U)=>JSON.stringify({tender:I,userId:a.customer?.userId??null,tip:U,lines:a.cart.map(d=>[d.itemId,d.bundleId,d.quantity])}),z=(I,U)=>{const d=w(I,U);return(b.value===null||$.value!==d)&&(b.value=D(),$.value=d),b.value},A=y(()=>a.register?.currency?.name??"festival currency"),S=y(()=>i.value==="scan"),k=y(()=>m.value!==null?"Scan QR":"Scan Customer QR Code"),M=y(()=>J(a.sellTotalCents)),E=y(()=>a.sellTotalCents),H=()=>{c.value=0,b.value=null,$.value=null,i.value="cart",m.value=null,r.value=!1,u.value=!1,o.reset()},V=async(I,U=null)=>{a.clearCustomer(),me.playCashRegister(),H(),Z.create({component:Dt,componentProps:{message:I.message,balances:I.customerSummary?e.balancesFromSummary(I.customerSummary):null,changeDueCents:U}})},W=()=>{a.isReloadRegister||a.clearCustomer()},T=async I=>{const U=pe.isAxiosError(I)?I.response?.status:void 0;if(U===ge.CLIENT_USER_NOT_FOUND){a.clearCustomer(),await ue(I,"Customer not recognized — please re-scan.");return}if(U===ge.CLIENT_AUTHORIZATION_FAILED){await ue(I),a.refreshIfChanged();return}if(U===ge.CLIENT_INSUFFICIENT_FUNDS){const d=pe.isAxiosError(I)?I.response?.data?.shortfalls:void 0;if(Array.isArray(d)&&d.length>0){Z.create({component:Ve,componentProps:{shortfalls:d}});return}}await ue(I)},N=y(()=>a.cart.length>0&&a.paymentMethods.some(I=>I.enabled&&a.tipAllowed(I.tender))),q=()=>{const I=a.paymentMethods;if(I.length===1&&I[0].enabled){ve(I[0].tender);return}i.value="method"},le=()=>{if(a.isReloadRegister&&a.customer===null&&a.cart.length>0){r.value=!0,i.value="scan";return}if(N.value){i.value="tip";return}q()},Pe=I=>{c.value=I,q()},Ee=()=>{c.value=0,i.value="cart"},ve=async I=>{if(a.cart.length!==0){if(a.requiresCustomer(I)&&!a.customer){m.value=I,i.value="scan";return}if(I==="NONE"){const U=a.balanceShortfalls();if(U.length>0){Z.create({component:Ve,componentProps:{shortfalls:U}}),W(),i.value="method";return}}if(I==="CARD_PRESENT"){i.value="email";return}if(I==="CASH"){u.value=!0;return}await X(I,!1)}},X=async(I,U,d=null)=>{if(!s.value){s.value=!0;try{const v=a.tipAllowed(I)?c.value:0,B=await a.submitCheckout(I,v,U,z(I,v));s.value=!1,await V(B,d)}catch(v){if(s.value=!1,(pe.isAxiosError(v)?v.response?.status:void 0)===ge.CLIENT_CONFIRMATION_REQUIRED){const ie=a.heldCartItems();if(ie.length>0){Z.create({component:_a,componentProps:{held:ie,currencyUnits:a.totalInCurrencyUnits,currencyName:A.value}}).onOk(K=>{K==="redeem"?ve("NONE"):X(I,!0,d)}).onCancel(()=>{W(),i.value="method"});return}Z.create({component:Sa,componentProps:{message:pe.isAxiosError(v)&&v.response?.data?.error?v.response.data.error:"They already have this item on their account."}}).onOk(()=>{X(I,!0,d)}).onCancel(()=>{W(),i.value="method"});return}await T(v),W(),i.value="method"}}};return{stage:i,pendingTender:m,showCashConfirm:u,cashSubmitting:p,submitting:s,tip:c,charge:o,showScanPane:S,scanPrompt:k,cashAmountLabel:M,cashAmountCents:E,beginCheckout:le,confirmTip:Pe,cancelTip:Ee,onMethod:ve,confirmCash:async(I=0)=>
1{if(!p.value){p.value=!0;try{await X("CASH",!1,I)}finally{p.value=!1,u.value=!1}}},scanFound:()=>{i.value="cart";const I=m.value;if(m.value=null,I!==null){ve(I);return}r.value&&(r.value=!1,le())},cancelScan:()=>{r.value=!1,i.value=m.value!==null?"method":"cart",m.value=null},cancelMethod:()=>{c.value=0,W(),i.value="cart"},startCardCharge:async I=>{i.value="cart";try{const U=await o.start({createIntent:()=>_t(a.buildCheckoutRequest("CARD_PRESENT",a.tipAllowed("CARD_PRESENT")?c.value:0,I))});if(o.state.value!=="success"){o.reset(),W(),i.value="method";return}a.clearCart(),U!==null?await V(U):(a.clearCustomer(),H())}catch(U){o.reset(),await T(U),W(),i.value="method"}}}},ot=Symbol("RegisterCheckout"),ke=()=>{const a=Ct(ot);if(!a)throw new Error("useRegisterCheckout was not provided — register components must render under RegisterShell");return a},wa={class:"tile-name"},Ra={key:0,class:"tile-price"},Ta=O({__name:"RegisterItemTile",props:{item:{}},setup(a){const e=a,o=j(),i=y(()=>e.item.canSell&&!e.item.soldOut),m=y(()=>e.item.canRedeem&&e.item.holdsBalance),r=y(()=>i.value||m.value),u=y(()=>!e.item.canSell&&m.value),p=y(()=>o.customerBalance(e.item.itemId)),s=y(()=>{const b=o.register,$=e.item.price;if(!b||$===null)return"";const D=[],w=b.currency,z=!!w&&b.tenders.currency&&!e.item.isCurrency&&w.unitPrice>0&&$%w.unitPrice===0;return z&&D.push(`${$/w.unitPrice} ${w.name}`),b.showPricesUsd&&!(z&&w?.unitPrice===100)&&D.push(J($)),D.join(" / ")}),c=()=>{r.value&&o.addLine({itemId:e.item.itemId})};return(b,$)=>ee((t(),C(ne,{flat:"",bordered:"",class:xe(["register-item-tile",{disabled:!r.value}]),onClick:c},{default:h(()=>[l(G,{class:"tile-body"},{default:h(()=>[n("div",wa,_(a.item.name),1),s.value!==""?(t(),g("div",Ra,_(s.value),1)):R("",!0),u.value?(t(),C(Ce,{key:1,color:"secondary",class:"tile-badge",label:"Redeem only"})):R("",!0),p.value>0?(t(),C(Ce,{key:2,color:"green",class:"tile-badge",label:`Has ${p.value}`},null,8,["label"])):R("",!0),a.item.soldOut?(t(),C(Ce,{key:3,color:"red",class:"tile-badge",label:"Sold Out"})):R("",!0)]),_:1})]),_:1},8,["class"])),[[je,r.value]])}}),Ke=Q(Ta,[["__scopeId","data-v-815891bd"]]),xa={class:"tile-name"},Na={class:"tile-price"},Pa=O({__name:"RegisterBundleTile",props:{bundle:{}},setup(a){const e=a,o=j(),i=y(()=>!e.bundle.soldOut),m=y(()=>J(e.bundle.price)),r=()=>{i.value&&o.addLine({bundleId:e.bundle.bundleId})};return(u,p)=>ee((t(),C(ne,{flat:"",bordered:"",class:xe(["register-bundle-tile",{disabled:!i.value}]),onClick:r},{default:h(()=>[l(G,{class:"tile-body"},{default:h(()=>[n("div",xa,_(a.bundle.name),1),n("div",Na,_(m.value),1),l(Ce,{color:"secondary",class:"tile-badge",label:"Package"}),a.bundle.soldOut?(t(),C(Ce,{key:0,color:"red",class:"tile-badge",label:"Sold Out"})):R("",!0)]),_:1})]),_:1},8,["class"])),[[je,i.value]])}}),Ye=Q(Pa,[["__scopeId","data-v-03d073d8"]]),Ea={class:"register-item-grid"},Da={class:"category-header"},Aa={class:"tile-grid"},Ma={key:2,class:"configure-items"},za={key:3,class:"tile-grid"},be="__uncategorized__",Ge=300,Ba=O({__name:"RegisterItemGrid",setup(a){kt(k=>({v39812449:`${$.value}px`}));const{getScrollTarget:e,setVerticalScrollPosition:o}=St,i=j(),m=y(()=>i.sortedItems.length===0&&(i.register?.includeOwnerItems??!1)),r=y(()=>i.sortedCategories.map(k=>({key:k.id??be,name:k.name,icon:k.icon}))),u=y(()=>r.value.map(k=>({key:k.key,name:k.name,icon:k.icon,tiles:i.tilesForCategory(k.key===be?null:k.key)}
1))),p=P(r.value[0]?.key??be),s=P(null),c=new Map,b=(k,M)=>{M?c.set(k,M):c.delete(k)},$=P(50),D=()=>{$.value=document.querySelector(".q-header")?.offsetHeight??50};We(D),Fe(window,"resize",D);const w=()=>$.value+(s.value?.$el?.offsetHeight??0);let z=0;const A=k=>{const M=c.get(k);if(!M)return;const E=M.getBoundingClientRect().top+window.pageYOffset-w()-8;z=Date.now()+Ge+150,p.value=k,o(e(M),Math.max(E,0),Ge)},S=()=>{if(Date.now()<z||r.value.length<=1)return;const k=w()+24;let M=r.value[0]?.key??be;for(const E of r.value){const H=c.get(E.key);H&&H.getBoundingClientRect().top<=k&&(M=E.key)}p.value=M};return Fe(window,"scroll",S,{passive:!0}),de(r,k=>{k.some(M=>M.key===p.value)||(p.value=k[0]?.key??be),$t(S)}),(k,M)=>(t(),g("div",Ea,[r.value.length>1?(t(),C(f(At),{key:0,ref_key:"tabsRef",ref:s,modelValue:p.value,"onUpdate:modelValue":M[0]||(M[0]=E=>p.value=E),dense:"",align:"left",class:"category-tabs","active-color":"primary","outside-arrows":"","mobile-arrows":""},{default:h(()=>[(t(!0),g(L,null,Y(r.value,E=>(t(),C(Mt,{key:E.key,name:E.key,label:E.name,icon:E.icon??void 0,onClick:H=>A(E.key)},null,8,["name","label","icon","onClick"]))),128))]),_:1},8,["modelValue"])):R("",!0),r.value.length>1?(t(!0),g(L,{key:1},Y(u.value,E=>(t(),g("section",{key:E.key,ref_for:!0,ref:H=>b(E.key,H),class:"category-section"},[n("div",Da,[E.icon?(t(),C(ae,{key:0,name:E.icon},null,8,["name"])):R("",!0),F(" "+_(E.name),1)]),n("div",Aa,[(t(!0),g(L,null,Y(E.tiles,H=>(t(),g(L,null,[H.kind==="item"?(t(),C(Ke,{key:`item-${H.item.itemId}`,item:H.item},null,8,["item"])):(t(),C(Ye,{key:`bundle-${H.bundle.bundleId}`,bundle:H.bundle},null,8,["bundle"]))],64))),256))])]))),128)):m.value?(t(),g("div",Ma,[l(ae,{name:"restaurant_menu",size:"48px",color:"grey-6"}),M[1]||(M[1]=n("div",{class:"configure-items-text"}," You don't have any items on your register yet. ",-1)),l(x,{color:"primary",unelevated:"",label:"Click here to configure your items",to:"/vendor/items"})])):(t(),g("div",za,[(t(!0),g(L,null,Y(f(i).sortedTiles,E=>(t(),g(L,null,[E.kind==="item"?(t(),C(Ke,{key:`item-${E.item.itemId}`,item:E.item},null,8,["item"])):(t(),C(Ye,{key:`bundle-${E.bundle.bundleId}`,bundle:E.bundle},null,8,["bundle"]))],64))),256))]))]))}}),rt=Q(Ba,[["__scopeId","data-v-f1942eb0"]]),it=a=>{const e=P(!1),o=4e3;let i=null,m=0;const r=async s=>{if(!e.value&&!(s===i&&Date.now()-m<o)){e.value=!0,fe.show({message:"Looking up customer...",customClass:"scan-lookup-loading"});try{const c=await It(s);fe.hide(),i=null,a({...c,qrCode:s})}catch(c){fe.hide(),i=s,m=Date.now(),pe.isAxiosError(c)&&c.response?.status===ge.CLIENT_USER_NOT_FOUND?(me.playError(),Ne.create({message:"QR code not recognized",caption:`Code ${s} isn't attached to a customer`,color:"negative",icon:"error",position:"top",timeout:3e3})):await ue(c)}finally{e.value=!1}}};return{onScan:s=>{r(s.qrCode)},onCode:s=>{r(s.qrCode)},lookingUp:e}},La={class:"tool-header-text"},Ha={class:"tool-subtitle"},Oa={class:"tool-code"},Qa={class:"tool-body-inner"},Ua={key:0,class:"empty-hint"},qa={class:"card-balances"},Fa={key:0,class:"no-balances"},Va=O({__name:"RegisterCombineBalancesDialog",emits:[...se.emits],setup(a){const{dialogRef:e,onDialogHide:o,onDialogOK:i}=se(),m=j(),r=P(!1),u=P(!1),p=P(!1),s=P([]),c=y(()=>m.customer),b=T=>{const N=`${T.firstName} ${T.lastName}`.trim();return N!==""?N:"Card Holder"},$=y(()=>{const T=s.value.length;return`Combine ${T} ${T===1?"Card":"Cards"}`}),D=(T,N)=>{me.playError(),Ne.create({message:T,caption:N,color:"negative",icon:"error",position:"top",timeout:3e3})},{onScan:w,onCode:z}=it(T=>{if(r.value=!1,T.userId===c.value.userId||T.qrCode===c.value.qrCode){D("That's the loaded card","Scan the cards being emptied into it");return}if(s.value.some(N=>N.userId===T.userId)){D("Card already added",`Code ${T.qrCode} is in the list`);return}s.value.push(T)}),A=T=>{s.value=s.value.filter(N=>N.userId!==T.userId)},S=T=>({userId:T.userId,name:b(T),qrCode:T.qrCode}),k=T=>T.balances.filter(N=>N.count>0).map(N=>({label:N.name,count:N.count})),M=y(()=>s.value.map(T=>({...S(T),lines:k(T)}))),E=y(()=>[{...S(c.value),lines:k(c.value)}]),H=T=>{if(T===c.value.userId)return S(c.value);const N=s.value.find(q=>q.userId===T);return N!==void 0?S(N):{userId:T,name:"Card Holder",qrCode:""}},V=T=>T.finalBalances!==void 0?T.finalBalances.map(N=>({...H(N.userId),lines:N.balances.map(q=>({label:q.name,count:q.count})),emptyText:"Emptied"})):[{...S(c.value),lines:k(c.value)},...s.value.map(N=>({...S(N),lines:[],emptyText:"Emptied"}))],W=async()=>
1{if(!u.value){u.value=!0;try{const T=await wt({destinationUserId:c.value.userId,sourceUserIds:s.value.map(N=>N.userId)});await m.refreshCustomer(),me.playCashRegister(),i({title:"Balances Combined",message:`Balances combined onto ${b(c.value)}`,cards:V(T)})}catch(T){await ue(T),await m.refreshCustomer()}finally{u.value=!1}}};return(T,N)=>(t(),g(L,null,[l(ce,{ref_key:"dialogRef",ref:e,maximized:"",persistent:u.value,"transition-show":"slide-up","transition-hide":"slide-down",onHide:f(o)},{default:h(()=>[l(ne,{class:"balance-tool-card"},{default:h(()=>[l(G,{class:"tool-header"},{default:h(()=>[n("div",La,[N[5]||(N[5]=n("div",{class:"tool-title"},"Combine Balances",-1)),n("div",Ha,[N[4]||(N[4]=F(" Pull the full balance of each scanned card onto ",-1)),n("strong",null,_(b(c.value)),1),n("span",Oa,_(c.value.qrCode),1)])]),ee(l(x,{flat:"",round:"",icon:"close",size:"lg",disable:u.value},null,8,["disable"]),[[re]])]),_:1}),l(G,{class:"tool-body"},{default:h(()=>[n("div",Qa,[s.value.length===0?(t(),g("div",Ua," No cards scanned yet. ")):(t(),C(Me,{key:1,bordered:"",separator:"",class:"card-list"},{default:h(()=>[(t(!0),g(L,null,Y(s.value,q=>(t(),C($e,{key:q.userId},{default:h(()=>[l(te,null,{default:h(()=>[l(Se,{class:"card-name"},{default:h(()=>[F(_(b(q)),1)]),_:2},1024),l(Se,{caption:"",class:"card-code"},{default:h(()=>[F(_(q.qrCode),1)]),_:2},1024)]),_:2},1024),l(te,null,{default:h(()=>[n("div",qa,[(t(!0),g(L,null,Y(q.balances,le=>(t(),C(Je,{key:le.itemId,color:"grey-4","text-color":"black"},{default:h(()=>[F(_(le.name)+": "+_(le.count),1)]),_:2},1024))),128)),q.balances.length===0?(t(),g("span",Fa," No balances ")):R("",!0)])]),_:2},1024),l(te,{side:""},{default:h(()=>[l(x,{flat:"",round:"",color:"red",icon:"delete",disable:u.value,onClick:le=>A(q)},null,8,["disable","onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})),l(x,{class:"scan-btn",color:"secondary",unelevated:"",size:"lg",icon:"qr_code_scanner",disable:u.value,label:s.value.length===0?"Scan Card":"Scan Another Card",onClick:N[0]||(N[0]=q=>r.value=!0)},null,8,["disable","label"])])]),_:1}),l(_e,{align:"right",class:"tool-footer"},{default:h(()=>[ee(l(x,{flat:"",size:"lg",label:"Cancel",disable:u.value},null,8,["disable"]),[[re]]),l(x,{color:"green",unelevated:"",size:"lg",loading:u.value,disable:s.value.length===0,label:$.value,onClick:N[1]||(N[1]=q=>p.value=!0)},null,8,["loading","disable","label"])]),_:1})]),_:1})]),_:1},8,["persistent","onHide"]),(t(),C(Ae,{to:"#teleport-target"},[r.value?(t(),C(ze,{key:0,title:"Scan card to combine",onScan:f(w),onCode:f(z),onClose:N[2]||(N[2]=q=>r.value=!1)}
1,null,8,["onScan","onCode"])):R("",!0)])),p.value?(t(),C(tt,{key:0,title:"Combine balances?",sources:M.value,destinations:E.value,note:"This cannot be undone.","confirm-label":$.value,onConfirm:W,onHide:N[3]||(N[3]=q=>p.value=!1)},null,8,["sources","destinations","confirm-label"])):R("",!0)],64))}}),Ka=Q(Va,[["__scopeId","data-v-06097f7d"]]),Ya={class:"tool-header-text"},Ga={class:"tool-subtitle"},ja={class:"tool-code"},Wa={key:0,class:"tool-body-inner"},Xa={key:1,class:"tool-body-inner"},Za={class:"tool-section"},Ja={class:"item-buttons"},es={class:"tool-section"},ts={key:1,class:"amount-preview"},as={class:"tool-section"},ss={key:0,class:"even-total-row"},ns={class:"even-total-label"},ls={key:0},os=O({__name:"RegisterSplitBalanceDialog",emits:[...se.emits],setup(a){const{dialogRef:e,onDialogHide:o,onDialogOK:i}=se(),m=j(),r=P(!1),u=P(!1),p=P(!1),s=P([]),c=P(null),b=P("even"),$=P(0),D=P({}),w=y(()=>m.customer),z=d=>{const v=`${d.firstName} ${d.lastName}`.trim();return v!==""?v:"Card Holder"},A=y(()=>w.value.balances.filter(d=>d.count>0));de(A,d=>{c.value!==null&&!d.some(v=>v.itemId===c.value)&&(c.value=null),c.value===null&&d.length===1&&(c.value=d[0].itemId)},{immediate:!0});const S=y(()=>A.value.find(d=>d.itemId===c.value)??null),k=y(()=>S.value?.count??0),M=y(()=>{const d=s.value.length;if(d===0)return[];const v=Math.floor($.value/d),B=$.value%d;return s.value.map((ie,K)=>K<B?v+1:v)}),E=d=>{if(b.value==="even"){const v=s.value.findIndex(B=>B.userId===d);return v===-1?0:M.value[v]}return D.value[d]??0},H=y(()=>s.value.map(d=>({userId:d.userId,count:E(d.userId)}))),V=y(()=>H.value.reduce((d,v)=>d+v.count,0)),W=y(()=>V.value>k.value),T=y(()=>S.value!==null&&s.value.length>0&&H.value.every(d=>d.count>0)&&!W.value),N=(d,v)=>{me.playError(),Ne.create({message:d,caption:v,color:"negative",icon:"error",position:"top",timeout:3e3})},{onScan:q,onCode:le}=it(d=>{if(r.value=!1,d.userId===w.value.userId||d.qrCode===w.value.qrCode){N("That's the card being split","Scan the cards receiving a share");return}if(s.value.some(v=>v.userId===d.userId)){N("Card already added",`Code ${d.qrCode} is in the list`);return}s.value.push(d)}),Pe=d=>{s.value=s.value.filter(v=>v.userId!==d.userId),delete D.value[d.userId]},Ee=()=>{Z.create({component:De,componentProps:{initialValue:$.value,title:`Total ${S.value?.name??""} to Split`,buttonText:"Set"}}).onOk(d=>{$.value=d})},ve=d=>{Z.create({component:De,componentProps:{initialValue:E(d),title:`${S.value?.name??"Amount"} for this card`,buttonText:"Set"}}).onOk(v=>{D.value[d]=v})},X=d=>({userId:d.userId,name:z(d),qrCode:d.qrCode}),Be=y(()=>`Split ${V.value} ${S.value?.name??""}?`),Le=y(()=>{const d=S.value;return d===null?[]:[{...X(w.value),lines:[{label:d.name,count:V.value}]}]}),He=y(()=>{const d=S.value;return s.value.map(v=>({...X(v),lines:d===null?[]:[{label:d.name,count:E(v.userId)}]}))}),Oe=y(()=>{const d=S.value;return d===null?"":`${k.value-V.value} ${d.name} will remain on ${z(w.value)}`}),Qe=d=>{if(d===w.value.userId)return X(w.value);const v=s.value.find(B=>B.userId===d);return v!==void 0?X(v):{userId:d,name:"Card Holder",qrCode:""}},I=(d,v)=>{if(d.finalBalances!==void 0)return d.finalBalances.map(K=>({...Qe(K.userId),lines:K.balances.map(he=>({label:he.name,count:he.count}))}));const B={...X(w.value),lines:w.value.balances.filter(K=>K.count>0).map(K=>({label:K.name,count:K.count}))},ie=s.value.map(K=>{const he=E(K.userId),Ue=K.balances.filter(oe=>oe.count>0||oe.itemId===v.itemId).map(oe=>({label:oe.name,count:oe.itemId===v.itemId?oe.count+he:oe.count}));return K.balances.some(oe=>oe.itemId===v.itemId)||Ue.push({label:v.name,count:he}),{...X(K),lines:Ue}});return[B,...ie]},U=async()=>{if(u.value)return;const d=S.value;if(d!==null){u.value=!0;try{const v=await Rt({sourceUserId:w.value.userId,itemId:d.itemId,allocations:H.value});await m.refreshCustomer(),me.playCashRegister(),i({title:"Balances Split",message:`${d.name} split across ${s.value.length} ${s.value.length===1?"card":"cards"}`,cards:I(v,d)})}catch(v){await ue(v),await m.refreshCustomer()}finally{u.value=!1}}};return(d,v)=>(t(),g(L,null,[l(ce,{ref_key:"dialogRef",ref:e,maximized:"",persistent:u.value,"transition-show":"slide-up","transition-hide":"slide-down",onHide:f(o)},{default:h(()=>[l(ne,{class:"balance-tool-card"},{default:h(()=>[l(G,{class:"tool-header"},{default:h(()=>[n("div",Ya,[v[7]||(v[7]=n("div",{class:"tool-title"},"Split Balance",-1)),n("div",Ga,[v[5]||(v[5]=F(" Portion out ",-1)),n("strong",null,_(z(w.value)),1),n("span",ja,_(w.value.qrCode),1),v[6]||(v[6]=F(" onto other cards ",-1))])]),ee(l(x,{flat:"",round:"",icon:"close",size:"lg",disable:u.value},null,8,["disable"]),[[re]])]),_:1}),l(G,{class:"tool-body"},{default:h(()=>[A.value.length===0?(t(),g("div",Wa,[...v[8]||(v[8]=[n("div",{class:"empty-hint"},"No balance to split.",-1)])])):(t(),g("div",Xa,[n("div",Za,[v[9]||(v[9]=n("div",{class:"section-title"},"1. What to split",-1)),n("div",Ja,[(t(!0),g(L,null,Y(A.value,B=>(t(),C(x,{key:B.itemId,color:c.value===B.itemId?"primary":"grey-4","text-color":c.value===B.itemId?"white":"black",unelevated:"",size:"lg",disable:u.value,label:`${B.name} (${B.count} available)`,onClick:ie=>c.value=B.itemId},null,8,["color","text-color","disable","label","onClick"]))),128))])]),n("div",es,[v[10]||(v[10]=n("div",{class:"section-title"}
1," 2. Cards receiving a share ",-1)),s.value.length>0?(t(),C(Me,{key:0,bordered:"",separator:"",class:"card-list"},{default:h(()=>[(t(!0),g(L,null,Y(s.value,(B,ie)=>(t(),C($e,{key:B.userId},{default:h(()=>[l(te,null,{default:h(()=>[l(Se,{class:"card-name"},{default:h(()=>[F(_(z(B)),1)]),_:2},1024),l(Se,{caption:"",class:"card-code"},{default:h(()=>[F(_(B.qrCode),1)]),_:2},1024)]),_:2},1024),l(te,{side:""},{default:h(()=>[b.value==="custom"?(t(),C(x,{key:0,outline:"",color:"primary",class:"amount-btn",disable:u.value,label:`${E(B.userId)}`,onClick:K=>ve(B.userId)},null,8,["disable","label","onClick"])):(t(),g("div",ts,_(M.value[ie]),1))]),_:2},1024),l(te,{side:""},{default:h(()=>[l(x,{flat:"",round:"",color:"red",icon:"delete",disable:u.value,onClick:K=>Pe(B)},null,8,["disable","onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):R("",!0),l(x,{class:"scan-btn",color:"secondary",unelevated:"",size:"lg",icon:"qr_code_scanner",disable:u.value,label:s.value.length===0?"Scan Card":"Scan Another Card",onClick:v[0]||(v[0]=B=>r.value=!0)},null,8,["disable","label"])]),n("div",as,[v[13]||(v[13]=n("div",{class:"section-title"},"3. Amounts",-1)),l(Bt,{modelValue:b.value,"onUpdate:modelValue":v[1]||(v[1]=B=>b.value=B),unelevated:"",size:"lg","toggle-color":"primary",disable:u.value,options:[{label:"Split a total evenly",value:"even"},{label:"Custom per card",value:"custom"}]},null,8,["modelValue","disable"]),b.value==="even"?(t(),g("div",ss,[n("div",ns,[v[11]||(v[11]=F(" Total to split ",-1)),S.value!==null?(t(),g("span",ls," ("+_(S.value.name)+") ",1)):R("",!0),v[12]||(v[12]=F(" : ",-1))]),l(x,{outline:"",color:"primary",class:"amount-btn",disable:u.value,label:`${$.value}`,onClick:Ee},null,8,["disable","label"])])):R("",!0),n("div",{class:xe(["summary-bar",{"summary-invalid":W.value}])}," Available: "+_(k.value)+" · Allocated: "+_(V.value)+" · Remaining: "+_(k.value-V.value),3)])]))]),_:1}),l(_e,{align:"right",class:"tool-footer"},{default:h(()=>[ee(l(x,{flat:"",size:"lg",label:"Cancel",disable:u.value},null,8,["disable"]),[[re]]),l(x,{color:"green",unelevated:"",size:"lg",loading:u.value,disable:!T.value,label:"Split Balance",onClick:v[2]||(v[2]=B=>p.value=!0)},null,8,["loading","disable"])]),_:1})]),_:1})]),_:1},8,["persistent","onHide"]),(t(),C(Ae,{to:"#teleport-target"},[r.value?(t(),C(ze,{key:0,title:"Scan card to receive a share",onScan:f(q),onCode:f(le),onClose:v[3]||(v[3]=B=>r.value=!1)}
1,null,8,["onScan","onCode"])):R("",!0)])),p.value?(t(),C(tt,{key:0,title:Be.value,sources:Le.value,destinations:He.value,note:Oe.value,"confirm-label":"Split",onConfirm:U,onHide:v[4]||(v[4]=B=>p.value=!1)},null,8,["title","sources","destinations","note"])):R("",!0)],64))}}),rs=Q(os,[["__scopeId","data-v-6ba28e0f"]]),is={class:"customer-row"},cs={class:"customer-identity"},us={class:"identity-text"},ds={class:"customer-name"},ms={class:"customer-code"},vs={class:"customer-balances"},ps={key:0,class:"no-balances"},gs={class:"customer-actions"},fs=O({__name:"RegisterCustomerHeader",setup(a){const e=j(),o=b=>{Z.create({component:Lt,componentProps:{title:b.title,message:b.message,cards:b.cards}})},i=()=>{Z.create({component:Ka}).onOk(o)},m=()=>{Z.create({component:rs}).onOk(o)},r=y(()=>e.register?.operations??null),u=y(()=>(r.value?.combineBalances??!1)||(r.value?.splitBalance??!1)),p=y(()=>e.customer),s=y(()=>{const b=`${p.value.firstName} ${p.value.lastName}`.trim();return b!==""?b:"Card Holder"}),c=()=>{e.clearCustomer()};return(b,$)=>(t(),C(et,{class:"register-customer-header",rounded:""},{default:h(()=>[n("div",is,[n("div",cs,[l(ae,{name:"person",size:"32px"}),n("div",us,[n("div",ds,_(s.value),1),n("div",ms,_(p.value.qrCode),1)])]),n("div",vs,[(t(!0),g(L,null,Y(p.value.balances,D=>(t(),C(Je,{key:D.itemId,size:"lg",color:"grey-4","text-color":"black"},{default:h(()=>[F(_(D.name)+": "+_(D.count),1)]),_:2},1024))),128)),p.value.balances.length===0?(t(),g("span",ps," No balances ")):R("",!0)])]),n("div",gs,[u.value?(t(),C(zt,{key:0,color:"secondary",unelevated:"",icon:"build",label:"Tools"},{default:h(()=>[l(Me,null,{default:h(()=>[r.value?.combineBalances?ee((t(),C($e,{key:0,clickable:"",onClick:i},{default:h(()=>[l(te,{avatar:""},{default:h(()=>[l(ae,{name:"merge_type"})]),_:1}),l(te,null,{default:h(()=>[...$[0]||($[0]=[F("Combine Balances",-1)])]),_:1})]),_:1})),[[re]]):R("",!0),r.value?.splitBalance?ee((t(),C($e,{key:1,clickable:"",onClick:m},{default:h(()=>[l(te,{avatar:""},{default:h(()=>[l(ae,{name:"call_split"})]),_:1}),l(te,null,{default:h(()=>[...$[1]||($[1]=[F("Split Balance",-1)])]),_:1})]),_:1})),[[re]]):R("",!0)]),_:1})]),_:1})):R("",!0),l(x,{class:"clear-scan-btn",color:"red",unelevated:"",icon:"close",label:"Clear Scan",onClick:c})])]),_:1}))}}),ct=Q(fs,[["__scopeId","data-v-724e4f34"]]),hs={class:"register-scan-pane"},ys={class:"scan-prompt"},bs=4e3,Cs=O({__name:"RegisterScanPane",props:{prompt:{default:"Scan Customer QR Code"}},emits:["found","cancel"],setup(a,{emit:e}){const o=e,i=j(),m=P(null),r=P(!1);let u=null,p=0;const s=async $=>{if(!r.value&&!($===u&&Date.now()-p<bs)){r.value=!0,m.value=null,fe.show({message:"Looking up customer...",customClass:"scan-lookup-loading"});try{await i.lookupCustomer($),fe.hide(),u=null,o("found")}catch(D){fe.hide(),u=$,p=Date.now(),pe.isAxiosError(D)&&D.response?.status===ge.CLIENT_USER_NOT_FOUND?(m.value="QR code not recognized — please try again.",me.playError(),Ne.create({message:"QR code not recognized",caption:`Code ${$} isn't attached to a customer`,color:"negative",icon:"error",position:"top",timeout:3e3})):await ue(D)}finally{r.value=!1}}},c=$=>{s($.qrCode)},b=$=>{s($.qrCode)};return($,D)=>(t(),g("div",hs,[n("div",ys,_(a.prompt),1),m.value!==null?(t(),C(et,{key:0,class:"scan-error",dense:"",rounded:""},{default:h(()=>[l(ae,{name:"error",size:"20px"}),F(" "+_(m.value),1)]),_:1}
1)):R("",!0),(t(),C(Ae,{to:"#teleport-target"},[l(ze,{title:a.prompt,onScan:c,onCode:b,onClose:D[0]||(D[0]=w=>o("cancel"))},null,8,["title"])]))]))}}),ut=Q(Cs,[["__scopeId","data-v-461146e1"]]),_s={class:"register-quick-reload"},ks={class:"quick-reload-title"},$s={class:"quick-reload-buttons"},Ss=O({__name:"RegisterQuickReload",setup(a){const e=j(),o=[1,5,10,20],i=y(()=>e.register?.currency),m=u=>{e.addLine({itemId:i.value.itemId,quantity:u})},r=()=>{Z.create({component:De,componentProps:{title:`Custom ${i.value.name} Amount`,buttonText:"Add"}}).onOk(u=>{u>0&&m(u)})};return(u,p)=>(t(),g("div",_s,[n("div",ks,"Reload "+_(i.value.name),1),n("div",$s,[(t(),g(L,null,Y(o,s=>l(x,{key:s,color:"primary",unelevated:"",size:"lg",label:`+${s}`,onClick:c=>m(s)},null,8,["label","onClick"])),64)),l(x,{color:"primary",outline:"",size:"lg",label:"Custom",onClick:r})])]))}}),dt=Q(Ss,[["__scopeId","data-v-f8e402c4"]]),mt=()=>{const a=j(),e=y(()=>a.register?.currency?.name??""),o=y(()=>a.register?.currency?.unitPrice??0),i=y(()=>{const s=a.totalInCurrencyUnits;return s===null||!a.register?.tenders.currency||!Number.isInteger(s)?null:s}),m=y(()=>!!a.register?.allowCurrencyTips&&o.value>0&&i.value!==null&&a.paymentMethods.some(s=>s.tender==="CURRENCY"&&s.enabled)),r=s=>m.value?`${o.value>0?Math.round(s/o.value):0} ${e.value}`:J(s),u=s=>m.value?Math.round(i.value*(s/100))*o.value:Math.round(a.sellTotalCents*(s/100));return{currencyName:e,unitPrice:o,unitsTotal:i,tokenTipMode:m,formatTip:r,tipAmount:u,tipOptionLabel:s=>m.value?`${u(s)/o.value} ${e.value}`:J(u(s))}},Is={class:"register-cart-panel"},ws={key:0,class:"cart-lines"},Rs={class:"line-top"},Ts={class:"line-name"},xs={key:0,class:"line-contents"},Ns={class:"line-bottom"},Ps={class:"line-stepper"},Es={class:"line-quantity"},Ds={key:0,class:"line-total"},As={key:1,class:"cart-empty"},Ms={class:"cart-totals"},zs={key:0,class:"total-row primary-total"},Bs={class:"total-value"},Ls={class:"currency-name"},Hs={key:2,class:"total-row"},Os=O({__name:"RegisterCartPanel",props:{tip:{}},setup(a){const e=j(),{unitsTotal:o,formatTip:i}=mt(),m=y(()=>e.register?.showPricesUsd??!0),r=s=>`${s.line.itemId??s.line.bundleId}`,u=s=>{e.setLineQuantity(s,s.quantity-1)},p=s=>{e.setLineQuantity(s,s.quantity+1)};return(s,c)=>(t(),g("div",Is,[f(e).fullCartLines.length>0?(t(),g("div",ws,[(t(!0),g(L,null,Y(f(e).fullCartLines,b=>(t(),g("div",{class:"cart-line",key:r(b)},[n("div",Rs,[n("span",Ts,_(b.name),1)]),b.bundleContents?(t(),g("div",xs," Includes: "+_(b.bundleContents),1)):R("",!0),n("div",Ns,[n("div",Ps,[l(x,{round:"",unelevated:"",size:"md",color:"grey-3","text-color":"black",icon:"remove",onClick:$=>u(b.line)},null,8,["onClick"]),n("span",Es,_(b.line.quantity),1),l(x,{round:"",unelevated:"",size:"md",color:"grey-3","text-color":"black",icon:"add",onClick:$=>p(b.line)},null,8,["onClick"])]),m.value?(t(),g("span",Ds,_(f(J)(b.lineTotal)),1)):R("",!0),l(x,{class:"line-delete",flat:"",round:"",size:"md",icon:"delete",color:"red",onClick:$=>f(e).setLineQuantity(b.line,0)},null,8,["onClick"])])]))),128))])):(t(),g("div",As,"No items in cart")),n("div",Ms,[f(o)!==null?(t(),g("div",zs,[c[0]||(c[0]=n("span",null,"Total",-1)),n("span",Bs,[F(_(f(o))+" ",1),n("span",Ls,_(f(e).register?.currency?.name),1)])])):R("",!0),m.value&&(f(o)===null||f(e).sellTotalCents>0)?(t(),g("div",{key:1,class:xe(["total-row",{"primary-total":f(o)===null}])},[n("span",null,_(f(o)!==null?"USD":"Total"),1),n("span",null,_(f(J)(f(e).sellTotalCents)),1)],2)):R("",!0),a.tip>0?(t(),g("div",Hs,[c[1]||(c[1]=n("span",null,"Tip",-1)),n("span",null,_(f(i)(a.tip)),1)])):R("",!0)])]))}}),Qs=Q(Os,[["__scopeId","data-v-5be34dcf"]]),Us=O({__name:"RegisterCheckoutBar",emits:["checkout"],setup(a,{emit:e}){const o=e,i=j();return(m,r)=>(t(),C(x,{class:"register-checkout-bar",color:"primary",unelevated:"",size:"lg",disable:f(i).cart.length===0,label:"Checkout",onClick:r[0]||(r[0]=u=>o("checkout"))},null,8,["disable"]))}}),qs=Q(Us,[["__scopeId","data-v-4845fbf7"]]),Fs={class:"register-payment-methods"},Vs={key:0,class:"method-reason"},Ks={key:0,class:"no-methods"},Ys=O({__name:"RegisterPaymentMethods",emits:["method","back"],setup(a,{emit:e}){const o=e,i=j(),m=y(()=>i.paymentMethods),r=p=>{switch(p){case"CASH":return"local_atm";case"CARD_PRESENT":return"credit_card";case"CURRENCY":return"toll";case"NONE":return"account_balance_wallet"}},u=p=>{switch(p){case"CASH":return"Cash";case"CARD_PRESENT":return"Credit";case"CURRENCY":return i.register?.currency?.name??"Currency";case"NONE":return"Customer Balance"}};return(p,s)=>(t(),g("div",Fs,[s[1]||(s[1]=n("div",{class:"methods-title"},"How are they paying?",-1)),(t(!0),g(L,null,Y(m.value,c=>(t(),g("div",{class:"method",key:c.tender},[l(x,{class:"method-btn",color:c.tender==="NONE"?"secondary":"primary",unelevated:"",size:"lg",disable:!c.enabled,icon:r(c.tender),label:u(c.tender),onClick:b=>o("method",c.tender)},null,8,["color","disable","icon","label","onClick"]),c.reason!==null?(t(),g("div",Vs,_(c.reason),1)):R("",!0)]))),128)),m.value.length===0?(t(),g("div",Ks," No payment methods are available for this cart — check the register's accepted tenders. ")):R("",!0),l(x,{class:"back-btn",flat:"",size:"lg",icon:"arrow_back",label:"Back",onClick:s[0]||(s[0]=c=>o("back"))})]))}}
1),Gs=Q(Ys,[["__scopeId","data-v-8b1e7505"]]),js={class:"cash-panel"},Ws={class:"summary-header"},Xs={class:"cash-summary"},Zs={class:"summary-row"},Js={class:"summary-due"},en={class:"tendered-display"},tn={class:"tendered-amount"},an={key:0,class:"cash-result cash-change"},sn={class:"result-amount"},nn={key:1,class:"cash-result cash-short"},ln={class:"result-amount"},on={key:2,class:"cash-result cash-hint"},rn={class:"summary-side summary-side-right"},cn={class:"entry-row"},un={class:"keypad-wrap"},dn={class:"denominations"},mn=O({__name:"RegisterCashConfirm",props:{modelValue:{type:Boolean},amountLabel:{},amountCents:{},loading:{type:Boolean}},emits:["update:modelValue","confirm"],setup(a,{emit:e}){const o=a,i=e,m=[1,5,10,20,50,100],r=P(0),u=y(()=>J(r.value)),p=y(()=>r.value>=o.amountCents),s=y(()=>Math.max(0,r.value-o.amountCents)),c=y(()=>J(s.value)),b=y(()=>J(Math.max(0,o.amountCents-r.value))),$=A=>{o.loading||(A==="00"?r.value=r.value*100:typeof A=="number"?r.value=r.value*10+A:A===null&&r.value>0&&(r.value=Math.floor(r.value/10)))},D=A=>{o.loading||(r.value=r.value+A*100)},w=()=>{o.loading||(r.value=o.amountCents)},z=()=>{o.loading||(r.value=0)};return de(()=>o.modelValue,A=>{A&&(r.value=0)}),(A,S)=>(t(),C(ce,{"model-value":a.modelValue,persistent:"",maximized:"","transition-show":"slide-up","transition-hide":"slide-down","onUpdate:modelValue":S[2]||(S[2]=k=>i("update:modelValue",k))},{default:h(()=>[l(ne,{class:"register-cash-confirm"},{default:h(()=>[l(G,{class:"cash-header"},{default:h(()=>[S[3]||(S[3]=n("div",{class:"cash-title"},"Cash Payment",-1)),l(st),l(x,{flat:"","no-caps":"",class:"cancel-btn",label:"Cancel",disable:a.loading,onClick:S[0]||(S[0]=k=>i("update:modelValue",!1))},null,8,["disable"])]),_:1}),l(G,{class:"cash-body"},{default:h(()=>[n("div",js,[n("div",Ws,[S[8]||(S[8]=n("div",{class:"summary-side"},null,-1)),n("div",Xs,[n("div",Zs,[S[4]||(S[4]=n("span",{class:"summary-label"},"Amount due",-1)),n("span",Js,_(a.amountLabel),1)]),n("div",en,[S[5]||(S[5]=n("div",{class:"tendered-caption"}," Cash received ",-1)),n("div",tn,_(u.value),1)]),p.value?(t(),g("div",an,[S[6]||(S[6]=F(" Change due ",-1)),n("span",sn,_(c.value),1)])):r.value>0?(t(),g("div",nn,[S[7]||(S[7]=F(" Short ",-1)),n("span",ln,_(b.value),1)])):(t(),g("div",on," Enter the cash received "))]),n("div",rn,[l(x,{outline:"","no-caps":"",class:"clear-btn",color:"negative",icon:"close",label:"Clear",disable:a.loading||r.value===0,onClick:z},null,8,["disable"])])]),n("div",cn,[n("div",un,[l(at,{onKeypadPress:$})]),n("div",dn,[(t(),g(L,null,Y(m,k=>l(x,{key:k,unelevated:"","no-caps":"",class:"denomination-btn",color:"blue-grey-1","text-color":"blue-grey-9",label:`+ $${k}`,disable:a.loading,onClick:M=>D(k)},null,8,["label","disable","onClick"])),64)),l(x,{unelevated:"","no-caps":"",class:"exact-btn",color:"primary",icon:"price_check",label:`Exact · ${a.amountLabel}`,disable:a.loading,onClick:w},null,8,["label","disable"])])]),l(x,{class:"confirm-btn",color:"green",unelevated:"","no-caps":"",size:"lg",label:`I've Collected ${a.amountLabel}`,loading:a.loading,disable:!p.value||a.loading,onClick:S[1]||(S[1]=k=>i("confirm",s.value))},null,8,["label","loading","disable"])])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),vn=Q(mn,[["__scopeId","data-v-2be1adab"]]),pn={key:0,class:"quick-tip"},gn={class:"tip-options"},fn=["onClick"],hn={class:"percent"},yn={class:"amount"},bn={key:1,class:"custom-tip"},Cn={class:"custom-amount"},_n=O({__name:"RegisterTipPrompt",setup(a){const e=ke(),{currencyName:o,unitPrice:i,tokenTipMode:m,tipAmount:r,tipOptionLabel:u}=mt(),p=[15,20,25],s=P(!1),c=P(0);de(()=>e.stage.value==="tip",A=>{A&&(s.value=!1,c.value=0)});const b=A=>{e.confirmTip(A)},$=()=>{c.value=0,s.value=!0},D=y(()=>m.value?`${c.value} ${o.value}`:J(c.value)),w=A=>{A==="00"?c.value=c.value*100:typeof A=="number"?c.value=c.value*10+A:A===null&&c.value>0&&(c.value=Math.floor(c.value/10))},z=()=>{b(m.value?c.value*i.value:c.value)};return(A,S)=>(t(),C(ce,{"model-value":f(e).stage.value==="tip",persistent:"",maximized:"","transition-show":"slide-up","transition-hide":"slide-down"},{default:h(()=>[l(ne,{class:"register-tip-prompt"},{default:h(()=>[l(G,{class:"tip-header"},{default:h(()=>[S[2]||(S[2]=n("div",{class:"tip-title"},"Add a tip?",-1)),l(st),l(x,{flat:"","no-caps":"",class:"cancel-btn",label:"Cancel",onClick:f(e).cancelTip},null,8,["onClick"])]),_:1}),l(G,{class:"tip-body"},{default:h(()=>[s.value?(t(),g("div",bn,[n("div",Cn,_(D.value),1),l(at,{onKeypadPress:w}),n("div",{class:"confirm-custom",onClick:z}," Confirm Tip | "+_(D.value),1),l(x,{flat:"","no-caps":"",class:"go-back-btn",label:"Go Back to Quick Options",onClick:S[1]||(S[1]=k=>s.value=!1)})])):(t(),g("div",pn,[n("div",gn,[(t(),g(L,null,Y(p,k=>n("div",{class:"tip-option",key:k,onClick:M=>b(f(r)(k))},[n("div",hn,_(k)+"%",1),n("div",yn,_(f(u)(k)),1)],8,fn)),64))]),n("div",{class:"custom-tip-option",onClick:$}," Custom Tip "),n("div",{class:"no-tip-option",onClick:S[0]||(S[0]=k=>b(0))}," No Tip ")]))]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),kn=Q(_n,[["__scopeId","data-v-7c75bdbb"]]),$n={key:1,class:"processing-state"},Sn={key:2,class:"email-step"},In={class:"email-step-buttons"},wn=O({__name:"RegisterCheckoutDialog",setup(a){const e=ke(),o=P(!1);de(e.charge.state,w=>{w!=="idle"&&(o.value=!1)});const i=y(()=>e.charge.isActive.value?"charge":e.submitting.value&&!e.showCashConfirm.value?"processing":o.value?"starting":e.stage.value==="email"?"email":null),m=y(()=>i.value!==null),r=y(()=>i.value==="email"?"top":"standard"),u=P(""),p=P(null),s=y(()=>u.value.trim()!=="");de(m,w=>
1{w&&(u.value="")});const c=[w=>w===""||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(w)||"Please enter a valid email address"],b=()=>{e.stage.value="method"},$=w=>{o.value||e.charge.isActive.value||(u.value="",o.value=!0,e.startCardCharge(w))},D=async()=>{if(u.value===""){$(null);return}await p.value?.validate()&&$(u.value)};return(w,z)=>(t(),C(ce,{"model-value":m.value,persistent:"",position:r.value},{default:h(()=>[l(ne,{class:"register-checkout-dialog"},{default:h(()=>[i.value==="charge"?(t(),C(aa,{key:0,charge:f(e).charge},null,8,["charge"])):i.value==="processing"||i.value==="starting"?(t(),g("div",$n,[z[2]||(z[2]=n("div",{class:"message"},"Processing Payment...",-1)),l(lt,{color:"primary",size:"3em"})])):i.value==="email"?(t(),g("div",Sn,[z[3]||(z[3]=n("div",{class:"email-step-title"},"Email receipt?",-1)),l(Tt,{ref_key:"emailInput",ref:p,modelValue:u.value,"onUpdate:modelValue":z[0]||(z[0]=A=>u.value=A),type:"email",outlined:"",label:"Email address",rules:c,"lazy-rules":"",onKeyup:xt(D,["enter"])},null,8,["modelValue"]),n("div",In,[s.value?(t(),
1C(x,{key:0,class:"email-btn",color:"primary",unelevated:"",size:"lg",label:"Email Receipt",disable:o.value||f(e).charge.isActive.value,onClick:D},null,8,["disable"])):R("",!0),l(x,{class:"email-btn",color:s.value?"grey-7":"primary",outline:s.value,unelevated:!s.value,size:"lg",label:"No Receipt",disable:o.value||f(e).charge.isActive.value,onClick:z[1]||(z[1]=A=>$(null))},null,8,["color","outline","unelevated","disable"]),l(x,{flat:"",label:"Back",onClick:b})])])):R("",!0)]),_:1})]),_:1},8,["model-value","position"]))}}),Rn=Q(wn,[["__scopeId","data-v-474801dd"]]),Tn={class:"pane-right-footer"},xn={class:"footer-main"},Nn=O({__name:"RegisterCheckoutPanel",setup(a){const e=ke();return(o,i)=>(t(),g(L,null,[l(Qs,{tip:f(e).tip.value},null,8,["tip"]),n("div",Tn,[n("div",xn,[f(e).stage.value==="method"?(t(),C(Gs,{key:0,onMethod:f(e).onMethod,onBack:f(e).cancelMethod},null,8,["onMethod","onBack"])):f(e).stage.value==="cart"?(t(),C(qs,{key:1,onCheckout:f(e).beginCheckout},null,8,["onCheckout"])):R("",!0)])]),l(vn,{modelValue:f(e).showCashConfirm.value,"onUpdate:modelValue":i[0]||(i[0]=m=>f(e).showCashConfirm.value=m),"amount-label":f(e).cashAmountLabel.value,"amount-cents":f(e).cashAmountCents.value,loading:f(e).cashSubmitting.value,onConfirm:f(e).confirmCash},null,8,["modelValue","amount-label","amount-cents","loading","onConfirm"]),l(kn),l(Rn)],64))}}),vt=Q(Nn,[["__scopeId","data-v-e3014542"]]),Pn={class:"pane-left"},En=O({__name:"RegisterSalesLayout",setup(a){const e=ke(),o=j(),i=P(null),{height:m}=Xe(i,void 0,{box:"border-box"}),r=y(()=>(o.register?.operations.reload??!1)&&o.register?.currency!==null);return(u,p)=>(t(),g("div",{class:"shell-panes",style:Ze({"--sheet-height":`${f(m)}px`})},[n("div",Pn,[f(o).customer?(t(),C(ct,{key:0})):R("",!0),f(e).showScanPane.value?(t(),C(ut,{key:1,prompt:f(e).scanPrompt.value,onFound:f(e).scanFound,onCancel:f(e).cancelScan},null,8,["prompt","onFound","onCancel"])):(t(),g(L,{key:2},[r.value?(t(),C(dt,{key:0})):R("",!0),l(rt)],64))]),n("div",{class:"pane-right",ref_key:"paneRight",ref:i},[l(vt)],512)],4))}}),Dn=Q(En,[["__scopeId","data-v-a2d4ac93"]]),An={class:"pane-left"},Mn=O({__name:"RegisterReloadLayout",setup(a){const e=ke(),o=j(),i=y(()=>{const p=o.register;if(!p?.currency)return!1;const s=p.currency.itemId;return p.items.some(c=>c.itemId===s)}),m=P(null),{height:r}=Xe(m,void 0,{box:"border-box"}),u=()=>{e.stage.value="scan"};return(p,s)=>(t(),g("div",{class:"shell-panes",style:Ze({"--sheet-height":`${f(r)}px`})},[n("div",An,[f(o).customer?(t(),C(ct,{key:0})):R("",!0),f(e).showScanPane.value?(t(),C(ut,{key:1,prompt:f(e).scanPrompt.value,onFound:f(e).scanFound,onCancel:f(e).cancelScan},null,8,["prompt","onFound","onCancel"])):(t(),g(L,{key:2},[f(o).customer===null?(t(),C(x,{key:0,class:"scan-customer-hero",color:"secondary",unelevated:"",size:"lg",icon:"qr_code_scanner",label:"Scan Customer",onClick:u}
1)):R("",!0),i.value?(t(),C(dt,{key:1})):R("",!0),f(o).sortedItems.length>0||f(o).sortedBundles.length>0?(t(),C(rt,{key:2})):R("",!0)],64))]),n("div",{class:"pane-right",ref_key:"paneRight",ref:m},[l(vt)],512)],4))}}),zn=Q(Mn,[["__scopeId","data-v-1b91aecd"]]),Bn={key:0,class:"no-register"},Ln=O({__name:"RegisterShell",setup(a){const e=j();return Nt(ot,Ia()),Pt(()=>{e.refreshIfChanged()},6e4),We(()=>{e.hasRegister?e.refreshIfChanged():e.hydrate()}),(o,i)=>(t(),C(Et,{class:"register-shell gb-internal-page"},{default:h(()=>[f(e).hasRegister?f(e).isReloadRegister?(t(),C(zn,{key:1})):(t(),C(Dn,{key:2})):(t(),g("div",Bn,[f(e).hydrating?(t(),C(nt,{key:0,color:"primary",size:"3em"})):(t(),g(L,{key:1},[l(ae,{name:"point_of_sale",size:"48px",color:"grey-6"}),i[1]||(i[1]=n("div",{class:"no-register-title"},"No register assigned",-1)),i[2]||(i[2]=n("div",{class:"no-register-text"}," Your account doesn't have a register configured. Ask an organizer to assign you a register profile, then pull down or reopen the app. ",-1)),l(x,{color:"primary",label:"Check Again",onClick:i[0]||(i[0]=m=>f(e).hydrate())})],64))]))]),_:1}))}}),dl=Q(Ln,[["__scopeId","data-v-cb140258"]]);export{dl as default};

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.