1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7135],{17349:(e,r,i)=>{i.d(r,{L:()=>t});var o=i(43262);let n=(0,o.i7)` 2 from, to { 3 background: var(--privy-color-foreground-4); 4 color: var(--privy-color-foreground-4); 5 } 6 7 50% { 8 background: var(--privy-color-foreground-accent); 9 color: var(--privy-color-foreground-accent); 10 } 11`,t=(0,o.AH)` 12 ${e=>e.$isLoading?(0,o.AH)` 13 width: 35%; 14 animation: ${n} 2s linear infinite; 15 border-radius: var(--privy-border-radius-sm); 16 `:""} 17`},29133:(e,r,i)=>{i.d(r,{N:()=>t});var o=i(95155),n=i(43262);let t=({size:e,centerIcon:r})=>(0,o.jsx)(a,{$size:e,children:(0,o.jsxs)(l,{children:[(0,o.jsx)(c,{}),(0,o.jsx)(s,{}),r?(0,o.jsx)(d,{children:r}):null]})}),a=n.I4.div` 18 --spinner-size: ${e=>e.$size?e.$size:"96px"}; 19 20 display: inline-flex; 21 justify-content: center; 22 align-items: center; 23 24 @media all and (display-mode: standalone) { 25 margin-bottom: 30px; 26 } 27`,l=n.I4.div` 28 position: relative; 29 height: var(--spinner-size); 30 width: var(--spinner-size); 31 32 opacity: 1; 33 animation: fadein 200ms ease; 34`,d=n.I4.div` 35 position: absolute; 36 top: 0; 37 right: 0; 38 bottom: 0; 39 left: 0; 40 display: flex; 41 align-items: center; 42 justify-content: center; 43 svg, 44 img { 45 width: calc(var(--spinner-size) * 0.4); 46 height: calc(var(--spinner-size) * 0.4); 47 border-radius: var(--privy-border-radius-full); 48 } 49`,c=n.I4.div` 50 position: absolute; 51 top: 0; 52 right: 0; 53 bottom: 0; 54 left: 0; 55 width: var(--spinner-size); 56 height: var(--spinner-size); 57 58 && { 59 border: 4px solid var(--privy-color-border-default); 60 border-radius: 50%; 61 } 62`,s=n.I4.div` 63 position: absolute; 64 top: 0; 65 right: 0; 66 bottom: 0; 67 left: 0; 68 width: var(--spinner-size); 69 height: var(--spinner-size); 70 animation: spin 1200ms linear infinite; 71 72 && { 73 border: 4px solid; 74 border-color: var(--privy-color-icon-subtle) transparent transparent transparent; 75 border-radius: 50%; 76 } 77 78 @keyframes spin { 79 from { 80 transform: rotate(0deg); 81 } 82 to { 83 transform: rotate(360deg); 84 } 85 } 86`},46481:(e,r,i)=>{i.d(r,{S:()=>a});var o=i(95155),n=i(24816),t=i(54880);let a=({primaryCta:e,secondaryCta:r,helpText:i,footerText:a,watermark:l=!0,children:d,...c})=>{let s=e||r?(0,o.jsxs)(o.Fragment,{children:[e&&(()=>{let{label:r,...i}=e,t=i.variant||"primary";return(0,o.jsx)(n.B,{...i,variant:t,style:{width:"100%",...i.style},children:r})})(),r&&(()=>{let{label:e,...i}=r,t=i.variant||"secondary";return(0,o.jsx)(n.B,{...i,variant:t,style:{width:"100%",...i.style},children:e})})()]}):null;return(0,o.jsxs)(t.S,{id:c.id,className:c.className,children:[(0,o.jsx)(t.S.Header,{...c}),d?(0,o.jsx)(t.S.Body,{children:d}):null,i||s||l?(0,o.jsxs)(t.S.Footer,{children:[i?(0,o.jsx)(t.S.HelpText,{children:i}):null,s?(0,o.jsx)(t.S.Actions,{children:s}):null,l?(0,o.jsx)(t.S.Watermark,{}):null]}):null,a?(0,o.jsx)(t.S.FooterText,{children:a}):null]})}},47135:(e,r,i)=>{i.r(r),i.d(r,{UpdatePhoneScreen:()=>u,UpdatePhoneScreenView:()=>p,default:()=>u});var o=i(95155),n=i(74633),t=i(12115),a=i(61924),l=i(46462),d=i(45944),c=i(69489),s=i(46481);i(15822),i(65884),i(55702);let p=({title:e="Update your phone number",subtitle:r="Add the phone number you'd like to use going forward. We'll send you a confirmation code",onSubmit:i,isSubmitting:l=!1})=>{let[d,c]=(0,t.useState)(null);return(0,o.jsx)(s.S,{title:e,subtitle:r,icon:n.A,primaryCta:{label:l?"Submitting":"Update",onClick:async()=>{d?.qualifiedPhoneNumber&&await i(d)},disabled:!d?.isValid||l},watermark:!0,children:(0,o.jsx)(a.C,{onChange:e=>{c(e)},onSubmit:async()=>{},noIncludeSubmitButton:!0,hideRecent:!0})})},u={component:()=>{let{currentScreen:e,data:r,navigate:i,setModalData:n}=(0,d.u)(),{user:a}=(0,c.u)(),{initUpdatePhone:s}=(0,l.u)(),[u,h]=(0,t.useState)(!1);return(0,o.jsx)(p,{onSubmit:async o=>{h(!0);try{if(!a?.phone?.number)throw Error("User is required to have an phone number to update it.");await s(a?.phone?.number,o.qualifiedPhoneNumber),i("AwaitingPasswordlessCodeScreen")}
86catch(o){n({errorModalData:{error:o,previousScreen:r?.errorModalData?.previousScreen||e||"LinkPhoneScreen"}}),i("ErrorScreen")}finally{h(!1)}},isSubmitting:u})}}},54880:(e,r,i)=>{i.d(r,{S:()=>k});var o=i(95155),n=i(12115),t=i(43262),a=i(69829),l=i(61665),d=i(24816),c=i(29133);let s=t.I4.div` 87 /* spacing tokens */ 88 --screen-space: 16px; /* base 1x = 16 */ 89 --screen-space-lg: calc(var(--screen-space) * 1.5); /* 24px */ 90 91 position: relative; 92 overflow: hidden; 93 margin: 0 calc(-1 * var(--screen-space)); /* extends over modal padding */ 94 height: 100%; 95 border-radius: var(--privy-border-radius-lg); 96`,p=t.I4.div` 97 display: flex; 98 flex-direction: column; 99 gap: calc(var(--screen-space) * 1.5); 100 width: 100%; 101 background: var(--privy-color-background); 102 padding: 0 var(--screen-space-lg) var(--screen-space); 103 height: 100%; 104 border-radius: var(--privy-border-radius-lg); 105`,u=t.I4.div` 106 position: relative; 107 display: flex; 108 flex-direction: column; 109`,h=(0,t.I4)(d.M)` 110 margin: 0 -8px; 111`,g=t.I4.div` 112 flex: 1 1 auto; 113 display: flex; 114 flex-direction: column; 115 116 /* Enable scrolling */ 117 overflow-y: auto; 118 119 /* Hide scrollbar but keep functionality when scrollable */ 120 /* Add padding for focus outline space, offset with negative margin */ 121 padding: 3px; 122 margin: -3px; 123 124 &::-webkit-scrollbar {
125 display: none; 126 } 127 scrollbar-gutter: stable both-edges; 128 scrollbar-width: none; 129 -ms-overflow-style: none; 130 131 /* Gradient effect for scroll indication */ 132 ${({$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} 133 134 background-repeat: no-repeat; 135 background-size: 136 100% 32px, 137 100% 16px; 138 background-attachment: local, scroll; 139`,v=t.I4.div` 140 display: flex; 141 flex-direction: column; 142 gap: var(--screen-space-lg); 143 margin-top: 1.5rem; 144`,x=t.I4.div` 145 text-align: center; 146 display: flex; 147 flex-direction: column; 148 align-items: center; 149 gap: var(--screen-space); 150`,b=t.I4.div` 151 display: flex; 152 flex-direction: column; 153 gap: 4px; 154`,f=t.I4.h3` 155 && { 156 font-size: 20px; 157 line-height: 32px; 158 font-weight: 500; 159 color: var(--privy-color-foreground); 160 margin: 0; 161 } 162`,m=t.I4.p` 163 && { 164 margin: 0; 165 font-size: 16px; 166 font-weight: 300; 167 line-height: 24px; 168 color: var(--privy-color-foreground); 169 } 170`,y=t.I4.div` 171 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)"}}}; 172 173 border-radius: 50%; 174 width: 64px; 175 height: 64px; 176 display: flex; 177 align-items: center; 178 justify-content: center; 179`,w=t.I4.div` 180 display: flex; 181 align-items: center; 182 justify-content: center; 183 184 img, 185 svg { 186 max-height: 90px; 187 max-width: 180px; 188 } 189`,j=t.I4.div` 190 display: flex; 191 flex-direction: column; 192 justify-content: center; 193 align-items: center; 194 width: 100%; 195 height: 82px; 196 197 > div { 198 position: relative; 199 } 200 201 > div > :first-child { 202 position: relative; 203 } 204 205 > div > :last-child { 206 position: absolute; 207 left: 50%; 208 top: 50%; 209 transform: translate(-50%, -50%); 210 } 211`,k=({children:e,...r})=>(0,o.jsx)(s,{children:(0,o.jsx)(p,{...r,children:e})}),S=t.I4.div` 212 position: absolute; 213 top: 0; 214 left: calc(-1 * var(--screen-space-lg)); 215 width: calc(100% + calc(var(--screen-space-lg) * 2)); 216 height: 4px; 217 background: var(--privy-color-background-2); 218 border-top-left-radius: inherit; 219 border-top-right-radius: inherit; 220 overflow: hidden; 221`,C=(0,t.I4)(l.B)` 222 padding: 0; 223 && a { 224 padding: 0; 225 color: var(--privy-color-foreground-3); 226 } 227`,$=t.I4.div` 228 height: 100%; 229 width: ${({pct:e})=>e}%; 230 background: var(--privy-color-foreground-3); 231 border-radius: 2px; 232 transition: width 300ms ease-in-out; 233`,I=({step:e})=>e?(0,o.jsx)(S,{children:(0,o.jsx)($,{pct:Math.min(100,e.current/e.total*100)})}):null;k.Header=({title:e,subtitle:r,icon:i,iconVariant:n,iconLoadingStatus:t,showBack:a,onBack:l,showInfo:d,onInfo:c,showClose:s,onClose:p,step:g,headerTitle:v,eyebrow:y,...w})=>(0,o.jsxs)(u,{...w,children:[(0,o.jsx)(h,{backFn:a?l:void 0,infoFn:d?c:void 0,onClose:s?p:void 0,title:v,eyebrow:y,closeable:s}),(i||n||e||r)&&(0,o.jsxs)(x,{children:[i||n?(0,o.jsx)(k.Icon,{icon:i,variant:n,loadingStatus:t}):null,!(!e&&!r)&&(0,o.jsxs)(b,{children:[e&&(0,o.jsx)(f,{children:e}),r&&(0,o.jsx)(m,{children:r})]})]}),g&&(0,o.jsx)(I,{step:g})]}),(k.Body=n.forwardRef(({children:e,...r},i)=>(0,o.jsx)(g,{ref:i,...r,children:e}))).displayName="Screen.Body",k.Footer=({children:e,...r})=>(0,o.jsx)(v,{id:"privy-content-footer-container",...r,children:e}),k.Actions=({children:e,...r})=>(0,o.jsx)(z,{...r,children:e}),k.HelpText=({children:e,...r})=>(0,o.jsx)(E,{...r,children:e}),k.FooterText=({children:e,...r})=>(0,o.jsx)(N,{...r,children:e}),k.Watermark=()=>(0,o.jsx)(C,{}),k.Icon=({icon:e,variant:r="subtle",loadingStatus:i})=>"logo"===r&&e?(0,o.jsx)(w,"string"==typeof e?{children:(0,o.jsx)("img",{src:e,alt:""})}:n.isValidElement(e)?{children:e}:{children:n.createElement(e)}):"loading"===r?e?(0,o.jsx)(j,{children:(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,o.jsx)(a.C,{success:i?.success,fail:i?.fail}),"string"==typeof e?(0,o.jsx)("span",{style:{background:`url('${e}') 0 0 / contain`,height:"38px",width:"38px",borderRadius:"6px",margin:"auto",backgroundSize:"contain"}}):n.isValidElement(e)?n.cloneElement(e,{style:{width:"38px",height:"38px"}}):n.createElement(e,{style:{width:"38px",height:"38px"}})]})}):(0,o.jsx)(y,{$variant:r,children:(0,o.jsx)(c.N,{size:"64px"})}):(0,o.jsx)(y,{$variant:r,children:e&&("string"==typeof e?(0,o.jsx)("img",{src:e,alt:"",style:{width:"32px",height:"32px",borderRadius:"6px"}}):n.isValidElement(e)?e:n.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 z=t.I4.div` 234 width: 100%; 235 display: flex; 236 flex-direction: column; 237 gap: calc(var(--screen-space) / 2); 238`,E=t.I4.div` 239 && { 240 margin: 0; 241 width: 100%; 242 text-align: center; 243 color: var(--privy-color-foreground-2); 244 font-size: 13px; 245 line-height: 20px; 246 247 & a { 248 text-decoration: underline; 249 } 250 } 251`,N=t.I4.div` 252 && { 253 margin-top: -1rem; 254 width: 100%; 255 text-align: center; 256 color: var(--privy-color-foreground-2); 257 font-size: 0.6875rem; // 11px 258 line-height: 1rem; // 16px 259 } 260`}
260,61924:(e,r,i)=>{i.d(r,{C:()=>h});var o=i(95155),n=i(12115),t=i(43262),a=i(75564),l=i(25124),d=i(56186),c=i(19042),s=i(24816),p=i(97627);let u=({value:e,onChange:r})=>(0,o.jsx)("select",{value:e,onChange:r,children:a.QN.map(e=>(0,o.jsxs)("option",{value:e.code,children:[e.code," +",e.callCode]},e.code))}),h=(0,n.forwardRef)((e,r)=>{let i=(0,d.u)(),[t,h]=(0,n.useState)(!1),{accountType:x}=(0,c.h)(),[b,f]=(0,n.useState)(""),[m,y]=(0,n.useState)(e.defaultCountry??i?.intl.defaultCountry??"US"),w=(0,a.Q7)(b,m),j=(0,a.qi)(m),k=(0,a.jZ)(m),S=(0,l.K)(m),C=!w,[$,I]=(0,n.useState)(!1),z=S.length,E=r=>{let i=r.target.value;y(i),f(""),e.onChange&&e.onChange({rawPhoneNumber:b,qualifiedPhoneNumber:(0,a.n4)(b,i),countryCode:i,isValid:(0,a.Q7)(b,m)})},N=(r,i)=>{try{let o=r.replace(/\D/g,"")===b.replace(/\D/g,"")?r:j.input(r);f(o),e.onChange&&e.onChange({rawPhoneNumber:o,qualifiedPhoneNumber:(0,a.n4)(r,i),countryCode:i,isValid:(0,a.Q7)(r,i)})}catch(e){console.error("Error processing phone number:",e)}},P=()=>{I(!0);let r=(0,a.n4)(b,m);e.onSubmit({rawPhoneNumber:b,qualifiedPhoneNumber:r,countryCode:m,isValid:(0,a.Q7)(b,m)}).finally(()=>I(!1))};return(0,n.useEffect)(()=>{if(e.defaultValue){let r=(0,a.oj)(e.defaultValue);j.reset(),E({target:{value:r.countryCode}}),N(r.phone,r.countryCode)}},[e.defaultValue]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g,{children:(0,o.jsxs)(v,{$callingCodeLength:z,$stacked:e.stacked,children:[(0,o.jsx)(u,{value:m,onChange:E}),(0,o.jsx)("input",{ref:r,id:"phone-number-input",className:"login-method-button",type:"tel",placeholder:k,onFocus:()=>h(!0),onChange:e=>{N(e.target.value,m)},onKeyUp:e=>{"Enter"===e.key&&P()},value:b,autoComplete:"tel"}),"phone"!==x||t||e.hideRecent?e.stacked||e.noIncludeSubmitButton?(0,o.jsx)("span",{}):(0,o.jsx)(s.E,{isSubmitting:$,onClick:P,disabled:C,children:"Submit"}):(0,o.jsx)(p.C,{color:"gray",children:"Recent"})]})}),e.stacked&&!e.noIncludeSubmitButton?(0,o.jsx)(s.P,{loading:$,loadingText:null,onClick:P,disabled:C,children:"Submit"}):null]})}),g=t.I4.div` 261 width: 100%; 262`,v=t.I4.label` 263 --country-code-dropdown-width: calc(54px + calc(12 * ${e=>e.$callingCodeLength}px)); 264 --phone-input-extra-padding-left: calc(12px + calc(3 * ${e=>e.$callingCodeLength}px)); 265 display: block; 266 position: relative; 267 width: 100%; 268 269 /* Tablet and Up */ 270 @media (min-width: 441px) { 271 --country-code-dropdown-width: calc(52px + calc(10 * ${e=>e.$callingCodeLength}px)); 272 } 273 274 && > select { 275 font-size: 16px; 276 height: 24px; 277 position: absolute; 278 margin: 13px calc(var(--country-code-dropdown-width) / 4); 279 line-height: 24px; 280 width: var(--country-code-dropdown-width); 281 background-color: var(--privy-color-background); 282 background-size: auto; 283 background-position-x: right; 284 cursor: pointer; 285 286 /* Tablet and Up */ 287 @media (min-width: 441px) { 288 font-size: 14px; 289 width: var(--country-code-dropdown-width); 290 } 291 292 :focus { 293 outline: none; 294 box-shadow: none; 295 } 296 } 297 298 && > input { 299 font-size: 16px; 300 line-height: 24px; 301 color: var(--privy-color-foreground); 302 303 overflow: hidden; 304 white-space: nowrap; 305 text-overflow: ellipsis; 306 307 width: calc(100% - var(--country-code-dropdown-width)); 308 309 padding: 12px 88px 12px 310 calc(var(--country-code-dropdown-width) + var(--phone-input-extra-padding-left)); 311 padding-right: ${e=>e.$stacked?"16px":"88px"}; 312 flex-grow: 1; 313 background: var(--privy-color-background); 314 border: 1px solid var(--privy-color-foreground-4); 315 border-radius: var(--privy-border-radius-md); 316 width: 100%; 317 318 :focus { 319 outline: none; 320 border-color: var(--privy-color-accent); 321 } 322 323 :autofill, 324 :-webkit-autofill { 325 background: var(--privy-color-background); 326 } 327 328 /* Tablet and Up */ 329 @media (min-width: 441px) { 330 font-size: 14px; 331 padding-right: 78px; 332 } 333 } 334 335 && > :last-child { 336 right: 16px; 337 position: absolute; 338 top: 50%; 339 transform: translate(0, -50%); 340 } 341 342 && > button:last-child { 343 right: 0px; 344 line-height: 24px; 345 padding: 13px 17px; 346 347 :focus { 348 outline: none; 349 border-color: var(--privy-color-accent); 350 } 351 } 352 353 && > input::placeholder { 354 color: var(--privy-color-foreground-3); 355 } 356`},74633:(e,r,i)=>{i.d(r,{A:()=>n});var o=i(12115);let n=o.forwardRef(function(e,r){let{title:i,titleId:n,...t}=e;return o.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":n},t),i?o.createElement("title",{id:n},i):null,o.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z"}))})},97627:(e,r,i)=>{i.d(r,{C:()=>a});var o=i(95155),n=i(43262),t=i(17349);let a=({children:e,color:r,isLoading:i,isPulsing:n,...t})=>(0,o.jsx)(l,{$color:r,$isLoading:i,$isPulsing:n,...t,children:e}),l=n.I4.span` 357 padding: 0.25rem; 358 font-size: 0.75rem; 359 font-weight: 500; 360 line-height: 1rem; /* 150% */ 361 border-radius: var(--privy-border-radius-xs); 362 display: flex; 363 align-items: center; 364 ${e=>{let r,i;
364"green"===e.$color&&(r="var(--privy-color-success-dark)",i="var(--privy-color-success-light)"),"red"===e.$color&&(r="var(--privy-color-error)",i="var(--privy-color-error-light)"),"gray"===e.$color&&(r="var(--privy-color-foreground-2)",i="var(--privy-color-background-2)");let o=(0,n.i7)` 365 from, to { 366 background-color: ${i}; 367 } 368 369 50% { 370 background-color: rgba(${i}, 0.8); 371 } 372 `;return(0,n.AH)` 373 color: ${r}; 374 background-color: ${i}; 375 ${e.$isPulsing&&(0,n.AH)` 376 animation: ${o} 3s linear infinite; 377 `}; 378 `}} 379 380 ${t.L} 381`}}]);
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.