cf-react-popover v0.0.3
:toc: macro :toc-title: :toclevels: 99
react-popover
A specification backed popover for react. https://littlebits.github.io/react-popover/build[Live demo].
toc::[]
Installation
npm install --save react-popover
Demo
There is a demo that you can see https://littlebits.github.io/react-popover/build[here]. To run it locally do npm start. If you do not see logs in the console refresh the browser once (https://github.com/littlebits/react-popover/issues/35).
API
export default Popover(props, target)
props :: {...}
body :: Node | Array Node
The popover content. Content is rooted (becomes children of) .Popover-body and thus body can be a single node or an array of nodes.
isOpen :: Boolean
Determines Whether or not the popover is rendered.
preferPlace :: Enum String | Null
Sets a preference of where to position the Popover. Only useful to specify placement in case of multiple available fits. Defaults to null. Valid values are:
above | right | below | left :: Prefer an explicit side.
row | column :: Prefer an orientation.
start | end :: Prefer an order.
null :: No preference, automatic resolution. This is the default.
place :: String | Null
Like preferPlace except that the given place is a requirement. The resolver becomes scoped or disabled. It is scoped if the place is an orientation or order but disabled if it is a side. For example place: "row" scopes the resolver to above or below placement but place: "above" removes any need for the resolver.
onOuterAction :: Function
A callback function executed every time the user does an action (mousedown or touchstart) outside the DOM tree of both Popover and Target. A canonical use-case is to automatically close the Popover on any external user action.
- Plus support for standard props...:
className,style
refreshIntervalMs :: Number | Falsey
The polling speed (AKA time between each poll) in milliseconds for checking if a layout refresh is required. This polling is required because it is the only robust way to track the position of a target in the DOM. Defaults to 200. Set to a falsey value to disable.
target :: React Element
- The React Element that this popover will orient itself around.
targetrendering treeis unaffected.Popoverwill become itsowner.