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

https://github.com/ecmadao/rc-tipso

A light, pure js tooltip component for react
https://github.com/ecmadao/rc-tipso

react react-components react-toolbox tooltip

Last synced: 6 months ago
JSON representation

A light, pure js tooltip component for react

Awesome Lists containing this project

README

          

# React Tipso

[![npm version](https://badge.fury.io/js/rc-tipso.svg)](https://badge.fury.io/js/rc-tipso) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com) [![rc-tipso](http://img.shields.io/npm/dm/rc-tipso.svg)](https://www.npmjs.com/package/rc-tipso) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/ecmadao/rc-tipso/master/LICENSE)

[![NPM](https://nodei.co/npm/rc-tipso.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/rc-tipso)

A tooltip component for react.

## Screenshot

![rc-tipso](./screenshots/screenshot.png)

## Live demo

Click here: [https://ecmadao.github.io/rc-tipso](https://ecmadao.github.io/rc-tipso)

## Install

```bash
$ npm i rc-tipso --save
```

### Build config

- Webpack 3.x config example

```javascript
// webpack config file

// loaders
const postcssLoader = {
loader: 'postcss-loader',
options: {
config: {
path: path.join(__dirname, 'postcss.config.js')
}
}
};
const cssModulesLoader = ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
modules: true,
sourceMaps: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
postcssLoader
],
});

const webpackConfig = {
module: {
rules: [
{
test: /\.css$/,
include: /rc-tipso/,
loaders: cssModulesLoader
}
]
}
};
```

- Webpack 1.x config example

```javascript
// webpack config file

// css loaders
const cssLoaders = [
'style-loader',
'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
'postcss-loader'
];

const webpackConfig = {
module: {
loaders: [
{
test: /\.css$/,
include: /rc-tipso/,
loaders: cssLoaders
}
]
},
postcss: () => {
return [
require('postcss-cssnext')
]
}
};
```

## Usage

```javascript
import Tipso from 'rc-tipso';

// ...

render() {
return (
This is an example
)}>

hover to show


)
}
```

## Example

Click [here](./examples/TipsoWrapper.jsx) to see tipso usage examples.

## Api

| name | type | default | description |
| ------------ | --------------------- | ------- | ---------------------------------------- |
| tipsoContent | react element or node | `null` | The DOM content you wanna show in tooltip. |
| theme | string | `light` | Tooltip theme, support `light` or `dark` |
| trigger | string | `hover` | The way to active tooltip, you can use `hover`, `click`, `focus` and so on. |
| wrapperStyle | object | `{}` | A style object that change the UI of tooltip container. |
| wrapperClass | string | `''` | Custom className to change the UI of tooltip container. |
| className | string | `''` | Custom className to change the UI of tooltip |
| tipsoStyle | object | `{}` | A style object that change the UI of tooltip. |
| position | string | `top` | Tooltip position. support `top`, `bottom` |
| show | bool | `false` | Use outside prosp to deside whether show tooltip or not. |

## Dev

```bash
$ git clone git@github.com:ecmadao/rc-tipso.git
$ cd rc-tipso
$ npm i
$ npm run storybook
```

## License

Released under MIT License