diff --git a/docs/pages/index.js b/docs/pages/index.js
index 59fd3b7c86dc21..9683deb7107c7e 100644
--- a/docs/pages/index.js
+++ b/docs/pages/index.js
@@ -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() {
-
+
+
+
diff --git a/docs/src/modules/components/AppFooter.js b/docs/src/modules/components/AppFooter.js
index ec72bd635aca49..b950167d4c13ee 100644
--- a/docs/src/modules/components/AppFooter.js
+++ b/docs/src/modules/components/AppFooter.js
@@ -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 (
-
+
-
+
);
}
diff --git a/docs/src/modules/components/HomeQuotes.js b/docs/src/modules/components/HomeQuotes.js
new file mode 100644
index 00000000000000..eac3a24d63b9e2
--- /dev/null
+++ b/docs/src/modules/components/HomeQuotes.js
@@ -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 (
+
+ );
+});
+
+function HomeQuote(props) {
+ const { avatar, href, name, quote, userName } = props;
+ const classes = useQuoteStyles();
+
+ return (
+
+
+
+
+
+
+
+
+
+ {name}
+
+
+ {userName}
+
+
+
+
+
+
+
+
+
+ {quote}
+
+
+
+
+ );
+}
+
+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 (
+
-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)
-
-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.
diff --git a/docs/src/pages/components/cards/cards.md b/docs/src/pages/components/cards/cards.md
index 1de904a65fe2be..0ccd010d1a21bd 100644
--- a/docs/src/pages/components/cards/cards.md
+++ b/docs/src/pages/components/cards/cards.md
@@ -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}}
diff --git a/docs/src/pages/discover-more/backers/backers.md b/docs/src/pages/discover-more/backers/backers.md
index 2b51985d2e4d98..a93fdbf6e46794 100644
--- a/docs/src/pages/discover-more/backers/backers.md
+++ b/docs/src/pages/discover-more/backers/backers.md
@@ -91,26 +91,26 @@ Funds donated via OpenCollective are managed transparently and aimed to sustain
These great services sponsor Material-UI's core infrastructure:
-- [](https://github.com/)
+[](https://github.com/)
GitHub allows us to host the Git repository.
-- [](https://circleci.com/)
+[](https://circleci.com/)
CircleCI allows us to run the test suite.
-- [](https://www.netlify.com/)
+[](https://www.netlify.com/)
Netlify allows us to distribute the documentation.
-- [](https://crowdin.com/)
+[](https://crowdin.com/)
CrowdIn allows us to translate the documentation.
-- [](https://www.browserstack.com/)
+[](https://www.browserstack.com/)
BrowserStack allows us to test in real browsers.
-- [](https://codecov.io/)
+[](https://codecov.io/)
CodeCov allows us to monitor the test coverage.
diff --git a/docs/static/blog/december-2019-update/alert-filled.png b/docs/static/blog/december-2019-update/alert-filled.png
index ca2e15158502d3..f872eb8853a853 100644
Binary files a/docs/static/blog/december-2019-update/alert-filled.png and b/docs/static/blog/december-2019-update/alert-filled.png differ
diff --git a/docs/static/blog/december-2019-update/alert.png b/docs/static/blog/december-2019-update/alert.png
index c79ede46a12572..d5c91f44d92241 100644
Binary files a/docs/static/blog/december-2019-update/alert.png and b/docs/static/blog/december-2019-update/alert.png differ
diff --git a/docs/static/blog/december-2019-update/data-grid.png b/docs/static/blog/december-2019-update/data-grid.png
index 85a163f98011f4..9bf47139b05f89 100644
Binary files a/docs/static/blog/december-2019-update/data-grid.png and b/docs/static/blog/december-2019-update/data-grid.png differ
diff --git a/docs/static/blog/december-2019-update/date-picker.png b/docs/static/blog/december-2019-update/date-picker.png
index c8fffc30618020..92e4548e3b3eef 100644
Binary files a/docs/static/blog/december-2019-update/date-picker.png and b/docs/static/blog/december-2019-update/date-picker.png differ
diff --git a/docs/static/blog/december-2019-update/pagination.png b/docs/static/blog/december-2019-update/pagination.png
index 20d853afc7874e..8be5e800330562 100644
Binary files a/docs/static/blog/december-2019-update/pagination.png and b/docs/static/blog/december-2019-update/pagination.png differ
diff --git a/docs/static/blog/december-2019-update/stacking.png b/docs/static/blog/december-2019-update/stacking.png
index 006b11453c7df2..b31e4dfc3fa9c6 100644
Binary files a/docs/static/blog/december-2019-update/stacking.png and b/docs/static/blog/december-2019-update/stacking.png differ
diff --git a/docs/static/blog/december-2019-update/vertical-buttons.png b/docs/static/blog/december-2019-update/vertical-buttons.png
index 141734d5802b86..9c3854b59f1234 100644
Binary files a/docs/static/blog/december-2019-update/vertical-buttons.png and b/docs/static/blog/december-2019-update/vertical-buttons.png differ
diff --git a/docs/static/blog/november-2019-update/typescript-demos.png b/docs/static/blog/november-2019-update/typescript-demos.png
index 9d96808dcb4a8d..631a606afb9fa1 100644
Binary files a/docs/static/blog/november-2019-update/typescript-demos.png and b/docs/static/blog/november-2019-update/typescript-demos.png differ
diff --git a/docs/static/images/showcase/hifivework.png b/docs/static/images/showcase/hifivework.png
index 1a8f9a8b670bdf..3d5757402bd17b 100644
Binary files a/docs/static/images/showcase/hifivework.png and b/docs/static/images/showcase/hifivework.png differ
diff --git a/docs/static/images/themes-dark.jpg b/docs/static/images/themes-dark.jpg
index a140af397d557a..5e6a67c5a6ac0d 100644
Binary files a/docs/static/images/themes-dark.jpg and b/docs/static/images/themes-dark.jpg differ
diff --git a/docs/static/images/themes-light.jpg b/docs/static/images/themes-light.jpg
index 52cedfe0890da5..9f380b77853a14 100644
Binary files a/docs/static/images/themes-light.jpg and b/docs/static/images/themes-light.jpg differ
diff --git a/docs/static/images/users/amazon.svg b/docs/static/images/users/amazon.svg
new file mode 100644
index 00000000000000..f6ccc5409c8605
--- /dev/null
+++ b/docs/static/images/users/amazon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/static/images/users/coursera.svg b/docs/static/images/users/coursera.svg
new file mode 100644
index 00000000000000..192994e51d6e12
--- /dev/null
+++ b/docs/static/images/users/coursera.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/static/images/users/netflix.svg b/docs/static/images/users/netflix.svg
new file mode 100644
index 00000000000000..7beced7a31c53c
--- /dev/null
+++ b/docs/static/images/users/netflix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/static/images/users/unity.svg b/docs/static/images/users/unity.svg
new file mode 100644
index 00000000000000..9bafef832ad069
--- /dev/null
+++ b/docs/static/images/users/unity.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/static/logo.svg b/docs/static/logo.svg
index e21b05b61457da..7236b6f6b75fe7 100644
--- a/docs/static/logo.svg
+++ b/docs/static/logo.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/docs/translations/translations.json b/docs/translations/translations.json
index 5050b8b9436412..00557e6e00826c 100644
--- a/docs/translations/translations.json
+++ b/docs/translations/translations.json
@@ -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"
}
-}
+}
\ No newline at end of file