redux-devtools/packages/d3tooltip
Nathan Bierema c379a62081
Imprrove ability to tree-shake libraries (#1050)
* Revert "Remove React from page bundle (#1031)"

This reverts commit fdfbc1942e.

* redux-devtools

* d3-state-visualizer

* d3tooltip

* map2tree

* react-base16-styling

* react-dock and react-json-tree

* redux-devtools-app

* redux-devtools-chart-monitor

* redux-devtools-dock-monitor

* redux-devtools-extension

* redux-devtools-inspector-monitor-test-tab

* redux-devtools-inspector-monitor-trace-tab

* redux-devtools-instrument

* redux-devtools-log-monitor and redux-devtools-remote

* redux-devtools-rtk-query-monitor

* redux-devtools-serialize

* redux-devtools-slider-monitor

* redux-devtools-ui

* redux-devtools-utils

* Fix build

* Fix storybook build

Storybook loads the babel.config.json but not .babelrc.json. We actually don't want to load the babel config because it uses @babel/runtime which can't be resolved with Yarn PnP.
2022-01-24 02:11:46 +00:00
..
src Add ESM builds (#997) 2022-01-10 15:41:53 +00: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 chore(*): run prettier 2021-03-06 10:17:55 -05:00
LICENSE.md Merge d3tooltip package (#423) 2018-12-19 15:16:11 +02:00
package.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
README.md Add ESM builds (#997) 2022-01-10 15:41:53 +00:00
rollup.config.js Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00: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 d3 from 'd3';
import { tooltip } from 'd3tooltip';

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

let options = {
  offset: {left: 30, top: 10}
};

vis.selectAll('circle').data(someData).enter()
  .append('circle')
  .attr('r', 10)
  .call(
    d3tooltip(d3, 'tooltipClassName', options)
      .text((d, i) => toStringOrHtml(d))
      .attr({ 'class': 'anotherClassName' })
      .style({ 'min-width': '50px', 'border-radius: 5px' })
  )
  .on({
    mouseover(d, i) {
      d3.select(this).style({
        fill: 'skyblue'
      });
    },
    mouseout(d, i) {
      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