diff --git a/docs/src/pages/demos/cards/MediaCard.tsx b/docs/src/pages/demos/cards/MediaCard.tsx new file mode 100644 index 00000000000000..ad916a9755c92e --- /dev/null +++ b/docs/src/pages/demos/cards/MediaCard.tsx @@ -0,0 +1,59 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { withStyles, createStyles, WithStyles } from '@material-ui/core/styles'; +import Card from '@material-ui/core/Card'; +import CardActionArea from '@material-ui/core/CardActionArea'; +import CardActions from '@material-ui/core/CardActions'; +import CardContent from '@material-ui/core/CardContent'; +import CardMedia from '@material-ui/core/CardMedia'; +import Button from '@material-ui/core/Button'; +import Typography from '@material-ui/core/Typography'; + +const styles = createStyles({ + card: { + maxWidth: 345, + }, + media: { + height: 140, + }, +}); + +export interface Props extends WithStyles {} + +function MediaCard(props: Props) { + const { classes } = props; + return ( + + + + + + Lizard + + + Lizards are a widespread group of squamate reptiles, with over 6,000 species, ranging + across all continents except Antarctica + + + + + + + + + ); +} + +MediaCard.propTypes = { + classes: PropTypes.object.isRequired, +} as any; + +export default withStyles(styles)(MediaCard); diff --git a/docs/src/pages/demos/cards/MediaControlCard.tsx b/docs/src/pages/demos/cards/MediaControlCard.tsx new file mode 100644 index 00000000000000..430576985bfe3d --- /dev/null +++ b/docs/src/pages/demos/cards/MediaControlCard.tsx @@ -0,0 +1,82 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { withStyles, Theme, createStyles, WithStyles, WithTheme } from '@material-ui/core/styles'; +import Card from '@material-ui/core/Card'; +import CardContent from '@material-ui/core/CardContent'; +import CardMedia from '@material-ui/core/CardMedia'; +import IconButton from '@material-ui/core/IconButton'; +import Typography from '@material-ui/core/Typography'; +import SkipPreviousIcon from '@material-ui/icons/SkipPrevious'; +import PlayArrowIcon from '@material-ui/icons/PlayArrow'; +import SkipNextIcon from '@material-ui/icons/SkipNext'; + +const styles = (theme: Theme) => + createStyles({ + card: { + display: 'flex', + }, + details: { + display: 'flex', + flexDirection: 'column', + }, + content: { + flex: '1 0 auto', + }, + cover: { + width: 151, + }, + controls: { + display: 'flex', + alignItems: 'center', + paddingLeft: theme.spacing(1), + paddingBottom: theme.spacing(1), + }, + playIcon: { + height: 38, + width: 38, + }, + }); + +type Props = WithStyles & WithTheme; + +function MediaControlCard(props: Props) { + const { classes, theme } = props; + + return ( + +
+ + + Live From Space + + + Mac Miller + + +
+ + {theme.direction === 'rtl' ? : } + + + + + + {theme.direction === 'rtl' ? : } + +
+
+ +
+ ); +} + +MediaControlCard.propTypes = { + classes: PropTypes.object.isRequired, + theme: PropTypes.object.isRequired, +} as any; + +export default withStyles(styles, { withTheme: true })(MediaControlCard); diff --git a/docs/src/pages/demos/cards/RecipeReviewCard.tsx b/docs/src/pages/demos/cards/RecipeReviewCard.tsx new file mode 100644 index 00000000000000..0bcad239e98b57 --- /dev/null +++ b/docs/src/pages/demos/cards/RecipeReviewCard.tsx @@ -0,0 +1,131 @@ +import React from 'react'; +import { makeStyles, Theme, createStyles } from '@material-ui/core/styles'; +import clsx from 'clsx'; +import Card from '@material-ui/core/Card'; +import CardHeader from '@material-ui/core/CardHeader'; +import CardMedia from '@material-ui/core/CardMedia'; +import CardContent from '@material-ui/core/CardContent'; +import CardActions from '@material-ui/core/CardActions'; +import Collapse from '@material-ui/core/Collapse'; +import Avatar from '@material-ui/core/Avatar'; +import IconButton from '@material-ui/core/IconButton'; +import Typography from '@material-ui/core/Typography'; +import red from '@material-ui/core/colors/red'; +import FavoriteIcon from '@material-ui/icons/Favorite'; +import ShareIcon from '@material-ui/icons/Share'; +import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; +import MoreVertIcon from '@material-ui/icons/MoreVert'; + +const useStyles = makeStyles((theme: Theme) => + createStyles({ + card: { + maxWidth: 400, + }, + media: { + height: 0, + paddingTop: '56.25%', // 16:9 + }, + actions: { + display: 'flex', + }, + expand: { + transform: 'rotate(0deg)', + marginLeft: 'auto', + transition: theme.transitions.create('transform', { + duration: theme.transitions.duration.shortest, + }), + }, + expandOpen: { + transform: 'rotate(180deg)', + }, + avatar: { + backgroundColor: red[500], + }, + }), +); + +function RecipeReviewCard() { + const classes = useStyles(); + const [expanded, setExpanded] = React.useState(false); + + function handleExpandClick() { + setExpanded(!expanded); + } + + return ( + + + R + + } + action={ + + + + } + title="Shrimp and Chorizo Paella" + subheader="September 14, 2016" + /> + + + + This impressive paella is a perfect party dish and a fun meal to cook together with your + guests. Add 1 cup of frozen peas along with the mussels, if you like. + + + + + + + + + + + + + + + + Method: + + Heat 1/2 cup of the broth in a pot until simmering, add saffron and set aside for 10 + minutes. + + + Heat oil in a (14- to 16-inch) paella pan or a large, deep skillet over medium-high + heat. Add chicken, shrimp and chorizo, and cook, stirring occasionally until lightly + browned, 6 to 8 minutes. Transfer shrimp to a large plate and set aside, leaving chicken + and chorizo in the pan. Add pimentón, bay leaves, garlic, tomatoes, onion, salt and + pepper, and cook, stirring often until thickened and fragrant, about 10 minutes. Add + saffron broth and remaining 4 1/2 cups chicken broth; bring to a boil. + + + Add rice and stir very gently to distribute. Top with artichokes and peppers, and cook + without stirring, until most of the liquid is absorbed, 15 to 18 minutes. Reduce heat to + medium-low, add reserved shrimp and mussels, tucking them down into the rice, and cook + again without stirring, until mussels have opened and rice is just tender, 5 to 7 + minutes more. (Discard any mussels that don’t open.) + + + Set aside off of the heat to let rest for 10 minutes, and then serve. + + + + + ); +} + +export default RecipeReviewCard; diff --git a/docs/src/pages/demos/cards/SimpleCard.tsx b/docs/src/pages/demos/cards/SimpleCard.tsx new file mode 100644 index 00000000000000..dc09af822ea50c --- /dev/null +++ b/docs/src/pages/demos/cards/SimpleCard.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { withStyles, createStyles, WithStyles } from '@material-ui/core/styles'; +import Card from '@material-ui/core/Card'; +import CardActions from '@material-ui/core/CardActions'; +import CardContent from '@material-ui/core/CardContent'; +import Button from '@material-ui/core/Button'; +import Typography from '@material-ui/core/Typography'; + +const styles = createStyles({ + card: { + minWidth: 275, + }, + bullet: { + display: 'inline-block', + margin: '0 2px', + transform: 'scale(0.8)', + }, + title: { + fontSize: 14, + }, + pos: { + marginBottom: 12, + }, +}); + +export interface Props extends WithStyles {} + +function SimpleCard(props: Props) { + const { classes } = props; + const bull = ; + + return ( + + + + Word of the Day + + + be + {bull} + nev + {bull}o{bull} + lent + + + adjective + + + well meaning and kindly. +
+ {'"a benevolent smile"'} +
+
+ + + +
+ ); +} + +SimpleCard.propTypes = { + classes: PropTypes.object.isRequired, +} as any; + +export default withStyles(styles)(SimpleCard);