1"use strict";(self.webpackChunkstarlight_gatsbty=self.webpackChunkstarlight_gatsbty||[]).push([[903],{3847:function(e,t,a){var n=a(6540),r=a(9286);t.A=()=>{const{0:e,1:t}=(0,n.useState)(null);return(0,n.useEffect)((function(){const e=(0,r.W9)(r.II.CSRF_TOKEN);let a="https://secure.starlight.org.au/csrf";null!==e&&(a+="?token="+e);(async()=>{try{const e=await fetch(a,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}}),n=await e.json();n.token&&((0,r.yt)(r.II.CSRF_TOKEN,n.token),t(n.token))}catch(e){console.error(e)}})()}),[]),e}},9419:function(e,t,a){a.r(t),a.d(t,{Head:function(){return D},default:function(){return O}});var n=a(6540),r=a(8714),l=a(9185),o=a(4506),i=a(9123),c=a(2954);var s=a(3847),u=a(7354),d=a(8971),p=a(7961),m=a.n(p),y=a(8338),h=a(4795);const _={[y.QC.NAME_ON_CARD]:"",[y.QC.CARD_TYPE]:"",[y.QC.CARD_NUMBER]:"",[y.QC.EXPIRY_MONTH]:"",[y.QC.EXPIRY_YEAR]:"",[y.QC.CCV]:""},g=e=>{const t=Object.assign({},_);return e.forEach((e=>{switch(e.uniqueId){case"expiry-date":{var a,n;const r=String(null!==(a=e.value)&&void 0!==a?a:"").split("/");t.expiry_month=null!==(n=r[0])&&void 0!==n?n:"",t.expiry_year=r[1]?"20"+r[1]:"";break}case"card-number":{var r;const a=String(null!==(r=e.value)&&void 0!==r?r:"").split(/\s/).join("");t.card_number=a;const n=m()(a);t.card_type=n.length>0?n[0].type:"";break}case"card-name":t.name_on_card=e.value;break;case"cvv":t.ccv=e.value}})),t},b=e=>{let{monthlyDonationDetails:t,formPost:a,csrfToken:n,stickyHoney:r,paymentGateway:l=h.Q9}=e;return{outbound_token:t.outbound_token,outbound_id:t.outbound_id,payment_schedule_guid:t.payment_schedule_guid,[y.QC.CSRF_TOKEN]:n,[y.QC.STICKY_HONEY]:r,[y.QC.PAYMENT_GATEWAY]:l,[y.QC.NAME_ON_CARD]:a.name_on_card,[y.QC.CARD_TYPE]:a.card_type,[y.QC.EXPIRY_MONTH]:a.expiry_month,[y.QC.EXPIRY_YEAR]:a.expiry_year,[y.QC.CARD_TOKEN]:a.card_token,[y.QC.CARD_LAST4]:a.card_last4}},f=(e,t)=>{if(e){const a=e.includes("?")?"&":"?";window.location.replace(""+e+a+"token="+t)}},w=e=>(0,o.A)(e).map((e=>({uniqueId:e.id,isValid:e.dataset.isValidate,disabled:e.disabled,value:e.value}))).filter((e=>!1===e.disabled&&"Addadollaramount"!==e.uniqueId&&""!==e.uniqueId)),E=e=>{let{status:t}=e;return"422"===t?n.createElement("div",{className:"renew-page__error-paragraph"},n.createElement("p",{className:"renew-page__error-msg"},"Unfortunately your attempt to update your donation details has ",n.createElement("strong",null,"NOT been successful"),"."),n.createElement("p",null,"We value your ongoing support. Please call Starlight on 1300 727 827 and we can update your details over the phone. Our team is available to assist you Monday to Friday 9am â 5pm AEST, excluding public holidays."," "),n.createElement("p",null,"Alternatively please try again using your personalised link in the email you received from Starlight.")):n.createElement("p",{className:"renew-page__error-text"},"There is an error, please try again later.")},v=e=>{let{status:t}=e;switch(t){case 409:return n.createElement("div",{className:"renew-page__error-paragraph"},n.createElement("p",null,"Your donation details have already been updated."),n.createElement("p",null,"Please contact Starlight on 1300 727 827 if you believe there is an issue."));case 401:return n.createElement("div",{className:"renew-page__error-paragraph"},n.createElement("p",{className:"renew-page__error-text"},"This link has expired."),n.createElement("p",null,"For security, these links are only valid for a short duration. Please contact Starlight on 1300 727 827 to be issued a new link or to update your donation details via phone. Our team is available to assist you Monday to Friday 9am â 5pm AEST, excluding public holidays."));default:return n.createElement("div",{className:"renew-page__error-paragraph"},n.createElement("p",{className:"renew-page__error-text"},"Hmmm looks like that is not a valid link to update your donation details."),n.createElement("p",null,"Please contact Starlight on 1300 727 827 to be issued a new link or to update your donation details via phone. Our team is available to assist you Monday to Frid
1ay 9am â 5pm AEST, excluding public holidays."))}},k=e=>{var t,a;let{successPage:r=null,failPage:l=null,paymentGateway:o}=e;let p,m,y=null;if("undefined"!=typeof window){const e=new URLSearchParams(window.location.search);y=e.get("token"),p=e.get("success"),m=e.get("error")?"Donation update failed, please try again later.":null}const{0:_,1:k}=(0,n.useState)(!1),{0:x,1:C}=(0,n.useState)(""),{0:N,1:S}=(0,n.useState)(!0),{0:A,1:T}=(0,n.useState)(null!==(t=m)&&void 0!==t?t:null),{0:P,1:O}=(0,n.useState)(null!==(a=p)&&void 0!==a?a:null),{0:D,1:Y}=(0,n.useState)({}),R=(0,s.A)(),[j,F,M]=function(e){let{token:t}=e;const a="invalid",r="loading...",{0:l,1:o}=(0,n.useState)(null),{0:i,1:c}=(0,n.useState)(!1),{0:s,1:u}=(0,n.useState)({outbound_token:null,outbound_id:null,payment_schedule_guid:null,name_on_card:r,card_type:r,card_number:r,expiry_date:r,amount:r}),d=(0,n.useCallback)((()=>null!==s.outbound_token&&null!==s.outbound_id&&null!==s.payment_schedule_guid&&s.name_on_card!==a&&s.card_type!==a&&s.card_number!==a&&s.expiry_date!==a&&s.amount!==a),[s]);return(0,n.useEffect)((function(){i||(t?fetch("https://secure.starlight.org.au/card/details",{method:"POST",headers:{Authorization:"Bearer "+t}}).then((e=>e.json())).then((e=>{if(e.code&&o(e.code),"success"!==e.status)u({outbound_token:null,outbound_id:null,payment_schedule_guid:null,name_on_card:a,card_type:a,card_number:a,expiry_date:a,amount:a});else{const a=e.data;u({outbound_token:t,outbound_id:a.outbound_id,payment_schedule_guid:a.payment_schedule_guid,name_on_card:a.name_on_card,card_type:a.card_type,card_number:a.card_number,expiry_date:a.expiry_date,amount:a.amount})}c(!0)})):u({outbound_token:null,outbound_id:null,payment_schedule_guid:null,name_on_card:a,card_type:a,card_number:a,expiry_date:a,amount:a}))}),[]),[s,d,l]}({token:y}),I=(0,h.oG)(o),{executeRecaptcha:Q}=(0,i._Y)(),V=(0,n.useCallback)((async()=>{if(Q)return await Q("subscription");console.log("Execute recaptcha not yet available")}),[Q]),q=async e=>{e.preventDefault();const t=await V();t&&H(t)},H=async e=>{!0===N&&S(!1);try{const i=G();let c=i;if(I)try{const e=await(0,d.FL)({formEndpoint:"https://secure.starlight.org.au",cardDetails:{cardNumber:i.card_number,cardHolder:i.name_on_card,expiryMonth:i.expiry_month,expiryYear:i.expiry_year,cvv:i.ccv,cardType:i.card_type}});c=Object.assign({},i,{card_token:e.cardToken,card_last4:e.cardLast4,card_type:e.cardType,name_on_card:e.nameOnCard,expiry_month:e.expiryMonth,expiry_year:e.expiryYear})}catch(a){var t;const e=null!==(t=null==a?void 0:a.message)&&void 0!==t?t:"Unable to securely validate card details.";return T(e),l&&f(l,y),void S(!0)}const s=await fetch("https://secure.starlight.org.au/card/renew",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(Object.assign({},b({monthlyDonationDetails:j,formPost:c,csrfToken:R,stickyHoney:x,paymentGateway:o}),{"g-recaptcha-response":e}))});200===s.status?(r?f(r,y):O(!0),m=null,T(null)):(p=null,O(null),s.status?T(n.createElement(E,{status:s.status})):T(n.createElement(E,null)),l&&f(l,y))}catch(a){console.error(a),p=null,O(null),T("There is an error, please try again later."),l&&f(l,y)}S(!0)},U=(0,n.useRef)(),G=()=>U.current?g(w(U.current)):Object.assign({},D),L=function(e,t,a){let n;void 0===a&&(a=!1),n=a?c.hW:void 0!==(null==e?void 0:e.target.checked)?e.target.checked?"checked":"unchecked":null==e?void 0:e.target.value,(0,c.B_)(t,"subscription form",t,n)};return P?n.createElement("div",{className:"renew-page renew-page__container"},n.createElement("div",{className:"renew-page__success-paragraph"},n.createElement("p",{className:"renew-page__success-text"},"Your donation details have been successfully updated."),n.createElement("p",null,"Thank you for your continued support of Starlight in helping to brighten the lives of seriously ill and hospitalised children. Learn more about how your ongoing support helps by visiting the"," ",n.createElement("a",{href:"https://www.starlight.org.au/about-us/what-we-do/our-impact"},"Our impact page.")),n.createElement("p",null,"If you require any further assistance please contact us by calling 1300 727 827. Our Supporter Experience Team is available Monday to Frid
1ay 9am â 5pm AEST, excluding public holidays. Our you can leave us a message via our"," ",n.createElement("a",{href:"https://www.starlight.org.au/contact-us"},"Contact Us")," page."),n.createElement("p",null,"To explore more about Starlight Childrenâs Foundation start with our ",n.createElement("a",{href:"https://www.starlight.org.au/"},"home page")))):F()?n.createElement("div",{className:"renew-page renew-page__container"},n.createElement("p",{className:"renew-page__text"},"Your ",n.createElement("b",null,"current")," monthly donation details:"),n.createElement("table",{className:"renew-page__table"},n.createElement("tbody",null,n.createElement("tr",null,n.createElement("th",null,"Cardholder name: "),n.createElement("td",null,j.name_on_card)),n.createElement("tr",null,n.createElement("th",null,"Card type: "),n.createElement("td",null,j.card_type)),n.createElement("tr",null,n.createElement("th",null,"Last 4 digits of current card: "),n.createElement("td",null,j.card_number)),n.createElement("tr",null,n.createElement("th",
1null,"Expiry date: "),n.createElement("td",null,j.expiry_date)),n.createElement("tr",null,n.createElement("th",null,"Monthly gift amount: "),n.createElement("td",null,isNaN(j.amount)?"":"$",j.amount)))),n.createElement("form",{className:"renew-page__form "+(!F()||P?"hide":""),ref:U,"data-payment-gateway":o,onKeyUp:()=>{if(!U.current)return;const e=w(U.current),t=g(e);k(e.every((e=>"true"===e.isValid))),Y(t)},onSubmit:q,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault()}},n.createElement("input",{value:x,type:"text",name:"a_password",style:{display:"none"},tabIndex:"-1",autoComplete:"off",onChange:e=>C(e.target.value)}),n.createElement("p",{className:"renew-page__text"},"Please enter your ",n.createElement("b",null,"updated card details")," below:"),n.createElement("div",{className:"form-group donation-form"},n.createElement(u.A,{name:"Cardholder name",type:"text",required:!0,disabled:!1,key:"card-name",validation:[],validationShow:!0,msgValidation:"Please enter the name as it appears on your card",showValidaiton:!1,uniqueId:"card-name",options:null,onBlurChanged:L}),n.createElement(u.A,{name:"Card number",type:"text",required:!0,disabled:!1,key:"card-number",validation:[],validationShow:!0,msgValidation:"Please enter a card number",showValidaiton:!1,uniqueId:"card-number",options:null,onBlurChanged:L}),n.createElement(u.A,{name:"Expiry date",type:"text",required:!0,disabled:!1,key:"expiry-date",validation:null,validationShow:!1,msgValidation:"Please enter expiry date in the format MMYY",showValidaiton:!0,uniqueId:"expiry-date",onBlurChanged:L}),n.createElement(u.A,{name:"CVV",type:"text",required:!0,disabled:!1,key:"cvv",validation:null,validationShow:!1,msgValidation:"Please enter the Card Verification Value (CVV) which is a three or four digit number usually located on the back of your card.",showValidaiton:!1,uniqueId:"cvv",onBlurChanged:L})),A?n.createElement("p",{className:"renew-page__error"},A):"",n.createElement("p",{className:"renew-page__muted-text"},"Donations are tax deductible. Registered with ACNC."),n.createElement("div",{className:"renew-page__secure-icon"},n.createElement("p",{className:"renew-page__secure-icon-text"},"This is a secure form"),n.createElement("div",{className:"lock-icon"},n.createElement("img",{src:"//images.ctfassets.net/5c0byp1iji8d/1Ea4w0YE0AH6rFqOX782Em/ebd94f03fcff315da5c0530ed6e21717/icon_padlock.png",alt:"lock icon"}))),n.createElement("button",{type:"submit",className:_?"btn btn-donation":"btn btn-disabled",onKeyDown:e=>{"Enter"===e.key&&q()}},N?"Submit":"Processing..."))):n.createElement("div",{className:"renew-page renew-page__container"},n.createElement(v,{status:M}))};var x=e=>{let{successPage:t=null,failPage:a=null,paymentGateway:r}=e;return n.createElement(i.G3,{reCaptchaKey:"6Lds0dsZAAAAAAdqMfpwWtOLPzDhs6n92pGu84Jq"},n.createElement(k,{successPage:t,failPage:a,paymentGateway:r}))},C=a(6236),N=a(8900),S=a(8040),A=a(273),T=a(7528),P=a(9148);var O=e=>{var t,a;let{data:{contentfulDonationRenew:{headerBanner:o,successPage:i,successUrl:c,failPage:s,failUrl:u}}}=e;const d=(0,C.A)();(0,N.A)(d),(0,S.A)(d),(0,A.A)(d);const p=h.Q9;return n.createElement(r.A,{isDonationHeader:!0},o?n.createElement(l.A,{bannerData:o,forceH1:!0,breadcrumbSettings:{hideBreadcrumb:!0}}):"",n.createElement(x,{successPage:null!==(t=null!=c?c:null==i?void 0:i.slug)&&void 0!==t?t:null,failPage:null!==(a=null!=u?u:null==s?void 0:s.slug)&&void 0!==a?a:null,paymentGateway:p}))};const D=e=>{let{data:{contentfulDonationRenew:{title:t,slug:a}}}=e;const r=(0,P.Cw)({slug:a,title:t});return n.createElement(n.Fragment,null,n.createElement(T.A,{title:t,slug:a}),n.createElement("script",{type:"application/ld+json"},JSON.stringify(r)))}},8971:function(e,t,a){a.d(t,{FL:function(){return l}});const n=e=>{const t=String(null!=e?e:"").trim();return 2===t.length?"20"+t:t},r=e=>{var t;let{verification:a,returnPath:r,cardDetails:l}=e;return{card_holder:l.cardHolder,card_number:l.cardNumber,expiry_month:String(null!==(t=l.expiryMonth)&&void 0!==t?t:""),expiry_year:String(n(l.expiryYear)),cvv:l.cvv,return_path:r,verification:a}},l=async e=>
1{let{formEndpoint:t,cardDetails:a}=e;if(!(null!=a&&a.cardNumber&&null!=a&&a.cvv&&null!=a&&a.cardHolder&&null!=a&&a.expiryMonth&&null!=a&&a.expiryYear))throw new Error("Credit card details are incomplete.");const l=(()=>{if("undefined"==typeof window)throw new Error("Fat Zebra tokenisation requires a browser environment.");return window.location.origin+"/fatzebra-tokenize-callback.html"})(),o=await(async e=>{let{formEndpoint:t,returnPath:a}=e;const n=await fetch(t+"/payment/fatzebra/tokenize-config",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({return_path:a})}),r=await n.json();var l;if(!n.ok)throw new Error(null!==(l=null==r?void 0:r.message)&&void 0!==l?l:"Unable to start Fat Zebra tokenisation.");return r})({formEndpoint:t,returnPath:l});return new Promise(((e,l)=>{let i=!1,c=null,s=null;const u="starlightFatZebraTokenize"+Date.now(),d=(e,t)=>{var a;i||(i=!0,c&&window.clearTimeout(c),null!==(a=s)&&void 0!==a&&a.parentNode&&s.parentNode.removeChild(s),"undefined"!=typeof window&&window[u]&&delete window[u],e(t))};window[u]=async r=>{if("1"===String(null==r?void 0:r.r)&&null!=r&&r.token&&null!=r&&r.v)try{const l=await(async e=>{let{formEndpoint:t,payload:a}=e;const n=await fetch(t+"/payment/fatzebra/tokenize-verify",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}),r=await n.json();var l;if(!n.ok||null==r||!r.successful||null==r||!r.token)throw new Error(null!==(l=null==r?void 0:r.message)&&void 0!==l?l:"Fat Zebra tokenisation failed.");return r})({formEndpoint:t,payload:r});d(e,{cardToken:l.token,cardLast4:String(a.cardNumber).slice(-4),cardType:a.cardType,nameOnCard:a.cardHolder,expiryMonth:String(a.expiryMonth),expiryYear:n(a.expiryYear)})}catch(o){d(l,o)}else d(l,new Error((e=>Array.isArray(null==e?void 0:e["errors[]"])&&e["errors[]"].length>0?e["errors[]"].join(", "):Array.isArray(null==e?void 0:e.errors)&&e.errors.length>0?e.errors.join(", "):null!=e&&e.message?e.message:"Fat Zebra tokenisation failed.")(r)))},c=window.setTimeout((()=>{d(l,new Error("Fat Zebra tokenisation timed out."))}),3e4);const p=(e=>{let{actionUrl:t,fields:a,callbackName:n}=e;return t+"?"+new URLSearchParams(Object.assign({},a,{callback:n})).toString()})({actionUrl:o.action_url,fields:r({verification:o.verification,returnPath:o.return_path,cardDetails:a}),callbackName:u});s=(e=>{const t=document.createElement("script");return t.src=e,t.async=!0,t.type="text/javascript",document.body.appendChild(t),t})(p),s.onerror=()=>{d(l,new Error("Unable to reach Fat Zebra tokenisation."))}}))}},4795:function(e,t,a){a.d(t,{Q9:function(){return n},oG:function(){return r}});const n="fatzebra",r=e=>e===n}}]); 2//# sourceMappingURL=component---src-templates-renew-js-8cbae8bc391d853203ef.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.