1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 02:10:12 +01:00
metamask-extension/ui/components/component-library/icon/icon.tsx

36 lines
878 B
TypeScript
Raw Normal View History

import React from 'react';
import classnames from 'classnames';
import Box from '../../ui/box/box';
import { IconColor, Display } from '../../../helpers/constants/design-system';
import { IconProps, IconSize } from './icon.types';
export const Icon = ({
name,
size = IconSize.Md,
color = IconColor.inherit,
className = '',
style,
...props
}: IconProps) => (
<Box
className={classnames(className, 'mm-icon', `mm-icon--size-${size}`)}
as="span"
display={Display.InlineBlock}
color={color}
style={{
/**
* To reduce the possibility of injection attacks
* the icon component uses mask-image instead of rendering
* the svg directly.
*/
maskImage: `url('./images/icons/${String(name)}.svg')`,
WebkitMaskImage: `url('./images/icons/${String(name)}.svg')`,
...style,
}}
{...props}
/>
);