/* tslint:disable */
/* eslint-disable */

import React, { FunctionComponent } from 'react';
import { ViewProps } from 'react-native';
import { GProps } from 'react-native-svg';
import IconYoufang from './IconYoufang';
import IconXiala from './IconXiala';
import IconShang from './IconShang';
import IconMinus from './IconMinus';
import IconLajitong from './IconLajitong';
import IconJia from './IconJia';
import IconBianji from './IconBianji';
import IconXuanze from './IconXuanze';
import IconXuanze1 from './IconXuanze1';
import IconJiahao from './IconJiahao';
import IconShanchuanniu from './IconShanchuanniu';
import IconShanchu from './IconShanchu';
import IconSousuo from './IconSousuo';
import IconGouwuchekong from './IconGouwuchekong';
import IconGouwucheman from './IconGouwucheman';
import IconGengduo2 from './IconGengduo2';
import IconLoudou from './IconLoudou';
import IconTreeLine from './IconTreeLine';
import IconTreeFill from './IconTreeFill';
import IconGengduo from './IconGengduo';
import IconIconXialaxuanze from './IconIconXialaxuanze';
import IconShangla1 from './IconShangla1';
import IconXuexihuodong from './IconXuexihuodong';
import IconGongzuotai from './IconGongzuotai';
import IconArea from './IconArea';
import IconShouye from './IconShouye';
import IconSolidPerson from './IconSolidPerson';
import IconKaishi from './IconKaishi';
import IconLocation from './IconLocation';
import IconJieshu from './IconJieshu';
import IconYuandian from './IconYuandian';
import IconIconfontLeft from './IconIconfontLeft';

export type IconNames = 'youfang' | 'xiala' | 'shang' | 'minus' | 'lajitong' | 'jia' | 'bianji' | 'xuanze' | 'xuanze1' | 'jiahao' | 'shanchuanniu' | 'shanchu' | 'sousuo' | 'gouwuchekong' | 'gouwucheman' | 'gengduo-2' | 'loudou' | 'tree_line' | 'tree_fill' | 'gengduo-' | 'icon_xialaxuanze' | 'shangla1' | 'xuexihuodong-' | 'gongzuotai' | 'area' | 'shouye' | 'solid-person' | 'kaishi' | 'location' | 'jieshu' | 'yuandian' | 'iconfont-left';

interface Props extends GProps, ViewProps {
  name: IconNames;
  size?: number;
  color?: string | string[];
}

let IconFont: FunctionComponent<Props> = ({ name, ...rest }) => {
  switch (name) {
    case 'youfang':
      return <IconYoufang key="1" {...rest} />;
    case 'xiala':
      return <IconXiala key="2" {...rest} />;
    case 'shang':
      return <IconShang key="3" {...rest} />;
    case 'minus':
      return <IconMinus key="4" {...rest} />;
    case 'lajitong':
      return <IconLajitong key="5" {...rest} />;
    case 'jia':
      return <IconJia key="6" {...rest} />;
    case 'bianji':
      return <IconBianji key="7" {...rest} />;
    case 'xuanze':
      return <IconXuanze key="8" {...rest} />;
    case 'xuanze1':
      return <IconXuanze1 key="9" {...rest} />;
    case 'jiahao':
      return <IconJiahao key="10" {...rest} />;
    case 'shanchuanniu':
      return <IconShanchuanniu key="11" {...rest} />;
    case 'shanchu':
      return <IconShanchu key="12" {...rest} />;
    case 'sousuo':
      return <IconSousuo key="13" {...rest} />;
    case 'gouwuchekong':
      return <IconGouwuchekong key="14" {...rest} />;
    case 'gouwucheman':
      return <IconGouwucheman key="15" {...rest} />;
    case 'gengduo-2':
      return <IconGengduo2 key="16" {...rest} />;
    case 'loudou':
      return <IconLoudou key="17" {...rest} />;
    case 'tree_line':
      return <IconTreeLine key="18" {...rest} />;
    case 'tree_fill':
      return <IconTreeFill key="19" {...rest} />;
    case 'gengduo-':
      return <IconGengduo key="20" {...rest} />;
    case 'icon_xialaxuanze':
      return <IconIconXialaxuanze key="21" {...rest} />;
    case 'shangla1':
      return <IconShangla1 key="22" {...rest} />;
    case 'xuexihuodong-':
      return <IconXuexihuodong key="23" {...rest} />;
    case 'gongzuotai':
      return <IconGongzuotai key="24" {...rest} />;
    case 'area':
      return <IconArea key="25" {...rest} />;
    case 'shouye':
      return <IconShouye key="26" {...rest} />;
    case 'solid-person':
      return <IconSolidPerson key="27" {...rest} />;
    case 'kaishi':
      return <IconKaishi key="28" {...rest} />;
    case 'location':
      return <IconLocation key="29" {...rest} />;
    case 'jieshu':
      return <IconJieshu key="30" {...rest} />;
    case 'yuandian':
      return <IconYuandian key="31" {...rest} />;
    case 'iconfont-left':
      return <IconIconfontLeft key="32" {...rest} />;
  }

  return null;
};

IconFont = React.memo ? React.memo(IconFont) : IconFont;

export default IconFont;
