Browse our collection of free React templates to get started building your app with Material UI, including a React dashboard, React landing page, and more.
+
Browse our collection of free React templates to get started building your app with Material UI, including a React dashboard, React marketing page, and more.
## Free templates
-Our curated collection of free Material UI templates includes dashboards, landing pages, sign-in and sign-up pages, a blog, a checkout flow, and more.
+Our curated collection of free Material UI templates includes dashboards, marketing pages, sign-in and sign-up pages, a blog, a checkout flow, and more.
They can be combined with one of the [example projects](/material-ui/getting-started/example-projects/) to form a complete starter.
Sections of each layout are clearly defined either by comments or use of separate files,
diff --git a/docs/pages/material-ui/getting-started/templates/landing-page.js b/docs/pages/material-ui/getting-started/templates/marketing-page.js
similarity index 58%
rename from docs/pages/material-ui/getting-started/templates/landing-page.js
rename to docs/pages/material-ui/getting-started/templates/marketing-page.js
index 7f5fead33fe6c8..177ec35e9d9f88 100644
--- a/docs/pages/material-ui/getting-started/templates/landing-page.js
+++ b/docs/pages/material-ui/getting-started/templates/marketing-page.js
@@ -1,11 +1,11 @@
import * as React from 'react';
import AppTheme from 'docs/src/modules/components/AppTheme';
-import LandingPage from 'docs/data/material/getting-started/templates/landing-page/LandingPage';
+import MarketingPage from 'docs/data/material/getting-started/templates/marketing-page/MarketingPage';
export default function Page() {
return (
-
+
);
}
diff --git a/docs/pages/material-ui/getting-started/templates/pricing.js b/docs/pages/material-ui/getting-started/templates/pricing.js
deleted file mode 100644
index 04190482011b5e..00000000000000
--- a/docs/pages/material-ui/getting-started/templates/pricing.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as React from 'react';
-import AppTheme from 'docs/src/modules/components/AppTheme';
-import Pricing from 'docs/data/material/getting-started/templates/pricing/Pricing';
-
-export default function Page() {
- return (
-
-
-
- );
-}
diff --git a/docs/pages/material-ui/getting-started/templates/sticky-footer.js b/docs/pages/material-ui/getting-started/templates/sticky-footer.js
deleted file mode 100644
index db77803fa207a5..00000000000000
--- a/docs/pages/material-ui/getting-started/templates/sticky-footer.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as React from 'react';
-import AppTheme from 'docs/src/modules/components/AppTheme';
-import StickyFooter from 'docs/data/material/getting-started/templates/sticky-footer/StickyFooter';
-
-export default function Page() {
- return (
-
-
-
- );
-}
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/blog-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-dark.jpg
index b3127b76314cea..2ef4cdd429c3d3 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/blog-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default-dark.jpg
new file mode 100644
index 00000000000000..fc42564b74d55f
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default.jpg
new file mode 100644
index 00000000000000..2f6765027b9c11
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/blog-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/blog.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/blog.jpg
index 8e460574f0092f..8602c69d5463b6 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/blog.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/blog.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-dark.jpg
index 757db10a465c72..2b2380b1f94ace 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default-dark.jpg
index d8445bd102a2bd..2b85f45aeb613d 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default.jpg
index 597b691069894c..0191119f5054c2 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout.jpg
index e32c4c76e23eef..623b252da4fc8b 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/checkout.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/checkout.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-dark.jpg
index 8cc207d452df51..683712b7317051 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default-dark.jpg
index fd243e5f1a98c1..597768414978bf 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default.jpg
index d9fb0a97e2668a..a4512fa3bc13d8 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard.jpg
index 611776393c21d1..a909b761a206f3 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/dashboard.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-dark.jpg
new file mode 100644
index 00000000000000..8c8bad019e3878
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default-dark.jpg
new file mode 100644
index 00000000000000..1572006c64210a
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default.jpg
new file mode 100644
index 00000000000000..4420e2f0a77c4f
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page.jpg
new file mode 100644
index 00000000000000..c7de8e48de8df1
Binary files /dev/null and b/docs/public/static/screenshots/material-ui/getting-started/templates/marketing-page.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-dark.jpg
index c2ceb592c99ca4..a6d2506368b66e 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default-dark.jpg
index 95840967f062aa..b39a9bea96c145 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default.jpg
index 16e9c9f91ef68c..32e52308f4b763 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-dark.jpg
index 242a29717ca13a..46c24502ce84b6 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default-dark.jpg
index 166ccb0a1e9963..8cad4eaceabf39 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default.jpg
index 194e3d89f7df15..0600910613ffda 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side.jpg
index 4055193cdc18f9..f2919a2cb4c747 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in-side.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in.jpg
index a3bb91bae4ef10..1d86d5a5ebd1e9 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-in.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-dark.jpg
index ac792ce8a08ebb..23d1c50d996ae7 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default-dark.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default-dark.jpg
index e00870ecf8969a..157c97b792edb1 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default-dark.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default-dark.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default.jpg
index 52fd7cf327784c..2d309028199121 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up-default.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up.jpg
index dc2394f521ff12..8eed7dc49c676a 100644
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up.jpg and b/docs/public/static/screenshots/material-ui/getting-started/templates/sign-up.jpg differ
diff --git a/docs/public/static/screenshots/material-ui/getting-started/templates/sticky-footer.jpg b/docs/public/static/screenshots/material-ui/getting-started/templates/sticky-footer.jpg
deleted file mode 100644
index 7cc6aa8c5e6a78..00000000000000
Binary files a/docs/public/static/screenshots/material-ui/getting-started/templates/sticky-footer.jpg and /dev/null differ
diff --git a/docs/src/modules/components/MaterialFreeTemplatesCollection.js b/docs/src/modules/components/MaterialFreeTemplatesCollection.js
index a8e09df4015baa..f66c5806e2d415 100644
--- a/docs/src/modules/components/MaterialFreeTemplatesCollection.js
+++ b/docs/src/modules/components/MaterialFreeTemplatesCollection.js
@@ -4,10 +4,12 @@ import Box from '@mui/material/Box';
import Card from '@mui/material/Card';
import CardMedia from '@mui/material/CardMedia';
import Button from '@mui/material/Button';
-import Grid from '@mui/material/Grid';
+import Grid from '@mui/material/Grid2';
+import Link from '@mui/material/Link';
import Typography from '@mui/material/Typography';
import Visibility from '@mui/icons-material/Visibility';
import CodeRoundedIcon from '@mui/icons-material/CodeRounded';
+import OpenInNewRoundedIcon from '@mui/icons-material/OpenInNewRounded';
import { useTranslate } from '@mui/docs/i18n';
const sourcePrefix = `${process.env.SOURCE_CODE_REPO}/tree/v${process.env.LIB_VERSION}`;
@@ -22,10 +24,10 @@ function layouts(translatation) {
hasDarkMode: true,
},
{
- title: translatation('landingPageTitle'),
- description: translatation('landingPageDescr'),
- href: '/material-ui/getting-started/templates/landing-page/',
- source: `${sourcePrefix}/docs/data/material/getting-started/templates/landing-page`,
+ title: translatation('marketingPageTitle'),
+ description: translatation('marketingPageDescr'),
+ href: '/material-ui/getting-started/templates/marketing-page/',
+ source: `${sourcePrefix}/docs/data/material/getting-started/templates/marketing-page`,
hasDarkMode: true,
},
{
@@ -61,12 +63,7 @@ function layouts(translatation) {
description: translatation('blogDescr'),
href: '/material-ui/getting-started/templates/blog/',
source: `${sourcePrefix}/docs/data/material/getting-started/templates/blog`,
- },
- {
- title: translatation('stickyFooterTitle'),
- description: translatation('stickyFooterDescr'),
- href: '/material-ui/getting-started/templates/sticky-footer/',
- source: `${sourcePrefix}/docs/data/material/getting-started/templates/sticky-footer`,
+ hasDarkMode: true,
},
];
}
@@ -77,7 +74,7 @@ export default function Templates() {
return (
{layouts(translatation).map((layout) => (
-
+
- ({
- aspectRatio: '16 / 9',
- objectPosition: 'top',
- borderBottom: '1px solid',
- borderColor: 'divider',
- ...theme.applyStyles('dark', {
- content: 'var(--src)',
- }),
- })}
- style={{
- '--src': layout.hasDarkMode
- ? `url(/static/screenshots${layout.href.replace(/\/$/, '')}-dark.jpg)`
- : `url(/static/screenshots${layout.href.replace(/\/$/, '')}.jpg)`,
+ .MuiCardMedia-root': {
+ filter: 'blur(4px)',
+ },
+ '&:hover > .MuiButtonBase-root': {
+ opacity: 1,
+ },
}}
- />
-
-
+ >
+ ({
+ aspectRatio: '16 / 9',
+ objectPosition: 'top',
+ transition: 'filter 0.3s',
+ ...theme.applyStyles('dark', {
+ content: 'var(--src)',
+ }),
+ })}
+ style={{
+ '--src': layout.hasDarkMode
+ ? `url(/static/screenshots${layout.href.replace(/\/$/, '')}-dark.jpg)`
+ : `url(/static/screenshots${layout.href.replace(/\/$/, '')}.jpg)`,
+ }}
+ />
+ }
+ component={Link}
+ href={layout.href}
+ data-ga-event-category="material-ui-template"
+ data-ga-event-label={layout.title}
+ data-ga-event-action="preview-img"
+ sx={{
+ position: 'absolute',
+ top: '50%',
+ left: '50%',
+ transform: 'translate(-50%, -50%)',
+ opacity: 0,
+ transition: 'opacity 0.5s ease',
+ backgroundColor: 'background.paper',
+ '&:hover': {
+ backgroundColor: 'background.default',
+ },
+ }}
+ >
+ See live preview
+
+
+
+
{layout.title}
-
+
{layout.description}
Themed components—Extend variants."
}
},
- "landingPageDescr": "A responsive landing page layout with common sections found in marketing pages.",
- "landingPageTitle": "Landing page",
+ "marketingPageDescr": "A responsive marketing page layout with common sections found in marketing pages.",
+ "marketingPageTitle": "Marketing page",
"searchButton": "Search…",
"algoliaSearch": "What are you looking for?",
"appFrame": {
diff --git a/test/regressions/index.js b/test/regressions/index.js
index 932c9dda6b3635..c919e6c39513be 100644
--- a/test/regressions/index.js
+++ b/test/regressions/index.js
@@ -82,7 +82,7 @@ const blacklist = [
'docs-getting-started-templates-sign-in-side/getSignInSideTheme.png', // Theme file
'docs-getting-started-templates-sign-up/getSignUpTheme.png', // Theme file
'docs-getting-started-templates-checkout/getCheckoutTheme.png', // Theme file
- 'docs-getting-started-templates-landing-page/getLPTheme.png', // Theme file
+ 'docs-getting-started-templates-marketing-page/getMPTheme.png', // Theme file
'docs-joy-getting-started-templates/TemplateCollection.png', // No public components
'docs-joy-core-features-automatic-adjustment/ListThemes.png', // No public components
'docs-joy-tools/PaletteThemeViewer.png', // No need for theme tokens
@@ -193,7 +193,7 @@ const blacklist = [
'docs-discover-more-languages', // No public components
'docs-discover-more-showcase', // No public components
'docs-discover-more-team', // No public components
- 'docs-getting-started-templates-landing-page/LandingPage.png', // Flaky image loading
+ 'docs-getting-started-templates-marketing-page/MarketingPage.png', // Flaky image loading
'docs-getting-started-templates-blog', // Flaky random images
'docs-getting-started-templates-checkout/AddressForm.png', // Already tested in docs-getting-started-templates-checkout/Checkout
'docs-getting-started-templates-checkout/PaymentForm.png', // Already tested in docs-getting-started-templates-checkout/Checkout