redux-devtools/packages/d3tooltip
renovate[bot] 935460457b
chore(deps): update dependency d3 to v7 (#768)
* chore(deps): update dependency d3 to v7

* Update changeset

* Fix app tests

* Fix extension test

* Format

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Nathan Bierema <nbierema@gmail.com>
2023-01-02 17:16:20 -05:00
..
src Upgrade D3 to v6 (#1310) 2023-01-02 14:47:07 -05:00
.eslintignore Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
.eslintrc.js Add ESM builds (#997) 2022-01-10 15:41:53 +00:00
babel.config.esm.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
babel.config.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
CHANGELOG.md Cleanup existing changelogs and add major versions 2022-01-30 17:31:00 -05:00
LICENSE.md Merge d3tooltip package (#423) 2018-12-19 15:16:11 +02:00
package.json chore(deps): update dependency d3 to v7 (#768) 2023-01-02 17:16:20 -05:00
README.md Upgrade D3 to v4 (#1307) 2023-01-02 14:19:13 -05:00
tsconfig.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00

d3tooltip

This tooltip aims for a minimal yet highly configurable API. It has a long way to go, but the essentials are there. It was created by @romseguy and merged from romseguy/d3tooltip.

Installation

npm install d3-state-visualizer

Quick usage

import * as d3 from 'd3';
import { tooltip } from 'd3tooltip';

const DOMNode = document.getElementById('chart');
const root = d3.select(DOMNode);
const vis = root.append('svg');

const options = {
  offset: { left: 30, top: 10 },
  styles: { 'min-width': '50px', 'border-radius': '5px' },
};

vis
  .selectAll('circle')
  .data(someData)
  .enter()
  .append('circle')
  .attr('r', 10)
  .call(
    d3tooltip('tooltipClassName', {
      ...options,
      text: (d) => toStringOrHtml(d),
    })
  )
  .on('mouseover', function () {
    d3.select(this).style('fill', 'skyblue');
  })
  .on('mouseout', function () {
    d3.select(this).style('fill', 'black');
  });

API

Option Type Default Description
root DOM.Element body The tooltip will be added as a child of that element. You can also use a D3 selection.
left Number undefined Sets the tooltip x absolute position instead of the mouse x position, relative to the root element.
top Number undefined Sets the tooltip y absolute position instead of the mouse y position, relative to the root element.
offset Object {left: 0, top: 0} Sets the distance, starting from the cursor position, until the tooltip is rendered. Warning: only applicable if you don't provide a left or top option.
styles Object {} Sets the styles of the tooltip element.
text String or Function '' Sets the text of the tooltip. Can be a constant string or a function that takes the datum and returns a string.