import StarBorder from '@material-ui/icons/StarBorder';
import Warning from '@material-ui/icons/Warning';
-export type IconType = React.SFC<{ className?: string }>;
+export type IconType = React.SFC<{ className?: string, style?: object }>;
export const AddIcon: IconType = (props) => <Add {...props} />;
export const AddFavoriteIcon: IconType = (props) => <StarBorder {...props} />;
import { IconType } from '../icon/icon';
import * as classnames from "classnames";
-type CssRules = 'root' | 'listItemText' | 'hasMargin' | 'active' | 'fixFontSize';
+type CssRules = 'root' | 'listItemText' | 'hasMargin' | 'active';
const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
root: {
},
hasMargin: {
marginLeft: `${theme.spacing.unit}px`,
- },
- fixFontSize: {
- fontSize: '1.25rem'
}
});
name: string;
isActive?: boolean;
hasMargin?: boolean;
- fixFontSize?: boolean;
+ iconSize?: number;
}
type ListItemTextIconProps = ListItemTextIconDataProps & WithStyles<CssRules>;
export const ListItemTextIcon = withStyles(styles)(
class extends React.Component<ListItemTextIconProps, {}> {
render() {
- const { classes, isActive, hasMargin, name, icon: Icon, fixFontSize } = this.props;
+ const { classes, isActive, hasMargin, name, icon: Icon, iconSize } = this.props;
return (
<Typography component='span' className={classes.root}>
<ListItemIcon className={classnames({
[classes.hasMargin]: hasMargin,
[classes.active]: isActive
})}>
- <Icon className={classnames({
- [classes.fixFontSize]: fixFontSize
- })}/>
+
+ <Icon style={{ fontSize: `${iconSize}rem` }} />
</ListItemIcon>
<ListItemText primary={
<Typography variant='body1' className={classnames(classes.listItemText, {