{{=« »=}} import * as React from 'react'; import { addPropertyControls, ControlType } from 'framer'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiListItem from '@material-ui/core/ListItem'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiListItemIcon from '@material-ui/core/ListItemIcon'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiListItemAvatar from '@material-ui/core/ListItemAvatar'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiListItemText from '@material-ui/core/ListItemText'; import { Avatar } from './Avatar'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiCheckbox from '@material-ui/core/Checkbox'; // tslint:disable-next-line: ban-ts-ignore // @ts-ignore import MuiSwitch from '@material-ui/core/Switch'; import { Icon } from './Icon'; import { IconButton } from './IconButton'; interface Props { «& tsInterface» } const defaultProps: Props = { «& defaultProps» }; export const «componentName»: React.SFC = (props: Props) => { const { height, imageFile, imageUrl, inset, label, primaryAction, primaryIcon, secondaryAction, secondaryIcon, secondaryLabel, width, ...other } = props; let primary = null; let secondary = null; switch (primaryAction) { case 'icon': primary = ( ); break; case 'avatar': primary = ( ); break; case 'checkbox': primary = ( ); break; } switch (secondaryAction) { case 'iconButton': secondary = ; break; case 'checkbox': secondary = ; break; case 'switch': secondary = ; break; } return ( {primary} {/* MuiListItemSecondaryAction causes the text to have a bullet. No idea why! */} {/* */} {secondary} {/* */} ); }; «componentName».defaultProps = defaultProps; addPropertyControls(«componentName», { «& propertyControls» });