React wrapper around Tether from Hub Spot.
npm install react-tether --save
bower install react-tether --save
import TetherComponent from 'react-tether'
class SimpleDemo extends React.Component {
constructor(props) {
super(props)
this.state = {
isOpen: false
}
}
render() {
const { isOpen } = this.state
return(
<TetherComponent
attachment="top center"
constraints={[{
to: 'scrollParent',
attachment: 'together'
}]}
>
<button onClick={() => {this.setState({isOpen: !isOpen})}}>
Toggle Tethered Content
</button>
{
isOpen &&
<div>
<h2>Tethered Content</h2>
<p>A paragraph to accompany the title.</p>
</div>
}
</TetherComponent>
)
}
}
The first child is used as the Tether's target
and the second child (which is optional) is used as Tether's element
that will be moved.
The tag that is used to render the Tether element, defaults to div
.
Where in the DOM the Tether element is appended. Passes in any valid selector to document.querySelector
. Defaults to document.body
.
Any valid Tether options.
clone repo
git clone git@github.com:souporserious/react-tether.git
move into folder
cd ~/react-tether
install dependencies
npm install
run dev mode
npm run dev
open your browser and visit: http://localhost:8080/