import{Y as g,b as S,bU as H,d as L,ai as O,aD as P,aL as J,q as Q,ae as R,o as E,g as V,w as M,a as l,h as m,l as e,aV as Y,s as $,E as X,i as A,t as k,aq as q,c as K,j as G,bv as Z,X as ee,N as D,V as te,bu as ae,v as se,ah as ne}from"./neoHy5a7.js";import{_ as oe}from"./DJ96Wpdi.js";import{C as W}from"./DJuRUcep.js";import{N as re}from"./gWZNyu6a.js";import{n as ie}from"./BotikJXt.js";const z="__avalara1099_script_injected__";function le(d){const r=window;r[z]||(r[z]=!0,H({script:[{src:`${d.replace(/\/$/,"")}/api/request_form.js`,crossorigin:"anonymous",type:"module"}]}))}async function ue(d){le(d.origin);const r=Date.now();return await new Promise((N,p)=>{const h=()=>{const a=window.Avalara1099;if(a)return N(a);if(d.timeoutMs&&d.timeoutMs>0&&Date.now()-r>d.timeoutMs)return p(new Error("Timed out waiting for Avalara1099 script to load"));setTimeout(h,d.pollIntervalMs)};h()})}function ce(d,r={}){const N=r.origin||"https://www.track1099.com",p=r.pollIntervalMs??250,h=r.timeoutMs,a=g(d),_=g(!1),C=g(null),b=S(()=>{var t;const s=a.value.data||a.value;return(t=s.attributes)!=null&&t.signed_at?new Date(s.attributes.signed_at):null}),i=S(()=>b.value?"signed":"incomplete");async function n(){var s;_.value=!0,C.value=null;try{const t=await ue({pollIntervalMs:p,timeoutMs:h,origin:N}),v=(s=(a.value.data||a.value).attributes)==null?void 0:s.form_type;let y;try{y=JSON.parse(JSON.stringify(a.value))}catch{y=Array.isArray(a.value)?[...a.value]:{...a.value}}let w;if(r.prefill)try{w=JSON.parse(JSON.stringify(r.prefill))}catch{w={...r.prefill}}let x;if(v==="W-8BEN")x=t.requestW8BEN(y,{prefill:w});else if(v==="W-9")x=t.requestW9(y,{prefill:w});else if(v==="W-8BEN-E"||v==="W-8BEN E")x=t.requestW8BENE(y,{prefill:w});else throw new Error(`Unsupported form_type: ${v}`);const f=await x;return a.value=f,f}catch(t){throw C.value=t,t}finally{_.value=!1}}return{start:n,request:a,signedAt:b,status:i,loading:_,error:C}}const de={class:"w-full sm:w-[540px]"},fe={href:"https://www.track1099.com/info/security",class:"flex w-fit flex-row gap-1 align-middle text-link",target:"_blank",rel:"noopener noreferrer"},me={class:"mt-4 flex flex-col gap-2"},pe={class:"text-lg font-semibold text-contrast"},ve={key:0,class:"flex flex-col gap-1"},ye={class:"mt-4"},ge={class:"text-lg font-semibold text-contrast"},he={class:"text-md mt-2 leading-tight"},_e={class:"mt-4 flex justify-end gap-3"},we=["disabled"],Ee=L({__name:"CreatorTaxFormModal",emits:["success","cancelled"],async setup(d,{expose:r,emit:N}){let p,h;const{addNotification:a}=O(),_=g(null);async function C(u){var o;(o=_.value)==null||o.show(u)}r({startTaxForm:C});const b=([p,h]=P(()=>J()),p=await p,h(),p),{formatMessage:i}=Q(),n=se({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"}}),s=g(null),t=g(null);function B(){var u;T.value=!1,(u=_.value)==null||u.hide()}function v(){x("cancelled"),B()}const y=S(()=>s.value==="yes"?"W-9":s.value==="no"&&t.value==="private-individual"?"W-8BEN":s.value==="no"&&t.value==="foreign-entity"?"W-8BEN-E":null),w=S(()=>s.value==="yes"?!0:!!(s.value==="no"&&t.value)),x=N,f=g(null),T=g(!1),F=S(()=>{var u;return T.value||(f.value?((u=f.value.loading)==null?void 0:u.value)??!1:!1)});async function U(){var o,c,I;if(!y.value)return;T.value=!0;const u=await ne("payout/compliance",{apiVersion:3,method:"POST",body:{form_type:y.value}});f.value||(f.value=ce(u,{prefill:{email:((o=b.value.user)==null?void 0:o.email)??"",account_number:((c=b.value.user)==null?void 0:c.id)??"",reference_number:((I=b.value.user)==null?void 0:I.id)??""}}));try{if(f.value){if(await f.value.start(),f.value.status==="signed"){a({title:"Tax form submitted",text:"You can now withdraw your full balance.",type:"success"}),x("success"),B();return}a({title:"Tax form incomplete",text:"You have not completed the tax form. Please try again.",type:"warning"})}}catch(j){console.error("Error occurred while continuing tax form:",j),v()}finally{T.value=!1}}return R(s,u=>{u==="yes"&&(t.value=null)}),(u,o)=>(E(),V(e(re),{ref_key:"taxFormModal",ref:_,header:e(i)(e(n).taxFormHeader)},{default:M(()=>[l("div",de,[m(e(oe),{type:"info",header:e(i)(e(n).securityHeader)},{default:M(()=>[m(e(Y),{"message-id":e(n).securityDescription},{"security-link":M(({children:c})=>[l("a",fe,[(E(),V($(()=>e(ie)(c)))),m(e(X),{class:"my-auto"})])]),_:1},8,["message-id"])]),_:1},8,["header"]),l("div",me,[l("label",null,[l("span",pe,[A(k(e(i)(e(n).usCitizenQuestion))+" ",1),o[2]||(o[2]=l("span",{class:"text-brand-red"},"*",-1))])]),m(e(W),{modelValue:e(s),"onUpdate:modelValue":o[0]||(o[0]=c=>q(s)?s.value=c:null),items:["yes","no"],"format-label":c=>c==="yes"?e(i)(e(n).yes):e(i)(e(n).no),"never-empty":!1,capitalize:!0},null,8,["modelValue","format-label"])]),m(Z,{"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:M(()=>[e(s)==="no"?(E(),K("div",ve,[l("label",ye,[l("span",ge,[A(k(e(i)(e(n).entityQuestion))+" ",1),o[3]||(o[3]=l("span",{class:"text-brand-red"},"*",-1))])]),m(e(W),{modelValue:e(t),"onUpdate:modelValue":o[1]||(o[1]=c=>q(t)?t.value=c:null),items:["private-individual","foreign-entity"],"format-label":c=>c==="private-individual"?e(i)(e(n).privateIndividual):e(i)(e(n).foreignEntity),"never-empty":!1,capitalize:!1,class:"mt-2"},null,8,["modelValue","format-label"]),l("span",he,k(e(i)(e(n).entityDescription)),1)])):G("",!0)]),_:1}),l("div",_e,[m(e(D),{onClick:v},{default:M(()=>[l("button",null,[m(e(ee)),A(" "+k(e(i)(e(n).cancel)),1)])]),_:1}),m(e(D),null,{default:M(()=>[l("button",{disabled:!e(w)||e(F),onClick:U},[A(k(e(i)(e(n).continue))+" ",1),e(F)?(E(),V(e(ae),{key:1,class:"animate-spin"})):(E(),V(e(te),{key:0}))],8,we)]),_:1})])])]),_:1},8,["header"]))}});export{Ee as _};