Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
import * as React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import AppBar from '@mui/material/AppBar';
|
|
import Toolbar from '@mui/material/Toolbar';
|
|
import Typography from '@mui/material/Typography';
|
|
import CssBaseline from '@mui/material/CssBaseline';
|
|
import useScrollTrigger from '@mui/material/useScrollTrigger';
|
|
import Box from '@mui/material/Box';
|
|
import Container from '@mui/material/Container';
|
|
import Slide from '@mui/material/Slide';
|
|
|
|
function HideOnScroll(props) {
|
|
const { children, window } = props;
|
|
// Note that you normally won't need to set the window ref as useScrollTrigger
|
|
// will default to window.
|
|
// This is only being set here because the demo is in an iframe.
|
|
const trigger = useScrollTrigger({
|
|
target: window ? window() : undefined,
|
|
});
|
|
|
|
return (
|
|
<Slide appear={false} direction="down" in={!trigger}>
|
|
{children ?? <div />}
|
|
</Slide>
|
|
);
|
|
}
|
|
|
|
HideOnScroll.propTypes = {
|
|
children: PropTypes.element,
|
|
/**
|
|
* Injected by the documentation to work in an iframe.
|
|
* You won't need it on your project.
|
|
*/
|
|
window: PropTypes.func,
|
|
};
|
|
|
|
export default function HideAppBar(props) {
|
|
return (
|
|
<React.Fragment>
|
|
<CssBaseline />
|
|
<HideOnScroll {...props}>
|
|
<AppBar>
|
|
<Toolbar>
|
|
<Typography variant="h6" component="div">
|
|
Scroll to hide App bar
|
|
</Typography>
|
|
</Toolbar>
|
|
</AppBar>
|
|
</HideOnScroll>
|
|
<Toolbar />
|
|
<Container>
|
|
<Box sx={{ my: 2 }}>
|
|
{[...new Array(12)]
|
|
.map(
|
|
() => `Cras mattis consectetur purus sit amet fermentum.
|
|
Cras justo odio, dapibus ac facilisis in, egestas eget quam.
|
|
Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
|
|
Praesent commodo cursus magna, vel scelerisque nisl consectetur et.`,
|
|
)
|
|
.join('\n')}
|
|
</Box>
|
|
</Container>
|
|
</React.Fragment>
|
|
);
|
|
}
|