import{a as e,r as t}from"./rolldown-runtime-CNC7AqOf.js";import{t as n}from"./react-Augu_vA3.js";var r=t({GoogleLogin:()=>d,GoogleOAuthProvider:()=>s,useGoogleOAuth:()=>c}),i=e(n());function a(e={}){let{nonce:t,onScriptLoadSuccess:n,onScriptLoadError:r}=e,[a,o]=(0,i.useState)(!1),s=(0,i.useRef)(n);s.current=n;let c=(0,i.useRef)(r);return c.current=r,(0,i.useEffect)(()=>{let e=document.createElement(`script`);return e.src=`https://accounts.google.com/gsi/client`,e.async=!0,e.defer=!0,e.nonce=t,e.onload=()=>{var e;o(!0),(e=s.current)==null||e.call(s)},e.onerror=()=>{var e;o(!1),(e=c.current)==null||e.call(c)},document.body.appendChild(e),()=>{document.body.removeChild(e)}},[t]),a}var o=(0,i.createContext)(null);function s({clientId:e,nonce:t,onScriptLoadSuccess:n,onScriptLoadError:r,children:s}){let c=a({nonce:t,onScriptLoadSuccess:n,onScriptLoadError:r}),l=(0,i.useMemo)(()=>({clientId:e,scriptLoadedSuccessfully:c}),[e,c]);return i.createElement(o.Provider,{value:l},s)}function c(){let e=(0,i.useContext)(o);if(!e)throw Error(`Google OAuth components must be used within GoogleOAuthProvider`);return e}function l(e){return e?.clientId??e?.client_id}var u={large:40,medium:32,small:20};function d({onSuccess:e,onError:t,useOneTap:n,promptMomentNotification:r,type:a=`standard`,theme:o=`outline`,size:s=`large`,text:d,shape:f,logo_alignment:p,width:m,locale:h,click_listener:g,containerProps:_,...v}){let y=(0,i.useRef)(null),{clientId:b,scriptLoadedSuccessfully:x}=c(),S=(0,i.useRef)(e);S.current=e;let C=(0,i.useRef)(t);C.current=t;let w=(0,i.useRef)(r);return w.current=r,(0,i.useEffect)(()=>{var e,t,r;if(x)return(e=(window==null?void 0:window.google)?.accounts?.id)==null||e.initialize({client_id:b,callback:e=>{if(!e?.credential)return C.current?.call(C);let{credential:t,select_by:n}=e;S.current({credential:t,clientId:l(e),select_by:n})},...v}),(t=(window==null?void 0:window.google)?.accounts?.id)==null||t.renderButton(y.current,{type:a,theme:o,size:s,text:d,shape:f,logo_alignment:p,width:m,locale:h,click_listener:g}),n&&((r=(window==null?void 0:window.google)?.accounts?.id)==null||r.prompt(w.current)),()=>{var e;n&&((e=(window==null?void 0:window.google)?.accounts?.id)==null||e.cancel())}},[b,x,n,a,o,s,d,f,p,m,h]),i.createElement(`div`,{..._,ref:y,style:{height:u[s],..._?.style}})}export{r as n,d as t};