1import{r as e}from"./index.bb845c6f.js";import{n as t}from"./util.e27bf6cf.js";import{r as a,l as o}from"./validation.c5aa9108.js";import{c as r}from"./index.401dcd69.js";import{u as n}from"./useForm.876592bf.js";import{b as s,c as i,a as m}from"./contactInfoForm.98156e6b.js";import{s as c,u as l,p as d}from"./useStripe.88eb1447.js";import{C as p}from"./CheckoutSection.0403656d.js";import{t as u}from"./trans.27a27004.js";import{C as f}from"./CheckoutLogin.f559a334.js";import{C as y}from"./Checkbox.e2f6974e.js";import{C as h}from"./ContactInformation.2ae74b5f.js";import{p as v}from"./main.d1fc0c73.js";import{P as j}from"./PaymentInformation.a3684af7.js";import{d as b}from"./api.43c922a2.js";import{M as _}from"./Modal.3f943c26.js";import{A as C}from"./AmountField.ca5f8448.js";import{u as w}from"./useQuickDonation.a843ca54.js";import{g}from"./utils.1c801175.js";import{getCardList as k}from"./api.00826bd6.js";import{g as F,o as N}from"./grecaptcha.9af38682.js";import{t as x}from"./utils.e95f39da.js";import{j as I,F as S,a as M}from"./jsx-runtime.d4e47239.js";import{u as G}from"./useAsyncFn.6af64a94.js";import"./_commonjsHelpers.442273fa.js";import"./forms.201d420d.js";import"./api.1d86034a.js";import"./useAsync.3bee05b1.js";import"./useUpdateEffect.bffe2828.js";import"./useFirstMountState.610f7aa8.js";import"./asyncMountAuth.51f7a6c4.js";import"./types.776ffabb.js";import"./types.b6d43d29.js";import"./types.3be95794.js";import"./Field.d2415d48.js";import"./tippy.esm.aa026d10.js";import"./RadioGroup.4d3702e7.js";import"./utils.765e7f0e.js";import"./Card.299c0f30.js";import"./date.9f604f0e.js";import"./timer.024ea3e6.js";import"./money.07caf7b1.js";import"./useClosing.402da397.js";import"./watchlist.885eb868.js";import"./vanilla.b328418a.js";import"./GiftAid.b5f8f859.js";import"./PhoneField.5a32f88c.js";import"./Dropdown.f059f5a6.js";import"./hoist-non-react-statics.cjs.f7c42c52.js";import"./index.88c5d88c.js";import"./api.20e50a26.js";import"./useUpdate.a97e9a13.js";import"./CardForm.016211a8.js";import"./PaymentModal.fbdf1865.js";import"./CardFormat.afb9db9b.js";import"./index.6fb97518.js";import"./store.d0f80b2c.js";import"./state.6b5711dd.js";import"./tslib.es6.26fb367d.js";import"./useMountedState.316c4ef1.js";import"./state.3024fcd5.js";const A={fields:{...s.fields,amount:{validate:e=>!!e||a()},payCC:void 0,hearMore:void 0}},E=Object.keys(A.fields),D="onlineDonation";function B(a){const[s,B]=e.exports.useState(!1),[P,L]=e.exports.useState(a.user_cards),z=g(P),{values:O,getValues:q,messages:R,onChange:T,onBlur:U,setFilled:V}=n((()=>{var e,t,r,n,s,m,l;return{contactInfo:o.initForm({accountType:1===(null==(e=a.user)?void 0:e.is_company)?"company":"private",firstName:(null==(t=a.user)?void 0:t.has_valid_name)?void 0:"",lastName:(null==(r=a.user)?void 0:r.has_valid_name)?void 0:"",companyName:(null==(n=a.user)?void 0:n.has_valid_name)?void 0:"",email:window.IS_LOGGED?void 0:(null==(s=a.user)?void 0:s.email)||"",telPrefix:(null==(m=a.user)?void 0:m.tel_prefix)||"",tel:(null==(l=a.user)?void 0:l.tel_number)||""},i),payment:o.initForm({type:"stripe",stripeCard:(null==z?void 0:z.stripe_card_id)||"",cardNumber:!!z,expiration:!!z,cvv2:!!z},c),terms:!!a.user,newsletter:!1,amount:0,payCC:!1,hearMore:!1}}),A),H=l({account:a.stripe.account,hidden:"stripe"!==O.payment.values.type,onChange:(e,t)=>
1T("payment",o.validateForm(q().payment,{setValues:{[e]:t}})),onBlur:e=>T("payment",o.validateForm(q().payment,{setFilled:e})),itemId:a.event.id,itemType:a.event.type}),Q=w({quickDonationLevels:a.event.quick_donation_levels,onSelection:e=>T("amount",e)}),J=e.exports.useRef(null),[{loading:K,error:W},X]=G((async()=>{if(T("contactInfo",o.validateForm(O.contactInfo,{setFilled:m})),!a.event.unsecure_payments&&(T("payment",o.validateForm(O.payment,{setFilled:d})),!O.payment.values.stripeCard&&!H.cardElementExists()))throw new Error(u("checkout.payment_info.wallet_missing"));const e=V(E);if(!window.IS_LOGGED&&(e.contactInfo||e.terms)||!a.event.unsecure_payments&&!O.payment.values.stripeCard&&e.payment||e.amount)return;const r=q(),n=await b(a.event,r,F(D));if(!n.status)throw new Error(n.message);if(O.newsletter&&x("checkout"),!a.event.unsecure_payments){const e=await H.confirmPayment({itemNumber:n.item_number,itemName:a.event.title,stripeCard:r.payment.values.stripeCard,returnUrl:n.return_url});if(0===e.status)throw new Error(e.message);return new Promise(t)}B(!0),V({amount:!1}),T("amount",0)}),[V,T,O,q]);return J.current=K,I(S,{children:[I("form",{className:"desktop:w-1/2 desktop:gutter mx-auto",onSubmit:e=>{e.preventDefault(),N((()=>{J.current||X()}),D)},children:[M(p,{type:"primary",title:u("donation.donate_now"),description:!window.IS_LOGGED&&M(f,{item:{...a.event,id:a.foundation.id},amount:O.amount})}),!window.IS_LOGGED&&M(h,{item:a.event,contactForm:O.contactInfo,onChange:e=>T("contactInfo",e),showGiftAid:!0,afterContent:I(S,{children:[M(y,{checked:O.terms,onChange:e=>T("terms",e),onBlur:()=>U("terms"),issues:R.terms,className:"mb-6",label:u("donation.terms",{"%terms%":M("a",{href:v("company/tos"),className:"underline",target:"_blank",children:u("checkout.terms_of_service")}),"%privacy%":M("a",{href:v("company/privacy"),className:"underline",target:"_blank",children:u("checkout.privacy")})}),size:"md"}),M(y,{checked:O.newsletter||!1,onChange:e=>T("newsletter",e),onBlur:()=>U("newsletter"),className:"mb-6 last:mb-0",label:u("checkout.newsletter"),size:"md"}),!!a.event.show_hear_more&&M(y,{checked:O.hearMore,onChange:e=>T("hearMore",e),onBlur:()=>U("hearMore"),issues:R.hearMore,className:"mb-6 last:mb-0",label:u("funnel.hear_more",{"%charity%":a.foundation.title,"%charity_title%":a.foundation.privacy_policy_url?M("a",{href:a.foundation.privacy_policy_url,target:"_blank",rel:"noreferrer noopener",children:a.foundation.title}):a.foundation.title}),size:"md"})]})}),!a.event.unsecure_payments&&M(j,{lastStep:!0,canAddNew:!0,type:"pay",cardInputRefs:H,title:u("checkout.payment_info.title"),preview:!!(null==z?void 0:z.stripe_card_id),cards:P,onAddCard:async()=>{const e=await k(a.stripe.account);return 1===e.status&&L(e.cards),e},paymentForm:O.payment,onChange:e=>T("payment",e),itemId:a.event.id,itemType:a.event.type,stripeAccount:a.stripe.account,afterContent:!!a.event.user_pay_cc&&a.event.transaction_rate>0&&M(y,{checked:O.payCC,onChange:e=>T("payCC",e),onBlur:()=>U("payCC"),label:u("funnel.transaction_rate.label",{"%rate%":a.event.transaction_rate}),hint:u("funnel.transaction_rate.info"),size:"md"})}),M(p,{type:"secondary",title:u("donation.donation_amount"),children:M(C,{label:u("donation.amount"),currency:a.event.currency,value:O.amount,quickSelection:Q,onChange:e=>T("amount",e),onBlur:()=>U("amount"),inputClassName:R.amount?"border-danger ring-danger":void 0,issues:R.amount})}),W&&M("p",{className:"col body-3 text-danger w-full mb-4",children:W.message}),M("button",{type:"submit",className:r("btn-primary",K&&"btn-loader"),children:u("donation.donate_now")})]}),s&&M(_,{layout:"modal",size:"sm",onClose:()=>B(!1),children:I("div",{className:"text-center",children:[M("img",{src:v("assets/img/donors.svg"),alt:"",className:"w-10 h-10 mb-4 mx-auto"}),M("h4",{className:"h4-serif mb-2",children:u("donation.thanks.title")}),!!a.event.unsecure_payments&&M("p",{className:"body-2",children:u("donation.thanks.title",{"%charity%":a.foundation.title})})]})})]})}export{B as DonationCheckout};
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.