/* @flow eslint-disable max-lines, max-len, react/no-unescaped-entities */ import React, { PureComponent } from 'react'; import classnames from 'classnames'; import BaseIcon from './BaseIcon'; const iconList = [ 'activity', 'account', 'account-card', 'anchor', 'align-center', 'align-left', 'align-right', 'archive', 'arrow-left', 'bold', 'calendar', 'chevron-left', 'chevron-right', 'chevron-up', 'chevron-down', 'close', 'color', 'crosshair', 'dashboard', 'datepicker-arrow', 'delete', 'edit', 'embedded', 'emoji', 'eraser', 'external-link', 'file', 'file-plus', 'file-minus', 'file-text', 'headphones', 'layout', 'facebook', 'folder', 'folder-upload', 'github', 'globe', 'google', 'grid', 'grid-view', 'hash', 'hidden', 'history', 'image', 'indent', 'italic', 'justify', 'link', 'linkedin', 'list-view', 'logout', 'menu', 'monospace', 'more', 'more_vert', 'navigation', 'new-post', 'ordered', 'outdent', 'package', 'plus2', 'posts', 'redo', 'replace', 'routes', 'search', 'settings', 'shield', 'shovel', 'strikethrough', 'subscript', 'superscript', 'tags', 'tag', 'trash', 'twitter', 'underline', 'undo', 'unlink', 'unordered', 'visible', 'zap', ]; export type Props = { color: ?string, className: ?string, height: ?number, kind: string, preview: ?boolean, onClick: ?() => void, size: ?number | ?string, width: ?number, }; export default class Icon extends PureComponent { static defaultProps = { size: 24, color: '#f4f4f4', }; props: Props; renderIcon(kind: string) { const { color, size, height, width, onClick } = this.props; switch (kind) { default: return null; case 'folder': return ( /* eslint-disable */ /* eslint-enable */ ); case 'file': return ( /* eslint-disable */ /* eslint-enable */ ); case 'file-plus': return ( /* eslint-disable */ /* eslint-enable */ ); case 'file-minus': return ( /* eslint-disable */ /* eslint-enable */ ); case 'file-text': return ( /* eslint-disable */ /* eslint-enable */ ); case 'headphones': return ( /* eslint-disable */ /* eslint-enable */ ); case 'layout': return ( /* eslint-disable */ /* eslint-enable */ ); case 'anchor': return ( /* eslint-disable */ /* eslint-enable */ ); case 'zap': return ( /* eslint-disable */ /* eslint-enable */ ); case 'package': return ( /* eslint-disable */ /* eslint-enable */ ); case 'shield': return ( /* eslint-disable */ /* eslint-enable */ ); case 'tag': return ( /* eslint-disable */ /* eslint-enable */ ); case 'globe': return ( /* eslint-disable */ /* eslint-enable */ ); case 'crosshair': return ( /* eslint-disable */ /* eslint-enable */ ); case 'navigation': return ( /* eslint-disable */ /* eslint-enable */ ); case 'activity': return ( /* eslint-disable */ /* eslint-enable */ ); case 'grid': return ( /* eslint-disable */ /* eslint-enable */ ); case 'hash': return ( /* eslint-disable */ /* eslint-enable */ ); case 'menu': return ( ); case 'grid-view': return ( {/* eslint-disable */} ); case 'list-view': return ( {/* eslint-disable */} ); case 'visible': return ( {/* eslint-disable */} ); case 'hidden': return ( {/* eslint-disable */} ); case 'edit': return ( {/* eslint-disable */} ); case 'delete': return ( {/* eslint-disable */} ); case 'calendar': return ( {/* eslint-disable */} ); case 'new-post': return ( {/* eslint-disable */} ); case 'facebook': return ( {/* eslint-disable */} ); case 'twitter': return ( {/* eslint-disable */} ); case 'google': return ( {/* eslint-disable */} ); case 'linkedin': return ( {/* eslint-disable */} ); case 'github': return ( {/* eslint-disable */} ); case 'folder-upload': return ( {/* eslint-disable */} ); case 'account-card': return ( {/* eslint-disable */} ); case 'tags': return ( {/* eslint-disable */} ); case 'shovel': return ( {/* eslint-disable */} ); case 'routes': return ( {/* eslint-disable */} ); case 'posts': return ( {/* eslint-disable */} ); case 'settings': return ( ); case 'chevron-left': return ( {/* eslint-disable */} ); case 'chevron-right': return ( {/* eslint-disable */} ); case 'chevron-up': return ( {/* eslint-disable */} ); case 'chevron-down': return ( {/* eslint-disable */} ); case 'search': return ( {/* eslint-disable */} ); case 'close': return ( {/* eslint-disable */} ); case 'more': return ( {/* eslint-disable */} ); case 'more_vert': return ( {/* eslint-disable */} ); case 'archive': return ( {/* eslint-disable */} ); case 'account': return ( {/* eslint-disable */} ); case 'logout': return ( {/* eslint-disable */} ); case 'dashboard': return ( {/* eslint-disable */} ); case 'arrow-left': return ( {/* eslint-disable */} Path 2 ); case 'datepicker-arrow': return ( {/* eslint-disable */} Data-picker-arrow ); case 'bold': return ( {/* eslint-disable */} ); case 'italic': return ( {/* eslint-disable */} ); case 'underline': return ( {/* eslint-disable */} ); case 'align-left': return ( {/* eslint-disable */} ); case 'align-right': return ( {/* eslint-disable */} ); case 'align-center': return ( {/* eslint-disable */} ); case 'justify': return ( {/* eslint-disable */} ); case 'outdent': return ( {/* eslint-disable */} ); case 'indent': return ( {/* eslint-disable */} ); case 'unordered': return ( {/* eslint-disable */} ); case 'ordered': return ( {/* eslint-disable */} ); case 'color': return ( {/* eslint-disable */} ); case 'embedded': return ( {/* eslint-disable */} ); case 'emoji': return ( {/* eslint-disable */} ); case 'link': return ( {/* eslint-disable */} ); case 'unlink': return ( {/* eslint-disable */} ); case 'image': return ( {/* eslint-disable */} ); case 'eraser': return ( {/* eslint-disable */} ); case 'history': return ( {/* eslint-disable */} ); case 'undo': return ( {/* eslint-disable */} ); case 'redo': return ( {/* eslint-disable */} ); case 'strikethrough': return ( {/* eslint-disable */} ); case 'monospace': return ( {/* eslint-disable */} ); case 'subscript': return ( {/* eslint-disable */} ); case 'superscript': return ( {/* eslint-disable */} ); case 'external-link': return ( {/* eslint-disable */} ); case 'plus2': return ( {/* eslint-disable */} upload-logo ); case 'replace': return ( {/* eslint-disable */} ); case 'trash': return ( ); } } render() { const { className, kind, onClick } = this.props; return this.renderIcon(kind); } }