import React, { FC } from 'react'

import { I_ICON_PROPS } from './types'

import Icon from '@apass/icon'

import AlertIcon from './Alert'
import ArrowTopIcon from './ArrowTop'
import ArrowRightIcon from './ArrowRight'
import ArrowDownIcon from './ArrowDown'
import ArrowLeftIcon from './ArrowLeft'
import CheckIcon from './Check'
import CrossIcon from './Cross'
import DeleteIcon from './Delete'
import HamburgerIcon from './Hamburger'
import UploadIcon from './Upload'
import DownloadIcon from './Download'
import AddIcon from './Add'
import RemoveIcon from './Remove'
import CompareIcon from './Compare'
import TableViewIcon from './TableView'
import PencilIcon from './Pencil'
import BusIcon from './Bus'
import SwapHorizIcon from './SwapHoriz'
import ArrowWestIcon from './ArrowWest'
import ArrowEastIcon from './ArrowEast'
import ArrowNorthIcon from './ArrowNorth'
import ArrowSouthIcon from './ArrowSouth'
import FilterIcon from './Filter'
import FilterOffIcon from './FilterOff'


const Alert: FC<I_ICON_PROPS> = (props) => <Icon {...props}><AlertIcon/></Icon>
const ArrowTop: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowTopIcon/></Icon>
const ArrowRight: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowRightIcon/></Icon>
const ArrowDown: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowDownIcon/></Icon>
const ArrowLeft: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowLeftIcon/></Icon>
const Check: FC<I_ICON_PROPS> = (props) => <Icon {...props}><CheckIcon/></Icon>
const Cross: FC<I_ICON_PROPS> = (props) => <Icon {...props}><CrossIcon/></Icon>
const Delete: FC<I_ICON_PROPS> = (props) => <Icon {...props}><DeleteIcon/></Icon>
const Hamburger: FC<I_ICON_PROPS> = (props) => <Icon {...props}><HamburgerIcon/></Icon>
const Upload: FC<I_ICON_PROPS> = (props) => <Icon {...props}><UploadIcon/></Icon>
const Download: FC<I_ICON_PROPS> = (props) => <Icon {...props}><DownloadIcon/></Icon>
const Add: FC<I_ICON_PROPS> = (props) => <Icon {...props}><AddIcon/></Icon>
const Remove: FC<I_ICON_PROPS> = (props) => <Icon {...props}><RemoveIcon/></Icon>
const Compare: FC<I_ICON_PROPS> = (props) => <Icon {...props}><CompareIcon/></Icon>
const TableView: FC<I_ICON_PROPS> = (props) => <Icon {...props}><TableViewIcon/></Icon>
const Pencil: FC<I_ICON_PROPS> = (props) => <Icon {...props}><PencilIcon/></Icon>
const Bus: FC<I_ICON_PROPS> = (props) => <Icon {...props}><BusIcon/></Icon>
const SwapHoriz: FC<I_ICON_PROPS> = (props) => <Icon {...props}><SwapHorizIcon/></Icon>
const ArrowWest: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowWestIcon /></Icon>
const ArrowEast: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowEastIcon /></Icon>
const ArrowNorth: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowNorthIcon /></Icon>
const ArrowSouth: FC<I_ICON_PROPS> = (props) => <Icon {...props}><ArrowSouthIcon /></Icon>
const Filter: FC<I_ICON_PROPS> = (props) => <Icon {...props}><FilterIcon /></Icon>
const FilterOff: FC<I_ICON_PROPS> = (props) => <Icon {...props}><FilterOffIcon /></Icon>

export {
  Alert,
  ArrowTop,
  ArrowRight,
  ArrowDown,
  ArrowLeft,
  Check,
  Cross,
  Delete,
  Hamburger,
  Upload,
  Download,
  Add,
  Remove,
  Compare,
  TableView,
  Pencil,
  Bus,
  SwapHoriz,
  ArrowWest,
  ArrowEast,
  ArrowNorth,
  ArrowSouth,
  Filter,
  FilterOff
}
