Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ryami333/react-accessible-tooltip

React Component for rapidly developing Tooltip components, without worrying about accessibility.
https://github.com/ryami333/react-accessible-tooltip

Last synced: 3 months ago
JSON representation

React Component for rapidly developing Tooltip components, without worrying about accessibility.

Awesome Lists containing this project

README

        

# React Accessible Tooltip · ![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg) ![NPM release](https://img.shields.io/npm/v/react-accessible-tooltip.svg) ![Code coverage](https://img.shields.io/coveralls/github/ryami333/react-accessible-tooltip.svg)

Try out the **interactive demo**
[here](https://ryami333.github.io/react-accessible-tooltip/).

React Accessible Tooltip is a component which lets you build accessible
tooltips. It handles all the interactivity and accessibility stuff, but keeps
out of the way so you can use whatever markup and styling you want.

Basic usage requires you to pass 'label' and 'overlay' render functions. React
Accessible Tooltip passes you both the state of the tooltip (`isHidden`) and an
object full of properties you should spread across your components
(`labelAttributes`, `overlayAttributes`).

## Getting started

### Installation

Install this package and it's co-dependencies:

```bash
npm install react-accessible-tooltip react react-dom
```

### Basic Usage

```js
import { Tooltip } from "react-accessible-tooltip";
```

```jsx
(

{`hover me for info`}

)}
overlay={(props) => (

{`this is more info`}

)}
/>
```

### Props

#### label : `function({ isHidden, labelAttributes, requestHide, requestShow, requestToggle }) => React.Node`

The `label` prop should be passed a render function. The function will be called
with these arguments:

| Property | Type | Description |
| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| isHidden | boolean | The current state of the tooltip. |
| labelAttributes | object | The various attributes which ought to be assigned to the outer-most element in your render function (eg. ``). |
| requestHide | function | Callable which manually sets the state of the tooltip to 'hidden'. |
| requestShow | function | Callable which manually sets the state of the tooltip to 'shown'. |
| requestToggle | function | Callable which manually toggles the state of the tooltip between 'shown' or 'hidden'. |

#### overlay : `function({ isHidden, overlayAttributes, requestHide, requestShow, requestToggle }) => React.Node`

The `overlay` prop should be passed a render function. The function will be
called with these arguments:

| Property | Type | Description |
| ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| isHidden | boolean | The current state of the tooltip. |
| overlayAttributes | object | The various attributes which ought to be assigned to the outer-most element in your render function (eg. ``). |
| requestHide | function | Callable which manually sets the state of the tooltip to 'hidden'. |
| requestShow | function | Callable which manually sets the state of the tooltip to 'shown'. |
| requestToggle | function | Callable which manually toggles the state of the tooltip between 'shown' or 'hidden'. |

## License

[MIT](LICENSE).