@bgd-labs/react-web3-icons
Version:
Svg set of web3 icons.
116 lines (111 loc) • 5.09 kB
Markdown
Package with some of web3 assets, chains and web3 wallets icons for easy use in the React.js ecosystem.
<code>npm i @bgd-labs/react-web3-icons</code>
<code>yarn add @bgd-labs/react-web3-icons</code>
<code>pnpm add @bgd-labs/react-web3-icons</code>
| Parameter | Type | Description |
|:----------------|:-----------------------------| :------ |
| `symbol?` | `string` | The 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?` | `number` | Id of the chain.
| `walletKey?` | `string` | Name of the wallet for example "Metamask".
| `brandKey?` | `string` | Address of the pool or name of the brand for example "Lido".
| `mono?` | `boolean` | If 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) => string` | If 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.
```tsx
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>
);
};
```
```tsx
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 />
</>
);
};
```
| Parameter | Type | Description |
|:-----------|:---------------------------------| :------ |
| `symbol` | `string` | The `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) => string` | If you have a special condition for asset symbol formatting, you can replace the formatting function inside the component.
```tsx
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>
);
};
```
| Parameter | Type | Description |
|:-----------|:---------------------------------| :------ |
| `chainId` | `number` | Id of the chain.
```tsx
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>
);
};
```
```tsx
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,
});
```
2024 BGD Labs