import React from "react" import { makeStyles } from "@material-ui/core/styles" import Box from "@material-ui/core/Box" import Button, { ButtonProps } from "@material-ui/core/Button" import Typography from "@material-ui/core/Typography" export interface EmptyStateProps { /** Text Message to display, placed inside Typography component */ message: React.ReactNode /** Longer optional description to display below the message */ description?: React.ReactNode button?: ButtonProps } /** * Component to place on screens or in lists that have no content. Optionally * provide a button that would allow the user to return from where they were, * or to add an item that they currently have none of. * * EmptyState's props extend the [Material UI Box component](https://material-ui.com/components/box/) * that you can directly pass props through to to customize the shape and layout of it. */ export const EmptyState: React.FC = (props) => { const { message, description, button, ...boxProps } = props const styles = useStyles() const descClassName = `${styles.description}` const buttonClassName = `${styles.button} ${button && button.className ? button.className : ""}` return ( {message} {description && ( {description} )} {button &&