An open API service indexing awesome lists of open source software.

https://github.com/springload/react-portal-popover

A popover library for React, using Portals for better positioning.
https://github.com/springload/react-portal-popover

popover react react-portal

Last synced: 5 months ago
JSON representation

A popover library for React, using Portals for better positioning.

Awesome Lists containing this project

README

        

# react-portal-popover
[![npm](https://img.shields.io/npm/v/react-portal-popover.svg)](https://www.npmjs.com/package/react-portal-popover) [![Build Status](https://travis-ci.org/springload/react-portal-popover.svg?branch=master)](https://travis-ci.org/springload/react-portal-popover) [![Dependency Status](https://david-dm.org/springload/react-portal-popover.svg)](https://david-dm.org/springload/react-portal-popover) [![devDependency Status](https://david-dm.org/springload/react-portal-popover/dev-status.svg)](https://david-dm.org/springload/react-portal-popover#info=devDependencies) [![Code Climate](https://codeclimate.com/github/springload/react-portal-popover/badges/gpa.svg)](https://codeclimate.com/github/springload/react-portal-popover)

A popover library for React, using [react-portal](https://github.com/tajo/react-portal) for better positioning.

## Installation

```
npm install react-portal-popover
```

## Usage

There's two steps: import the `OverlayTrigger` that decorates your toggle element,
then pass in an `overlay={}` prop with your `ToolTip` that you'd like to display.

```js
import React from 'react';
import ToolTip, { OverlayTrigger } from 'react-portal-popover';

const MyComponent = () => {
const options = {
size: 7,
color: '#999',
foregroundColor: '#fff',
className: 'my-special-tooltip',
useForeground: true,
};

const toolTip = (

My tooltip content



);

return (



Toggle


);
};
```

### Configuration options

There are some options you can pass to the `ToolTip` component to customise how
it is displayed. This allows you to define multiple styles of tooltip in the same
application, and saves writing lots of the CSS boilerplate required for drawing arrows.

```js
const options = {
classBase: 'tooltip', // eg .${classBase}--bottom,
className: '', // extra classnames to add to the tooltip element
size: 7, // the size of the arrow
offset: 2, // how many pixels to offset the arrow by
color: '#999', // border colour of your tooltip
foregroundColor: '#fff', // foreground colour of your tooltip
useForeground: true, // render two arrows, a border and a background.
borderWidth: 1, // pixel width of your border
};

```

### OverlayTrigger options

`closeOnScroll` determines whether the tooltip closes when you scroll the window.

```

```

## Developing

```sh
nvm install
npm install
```

## Running tests

```js
npm test
npm run test:watch
npm run lint
```