Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
* file that was distributed with this source code.
*/
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { themePropType } from '@nivo/core'
import { TableTooltip } from '@nivo/tooltip'
export default class ParallelCoordinatesLineTooltip extends PureComponent {
static propTypes = {
data: PropTypes.object.isRequired,
variables: PropTypes.arrayOf(
PropTypes.shape({
key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
})
).isRequired,
theme: themePropType.isRequired,
}
render() {
const { data, variables, theme } = this.props
return (
[
variable.key,
<strong>{data[variable.key]}</strong>, // eslint-disable-line react/jsx-key
])}
/>
)
}
}data: PropTypes.object.isRequired,
value: PropTypes.number.isRequired,
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired,
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired,
color: PropTypes.string.isRequired,
opacity: PropTypes.number.isRequired,
borderWidth: PropTypes.number.isRequired,
borderColor: PropTypes.string.isRequired,
enableLabel: PropTypes.bool.isRequired,
textColor: PropTypes.string.isRequired,
onHover: PropTypes.func.isRequired,
onLeave: PropTypes.func.isRequired,
onClick: PropTypes.func.isRequired,
theme: themePropType.isRequired,
}
export default pure(HeatMapCellCircle)}
BubbleNode.propTypes = {
node: PropTypes.object.isRequired,
style: PropTypes.shape({
r: PropTypes.number.isRequired,
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired,
color: PropTypes.string.isRequired,
fill: PropTypes.string,
borderWidth: PropTypes.number.isRequired,
borderColor: PropTypes.string.isRequired,
labelTextColor: PropTypes.string.isRequired,
}).isRequired,
handlers: PropTypes.object.isRequired,
theme: themePropType.isRequired,
}
export default BubbleNoderangeBorderColor: PropTypes.any.isRequired,
onRangeClick: PropTypes.func,
measureColors: PropTypes.any.isRequired,
measureSize: PropTypes.number.isRequired,
measureBorderWidth: PropTypes.number.isRequired,
measureBorderColor: PropTypes.any.isRequired,
onMeasureClick: PropTypes.func,
markerColors: PropTypes.any.isRequired,
markerSize: PropTypes.number.isRequired,
onMarkerClick: PropTypes.func,
axisPosition: PropTypes.oneOf(['before', 'after']).isRequired,
theme: themePropType.isRequired,
overrides: PropTypes.arrayOf(
PropTypes.shape({
id: PropTypes.string.isRequired,
reverse: PropTypes.bool,
rangeColors: PropTypes.any,
rangeBorderWidth: PropTypes.number,
rangeBorderColor: PropTypes.any,
measureColors: PropTypes.any,
measureBorderWidth: PropTypes.number,
measureBorderColor: PropTypes.any,
axis: PropTypes.shape({
position: PropTypes.oneOf(['before', 'after']),
min: PropTypes.number,
max: PropTypes.number,
}),import compose from 'recompose/compose'
import withPropsOnChange from 'recompose/withPropsOnChange'
import pure from 'recompose/pure'
import setDisplayName from 'recompose/setDisplayName'
import { themePropType } from '@nivo/core'
import { LegendPropShape, BoxLegendSvg } from '@nivo/legends'
import { arcPropType } from './props'
class PieLegends extends Component {
static propTypes = {
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired,
arcs: PropTypes.arrayOf(arcPropType).isRequired,
data: PropTypes.arrayOf(PropTypes.object).isRequired,
legends: PropTypes.arrayOf(PropTypes.shape(LegendPropShape)).isRequired,
theme: themePropType.isRequired,
}
render() {
const { width, height, legends, data, theme } = this.props
return legends.map((legend, i) => (
))
}TreeMapNode.propTypes = {
node: PropTypes.object.isRequired,
style: PropTypes.shape({
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired,
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired,
color: PropTypes.string.isRequired,
fill: PropTypes.string,
borderWidth: PropTypes.number.isRequired,
borderColor: PropTypes.string.isRequired,
labelTextColor: PropTypes.string.isRequired,
orientLabel: PropTypes.bool.isRequired,
}).isRequired,
handlers: PropTypes.object.isRequired,
theme: themePropType.isRequired,
}
export default TreeMapNoderangeColorScale: PropTypes.func.isRequired,
onRangeClick: PropTypes.func.isRequired,
measureHeight: PropTypes.number.isRequired,
measureComponent: PropTypes.func.isRequired,
measureColors: PropTypes.any.isRequired,
measureColorScale: PropTypes.func.isRequired,
onMeasureClick: PropTypes.func.isRequired,
markerHeight: PropTypes.number.isRequired,
markerComponent: PropTypes.func.isRequired,
markerColors: PropTypes.any.isRequired,
markerColorScale: PropTypes.func.isRequired,
onMarkerClick: PropTypes.func.isRequired,
theme: themePropType.isRequired,
showTooltip: PropTypes.func.isRequired,
hideTooltip: PropTypes.func.isRequired,
}
handleRangeTooltip = (showTooltip, range, event) => {
const { theme } = this.props
showTooltip(
<strong>{range.v0}</strong> to <strong>{range.v1}</strong>
}
enableChip={true}
color={range.color}
theme={theme}tickValues: PropTypes.oneOfType([
PropTypes.number,
PropTypes.arrayOf(PropTypes.number),
]),
}),
])
).isRequired,
layout: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,
curve: lineCurvePropType.isRequired,
lineGenerator: PropTypes.func.isRequired,
strokeWidth: PropTypes.number.isRequired,
lineOpacity: PropTypes.number.isRequired,
axesPlan: PropTypes.oneOf(['foreground', 'background']).isRequired,
axesTicksPosition: PropTypes.oneOf(['before', 'after']).isRequired,
colors: ordinalColorsPropType.isRequired,
theme: themePropType.isRequired,
}
export const commonDefaultProps = {
layout: 'horizontal',
curve: 'linear',
colors: { scheme: 'yellow_orange_red' },
strokeWidth: 2,
lineOpacity: 0.35,
axesPlan: 'foreground',
axesTicksPosition: 'after',
}data: PropTypes.object.isRequired,
value: PropTypes.number.isRequired,
x: PropTypes.number.isRequired,
y: PropTypes.number.isRequired,
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired,
color: PropTypes.string.isRequired,
opacity: PropTypes.number.isRequired,
borderWidth: PropTypes.number.isRequired,
borderColor: PropTypes.string.isRequired,
enableLabel: PropTypes.bool.isRequired,
textColor: PropTypes.string.isRequired,
onHover: PropTypes.func.isRequired,
onLeave: PropTypes.func.isRequired,
onClick: PropTypes.func.isRequired,
theme: themePropType.isRequired,
}
export default pure(HeatMapCellRect)