import { useRef } from "react" import { CSSTransition } from 'react-transition-group'; import Icon from "./../../atoms/Icon" import { faXmark } from '@fortawesome/free-solid-svg-icons'; import AccountComponent from "./Account" import Tabs from "../../atoms/Tabs" export type Account = { name?: string, address: string, evmAddress?: string, source?: string } export type Network = 'mainnet' | 'testnet' export interface Props { isOpen: boolean, accounts?: Account[], selectedAccount?: Account | null | undefined, selectedNetwork?: Network, onClose?: (...args: any[]) => any, onSelect?: (...args: any[]) => any, onNetworkSelect?: (network: Network) => any, className?: string } const AccountSelector = ({ isOpen, accounts, selectedAccount, selectedNetwork, onClose, onSelect, onNetworkSelect, className }: Props): JSX.Element => { const wrapper = useRef(null) const isSelected = (account: Account): boolean => { return !!selectedAccount?.address && account.address === selectedAccount.address && account.source === selectedAccount.source } const select = (account: Account) => { if (onSelect) onSelect(account) } const opened = () => document.body.style.overflow = "hidden" const closed = () => document.body.style.overflow = "" return (