npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-next-tooltip

v1.0.8

Published

Lightweight tooltip for React and Next.js

Readme

Simple React Tooltip

react-next-tooltip

A lightweight tooltip component for React and Next.js (12+) with automatic portal creation and zero CSS imports.

Features

  • ✅ Works with React and Next.js 12+
  • ✅ No CSS file import required
  • ✅ Tooltip is rendered through a portal
  • ✅ Automatic arrow positioning
  • ✅ Configurable offset and arrow size
  • ✅ User has full control over tooltip appearance

Requirements

  • React
  • Next.js 12 or newer (also works in regular React applications)

Note: This package is primarily designed for React and Next.js applications. It is not intended to be a universal tooltip solution for every framework.


Limitations

This library intentionally keeps the implementation simple.

  • Tooltips can be positioned only above or below the target element (top / bottom).
  • Left and right placement are not supported.

Styling

The library intentionally provides no default visual styling for the tooltip itself.

This means:

  • background
  • border
  • padding
  • typography
  • shadows
  • border radius

are completely controlled by your own component.

This makes the tooltip easy to integrate into any design system without overriding built-in styles.

Arrow

The advantage is that you don't need to create or position the arrow yourself—the library handles its rendering and positioning automatically.


No CSS imports

Unlike many tooltip libraries, you don't need to import any stylesheet.

Simply install the package and use the component. Required internal styles are injected automatically.


Example tooltip content

A tooltip can contain any React component.

const TooltipContent = ({ data }) => (
  <div
    style={{
      background: '#f1f3fa',
      padding: '10px 14px',
      borderRadius: 8,
      boxShadow: '0 6px 20px rgba(0,0,0,.15)',
      color: '#333',
      maxWidth: 260,
    }}
  >
    <strong>{data.title}</strong>
    <div>{data.description}</div>
  </div>
);

Usage

import { Tooltip } from 'react-next-tooltip';

<Tooltip
  params={{
    offset: 8,
    arrowSize: 10,
    delay: '0.2s'
  }}
  content={<TooltipContent data={data} />}
>
  <div className={styles.tag}>
    {some_data}
  </div>
</Tooltip>

Props

| Prop | Type | Description | |------|------|-------------| | children | ReactElement | Element that triggers the tooltip | | content | ReactNode | Tooltip content | | params.offset | number | Distance between target and tooltip | | params.arrowSize | number | Arrow size in pixels (0 disables arrow) | | params.location | 'top' \| 'bottom' | Tooltip position | | params.delay | string | Tooltip appearance delay (CSS transition value) |


Advantages

  • No stylesheet imports
  • Minimal API
  • Fully customizable appearance
  • Automatic portal creation
  • Automatic tooltip positioning
  • Automatic arrow positioning
  • Lightweight implementation

Future improvements

Potential future enhancements include:

  • Left / right positioning
  • Better collision detection near viewport edges