1.2.4 • Published 9 years ago
react-within-viewport v1.2.4
react-within-viewport
Debounced React high order component to flag when it's container is inside the viewport.
Usage
Let's build an example react component:
const Header = ({ style }) => (<h1 style={style}>Header</h1>)And decorate:
import WithinViewport from 'react-within-viewport'
const Decorated = WithinViewport()(Header)Now when you use <Decorated /> it will pass the boolean property inViewport to Header.
The passed prop is transformed by a function. You can use it to, for example, changing the prop name:
const Decorated = WithinViewport(
{ transform: ({ inViewport }) => ({ insideViewport: inViewport }) }
)(Header)The property passed to the Header would change to insideViewport.
The transformation function also receives: containerWidth, containerHeight,
containerTopOffset, containerLeftOffset, windowWidth, windowHeight and ready.
Ready is true when all positioning data are loaded.
You can also change the wrapper div style to meet your needs like:
const Decorated = WithinViewport(
{ containerStyle: { display: 'inline-block' } }
)(Header)Contributing
First of all, thank you for wanting to help!
- Fork it.
- Create a feature branch -
git checkout -b more_magic - Add tests and make your changes
- Check if tests are ok -
npm test - Commit changes -
git commit -am "Added more magic" - Push to Github -
git push origin more_magic - Send a pull request! :heart: :sparkling_heart: :heart: