Skip to content

[docs] Refresh the home page #19430

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Feb 1, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions docs/pages/index.js
Original file line number Diff line number Diff line change
@@ -5,9 +5,11 @@ import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import Container from '@material-ui/core/Container';
import HomeSteps from 'docs/src/modules/components/HomeSteps';
import HomeThemes from 'docs/src/modules/components/HomeThemes';
import HomeQuickWord from 'docs/src/modules/components/HomeQuickWord';
import HomeBackers from 'docs/src/modules/components/HomeBackers';
import HomeSponsors from 'docs/src/modules/components/HomeSponsors';
import HomeUsers from 'docs/src/modules/components/HomeUsers';
import HomeQuotes from 'docs/src/modules/components/HomeQuotes';
import HomePro from 'docs/src/modules/components/HomePro';
import AppFooter from 'docs/src/modules/components/AppFooter';
import AppFrame from 'docs/src/modules/components/AppFrame';
@@ -33,7 +35,7 @@ const useStyles = makeStyles(theme => ({
flex: '1 0 100%',
},
hero: {
paddingTop: 64,
paddingTop: theme.spacing(8),
color: theme.palette.primary.main,
},
content: {
@@ -44,8 +46,8 @@ const useStyles = makeStyles(theme => ({
paddingTop: theme.spacing(4),
paddingBottom: theme.spacing(8),
[theme.breakpoints.up('md')]: {
paddingTop: theme.spacing(22),
paddingBottom: theme.spacing(22),
paddingTop: theme.spacing(16),
paddingBottom: theme.spacing(16),
flexDirection: 'row',
alignItems: 'flex-start',
textAlign: 'left',
@@ -159,7 +161,9 @@ export default function HomePage() {
<HomePro />
<HomeQuickWord />
<HomeSteps />
<HomeBackers />
<HomeThemes />
<HomeSponsors />
<HomeQuotes />
<HomeUsers />
</main>
<AppFooter />
7 changes: 5 additions & 2 deletions docs/src/modules/components/AppFooter.js
Original file line number Diff line number Diff line change
@@ -11,6 +11,9 @@ import Divider from '@material-ui/core/Divider';
import Link from 'docs/src/modules/components/Link';

const styles = theme => ({
root: {
marginTop: theme.spacing(6),
},
footer: {
padding: theme.spacing(3, 0),
[theme.breakpoints.up('sm')]: {
@@ -52,7 +55,7 @@ function AppFooter(props) {
const t = useSelector(state => state.options.t);

return (
<React.Fragment>
<div className={classes.root}>
<Divider />
<Container maxWidth="md">
<footer className={classes.footer}>
@@ -170,7 +173,7 @@ function AppFooter(props) {
</Typography>
</footer>
</Container>
</React.Fragment>
</div>
);
}

218 changes: 218 additions & 0 deletions docs/src/modules/components/HomeQuotes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
import React from 'react';
import PropTypes from 'prop-types';
import { useSelector } from 'react-redux';
import { makeStyles } from '@material-ui/core/styles';
import Link from 'docs/src/modules/components/Link';
import Card from '@material-ui/core/Card';
import CardActionArea from '@material-ui/core/CardActionArea';
import CardContent from '@material-ui/core/CardContent';
import Grid from '@material-ui/core/Grid';
import Typography from '@material-ui/core/Typography';
import Avatar from '@material-ui/core/Avatar';
import TwitterIcon from '@material-ui/icons/Twitter';
import NoSsr from '@material-ui/core/NoSsr';
import Container from '@material-ui/core/Container';
import Divider from '@material-ui/core/Divider';

const quotes = [
{
avatar: 'https://pbs.twimg.com/profile_images/1134188599170215936/9CUB-yeB_400x400.jpg',
name: 'Aumit Leon',
username: '@aumitleon',
tweet: 'https://twitter.com/aumitleon/status/1210396946566963200',
quote:
'Material-UI continues to blow my mind how easily I can put together really aesthetic and functional components and minimize overhead.',
},
{
avatar: 'https://pbs.twimg.com/profile_images/1169043984561389568/pEdFvVIW_400x400.jpg',
name: 'Derek Shanks',
username: '@fragileglass',
tweet: 'https://twitter.com/fragileglass/status/1205256087290753025',
quote:
'It’s a game changer with how nicely it works with React. It’s made working with React so much more enjoyable. Everything is configurable and predictable. Bootstrap was killing me. It was hijacking my whole project.',
},
{
avatar: 'https://pbs.twimg.com/profile_images/1220819548523331584/3T1G8g1q_400x400.jpg',
name: 'Mohamed EL AYADI',
username: '@MohamedELAYAD19',
tweet: 'https://twitter.com/MohamedELAYAD19/status/1208118580430229504',
quote:
"Such a great library. I have used Material-UI for the last two years as the main react ui library in my projects (in more than 4 companies!) and I find that it's really great! A lot of good work and dedication are put in there. Salute to the team!",
},
{
avatar: 'https://pbs.twimg.com/profile_images/1144184864754851840/WIVBqpWM_400x400.jpg',
name: 'Matthias Margot',
username: '@matthiasmargot',
tweet: 'https://twitter.com/matthiasmargot/status/1215482285681795072',
quote:
'The DX on Material-UI is absolutely insane and that package has shaped my approach to Component API Design / Composition Design & Style System Design. I think those guys got it idiomatically right, wonderful product.',
},
{
avatar: 'https://pbs.twimg.com/profile_images/849731047625502720/nudIAz2B_400x400.jpg',
name: 'Rodrigo Ciprian',
username: '@rodrigocipriani',
tweet: 'https://twitter.com/rodrigocipriani/status/1215578130217340929',
quote:
'I always use Material-UI, it is really awesome, and it have a looot of very good and easy to use components.',
},
{
avatar: 'https://pbs.twimg.com/profile_images/1129370929409056769/Zkwjy9_I_400x400.jpg',
name: 'Samantha Durrant',
username: '@SamDurrant_',
tweet: 'https://twitter.com/SamDurrant_/status/1214741763455209473',
quote:
'Began coding out the front end of my app today. Used MaterialUI for the first time and love how easy it is to make things look nice. It’s also really cool to see all the hard work building out the backend of my app come to life in the front end!',
},
];

const useStyles = makeStyles(theme => ({
root: {
minHeight: 160,
paddingTop: theme.spacing(5),
margin: theme.spacing(0, 2),
},
container: {
marginBottom: theme.spacing(4),
},
users: {
padding: theme.spacing(10, 0, 0),
},
grid: {
marginTop: theme.spacing(5),
marginBottom: theme.spacing(5),
},
img: {
margin: theme.spacing(1.5, 3),
},
button: {
margin: theme.spacing(2, 0, 0),
},
}));

const useQuoteStyles = makeStyles(theme => ({
card: {
display: 'flex',
flexDirection: 'column',
height: '100%',
},
cardAction: {
height: '100%',
},
avatar: {
width: 48,
height: 48,
},
twitter: {
marginLeft: 'auto',
color: theme.palette.primary.light,
},
name: {
fontSize: 16,
},
quote: {
paddingBottom: '16px !important',
paddingTop: 0,
},
}));

const HomeQuoteLink = React.forwardRef((props, ref) => {
return (
<Link
data-ga-event-category="quote"
data-ga-event-action="click"
data-ga-event-label="home-link"
target="_blank"
rel="noopener nofollow"
naked
ref={ref}
{...props}
/>
);
});

function HomeQuote(props) {
const { avatar, href, name, quote, userName } = props;
const classes = useQuoteStyles();

return (
<Card variant="outlined" className={classes.card}>
<CardActionArea component={HomeQuoteLink} href={href} className={classes.cardAction}>
<CardContent>
<Grid container spacing={3}>
<Grid item>
<Avatar src={avatar} alt={name} className={classes.avatar} />
</Grid>
<Grid item>
<Typography variant="h6" color="textPrimary" className={classes.name}>
{name}
</Typography>
<Typography variant="subtitle2" color="textSecondary">
{userName}
</Typography>
</Grid>
<Grid item className={classes.twitter}>
<TwitterIcon />
</Grid>
</Grid>
</CardContent>
<CardContent className={classes.quote}>
<Typography color="textPrimary" variant="body2">
{quote}
</Typography>
</CardContent>
</CardActionArea>
</Card>
);
}

HomeQuote.propTypes = {
avatar: PropTypes.string,
href: PropTypes.string,
name: PropTypes.string,
quote: PropTypes.string,
userName: PropTypes.string,
};

const startIndex = Math.floor(Math.random() * quotes.length);
const selectedQuotes = [];
for (let i = 0; i < 3; i += 1) {
selectedQuotes.push(quotes[(startIndex + i) % quotes.length]);
}

function HomeQuotes() {
const classes = useStyles();
const t = useSelector(state => state.options.t);

return (
<div className={classes.root}>
<NoSsr>
<Container maxWidth="md" className={classes.container} disableGutters>
<Divider />
<div className={classes.users}>
<Typography variant="h4" component="h2" align="center" gutterBottom>
{t('praise')}
</Typography>
<Typography variant="body1" align="center" gutterBottom>
{t('praiseDescr')}
</Typography>
<Grid container spacing={2} className={classes.grid}>
{selectedQuotes.map(quote => (
<Grid item xs={12} md={4} key={quote.username}>
<HomeQuote
avatar={quote.avatar}
href={quote.tweet}
name={quote.name}
userName={quote.username}
quote={quote.quote}
/>
</Grid>
))}
</Grid>
</div>
</Container>
</NoSsr>
</div>
);
}

export default HomeQuotes;
Original file line number Diff line number Diff line change
@@ -5,37 +5,47 @@ import { withStyles } from '@material-ui/core/styles';
import NoSsr from '@material-ui/core/NoSsr';
import MarkdownElement from 'docs/src/modules/components/MarkdownElement';
import Container from '@material-ui/core/Container';
import Divider from '@material-ui/core/Divider';
import mapTranslations from 'docs/src/modules/utils/mapTranslations';

const req = require.context('docs/src/modules/components', false, /\.md$/);
const backers = mapTranslations(req, 'md');

const styles = theme => ({
'@global': {
'.anchor-link-style': {
position: 'absolute',
top: -9999,
left: -9999,
},
},
root: {
minHeight: 600,
textAlign: 'center',
},
markdownElement: {
padding: theme.spacing(4, 0),
},
});

function HomeBackers(props) {
function HomeSponsors(props) {
const { classes } = props;
const userLanguage = useSelector(state => state.options.userLanguage);

return (
<div className={classes.root}>
<NoSsr>
<Container maxWidth="md">
<Divider />
<MarkdownElement className={classes.markdownElement} text={backers[userLanguage]} />
</Container>
</NoSsr>
</div>
);
}

HomeBackers.propTypes = {
HomeSponsors.propTypes = {
classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(HomeBackers);
export default withStyles(styles)(HomeSponsors);
188 changes: 70 additions & 118 deletions docs/src/modules/components/HomeSteps.js
Original file line number Diff line number Diff line change
@@ -2,16 +2,15 @@ import React from 'react';
import PropTypes from 'prop-types';
import clsx from 'clsx';
import { useSelector } from 'react-redux';
import { withStyles, useTheme } from '@material-ui/core/styles';
import { withStyles } from '@material-ui/core/styles';
import Typography from '@material-ui/core/Typography';
import Container from '@material-ui/core/Container';
import Grid from '@material-ui/core/Grid';
import Button from '@material-ui/core/Button';
import Divider from '@material-ui/core/Divider';
import { FileDownload as FileDownloadIcon } from '@material-ui/docs';
import BuildIcon from '@material-ui/icons/Build';
import WhatshotIcon from '@material-ui/icons/Whatshot';
import MarkdownElement from 'docs/src/modules/components/MarkdownElement';
import NoSsr from '@material-ui/core/NoSsr';
import Link from 'docs/src/modules/components/Link';

const InstallationLink = React.forwardRef((buttonProps, ref) => (
@@ -23,32 +22,31 @@ const UsageLink = React.forwardRef((buttonProps, ref) => (
));

const styles = theme => ({
container: {
marginTop: theme.spacing(5),
},
step: {
border: `12px solid ${theme.palette.background.level1}`,
padding: theme.spacing(3, 2),
backgroundColor: theme.palette.background.level2,
borderRightWidth: 0,
borderLeftWidth: 0,
[theme.breakpoints.up('sm')]: {
padding: theme.spacing(5, 4),
},
padding: theme.spacing(3, 2),
backgroundColor: theme.palette.background.level2,
[theme.breakpoints.up('md')]: {
borderRightWidth: 12,
borderLeftWidth: 12,
padding: theme.spacing(5, 4),
},
},
leftStep: {
borderBottomWidth: 0,
[theme.breakpoints.up('md')]: {
borderBottomWidth: 12,
borderRightWidth: 0,
borderLeftWidth: 12,
borderRightWidth: 6,
borderBottomWidth: 0,
},
},
rightStep: {
borderTopWidth: 0,
borderBottomWidth: 0,
[theme.breakpoints.up('md')]: {
borderTopWidth: 12,
borderLeftWidth: 0,
borderLeftWidth: 6,
borderRightWidth: 12,
},
},
stepTitle: {
@@ -89,83 +87,69 @@ const styles = theme => ({
},
});

const PremiumThemesLink = React.forwardRef((props, ref) => {
return (
<Link
data-ga-event-category="premium-themes"
data-ga-event-action="click"
data-ga-event-label="home-link"
href="https://themes.material-ui.com/"
naked
ref={ref}
{...props}
/>
);
});

function HomeSteps(props) {
const { classes } = props;
const t = useSelector(state => state.options.t);
const theme = useTheme();

return (
<Grid container>
<Grid item xs={12} md={4} className={clsx(classes.step, classes.leftStep)}>
<div className={classes.stepTitle}>
<FileDownloadIcon className={classes.stepIcon} />
<Typography variant="h6" component="h3">
{t('installation')}
</Typography>
</div>
<div className={classes.stepBody}>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('installDescr')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
<Container disableGutters maxwidth="lg" className={classes.container}>
<Grid container>
<Grid item xs={12} md={6} className={clsx(classes.step, classes.leftStep)}>
<div className={classes.stepTitle}>
<FileDownloadIcon className={classes.stepIcon} />
<Typography variant="h6" component="h3">
{t('installation')}
</Typography>
</div>
<div className={classes.stepBody}>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('installDescr')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
\`\`\`sh
$ npm install @material-ui/core
\`\`\`
`}
/>
<Link
variant="subtitle1"
color="inherit"
href="https://github.com/mui-org/material-ui/tree/master/examples/cdn"
gutterBottom
>
{t('cdn')}
</Link>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('loadFont')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
/>
<Link
variant="subtitle1"
color="inherit"
href="https://github.com/mui-org/material-ui/tree/master/examples/cdn"
gutterBottom
>
{t('cdn')}
</Link>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('loadFont')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
\`\`\`html
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
\`\`\`
`}
/>
</div>
<Divider className={classes.divider} />
<Button component={InstallationLink}>{t('installButton')}</Button>
</Grid>
<Grid item xs={12} md={4} className={classes.step}>
<div className={classes.stepTitle}>
<BuildIcon className={classes.stepIcon} />
<Typography variant="h6" component="h3">
{t('usage')}
</Typography>
</div>
<div className={classes.stepBody}>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('usageDescr')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
/>
</div>
<Divider className={classes.divider} />
<Button component={InstallationLink}>{t('installButton')}</Button>
</Grid>
<Grid item xs={12} md={6} className={clsx(classes.step, classes.rightStep)}>
<div className={classes.stepTitle}>
<BuildIcon className={classes.stepIcon} />
<Typography variant="h6" component="h3">
{t('usage')}
</Typography>
</div>
<div className={classes.stepBody}>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('usageDescr')}
</Typography>
<MarkdownElement
className={classes.markdownElement}
text={`
\`\`\`jsx
import React from 'react';
import Button from '@material-ui/core/Button';
@@ -177,45 +161,13 @@ function HomeSteps(props) {
);
\`\`\`
`}
/>
</div>
<Divider className={classes.divider} />
<Button component={UsageLink}>{t('usageButton')}</Button>
</Grid>
<Grid item xs={12} md={4} className={clsx(classes.step, classes.rightStep)}>
<div className={classes.stepTitle}>
<WhatshotIcon className={classes.stepIcon} />
<Typography variant="h6" component="h3">
{t('themes')}
</Typography>
</div>
<div className={classes.stepBody}>
<Typography variant="subtitle1" component="div" gutterBottom>
{t('themesDescr')}
</Typography>
<Link
href="https://themes.material-ui.com/"
data-ga-event-category="premium-themes"
data-ga-event-action="click"
data-ga-event-label="home-image"
className={classes.link}
>
<NoSsr>
<img
className={classes.img}
alt={t('themesButton')}
src={`/static/images/themes-${theme.palette.type}.jpg`}
loading="eager"
width={500}
height={307}
/>
</NoSsr>
</Link>
</div>
<Divider className={classes.divider} />
<Button component={PremiumThemesLink}>{t('themesButton')}</Button>
/>
</div>
<Divider className={classes.divider} />
<Button component={UsageLink}>{t('usageButton')}</Button>
</Grid>
</Grid>
</Grid>
</Container>
);
}

96 changes: 96 additions & 0 deletions docs/src/modules/components/HomeThemes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
import React from 'react';
import PropTypes from 'prop-types';
import { useSelector } from 'react-redux';
import { withStyles, useTheme } from '@material-ui/core/styles';
import Typography from '@material-ui/core/Typography';
import Container from '@material-ui/core/Container';
import Grid from '@material-ui/core/Grid';
import Button from '@material-ui/core/Button';
import NoSsr from '@material-ui/core/NoSsr';
import Link from 'docs/src/modules/components/Link';

const styles = theme => ({
root: {
padding: theme.spacing(2),
minHeight: 160,
marginTop: theme.spacing(8),
},

link: {
marginTop: theme.spacing(1),
display: 'block',
},
img: {
maxWidth: 960,
width: '100%',
height: 'auto',
marginTop: theme.spacing(4),
},
button: {
margin: theme.spacing(4, 0, 6),
},
});

const PremiumThemesLink = React.forwardRef((props, ref) => {
return (
<Link
data-ga-event-category="premium-themes"
data-ga-event-action="click"
data-ga-event-label="home-link"
href="https://themes.material-ui.com/"
naked
ref={ref}
{...props}
/>
);
});

function HomeThemes(props) {
const { classes } = props;
const t = useSelector(state => state.options.t);
const theme = useTheme();

return (
<div className={classes.root}>
<NoSsr>
<Container maxWidth="md">
<Typography variant="h4" component="h2" align="center" gutterBottom>
{t('themes')}
</Typography>
<Typography variant="body1" align="center" gutterBottom>
{t('themesDescr')}
</Typography>
<Link
href="https://themes.material-ui.com/"
data-ga-event-category="premium-themes"
data-ga-event-action="click"
data-ga-event-label="home-image"
className={classes.link}
>
<NoSsr>
<img
className={classes.img}
alt={t('themesButton')}
src={`/static/images/themes-${theme.palette.type}.jpg`}
loading="eager"
width={500}
height={307}
/>
</NoSsr>
</Link>
<Grid container justify="center">
<Button variant="outlined" component={PremiumThemesLink} className={classes.button}>
{t('themesButton')}
</Button>
</Grid>
</Container>
</NoSsr>
</div>
);
}

HomeThemes.propTypes = {
classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(HomeThemes);
122 changes: 83 additions & 39 deletions docs/src/modules/components/HomeUsers.js
Original file line number Diff line number Diff line change
@@ -19,8 +19,8 @@ const users = [
},
{
logo: 'walmart-labs.svg',
logoWidth: 253,
logoHeight: 48,
logoWidth: 274,
logoHeight: 52,
caption: 'Walmart Labs',
class: 'walmart',
},
@@ -54,6 +54,33 @@ const users = [
logoWidth: 205,
logoHeight: 29,
},
{
logo: 'netflix.svg',
logoWidth: 111,
logoHeight: 29,
caption: 'Netflix',
},
{
logo: 'coursera.svg',
logoWidth: 169,
logoHeight: 23,
caption: 'Coursera',
class: 'coursera',
},
{
logo: 'amazon.svg',
logoWidth: 119,
logoHeight: 36,
caption: 'Amazon',
class: 'amazon',
},
{
logo: 'unity.svg',
logoWidth: 138,
logoHeight: 50,
caption: 'Unity',
class: 'unity',
},
];

const styles = theme => ({
@@ -63,8 +90,10 @@ const styles = theme => ({
paddingTop: theme.spacing(5),
},
container: {
paddingTop: theme.spacing(14),
paddingBottom: theme.spacing(14),
marginBottom: theme.spacing(4),
},
users: {
padding: theme.spacing(10, 4, 0),
},
grid: {
marginTop: theme.spacing(5),
@@ -73,8 +102,20 @@ const styles = theme => ({
img: {
margin: theme.spacing(1.5, 3),
},
amazon: {
margin: theme.spacing(2.4, 3, 1.5),
},
coursera: {
margin: theme.spacing(2.3, 3, 1.5),
},
unity: {
margin: theme.spacing(0.5, 3, 1.5),
},
walmart: {
margin: theme.spacing(1.1, 3, 1.5),
margin: theme.spacing(0.9, 3, 1.5),
},
button: {
margin: theme.spacing(2, 0, 0),
},
});

@@ -84,41 +125,44 @@ function HomeUsers(props) {

return (
<div className={classes.root}>
<Divider />
<NoSsr>
<Container maxWidth="md" className={classes.container}>
<Typography variant="h4" component="h2" align="center" gutterBottom>
{t('whosUsing')}
</Typography>
<Typography variant="body1" align="center" gutterBottom>
{t('joinThese')}
</Typography>
<Grid container justify="center" className={classes.grid}>
{users.map(user => (
<img
key={user.caption}
src={`/static/images/users/${user.logo}`}
alt={user.caption}
className={clsx(classes.img, classes[user.class])}
loading="lazy"
width={user.logoWidth}
height={user.logoHeight}
/>
))}
</Grid>
<Typography variant="body1" align="center" gutterBottom>
{t('usingMui')}
</Typography>
<Grid container justify="center">
<Button
variant="outlined"
href="https://spectrum.chat/material-ui/general/whos-using-material-ui~00e6687a-9b2d-454f-97a6-950d9fde71cf"
rel="noopener nofollow"
target="_blank"
>
{t('letUsKnow')}
</Button>
</Grid>
<Container maxWidth="md" className={classes.container} disableGutters>
<Divider />
<div className={classes.users}>
<Typography variant="h4" component="h2" align="center" gutterBottom>
{t('whosUsing')}
</Typography>
<Typography variant="body1" align="center" gutterBottom>
{t('joinThese')}
</Typography>
<Grid container justify="center" className={classes.grid}>
{users.map(user => (
<img
key={user.caption}
src={`/static/images/users/${user.logo}`}
alt={user.caption}
className={clsx(classes.img, classes[user.class])}
loading="lazy"
width={user.logoWidth}
height={user.logoHeight}
/>
))}
</Grid>
<Typography variant="body1" align="center" gutterBottom>
{t('usingMui')}
</Typography>
<Grid container justify="center">
<Button
variant="outlined"
href="https://spectrum.chat/material-ui/general/whos-using-material-ui~00e6687a-9b2d-454f-97a6-950d9fde71cf"
rel="noopener nofollow"
target="_blank"
className={classes.button}
>
{t('letUsKnow')}
</Button>
</Grid>
</div>
</Container>
</NoSsr>
</div>
13 changes: 2 additions & 11 deletions docs/src/modules/components/backers.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,22 @@
<h2 align="center">Material-UI's sponsors</h2>

The core of Material-UI is a [crowd-funded](/discover-more/backers/) open-source project, licensed under the permissive MIT license. Sponsorship increases the rate of bug fixes, documentation improvements, and feature development.
The continued development and maintenance of Material-UI is made possible by these generous sponsors:

### Diamond 💎

*3/3 slots available*

Diamond Sponsors are those who have pledged $2,000/month or more to Material-UI.
Please contact us at diamond@material-ui.com to subscribe to this tier.

### Gold 🏆

via [Patreon](https://www.patreon.com/oliviertassinari)

<p style="display: flex; justify-content: center;">
<a data-ga-event-category="sponsors" data-ga-event-action="logo" data-ga-event-label="tidelift" href="https://tidelift.com/subscription/pkg/npm-material-ui?utm_source=material_ui&utm_medium=referral&utm_campaign=homepage" rel="noopener sponsored" target="_blank" style="margin-right: 16px;"><img width="96" src="https://github.com/tidelift.png?size=96" alt="tidelift" title="Enterprise-ready open source software" /></a>
<a data-ga-event-category="sponsors" data-ga-event-action="logo" data-ga-event-label="bitsrc" href="https://bit.dev" rel="noopener sponsored" target="_blank" style="margin-right: 16px;"><img width="96" src="https://github.com/teambit.png?size=96" alt="bitsrc" title="The fastest way to share code" /></a>
</p>

via [OpenCollective](https://opencollective.com/material-ui)

<p style="display: flex; justify-content: center; flex-wrap: wrap;">
<a data-ga-event-category="sponsors" data-ga-event-action="logo" data-ga-event-label="callemall" href="https://www.call-em-all.com" rel="noopener sponsored" target="_blank" style="margin-right: 16px;"><img src="https://images.opencollective.com/proxy/images?src=https%3A%2F%2Fopencollective-production.s3-us-west-1.amazonaws.com%2Ff4053300-e0ea-11e7-acf0-0fa7c0509f4e.png&height=100" alt="call-em-all" title="The easy way to message your group" width="100" loading="lazy"></a>
</p>

Gold Sponsors are those who have pledged $500/month or more to Material-UI.

### There are more!

See the full list of [our backers](/discover-more/backers/).
See the full list of [our sponsors](/discover-more/backers/), and learn how you can contribute to the future of Material-UI.
2 changes: 1 addition & 1 deletion docs/src/pages/components/cards/cards.md
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ Although cards can support multiple actions, UI controls, and an overflow menu,

### Outlined Card

Set `variant="outlined` to render an outlined card.
Set `variant="outlined"` to render an outlined card.

{{"demo": "pages/components/cards/OutlinedCard.js", "bg": true}}

12 changes: 6 additions & 6 deletions docs/src/pages/discover-more/backers/backers.md
Original file line number Diff line number Diff line change
@@ -91,26 +91,26 @@ Funds donated via OpenCollective are managed transparently and aimed to sustain

These great services sponsor Material-UI's core infrastructure:

- [<img alt="GitHub" src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png" width="100">](https://github.com/)
[<img alt="GitHub" src="https://github.githubassets.com/images/modules/logos_page/GitHub-Logo.png" width="100">](https://github.com/)

GitHub allows us to host the Git repository.

- [<img alt="CircleCI" src="https://assets.brandfolder.com/otz6k5-cj8pew-e4rk9u/element.png?v=1501538594" width="120">](https://circleci.com/)
[<img alt="CircleCI" src="https://assets.brandfolder.com/otz6k5-cj8pew-e4rk9u/element.png?v=1501538594" width="120">](https://circleci.com/)

CircleCI allows us to run the test suite.

- [<img alt="Netlify" src="https://cdn.netlify.com/15ecf59b59c9d04b88097c6b5d2c7e8a7d1302d0/1b6d6/img/press/logos/full-logo-light.svg" width="120">](https://www.netlify.com/)
[<img alt="Netlify" src="https://cdn.netlify.com/15ecf59b59c9d04b88097c6b5d2c7e8a7d1302d0/1b6d6/img/press/logos/full-logo-light.svg" width="120">](https://www.netlify.com/)

Netlify allows us to distribute the documentation.

- [<img alt="CrowdIn" src="https://support.crowdin.com/assets/logos/crowdin-logo1-small.png" width="120">](https://crowdin.com/)
[<img alt="CrowdIn" src="https://support.crowdin.com/assets/logos/crowdin-logo1-small.png" width="120">](https://crowdin.com/)

CrowdIn allows us to translate the documentation.

- [<img alt="BrowserStack" src="https://www.browserstack.com/images/mail/browserstack-logo-footer.png" width="120">](https://www.browserstack.com/)
[<img alt="BrowserStack" src="https://www.browserstack.com/images/mail/browserstack-logo-footer.png" width="120">](https://www.browserstack.com/)

BrowserStack allows us to test in real browsers.

- [<img alt="CodeCov" src="https://github.com/raw/codecov/media/master/logos/icon-50.png" height="30">](https://codecov.io/)
[<img alt="CodeCov" src="https://github.com/raw/codecov/media/master/logos/icon-50.png" height="30">](https://codecov.io/)

CodeCov allows us to monitor the test coverage.
Binary file modified docs/static/blog/december-2019-update/alert-filled.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/alert.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/data-grid.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/date-picker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/pagination.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/stacking.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/december-2019-update/vertical-buttons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/blog/november-2019-update/typescript-demos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/images/showcase/hifivework.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/images/themes-dark.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/static/images/themes-light.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/static/images/users/amazon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/static/images/users/coursera.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/static/images/users/netflix.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/static/images/users/unity.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/static/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions docs/translations/translations.json
Original file line number Diff line number Diff line change
@@ -17,12 +17,14 @@
"usageDescr": "Material-UI components work without any additional setup, and don't pollute the global scope.",
"usageButton": "Explore the docs",
"themes": "Premium themes",
"themesDescr": "Take Material-UI to the next level with premium themes from our official marketplace – all built on Material-UI.",
"themesDescr": "Take your project to the next level with premium themes from our official marketplace – all built on Material-UI.",
"themesButton": "Browse themes",
"whosUsing": "Who's using Material-UI?",
"joinThese": "Join these and other great organisations!",
"usingMui": "Are you using Material-UI?",
"letUsKnow": "Let us know!",
"praise": "Praise for Material-UI",
"praiseDescr": "Here's what some of our users are saying.",
"footerCommunity": "Community",
"footerResources": "Resources",
"footerCompany": "Company",
@@ -226,4 +228,4 @@
"/components/tree-view": "Tree View",
"/customization/density": "Density"
}
}
}