3.1.0 • Published 5 years ago

popman v3.1.0

Weekly downloads
61
License
MIT
Repository
github
Last release
5 years ago

popman

Unopinionated and unstyled popover component for React. View example.

Benefits

  • Unopinionated
  • Unstyled
  • Simple API
  • Automatic positioning
  • Renders popovers on page body, so it works inside containers with overflow: hidden

Installation

npm install popman

Usage

Example

const Popover = require('popman')

<Popover open around={<div>Hello</div>}>
  Hello, i am the popover content
</Popover>

More examples can be found in the examples directory.

props

open (bool)

Show/hide the popover.

className (string)

Custom base class name for your popover. Defaults to Popman. popman adds the following css class to the container of the popover (Popman is replaced by your own className if you specified it):

  • .Popman
  • .Popman--position-${y}-${x} (.Popman--position-top-left | .Popman--position-top-right | .Popman--position-top-center | .Popman--position-bottom-left | .Popman--position-bottom-right | .Popman--position-bottom-center | .Popman--position-center-left | .Popman--position-center-right | .Popman--position-center-center)

children (node)

The content of the popover.

around (node)

The React component against which the popover is positioned.

position ({ y: 'top'|'bottom'|'center', x: 'left'|'right'|'center' })

Manually set the position of the popover.

constrainTo: 'scrollParent'

Make sure the tooltip stays within the bounds of its scroll parent. To constrain x and y, set constrainX (bool) and constrainY (bool) props.

Styling

To give your popovers padding, a white background and a box shadow. Also give some spacing to the anchor element (margin).

.Popover {
  padding: .25rem .5rem;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .2);
  background: white;
}

.Popover--position-bottom-left,
.Popover--position-bottom-right,
.Popover--position-bottom-center {
  margin-top: .25rem;
}

.Popover--position-top-left,
.Popover--position-top-right,
.Popover--position-top-center {
  margin-top: -.25rem;
}
3.1.0

5 years ago

3.0.0

5 years ago

2.1.0

5 years ago

2.0.2

5 years ago

2.0.0

5 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago