UNPKG

@deboxsoft/react-native-elements

Version:
53 lines (49 loc) 1.65 kB
import ZocialIcon from 'react-native-vector-icons/Zocial'; import OcticonIcon from 'react-native-vector-icons/Octicons'; import MaterialIcon from 'react-native-vector-icons/MaterialIcons'; import MaterialCommunityIcon from 'react-native-vector-icons/MaterialCommunityIcons'; import Ionicon from 'react-native-vector-icons/Ionicons'; import FoundationIcon from 'react-native-vector-icons/Foundation'; import EvilIcon from 'react-native-vector-icons/EvilIcons'; import EntypoIcon from 'react-native-vector-icons/Entypo'; import FAIcon from 'react-native-vector-icons/FontAwesome'; import SimpleLineIcon from 'react-native-vector-icons/SimpleLineIcons'; import FeatherIcon from 'react-native-vector-icons/Feather'; import AntIcon from 'react-native-vector-icons/AntDesign'; const customIcons = {}; export const registerCustomIconType = (id, customIcon) => { customIcons[id] = customIcon; }; export default type => { switch (type) { case 'zocial': return ZocialIcon; case 'octicon': return OcticonIcon; case 'material': return MaterialIcon; case 'material-community': return MaterialCommunityIcon; case 'ionicon': return Ionicon; case 'foundation': return FoundationIcon; case 'evilicon': return EvilIcon; case 'entypo': return EntypoIcon; case 'font-awesome': return FAIcon; case 'simple-line-icon': return SimpleLineIcon; case 'feather': return FeatherIcon; case 'antdesign': return AntIcon; default: if (customIcons.hasOwnProperty(type)) { return customIcons[type]; } return MaterialIcon; } };