1import{A as T,e as f,b8 as F,b9 as G,j as e,T as k,t as N,q as E,o as P,S as R,B as L,ba as B,w as V,u as _,M as I}from"./entry.client-BF1tJIhu.js";import{M as q}from"./Accordion-C3Rf-hB2.js";import{L as D}from"./LoadingResults-BL-vfXql.js";import{N as O}from"./NoResults-B0C5vLHC.js";import{S as U}from"./Transition-BTIyssUe.js";import{S as z,P as w}from"./SidebarLayout-CYs8a6ti.js";import{C as Y,a as H}from"./CheckoutForm-BIUM6YLz.js";import{u as J}from"./useCartController-CAg8YbAi.js";import{z as $}from"./index-MLNr-jcP.js";import{F as x,a as K}from"./ZodForm-D9Ait_lH.js";import{u as Q}from"./useRestorableState-C_3qaNNQ.js";import{u as W}from"./useSearchParams-eEjfaWaP.js";import"./index-CWWd72kg.js";import"./index-CCDKe8Fw.js";import"./index-C04FzcVl.js";import"./ErrorMessage-Duye3aIz.js";import"./index-BS5DzTJm.js";import"./MyInfoForm-Buw1nhD4.js";import"./Field-DwH_Kkly.js";import"./RichSelect-Bpdg6iaB.js";import"./react-icons.esm-BrOTrqLX.js";import"./floating-ui.dom-D0RElrgj.js";import"./index-Btu-ytwD.js";import"./Checkbox-DPr6X9KO.js";import"./SimpleSelect-CTEPCkQw.js";function X(t){var s,r;let n=1;return((r=(s=t.data)==null?void 0:s.contents)==null?void 0:r.nodes.flatMap(i=>{var d,c,l;if(((d=i.product)==null?void 0:d.node.__typename)!=="VariableProduct"||!i.variation||!i.product.node.event)return[];let o=[];i.product.node.event.title;for(let m=0;m<(i==null?void 0:i.quantity);m++){const u=i.variation.node.description+` (Attendee #${n++})`;i.variation.node.isMembersOnly?o.push({label:u,priceId:(c=i.variation)==null?void 0:c.node.databaseId,type:"member",checked:!1,memberNumber:""}):o.push({label:u,priceId:(l=i.variation)==null?void 0:l.node.databaseId,type:"guest",email:"",name:""})}return o}))??[]}function Z(t,n){const s=new Map;for(let r of n){const i=t.find(o=>o.priceId===r.priceId&&!s.has(o));i&&s.set(i,r)}return t.map(r=>s.get(r)||r)}function p(t){return t.every(n=>n.type==="member"?!!n.memberNumber&&n.checked:n.type==="guest"?!!n.name&&A(n.email):!1)}const ee=$.string().email();function A(t,n=!1){return t?ee.safeParse(t).success:!n}function te({alreadyUsed:t,...n}){var u,h,v,b,y,C,S;const s=T(),[r,i]=f.useState(n.value??{memberNumber:"",checked:!1}),o=F(void 0,{enabled:s.hasAccess}),d=r.memberNumber&&(t==null?void 0:t.includes(r.memberNumber??"")),c=((b=(v=(h=(u=o.data)==null?void 0:u.customer)==null?void 0:h.businessTeam)==null?void 0:v.users)==null?void 0:b.map(a=>{var g,j;return{number:(g=a==null?void 0:a.memberData)==null?void 0:g.memberNumber,label:a==null?void 0:a.name,enabled:!0,isMe:((j=a==null?void 0:a.memberData)==null?void 0:j.memberNumber)===s.memberNumber}}))??[];s.hasAccess&&s.memberNumber&&!c.find(a=>a.number===s.memberNumber)&&c.unshift({number:s.memberNumber,label:"Me",enabled:!0,isMe:!0}),c.sort((a,g)=>a.isMe?-1:1).forEach(a=>{a.enabled=!(t!=null&&t.includes(a.number))&&r.memberNumber!==a.number});const l=G();f.useEffect(()=>{if(!r.memberNumber){n.onChange({memberNumber:"",checked:!1});return}if(r.memberNumber&&!r.checked){if(d){l.reset(),i({...r,checked:!1}),n.onChange({memberNumber:"",checked:!1});return}let a=!1;const g=setTimeout(async()=>{var M;l.reset(),(M=(await l.mutateAsync({number:r.memberNumber??"",forBusinessTeamInvite:n.forBusinessTeamInvite})).verifyMemberNumber)!=null&&M.valid&&!a?(i({...r,checked:!0}),n.onChange({...r,checked:!0})):n.onChange({...r,checked:!1})},500);return()=>{a=!0,clearTimeout(g)}}},[r.memberNumber,r.checked,d]);const m=d?"You can only register once with that member number":((C=(y=l.data)==null?void 0:y.verifyMemberNumber)==null?void 0:C.message)??((S=l.error)==null?void 0:S.message);return e.jsxs("div",{className:"field-stretch",children:[e.jsx(k,{...n,value:r.memberNumber??"",onChange:a=>{i({checked:!1,memberNumber:a.target.value})},error:m}),e.jsx("div",{className:N("type-body-s-roman flex gap-1 items-center mt-2",m?"text-error-dark":"text-grey-dark error:text-error-dark"),children:m?e.jsxs(e.Fragment,{children:[e.jsx(E,{}),e.jsx("span",{children:m})]}):r.checked?e.jsxs(e.Fragment,{children:[e.jsx(P,{}),e.jsxs("span",{children:["Member number verified",r.memberNumber===s.memberNumber?" (it's you!)":""]})]}):l.isPending?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"flex justify-center items-center size-[24px]",children:e.jsx(R,{})}),e.jsx("span",{children:"Checking..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(E,{}),e.jsx("span",{children:"Enter a valid member number"})]})}),c.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.map((a,g)=>e.jsx("a",{className:N("type-body-s-roman",a.enabled?"cursor-pointer underline underline-offset-2 decoration-grey/30":"opacity-30 line-through"),onClick:j=>{j.preventDefault(),a.enabled&&i({checked:!1,memberNumber:a.number})},children:a.isMe?"Use my member number":a.label},g)),n.onChangeToGuest&&e.jsx("a",{onClick:()=>{var a;(a=n.onChangeToGuest)==null||a.call(n)},className:N("type-body-s-roman cursor-pointer underline underline-offset-2 decoration-grey/30"),children:"Enter guest manually"})]})]})}function re(t){const n=T(),[s,r]=f.useState(!1),[i,o]=f.useState(t.items),d=n.planSlug==="design-business"||n.planSlug==="design-business-member";return e.jsx("form",{noValidate:!0,onSubmit:c=>{c.preventDefault(),p(i)?t.onSubmit(i):r(!0)},"data-transition":"children/fade",children:e.jsxs(x.Stack,{children:[i.map((c,l)=>e.jsxs("div",{children:[e.jsx(x.Heading,{children:c.label}),c.type==="guest"?e.jsx(ne,{showErrors:s,value:c,onChange:m=>o(i.map((u,h)=>h==l?m:u))}):e.jsx(ae,{showErrors:s,value:c,canChangeToGuest:d,onChange:m=>o(u=>u.map((h,v)=>v==l?m:h)),alreadyUsed:i.filter((m,u)=>m.type==="member"&&m.checked&&l!==u).map(m=>
1m.type==="member"?m.memberNumber:null).filter(Boolean)})]},l)),e.jsx(K,{submitLabel:"Continue",children:t.backUrl&&e.jsx(L,{href:t.backUrl,variant:"outline",leftIcon:e.jsx(B,{}),children:"Back"})})]})})}function ne(t){const n=t.showErrors&&!t.value.name?"Please enter a name":void 0,s=t.showErrors&&!A(t.value.email)?"Please enter a valid email address":void 0;return e.jsxs(x.Grid,{children:[e.jsx(x.Field,{label:"Full Name",required:!0,error:n,children:e.jsx(k,{type:"text",value:t.value.name,onChange:r=>t.onChange({...t.value,name:r.currentTarget.value})})}),e.jsx(x.Field,{label:"Email",error:s,children:e.jsx(k,{type:"email",placeholder:"[email protected]",value:t.value.email,onChange:r=>t.onChange({...t.value,email:r.currentTarget.value})})})]})}function ae(t){const n=t.showErrors&&!t.value.memberNumber?"Please enter a member number":void 0;return e.jsx(x.Grid,{children:e.jsx(x.Field,{label:"Member Number",required:!0,error:n,children:e.jsx(te,{canUseOwnNumber:!0,onChangeToGuest:t.canChangeToGuest?()=>{t.onChange({type:"guest",label:t.value.label,priceId:t.value.priceId,name:"",email:""}),console.log("onChangeToGuest",t.value)}:void 0,required:!0,value:t.value,onChange:s=>t.onChange({...t.value,...s}),alreadyUsed:t.alreadyUsed})})})}function se(t){var h,v;const n=V(),[s,r]=W({id:"",event:"",step:"checkout"}),i=_(),o=J("event",{doNotSync:!0}),[d,c]=Q("attendees",[]),l=f.useMemo(()=>X(o),[o.data]),m=f.useMemo(()=>Z(l,d),[d,l]),u=f.useMemo(()=>!p(m),[m]);return f.useEffect(()=>{u&&s.step==="checkout"&&r.set("step","attendees")},[u]),i?null:e.jsx(U,{children:o.pending?e.jsx("div",{className:"w-grid mx-auto",children:e.jsx(D,{})}):(v=(h=o.data)==null?void 0:h.contents)!=null&&v.nodes.length?e.jsx(z,{mode:"exact",nav:{children:l.length?[{label:"Attendee Info",url:I.fromPath("/event-checkout",{event:s.event,step:"attendees"})},{label:"Checkout",url:u?void 0:I.fromPath("/event-checkout",{event:s.event})}]:[{label:"Checkout"}]},children:e.jsx("div",{className:"grid-auto",children:s.step==="attendees"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"col-span-full",children:e.jsx(w,{title:"Event Registration",subtitle:"Attendees"})}),e.jsx("div",{className:"col-span-12 sm:col-span-5 lg:col-span-4","data-transition":"children/fade",children:e.jsx(re,{items:m,backUrl:s.event,onSubmit:b=>{c(b),p(b)&&r.set("step","checkout")}})}),e.jsx("div",{className:"hidden md:block md:col-span-4 lg:col-span-2 pb-4","data-transition":"fade",children:e.jsx(q,{header:"Order Summary",children:e.jsx(Y,{controller:o})})})]}):e.jsxs("div",{className:"col-span-full","data-transition":"children/fade",children:[e.jsx(w,{title:"Event Registration",subtitle:"Checkout"}),e.jsx(H,{controller:o,onSuccess:b=>{n.navigate(b.url)},onGoBack:()=>{var b;(b=document.scrollingElement)==null||b.scrollTo({top:0,behavior:"instant"}),l.length?r.set("step","attendees"):window.history.back()},checkoutMetadata:[{key:"_event_id",value:s.id},{key:"_event_attendees",value:JSON.stringify(m)}],agreements:{terms:"I agree to AGDAâs Terms and Conditions and Privacy Policy. ",newsletter:"I'd like to receive AGDA's newsletter and other communications."}})]})})}):e.jsx("div",{className:"w-grid mx-auto",children:e.jsx(O,{heading:"Your cart is empty",helpText:""})})})}se.displayName="View(checkout/checkout)";export{se as default}; 2//# sourceMappingURL=checkout-BtWCkE6k.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.