@privy-io/react-auth
Version:
React client for the Privy Auth API
2 lines (1 loc) • 6.09 kB
JavaScript
import{createPublicClient as e,http as r}from"viem";import{UsdcAddressMap as o,formatWalletAddress as a}from"@privy-io/js-sdk-core";import{a as n}from"./getPublicClient-A9RSftUZ.mjs";import{g as i}from"./getErc20Balance-CaKjNAs9.mjs";import{jsx as t,jsxs as s,Fragment as c}from"react/jsx-runtime";import{useRef as m}from"react";import{a as l}from"./Button-B8mqatRx.mjs";import{b as d,R as p}from"./Layouts-Bmf8DxNP.mjs";import{B as h}from"./ModalHeader-BLGC-7ev.mjs";import{t as f}from"./FundWalletMethodHeader-I8a6Y30s.mjs";import{R as g}from"./Row-CG0lSY5Z.mjs";import{E as u}from"./ErrorMessage-Cx8GKGhL.mjs";import{V as b,L as y}from"./Value-B4M62ove.mjs";import{S as v}from"./Subtitle-DkvfP2Ev.mjs";import{T as C}from"./Title-D0pfZff-.mjs";import w from"@heroicons/react/24/outline/WalletIcon";import{styled as j}from"styled-components";import{g as N}from"./getChainName-DjpPdUSc.mjs";import{C as I}from"./Chip-Bsgj4Yc-.mjs";import{N as k}from"./NetworkIcon-B48ilzF8.mjs";import{B as x,a as B}from"./shared-CtYf3O54.mjs";import{Menu as S,MenuButton as T,MenuItems as A,MenuItem as E}from"@headlessui/react";import $ from"@heroicons/react/24/outline/ChevronDownIcon";import{f as F}from"./formatErc20TokenAmount-BuPk9xcy.mjs";import{g as M}from"./ethers-C3Y94dat.mjs";import{F as P,a as W,b as L,c as R,d as z}from"./styles-DY17fuAX.mjs";const H=({chains:a,appId:t,address:s,rpcConfig:c,includeUsdc:m})=>Promise.all(a.map((async a=>{let l=e({chain:a,transport:r(n(a,c,t))}),d=await l.getBalance({address:s}).catch((()=>0n)),p=null,h=o[a.id];if(m&&h){let{balance:e}=await i({address:s,chain:a,rpcConfig:c,appId:t,erc20Address:h});p=e}return{balance:d,erc20Balance:p,erc20Address:h,chain:a}}))),Q=({balance:e,className:r,chain:o})=>/*#__PURE__*/t(x,{className:r,$state:void 0,children:/*#__PURE__*/t(U,{balance:e,chain:o})}),U=({balance:e,chain:r})=>/*#__PURE__*/s(c,{children:[/*#__PURE__*/s(V,{children:[/*#__PURE__*/t(O,{chainId:"object"==typeof r?r.id:"solana"}),/*#__PURE__*/t(b,{children:"object"==typeof r?r.name:N(r)})]}),/*#__PURE__*/s(I,{isLoading:!1,isPulsing:!1,color:"gray",children:[/*#__PURE__*/t(D,{children:/*#__PURE__*/t(w,{})}),e]})]});let V=/*#__PURE__*/j.div.withConfig({displayName:"Container",componentId:"sc-63f80cee-0"})(["display:flex;align-items:center;"]),D=/*#__PURE__*/j.div.withConfig({displayName:"IconContainer",componentId:"sc-63f80cee-1"})(["height:0.75rem;width:0.75rem;margin-right:0.2rem;"]),O=/*#__PURE__*/j(k).withConfig({displayName:"StyledNetworkIcon",componentId:"sc-63f80cee-2"})(["height:1.25rem;width:1.25rem;display:inline-block;margin-right:0.5rem;border-radius:4px;"]);const Y=({options:e,onSelect:r,selected:o,className:a})=>/*#__PURE__*/s(S,{as:q,children:[/*#__PURE__*/s(T,{as:X,children:[/*#__PURE__*/t(U,{balance:o.balance,chain:o.chain}),/*#__PURE__*/t(K,{height:16})]}),/*#__PURE__*/t(A,{as:G,className:a,children:e.map(((e,o)=>/*#__PURE__*/t(E,{as:J,onClick:()=>r(o),children:/*#__PURE__*/t(U,{balance:e.balance,chain:e.chain})},o)))})]});let q=/*#__PURE__*/j.div.withConfig({displayName:"Wrapper",componentId:"sc-31c00f79-0"})(["width:100%;position:relative;"]),G=/*#__PURE__*/j.div.withConfig({displayName:"Popover",componentId:"sc-31c00f79-1"})(["width:100%;margin-top:0.5rem;position:absolute;background-color:var(--privy-color-background);border-radius:var(--privy-border-radius-md);overflow-x:hidden;overflow-y:auto;box-shadow:0px 1px 2px 0px rgba(16,24,40,0.05);max-height:11.75rem;&&{border:solid 1px var(--privy-color-foreground-4);}z-index:1;"]),J=/*#__PURE__*/j.button.withConfig({displayName:"Button",componentId:"sc-31c00f79-2"})(["width:100%;display:flex;justify-content:space-between;&&{padding:1rem;}:not(:last-child){border-bottom:solid 1px var(--privy-color-foreground-4);}:hover{background:var(--privy-color-background-2);}"]),K=/*#__PURE__*/j($).withConfig({displayName:"StyledChevronIcon",componentId:"sc-31c00f79-3"})(["height:1rem;margin-left:0.5rem;"]),X=/*#__PURE__*/j.button.withConfig({displayName:"StyledMenuButton",componentId:"sc-31c00f79-4"})([""," span{margin-left:auto;}","{transition:rotate 100ms ease-in;}&[aria-expanded='true']{","{rotate:-180deg;}}"],B,K,K);const Z=({displayName:e,errorMessage:r,configuredFundingChain:o,formattedBalance:n,fundingAmount:i,fundingCurrency:b,fundingAmountInUsd:w,options:j,selectedOption:I,isPreparing:k,isSubmitting:x,addressToFund:B,fundingWalletAddress:S,onSubmit:T,onSelect:A,onAmountChange:E,erc20ContractInfo:$})=>{let H=m(null);/*#__PURE__*/return s(c,{children:[/*#__PURE__*/t(f,{}),/*#__PURE__*/t(d,{}),/*#__PURE__*/t(C,{children:"Transfer from another network"}),/*#__PURE__*/s(v,{children:["You need more funds on the"," ","object"==typeof o?o.name:N(o)," ","network. Bridge from another blockchain network."]}),/*#__PURE__*/s(P,{style:{marginTop:"2rem"},children:[/*#__PURE__*/s(W,{onClick:()=>H.current?.focus(),children:[/*#__PURE__*/t(L,{ref:H,value:i,onChange:e=>{let r=e.target.value;if(/^[0-9.]*$/.test(r)&&r.split(".").length-1<=1){let e=/\.$/.test(r)?".":"",o=Number(r.replace(/\.$/,"")||"0");if(Number.isNaN(o))return void E("0");E(o.toString()+e)}}}),/*#__PURE__*/t(R,{children:b})]}),w&&/*#__PURE__*/t(z,{children:w})]}),/*#__PURE__*/s(g,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(y,{children:"From"}),/*#__PURE__*/t(y,{children:a(S)})]}),/*#__PURE__*/t(Y,{selected:{chain:I.chain,balance:I.isErc20Quote?F({amount:I.erc20Balance??0n,decimals:$?.decimals??6})+` ${$?.symbol||""}`:M(I.balance,I.chain.nativeCurrency.symbol,3,!0)},options:j.map((({chain:e,balance:r,isErc20Quote:o,erc20Balance:a})=>({chain:e,balance:o?F({amount:a??0n,decimals:$?.decimals??6})+` ${$?.symbol||""}`:M(r,e.nativeCurrency.symbol,3,!0)}))),onSelect:A}),/*#__PURE__*/s(g,{style:{marginTop:"1.5rem"},children:[/*#__PURE__*/t(y,{children:"To"}),/*#__PURE__*/t(y,{children:a(B)})]}),/*#__PURE__*/t(Q,{chain:o,balance:n}),/*#__PURE__*/t(u,{style:{marginTop:"1rem"},children:r}),/*#__PURE__*/s(l,{style:{marginTop:"1rem"},loading:x||k,disabled:k||x,onClick:T,children:["Confirm with ",e]}),/*#__PURE__*/t(p,{}),/*#__PURE__*/t(h,{})]})};export{Z as B,H as g};