Add prop for controlling tree item indentation
[arvados.git] / src / components / list-item-text-icon / list-item-text-icon.tsx
index e7f63eafc0c1f7e9423e148daad623d008580623..29768c050f797974bd4e33815ce5d41d6ae6dc2c 100644 (file)
@@ -24,7 +24,7 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
     },
     hasMargin: {
         marginLeft: `${theme.spacing.unit}px`,
-    },
+    }
 });
 
 export interface ListItemTextIconDataProps {
@@ -32,6 +32,7 @@ export interface ListItemTextIconDataProps {
     name: string;
     isActive?: boolean;
     hasMargin?: boolean;
+    iconSize?: number;
 }
 
 type ListItemTextIconProps = ListItemTextIconDataProps & WithStyles<CssRules>;
@@ -39,14 +40,15 @@ type ListItemTextIconProps = ListItemTextIconDataProps & WithStyles<CssRules>;
 export const ListItemTextIcon = withStyles(styles)(
     class extends React.Component<ListItemTextIconProps, {}> {
         render() {
-            const { classes, isActive, hasMargin, name, icon: Icon } = 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 />
+
+                        <Icon style={{ fontSize: `${iconSize}rem` }} />
                     </ListItemIcon>
                     <ListItemText primary={
                         <Typography variant='body1' className={classnames(classes.listItemText, {