1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7123],{23588:(e,r,t)=>{t.d(r,{s:()=>o});var i=t(28072);let o=(e,r)=>(0,i.s)(e,r.ethereum.createOnLogin)||(0,i.g)(e,r.solana.createOnLogin)},29133:(e,r,t)=>{t.d(r,{N:()=>n});var i=t(95155),o=t(43262);let n=({size:e,centerIcon:r})=>(0,i.jsx)(a,{$size:e,children:(0,i.jsxs)(l,{children:[(0,i.jsx)(c,{}),(0,i.jsx)(d,{}),r?(0,i.jsx)(s,{children:r}):null]})}),a=o.I4.div` 2 --spinner-size: ${e=>e.$size?e.$size:"96px"}; 3 4 display: inline-flex; 5 justify-content: center; 6 align-items: center; 7 8 @media all and (display-mode: standalone) { 9 margin-bottom: 30px; 10 } 11`,l=o.I4.div` 12 position: relative; 13 height: var(--spinner-size); 14 width: var(--spinner-size); 15 16 opacity: 1; 17 animation: fadein 200ms ease; 18`,s=o.I4.div` 19 position: absolute; 20 top: 0; 21 right: 0; 22 bottom: 0; 23 left: 0; 24 display: flex; 25 align-items: center; 26 justify-content: center; 27 svg, 28 img { 29 width: calc(var(--spinner-size) * 0.4); 30 height: calc(var(--spinner-size) * 0.4); 31 border-radius: var(--privy-border-radius-full); 32 } 33`,c=o.I4.div` 34 position: absolute; 35 top: 0; 36 right: 0; 37 bottom: 0; 38 left: 0; 39 width: var(--spinner-size); 40 height: var(--spinner-size); 41 42 && { 43 border: 4px solid var(--privy-color-border-default); 44 border-radius: 50%; 45 } 46`,d=o.I4.div` 47 position: absolute; 48 top: 0; 49 right: 0; 50 bottom: 0; 51 left: 0; 52 width: var(--spinner-size); 53 height: var(--spinner-size); 54 animation: spin 1200ms linear infinite; 55 56 && { 57 border: 4px solid; 58 border-color: var(--privy-color-icon-subtle) transparent transparent transparent; 59 border-radius: 50%; 60 } 61 62 @keyframes spin { 63 from { 64 transform: rotate(0deg); 65 } 66 to { 67 transform: rotate(360deg); 68 } 69 } 70`},48880:(e,r,t)=>{t.r(r),t.d(r,{OAuthStatusScreen:()=>k,OAuthStatusScreenView:()=>E,default:()=>k});var i=t(95155),o=t(12115),n=t(69489),a=t(56060),l=t(65529),s=t(24763),c=t(72),d=t(56186),p=t(64674),u=t(46462),g=t(45944),h=t(23588),v=t(46481),m=t(68272),f=t(28072);t(15822),t(65884),t(55702),t(3282);let y=({style:e})=>(0,i.jsx)(l.A,{style:{color:"var(--privy-color-error)",...e}}),x={google:{name:"Google",component:a.G},discord:{name:"Discord",component:a.D},github:{name:"Github",component:a.b},linkedin:{name:"LinkedIn",component:a.L},twitter:{name:"Twitter",component:a.a},spotify:{name:"Spotify",component:a.S},instagram:{name:"Instagram",component:a.I},tiktok:{name:"Tiktok",component:a.T},line:{name:"LINE",component:s.L},twitch:{name:"Twitch",component:s.T},apple:{name:"Apple",component:a.A},telegram:{name:"Telegram",component:c.T}},b=({iconUrl:e,...r})=>o.createElement("svg",{width:"33",height:"32",viewBox:"0 0 33 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},o.createElement("foreignObject",{x:"2",y:"2",width:"29",height:"28"},o.createElement("img",{src:e,width:"29",height:"28",style:{display:"block",objectFit:"contain",borderRadius:"4px"},alt:"Provider icon"}))),w=(e,r)=>{if(e in x)return x[e];if((0,n.i)(e)&&r){let t=r.find(r=>r.provider===e);if(t)return{name:t.provider_display_name,component:e=>o.createElement(b,{...e,iconUrl:t.provider_icon_url})}}return{name:"Unknown",component:y}},E=({providerName:e,ProviderLogo:r,success:t,errorMessage:o,onRetry:n})=>{let a=t?`Successfully connected with ${e}`:o?o.message:`Verifying connection to ${e}`;return(0,i.jsx)(v.S,{title:a,subtitle:t?"You're good to go!":o?o.detail:"Just a few moments more",icon:r,iconVariant:"loading",iconLoadingStatus:{success:t,fail:!!o},secondaryCta:o?.retryable&&n?{label:"Retry",onClick:n}:void 0,watermark:!0})},k={component:()=>{let{authenticated:e,logout:r,ready:t,user:a}=(0,n.u)(),{setModalData:l,navigate:s,resetNavigation:c}=(0,g.u)(),v=(0,d.u)(),{getAuthMeta:y,initLoginWithOAuth:x,loginWithOAuth:b,updateWallets:k,setReadyToTrue:S,closePrivyModal:j,createAnalyticsEvent:A}=(0,u.u)(),[I,T]=(0,o.useState)(!1),[C,_]=(0,o.useState)(void 0),O=y()?.provider||"google",{name:N,component:R}=w(O,v.customOAuthProviders);return(0,o.useEffect)(()=>{b(O).then(()=>{T(!0),S(!0)}).catch(e=>{if(S(!1),e?.privyErrorCode===p.a.ALLOWLIST_REJECTED)return _(void 0),c(),void s("AllowlistRejectionScreen");if(e?.privyErrorCode===p.a.USER_LIMIT_REACHED)return console.error(new p.j(e).toString()),_(void 0),c(),void s("UserLimitReachedScreen");if(e?.privyErrorCode===p.a.USER_DOES_NOT_EXIST)return _(void 0),c(),void s("AccountNotFoundScreen");if(e?.privyErrorCode===p.a.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return _(void 0),c(),l({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,displayName:e.data?.data?.account?.displayName,linkMethod:y()?.provider,embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:e.data?.data?.otherUser?.oAuthUserInfo}}),void s("LinkConflictScreen");
70let{retryable:r,detail:t}=function(e,r,t){let i={detail:"",retryable:!1},o=(0,m.e)(r);if(e?.privyErrorCode===p.a.LINKED_TO_ANOTHER_USER&&(i.detail="This account has already been linked to another user."),e?.privyErrorCode===p.a.INVALID_CREDENTIALS&&(i.retryable=!0,i.detail="Something went wrong. Try again."),e.privyErrorCode===p.a.OAUTH_USER_DENIED&&(i.detail=`Retry and check ${o} to finish connecting your account.`,i.retryable=!0),e?.privyErrorCode===p.a.TOO_MANY_REQUESTS&&(i.detail="Too many requests. Please wait before trying again."),e?.privyErrorCode===p.a.TOO_MANY_REQUESTS&&e.message.includes("provider rate limit")){let e=w(r,t).name;i.detail=`Request limit reached for ${e}. Please wait a moment and try again.`}if(e?.privyErrorCode===p.a.OAUTH_ACCOUNT_SUSPENDED){let e=w(r,t).name;i.detail=`Your ${e} account is suspended. Please try another login method.`}return e?.privyErrorCode===p.a.CANNOT_LINK_MORE_OF_TYPE&&(i.detail="You cannot authorize more than one account for this user."),e?.privyErrorCode===p.a.OAUTH_UNEXPECTED&&r.startsWith("privy:")&&(i.detail="Something went wrong. Please try again."),i}(e,O,v.customOAuthProviders);_({retryable:r,detail:t,message:"Authentication failed"})}).finally(()=>{(0,f.k)()})},[N,O]),(0,o.useEffect)(()=>{if(t&&e&&I&&a){if(v?.legal.requireUsersAcceptTerms&&!a.hasAcceptedTerms){let e=setTimeout(()=>{s("AffirmativeConsentScreen")},d.r);return()=>clearTimeout(e)}if((0,h.s)(a,v.embeddedWallets)){let e=setTimeout(()=>{l({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),A({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:O,screen:"OAuthStatusScreen"}}),r()},callAuthOnSuccessOnClose:!0}}),s("EmbeddedWalletOnAccountCreateScreen")},d.r);return()=>clearTimeout(e)}{let e=setTimeout(()=>j({shouldCallAuthOnSuccess:!0,isSuccess:!0}),d.r);return k(),()=>clearTimeout(e)}}},[t,e,I,a]),(0,i.jsx)(E,{providerName:N,ProviderLogo:R,success:I,errorMessage:C,onRetry:C?.retryable?()=>{(0,f.k)(),x(O),_(void 0)}:void 0})},isShownBeforeReady:!0}},54880:(e,r,t)=>{t.d(r,{S:()=>k});var i=t(95155),o=t(12115),n=t(43262),a=t(69829),l=t(61665),s=t(24816),c=t(29133);let d=n.I4.div` 71 /* spacing tokens */ 72 --screen-space: 16px; /* base 1x = 16 */ 73 --screen-space-lg: calc(var(--screen-space) * 1.5); /* 24px */ 74 75 position: relative; 76 overflow: hidden; 77 margin: 0 calc(-1 * var(--screen-space)); /* extends over modal padding */ 78 height: 100%; 79 border-radius: var(--privy-border-radius-lg); 80`,p=n.I4.div` 81 display: flex; 82 flex-direction: column; 83 gap: calc(var(--screen-space) * 1.5); 84 width: 100%; 85 background: var(--privy-color-background); 86 padding: 0 var(--screen-space-lg) var(--screen-space); 87 height: 100%; 88 border-radius: var(--privy-border-radius-lg); 89`,u=n.I4.div` 90 position: relative; 91 display: flex; 92 flex-direction: column; 93`,g=(0,n.I4)(s.M)` 94 margin: 0 -8px; 95`,h=n.I4.div` 96 flex: 1 1 auto; 97 display: flex; 98 flex-direction: column; 99 100 /* Enable scrolling */ 101 overflow-y: auto; 102 103 /* Hide scrollbar but keep functionality when scrollable */ 104 /* Add padding for focus outline space, offset with negative margin */ 105 padding: 3px; 106 margin: -3px; 107 108 &::-webkit-scrollbar {
109 display: none; 110 } 111 scrollbar-gutter: stable both-edges; 112 scrollbar-width: none; 113 -ms-overflow-style: none; 114 115 /* Gradient effect for scroll indication */ 116 ${({$colorScheme:e})=>"light"===e?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.06)) bottom;":"dark"===e?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.06)) bottom;":void 0} 117 118 background-repeat: no-repeat; 119 background-size: 120 100% 32px, 121 100% 16px; 122 background-attachment: local, scroll; 123`,v=n.I4.div` 124 display: flex; 125 flex-direction: column; 126 gap: var(--screen-space-lg); 127 margin-top: 1.5rem; 128`,m=n.I4.div` 129 text-align: center; 130 display: flex; 131 flex-direction: column; 132 align-items: center; 133 gap: var(--screen-space); 134`,f=n.I4.div` 135 display: flex; 136 flex-direction: column; 137 gap: 4px; 138`,y=n.I4.h3` 139 && { 140 font-size: 20px; 141 line-height: 32px; 142 font-weight: 500; 143 color: var(--privy-color-foreground); 144 margin: 0; 145 } 146`,x=n.I4.p` 147 && { 148 margin: 0; 149 font-size: 16px; 150 font-weight: 300; 151 line-height: 24px; 152 color: var(--privy-color-foreground); 153 } 154`,b=n.I4.div` 155 background: ${({$variant:e})=>{switch(e){case"success":return"var(--privy-color-success-bg, #EAFCEF)";case"warning":return"var(--privy-color-warn, #FEF3C7)";case"error":return"var(--privy-color-error-bg, #FEE2E2)";case"loading":case"logo":return"transparent";default:return"var(--privy-color-background-2)"}}}; 156 157 border-radius: 50%; 158 width: 64px; 159 height: 64px; 160 display: flex; 161 align-items: center; 162 justify-content: center; 163`,w=n.I4.div` 164 display: flex; 165 align-items: center; 166 justify-content: center; 167 168 img, 169 svg { 170 max-height: 90px; 171 max-width: 180px; 172 } 173`,E=n.I4.div` 174 display: flex; 175 flex-direction: column; 176 justify-content: center; 177 align-items: center; 178 width: 100%; 179 height: 82px; 180 181 > div { 182 position: relative; 183 } 184 185 > div > :first-child { 186 position: relative; 187 } 188 189 > div > :last-child { 190 position: absolute; 191 left: 50%; 192 top: 50%; 193 transform: translate(-50%, -50%); 194 } 195`,k=({children:e,...r})=>(0,i.jsx)(d,{children:(0,i.jsx)(p,{...r,children:e})}),S=n.I4.div` 196 position: absolute; 197 top: 0; 198 left: calc(-1 * var(--screen-space-lg)); 199 width: calc(100% + calc(var(--screen-space-lg) * 2)); 200 height: 4px; 201 background: var(--privy-color-background-2); 202 border-top-left-radius: inherit; 203 border-top-right-radius: inherit; 204 overflow: hidden; 205`,j=(0,n.I4)(l.B)` 206 padding: 0; 207 && a { 208 padding: 0; 209 color: var(--privy-color-foreground-3); 210 } 211`,A=n.I4.div` 212 height: 100%; 213 width: ${({pct:e})=>e}%; 214 background: var(--privy-color-foreground-3); 215 border-radius: 2px; 216 transition: width 300ms ease-in-out; 217`,I=({step:e})=>e?(0,i.jsx)(S,{children:(0,i.jsx)(A,{pct:Math.min(100,e.current/e.total*100)})}):null;k.Header=({title:e,subtitle:r,icon:t,iconVariant:o,iconLoadingStatus:n,showBack:a,onBack:l,showInfo:s,onInfo:c,showClose:d,onClose:p,step:h,headerTitle:v,eyebrow:b,...w})=>(0,i.jsxs)(u,{...w,children:[(0,i.jsx)(g,{backFn:a?l:void 0,infoFn:s?c:void 0,onClose:d?p:void 0,title:v,eyebrow:b,closeable:d}),(t||o||e||r)&&(0,i.jsxs)(m,{children:[t||o?(0,i.jsx)(k.Icon,{icon:t,variant:o,loadingStatus:n}):null,!(!e&&!r)&&(0,i.jsxs)(f,{children:[e&&(0,i.jsx)(y,{children:e}),r&&(0,i.jsx)(x,{children:r})]})]}),h&&(0,i.jsx)(I,{step:h})]}),(k.Body=o.forwardRef(({children:e,...r},t)=>(0,i.jsx)(h,{ref:t,...r,children:e}))).displayName="Screen.Body",k.Footer=({children:e,...r})=>(0,i.jsx)(v,{id:"privy-content-footer-container",...r,children:e}),k.Actions=({children:e,...r})=>(0,i.jsx)(T,{...r,children:e}),k.HelpText=({children:e,...r})=>(0,i.jsx)(C,{...r,children:e}),k.FooterText=({children:e,...r})=>(0,i.jsx)(_,{...r,children:e}),k.Watermark=()=>(0,i.jsx)(j,{}),k.Icon=({icon:e,variant:r="subtle",loadingStatus:t})=>"logo"===r&&e?(0,i.jsx)(w,"string"==typeof e?{children:(0,i.jsx)("img",{src:e,alt:""})}:o.isValidElement(e)?{children:e}:{children:o.createElement(e)}):"loading"===r?e?(0,i.jsx)(E,{children:(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,i.jsx)(a.C,{success:t?.success,fail:t?.fail}),"string"==typeof e?(0,i.jsx)("span",{style:{background:`url('${e}') 0 0 / contain`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"contain"}}):o.isValidElement(e)?o.cloneElement(e,{style:{width:"38px",height:"38px"}}):o.createElement(e,{style:{width:"38px",height:"38px"}})]})}):(0,i.jsx)(b,{$variant:r,children:(0,i.jsx)(c.N,{size:"64px"})}):(0,i.jsx)(b,{$variant:r,children:e&&("string"==typeof e?(0,i.jsx)("img",{src:e,alt:"",style:{width:"32px",height:"32px",borderRadius:"6px"}}):o.isValidElement(e)?e:o.createElement(e,{width:32,height:32,stroke:(()=>{switch(r){case"success":return"var(--privy-color-icon-success)";case"warning":return"var(--privy-color-icon-warning)";case"error":return"var(--privy-color-icon-error)";default:return"var(--privy-color-icon-muted)"}})(),strokeWidth:2}))});let T=n.I4.div` 218 width: 100%; 219 display: flex; 220 flex-direction: column; 221 gap: calc(var(--screen-space) / 2); 222`,C=n.I4.div` 223 && { 224 margin: 0; 225 width: 100%; 226 text-align: center; 227 color: var(--privy-color-foreground-2); 228 font-size: 13px; 229 line-height: 20px; 230 231 & a { 232 text-decoration: underline; 233 } 234 } 235`,_=n.I4.div` 236 && { 237 margin-top: -1rem; 238 width: 100%; 239 text-align: center; 240 color: var(--privy-color-foreground-2); 241 font-size: 0.6875rem; // 11px 242 line-height: 1rem; // 16px 243 } 244`},65529:(e,r,t)=>{t.d(r,{A:()=>
244o});var i=t(12115);let o=i.forwardRef(function(e,r){let{title:t,titleId:o,...n}=e;return i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":o},n),t?i.createElement("title",{id:o},t):null,i.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418"}))})},68272:(e,r,t)=>{t.d(r,{e:()=>i});function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}}}]);
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.