Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.
/ react-popover Public archive
forked from jasonkuhrt/react-popover

A specification backed popover for ReactJS

Notifications You must be signed in to change notification settings

mycsHQ/react-popover

 
 

Repository files navigation

react-popover

Installation

npm install --save react-popover

Demos

To run demos locally execute npm start. If you do not see logs in the console refresh the browser once (jasonkuhrt#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 :: (Event) → Void

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.


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.


enterExitTransitionDurationMs :: Number | Falsey

The amount of time in milliseconds that it takes to complete the enter and exit animation. Defaults to '500'.


tipSize :: Number

Defines the size of the tip pointer. Use .01 to disable tip. Defaults to '7'.


Standard
  • Properties like className and style.


target :: React Element

  • The React Element that this popover will orient itself around. target rendering tree is unaffected. Popover will become its owner.


appendTarget :: DOM selector (String)

  • The DOM selector where this popover will be appended to. Default to 'body'.

About

A specification backed popover for ReactJS

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%