#React-Poppy
React popover that scales, follows, scrolls, and grows
##Usage
npm install react-poppy
or
clone/download and use appropriate script in /dist
##Demos
##Psuedo JSX
<Poppy content="World" title="Hello" constrainTo="body" toggleOnClick>
    <button style={{margin:20,padding:10,height:50}}>HOVER ME</button>
</Poppy>
###Properties
- 
children=[ReactElement] - the target element that the popover should follow and position around
 - 
constrainTo=[element,ReactElement,querySelector='parent'] - used to calculate the bounding area that the popover should be contained in. If using a string, the querySelector is matched upward from the popover's location in the DOM tree. Parent is a special selector that will use the React element containing the popover.
 - 
show=[boolean=undefined] - forces the popover to show. Show takes precedence over all other types of show/hide interactions.
 - 
showDelay=[number=300] - amount of time that needs to pass before the popover begins to show.
 - 
hideDelay=[number=320] - amount of time that needs to pass before the popover begins to hide.
 - 
track=[boolean=false] - enables an internal timer to track the target element's position and size
 - 
constrainHeight=[boolean=true] - limits the height to the constrainTo's available space
 - 
constrainWidth=[boolean=true] - limits the width to the constrainTo's available space
 - 
arrowSize=[number=15] - changes the size of the arrow
 - 
region=["left"|"right|"top|"bottom"|undefined] - forces popover placement in a particular region
 - 
bindScroll=[boolean=false|querySelector] - binds the popover to the window scroll event if "true" or an element matching the querySelector traversing upwards from the popover target.
 - 
bindWindowResize=[boolean=false] - binds the popover to the window resize event
 - 
arrowStyle=[object={}] - arrowStyle override
 - 
backgroundStyle=[object=undefined] - backgroundStyle override
 - 
wrapperStyle=[object=undefined] - wrapperStyle verride
 - 
titleStyle=[object=undefined] - titleStyle override
 - 
className=[string=''] - className to apply to popover
 - 
title=[string=''|ReactElement] - title to be used.
 - 
showOnMouseEnter=[boolean=true] - popover will show when mouse enters target element
 - 
hideOnMouseLeave=[boolean=true] - popover will hide when mouse leaves target element.
 - 
toggleOnClick=[boolean=false] - popover will toggle show/hide when target element is clicked.
 - 
persistOverContent=[boolean=false] - popover will stay visible while the mouse is over the popover
 - 
onHide=[function] - event called when the popover is hidden
 - 
onShow=[function] - event called when the popover is shown
 
###Methods -- warning you should generally control these behaviors with props to keep behaviors consistent
- 
track() - start tracking target element
 - 
untrack() - stop tracking target element
 - 
show() - show popover
 - 
hide() - hide popover
 - 
refresh() - redraw popover