1.7.0 • Published 8 months ago

@bgd-labs/react-web3-icons v1.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

React web3 icons

Package with some of web3 assets, chains and web3 wallets icons for easy use in the React.js ecosystem.

Installation

npm

npm i @bgd-labs/react-web3-icons

yarn

yarn add @bgd-labs/react-web3-icons

pnpm

pnpm add @bgd-labs/react-web3-icons

Usage

1) You can use Web3Icon component.

DynamicIcon type parameters

ParameterTypeDescription
symbol?stringThe symbol parameter is not case sensitive, you can pass it as AAVE or aave or AaVe. The result will always be the AAVE asset token icon.
chainId?numberId of the chain.
walletKey?stringName of the wallet for example "Metamask".
brandKey?stringAddress of the pool or name of the brand for example "Lido".
mono?booleanIf true then the icon is displayed in black and white.
assetTag?"a", "stata", "stk"Asset tag, can be a, a circle is added around the standard icon, and can be stata, a circle with cuts is added around the standard icon, and stk umbrella circle is added around the standart icon. (automatically determined when the asset symbol is passed from the contract)
formatSymbol?(symbol: string) => stringIf you have a special condition for asset symbol formatting, you can replace the formatting function inside the component.
iconsPack?Record<string, string>Need to pass iconsPack from library, to using static imports. This option is not recommended for the symbol icon.
import { Web3Icon } from "@bgd-labs/react-web3-icons";
import { assetsIconsPack } from "@bgd-labs/react-web3-icons/dist/iconsPacks/assetsIconsPack";
import { chainsIconsPack } from "@bgd-labs/react-web3-icons/dist/iconsPacks/chainsIconsPack";
import { walletsIconsPack } from "@bgd-labs/react-web3-icons/dist/iconsPacks/walletsIconsPack";
import { brandsIconsPack } from "@bgd-labs/react-web3-icons/dist/iconsPacks/brandsIconsPack";
export const ExampleUsage = () => {
  return (
    <div>
      <Web3Icon symbol="AAVE" />
      <Web3Icon chainId={1} />
      <Web3Icon walletKey="MetaMask" />
      <Web3Icon brandKey="0x4e033931ad43597d96D6bcc25c280717730B58B1" />
      {/* static variants */}
      <Web3Icon symbol="AAVE" iconsPack={assetsIconsPack} />
      <Web3Icon chainId={1} iconsPack={chainsIconsPack} />
      <Web3Icon walletKey="MetaMask" iconsPack={walletsIconsPack} />
      <Web3Icon brandKey="0x4e033931ad43597d96D6bcc25c280717730B58B1" iconsPack={brandsIconsPack} />
    </div>
  );
};

2) You can import either full or mono icon directly from the package

import { AaaveIcon } from "@bgd-labs/react-web3-icons/dist/components/icons/full";
import { AaaveIcon as AaaveMonoIcon } from "@bgd-labs/react-web3-icons/dist/components/icons/mono";
export const UsageExample = () => {
  return (
    <>
      <AaaveIcon />
      <AaaveMonoIcon />
    </>
  );
};

3) You can get chain or asset name without rpc call. Also you can check installed browser wallet name, and get icon for this wallet.

Get asset name

ParameterTypeDescription
symbolstringThe symbol parameter is not case sensitive, you can pass it as AAVE or aave or AaVe. The result will always be the AAVE asset token icon.
formatSymbol(symbol: string) => stringIf you have a special condition for asset symbol formatting, you can replace the formatting function inside the component.
import { Web3Icon } from "@bgd-labs/react-web3-icons";
export const UsageExample = () => {
  const assetName = getAssetName({ symbol: "aave" });
  return (
    <div>
      <span>{assetName}</span>
      <Web3Icon symbol="aave" />
    </div>
  );
};

Get chain name

ParameterTypeDescription
chainIdnumberId of the chain.
import { Web3Icon } from "@bgd-labs/react-web3-icons";
export const UsageExample = () => {
  const chainName = getChainName({ chainId: 1 });
  return (
    <div>
      <span>{chainName}</span>
      <Web3Icon chainId={1} />
    </div>
  );
};

Check installed wallet name and use icon from package

import { getWeb3WalletName } from "@bgd-labs/react-web3-icons/dist/utils";
import dynamic from "next/dynamic";
import { Web3Icon } from "@bgd-labs/react-web3-icons";
const InstalledBrowserWalletWallet = () => {
  const walletName = getWeb3WalletName();
  return (
    <div>
      {walletName}
      <Web3Icon walletKey={walletName} />
    </div>
  );
};
export default dynamic(() => Promise.resolve(InstalledBrowserWalletWallet), {
  ssr: false,
});

Copyright

2024 BGD Labs

1.6.0

8 months ago

1.7.0

8 months ago

1.5.3

9 months ago

1.5.2

9 months ago

1.5.1

9 months ago

1.5.0

9 months ago

1.4.8

9 months ago

1.4.7

10 months ago

1.4.6

10 months ago

1.4.5

10 months ago

1.4.4

11 months ago

1.4.3

11 months ago

1.4.2

11 months ago

1.4.1

11 months ago

1.4.1-e4b1b8a8.0

11 months ago

1.4.0

11 months ago

1.3.1-e4b1b8a8.0

11 months ago

1.3.0

11 months ago

1.2.1

11 months ago

1.2.0

11 months ago

0.0.73

11 months ago

0.0.72

11 months ago

0.0.71

11 months ago

0.0.70

11 months ago

0.0.68

11 months ago

0.0.67

11 months ago

0.0.66

11 months ago

0.0.64

11 months ago

0.0.63

11 months ago

0.0.62

11 months ago

0.0.61

11 months ago

0.0.60

11 months ago

0.0.59

11 months ago

0.0.58

11 months ago

0.0.57

11 months ago

0.0.56

11 months ago

0.0.55

11 months ago

0.0.54

11 months ago

0.0.53

11 months ago

0.0.52

11 months ago

0.0.51

11 months ago

0.0.50

11 months ago

0.0.49

11 months ago

0.0.46

11 months ago

0.0.45

11 months ago

0.0.41

12 months ago

0.0.40

12 months ago

0.0.37

12 months ago

0.0.38

12 months ago

0.0.36

12 months ago

0.0.35

12 months ago

0.0.31

12 months ago

0.0.3

12 months ago

0.0.25

12 months ago

0.0.21

12 months ago

1.0.2

12 months ago

0.0.1

12 months ago

1.0.13

12 months ago

1.0.12

12 months ago

1.0.11

12 months ago

1.0.10

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago