Standalone wallet UI for Solana dApps
Solana Connect
Standalone wallet UI for Solana dAppsDEMO | DOCUMENTATION | npm

Usage:
npm install solana-connect
import { SolanaConnect } from "solana-connect";
import { Adapter } from "@solana/wallet-adapter-base";
const solConnect = new SolanaConnect();
solConnect.openMenu();
solConnect.onWalletChange((adapter: Adapter | null) => adapter ? console.log("connected:", adapter.name, adapter.publicKey.toString()) : console.log("disconnected") );
solConnect.onVisibilityChange((isOpen: boolean) => { console.log("menu visible:", isOpen); });
const wallet: Adapter | null = solConnect.getWallet();
or use with unpkg: <!DOCTYPE html> <html lang="en"> <head> </head> <body> </body> </html>
Adding more adapters:
By default, only wallets that support the Wallet Standard will appear, but additional options can be provided.import {
SolanaMobileWalletAdapter,
createDefaultAuthorizationResultCache,
createDefaultAddressSelector,
createDefaultWalletNotFoundHandler,
} from "@solana-mobile/wallet-adapter-mobile";
import { SolflareWalletAdapter } from "@solana/wallet-adapter-solflare";
import { UnsafeBurnerWalletAdapter } from "@solana/wallet-adapter-unsafe-burner";
const solConnect = new SolanaConnect({ additionalAdapters: [ new SolflareWalletAdapter(), new UnsafeBurnerWalletAdapter(), new SolanaMobileWalletAdapter({ addressSelector: createDefaultAddressSelector(), appIdentity: { name: "Supercorp", uri: "https://supercorp.app/", icon: "icon.png", }, authorizationResultCache: createDefaultAuthorizationResultCache(), cluster: "mainnet-beta", onWalletNotFound: createDefaultWalletNotFoundHandler(), }), ], });