mirror of
				https://github.com/reduxjs/redux-devtools.git
				synced 2025-11-04 01:47:25 +03:00 
			
		
		
		
	* chore(deps): update dependency prettier to v3 * Format --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Bierema <nbierema@gmail.com>
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 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](https://github.com/romseguy) and merged from [`romseguy/d3tooltip`](https://github.com/romseguy/d3tooltip).
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
`npm install d3-state-visualizer`
 | 
						|
 | 
						|
## Quick usage
 | 
						|
 | 
						|
```javascript
 | 
						|
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](https://github.com/mbostock/d3/wiki/Selections#d3_select).               |
 | 
						|
| `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`.                                              |
 |