@deboxsoft/react-native-elements
Version:
React Native Elements & UI Toolkit
53 lines (49 loc) • 1.65 kB
JavaScript
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;
}
};