123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import React from 'react';
- import {
- IconWrapper,
- ClickZone,
- } from './styled';
- import data from './data';
- type Props = {
- id?: string;
- glyph: string;
- onClick?: (e: any) => void;
- onBlur?: () => void;
- style?: {};
- isActive? : boolean;
- };
- const Icon: React.FunctionComponent<Props> = ({
- glyph,
- id = '',
- onClick,
- onBlur,
- style,
- isActive = false,
- }: Props) => {
- const {
- Normal,
- Hover,
- } = data[glyph];
- return (
- <IconWrapper
- isHover={!!Hover}
- style={style}
- >
- {Normal && <Normal data-status="normal" />}
- {Hover && <Hover data-status="hover" />}
- {isActive && Hover ? <Hover data-status="active" /> : null}
- <ClickZone
- id={id}
- onMouseDown={onClick}
- onBlur={onBlur}
- />
- </IconWrapper>
- );
- };
- export default Icon;
|