Skip to content

Commit

Permalink
Revert "[Hidden] Remove component (mui#26135)"
Browse files Browse the repository at this point in the history
This reverts commit 2b50b0f.
  • Loading branch information
siriwatknp committed Jun 23, 2021
1 parent 02d6348 commit 117a081
Show file tree
Hide file tree
Showing 48 changed files with 2,276 additions and 71 deletions.
19 changes: 19 additions & 0 deletions docs/pages/api-docs/hidden.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import * as React from 'react';
import ApiPage from 'docs/src/modules/components/ApiPage';
import mapApiPageTranslations from 'docs/src/modules/utils/mapApiPageTranslations';
import jsonPageContent from './hidden.json';

export default function Page(props) {
const { descriptions, pageContent } = props;
return <ApiPage descriptions={descriptions} pageContent={pageContent} />;
}

Page.getInitialProps = () => {
const req = require.context('docs/translations/api-docs/hidden', false, /hidden.*.json$/);
const descriptions = mapApiPageTranslations(req);

return {
descriptions,
pageContent: jsonPageContent,
};
};
39 changes: 39 additions & 0 deletions docs/pages/api-docs/hidden.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"props": {
"children": { "type": { "name": "node" } },
"implementation": {
"type": { "name": "enum", "description": "'css'<br>&#124;&nbsp;'js'" },
"default": "'js'"
},
"initialWidth": {
"type": {
"name": "enum",
"description": "'xs'<br>&#124;&nbsp;'sm'<br>&#124;&nbsp;'md'<br>&#124;&nbsp;'lg'<br>&#124;&nbsp;'xl'"
}
},
"lgDown": { "type": { "name": "bool" } },
"lgUp": { "type": { "name": "bool" } },
"mdDown": { "type": { "name": "bool" } },
"mdUp": { "type": { "name": "bool" } },
"only": {
"type": {
"name": "union",
"description": "'xs'<br>&#124;&nbsp;'sm'<br>&#124;&nbsp;'md'<br>&#124;&nbsp;'lg'<br>&#124;&nbsp;'xl'<br>&#124;&nbsp;Array&lt;'xs'<br>&#124;&nbsp;'sm'<br>&#124;&nbsp;'md'<br>&#124;&nbsp;'lg'<br>&#124;&nbsp;'xl'&gt;"
}
},
"smDown": { "type": { "name": "bool" } },
"smUp": { "type": { "name": "bool" } },
"xlDown": { "type": { "name": "bool" } },
"xlUp": { "type": { "name": "bool" } },
"xsDown": { "type": { "name": "bool" } },
"xsUp": { "type": { "name": "bool" } }
},
"name": "Hidden",
"styles": { "classes": [], "globalClasses": {}, "name": null },
"spread": true,
"filename": "/packages/material-ui/src/Hidden/Hidden.js",
"inheritance": null,
"demos": "<ul><li><a href=\"/components/hidden/\">Hidden</a></li></ul>",
"styledComponent": true,
"cssComponent": false
}
20 changes: 20 additions & 0 deletions docs/pages/components/hidden.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import * as React from 'react';
import MarkdownDocs from 'docs/src/modules/components/MarkdownDocs';
import { prepareMarkdown } from 'docs/src/modules/utils/parseMarkdown';

const pageFilename = 'components/hidden';
const requireDemo = require.context('docs/src/pages/components/hidden', false, /\.(js|tsx)$/);
const requireRaw = require.context(
'!raw-loader!../../src/pages/components/hidden',
false,
/\.(js|md|tsx)$/,
);

export default function Page({ demos, docs }) {
return <MarkdownDocs demos={demos} docs={docs} requireDemo={requireDemo} />;
}

Page.getInitialProps = () => {
const { demos, docs } = prepareMarkdown({ pageFilename, requireRaw });
return { demos, docs };
};
80 changes: 40 additions & 40 deletions docs/src/modules/branding/ComparisonTable.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import React from 'react';
import { styled, alpha, useTheme } from '@material-ui/core/styles';
import useMediaQuery from '@material-ui/core/useMediaQuery';
import { styled, alpha } from '@material-ui/core/styles';
import Table from '@material-ui/core/Table';
import Box from '@material-ui/core/Box';
import TableBody from '@material-ui/core/TableBody';
Expand All @@ -11,6 +10,7 @@ import Button from '@material-ui/core/Button';
import Link from 'docs/src/modules/components/Link';
import Typography from '@material-ui/core/Typography';
import NavigateNextIcon from '@material-ui/icons/NavigateNext';
import Hidden from '@material-ui/core/Hidden';
import Grid from '@material-ui/core/Grid';
import CheckIcon from 'docs/src/modules/branding/icons/Check';
import CloseIcon from 'docs/src/modules/branding/icons/Close';
Expand Down Expand Up @@ -301,39 +301,42 @@ const rows = [
variant="body3"
sx={{ color: 'grey87' }}
/>,
<Button
component={Link}
noLinkStyle
href="/getting-started/usage/"
size="medium"
variant="contained"
endIcon={<NavigateNextIcon />}
sx={{ display: { md: 'inline-flex', xs: 'none' } }}
>
Get started
</Button>,
<Button
component={Link}
noLinkStyle
href="/components/data-grid/"
size="medium"
variant="contained"
endIcon={<NavigateNextIcon />}
sx={{ display: { md: 'inline-flex', xs: 'none' } }}
>
Learn more
</Button>,
<Button
component={Link}
noLinkStyle
disabled
href="/getting-started/usage/"
variant="contained"
endIcon={<NavigateNextIcon />}
sx={{ display: { md: 'inline-flex', xs: 'none' } }}
>
Learn more
</Button>,
<Hidden mdDown>
<Button
component={Link}
noLinkStyle
href="/getting-started/usage/"
size="medium"
variant="contained"
endIcon={<NavigateNextIcon />}
>
Get started
</Button>
</Hidden>,
<Hidden mdDown>
<Button
component={Link}
noLinkStyle
href="/components/data-grid/"
size="medium"
variant="contained"
endIcon={<NavigateNextIcon />}
>
Learn more
</Button>
</Hidden>,
<Hidden mdDown>
<Button
component={Link}
noLinkStyle
disabled
href="/getting-started/usage/"
variant="contained"
endIcon={<NavigateNextIcon />}
>
Learn more
</Button>
</Hidden>,
),
];

Expand All @@ -352,12 +355,9 @@ const tableHeader = [
];

export default function ComparisonTable() {
const theme = useTheme();
const isSmUp = useMediaQuery(theme.breakpoints.up('sm'));

return (
<Box sx={{ mx: 'auto', maxWidth: 1440 }}>
{isSmUp ? null : (
<Hidden smUp implementation="js">
<Grid container sx={{ textAlign: 'center', pt: 5, pb: 3 }}>
{tableHeader.map((header) => (
<Grid item xs={4} key={header.heading}>
Expand All @@ -368,7 +368,7 @@ export default function ComparisonTable() {
</Grid>
))}
</Grid>
)}
</Hidden>
<StyledTable aria-label="comparison table">
<TableHead>
<TableRow>
Expand Down
60 changes: 60 additions & 0 deletions docs/src/pages/components/hidden/BreakpointDown.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import * as React from 'react';
import PropTypes from 'prop-types';
import { makeStyles } from '@material-ui/core/styles';
import Paper from '@material-ui/core/Paper';
import Hidden from '@material-ui/core/Hidden';
import withWidth from '@material-ui/core/withWidth';
import Typography from '@material-ui/core/Typography';

const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
},
container: {
display: 'flex',
flexWrap: 'wrap',
},
paper: {
padding: theme.spacing(2),
textAlign: 'center',
color: theme.palette.text.secondary,
flex: '1 0 auto',
margin: theme.spacing(1),
},
}));

function BreakpointDown(props) {
const classes = useStyles();
const { width } = props;

return (
<div className={classes.root}>
<Typography variant="subtitle1" component="div">
Current width: {width}
</Typography>
<div className={classes.container}>
<Hidden xsDown>
<Paper className={classes.paper}>xsDown</Paper>
</Hidden>
<Hidden smDown>
<Paper className={classes.paper}>smDown</Paper>
</Hidden>
<Hidden mdDown>
<Paper className={classes.paper}>mdDown</Paper>
</Hidden>
<Hidden lgDown>
<Paper className={classes.paper}>lgDown</Paper>
</Hidden>
<Hidden xlDown>
<Paper className={classes.paper}>xlDown</Paper>
</Hidden>
</div>
</div>
);
}

BreakpointDown.propTypes = {
width: PropTypes.oneOf(['lg', 'md', 'sm', 'xl', 'xs']).isRequired,
};

export default withWidth()(BreakpointDown);
55 changes: 55 additions & 0 deletions docs/src/pages/components/hidden/BreakpointDown.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import * as React from 'react';
import { makeStyles, Theme } from '@material-ui/core/styles';
import Paper from '@material-ui/core/Paper';
import Hidden from '@material-ui/core/Hidden';
import withWidth, { WithWidth } from '@material-ui/core/withWidth';
import Typography from '@material-ui/core/Typography';

const useStyles = makeStyles((theme: Theme) => ({
root: {
flexGrow: 1,
},
container: {
display: 'flex',
flexWrap: 'wrap',
},
paper: {
padding: theme.spacing(2),
textAlign: 'center',
color: theme.palette.text.secondary,
flex: '1 0 auto',
margin: theme.spacing(1),
},
}));

function BreakpointDown(props: WithWidth) {
const classes = useStyles();
const { width } = props;

return (
<div className={classes.root}>
<Typography variant="subtitle1" component="div">
Current width: {width}
</Typography>
<div className={classes.container}>
<Hidden xsDown>
<Paper className={classes.paper}>xsDown</Paper>
</Hidden>
<Hidden smDown>
<Paper className={classes.paper}>smDown</Paper>
</Hidden>
<Hidden mdDown>
<Paper className={classes.paper}>mdDown</Paper>
</Hidden>
<Hidden lgDown>
<Paper className={classes.paper}>lgDown</Paper>
</Hidden>
<Hidden xlDown>
<Paper className={classes.paper}>xlDown</Paper>
</Hidden>
</div>
</div>
);
}

export default withWidth()(BreakpointDown);
54 changes: 54 additions & 0 deletions docs/src/pages/components/hidden/BreakpointOnly.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import * as React from 'react';
import PropTypes from 'prop-types';
import { makeStyles } from '@material-ui/core/styles';
import Paper from '@material-ui/core/Paper';
import Hidden from '@material-ui/core/Hidden';
import withWidth from '@material-ui/core/withWidth';
import Typography from '@material-ui/core/Typography';

const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
},
container: {
display: 'flex',
flexWrap: 'wrap',
},
paper: {
padding: theme.spacing(2),
textAlign: 'center',
color: theme.palette.text.secondary,
flex: '1 0 auto',
margin: theme.spacing(1),
},
}));

function BreakpointOnly(props) {
const classes = useStyles();
const { width } = props;

return (
<div className={classes.root}>
<Typography variant="subtitle1" component="div">
Current width: {width}
</Typography>
<div className={classes.container}>
<Hidden only="lg">
<Paper className={classes.paper}>Hidden on lg</Paper>
</Hidden>
<Hidden only="sm">
<Paper className={classes.paper}>Hidden on sm</Paper>
</Hidden>
<Hidden only={['sm', 'lg']}>
<Paper className={classes.paper}>Hidden on sm and lg</Paper>
</Hidden>
</div>
</div>
);
}

BreakpointOnly.propTypes = {
width: PropTypes.oneOf(['lg', 'md', 'sm', 'xl', 'xs']).isRequired,
};

export default withWidth()(BreakpointOnly);
Loading

0 comments on commit 117a081

Please sign in to comment.