PageSourceSearch

https://www.virginactive.com.au/_next/static/chunks/pages/update-payment-details-f8fcdcd3096efb4e.js

js virginactive.com.au collected 2026-10-04 00:27:46 UTC 13,421 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6191],{5130:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(37876),n=r(98130);let s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/\D/g,"").slice(0,6)},i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.split("").map((e,t)=>3===t?"-".concat(e):e).join("").trimEnd()},l=e=>{let{onInput:t,inputValue:r,className:l}=e;return(0,a.jsx)(n.A,{...e,onInput:e=>t(s(null==e?void 0:e.replace(/\s/g,""))),inputValue:i(s(r)),className:l})}},23858:e=>{e.exports={textInput:"dKlAcLu"}},23958:e=>{e.exports={requiredFieldsHint:"yqMCWCg"}},37539:(e,t,r)=>{"use strict";r.d(t,{j:()=>l,y:()=>i});let a="input, select, textarea, button, [tabindex]",n=(e,t)=>e.getAttribute("aria-errormessage")===t||(e.getAttribute("aria-describedby")||"").split(/\s+/).includes(t),s=e=>e.matches(a)?e:e.querySelector(a),i=e=>{let t=Array.from(e.querySelectorAll("[aria-describedby], [aria-errormessage]")),r=new Set,a=[];return e.querySelectorAll("[data-field-error]").forEach(e=>{var i;let l=(null==(i=e.textContent)?void 0:i.trim())||"",o=t.find(t=>n(t,e.id)),c=o&&s(o);!l||!(null==c?void 0:c.id)||r.has(l)||(r.add(l),a.push({fieldId:c.id,message:l}))}),a},l=e=>{var t;let r=document.getElementById(e);r&&(r.focus({preventScroll:!0}),null==(t=r.scrollIntoView)||t.call(r,{block:"center"}))}},40116:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var a=r(37876),n=r(34846),s=r(85454),i=r.n(s),l=r(37539);let o=e=>{let{errors:t,attempt:r}=e,{t:s}=(0,n.Bd)(["common"]);return t.length?(0,a.jsxs)("div",{role:"alert",className:i().formErrorSummary,"data-testid":"form-error-summary",children:[(0,a.jsx)("p",{className:i().title,children:s("common:form.errorSummaryTitle")}),(0,a.jsx)("ul",{className:i().list,children:t.map(e=>{let{fieldId:t,message:r}=e;return(0,a.jsx)("li",{children:(0,a.jsx)("a",{href:"#".concat(t),onClick:e=>{e.preventDefault(),(0,l.j)(t)},children:r})},t)})})]},r):null}},41461:(e,t,r)=>{"use strict";r.d(t,{_:()=>s});var a=r(14232),n=r(37539);let s=e=>{let t=(0,a.useRef)(null),r=(0,a.useRef)(!1),[s,i]=(0,a.useState)(0),[l,o]=(0,a.useState)([]),c=(0,a.useCallback)(async()=>{r.current=!0;try{await e()}finally{i(e=>e+1)}},[e]);return(0,a.useEffect)(()=>{if(!s||!t.current)return;let e=(0,n.y)(t.current);r.current=!1,o(e),e.length&&(0,n.j)(e[0].fieldId)},[s]),{formRef:t,handleSubmit:c,context:(0,a.useMemo)(()=>({isSubmitting:()=>r.current}),[]),summary:{errors:l,attempt:s}}}},55413:(e,t,r)=>{"use strict";r.d(t,{C:()=>a});let a=(0,r(14232).createContext)(null)},60984:(e,t,r)=>{"use strict";r.d(t,{Y:()=>d});var a=r(37876),n=r(67204),s=r.n(n),i=r(82750),l=r(14232),o=r(55413);let c=e=>{let{id:t,errorMessage:r}=e,n=(0,l.useContext)(o.C),[c]=(0,l.useState)(()=>!(t&&(null==n?void 0:n.isSubmitting())));return(0,a.jsxs)("div",{id:t,role:c?"alert":void 0,"aria-live":c?void 0:"polite","data-field-error":t?"":void 0,className:s().errorMessage,children:[(0,a.jsx)("div",{className:s().errorIcon,"aria-hidden":"true",children:(0,a.jsx)(i.A,{})}),(0,a.jsx)("span",{children:r})]})},d=e=>{let{error:t,errorMessage:r,id:n}=e;return t&&r?(0,a.jsx)(c,{id:n,errorMessage:r}):null}},66491:e=>{e.exports={container:"NCue3hf",header:"lUI7x7N",paymentMethodSelector:"X_af7_I",methodOption:"sm_V6Us",formSection:"WLn9LAZ",loading:"TnBjNdH",successScreen:"Zplu3aC",adyenPaymentContainer:"oYhqi_f",stripePaymentContainer:"ZPTtFlc",submitButton:"RGy0xwU",bankAccountForm:"Hjfdc5m",requiredFieldsHint:"zGwgiVd",formGroup:"h0DHXKg"}},67204:e=>{e.exports={errorMessage:"qjQVzUj",errorIcon:"BBzh3T3"}},76687:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(37876),n=r(95397),s=r.n(n);let i=()=>(0,a.jsx)("span",{"aria-hidden":"true",className:s().requiredMark,children:"*"})},79529:(e,t,r)=>{"use strict";r.d(t,{d:()=>a,s:()=>n});let a=(e,t)=>!!(e&&t),n=e=>{let{error:t,errorMessage:r,errorId:n,required:s,describedBy:i=[]}=e,l=[...i,a(t,r)&&n].filter(Boolean);return{"aria-invalid":!!t,"aria-describedby":l.length?l.join(" "):void 0,"aria-required":!!s||void 0}}},80537:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__N_SSP:()=>E,default:()=>B});var a=r(37876),n=r(34846),s=r(14232),i=r(33939),l=r(19305);r(2937);var o=r(66491),c=r.n(o);let d=function(e){let{token:t,onSuccess:r,onError:n}
1=e,[,o]=(0,s.useState)(null),[d,u]=(0,s.useState)(null),[m,p]=(0,s.useState)(!0);return((0,s.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/update-payment-details/create-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t})}),r=await e.json();u(r)}catch(e){n(e)}finally{p(!1)}})()},[t,n]),(0,s.useEffect)(()=>{d&&(async()=>{o((await (0,l.A)({clientKey:"live_WZV7GVGVYJBB3GES7OVTHVQWSIKDRE5X",environment:"LIVE",session:{id:d.id,sessionData:d.sessionData},paymentMethodsConfiguration:{card:{enableStoreDetails:!1}},onPaymentCompleted:e=>{"Authorised"===e.resultCode&&r()},onError:e=>{n(e)}})).create("dropin",{showStoredPaymentMethods:!1}).mount("#dropin-container"))})()},[d]),m)?(0,a.jsx)("div",{className:c().adyenPaymentContainer,children:(0,a.jsx)("div",{className:c().loading,children:(0,a.jsx)(i.A,{"data-testid":"session-loading-spinner",as:"span",animation:"border",role:"status","aria-hidden":"true"})})}):(0,a.jsx)("div",{className:c().adyenPaymentContainer,children:(0,a.jsx)("div",{id:"dropin-container"})})};var u=r(98130),m=r(5130),p=r(60984),h=r(55413),y=r(80904),v=r(40116),x=r(41461);let j=e=>{let{token:t,onSuccess:r,onError:i}=e,{t:l}=(0,n.Bd)(["payment"]),[o,d]=(0,s.useState)(""),[j,b]=(0,s.useState)(""),[f,S]=(0,s.useState)(""),[N,g]=(0,s.useState)({}),[A,C]=(0,s.useState)(""),[k,E]=(0,s.useState)(!1),B=()=>{let e=j.replace(/\s/g,"");return{accountHolder:o.trim()?void 0:l("payment:validations:bankAccountNameRequired"),bsb:f?6!==f.length?l("payment:validations:bankAccountBsbInvalid"):void 0:l("payment:validations:bankAccountBsbRequired"),accountNumber:e?/^\d+$/.test(e)?void 0:l("payment:validations:bankAccountNumberInvalid"):l("payment:validations:bankAccountNumberRequired")}},_=async()=>{C("");let e=B();if(g(e),Object.values(e).some(Boolean))return;E(!0);let a=f.replace(/(\d{3})(\d{3})/,"$1-$2");try{let e=await fetch("/api/update-payment-details/bank-account",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t,directDebitDetails:{accountHolder:o.trim(),accountNumber:j.replace(/\s/g,""),sortCode:a}})});if(e.ok)r();else{var n;let t=await e.json().catch(()=>null);throw Error((null==t||null==(n=t.details)?void 0:n.errorCode)==="BANK_DETAILS_INVALID"?l("payment:validations:bankDetailsInvalid"):l("payment:updateBankAccount.genericError"))}}catch(e){C(e instanceof Error&&e.message?e.message:l("payment:updateBankAccount.genericError")),i(e)}finally{E(!1)}},{formRef:w,handleSubmit:P,context:I,summary:q}=(0,x._)(_);return(0,a.jsx)("form",{ref:w,noValidate:!0,onSubmit:e=>{e.preventDefault(),P()},className:c().bankAccountForm,children:(0,a.jsxs)(h.C.Provider,{value:I,children:[(0,a.jsx)("h2",{children:l("payment:updateBankAccount.title")}),(0,a.jsx)(v.A,{...q}),(0,a.jsx)(y.A,{className:c().requiredFieldsHint}),(0,a.jsx)("div",{className:c().formGroup,children:(0,a.jsx)(u.A,{id:"accountHolder",required:!0,autoComplete:"name",label:l("payment:updateBankAccount.accountHolderLabel"),inputValue:o,onInput:d,error:!!N.accountHolder,errorMessage:N.accountHolder||""})}),(0,a.jsx)("div",{className:c().formGroup,children:(0,a.jsx)(m.A,{id:"bsb",required:!0,label:l("payment:updateBankAccount.bsbLabel"),inputValue:f,onInput:S,error:!!N.bsb,errorMessage:N.bsb||""})}),(0,a.jsx)("div",{className:c().formGroup,children:(0,a.jsx)(u.A,{id:"accountNumber",required:!0,label:l("payment:updateBankAccount.accountNumberLabel"),inputValue:j,onInput:b,error:!!N.accountNumber,errorMessage:N.accountNumber||""})}),(0,a.jsx)("div",{className:c().formGroup,children:(0,a.jsx)(p.Y,{error:!!A,errorMessage:A})}),(0,a.jsx)("button",{type:"submit",disabled:k,className:c().submitButton,children:k?l("payment:updateBankAccount.saving"):l("payment:updateBankAccount.submit")})]})})};var b=r(4241),f=r(61902);let S=e=>{let{onSuccess:t,onError:r,setReady:n}=e,i=(0,f.useStripe)(),l=(0,f.useElements)(),[o,d]=(0,s.useState)(!1),u=async e=>{if(e.preventDefault(),i&&l){d(!0);try{let{error:e,setupIntent:a}=await i.confirmSetup({elements:l,redirect:"if_required",confirmParams:{}});if(e)return void r(e.message||"Could not save card");if(a&&"succeeded"===a.status)return void t();r("Card was not saved")}catch(e){r(e)}finally{d(!1)}}};return(0,a.jsxs)("form",{onSubmit:u,children:[(0,a.jsx)(f.PaymentElement,{options:{layout:"tabs",wallets:{applePay:"never",googlePay:"never",link:"never"}},onReady:()=>n(!0)}),(0,a.jsx)("button",{type:"submit",disabled:!i||!l||o,className:c().submitButton,"data-testid":"stripe-submit-button",children:o?"Saving...":"Save Card"})]})},N=e=>{let{token:t,onSuccess:r,onError:n}
1=e,[l,o]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0),[m,p]=(0,s.useState)(!1),h=(0,s.useRef)(n);(0,s.useEffect)(()=>{h.current=n},[n]),(0,s.useEffect)(()=>{let e=!1;return(async()=>{try{let r=await fetch("/api/update-payment-details/create-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t})}),a=await r.json();e||o(a)}catch(t){e||h.current(t)}finally{e||u(!1)}})(),()=>{e=!0}},[t]);let y=(0,s.useMemo)(()=>(null==l?void 0:l.publishableKey)?(0,b.c)(l.publishableKey):null,[null==l?void 0:l.publishableKey]);return!d&&y&&(null==l?void 0:l.clientSecret)?(0,a.jsxs)("div",{className:c().stripePaymentContainer,children:[!m&&(0,a.jsx)("div",{className:c().loading,children:(0,a.jsx)(i.A,{"data-testid":"stripe-loading-spinner",as:"span",animation:"border",role:"status","aria-hidden":"true"})}),(0,a.jsx)(f.Elements,{stripe:y,options:{clientSecret:l.clientSecret},children:(0,a.jsx)(S,{onSuccess:r,onError:n,setReady:p})})]}):(0,a.jsx)("div",{className:c().stripePaymentContainer,children:(0,a.jsx)("div",{className:c().loading,children:(0,a.jsx)(i.A,{"data-testid":"stripe-loading-spinner",as:"span",animation:"border",role:"status","aria-hidden":"true"})})})},g=()=>(0,a.jsxs)("div",{className:c().successScreen,children:[(0,a.jsx)("h1",{children:"Payment Details Updated Successfully!"}),(0,a.jsx)("p",{children:"Your payment method has been saved."})]});var A=r(22154);let C=e=>{let{token:t}=e,r=(0,A.zj)().region!==A.cB.australia,[n,i]=(0,s.useState)("credit-card"),[l,o]=(0,s.use
1State)(!1),u=()=>o(!0),m=e=>console.error("Payment error:",e);return l?(0,a.jsx)("div",{className:c().container,children:(0,a.jsx)(g,{})}):r?(0,a.jsxs)("div",{className:c().container,children:[(0,a.jsx)("div",{className:c().header,children:(0,a.jsx)("h3",{children:"Update"})}),(0,a.jsx)("div",{className:c().formSection,children:(0,a.jsx)(N,{token:t,onSuccess:u,onError:m})})]}):(0,a.jsxs)("div",{className:c().container,children:[(0,a.jsx)("div",{className:c().header,children:(0,a.jsx)("h3",{children:"Update"})}),(0,a.jsxs)("div",{className:c().paymentMethodSelector,children:[(0,a.jsxs)("div",{className:c().methodOption,children:[(0,a.jsx)("input",{type:"radio",id:"credit-card",name:"payment-method",value:"credit-card",checked:"credit-card"===n,onChange:()=>i("credit-card")}),(0,a.jsx)("label",{htmlFor:"credit-card",children:"Credit Card"})]}),(0,a.jsxs)("div",{className:c().methodOption,children:[(0,a.jsx)("input",{type:"radio",id:"bank-account",name:"payment-method",value:"bank-account",checked:"bank-account"===n,onChange:()=>i("bank-account")}),(0,a.jsx)("label",{htmlFor:"bank-account",children:"Bank Account"})]})]}),(0,a.jsxs)("div",{className:c().formSection,children:["credit-card"===n&&(0,a.jsx)(d,{token:t,onSuccess:u,onError:m}),"bank-account"===n&&(0,a.jsx)(j,{token:t,onSuccess:u,onError:m})]})]})};var k=r(14576),E=!0;let B=e=>{let{token:t}=e,{t:r}=(0,n.Bd)(["footer"]),s=(0,A.zj)().region;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("main",{children:(0,a.jsx)(C,{token:t})}),(0,a.jsx)(k.A,{region:s,t:r})]})}},80904:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(37876),n=r(34846),s=r(23958),i=r.n(s);let l=e=>{let{className:t=""}=e,{t:r}=(0,n.Bd)(["common"]);return(0,a.jsx)("p",{className:"".concat(i().requiredFieldsHint," ").concat(t),children:r("common:form.requiredHint")})}},85454:e=>{e.exports={formErrorSummary:"AeCJEC_",title:"uD3ySGm",list:"Yry5SfW"}},89009:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/update-payment-details",function(){return r(80537)}])},95397:e=>{e.exports={requiredMark:"PR_c9FG"}},98130:(e,t,r)=>{"use strict";r.d(t,{A:()=>d});var a=r(37876);r(14232);var n=r(70564),s=r(23858),i=r.n(s),l=r(60984),o=r(79529),c=r(76687);let d=e=>{let{label:t,placeholder:r,error:s,errorMessage:d,onInput:u,inputValue:m,onBlur:p,className:h="",id:y,required:v,autoComplete:x,type:j="text",describedBy:b}=e,f=y||"text-input-".concat((t||"field").replace(/\s+/g,"-").toLowerCase()),S="".concat(f,"-error");return(0,a.jsxs)(n.A.Group,{className:"".concat(i().textInput," ").concat(h),children:[(0,a.jsxs)(n.A.Label,{htmlFor:f,children:[t,v&&(0,a.jsx)(c.A,{})]}),(0,a.jsx)(n.A.Control,{id:f,value:m,onChange:e=>{u(e.target.value)},className:s?"error-input":"",type:j,"data-testid":"text-input",onBlur:p,placeholder:r,autoComplete:x,...(0,o.s)({error:s,errorMessage:d,errorId:S,required:v,describedBy:[b]})}),(0,a.jsx)(l.Y,{id:S,error:s,errorMessage:d})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[1206,3392,8528,636,6593,8792],()=>t(89009)),_N_E=e.O()}]);

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.