import styled from '@emotion/styled'; import { Meta, StoryObj } from '@storybook/react'; import React from 'react'; import { shouldNotForwardProps } from '../../../utils/should-not-forward-props'; import { Typography } from '../../Typography'; import { MarketIcon } from '.'; import { MarketIconMap } from './Icon'; export default { args: {}, component: MarketIcon, title: 'Components/Icons/MarketIcon', } as Meta; export const AAVE: StoryObj = { args: { market: 'aave', }, }; export const COMPOUND: StoryObj = { args: { market: 'compound', }, }; export const GLP: StoryObj = { args: { market: 'glp', }, }; export const LIDO: StoryObj = { args: { market: 'lido', }, }; export const ROCKET: StoryObj = { args: { market: 'rocket', }, }; export const SOFR: StoryObj = { args: { market: 'sofr', }, }; export const SOL: StoryObj = { args: { market: 'sol', }, }; export const ARB: StoryObj = { args: { market: 'arb', }, }; export const AVAX: StoryObj = { args: { market: 'avax', }, }; export const LINK: StoryObj = { args: { market: 'link', }, }; export const MKR: StoryObj = { args: { market: 'mkr', }, }; export const UNI: StoryObj = { args: { market: 'uni', }, }; export const CRV: StoryObj = { args: { market: 'crv', }, }; export const USDE: StoryObj = { args: { market: 'usde', }, }; export const OPT: StoryObj = { args: { market: 'opt', }, }; const Wrapper = styled.div` display: grid; gap: 16px; grid-template-columns: repeat(6, 1fr); `; const IconBox = styled.div` align-items: center; border: 1px solid ${({ theme }) => theme.colors.black100}; border-radius: 8px; display: flex; flex-direction: column; padding: 8px; background: ${({ theme }) => theme.colors.black500}; `; export const AllIcons: StoryObj = { args: {}, render: (args) => ( {Object.keys(MarketIconMap).map((market) => ( {market} ))} ), }; const SizeWrapper = styled('div', shouldNotForwardProps(['size']))<{ size: number }>` width: ${({ size }) => size}px; height: ${({ size }) => size}px; border: 1px solid ${({ theme }) => theme.colors.black100}; `; export const WithSize: StoryObj = { args: { market: 'aave', size: 50, }, render: (args) => ( ), };