UNPKG

rc-tipso

Version:

A tooltip component for react

153 lines (122 loc) 3.75 kB
# 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 ( <Tipso theme="dark" position="bottom" trigger="hover" tipsoContent={( <div style={{ width: '95px', textAlign: 'center' }}>This is an example</div> )}> <div>hover to show</div> </Tipso> ) } ``` ## 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