import React, { FC, memo } from 'react'; import { Description, Icon } from '../../../'; import { cn } from '../../util/bem'; import { SizeType } from '../../util/global-props'; import './tag.component.scss'; export type TagPropsType = { className?: string; children?: React.ReactNode; before?: React.ReactNode; after?: React.ReactNode; dot?: boolean; arrow?: boolean; color?: 'key' | 'grey' | 'green' | 'violet' | 'blue' | 'yellow' | 'red'; size?: 'xs' | 'sm' | 'md' | 'lg'; align?: 'left'|'center'|'right'; fullWidth?: boolean; transparent?: boolean; margin?: SizeType; flex?: number | string; style?: React.CSSProperties; bold?: boolean; ref?: React.Ref; onClick?: React.EventHandler>; onFocus?: React.EventHandler>; onMouseEnter?: React.EventHandler>; onMouseLeave?: React.EventHandler>; } const className = cn('tag'); export const Tag: FC = memo((props) => (
{ props.dot &&
} { props.children } { props.arrow && }
)); Tag.defaultProps = { color: 'grey', size: 'xs' };