1var ne=Object.defineProperty,le=Object.defineProperties;var oe=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var ie=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var G=(n,u,o)=>u in n?ne(n,u,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[u]=o,F=(n,u)=>{for(var o in u||(u={}))ie.call(u,o)&&G(n,o,u[o]);if(L)for(var o of L(u))re.call(u,o)&&G(n,o,u[o]);return n},Y=(n,u)=>le(n,oe(u));import{b1 as H,b2 as de,r as x,S as O,f as U,o as m,w as $,j as I,g as s,h as _,i as e,_ as R,l as f,F as B,m as Q,t as b,k as z,bc as ue,D as ce,b4 as K,K as me,y as W,a as ve,e as A,B as J,p as C,E as N,Z as S,n as pe,bl as _e,q as Z,ch as fe,W as ye,b as ge,Y as he,H as be}from"./index-DkHxERqz.js";import{_ as ke}from"./Breadcrumbs.vue_vue_type_script_setup_true_lang-9UEkAjMt.js";import{_ as X}from"./AttendEventModal-BYHoVhcI.js";import{I as M}from"./Input-Bm08PcR5.js";import{a as ee,_ as xe}from"./TicketCard-DQHhK_9V.js";import{c as $e,_ as we}from"./FormControl.vue_vue_type_script_setup_true_lang-Dc-cNXff.js";import{r as Ve}from"./RegistrationQuestions-Bm4yoiIg.js";import"./form-mfsyIw-y.js";const De={class:"text-gray-800"},Te={class:"flex items-center gap-2 text-sm text-red-600 border border-red-500 p-2 rounded-md mt-2 bg-red-50"},Ie={class:"text-gray-500 font-sans"},qe={class:"flex justify-end space-x-2"},Se={__name:"Attendees",props:H({attendees:{type:Array,required:!0},edit:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:H(["update:attendees"],["update:modelValue"]),setup(n,{emit:u}){const o=de(n,"modelValue"),k=x(!1),i=x(""),p=u,h=n,g=()=>{k.value=!0,i.value="";const r=K(h.attendees);for(const c of r)if(!c.full_name||!c.email||!c.phone){i.value="Please fill in all attendee details before saving.",k.value=!1;return}ee.attendees=r,k.value=!1,o.value=!1,p("update:attendees")},D=()=>{i.value="",k.value=!1};return O(o,r=>{r||D()}),(r,c)=>(m(),U(e(ce),{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=y=>o.value=y),options:{size:"4xl"}},{"body-title":$(()=>[c[2]||(c[2]=s("h3",{class:"text-2xl font-semibold text-ink-gray-9"},"Attendees",-1)),s("span",De,b(r.__("Your tickets will automatically be sent to you and your guests. You will simply need to fill in their Name, Email address and phone number.")),1),c[3]||(c[3]=s("br",null,null,-1)),s("div",Te,[_(e(ue),{size:16,class:"flex-shrink-0"}),s("span",null,b(r.__("The First record is for the primary ticket holder and will be prompted for payment")),1)])]),"body-content":$(()=>[(m(!0),f(B,null,Q(n.attendees,(y,d)=>(m(),f("div",{key:d,class:"space-y-2 md:space-y-5 md:flex items-center justify-center md:space-x-4"},[s("h1",Ie,"Ticket #"+b(d+1),1),_(e(M),{required:"",name:`full_name_${d}`,type:"text",placeholder:"John Doe",label:"Full Name",modelValue:n.attendees[d].full_name,"onUpdate:modelValue":a=>n.attendees[d].full_name=a},null,8,["name","modelValue","onUpdate:modelValue"]),_(e(M),{required:"",name:`email_${d}`,type:"email",placeholder:"[email protected]",label:"Email",modelValue:n.attendees[d].email,"onUpdate:modelValue":a=>n.attendees[d].email=a},null,8,["name","modelValue","onUpdate:modelValue"]),_(e(M),{required:"",name:`phone_${d}`,type:"text",placeholder:"0712345678",label:"Phone Number",modelValue:n.attendees[d].phone,"onUpdate:modelValue":a=>n.attendees[d].phone=a},null,8,["name","modelValue","onUpdate:modelValue"])]))),128)),_(e(z),{message:i.value,class:"w-1/2 mt-4 mx-auto border border-red-500 rounded-md p-2 flex justify-center"},null,8,["message"])]),actions:$(()=>[s("div",qe,[_(e(R),{variant:"solid",theme:"green",onClick:g,loading:k.value},{default:$(()=>[...c[4]||(c[4]=[I(" Save ",-1)])]),_:1},8,["loading"]),_(e(R),{variant:"outline",theme:"red",onClick:c[0]||(c[0]=y=>o.value=!1)},{default:$(()=>[...c[5]||(c[5]=[I(" Cancel ",-1)])]),_:1})])]),default:$(()=>[c[6]||(c[6]=I(" >",-1))]),_:1},8,["modelValue"]))}},Ce={class:"space-y-2"},Ne={class:"text-2xl font-bold text-gray-900"},Ue={class:"text-sm text-gray-500"},Re=["aria-label"],Me=["aria-checked","tabindex","onClick","onKeydown"],je={key:0,class:"flex flex-col gap-2"},Ee={for:"number-of-tickets",class:"text-sm text-gray-700 mb-2"},Pe={class:"flex items-center gap-3"},te={__name:"Ticket",props:{tickets:{type:Array,required:!0},event:{type:String,required:!0},eventDetails:{type:Object,required:!1}},setup(n){const u=x(!1),o=x(null),k=me("$user"),{isLoggedIn:i}
1=W(),p=x(1),h=x(!1),g=x([{full_name:"",email:"",phone:""}]),D=x(!1),r=ve({ticket_type:"",price:"",currency:"",ticket_category:"",ticket_capacity:"",phone:i?k.data.phone:"",ticket_name:"",email:i?k.data.email:"",full_name:i?k.data.full_name:""});O(p,t=>{if(t<1){g.value=[];return}g.value=Array.from({length:t},()=>({full_name:"",email:"",phone:""}))});const c=n,y=A(()=>{var t,l;return((l=(t=c.eventDetails)==null?void 0:t.event_registration_questions)==null?void 0:l.length)>0}),d=A(()=>r.price*p.value),a=A(()=>!y.value&&r.ticket_category==="Individual"),w=()=>{Z.push({name:"CheckoutSummary"})},q=()=>{const t=K(r);t.ticket_category==="Group"&&(g.value=Array.from({length:t.ticket_capacity},()=>({full_name:"",email:"",phone:""}))),h.value=!0,ee.TicketDetails={ticket_type:t.ticket_name,number_of_tickets:p.value,total_price:d.value}},j=[],ae=A(()=>{const t=c.tickets.findIndex(l=>l.name===o.value);return t===-1?0:t});function E(t){var V;const l=c.tickets.length;if(!l)return;const v=(t+l)%l;P(c.tickets[v]),(V=j[v])==null||V.focus()}function P(t){o.value=t.name,u.value=!0,r.ticket_type=t.title,r.price=t.price,r.currency=t.currency,r.ticket_name=t.name,r.ticket_category=t.ticket_type,r.ticket_capacity=t.ticket_capacity,p.value=1}const se=t=>{const l=Number(t);p.value=l>=1?l:1};return O(h,t=>{t||(g.value=[{full_name:"",email:"",phone:""}])}),(t,l)=>(m(),f(B,null,[s("div",null,[s("div",Ce,[s("h3",Ne,b(t.__("Select Your Ticket")),1),s("p",Ue,b(t.__("Choose the perfect ticket for your experience")),1)]),s("div",{class:J({"grid grid-cols-1 md:grid-cols-2":!o.value,"grid grid-cols-1 md:grid-cols-2 gap-4":o.value})},[s("div",{class:"mt-6 space-y-3",role:"radiogroup","aria-label":t.__("Select Your Ticket")},[(m(!0),f(B,null,Q(c.tickets,(v,V)=>(m(),f("div",{key:v.id,ref_for:!0,ref:T=>j[V]=T,role:"radio","aria-checked":o.value===v.name,tabindex:ae.value===V?0:-1,class:J(["cursor-pointer",{"border-2 border-red-500 rounded-2xl shadow-md shadow-red-100":o.value===v.name,"border-gray-100 hover:border-red-300":o.value!==v.name}]),onClick:T=>P(v),onKeydown:[N(S(T=>P(v),["prevent"]),["enter"]),N(S(T=>P(v),["prevent"]),["space"]),N(S(T=>E(V+1),["prevent"]),["down"]),N(S(T=>E(V+1),["prevent"]),["right"]),N(S(T=>E(V-1),["prevent"]),["up"]),N(S(T=>E(V-1),["prevent"]),["left"])]},[_(xe,{ticket:v},null,8,["ticket"])],42,Me))),128))],8,Re),u.value?(m(),f("form",{key:0,class:"mt-6 space-y-3",onSubmit:l[6]||(l[6]=S((...v)=>t.proceedToPay&&t.proceedToPay(...v),["prevent"]))},[_(e(M),{name:"ticket_type",type:"text",label:t.__("Ticket Type"),modelValue:r.ticket_type,"onUpdate:modelValue":l[0]||(l[0]=v=>r.ticket_type=v),readonly:""},null,8,["label","modelValue"]),_(e(M),{name:"price",type:"text",label:t.__("Price"),value:d.value,modelValue:r.price,"onUpdate:modelValue":l[1]||(l[1]=v=>r.price=v),readonly:""},null,8,["label","value","modelValue"]),a.value?(m(),f("div",je,[s("label",Ee,b(t.__("Number of Tickets")),1),s("div",Pe,[_(e(R),{type:"button",theme:"blue",variant:"outline",onClick:l[2]||(l[2]=v=>p.value=Math.max(1,p.value-1)),disabled:p.value<=1},{default:$(()=>[...l[8]||(l[8]=[I(" - ",-1)])]),_:1},8,["disabled"]),pe(s("input",{id:"number-of-tickets",type:"number","onUpdate:modelValue":l[3]||(l[3]=v=>p.value=v),min:"1",max:"10",onInput:l[4]||(l[4]=v=>se(v.target.value)),class:"w-20 h-10 text-center border border-gray-300 rounded-md px-3 py-2 focus:ring-2 focus:ring-red-500 focus:border-transparent"},null,544),[[_e,p.value,void 0,{number:!0}]]),_(e(R),{type:"button",theme:"green",variant:"outline",onClick:l[5]||(l[5]=v=>p.value++),disabled:p.value>=10},{default:$(()=>[...l[9]||(l[9]=[I(" + ",-1)])]),_:1},8,["disabled"])])])):C("",!0),_(e(R),{theme:"red",variant:"solid",onClick:q,type:"button",class:"w-full mt-4"},{default:$(()=>[I(b(t.__("Get Tickets")),1)]),_:1})],32)):C("",!0)],2)]),_(Se,{modelValue:h.value,"onUpdate:modelValue":l[7]||(l[7]=v=>h.value=v),attendees:g.value,edit:D.value,"onUpdate:attendees":w},null,8,["modelValue","attendees","edit"])],64))}},Ae={key:0},Be={class:"bg-white rounded-2xl shadow-lg overflow-hidden mb-2"},Fe={class:"bg-gradient-to-r from-red-500 to-red-600 px-8 py-10"},Ye={class:"text-3xl font-sans font-bold text-white mb-2"},Oe={class:"text-red-50 text-lg"},Qe={class:"px-8 py-6 bg-gray-50 border-b border-gray-200"},ze={class:"flex items-start gap-2"},Ke={class:"text-gray-700 leading-relaxed"},Le={class:"bg-white rounded-2xl shadow-lg p-4 md:p-8"}
1,Ge={class:"text-2xl font-semibold text-gray-800 mb-6 pb-4 border-b border-gray-200"},He={class:"space-y-6"},Je={class:"rounded-xl md:p-6 transition-all duration-200 hover:shadow-md"},We={class:"block mb-3"},Ze={class:"text-gray-900 font-medium text-lg flex items-start"},Xe={class:"inline-flex items-center justify-center w-7 h-7 rounded-full bg-red-100 text-red-600 text-sm font-semibold mr-3 flex-shrink-0 mt-0.5"},et={class:"flex-1"},tt={key:0,class:"text-red-500"},at={key:0,class:"block text-sm text-gray-500 mt-2 ml-10"},st={class:"ml-10"},nt={class:"flex justify-end"},lt={key:1},ot={__name:"EventQuestions",props:{eventDetail:{type:Object,required:!0}},setup(n){const u=x([]),o=x(""),k=x(!1),{addResponses:i}=Ve(),p=y=>{const d=u.value.find(a=>a.question_id===y);return d?d.response:null};function h(y,d,a){const w=u.value.findIndex(j=>j.question_id===y),q={question_id:y,question:d,response:a};if(w!==-1){u.value[w].response=a;return}else u.value.push(q)}const g=n,D=y=>{switch(y){case"Text":return"text";case"Select":return"select";case"Yes/No":return"select";case"Email":return"email";case"Phone":return"tel";case"Date":return"date";default:return"text"}},r=()=>{const y=g.eventDetail.data.event_registration_questions.filter(d=>d.is_required);for(const d of y){const a=u.value.find(w=>w.question_id===d.question_id);if(!a||!a.response||a.response.length===0){o.value=`Please provide input to the following question(s): "${d.question}"`;return}}o.value="",c()},c=()=>{i(K(u.value)),k.value=!0};return(y,d)=>k.value?(m(),f("div",lt,[n.eventDetail.data.is_ticketed?(m(),U(te,{key:1,eventId:n.eventDetail.data.name,tickets:n.eventDetail.data.tickets,event:n.eventDetail.data.name,eventDetails:n.eventDetail.data},null,8,["eventId","tickets","event","eventDetails"])):(m(),U(X,{key:0,eventId:n.eventDetail.data.name,eventName:n.eventDetail.data.title},null,8,["eventId","eventName"]))])):(m(),f("div",Ae,[s("div",Be,[s("div",Fe,[s("h1",Ye,b(n.eventDetail.data.title),1),s("p",Oe,b(y.__("Event Registration")),1)]),s("div",Qe,[s("div",ze,[_(e(fe),{class:"w-5 h-5 text-red-500 mt-0.5 flex-shrink-0"}),s("p",Ke,b(y.__("Please fill in the following registration information. Fields marked with * are mandatory.")),1)])])]),s("div",Le,[s("h2",Ge,b(y.__("Registration Information")),1),s("div",He,[(m(!0),f(B,null,Q(n.eventDetail.data.event_registration_questions,(a,w)=>(m(),f("div",{key:w+1,class:"group"},[s("div",Je,[s("label",We,[s("span",Ze,[s("span",Xe,b(w+1),1),s("span",et,[I(b(a.question)+" ",1),a.is_required?(m(),f("span",tt,"*")):C("",!0)])]),a.help_text?(m(),f("span",at,b(a.help_text),1)):C("",!0)]),s("div",st,[a.question_type==="MultiSelect"?(m(),U(e($e),{key:0,multiple:!0,options:a.options,modelValue:p(a.question_id),"onUpdate:modelValue":q=>h(a.question_id,a.question,q),class:"w-full"},null,8,["options","modelValue","onUpdate:modelValue"])):(m(),U(e(we),{key:1,type:D(a.question_type),placeholder:a.help_text?a.help_text:"",options:a.options,class:"w-full",modelValue:p(a.question_id),"onUpdate:modelValue":q=>h(a.question_id,a.question,q)},null,8,["type","placeholder","options","modelValue","onUpdate:modelValue"]))])])]))),128)),_(e(z),{message:o.value,class:"mx-auto border border-red-500 rounded-md flex justify-center r p-2 md:w-3/4"},null,8,["message"]),s("div",nt,[_(e(R),{variant:"solid",theme:"red",size:"md",onClick:d[0]||(d[0]=a=>r())},{default:$(()=>[I(b(y.__("Submit")),1)]),_:1})])])])]))}},it={class:"min-h-screen bg-gradient-to-br from-gray-50 to-gray-100 py-2 md:py-8 px-4"},rt=["aria-busy"],dt={key:0,class:"flex items-center justify-center py-20"},ut={key:1,class:"bg-white rounded-2xl shadow-lg p-8"},ct={key:2},mt={key:0,class:"space-y-6"},vt={key:1},pt={key:2},wt={__name:"EventRegistration",setup(n){const u=ye(),o=x(u.params.eventRoute),{isLoggedIn:k}=W(),i=ge({url:"onerc_vmms.volunteer_and_member_management.api.events.get_event_details",makeParams(){return{event_name:o.value}},auto:!0,cache:["event",o.value],onSuccess(p){var h,g;!k&&(((h=i.data)==null?void 0:h.event_access)==="Private"||((g=i.data)==null?void 0:g.event_access)==="Members Only")&&(he.error("This is a private event. Please log in to view event details."),setTimeout(()=>{Z.push({name:"Login"})},4e3))},transform(p){const h=p.event_registration_questions.map(g=>{let D=[];return["Select","Yes/No","MultiSelect"].includes(g.question_type)&&t
1ypeof g.options=="string"&&(D=g.options.split(` 2`).map(r=>r.trim()).filter(Boolean).map(r=>({label:r,value:r}))),Y(F({},g),{options:D})});return Y(F({},p),{event_registration_questions:h})}});return(p,h)=>(m(),f("div",it,[e(i).data?(m(),U(e(ke),{key:0,items:[{label:"Events",route:"/events"},{label:e(i).data.title,route:"/event/"+e(i).data.route},{label:"Registration"}],class:"mb-6 max-w-4xl mx-auto"},null,8,["items"])):C("",!0),s("div",{class:"max-w-4xl mx-auto","aria-busy":e(i).loading},[e(i).loading?(m(),f("div",dt,[_(be)])):e(i).error?(m(),f("div",ut,[_(e(z),{message:"Failed to load event details."})])):e(i).data?(m(),f("div",ct,[e(i).data.event_registration_questions.length?(m(),f("div",mt,[_(ot,{eventDetail:e(i)},null,8,["eventDetail"])])):e(i).data.is_ticketed?!e(i).data.event_registration_questions.length&&e(i).data.is_ticketed?(m(),f("div",pt,[_(te,{eventId:e(i).data.name,tickets:e(i).data.tickets,event:e(i).data.name},null,8,["eventId","tickets","event"])])):C("",!0):(m(),f("div",vt,[_(X,{eventId:e(i).data.name,eventName:e(i).data.title},null,8,["eventId","eventName"])]))])):C("",!0)],8,rt)]))}};export{wt as default}; 3//# sourceMappingURL=EventRegistration-DGuEge37.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.