diff --git a/docs/data/material/components/buttons/ContainedButtons.js b/docs/data/material/components/buttons/ContainedButtons.js
deleted file mode 100644
index f6ee5f5ed1d4fc..00000000000000
--- a/docs/data/material/components/buttons/ContainedButtons.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function ContainedButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/ContainedButtons.tsx b/docs/data/material/components/buttons/ContainedButtons.tsx
deleted file mode 100644
index f6ee5f5ed1d4fc..00000000000000
--- a/docs/data/material/components/buttons/ContainedButtons.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function ContainedButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/ContainedButtons.tsx.preview b/docs/data/material/components/buttons/ContainedButtons.tsx.preview
deleted file mode 100644
index f8903cf5ff7471..00000000000000
--- a/docs/data/material/components/buttons/ContainedButtons.tsx.preview
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/CustomizedButtons.js b/docs/data/material/components/buttons/CustomizedButtons.js
deleted file mode 100644
index cf5616057f3e4e..00000000000000
--- a/docs/data/material/components/buttons/CustomizedButtons.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import * as React from 'react';
-import { styled } from '@mui/material/styles';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-import { purple } from '@mui/material/colors';
-
-const BootstrapButton = styled(Button)({
- boxShadow: 'none',
- textTransform: 'none',
- fontSize: 16,
- padding: '6px 12px',
- border: '1px solid',
- lineHeight: 1.5,
- backgroundColor: '#0063cc',
- borderColor: '#0063cc',
- fontFamily: [
- '-apple-system',
- 'BlinkMacSystemFont',
- '"Segoe UI"',
- 'Roboto',
- '"Helvetica Neue"',
- 'Arial',
- 'sans-serif',
- '"Apple Color Emoji"',
- '"Segoe UI Emoji"',
- '"Segoe UI Symbol"',
- ].join(','),
- '&:hover': {
- backgroundColor: '#0069d9',
- borderColor: '#0062cc',
- boxShadow: 'none',
- },
- '&:active': {
- boxShadow: 'none',
- backgroundColor: '#0062cc',
- borderColor: '#005cbf',
- },
- '&:focus': {
- boxShadow: '0 0 0 0.2rem rgba(0,123,255,.5)',
- },
-});
-
-const ColorButton = styled(Button)(({ theme }) => ({
- color: theme.palette.getContrastText(purple[500]),
- backgroundColor: purple[500],
- '&:hover': {
- backgroundColor: purple[700],
- },
-}));
-
-export default function CustomizedButtons() {
- return (
-
- Custom CSS
-
- Bootstrap
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/CustomizedButtons.tsx b/docs/data/material/components/buttons/CustomizedButtons.tsx
deleted file mode 100644
index 1be36f3f0ab3bb..00000000000000
--- a/docs/data/material/components/buttons/CustomizedButtons.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import * as React from 'react';
-import { styled } from '@mui/material/styles';
-import Button, { ButtonProps } from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-import { purple } from '@mui/material/colors';
-
-const BootstrapButton = styled(Button)({
- boxShadow: 'none',
- textTransform: 'none',
- fontSize: 16,
- padding: '6px 12px',
- border: '1px solid',
- lineHeight: 1.5,
- backgroundColor: '#0063cc',
- borderColor: '#0063cc',
- fontFamily: [
- '-apple-system',
- 'BlinkMacSystemFont',
- '"Segoe UI"',
- 'Roboto',
- '"Helvetica Neue"',
- 'Arial',
- 'sans-serif',
- '"Apple Color Emoji"',
- '"Segoe UI Emoji"',
- '"Segoe UI Symbol"',
- ].join(','),
- '&:hover': {
- backgroundColor: '#0069d9',
- borderColor: '#0062cc',
- boxShadow: 'none',
- },
- '&:active': {
- boxShadow: 'none',
- backgroundColor: '#0062cc',
- borderColor: '#005cbf',
- },
- '&:focus': {
- boxShadow: '0 0 0 0.2rem rgba(0,123,255,.5)',
- },
-});
-
-const ColorButton = styled(Button)(({ theme }) => ({
- color: theme.palette.getContrastText(purple[500]),
- backgroundColor: purple[500],
- '&:hover': {
- backgroundColor: purple[700],
- },
-}));
-
-export default function CustomizedButtons() {
- return (
-
- Custom CSS
-
- Bootstrap
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/CustomizedButtons.tsx.preview b/docs/data/material/components/buttons/CustomizedButtons.tsx.preview
deleted file mode 100644
index 5cf7e960f8c4eb..00000000000000
--- a/docs/data/material/components/buttons/CustomizedButtons.tsx.preview
+++ /dev/null
@@ -1,4 +0,0 @@
-Custom CSS
-
- Bootstrap
-
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/DisableElevation.js b/docs/data/material/components/buttons/DisableElevation.js
index ba2f63127dab8d..d583f4b87da8d6 100644
--- a/docs/data/material/components/buttons/DisableElevation.js
+++ b/docs/data/material/components/buttons/DisableElevation.js
@@ -1,10 +1,14 @@
import * as React from 'react';
+import Stack from '@mui/material/Stack';
import Button from '@mui/material/Button';
export default function DisableElevation() {
return (
-
+
+
+
+
);
}
diff --git a/docs/data/material/components/buttons/DisableElevation.tsx b/docs/data/material/components/buttons/DisableElevation.tsx
index ba2f63127dab8d..d583f4b87da8d6 100644
--- a/docs/data/material/components/buttons/DisableElevation.tsx
+++ b/docs/data/material/components/buttons/DisableElevation.tsx
@@ -1,10 +1,14 @@
import * as React from 'react';
+import Stack from '@mui/material/Stack';
import Button from '@mui/material/Button';
export default function DisableElevation() {
return (
-
+
+
+
+
);
}
diff --git a/docs/data/material/components/buttons/DisableElevation.tsx.preview b/docs/data/material/components/buttons/DisableElevation.tsx.preview
index 4f12bf06dc4b44..5c905a7864f2d6 100644
--- a/docs/data/material/components/buttons/DisableElevation.tsx.preview
+++ b/docs/data/material/components/buttons/DisableElevation.tsx.preview
@@ -1,3 +1,4 @@
+
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/DisabledButton.js b/docs/data/material/components/buttons/DisabledButton.js
new file mode 100644
index 00000000000000..6fe82a580e4502
--- /dev/null
+++ b/docs/data/material/components/buttons/DisabledButton.js
@@ -0,0 +1,14 @@
+import * as React from 'react';
+import Stack from '@mui/material/Stack';
+import Button from '@mui/material/Button';
+
+export default function DisabledButton() {
+ return (
+
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/DisabledButton.tsx b/docs/data/material/components/buttons/DisabledButton.tsx
new file mode 100644
index 00000000000000..6fe82a580e4502
--- /dev/null
+++ b/docs/data/material/components/buttons/DisabledButton.tsx
@@ -0,0 +1,14 @@
+import * as React from 'react';
+import Stack from '@mui/material/Stack';
+import Button from '@mui/material/Button';
+
+export default function DisabledButton() {
+ return (
+
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/DisabledButton.tsx.preview b/docs/data/material/components/buttons/DisabledButton.tsx.preview
new file mode 100644
index 00000000000000..de72d167ccbbc3
--- /dev/null
+++ b/docs/data/material/components/buttons/DisabledButton.tsx.preview
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/FullWidthButton.js b/docs/data/material/components/buttons/FullWidthButton.js
new file mode 100644
index 00000000000000..1f084c93fb5a97
--- /dev/null
+++ b/docs/data/material/components/buttons/FullWidthButton.js
@@ -0,0 +1,20 @@
+import * as React from 'react';
+import Box from '@mui/material/Box';
+import Button from '@mui/material/Button';
+
+export default function FullWidthButton() {
+ return (
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/FullWidthButton.tsx b/docs/data/material/components/buttons/FullWidthButton.tsx
new file mode 100644
index 00000000000000..1f084c93fb5a97
--- /dev/null
+++ b/docs/data/material/components/buttons/FullWidthButton.tsx
@@ -0,0 +1,20 @@
+import * as React from 'react';
+import Box from '@mui/material/Box';
+import Button from '@mui/material/Button';
+
+export default function FullWidthButton() {
+ return (
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/FullWidthButton.tsx.preview b/docs/data/material/components/buttons/FullWidthButton.tsx.preview
new file mode 100644
index 00000000000000..84ffd56ae97157
--- /dev/null
+++ b/docs/data/material/components/buttons/FullWidthButton.tsx.preview
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/IntroButtons.js b/docs/data/material/components/buttons/IntroButtons.js
new file mode 100644
index 00000000000000..82116201e56d99
--- /dev/null
+++ b/docs/data/material/components/buttons/IntroButtons.js
@@ -0,0 +1,32 @@
+import * as React from 'react';
+import Button from '@mui/material/Button';
+import DeleteIcon from '@mui/icons-material/Delete';
+import CheckIcon from '@mui/icons-material/Check';
+import Stack from '@mui/material/Stack';
+
+export default function IntroButtons() {
+ return (
+
+
+ }
+ color="error"
+ onClick={() => {
+ alert('Canceled.');
+ }}
+ >
+ Cancel
+
+ }
+ onClick={() => {
+ alert('Confirmed.');
+ }}
+ >
+ Confirm
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/IntroButtons.tsx b/docs/data/material/components/buttons/IntroButtons.tsx
new file mode 100644
index 00000000000000..82116201e56d99
--- /dev/null
+++ b/docs/data/material/components/buttons/IntroButtons.tsx
@@ -0,0 +1,32 @@
+import * as React from 'react';
+import Button from '@mui/material/Button';
+import DeleteIcon from '@mui/icons-material/Delete';
+import CheckIcon from '@mui/icons-material/Check';
+import Stack from '@mui/material/Stack';
+
+export default function IntroButtons() {
+ return (
+
+
+ }
+ color="error"
+ onClick={() => {
+ alert('Canceled.');
+ }}
+ >
+ Cancel
+
+ }
+ onClick={() => {
+ alert('Confirmed.');
+ }}
+ >
+ Confirm
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/OutlinedButtons.js b/docs/data/material/components/buttons/OutlinedButtons.js
deleted file mode 100644
index 4c322ddf9b543d..00000000000000
--- a/docs/data/material/components/buttons/OutlinedButtons.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function OutlinedButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/OutlinedButtons.tsx b/docs/data/material/components/buttons/OutlinedButtons.tsx
deleted file mode 100644
index 4c322ddf9b543d..00000000000000
--- a/docs/data/material/components/buttons/OutlinedButtons.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function OutlinedButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/OutlinedButtons.tsx.preview b/docs/data/material/components/buttons/OutlinedButtons.tsx.preview
deleted file mode 100644
index fa5532b2840b06..00000000000000
--- a/docs/data/material/components/buttons/OutlinedButtons.tsx.preview
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/RippleButtons.js b/docs/data/material/components/buttons/RippleButtons.js
new file mode 100644
index 00000000000000..cf76532f322c28
--- /dev/null
+++ b/docs/data/material/components/buttons/RippleButtons.js
@@ -0,0 +1,17 @@
+import * as React from 'react';
+import Stack from '@mui/material/Stack';
+import Button from '@mui/material/Button';
+
+export default function RippleButtons() {
+ return (
+
+
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/RippleButtons.tsx b/docs/data/material/components/buttons/RippleButtons.tsx
new file mode 100644
index 00000000000000..cf76532f322c28
--- /dev/null
+++ b/docs/data/material/components/buttons/RippleButtons.tsx
@@ -0,0 +1,17 @@
+import * as React from 'react';
+import Stack from '@mui/material/Stack';
+import Button from '@mui/material/Button';
+
+export default function RippleButtons() {
+ return (
+
+
+
+
+
+ );
+}
diff --git a/docs/data/material/components/buttons/RippleButtons.tsx.preview b/docs/data/material/components/buttons/RippleButtons.tsx.preview
new file mode 100644
index 00000000000000..8b3af2aec91abc
--- /dev/null
+++ b/docs/data/material/components/buttons/RippleButtons.tsx.preview
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/TextButtons.js b/docs/data/material/components/buttons/TextButtons.js
deleted file mode 100644
index a1b001cdd59c01..00000000000000
--- a/docs/data/material/components/buttons/TextButtons.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function TextButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/TextButtons.tsx b/docs/data/material/components/buttons/TextButtons.tsx
deleted file mode 100644
index a1b001cdd59c01..00000000000000
--- a/docs/data/material/components/buttons/TextButtons.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as React from 'react';
-import Button from '@mui/material/Button';
-import Stack from '@mui/material/Stack';
-
-export default function TextButtons() {
- return (
-
-
-
-
-
- );
-}
diff --git a/docs/data/material/components/buttons/TextButtons.tsx.preview b/docs/data/material/components/buttons/TextButtons.tsx.preview
deleted file mode 100644
index b21873401ea164..00000000000000
--- a/docs/data/material/components/buttons/TextButtons.tsx.preview
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/docs/data/material/components/buttons/buttons.md b/docs/data/material/components/buttons/buttons.md
index 35089bd278cab9..e6e472cae1a6e5 100644
--- a/docs/data/material/components/buttons/buttons.md
+++ b/docs/data/material/components/buttons/buttons.md
@@ -10,141 +10,147 @@ unstyled: /base-ui/react-button/
# Button
-
Buttons allow users to take actions, and make choices, with a single tap.
-
-Buttons communicate actions that users can take. They are typically placed throughout your UI, in places like:
-
-- Modal windows
-- Forms
-- Cards
-- Toolbars
+
Buttons enable users to take actions and make choices.
{{"component": "modules/components/ComponentLinkHeader.js"}}
-## Basic button
+## Introduction
-The `Button` comes with three variants: text (default), contained, and outlined.
-
-{{"demo": "BasicButtons.js"}}
+Buttons communicate actions that users can take.
+The Material UI Button component replaces the native HTML `