import{Y as y,b as F,bU as Z,d as ee,ai as te,aD as ae,aL as oe,q as ne,ae as se,o as _,g as B,w as v,a,l as e,c as U,h as u,aV as P,s as Y,E as le,i as E,t as h,aq as H,j as L,bv as re,X as ie,N as V,V as ue,bu as de,dp as ce,D as fe,n as me,v as pe,ah as ve,Q as ye}from"./CjU4RZ-A.js";import{_ as ge}from"./DjKOYG_L.js";import{C as Q}from"./t-ZGA_TP.js";import{N as he}from"./CzSGcK3I.js";import{n as R}from"./p2Q0GoGO.js";import{u as xe}from"./DxDsXTky.js";const J="__avalara1099_script_injected__";function we(m){const c=window;c[J]||(c[J]=!0,Z({script:[{src:`${m.replace(/\/$/,"")}/api/request_form.js`,crossorigin:"anonymous",type:"module"}]}))}async function _e(m){we(m.origin);const c=Date.now();return await new Promise((T,x)=>{const b=()=>{const r=window.Avalara1099;if(r)return T(r);if(m.timeoutMs&&m.timeoutMs>0&&Date.now()-c>m.timeoutMs)return x(new Error("Timed out waiting for Avalara1099 script to load"));setTimeout(b,m.pollIntervalMs)};b()})}function be(m,c={}){const T=c.origin||"https://www.track1099.com",x=c.pollIntervalMs??250,b=c.timeoutMs,r=y(m),S=y(!1),w=y(null),s=F(()=>{var p;const g=r.value.data||r.value;return(p=g.attributes)!=null&&p.signed_at?new Date(g.attributes.signed_at):null}),A=F(()=>s.value?"signed":"incomplete");async function q(){var g;S.value=!0,w.value=null;try{const p=await _e({pollIntervalMs:x,timeoutMs:b,origin:T}),o=(g=(r.value.data||r.value).attributes)==null?void 0:g.form_type;let l;try{l=JSON.parse(JSON.stringify(r.value))}catch{l=Array.isArray(r.value)?[...r.value]:{...r.value}}let f;if(c.prefill)try{f=JSON.parse(JSON.stringify(c.prefill))}catch{f={...c.prefill}}let k;if(o==="W-8BEN")k=p.requestW8BEN(l,{prefill:f});else if(o==="W-9")k=p.requestW9(l,{prefill:f});else if(o==="W-8BEN-E"||o==="W-8BEN E")k=p.requestW8BENE(l,{prefill:f});else throw new Error(`Unsupported form_type: ${o}`);const N=await k;return r.value=N,N}catch(p){throw w.value=p,p}finally{S.value=!1}}return{start:q,request:r,signedAt:s,status:A,loading:S,error:w}}const ke={key:0},Me={href:"https://www.track1099.com/info/security",class:"flex w-fit flex-row gap-1 align-middle text-link",target:"_blank",rel:"noopener noreferrer"},Ce={class:"mt-4 flex flex-col gap-2"},Te={class:"text-lg font-semibold text-contrast"},Se={key:0,class:"flex flex-col gap-1"},Ne={class:"mt-4"},Be={class:"text-lg font-semibold text-contrast"},Ee={class:"text-md mt-2 leading-tight"},Fe={class:"mt-4 flex justify-end gap-3"},Ie=["disabled"],De={key:1,class:"flex flex-col gap-6"},Ve={class:"relative block h-[180px] w-[400px] overflow-hidden rounded-xl rounded-b-none"},Ae={class:"flex flex-col gap-2"},qe={class:"text-2xl font-semibold text-contrast"},We={class:"flex w-full flex-row justify-stretch gap-2"},He=ee({__name:"CreatorTaxFormModal",props:{closeButtonText:{default:"Close"},emitSuccessOnClose:{type:Boolean,default:!0}},emits:["success","cancelled"],async setup(m,{expose:c,emit:T}){let x,b;const r=m,{addNotification:S}=te(),w=y(null),s=y("form-selection");async function A(n){var t;s.value="form-selection",(t=w.value)==null||t.show(n)}async function q(n){var t;s.value="download-confirmation",(t=w.value)==null||t.show(n)}c({startTaxForm:A,showDownloadConfirmation:q});const g=([x,b]=ae(()=>oe()),x=await x,b(),x),p=xe(),{formatMessage:i}=ne(),o=pe({taxFormHeader:{id:"dashboard.creator-tax-form-modal.header",defaultMessage:"Tax form"},securityHeader:{id:"dashboard.creator-tax-form-modal.security.header",defaultMessage:"Security practices"},securityDescription:{id:"dashboard.creator-tax-form-modal.security.description",defaultMessage:"Modrinth uses third-party provider Track1099 to securely collect and store your tax forms. Learn more here."},usCitizenQuestion:{id:"dashboard.creator-tax-form-modal.us-citizen.question",defaultMessage:"Are you a US citizen?"},yes:{id:"common.yes",defaultMessage:"Yes"},no:{id:"common.no",defaultMessage:"No"},entityQuestion:{id:"dashboard.creator-tax-form-modal.entity.question",defaultMessage:"Are you a private individual or part of a foreign entity?"},entityDescription:{id:"dashboard.creator-tax-form-modal.entity.description",defaultMessage:"A foreign entity means a business entity organized outside the United States (such as a non-US corporation, partnership, or LLC)."},privateIndividual:{id:"dashboard.creator-tax-form-modal.entity.private-individual",defaultMessage:"Private individual"},foreignEntity:{id:"dashboard.creator-tax-form-modal.entity.foreign-entity",defaultMessage:"Foreign entity"},cancel:{id:"action.cancel",defaultMessage:"Cancel"},continue:{id:"action.continue",defaultMessage:"Continue"},confirmationTitle:{id:"dashboard.creator-tax-form-modal.confirmation.title",defaultMessage:"You're all set! 🎉"},confirmationSuccess:{id:"dashboard.creator-tax-form-modal.confirmation.success",defaultMessage:"Your {formType} tax form has been submitted successfully!"},confirmationSupportText:{id:"dashboard.creator-tax-form-modal.confirmation.support-text",defaultMessage:"You can freely withdraw now. If you have questions or need to update your details contact support."},downloadButton:{id:"dashboard.creator-tax-form-modal.confirmation.download-button",defaultMessage:"Download {formType}"}}),l=y(null),f=y(null);function k(){var n;C.value=!1,(n=w.value)==null||n.hide()}function N(){j("cancelled"),k(),setTimeout(()=>{s.value="form-selection"},300)}function $(){s.value==="download-confirmation"&&r.emitSuccessOnClose&&j("success"),k(),setTimeout(()=>{s.value="form-selection"},300)}const I=F(()=>l.value==="yes"?"W-9":l.value==="no"&&f.value==="private-individual"?"W-8BEN":l.value==="no"&&f.value==="foreign-entity"?"W-8BEN-E":null),X=F(()=>l.value==="yes"?!0:!!(l.value==="no"&&f.value)),j=T,M=y(null),W=y(null),C=y(!1),O=F(()=>{var n;return C.value||(M.value?((n=M.value.loading)==null?void 0:n.value)??!1:!1)});async function K(){var t,D,d;if(!I.value)return;if(C.value=!0,p.value.testTaxForm){s.value="download-confirmation",C.value=!1;return}const n=await ve("payout/compliance",{apiVersion:3,method:"POST",body:{form_type:I.value}});M.value||(M.value=be(n,{prefill:{email:((t=g.value.user)==null?void 0:t.email)??"",account_number:((D=g.value.user)==null?void 0:D.id)??"",reference_number:((d=g.value.user)==null?void 0:d.id)??""}}));try{if(M.value){const z=await M.value.start();if(W.value=z,M.value.status==="signed"){s.value="download-confirmation",C.value=!1;return}S({title:"Tax form incomplete",text:"You have not completed the tax form. Please try again.",type:"warning"})}}catch(z){console.error("Error occurred while continuing tax form:",z),N()}finally{C.value=!1}}function G(){var t;if(!W.value)return;const n=(t=W.value.links)==null?void 0:t.signed_pdf;n&&window.open(n,"_blank")}return se(l,n=>{n==="yes"&&(f.value=null)}),(n,t)=>{const D=ye;return _(),B(e(he),{ref_key:"taxFormModal",ref:w,header:e(i)(e(o).taxFormHeader),"hide-header":e(s)==="download-confirmation","close-on-click-outside":e(s)!=="download-confirmation","close-on-esc":e(s)!=="download-confirmation"},{default:v(()=>[a("div",{class:me(["w-full",[e(s)==="form-selection"?"sm:w-[540px]":"sm:w-[400px]"]])},[e(s)==="form-selection"?(_(),U("div",ke,[u(e(ge),{type:"info",header:e(i)(e(o).securityHeader)},{default:v(()=>[u(e(P),{"message-id":e(o).securityDescription},{"security-link":v(({children:d})=>[a("a",Me,[(_(),B(Y(()=>e(R)(d)))),u(e(le),{class:"my-auto"})])]),_:1},8,["message-id"])]),_:1},8,["header"]),a("div",Ce,[a("label",null,[a("span",Te,[E(h(e(i)(e(o).usCitizenQuestion))+" ",1),t[2]||(t[2]=a("span",{class:"text-brand-red"},"*",-1))])]),u(e(Q),{modelValue:e(l),"onUpdate:modelValue":t[0]||(t[0]=d=>H(l)?l.value=d:null),items:["yes","no"],"format-label":d=>d==="yes"?e(i)(e(o).yes):e(i)(e(o).no),"never-empty":!1,capitalize:!0},null,8,["modelValue","format-label"])]),u(re,{"enter-active-class":"transition-all duration-300 ease-in-out","enter-from-class":"h-0 overflow-hidden opacity-0","enter-to-class":"h-auto overflow-visible opacity-100","leave-active-class":"transition-all duration-300 ease-in-out","leave-from-class":"h-auto overflow-visible opacity-100","leave-to-class":"h-0 overflow-hidden opacity-0"},{default:v(()=>[e(l)==="no"?(_(),U("div",Se,[a("label",Ne,[a("span",Be,[E(h(e(i)(e(o).entityQuestion))+" ",1),t[3]||(t[3]=a("span",{class:"text-brand-red"},"*",-1))])]),u(e(Q),{modelValue:e(f),"onUpdate:modelValue":t[1]||(t[1]=d=>H(f)?f.value=d:null),items:["private-individual","foreign-entity"],"format-label":d=>d==="private-individual"?e(i)(e(o).privateIndividual):e(i)(e(o).foreignEntity),"never-empty":!1,capitalize:!1,class:"mt-2"},null,8,["modelValue","format-label"]),a("span",Ee,h(e(i)(e(o).entityDescription)),1)])):L("",!0)]),_:1}),a("div",Fe,[u(e(V),{onClick:N},{default:v(()=>[a("button",null,[u(e(ie)),E(" "+h(e(i)(e(o).cancel)),1)])]),_:1}),u(e(V),null,{default:v(()=>[a("button",{disabled:!e(X)||e(O),onClick:K},[E(h(e(i)(e(o).continue))+" ",1),e(O)?(_(),B(e(de),{key:1,class:"animate-spin"})):(_(),B(e(ue),{key:0}))],8,Ie)]),_:1})])])):e(s)==="download-confirmation"?(_(),U("div",De,[a("div",Ve,[t[4]||(t[4]=a("div",{class:"absolute inset-0 rounded-xl rounded-b-none bg-gradient-to-r from-brand-green to-brand-blue"},null,-1)),t[5]||(t[5]=a("div",{class:"absolute inset-0 rounded-xl rounded-b-none",style:{background:`linear-gradient(
180deg,
rgba(39, 41, 46, 0.15) 0%,
var(--color-raised-bg) 100%
)`}},null,-1)),u(e(ce),{class:"absolute left-[90px] top-[48px] h-[140px] w-[220px]"})]),a("div",Ae,[a("span",qe,h(e(i)(e(o).confirmationTitle)),1),a("span",null,h(e(i)(e(o).confirmationSuccess,{formType:e(I)})),1),a("span",null,[u(e(P),{"message-id":e(o).confirmationSupportText},{"support-link":v(({children:d})=>[u(D,{to:"https://support.modrinth.com",class:"text-link",target:"_blank",rel:"noopener noreferrer"},{default:v(()=>[(_(),B(Y(()=>e(R)(d))))]),_:2},1024)]),_:1},8,["message-id"])])]),a("div",We,[u(e(V),null,{default:v(()=>[a("button",{class:"w-full text-contrast",onClick:$},h(n.closeButtonText),1)]),_:1}),u(e(V),{color:"green"},{default:v(()=>[a("button",{class:"w-full text-contrast",onClick:G},[u(e(fe)),E(h(e(i)(e(o).downloadButton,{formType:e(I)})),1)])]),_:1})])])):L("",!0)],2)]),_:1},8,["header","hide-header","close-on-click-outside","close-on-esc"])}}});export{He as _};