diff --git a/benchmark/browser/scenarios/sx-prop-box-material-ui/index.js b/benchmark/browser/scenarios/sx-prop-box-material-ui/index.js new file mode 100644 index 00000000000000..1988668b132ec3 --- /dev/null +++ b/benchmark/browser/scenarios/sx-prop-box-material-ui/index.js @@ -0,0 +1,26 @@ +import * as React from 'react'; +import Box from '@material-ui/core/Box'; + +export default function BoxSxPropMaterialUI() { + return ( + + {new Array(1000).fill().map(() => ( + theme.palette.secondary.dark, + }, + }} + > + material-ui + + ))} + + ); +} diff --git a/benchmark/browser/scripts/benchmark.js b/benchmark/browser/scripts/benchmark.js index 68e34047982955..da4c40620421f1 100644 --- a/benchmark/browser/scripts/benchmark.js +++ b/benchmark/browser/scripts/benchmark.js @@ -120,6 +120,7 @@ async function run() { await runMeasures(browser, 'Chakra-UI box component', './box-chakra-ui/index.js', 10); await runMeasures(browser, 'Theme-UI box sx prop', './sx-prop-box-theme-ui/index.js', 10); await runMeasures(browser, 'Theme-UI div sx prop', './sx-prop-div-theme-ui/index.js', 10); + await runMeasures(browser, 'Material-UI box sx prop', './sx-prop-box-material-ui/index.js', 10); } finally { await Promise.all([browser.close(), server.close()]); } diff --git a/docs/src/pages/components/box/BoxClone.js b/docs/src/pages/components/box/BoxClone.js new file mode 100644 index 00000000000000..446d8fa4ab11b2 --- /dev/null +++ b/docs/src/pages/components/box/BoxClone.js @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Button from '@material-ui/core/Button'; +import Box from '@material-ui/core/Box'; + +export default function BoxClone() { + return ( + + + + ); +} diff --git a/docs/src/pages/components/box/BoxClone.tsx b/docs/src/pages/components/box/BoxClone.tsx new file mode 100644 index 00000000000000..446d8fa4ab11b2 --- /dev/null +++ b/docs/src/pages/components/box/BoxClone.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Button from '@material-ui/core/Button'; +import Box from '@material-ui/core/Box'; + +export default function BoxClone() { + return ( + + + + ); +} diff --git a/docs/src/pages/components/box/BoxComponent.js b/docs/src/pages/components/box/BoxComponent.js new file mode 100644 index 00000000000000..ce331b43e9e107 --- /dev/null +++ b/docs/src/pages/components/box/BoxComponent.js @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Box from '@material-ui/core/Box'; +import Button from '@material-ui/core/Button'; + +export default function BoxComponent() { + return ( + + + + ); +} diff --git a/docs/src/pages/components/box/BoxComponent.tsx b/docs/src/pages/components/box/BoxComponent.tsx new file mode 100644 index 00000000000000..ce331b43e9e107 --- /dev/null +++ b/docs/src/pages/components/box/BoxComponent.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Box from '@material-ui/core/Box'; +import Button from '@material-ui/core/Button'; + +export default function BoxComponent() { + return ( + + + + ); +} diff --git a/docs/src/pages/components/box/BoxRenderProps.js b/docs/src/pages/components/box/BoxRenderProps.js new file mode 100644 index 00000000000000..071fe19fe50074 --- /dev/null +++ b/docs/src/pages/components/box/BoxRenderProps.js @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Button from '@material-ui/core/Button'; +import Box from '@material-ui/core/Box'; + +export default function BoxClone() { + return ( + + {(props) => } + + ); +} diff --git a/docs/src/pages/components/box/BoxRenderProps.tsx b/docs/src/pages/components/box/BoxRenderProps.tsx new file mode 100644 index 00000000000000..6345cc4b077286 --- /dev/null +++ b/docs/src/pages/components/box/BoxRenderProps.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; +import Button from '@material-ui/core/Button'; +import Box from '@material-ui/core/Box'; + +export default function BoxClone() { + return ( + + {(props: { className: string }) => } + + ); +} diff --git a/docs/src/pages/components/box/BoxSx.js b/docs/src/pages/components/box/BoxSx.js new file mode 100644 index 00000000000000..ebe455fd5bc221 --- /dev/null +++ b/docs/src/pages/components/box/BoxSx.js @@ -0,0 +1,18 @@ +import * as React from 'react'; +import Box from '@material-ui/core/Box'; + +export default function BoxSx() { + return ( + + ); +} diff --git a/docs/src/pages/components/box/BoxSx.tsx b/docs/src/pages/components/box/BoxSx.tsx new file mode 100644 index 00000000000000..ebe455fd5bc221 --- /dev/null +++ b/docs/src/pages/components/box/BoxSx.tsx @@ -0,0 +1,18 @@ +import * as React from 'react'; +import Box from '@material-ui/core/Box'; + +export default function BoxSx() { + return ( + + ); +} diff --git a/docs/src/pages/components/box/box.md b/docs/src/pages/components/box/box.md index 1d39a7347ddbb6..45d3bf682592f3 100644 --- a/docs/src/pages/components/box/box.md +++ b/docs/src/pages/components/box/box.md @@ -22,11 +22,7 @@ The Box component wraps your component. It creates a new DOM element, a `
` by default that can be changed with the `component` prop. Let's say you want to use a `` instead: -```jsx - -