1import{n as f,h as O,X as v,c as l,o as s,w as r,a as n,b as i,Z as Se,u as A,H as Me,e as p,g as S,t as h,f as we,F as B,r as _e,d as he}from"./app-Bd0jZ4nk.js";import{C as Te,P as Ve}from"./nav-BpqMJbCl.js";import{_ as Ae,T as De}from"./ThreeDS-IH4ZsM7z.js";import{_ as Ne}from"./PopModal-B6zqYwUx.js";import{_ as Ue}from"./ModalMessage-BJqFgtX4.js";import{_ as ke}from"./FieldRegion-BkNFVWr1.js";import{_ as Ce}from"./ComboField-B77ae_tZ.js";import{_ as Pe}from"./Button-D84Q1mQ5.js";import{u as Fe,S as Ie}from"./Status-ClE7YFZz.js";import{_ as m}from"./SectionRow-BFRTT6Mk.js";import{_ as Oe}from"./Index-Bqmr0f2a.js";import{_ as Be}from"./AccountSection.vue_vue_type_style_index_0_lang-EhnczAgx.js";import{_ as qe}from"./Submenu-BExszAoZ.js";import{_ as $}from"./AccountSection-bUe8KE4g.js";import{u as ze}from"./account-BpwSxshn.js";import"./PopToast-BZZuRC-I.js";import{_ as Ee}from"./Icon-Si08zmMr.js";import"./Emoji-Dty8NzME.js";/* empty css */import"./Input-CNB85o4u.js";/* empty css */import"./Index-D5EV8TH7.js";import"./StatsList-BG0xvu4p.js";import"./SuperToggle-GDoRaR0A.js";import"./PlanTotal-CULB3Kcb.js";import"./RadioButton-CmRf-QPM.js";import"./Enterprise-AS91mLV6.js";import"./PlanSelect-CHNnT0fP.js";import"./SelectMenu-BNwg1qJ6.js";import"./SkinTone-CuQ11Id2.js";import"./Footer-qWWuz_xP.js";import"./RibbonBanner-CkdHKRlm.js";import"./MainNavButton-BfX74SfY.js";import"./MainNav-BjCfeZaO.js";import"./MainNavButtonGroup-DFO-w5O0.js";import"./LogoLightDark-CnLC4VEc.js";import"./logo-light-BA9boik_.js";import"./HorizontalOverflowContainer.vue_vue_type_style_index_0_lang-CIhknaG_.js";import"./HorizontalOverflowContainer-DfYLk2xU.js";const He={class:"side-by-side"},Ye={__name:"PaymentMethod",props:["show"],emits:["hide","3ds","update"],setup(q,{emit:C}){const k=q,P=C,a=Fe();let y=f(""),d=f("");const D=f({}),N=f({}),j=f(!1);O(y,async(u,o)=>{a.updateCustomerName(u),u!==""&&a.updateStripeNameError(null)}),O(d,async(u,o)=>{a.updateCustomerZip(u),u!==""&&a.updateStripeZipError(null)}),O(()=>k.show,async(u,o)=>{k.show&&setTimeout(async()=>{const g=v().props.stripe.public_key??null;await a.initializeStripe(g);try{a.stripe.card.mount("#card-element")}catch{}},100)}),a.$subscribe(async(u,o)=>{D.value.error=o.stripe.errors.pmt_name,N.value.error=o.stripe.errors.pmt_zip,o.stripe.errors.pmt_name===null&&o.stripe.errors.pmt_zip===null&&o.stripe.token!==null&&P("update",o.stripe.token)});const U=()=>{window.location.href="/account/billing"};return(u,o)=>(s(),l(Ne,{width:"568px",popped:k.show,onUnpop:U},{default:r(()=>[n(Ue,{emoji:"ð³"},{footer:r(()=>[i("div",He,[n(Pe,{label:"Cancel",theme:"outline",disabled:j.value,onClick:o[2]||(o[2]=g=>P("hide"))},null,8,["disabled"]),n(Pe,{label:"Update Card",theme:"green",disabled:j.value||A(y)===""||A(d)==="",onClick:o[3]||(o[3]=g=>{j.value=!0,A(a).generateStripeToken()})},null,8,["disabled"])])]),default:r(()=>[o[4]||(o[4]=i("h1",null,"Update card on file",-1)),o[5]||(o[5]=i("p",null,"This new card will be saved to your account to be used for future billing.",-1)),n(ke,{feedback:D.value,style:{"text-align":"left"}},{default:r(()=>[n(Ce,{modelValue:A(y),"onUpdate:modelValue":o[0]||(o[0]=g=>Se(y)?y.value=g:y=g),label:"Name on Card",type:"text",name:"input-text",autocomplete:"off",theme:"gray",readonly:u.$page.props.auth.user===null},null,8,["modelValue","readonly"])]),_:1},8,["feedback"]),o[6]||(o[6]=i("span",{id:"card-element"},null,-1)),n(ke,{feedback:N.value,style:{"text-align":"left"}},{default:r(()=>[n(Ce,{modelValue:A(d),"onUpdate:modelValue":o[1]||(o[1]=g=>Se(d)?d.value=g:d=g),label:"Zip Code",type:"text",name:"input-text",autocomplete:"off",theme:"gray",readonly:u.$page.props.auth.user===null},null,8,["modelValue","readonly"])]),_:1},8,["feedback"])]),_:1,__:[4,5,6]})]),_:1},8,["popped"]))}},Ze={key:0},Le={key:1},We={key:2,class:"cancelling"},Ke={key:3,class:"cancelling"},Re={key:4,class:"payment-amount"},Xe={key:0},Ge={key:1},Je={class:"items"},Qe={key:3},xe={key:5,class:"cancelling"},et=["href"],tt={class:"items",style:{}},st={class:"items",style:{}},ot={key:0},at={key:1},nt={key:0,class:"items"},it={key:1},pt={key:0,class:"items"},rt={class:"items",style:{}},lt={__name:"Billing",setup(q){const C=ze(),k=f(C.nav),P=f("/account/billing"),a=f({cart:!1,cancel:!1,plans:!1,paymentMethod:!1}),y=f(null),d=f({status:!1,threeDs:!1});Me(()=>{var e,t,b,w,_,T,V;v().props.auth.user.delete_requested_at||(v().props.planType?(t=(e=v().props.activeSubscription)==null?void 0:e.owned_subscription)!=null&&t.pending_cancel||(w=(b=v().props.activeSubscription)==null?void 0:b.owned_subscription)!=null&&w.pending_cancel?console.log("cannot upgrade or downgrade"):(_=v().props.activeSubscription)!=null&&_.meta&&((V=(T=v().props.activeSubscription)==null?void 0:T.meta)==null?void 0:V.user_id
1)!==v().props.auth.user.id?console.log("cannot manage delegated plan"):a.value.plans=!0:v().props.showPaymentModal&&(a.value.paymentMethod=!0)),C.hideIrrelevant(v().props),k.value=C.nav});const D=e=>{window.open(e)},N=e=>{window.open(v().props.base_url+"/custom-invoice/download/"+e)},j=e=>e?e.toLowerCase().trim().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,""):"",U=e=>(typeof e=="string"&&(e=parseFloat(e)),e.toFixed(0)),u=f({id:null,secret:null,url:null}),o=()=>{he.post("/cancel-setup-intent",{setup_intent:u.value.id,setup_secret:u.value.secret}).then(e=>{window.location.reload()}).catch(e=>{window.location.reload()})},g=e=>{u.value=e,y.value="3ds",d.value.status=!0},z=()=>{a.value.paymentMethod=!1,d.value.status=!1,d.value.threeDs=!0},M=e=>{d.value.threeDs=!1,y.value=e,d.value.status=!0},je=e=>{he.post("/update-card",{token:e}).then(t=>{t.data.success===!0?t.data.message==="3DS required"&&Object.hasOwn(t.data,"url")&&Object.hasOwn(t.data,"clientSecret")?g({id:t.data.setup_intent,secret:t.data.clientSecret,url:t.data.url}):M("card-success"):M("card-error")}).catch(t=>{console.log("err",t),M("card-error")})};return window.addEventListener("message",function(e){typeof e.data=="string"&&e.data.startsWith("pi:")&&(document.getElementById("3ds").remove(),e.data.split(":")[1]==="passed"?M("card-success"):M("card-error"))},!1),(e,t)=>(s(),p(B,null,[n(Ae,{show:a.value.cart,planType:e.$page.props.planType,onHide:t[0]||(t[0]=b=>a.value.cart=!1)},null,8,["show","planType"]),n(Te,{show:a.value.cancel,onHide:t[1]||(t[1]=b=>a.value.cancel=!1)},null,8,["show"]),n(Ve,{show:a.value.plans,"default-period":e.$page.props.planType&&e.$page.props.planType.indexOf("-monthly")>-1?"monthly":"yearly",onHide:t[2]||(t[2]=b=>a.value.plans=!1)},null,8,["show","default-period"]),n(Ye,{show:a.value.paymentMethod,on3ds:g,onUpdate:je,onHide:t[3]||(t[3]=b=>a.value.paymentMethod=!1)},null,8,["show"]),n(Ie,{show:d.value.status,status:y.value,onCancel:o,onContinue:z},null,8,["show","status"]),n(De,{show:d.value.threeDs,url:u.value.url},null,8,["show","url"]),n(Oe,{bgColor:"var(--clr-metal-50)"},{default:r(()=>[n(Be,null,{nav:r(({layout:b,theme:w})=>[n(qe,{data:k.value,currentPage:P.value,onClick:t[4]||(t[4]=_=>P.value=_),layout:b,theme:w},null,8,["data","currentPage","layout","theme"])]),"col-2":r(()=>{var b,w,_,T,V;return[e.$page.props.activeSubscription.meta&&e.$page.props.activeSubscription.meta.user_id===e.$page.props.auth.user.id?(s(),l($,{key:0},{default:r(()=>{var c,F,E,H,Y,Z,L,W,K,R,X,G,J,Q,x,ee,te,se,oe,ae,ne,ie,pe,re,le,ue,de,ce,me,ge,be,ve,fe,ye,$e;return[(F=(c=e.$page.props.activeSubscription)==null?void 0:c.owned_subscription)!=null&&F.pending_downgrade?(s(),p("h3",Ze,"Premium Subscription")):(s(),p("h3",Le,h((H=(E=e.$page.props.activeSubscription.plans)==null?void 0:E.emoji)==null?void 0:H.name)+" Subscription",1)),(Z=(Y=e.$page.props.activeSubscription)==null?void 0:Y.owned_subscription)!=null&&Z.pending_downgrade?(s(),p("div",We,"Starting "+h((W=(L=e.$page.props.activeSubscription)==null?void 0:L.owned_subscription)==null?void 0:W.downgrades_at),1)):(R=(K=e.$page.props.activeSubscription)==null?void 0:K.owned_subscription)!=null&&R.pending_cancel?(s(),p("div",Ke,"Cancelling "+h((G=(X=e.$page.props.activeSubscription)==null?void 0:X.owned_subscription)==null?void 0:G.cancels_at),1)):S("",!0),((Q=(J=e.$page.props.activeSubscription.plans)==null?void 0:J.emoji)==null?void 0:Q.type)!=="enterprise"?(s(),p("div",Re,[(ee=(x=e.$page.props.activeSubscription)==null?void 0:x.owned_subscription)!=null&&ee.pending_downgrade?(s(),p("h1",Xe,"$"+h(U(e.$page.props.products.find(I=>I.type==="premium")["price_"+e.$page.props.activeSubscription.plans.emoji.period])),1)):(s(),p("h1",Ge,"$"+h(U((te=e.$page.props.activeSubscription.plans)==null?void 0:te.emoji["price_"+e.$page.props.activeSubscription.plans.emoji.period])),1)),i("span",null,"per "+h((oe=(se=e.$page.props.activeSubscription.plans)==null?void 0:se.emoji)==null?void 0:oe.period.replace("ly","")),1)])):S("",!0),i("aside",Je,[e.$page.props.activeSubscription.owned_subscription.pending_cancel?(s(),l(m,{key:0,title:"Subscription Settings",desc:((ne=(ae=e.$page.props.activeSubscription.plans)==null?void 0:ae.emoji)==null?void 0:ne.name)+" Plan - Cancels "+e.$page.props.activeSubscription.owned_subscription.cancels_at,"no-button":!0},null,8,["desc"])):e.$page.props.activeSubscription.owned_subscription.pending_downgrade?(s(),l(m,{key:1,title:"Subscription Settings",desc:"Downgrades to Premium "+e.$page.props.activeSubscription.owned_subscription.downgrades_at,"no-button":!0},null,8,["desc"])):(s(),l(m,{key:2,title:"Subscription Settings",desc:e.$page.props.activeSubscription.plans.emoji.name+" Plan","no-button":((pe=(ie=e.$page.props.activeSubscription.plans)==null?void 0:ie.emoji)==null?void 0:pe.type)==="enterprise","button-label":"Change",onAction:t[5]||(t[5]=I=>a.value.plans=!0)},null,8,["desc","no-button"])),((re=e.$page.props.activeSubscription.plans)==null?void 0:re.seats)!==null&&((ue=(le=e.$page.props.activeSubscription.plans)==null?void 0:le.seats)==null?void 0:ue.quantity)>0?(s(),p("div",Qe,[n(m,{title:"Active Seats",desc:((ce=(de=e.$page.props.activeSubscription.plans)==null?void 0:de.seats)==null?void 0:ce.quantity)+" billed at "+((me=e.$page.props.activeSubscription.plans)==null?void 0:me.seats["price_"+e.$page.props.activeSubscription.plans.seats.period])+" per "+((be=(ge=e.$page.props.activeSubscription.plans)==null?void 0:ge.seats)==null?void 0:be.period.replace("ly","")),"button-label":"Manage via Team",href:"/account/team"},null,8,["desc"])])):S("",!0),!e.$page.props.activeSubscription.owned_subscription.pending_cancel&&((fe=(ve=e.$page.props.activeSubscription.plans)==null?void 0:ve.emoji)==null?void 0:fe.type)!=="enterprise"?(s(),l(m,{key:4,title:"Upcoming Payment",desc:e.$page.props.activeSubscription.meta.next_charge_at?e.$page.props.activeSubscription.meta.next_charge_friendly+" · $"+e.$page.props.activeSubscription.meta.next_charge_amount:"No upcoming payment","no-button":!0},null,8,["desc"])):S("",!0),!e.$page.props.activeSubscription.owned_subscription.pending_cancel&&(($e=(ye=e.$page.props.activeSubscription.plans)==null?void 0:ye.emoji)==null?void 0:$e.type)!=="enterprise"?(s(),l(m,{key:5,title:"Cancel Your Subscription",desc:"Cancel anytime with just a few clicks.","button-label":"Cancel",onAction:t[6]||(t[6]=I=>a.value.cancel=!0)})):S("",!0)]),e.$page.props.activeSubscription.owned_subscription.pending_cancel?(s(),p("div",xe,[t[9]||(t[9]=we("Want to revert cancellation? ",-1)),i("a",{href:e.$page.props.marketing_url+"/contact"+e.$page.props.marketing_query,title:"Contact Support"},"Contact support",8,et),t[10]||(t[10]=we(" for assistance.",-1))])):S("",!0)]}),_:1})):e.$page.props.activeSubscription.meta&&e.$page.props.activeSubscription.meta.user_id!==e.$page.props.auth.user.id?(s(),l($,{key:1},{default:r(()=>[i("h3",null,h(e.$page.props.activeSubscription.plans.emoji.name)+" Subscription",1),t[11]||(t[11]=i("p",null,"Managed by Team Owner",-1))]),_:1,__:[11]})):e.$page.props.auth.user.delete_requested_at!==null?(s(),l($,{key:2},{default:r(()=>[t[12]||(t[12]=i("h3",null,"Free Subscription",-1)),i("aside",tt,[n(m,{title:"Account Pending Deletion",desc:"Contact us to undo this and begin a subscription","no-button":!0})])]),_:1,__:[12]})):e.$page.props.activeSubscription.meta?(s(),l($,{key:4},{default:r(()=>t[14]||(t[14]=[i("h3",null,"No Active Subscription",-1),i("p",null,"You do not currently own an active subscription.",-1)])),_:1,__:[14]})):(s(),l($,{key:3},{default:r(()=>[t[13]||(t[13]=i("h3",null,"Free Subscription",-1)),i("aside",st,[n(m,{title:"Subscription Settings",desc:"Free Plan","button-label":"Change",onAction:t[7]||(t[7]=c=>a.value.plans=!0)})])]),_:1,__:[13]})),e.$page.props.activeSubscription.meta&&e.$page.props.activeSubscription.meta.user_id===e.$page.props.auth.user.id&&!e.$page.props.activeSubscription.owned_subscription.pending_cancel&&((w=(b=e.$page.props.activeSubscription.plans)==null?void 0:b.emoji)==null?void 0:w.type)!=="enterprise"?(s(),l($,{key:5},{default:r(()=>[e.$page.props.subscription.owned?(s(),p("div",ot,[t[15]||(t[15]=i("h3",null,"Payment Method",-1)),t[16
1]||(t[16]=i("br",null,null,-1)),n(m,{icon:j(e.$page.props.activeSubscription.meta.card_issuer)??"visa",title:(e.$page.props.activeSubscription.meta.card_issuer??"visa")+" ending in "+e.$page.props.activeSubscription.meta.card_last_four,desc:"Expiry "+e.$page.props.activeSubscription.meta.card_expiration,"button-label":"Update",onAction:t[8]||(t[8]=c=>a.value.paymentMethod=!0)},null,8,["icon","title","desc"])])):(s(),p("div",at,[n(m,{title:"Payment Method",desc:"You have no payment method on file.","no-button":!0})]))]),_:1})):S("",!0),((V=(T=(_=e.$page.props.activeSubscription)==null?void 0:_.plans)==null?void 0:T.emoji)==null?void 0:V.type)!=="enterprise"?(s(),l($,{key:6},{default:r(()=>[t[18]||(t[18]=i("h3",null,"Invoices",-1)),e.$page.props.invoices.length>0?(s(),p("aside",nt,[(s(!0),p(B,null,_e(e.$page.props.invoices,c=>(s(),l(m,{title:c.summary,desc:c.date+" · $"+c.total,"button-label":"View & Download",onAction:F=>D(c.url)},null,8,["title","desc","onAction"]))),256))])):(s(),p("div",it,t[17]||(t[17]=[i("p",null,"You have no invoices on file.",-1)])))]),_:1,__:[18]})):(s(),l($,{key:7},{default:r(()=>[t[19]||(t[19]=i("h3",null,"Invoices",-1)),e.$page.props.customInvoices.length>0?(s(),p("aside",pt,[(s(!0),p(B,null,_e(e.$page.props.customInvoices,c=>(s(),l(m,{title:c.title,desc:"$"+c.amount,"button-label":"View & Download",onAction:F=>N(c.id)},null,8,["title","desc","onAction"]))),256))])):S("",!0)]),_:1,__:[19]})),n($,null,{default:r(()=>[i("aside",rt,[n(m,{title:"Need Assistance?",desc:"Our support team is available to help you.","button-label":"Contact Us",href:e.$page.props.marketing_url+"/contact"+e.$page.props.marketing_query},null,8,["href"])])]),_:1})]}),_:1})]),_:1})],64))}},Xt=Ee(lt,[["__scopeId","data-v-40804701"]]);export{Xt as default};
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.