@timcchang/react-tooltip

0.0.6-1 • Public • Published

React Tooltip

A tiny, customizable and extensible React tooltip component. ⚡️

npm version Formatted with Prettier TypeScript

Background

You want to build a tooltip experience on your site and want to have full control over the look and feel without needing to worry about positioning. You want it to be simple, flexible, and fully extensible to your needs.

A live demo can be found here.

Installation

yarn install @timcchang/react-tooltip

Basic usage

The simplest way to use Tooltip is to wrap it around the component that you want to trigger the tooltip:

import Tooltip from "@timcchang/react-tooltip"

export default function App() {
  const content = "Password needs to match;
  return(
    <Tooltip title={content} content={content}>
      <button>Register</button>
    </Tooltip>
  )
}

Props

The goal of this component is to ensure a minimal set of props. Here is what you should know:

children

React.ReactNode | required

Wrap Tooltip around any DOM element or React component. Because Tooltip uses refs under the hood, make sure that if you are rendering a custom component, ensure that you wrap your component with React.forwardRef.

title

string | required

title an explicit title label for the tooltip.

content

React.ReactNode

Render custom components as the content of your tooltip.

Using content, you can pass custom components that animate like so:

tooltip animating demo

caret

React.ReactNode

Render a custom caret. See /example/src/Demo.tsx for an example of default styles.

placement

"auto" | "top" | "top-end" | "top-start" | "bottom" | "bottom-end" | "bottom-start" | "left" | "right" / Defaults to "auto"

showTrigger

"hover" | "click"

This is what will trigger the tooltip to show.

leaveTrigger

"mouseleave" | "click" | "mouseleave-content"

This is what will hide the tooltip.

showDelay

number

Show the tooltip this amount of time (ms) after showTrigger fires.

hideDelay

number

Hide the tooltip this amount of time (ms) after leaveTrigger fires.

leaveTransitionMs

number

This is the amount of time (ms) you want your component to transition out.

Contributing

Contributions are welcome!

For issues, please feel free to add them here.

Please use yarn to manage dependencies. After running yarn install, run yarn start. Navigate to http://localhost:8080 and start hacking away!

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @timcchang/react-tooltip

Weekly Downloads

0

Version

0.0.6-1

License

MIT

Unpacked Size

211 kB

Total Files

19

Last publish

Collaborators

  • timcchang