victory-errorbar
Advanced tools
Comparing version 36.9.2 to 37.0.0
# victory-errorbar | ||
## 37.0.0 | ||
### Major Changes | ||
- Upgrade babel dependencies and build target to modern browsers ([#2804](https://github.com/FormidableLabs/victory/pull/2804)) | ||
## 36.9.2 | ||
@@ -4,0 +10,0 @@ |
@@ -1,14 +0,8 @@ | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
/* eslint-disable max-statements */ | ||
import React from "react"; | ||
import { Helpers, Line, UserProps } from "victory-core"; | ||
var renderBorder = function (props, error, type) { | ||
var vertical = type === "right" || type === "left"; | ||
return /*#__PURE__*/React.cloneElement(props.lineComponent, _objectSpread(_objectSpread({}, props.events), {}, { | ||
const renderBorder = (props, error, type) => { | ||
const vertical = type === "right" || type === "left"; | ||
return /*#__PURE__*/React.cloneElement(props.lineComponent, { | ||
...props.events, | ||
role: props.role, | ||
@@ -19,3 +13,3 @@ shapeRendering: props.shapeRendering, | ||
transform: props.transform, | ||
key: "".concat(props.id, "-border-").concat(type), | ||
key: `${props.id}-border-${type}`, | ||
x1: vertical ? error[type] : props.x - props.borderWidth, | ||
@@ -25,9 +19,9 @@ x2: vertical ? error[type] : props.x + props.borderWidth, | ||
y2: vertical ? props.y + props.borderWidth : error[type], | ||
"data-type": "border-".concat(type) | ||
})); | ||
"data-type": `border-${type}` | ||
}); | ||
}; | ||
var renderCross = function (props, error, type) { | ||
var vertical = type === "top" || type === "bottom"; | ||
return /*#__PURE__*/React.cloneElement(props.lineComponent, _objectSpread(_objectSpread({}, props.events), {}, { | ||
const renderCross = (props, error, type) => { | ||
const vertical = type === "top" || type === "bottom"; | ||
return /*#__PURE__*/React.cloneElement(props.lineComponent, { | ||
...props.events, | ||
role: props.role, | ||
@@ -38,3 +32,3 @@ shapeRendering: props.shapeRendering, | ||
transform: props.transform, | ||
key: "".concat(props.id, "-cross-").concat(type), | ||
key: `${props.id}-cross-${type}`, | ||
x1: props.x, | ||
@@ -44,10 +38,11 @@ x2: vertical ? props.x : error[type], | ||
y2: vertical ? error[type] : props.y, | ||
"data-type": "cross-".concat(type) | ||
})); | ||
"data-type": `cross-${type}` | ||
}); | ||
}; | ||
var calculateError = function (props) { | ||
var errorX = props.errorX, | ||
errorY = props.errorY; | ||
var settings = { | ||
const calculateError = props => { | ||
const { | ||
errorX, | ||
errorY | ||
} = props; | ||
const settings = { | ||
right: { | ||
@@ -70,11 +65,10 @@ error: errorX, | ||
}; | ||
var getError = function (direction) { | ||
var _settings$direction = settings[direction], | ||
error = _settings$direction.error, | ||
errorIndex = _settings$direction.errorIndex; | ||
const getError = direction => { | ||
const { | ||
error, | ||
errorIndex | ||
} = settings[direction]; | ||
return error ? error[errorIndex] : undefined; | ||
}; | ||
var result = ["right", "left", "top", "bottom"].reduce(function (memo, dir) { | ||
const result = ["right", "left", "top", "bottom"].reduce((memo, dir) => { | ||
memo[dir] = getError(dir); | ||
@@ -85,4 +79,3 @@ return memo; | ||
}; | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -95,17 +88,21 @@ * Potential evaluated props are: | ||
*/ | ||
var ariaLabel = Helpers.evaluateProp(props.ariaLabel, props); | ||
var id = Helpers.evaluateProp(props.id, props); | ||
var style = Helpers.evaluateStyle(Object.assign({ | ||
const ariaLabel = Helpers.evaluateProp(props.ariaLabel, props); | ||
const id = Helpers.evaluateProp(props.id, props); | ||
const style = Helpers.evaluateStyle(Object.assign({ | ||
stroke: "black" | ||
}, props.style), props); | ||
var tabIndex = Helpers.evaluateProp(props.tabIndex, props); | ||
const tabIndex = Helpers.evaluateProp(props.tabIndex, props); | ||
return Object.assign({}, props, { | ||
ariaLabel: ariaLabel, | ||
id: id, | ||
style: style, | ||
tabIndex: tabIndex | ||
ariaLabel, | ||
id, | ||
style, | ||
tabIndex | ||
}); | ||
}; | ||
var defaultProps = { | ||
// ErrorProps for calculateError | ||
// eslint-disable-next-line @typescript-eslint/no-empty-interface | ||
const defaultProps = { | ||
groupComponent: /*#__PURE__*/React.createElement("g", null), | ||
@@ -116,14 +113,22 @@ lineComponent: /*#__PURE__*/React.createElement(Line, null), | ||
}; | ||
export var ErrorBar = function (initialProps) { | ||
var props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), initialProps)); | ||
var groupComponent = props.groupComponent; | ||
var userProps = UserProps.getSafeUserProps(props); | ||
var tabIndex = props.tabIndex, | ||
ariaLabel = props.ariaLabel; | ||
var error = calculateError(props); | ||
var children = [error.right ? renderBorder(props, error, "right") : null, error.left ? renderBorder(props, error, "left") : null, error.bottom ? renderBorder(props, error, "bottom") : null, error.top ? renderBorder(props, error, "top") : null, error.right ? renderCross(props, error, "right") : null, error.left ? renderCross(props, error, "left") : null, error.bottom ? renderCross(props, error, "bottom") : null, error.top ? renderCross(props, error, "top") : null].filter(Boolean); | ||
return /*#__PURE__*/React.cloneElement(groupComponent, _objectSpread({ | ||
tabIndex: tabIndex, | ||
"aria-label": ariaLabel | ||
}, userProps), children); | ||
export const ErrorBar = initialProps => { | ||
const props = evaluateProps({ | ||
...defaultProps, | ||
...initialProps | ||
}); | ||
const { | ||
groupComponent | ||
} = props; | ||
const userProps = UserProps.getSafeUserProps(props); | ||
const { | ||
tabIndex, | ||
ariaLabel | ||
} = props; | ||
const error = calculateError(props); | ||
const children = [error.right ? renderBorder(props, error, "right") : null, error.left ? renderBorder(props, error, "left") : null, error.bottom ? renderBorder(props, error, "bottom") : null, error.top ? renderBorder(props, error, "top") : null, error.right ? renderCross(props, error, "right") : null, error.left ? renderCross(props, error, "left") : null, error.bottom ? renderCross(props, error, "bottom") : null, error.top ? renderCross(props, error, "top") : null].filter(Boolean); | ||
return /*#__PURE__*/React.cloneElement(groupComponent, { | ||
tabIndex, | ||
"aria-label": ariaLabel, | ||
...userProps | ||
}, children); | ||
}; |
import _assign from "lodash/assign"; | ||
import _defaults from "lodash/defaults"; | ||
import { Helpers, LabelHelpers, Scale, Domain, Data, Collection } from "victory-core"; | ||
var getErrors = function (props, datum, axis) { | ||
const getErrors = (props, datum, axis) => { | ||
/** | ||
@@ -12,123 +11,117 @@ * check if it is asymmetric error or symmetric error, asymmetric error should be an array | ||
*/ | ||
var errorNames = { | ||
const errorNames = { | ||
x: "_errorX", | ||
y: "_errorY" | ||
}; | ||
var errors = datum[errorNames[axis]]; | ||
const errors = datum[errorNames[axis]]; | ||
if (errors === 0) { | ||
return false; | ||
} | ||
var scale = props.scale[axis]; | ||
return Array.isArray(errors) ? [errors[0] === 0 ? false : scale(errors[0] + datum["_".concat(axis)]), errors[1] === 0 ? false : scale(datum["_".concat(axis)] - errors[1])] : [scale(errors + datum["_".concat(axis)]), scale(datum["_".concat(axis)] - errors)]; | ||
const scale = props.scale[axis]; | ||
return Array.isArray(errors) ? [errors[0] === 0 ? false : scale(errors[0] + datum[`_${axis}`]), errors[1] === 0 ? false : scale(datum[`_${axis}`] - errors[1])] : [scale(errors + datum[`_${axis}`]), scale(datum[`_${axis}`] - errors)]; | ||
}; | ||
export var getData = function (props) { | ||
var accessorTypes = ["x", "y", "errorX", "errorY"]; | ||
export const getData = props => { | ||
const accessorTypes = ["x", "y", "errorX", "errorY"]; | ||
if (props.data) { | ||
return Data.formatData(props.data, props, accessorTypes); | ||
} | ||
var generatedData = props.errorX || props.errorY ? Data.generateData(props) : []; | ||
const generatedData = props.errorX || props.errorY ? Data.generateData(props) : []; | ||
return Data.formatData(generatedData, props, accessorTypes); | ||
}; | ||
var getDomainFromData = function (props, axis) { | ||
var minDomain = Domain.getMinFromProps(props, axis); | ||
var maxDomain = Domain.getMaxFromProps(props, axis); | ||
var dataset = getData(props); | ||
const getDomainFromData = (props, axis) => { | ||
const minDomain = Domain.getMinFromProps(props, axis); | ||
const maxDomain = Domain.getMaxFromProps(props, axis); | ||
const dataset = getData(props); | ||
if (dataset.length < 1) { | ||
return minDomain !== undefined && maxDomain !== undefined ? Domain.getDomainFromMinMax(minDomain, maxDomain) : undefined; | ||
} | ||
var error = axis === "x" ? "_errorX" : "_errorY"; | ||
var reduceErrorData = function (type) { | ||
var baseCondition = type === "min" ? Infinity : -Infinity; | ||
var errorIndex = type === "min" ? 1 : 0; | ||
var sign = type === "min" ? -1 : 1; | ||
return dataset.reduce(function (memo, datum) { | ||
var currentError = Array.isArray(datum[error]) ? datum[error][errorIndex] : datum[error]; | ||
var current = datum["_".concat(axis)] + sign * (currentError || 0); | ||
const error = axis === "x" ? "_errorX" : "_errorY"; | ||
const reduceErrorData = type => { | ||
const baseCondition = type === "min" ? Infinity : -Infinity; | ||
const errorIndex = type === "min" ? 1 : 0; | ||
const sign = type === "min" ? -1 : 1; | ||
return dataset.reduce((memo, datum) => { | ||
const currentError = Array.isArray(datum[error]) ? datum[error][errorIndex] : datum[error]; | ||
const current = datum[`_${axis}`] + sign * (currentError || 0); | ||
return memo < current && type === "min" || memo > current && type === "max" ? memo : current; | ||
}, baseCondition); | ||
}; | ||
var min = minDomain !== undefined ? minDomain : reduceErrorData("min"); | ||
var max = maxDomain !== undefined ? maxDomain : reduceErrorData("max"); | ||
const min = minDomain !== undefined ? minDomain : reduceErrorData("min"); | ||
const max = maxDomain !== undefined ? maxDomain : reduceErrorData("max"); | ||
return Domain.getDomainFromMinMax(min, max); | ||
}; | ||
export var getDomain = function (props, axis) { | ||
export const getDomain = (props, axis) => { | ||
return Domain.createDomainFunction(getDomainFromData)(props, axis); | ||
}; // This method will edit or remove errorbar data points that fall outside of the desired domain | ||
}; | ||
var formatDataFromDomain = function (datum, domain) { | ||
var minDomainX = Collection.getMinValue(domain.x); | ||
var maxDomainX = Collection.getMaxValue(domain.x); | ||
var minDomainY = Collection.getMinValue(domain.y); | ||
var maxDomainY = Collection.getMaxValue(domain.y); | ||
var _x = datum._x, | ||
_y = datum._y; // if either x or y center point is outside of the domain, null the entire data point | ||
// This method will edit or remove errorbar data points that fall outside of the desired domain | ||
const formatDataFromDomain = (datum, domain) => { | ||
const minDomainX = Collection.getMinValue(domain.x); | ||
const maxDomainX = Collection.getMaxValue(domain.x); | ||
const minDomainY = Collection.getMinValue(domain.y); | ||
const maxDomainY = Collection.getMaxValue(domain.y); | ||
let { | ||
_x, | ||
_y | ||
} = datum; | ||
// if either x or y center point is outside of the domain, null the entire data point | ||
if (_x < minDomainX || _x > maxDomainX || _y < minDomainY || _y > maxDomainY) _x = _y = null; | ||
return Object.assign({}, datum, { | ||
_x: _x, | ||
_y: _y | ||
_x, | ||
_y | ||
}); | ||
}; | ||
var getCalculatedValues = function (props) { | ||
var defaultStyles = Helpers.getDefaultStyles(props, "errorbar"); | ||
var style = Helpers.getStyles(props.style, defaultStyles) || {}; | ||
var data = getData(props); | ||
var range = { | ||
const getCalculatedValues = props => { | ||
const defaultStyles = Helpers.getDefaultStyles(props, "errorbar"); | ||
const style = Helpers.getStyles(props.style, defaultStyles) || {}; | ||
const data = getData(props); | ||
const range = { | ||
x: Helpers.getRange(props, "x"), | ||
y: Helpers.getRange(props, "y") | ||
}; | ||
var domain = { | ||
const domain = { | ||
x: getDomain(props, "x"), | ||
y: getDomain(props, "y") | ||
}; | ||
var scale = { | ||
const scale = { | ||
x: Scale.getBaseScale(props, "x").domain(domain.x).range(props.horizontal ? range.y : range.x), | ||
y: Scale.getBaseScale(props, "y").domain(domain.y).range(props.horizontal ? range.x : range.y) | ||
}; | ||
var origin = props.polar ? props.origin || Helpers.getPolarOrigin(props) : undefined; | ||
const origin = props.polar ? props.origin || Helpers.getPolarOrigin(props) : undefined; | ||
return { | ||
domain: domain, | ||
data: data, | ||
scale: scale, | ||
style: style, | ||
origin: origin | ||
domain, | ||
data, | ||
scale, | ||
style, | ||
origin | ||
}; | ||
}; | ||
var getLabelProps = function (dataProps, text, style) { | ||
var x = dataProps.x, | ||
y = dataProps.y, | ||
index = dataProps.index, | ||
scale = dataProps.scale, | ||
errorY = dataProps.errorY, | ||
errorX = dataProps.errorX, | ||
horizontal = dataProps.horizontal, | ||
labelComponent = dataProps.labelComponent, | ||
theme = dataProps.theme, | ||
disableInlineStyles = dataProps.disableInlineStyles; | ||
var getError = function () { | ||
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "x"; | ||
var baseError = type === "y" ? errorY : errorX; | ||
var error = baseError && Array.isArray(baseError) ? baseError[0] : baseError; | ||
const getLabelProps = (dataProps, text, style) => { | ||
const { | ||
x, | ||
y, | ||
index, | ||
scale, | ||
errorY, | ||
errorX, | ||
horizontal, | ||
labelComponent, | ||
theme, | ||
disableInlineStyles | ||
} = dataProps; | ||
const getError = function (type) { | ||
if (type === void 0) { | ||
type = "x"; | ||
} | ||
const baseError = type === "y" ? errorY : errorX; | ||
const error = baseError && Array.isArray(baseError) ? baseError[0] : baseError; | ||
return error || dataProps[type]; | ||
}; | ||
var labelStyle = style.labels || {}; | ||
var padding = labelStyle.padding || 0; | ||
var textAnchor = horizontal ? "start" : "middle"; | ||
var verticalAnchor = horizontal ? "middle" : "end"; | ||
var labelProps = { | ||
const labelStyle = style.labels || {}; | ||
const padding = labelStyle.padding || 0; | ||
const textAnchor = horizontal ? "start" : "middle"; | ||
const verticalAnchor = horizontal ? "middle" : "end"; | ||
const labelProps = { | ||
style: labelStyle, | ||
@@ -139,5 +132,5 @@ y: horizontal ? y : getError("y"), | ||
dx: horizontal ? padding : 0, | ||
text: text, | ||
index: index, | ||
scale: scale, | ||
text, | ||
index, | ||
scale, | ||
datum: dataProps.datum, | ||
@@ -148,79 +141,77 @@ data: dataProps.data, | ||
angle: labelStyle.angle, | ||
horizontal: horizontal, | ||
disableInlineStyles: disableInlineStyles | ||
horizontal, | ||
disableInlineStyles | ||
}; | ||
if (!Helpers.isTooltip(labelComponent)) { | ||
return labelProps; | ||
} | ||
var tooltipTheme = theme && theme.tooltip || {}; | ||
const tooltipTheme = theme && theme.tooltip || {}; | ||
return _defaults({}, labelProps, Helpers.omit(tooltipTheme, ["style"])); | ||
}; | ||
export var getBaseProps = function (initialProps, fallbackProps) { | ||
var modifiedProps = Helpers.modifyProps(initialProps, fallbackProps, "errorbar"); | ||
var props = Object.assign({}, modifiedProps, getCalculatedValues(modifiedProps)); | ||
var borderWidth = props.borderWidth, | ||
data = props.data, | ||
domain = props.domain, | ||
events = props.events, | ||
groupComponent = props.groupComponent, | ||
height = props.height, | ||
horizontal = props.horizontal, | ||
labels = props.labels, | ||
name = props.name, | ||
origin = props.origin, | ||
padding = props.padding, | ||
polar = props.polar, | ||
scale = props.scale, | ||
sharedEvents = props.sharedEvents, | ||
standalone = props.standalone, | ||
style = props.style, | ||
theme = props.theme, | ||
width = props.width, | ||
disableInlineStyles = props.disableInlineStyles; | ||
var initialChildProps = { | ||
export const getBaseProps = (initialProps, fallbackProps) => { | ||
const modifiedProps = Helpers.modifyProps(initialProps, fallbackProps, "errorbar"); | ||
const props = Object.assign({}, modifiedProps, getCalculatedValues(modifiedProps)); | ||
const { | ||
borderWidth, | ||
data, | ||
domain, | ||
events, | ||
groupComponent, | ||
height, | ||
horizontal, | ||
labels, | ||
name, | ||
origin, | ||
padding, | ||
polar, | ||
scale, | ||
sharedEvents, | ||
standalone, | ||
style, | ||
theme, | ||
width, | ||
disableInlineStyles | ||
} = props; | ||
const initialChildProps = { | ||
parent: { | ||
data: data, | ||
domain: domain, | ||
height: height, | ||
horizontal: horizontal, | ||
name: name, | ||
origin: origin, | ||
padding: padding, | ||
polar: polar, | ||
scale: scale, | ||
standalone: standalone, | ||
data, | ||
domain, | ||
height, | ||
horizontal, | ||
name, | ||
origin, | ||
padding, | ||
polar, | ||
scale, | ||
standalone, | ||
style: style.parent, | ||
theme: theme, | ||
width: width | ||
theme, | ||
width | ||
} | ||
}; | ||
return data.reduce(function (childProps, datum, index) { | ||
var eventKey = !Helpers.isNil(datum.eventKey) ? datum.eventKey : index; | ||
var _Helpers$scalePoint = Helpers.scalePoint(_assign({}, props, { | ||
scale: scale | ||
}), datum), | ||
x = _Helpers$scalePoint.x, | ||
y = _Helpers$scalePoint.y; | ||
var formattedDatum = formatDataFromDomain(datum, domain); | ||
var errorX = getErrors(props, formattedDatum, "x"); | ||
var errorY = getErrors(props, formattedDatum, "y"); | ||
var dataProps = { | ||
borderWidth: borderWidth, | ||
data: data, | ||
return data.reduce((childProps, datum, index) => { | ||
const eventKey = !Helpers.isNil(datum.eventKey) ? datum.eventKey : index; | ||
const { | ||
x, | ||
y | ||
} = Helpers.scalePoint(_assign({}, props, { | ||
scale | ||
}), datum); | ||
const formattedDatum = formatDataFromDomain(datum, domain); | ||
const errorX = getErrors(props, formattedDatum, "x"); | ||
const errorY = getErrors(props, formattedDatum, "y"); | ||
const dataProps = { | ||
borderWidth, | ||
data, | ||
datum: formattedDatum, | ||
errorX: horizontal ? errorY : errorX, | ||
errorY: horizontal ? errorX : errorY, | ||
groupComponent: groupComponent, | ||
horizontal: horizontal, | ||
index: index, | ||
scale: scale, | ||
groupComponent, | ||
horizontal, | ||
index, | ||
scale, | ||
style: disableInlineStyles ? {} : style.data, | ||
x: x, | ||
y: y, | ||
disableInlineStyles: disableInlineStyles | ||
x, | ||
y, | ||
disableInlineStyles | ||
}; | ||
@@ -230,10 +221,8 @@ childProps[eventKey] = { | ||
}; | ||
var text = LabelHelpers.getText(props, datum, index); | ||
const text = LabelHelpers.getText(props, datum, index); | ||
if (text !== undefined && text !== null || labels && (events || sharedEvents)) { | ||
childProps[eventKey].labels = getLabelProps(Object.assign({}, props, dataProps), text, style); | ||
} | ||
return childProps; | ||
}, initialChildProps); | ||
}; |
@@ -1,21 +0,1 @@ | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } | ||
function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
import React from "react"; | ||
@@ -25,3 +5,3 @@ import { Helpers, VictoryLabel, addEvents, VictoryContainer, VictoryTheme, DefaultTransitions, UserProps } from "victory-core"; | ||
import { getBaseProps, getDomain, getData } from "./helper-methods"; | ||
var fallbackProps = { | ||
const fallbackProps = { | ||
width: 450, | ||
@@ -31,3 +11,3 @@ height: 300, | ||
}; | ||
var defaultData = [{ | ||
const defaultData = [{ | ||
x: 1, | ||
@@ -54,64 +34,45 @@ y: 1, | ||
var VictoryErrorBarBase = /*#__PURE__*/function (_React$Component) { | ||
_inherits(VictoryErrorBarBase, _React$Component); | ||
// eslint-disable-next-line @typescript-eslint/no-empty-interface | ||
var _super = _createSuper(VictoryErrorBarBase); | ||
class VictoryErrorBarBase extends React.Component { | ||
static animationWhitelist = ["data", "domain", "height", "padding", "samples", "style", "width", "errorX", "errorY", "borderWidth"]; | ||
static displayName = "VictoryErrorBar"; | ||
static role = "errorbar"; | ||
static defaultTransitions = DefaultTransitions.discreteTransitions(); | ||
static defaultProps = { | ||
containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null), | ||
data: defaultData, | ||
dataComponent: /*#__PURE__*/React.createElement(ErrorBar, null), | ||
labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null), | ||
groupComponent: /*#__PURE__*/React.createElement("g", { | ||
role: "presentation" | ||
}), | ||
samples: 50, | ||
sortOrder: "ascending", | ||
standalone: true, | ||
theme: VictoryTheme.grayscale | ||
}; | ||
static getDomain = getDomain; | ||
static getData = getData; | ||
static getBaseProps = props => getBaseProps(props, fallbackProps); | ||
static expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent"]; | ||
function VictoryErrorBarBase() { | ||
_classCallCheck(this, VictoryErrorBarBase); | ||
return _super.apply(this, arguments); | ||
// Overridden in native versions | ||
shouldAnimate() { | ||
return !!this.props.animate; | ||
} | ||
_createClass(VictoryErrorBarBase, [{ | ||
key: "shouldAnimate", | ||
value: // Overridden in native versions | ||
function shouldAnimate() { | ||
return !!this.props.animate; | ||
render() { | ||
const { | ||
animationWhitelist, | ||
role | ||
} = VictoryErrorBar; | ||
const props = Helpers.modifyProps(this.props, fallbackProps, role); | ||
if (this.shouldAnimate()) { | ||
return this.animateComponent(props, animationWhitelist); | ||
} | ||
}, { | ||
key: "render", | ||
value: function render() { | ||
var animationWhitelist = VictoryErrorBar.animationWhitelist, | ||
role = VictoryErrorBar.role; | ||
var props = Helpers.modifyProps(this.props, fallbackProps, role); | ||
if (this.shouldAnimate()) { | ||
return this.animateComponent(props, animationWhitelist); | ||
} | ||
var children = this.renderData(props); | ||
var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children; | ||
return UserProps.withSafeUserProps(component, props); | ||
} | ||
}]); | ||
return VictoryErrorBarBase; | ||
}(React.Component); | ||
VictoryErrorBarBase.animationWhitelist = ["data", "domain", "height", "padding", "samples", "style", "width", "errorX", "errorY", "borderWidth"]; | ||
VictoryErrorBarBase.displayName = "VictoryErrorBar"; | ||
VictoryErrorBarBase.role = "errorbar"; | ||
VictoryErrorBarBase.defaultTransitions = DefaultTransitions.discreteTransitions(); | ||
VictoryErrorBarBase.defaultProps = { | ||
containerComponent: /*#__PURE__*/React.createElement(VictoryContainer, null), | ||
data: defaultData, | ||
dataComponent: /*#__PURE__*/React.createElement(ErrorBar, null), | ||
labelComponent: /*#__PURE__*/React.createElement(VictoryLabel, null), | ||
groupComponent: /*#__PURE__*/React.createElement("g", { | ||
role: "presentation" | ||
}), | ||
samples: 50, | ||
sortOrder: "ascending", | ||
standalone: true, | ||
theme: VictoryTheme.grayscale | ||
}; | ||
VictoryErrorBarBase.getDomain = getDomain; | ||
VictoryErrorBarBase.getData = getData; | ||
VictoryErrorBarBase.getBaseProps = function (props) { | ||
return getBaseProps(props, fallbackProps); | ||
}; | ||
VictoryErrorBarBase.expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent"]; | ||
export var VictoryErrorBar = addEvents(VictoryErrorBarBase); | ||
const children = this.renderData(props); | ||
const component = props.standalone ? this.renderContainer(props.containerComponent, children) : children; | ||
return UserProps.withSafeUserProps(component, props); | ||
} | ||
} | ||
export const VictoryErrorBar = addEvents(VictoryErrorBarBase); |
@@ -7,18 +7,11 @@ "use strict"; | ||
exports.ErrorBar = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _victoryCore = require("victory-core"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/* eslint-disable max-statements */ | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
var renderBorder = function (props, error, type) { | ||
var vertical = type === "right" || type === "left"; | ||
return /*#__PURE__*/_react.default.cloneElement(props.lineComponent, _objectSpread(_objectSpread({}, props.events), {}, { | ||
const renderBorder = (props, error, type) => { | ||
const vertical = type === "right" || type === "left"; | ||
return /*#__PURE__*/_react.default.cloneElement(props.lineComponent, { | ||
...props.events, | ||
role: props.role, | ||
@@ -29,3 +22,3 @@ shapeRendering: props.shapeRendering, | ||
transform: props.transform, | ||
key: "".concat(props.id, "-border-").concat(type), | ||
key: `${props.id}-border-${type}`, | ||
x1: vertical ? error[type] : props.x - props.borderWidth, | ||
@@ -35,9 +28,9 @@ x2: vertical ? error[type] : props.x + props.borderWidth, | ||
y2: vertical ? props.y + props.borderWidth : error[type], | ||
"data-type": "border-".concat(type) | ||
})); | ||
"data-type": `border-${type}` | ||
}); | ||
}; | ||
var renderCross = function (props, error, type) { | ||
var vertical = type === "top" || type === "bottom"; | ||
return /*#__PURE__*/_react.default.cloneElement(props.lineComponent, _objectSpread(_objectSpread({}, props.events), {}, { | ||
const renderCross = (props, error, type) => { | ||
const vertical = type === "top" || type === "bottom"; | ||
return /*#__PURE__*/_react.default.cloneElement(props.lineComponent, { | ||
...props.events, | ||
role: props.role, | ||
@@ -48,3 +41,3 @@ shapeRendering: props.shapeRendering, | ||
transform: props.transform, | ||
key: "".concat(props.id, "-cross-").concat(type), | ||
key: `${props.id}-cross-${type}`, | ||
x1: props.x, | ||
@@ -54,10 +47,11 @@ x2: vertical ? props.x : error[type], | ||
y2: vertical ? error[type] : props.y, | ||
"data-type": "cross-".concat(type) | ||
})); | ||
"data-type": `cross-${type}` | ||
}); | ||
}; | ||
var calculateError = function (props) { | ||
var errorX = props.errorX, | ||
errorY = props.errorY; | ||
var settings = { | ||
const calculateError = props => { | ||
const { | ||
errorX, | ||
errorY | ||
} = props; | ||
const settings = { | ||
right: { | ||
@@ -80,11 +74,10 @@ error: errorX, | ||
}; | ||
var getError = function (direction) { | ||
var _settings$direction = settings[direction], | ||
error = _settings$direction.error, | ||
errorIndex = _settings$direction.errorIndex; | ||
const getError = direction => { | ||
const { | ||
error, | ||
errorIndex | ||
} = settings[direction]; | ||
return error ? error[errorIndex] : undefined; | ||
}; | ||
var result = ["right", "left", "top", "bottom"].reduce(function (memo, dir) { | ||
const result = ["right", "left", "top", "bottom"].reduce((memo, dir) => { | ||
memo[dir] = getError(dir); | ||
@@ -95,4 +88,3 @@ return memo; | ||
}; | ||
var evaluateProps = function (props) { | ||
const evaluateProps = props => { | ||
/** | ||
@@ -105,21 +97,21 @@ * Potential evaluated props are: | ||
*/ | ||
var ariaLabel = _victoryCore.Helpers.evaluateProp(props.ariaLabel, props); | ||
var id = _victoryCore.Helpers.evaluateProp(props.id, props); | ||
var style = _victoryCore.Helpers.evaluateStyle(Object.assign({ | ||
const ariaLabel = _victoryCore.Helpers.evaluateProp(props.ariaLabel, props); | ||
const id = _victoryCore.Helpers.evaluateProp(props.id, props); | ||
const style = _victoryCore.Helpers.evaluateStyle(Object.assign({ | ||
stroke: "black" | ||
}, props.style), props); | ||
var tabIndex = _victoryCore.Helpers.evaluateProp(props.tabIndex, props); | ||
const tabIndex = _victoryCore.Helpers.evaluateProp(props.tabIndex, props); | ||
return Object.assign({}, props, { | ||
ariaLabel: ariaLabel, | ||
id: id, | ||
style: style, | ||
tabIndex: tabIndex | ||
ariaLabel, | ||
id, | ||
style, | ||
tabIndex | ||
}); | ||
}; | ||
var defaultProps = { | ||
// ErrorProps for calculateError | ||
// eslint-disable-next-line @typescript-eslint/no-empty-interface | ||
const defaultProps = { | ||
groupComponent: /*#__PURE__*/_react.default.createElement("g", null), | ||
@@ -130,19 +122,23 @@ lineComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.Line, null), | ||
}; | ||
var ErrorBar = function (initialProps) { | ||
var props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), initialProps)); | ||
var groupComponent = props.groupComponent; | ||
var userProps = _victoryCore.UserProps.getSafeUserProps(props); | ||
var tabIndex = props.tabIndex, | ||
ariaLabel = props.ariaLabel; | ||
var error = calculateError(props); | ||
var children = [error.right ? renderBorder(props, error, "right") : null, error.left ? renderBorder(props, error, "left") : null, error.bottom ? renderBorder(props, error, "bottom") : null, error.top ? renderBorder(props, error, "top") : null, error.right ? renderCross(props, error, "right") : null, error.left ? renderCross(props, error, "left") : null, error.bottom ? renderCross(props, error, "bottom") : null, error.top ? renderCross(props, error, "top") : null].filter(Boolean); | ||
return /*#__PURE__*/_react.default.cloneElement(groupComponent, _objectSpread({ | ||
tabIndex: tabIndex, | ||
"aria-label": ariaLabel | ||
}, userProps), children); | ||
const ErrorBar = initialProps => { | ||
const props = evaluateProps({ | ||
...defaultProps, | ||
...initialProps | ||
}); | ||
const { | ||
groupComponent | ||
} = props; | ||
const userProps = _victoryCore.UserProps.getSafeUserProps(props); | ||
const { | ||
tabIndex, | ||
ariaLabel | ||
} = props; | ||
const error = calculateError(props); | ||
const children = [error.right ? renderBorder(props, error, "right") : null, error.left ? renderBorder(props, error, "left") : null, error.bottom ? renderBorder(props, error, "bottom") : null, error.top ? renderBorder(props, error, "top") : null, error.right ? renderCross(props, error, "right") : null, error.left ? renderCross(props, error, "left") : null, error.bottom ? renderCross(props, error, "bottom") : null, error.top ? renderCross(props, error, "top") : null].filter(Boolean); | ||
return /*#__PURE__*/_react.default.cloneElement(groupComponent, { | ||
tabIndex, | ||
"aria-label": ariaLabel, | ||
...userProps | ||
}, children); | ||
}; | ||
exports.ErrorBar = ErrorBar; |
@@ -7,12 +7,7 @@ "use strict"; | ||
exports.getDomain = exports.getData = exports.getBaseProps = void 0; | ||
var _assign2 = _interopRequireDefault(require("lodash/assign")); | ||
var _defaults2 = _interopRequireDefault(require("lodash/defaults")); | ||
var _victoryCore = require("victory-core"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var getErrors = function (props, datum, axis) { | ||
const getErrors = (props, datum, axis) => { | ||
/** | ||
@@ -24,135 +19,119 @@ * check if it is asymmetric error or symmetric error, asymmetric error should be an array | ||
*/ | ||
var errorNames = { | ||
const errorNames = { | ||
x: "_errorX", | ||
y: "_errorY" | ||
}; | ||
var errors = datum[errorNames[axis]]; | ||
const errors = datum[errorNames[axis]]; | ||
if (errors === 0) { | ||
return false; | ||
} | ||
var scale = props.scale[axis]; | ||
return Array.isArray(errors) ? [errors[0] === 0 ? false : scale(errors[0] + datum["_".concat(axis)]), errors[1] === 0 ? false : scale(datum["_".concat(axis)] - errors[1])] : [scale(errors + datum["_".concat(axis)]), scale(datum["_".concat(axis)] - errors)]; | ||
const scale = props.scale[axis]; | ||
return Array.isArray(errors) ? [errors[0] === 0 ? false : scale(errors[0] + datum[`_${axis}`]), errors[1] === 0 ? false : scale(datum[`_${axis}`] - errors[1])] : [scale(errors + datum[`_${axis}`]), scale(datum[`_${axis}`] - errors)]; | ||
}; | ||
var getData = function (props) { | ||
var accessorTypes = ["x", "y", "errorX", "errorY"]; | ||
const getData = props => { | ||
const accessorTypes = ["x", "y", "errorX", "errorY"]; | ||
if (props.data) { | ||
return _victoryCore.Data.formatData(props.data, props, accessorTypes); | ||
} | ||
var generatedData = props.errorX || props.errorY ? _victoryCore.Data.generateData(props) : []; | ||
const generatedData = props.errorX || props.errorY ? _victoryCore.Data.generateData(props) : []; | ||
return _victoryCore.Data.formatData(generatedData, props, accessorTypes); | ||
}; | ||
exports.getData = getData; | ||
var getDomainFromData = function (props, axis) { | ||
var minDomain = _victoryCore.Domain.getMinFromProps(props, axis); | ||
var maxDomain = _victoryCore.Domain.getMaxFromProps(props, axis); | ||
var dataset = getData(props); | ||
const getDomainFromData = (props, axis) => { | ||
const minDomain = _victoryCore.Domain.getMinFromProps(props, axis); | ||
const maxDomain = _victoryCore.Domain.getMaxFromProps(props, axis); | ||
const dataset = getData(props); | ||
if (dataset.length < 1) { | ||
return minDomain !== undefined && maxDomain !== undefined ? _victoryCore.Domain.getDomainFromMinMax(minDomain, maxDomain) : undefined; | ||
} | ||
var error = axis === "x" ? "_errorX" : "_errorY"; | ||
var reduceErrorData = function (type) { | ||
var baseCondition = type === "min" ? Infinity : -Infinity; | ||
var errorIndex = type === "min" ? 1 : 0; | ||
var sign = type === "min" ? -1 : 1; | ||
return dataset.reduce(function (memo, datum) { | ||
var currentError = Array.isArray(datum[error]) ? datum[error][errorIndex] : datum[error]; | ||
var current = datum["_".concat(axis)] + sign * (currentError || 0); | ||
const error = axis === "x" ? "_errorX" : "_errorY"; | ||
const reduceErrorData = type => { | ||
const baseCondition = type === "min" ? Infinity : -Infinity; | ||
const errorIndex = type === "min" ? 1 : 0; | ||
const sign = type === "min" ? -1 : 1; | ||
return dataset.reduce((memo, datum) => { | ||
const currentError = Array.isArray(datum[error]) ? datum[error][errorIndex] : datum[error]; | ||
const current = datum[`_${axis}`] + sign * (currentError || 0); | ||
return memo < current && type === "min" || memo > current && type === "max" ? memo : current; | ||
}, baseCondition); | ||
}; | ||
var min = minDomain !== undefined ? minDomain : reduceErrorData("min"); | ||
var max = maxDomain !== undefined ? maxDomain : reduceErrorData("max"); | ||
const min = minDomain !== undefined ? minDomain : reduceErrorData("min"); | ||
const max = maxDomain !== undefined ? maxDomain : reduceErrorData("max"); | ||
return _victoryCore.Domain.getDomainFromMinMax(min, max); | ||
}; | ||
var getDomain = function (props, axis) { | ||
const getDomain = (props, axis) => { | ||
return _victoryCore.Domain.createDomainFunction(getDomainFromData)(props, axis); | ||
}; // This method will edit or remove errorbar data points that fall outside of the desired domain | ||
}; | ||
// This method will edit or remove errorbar data points that fall outside of the desired domain | ||
exports.getDomain = getDomain; | ||
const formatDataFromDomain = (datum, domain) => { | ||
const minDomainX = _victoryCore.Collection.getMinValue(domain.x); | ||
const maxDomainX = _victoryCore.Collection.getMaxValue(domain.x); | ||
const minDomainY = _victoryCore.Collection.getMinValue(domain.y); | ||
const maxDomainY = _victoryCore.Collection.getMaxValue(domain.y); | ||
let { | ||
_x, | ||
_y | ||
} = datum; | ||
var formatDataFromDomain = function (datum, domain) { | ||
var minDomainX = _victoryCore.Collection.getMinValue(domain.x); | ||
var maxDomainX = _victoryCore.Collection.getMaxValue(domain.x); | ||
var minDomainY = _victoryCore.Collection.getMinValue(domain.y); | ||
var maxDomainY = _victoryCore.Collection.getMaxValue(domain.y); | ||
var _x = datum._x, | ||
_y = datum._y; // if either x or y center point is outside of the domain, null the entire data point | ||
// if either x or y center point is outside of the domain, null the entire data point | ||
if (_x < minDomainX || _x > maxDomainX || _y < minDomainY || _y > maxDomainY) _x = _y = null; | ||
return Object.assign({}, datum, { | ||
_x: _x, | ||
_y: _y | ||
_x, | ||
_y | ||
}); | ||
}; | ||
var getCalculatedValues = function (props) { | ||
var defaultStyles = _victoryCore.Helpers.getDefaultStyles(props, "errorbar"); | ||
var style = _victoryCore.Helpers.getStyles(props.style, defaultStyles) || {}; | ||
var data = getData(props); | ||
var range = { | ||
const getCalculatedValues = props => { | ||
const defaultStyles = _victoryCore.Helpers.getDefaultStyles(props, "errorbar"); | ||
const style = _victoryCore.Helpers.getStyles(props.style, defaultStyles) || {}; | ||
const data = getData(props); | ||
const range = { | ||
x: _victoryCore.Helpers.getRange(props, "x"), | ||
y: _victoryCore.Helpers.getRange(props, "y") | ||
}; | ||
var domain = { | ||
const domain = { | ||
x: getDomain(props, "x"), | ||
y: getDomain(props, "y") | ||
}; | ||
var scale = { | ||
const scale = { | ||
x: _victoryCore.Scale.getBaseScale(props, "x").domain(domain.x).range(props.horizontal ? range.y : range.x), | ||
y: _victoryCore.Scale.getBaseScale(props, "y").domain(domain.y).range(props.horizontal ? range.x : range.y) | ||
}; | ||
var origin = props.polar ? props.origin || _victoryCore.Helpers.getPolarOrigin(props) : undefined; | ||
const origin = props.polar ? props.origin || _victoryCore.Helpers.getPolarOrigin(props) : undefined; | ||
return { | ||
domain: domain, | ||
data: data, | ||
scale: scale, | ||
style: style, | ||
origin: origin | ||
domain, | ||
data, | ||
scale, | ||
style, | ||
origin | ||
}; | ||
}; | ||
var getLabelProps = function (dataProps, text, style) { | ||
var x = dataProps.x, | ||
y = dataProps.y, | ||
index = dataProps.index, | ||
scale = dataProps.scale, | ||
errorY = dataProps.errorY, | ||
errorX = dataProps.errorX, | ||
horizontal = dataProps.horizontal, | ||
labelComponent = dataProps.labelComponent, | ||
theme = dataProps.theme, | ||
disableInlineStyles = dataProps.disableInlineStyles; | ||
var getError = function () { | ||
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "x"; | ||
var baseError = type === "y" ? errorY : errorX; | ||
var error = baseError && Array.isArray(baseError) ? baseError[0] : baseError; | ||
const getLabelProps = (dataProps, text, style) => { | ||
const { | ||
x, | ||
y, | ||
index, | ||
scale, | ||
errorY, | ||
errorX, | ||
horizontal, | ||
labelComponent, | ||
theme, | ||
disableInlineStyles | ||
} = dataProps; | ||
const getError = function (type) { | ||
if (type === void 0) { | ||
type = "x"; | ||
} | ||
const baseError = type === "y" ? errorY : errorX; | ||
const error = baseError && Array.isArray(baseError) ? baseError[0] : baseError; | ||
return error || dataProps[type]; | ||
}; | ||
var labelStyle = style.labels || {}; | ||
var padding = labelStyle.padding || 0; | ||
var textAnchor = horizontal ? "start" : "middle"; | ||
var verticalAnchor = horizontal ? "middle" : "end"; | ||
var labelProps = { | ||
const labelStyle = style.labels || {}; | ||
const padding = labelStyle.padding || 0; | ||
const textAnchor = horizontal ? "start" : "middle"; | ||
const verticalAnchor = horizontal ? "middle" : "end"; | ||
const labelProps = { | ||
style: labelStyle, | ||
@@ -163,5 +142,5 @@ y: horizontal ? y : getError("y"), | ||
dx: horizontal ? padding : 0, | ||
text: text, | ||
index: index, | ||
scale: scale, | ||
text, | ||
index, | ||
scale, | ||
datum: dataProps.datum, | ||
@@ -172,80 +151,77 @@ data: dataProps.data, | ||
angle: labelStyle.angle, | ||
horizontal: horizontal, | ||
disableInlineStyles: disableInlineStyles | ||
horizontal, | ||
disableInlineStyles | ||
}; | ||
if (!_victoryCore.Helpers.isTooltip(labelComponent)) { | ||
return labelProps; | ||
} | ||
var tooltipTheme = theme && theme.tooltip || {}; | ||
const tooltipTheme = theme && theme.tooltip || {}; | ||
return (0, _defaults2.default)({}, labelProps, _victoryCore.Helpers.omit(tooltipTheme, ["style"])); | ||
}; | ||
var getBaseProps = function (initialProps, fallbackProps) { | ||
var modifiedProps = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, "errorbar"); | ||
var props = Object.assign({}, modifiedProps, getCalculatedValues(modifiedProps)); | ||
var borderWidth = props.borderWidth, | ||
data = props.data, | ||
domain = props.domain, | ||
events = props.events, | ||
groupComponent = props.groupComponent, | ||
height = props.height, | ||
horizontal = props.horizontal, | ||
labels = props.labels, | ||
name = props.name, | ||
origin = props.origin, | ||
padding = props.padding, | ||
polar = props.polar, | ||
scale = props.scale, | ||
sharedEvents = props.sharedEvents, | ||
standalone = props.standalone, | ||
style = props.style, | ||
theme = props.theme, | ||
width = props.width, | ||
disableInlineStyles = props.disableInlineStyles; | ||
var initialChildProps = { | ||
const getBaseProps = (initialProps, fallbackProps) => { | ||
const modifiedProps = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, "errorbar"); | ||
const props = Object.assign({}, modifiedProps, getCalculatedValues(modifiedProps)); | ||
const { | ||
borderWidth, | ||
data, | ||
domain, | ||
events, | ||
groupComponent, | ||
height, | ||
horizontal, | ||
labels, | ||
name, | ||
origin, | ||
padding, | ||
polar, | ||
scale, | ||
sharedEvents, | ||
standalone, | ||
style, | ||
theme, | ||
width, | ||
disableInlineStyles | ||
} = props; | ||
const initialChildProps = { | ||
parent: { | ||
data: data, | ||
domain: domain, | ||
height: height, | ||
horizontal: horizontal, | ||
name: name, | ||
origin: origin, | ||
padding: padding, | ||
polar: polar, | ||
scale: scale, | ||
standalone: standalone, | ||
data, | ||
domain, | ||
height, | ||
horizontal, | ||
name, | ||
origin, | ||
padding, | ||
polar, | ||
scale, | ||
standalone, | ||
style: style.parent, | ||
theme: theme, | ||
width: width | ||
theme, | ||
width | ||
} | ||
}; | ||
return data.reduce(function (childProps, datum, index) { | ||
var eventKey = !_victoryCore.Helpers.isNil(datum.eventKey) ? datum.eventKey : index; | ||
var _Helpers$scalePoint = _victoryCore.Helpers.scalePoint((0, _assign2.default)({}, props, { | ||
scale: scale | ||
}), datum), | ||
x = _Helpers$scalePoint.x, | ||
y = _Helpers$scalePoint.y; | ||
var formattedDatum = formatDataFromDomain(datum, domain); | ||
var errorX = getErrors(props, formattedDatum, "x"); | ||
var errorY = getErrors(props, formattedDatum, "y"); | ||
var dataProps = { | ||
borderWidth: borderWidth, | ||
data: data, | ||
return data.reduce((childProps, datum, index) => { | ||
const eventKey = !_victoryCore.Helpers.isNil(datum.eventKey) ? datum.eventKey : index; | ||
const { | ||
x, | ||
y | ||
} = _victoryCore.Helpers.scalePoint((0, _assign2.default)({}, props, { | ||
scale | ||
}), datum); | ||
const formattedDatum = formatDataFromDomain(datum, domain); | ||
const errorX = getErrors(props, formattedDatum, "x"); | ||
const errorY = getErrors(props, formattedDatum, "y"); | ||
const dataProps = { | ||
borderWidth, | ||
data, | ||
datum: formattedDatum, | ||
errorX: horizontal ? errorY : errorX, | ||
errorY: horizontal ? errorX : errorY, | ||
groupComponent: groupComponent, | ||
horizontal: horizontal, | ||
index: index, | ||
scale: scale, | ||
groupComponent, | ||
horizontal, | ||
index, | ||
scale, | ||
style: disableInlineStyles ? {} : style.data, | ||
x: x, | ||
y: y, | ||
disableInlineStyles: disableInlineStyles | ||
x, | ||
y, | ||
disableInlineStyles | ||
}; | ||
@@ -255,13 +231,9 @@ childProps[eventKey] = { | ||
}; | ||
var text = _victoryCore.LabelHelpers.getText(props, datum, index); | ||
const text = _victoryCore.LabelHelpers.getText(props, datum, index); | ||
if (text !== undefined && text !== null || labels && (events || sharedEvents)) { | ||
childProps[eventKey].labels = getLabelProps(Object.assign({}, props, dataProps), text, style); | ||
} | ||
return childProps; | ||
}, initialChildProps); | ||
}; | ||
exports.getBaseProps = getBaseProps; |
@@ -6,5 +6,3 @@ "use strict"; | ||
}); | ||
var _victoryErrorbar = require("./victory-errorbar"); | ||
Object.keys(_victoryErrorbar).forEach(function (key) { | ||
@@ -20,5 +18,3 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _errorBar = require("./error-bar"); | ||
Object.keys(_errorBar).forEach(function (key) { | ||
@@ -25,0 +21,0 @@ if (key === "default" || key === "__esModule") return; |
@@ -7,34 +7,8 @@ "use strict"; | ||
exports.VictoryErrorBar = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _victoryCore = require("victory-core"); | ||
var _errorBar = require("./error-bar"); | ||
var _helperMethods = require("./helper-methods"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } | ||
function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
var fallbackProps = { | ||
const fallbackProps = { | ||
width: 450, | ||
@@ -44,3 +18,3 @@ height: 300, | ||
}; | ||
var defaultData = [{ | ||
const defaultData = [{ | ||
x: 1, | ||
@@ -67,66 +41,45 @@ y: 1, | ||
var VictoryErrorBarBase = /*#__PURE__*/function (_React$Component) { | ||
_inherits(VictoryErrorBarBase, _React$Component); | ||
// eslint-disable-next-line @typescript-eslint/no-empty-interface | ||
var _super = _createSuper(VictoryErrorBarBase); | ||
class VictoryErrorBarBase extends _react.default.Component { | ||
static animationWhitelist = ["data", "domain", "height", "padding", "samples", "style", "width", "errorX", "errorY", "borderWidth"]; | ||
static displayName = "VictoryErrorBar"; | ||
static role = "errorbar"; | ||
static defaultTransitions = _victoryCore.DefaultTransitions.discreteTransitions(); | ||
static defaultProps = { | ||
containerComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryContainer, null), | ||
data: defaultData, | ||
dataComponent: /*#__PURE__*/_react.default.createElement(_errorBar.ErrorBar, null), | ||
labelComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryLabel, null), | ||
groupComponent: /*#__PURE__*/_react.default.createElement("g", { | ||
role: "presentation" | ||
}), | ||
samples: 50, | ||
sortOrder: "ascending", | ||
standalone: true, | ||
theme: _victoryCore.VictoryTheme.grayscale | ||
}; | ||
static getDomain = _helperMethods.getDomain; | ||
static getData = _helperMethods.getData; | ||
static getBaseProps = props => (0, _helperMethods.getBaseProps)(props, fallbackProps); | ||
static expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent"]; | ||
function VictoryErrorBarBase() { | ||
_classCallCheck(this, VictoryErrorBarBase); | ||
return _super.apply(this, arguments); | ||
// Overridden in native versions | ||
shouldAnimate() { | ||
return !!this.props.animate; | ||
} | ||
_createClass(VictoryErrorBarBase, [{ | ||
key: "shouldAnimate", | ||
value: // Overridden in native versions | ||
function shouldAnimate() { | ||
return !!this.props.animate; | ||
render() { | ||
const { | ||
animationWhitelist, | ||
role | ||
} = VictoryErrorBar; | ||
const props = _victoryCore.Helpers.modifyProps(this.props, fallbackProps, role); | ||
if (this.shouldAnimate()) { | ||
return this.animateComponent(props, animationWhitelist); | ||
} | ||
}, { | ||
key: "render", | ||
value: function render() { | ||
var animationWhitelist = VictoryErrorBar.animationWhitelist, | ||
role = VictoryErrorBar.role; | ||
var props = _victoryCore.Helpers.modifyProps(this.props, fallbackProps, role); | ||
if (this.shouldAnimate()) { | ||
return this.animateComponent(props, animationWhitelist); | ||
} | ||
var children = this.renderData(props); | ||
var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children; | ||
return _victoryCore.UserProps.withSafeUserProps(component, props); | ||
} | ||
}]); | ||
return VictoryErrorBarBase; | ||
}(_react.default.Component); | ||
VictoryErrorBarBase.animationWhitelist = ["data", "domain", "height", "padding", "samples", "style", "width", "errorX", "errorY", "borderWidth"]; | ||
VictoryErrorBarBase.displayName = "VictoryErrorBar"; | ||
VictoryErrorBarBase.role = "errorbar"; | ||
VictoryErrorBarBase.defaultTransitions = _victoryCore.DefaultTransitions.discreteTransitions(); | ||
VictoryErrorBarBase.defaultProps = { | ||
containerComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryContainer, null), | ||
data: defaultData, | ||
dataComponent: /*#__PURE__*/_react.default.createElement(_errorBar.ErrorBar, null), | ||
labelComponent: /*#__PURE__*/_react.default.createElement(_victoryCore.VictoryLabel, null), | ||
groupComponent: /*#__PURE__*/_react.default.createElement("g", { | ||
role: "presentation" | ||
}), | ||
samples: 50, | ||
sortOrder: "ascending", | ||
standalone: true, | ||
theme: _victoryCore.VictoryTheme.grayscale | ||
}; | ||
VictoryErrorBarBase.getDomain = _helperMethods.getDomain; | ||
VictoryErrorBarBase.getData = _helperMethods.getData; | ||
VictoryErrorBarBase.getBaseProps = function (props) { | ||
return (0, _helperMethods.getBaseProps)(props, fallbackProps); | ||
}; | ||
VictoryErrorBarBase.expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent"]; | ||
var VictoryErrorBar = (0, _victoryCore.addEvents)(VictoryErrorBarBase); | ||
exports.VictoryErrorBar = VictoryErrorBar; | ||
const children = this.renderData(props); | ||
const component = props.standalone ? this.renderContainer(props.containerComponent, children) : children; | ||
return _victoryCore.UserProps.withSafeUserProps(component, props); | ||
} | ||
} | ||
const VictoryErrorBar = exports.VictoryErrorBar = (0, _victoryCore.addEvents)(VictoryErrorBarBase); |
{ | ||
"name": "victory-errorbar", | ||
"version": "36.9.2", | ||
"version": "37.0.0", | ||
"description": "Error Bar Component for Victory", | ||
@@ -24,3 +24,3 @@ "keywords": [ | ||
"lodash": "^4.17.19", | ||
"victory-core": "^36.9.2" | ||
"victory-core": "^37.0.0" | ||
}, | ||
@@ -27,0 +27,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
989313
17822
4
+ Addedvictory-core@37.3.6(transitive)
+ Addedvictory-vendor@37.3.6(transitive)
- Removedvictory-core@36.9.2(transitive)
- Removedvictory-vendor@36.9.2(transitive)
Updatedvictory-core@^37.0.0