Socket
Socket
Sign inDemoInstall

@nivo/axes

Package Overview
Dependencies
Maintainers
1
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nivo/axes - npm Package Compare versions

Comparing version 0.56.2 to 0.57.0

581

dist/nivo-axes.cjs.js

@@ -10,11 +10,6 @@ 'use strict';

var PropTypes = _interopDefault(require('prop-types'));
var reactMotion = require('react-motion');
var core = require('@nivo/core');
var compose = _interopDefault(require('recompose/compose'));
var withPropsOnChange = _interopDefault(require('recompose/withPropsOnChange'));
var pure = _interopDefault(require('recompose/pure'));
var setDisplayName = _interopDefault(require('recompose/setDisplayName'));
var reactMotion = require('react-motion');
var isNumber = _interopDefault(require('lodash/isNumber'));
var isArray = _interopDefault(require('lodash/isArray'));
var isFunction = _interopDefault(require('lodash/isFunction'));
var d3Time = require('d3-time');
var d3TimeFormat = require('d3-time-format');

@@ -36,4 +31,44 @@ var d3Format = require('d3-format');

};
var getScaleTicks = function getScaleTicks(scale, tickCount) {
if (scale.ticks) return scale.ticks(tickCount);
var timeByType = {
millisecond: [d3Time.timeMillisecond, d3Time.utcMillisecond],
second: [d3Time.timeSecond, d3Time.utcSecond],
minute: [d3Time.timeMinute, d3Time.utcMinute],
hour: [d3Time.timeHour, d3Time.utcHour],
day: [d3Time.timeDay, d3Time.utcDay],
week: [d3Time.timeWeek, d3Time.utcWeek],
sunday: [d3Time.timeSunday, d3Time.utcSunday],
monday: [d3Time.timeMonday, d3Time.utcMonday],
tuesday: [d3Time.timeTuesday, d3Time.utcTuesday],
wednesday: [d3Time.timeWednesday, d3Time.utcWednesday],
thursday: [d3Time.timeThursday, d3Time.utcThursday],
friday: [d3Time.timeFriday, d3Time.utcFriday],
saturday: [d3Time.timeSaturday, d3Time.utcSaturday],
month: [d3Time.timeMonth, d3Time.utcMonth],
year: [d3Time.timeYear, d3Time.utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (scale.ticks) {
if (spec === undefined) {
return scale.ticks();
}
if (isNumber(spec)) {
return scale.ticks(spec);
}
if (typeof spec === 'string') {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var timeType = timeByType[matches[2]][1];
if (matches[1] === undefined) {
return scale.ticks(timeType);
}
return scale.ticks(timeType.every(Number(matches[1])));
}
throw new Error("Invalid tickValues: ".concat(spec));
}
}
return scale.domain();

@@ -45,3 +80,3 @@ };

ticksPosition = _ref.ticksPosition,
_tickValues = _ref.tickValues,
tickValues = _ref.tickValues,
tickSize = _ref.tickSize,

@@ -52,5 +87,3 @@ tickPadding = _ref.tickPadding,

engine = _ref$engine === void 0 ? 'svg' : _ref$engine;
var tickValues = isArray(_tickValues) ? _tickValues : undefined;
var tickCount = isNumber(_tickValues) ? _tickValues : undefined;
var values = tickValues || getScaleTicks(scale, tickCount);
var values = getScaleTicks(scale, tickValues);
var textProps = core.textPropsByEngine[engine];

@@ -120,3 +153,3 @@ var position = scale.bandwidth ? centerScale(scale) : scale;

var getFormatter = function getFormatter(format, scale) {
if (!format || isFunction(format)) return format;
if (!format || typeof format === 'function') return format;
if (scale.type === 'time') {

@@ -136,3 +169,3 @@ var f = d3TimeFormat.timeFormat(format);

_values = _ref2.values;
var lineValues = isArray(_values) ? _values : undefined;
var lineValues = Array.isArray(_values) ? _values : undefined;
var lineCount = isNumber(_values) ? _values : undefined;

@@ -166,73 +199,64 @@ var values = lineValues || getScaleTicks(scale, lineCount);

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)])), PropTypes.string]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty$1(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 AxisTick =
function (_PureComponent) {
_inherits(AxisTick, _PureComponent);
function AxisTick() {
_classCallCheck(this, AxisTick);
return _possibleConstructorReturn(this, _getPrototypeOf(AxisTick).apply(this, arguments));
var AxisTick = function AxisTick(_ref) {
var _value = _ref.value,
x = _ref.x,
y = _ref.y,
opacity = _ref.opacity,
rotate = _ref.rotate,
format = _ref.format,
lineX = _ref.lineX,
lineY = _ref.lineY,
_onClick = _ref.onClick,
textX = _ref.textX,
textY = _ref.textY,
textBaseline = _ref.textBaseline,
textAnchor = _ref.textAnchor;
var theme = core.useTheme();
var value = _value;
if (format !== undefined) {
value = format(value);
}
_createClass(AxisTick, [{
key: "render",
value: function render() {
var _this$props = this.props,
_value = _this$props.value,
x = _this$props.x,
y = _this$props.y,
opacity = _this$props.opacity,
rotate = _this$props.rotate,
format = _this$props.format,
lineX = _this$props.lineX,
lineY = _this$props.lineY,
_onClick = _this$props.onClick,
textX = _this$props.textX,
textY = _this$props.textY,
textBaseline = _this$props.textBaseline,
textAnchor = _this$props.textAnchor,
theme = _this$props.theme;
var value = _value;
if (format !== undefined) {
value = format(value);
}
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React__default.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
} : {}, {
style: gStyle
}), React__default.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React__default.createElement("text", {
alignmentBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React__default.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
}]);
return AxisTick;
}(React.PureComponent);
_defineProperty$1(AxisTick, "propTypes", {
} : {}, {
style: gStyle
}), React__default.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React__default.createElement("text", {
dominantBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
};
AxisTick.propTypes = {
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]).isRequired,

@@ -250,15 +274,13 @@ format: PropTypes.func,

rotate: PropTypes.number.isRequired,
onClick: PropTypes.func,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
});
_defineProperty$1(AxisTick, "defaultProps", {
onClick: PropTypes.func
};
AxisTick.defaultProps = {
opacity: 1,
rotate: 0
});
};
var AxisTick$1 = React.memo(AxisTick);
function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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; }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } return target; }
function _defineProperty$1(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 willEnter = function willEnter() {

@@ -287,3 +309,3 @@ return {

var defaultTickRenderer = function defaultTickRenderer(props) {
return React__default.createElement(AxisTick, props);
return React__default.createElement(AxisTick$1, props);
};

@@ -306,7 +328,10 @@ var Axis = function Axis(_ref2) {

legendOffset = _ref2.legendOffset,
theme = _ref2.theme,
animate = _ref2.animate,
motionStiffness = _ref2.motionStiffness,
motionDamping = _ref2.motionDamping,
onClick = _ref2.onClick;
var theme = core.useTheme();
var _useMotionConfig = core.useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var formatValue = React.useMemo(function () {
return getFormatter(format, scale);
}, [format, scale]);
var _computeCartesianTick = computeCartesianTicks({

@@ -358,3 +383,3 @@ axis: axis,

style: _objectSpread$1({
alignmentBaseline: 'middle'
dominantBaseline: 'central'
}, theme.axis.legend.text)

@@ -369,7 +394,6 @@ }, legend);

tickIndex: tickIndex,
format: format,
format: formatValue,
rotate: tickRotation,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, onClick ? {

@@ -386,6 +410,2 @@ onClick: onClick

}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
return React__default.createElement(reactMotion.Motion, {

@@ -420,6 +440,5 @@ style: {

tickIndex: tickIndex,
format: format,
format: formatValue,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, style, onClick ? {

@@ -443,3 +462,3 @@ onClick: onClick

};
Axis.propTypes = _objectSpread$1({
Axis.propTypes = {
axis: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -451,7 +470,7 @@ scale: PropTypes.func.isRequired,

ticksPosition: PropTypes.oneOf(['before', 'after']).isRequired,
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickValues: axisPropTypes.tickValues,
tickSize: PropTypes.number.isRequired,
tickPadding: PropTypes.number.isRequired,
tickRotation: PropTypes.number.isRequired,
tickFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func.isRequired,

@@ -461,6 +480,4 @@ legend: PropTypes.node,

legendOffset: PropTypes.number.isRequired,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
}, core.motionPropTypes);
onClick: PropTypes.func
};
Axis.defaultProps = {

@@ -476,92 +493,39 @@ x: 0,

};
var enhance = compose(core.withMotion(), withPropsOnChange(['format', 'scale'], function (_ref4) {
var format = _ref4.format,
scale = _ref4.scale;
return {
format: getFormatter(format, scale)
};
}), pure);
var Axis$1 = setDisplayName('Axis')(enhance(Axis));
var Axis$1 = React.memo(Axis);
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$3(target, key, source[key]); }); } return target; }
function _typeof$1(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); }
function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$1(self, call) { if (call && (_typeof$1(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$1(self); }
function _assertThisInitialized$1(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _getPrototypeOf$1(o) { _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$1(o); }
function _inherits$1(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 } }); if (superClass) _setPrototypeOf$1(subClass, superClass); }
function _setPrototypeOf$1(o, p) { _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$1(o, p); }
function _defineProperty$3(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 positions = ['top', 'right', 'bottom', 'left'];
var Axes =
function (_PureComponent) {
_inherits$1(Axes, _PureComponent);
function Axes() {
_classCallCheck$1(this, Axes);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(Axes).apply(this, arguments));
}
_createClass$1(Axes, [{
key: "render",
value: function render() {
var _this$props = this.props,
xScale = _this$props.xScale,
yScale = _this$props.yScale,
width = _this$props.width,
height = _this$props.height,
top = _this$props.top,
right = _this$props.right,
bottom = _this$props.bottom,
left = _this$props.left,
theme = _this$props.theme,
animate = _this$props.animate,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return React__default.createElement(React.Fragment, null, positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React__default.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition,
theme: theme,
animate: animate,
motionDamping: motionDamping,
motionStiffness: motionStiffness
}));
}));
}
}]);
return Axes;
}(React.PureComponent);
_defineProperty$3(Axes, "propTypes", _objectSpread$2({
var Axes = function Axes(_ref) {
var xScale = _ref.xScale,
yScale = _ref.yScale,
width = _ref.width,
height = _ref.height,
top = _ref.top,
right = _ref.right,
bottom = _ref.bottom,
left = _ref.left;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React__default.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition
}));
});
};
Axes.propTypes = {
xScale: PropTypes.func.isRequired,

@@ -574,7 +538,5 @@ yScale: PropTypes.func.isRequired,

bottom: axisPropType,
left: axisPropType,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
}, core.motionPropTypes));
left: axisPropType
};
var Axes$1 = React.memo(Axes);

@@ -596,30 +558,15 @@ var GridLine = function GridLine(props) {

};
var GridLine$1 = React.memo(GridLine);
function _typeof$2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); }
function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$2(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$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$2(self, call) { if (call && (_typeof$2(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$2(self); }
function _getPrototypeOf$2(o) { _getPrototypeOf$2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$2(o); }
function _assertThisInitialized$2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits$2(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 } }); if (superClass) _setPrototypeOf$2(subClass, superClass); }
function _setPrototypeOf$2(o, p) { _setPrototypeOf$2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$2(o, p); }
function _defineProperty$4(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 GridLines =
function (_Component) {
_inherits$2(GridLines, _Component);
function GridLines(props) {
var _this;
_classCallCheck$2(this, GridLines);
_this = _possibleConstructorReturn$2(this, _getPrototypeOf$2(GridLines).call(this, props));
_this.willEnter = _this.willEnter.bind(_assertThisInitialized$2(_this));
_this.willLeave = _this.willLeave.bind(_assertThisInitialized$2(_this));
return _this;
}
_createClass$2(GridLines, [{
key: "willEnter",
value: function willEnter(_ref) {
var style = _ref.style;
var type = this.props.type;
var GridLines = function GridLines(_ref) {
var type = _ref.type,
lines = _ref.lines;
var theme = core.useTheme();
var _useMotionConfig = core.useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var lineWillEnter = React.useMemo(function () {
return function (_ref2) {
var style = _ref2.style;
return {

@@ -632,14 +579,7 @@ opacity: 0,

};
}
}, {
key: "willLeave",
value: function willLeave(_ref2) {
var style = _ref2.style;
var _this$props = this.props,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
};
}, [type]);
var lineWillLeave = React.useMemo(function () {
return function (_ref3) {
var style = _ref3.style;
return {

@@ -652,52 +592,37 @@ opacity: reactMotion.spring(0, springConfig),

};
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
lines = _this$props2.lines,
animate = _this$props2.animate,
motionStiffness = _this$props2.motionStiffness,
motionDamping = _this$props2.motionDamping,
theme = _this$props2.theme;
if (!animate) {
return React__default.createElement("g", null, lines.map(function (line) {
return React__default.createElement(GridLine, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
}, [springConfig]);
if (!animate) {
return React__default.createElement("g", null, lines.map(function (line) {
return React__default.createElement(GridLine$1, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
return React__default.createElement(reactMotion.TransitionMotion, {
willEnter: lineWillEnter,
willLeave: lineWillLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: reactMotion.spring(1, springConfig),
x1: reactMotion.spring(line.x1 || 0, springConfig),
x2: reactMotion.spring(line.x2 || 0, springConfig),
y1: reactMotion.spring(line.y1 || 0, springConfig),
y2: reactMotion.spring(line.y2 || 0, springConfig)
}
};
return React__default.createElement(reactMotion.TransitionMotion, {
willEnter: this.willEnter,
willLeave: this.willLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: reactMotion.spring(1, springConfig),
x1: reactMotion.spring(line.x1 || 0, springConfig),
x2: reactMotion.spring(line.x2 || 0, springConfig),
y1: reactMotion.spring(line.y1 || 0, springConfig),
y2: reactMotion.spring(line.y2 || 0, springConfig)
}
};
})
}, function (interpolatedStyles) {
return React__default.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React__default.createElement(GridLine, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
}
}]);
return GridLines;
}(React.Component);
_defineProperty$4(GridLines, "propTypes", {
})
}, function (interpolatedStyles) {
return React__default.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React__default.createElement(GridLine$1, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
};
GridLines.propTypes = {
type: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -710,11 +635,6 @@ lines: PropTypes.arrayOf(PropTypes.shape({

y2: PropTypes.number
})).isRequired,
theme: PropTypes.object.isRequired,
animate: PropTypes.bool.isRequired,
motionStiffness: PropTypes.number.isRequired,
motionDamping: PropTypes.number.isRequired
});
})).isRequired
};
var GridLines$1 = React.memo(GridLines);
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$5(target, key, source[key]); }); } return target; }
function _defineProperty$5(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 Grid = function Grid(_ref) {

@@ -726,14 +646,13 @@ var width = _ref.width,

xValues = _ref.xValues,
yValues = _ref.yValues,
theme = _ref.theme,
animate = _ref.animate,
motionStiffness = _ref.motionStiffness,
motionDamping = _ref.motionDamping;
var xLines = xScale ? computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
}) : false;
yValues = _ref.yValues;
var xLines = React.useMemo(function () {
if (!xScale) return false;
return computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
});
}, [xScale, xValues]);
var yLines = yScale ? computeGridLines({

@@ -746,19 +665,11 @@ width: width,

}) : false;
return React__default.createElement("g", null, xLines && React__default.createElement(GridLines, {
return React__default.createElement(React__default.Fragment, null, xLines && React__default.createElement(GridLines$1, {
type: "x",
lines: xLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
}), yLines && React__default.createElement(GridLines, {
lines: xLines
}), yLines && React__default.createElement(GridLines$1, {
type: "y",
lines: yLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
lines: yLines
}));
};
Grid.propTypes = _objectSpread$3({
Grid.propTypes = {
width: PropTypes.number.isRequired,

@@ -769,7 +680,5 @@ height: PropTypes.number.isRequired,

xValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
theme: PropTypes.object.isRequired
}, core.motionPropTypes);
Grid.defaultProps = {};
var Grid$1 = pure(Grid);
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))])
};
var Grid$1 = React.memo(Grid);

@@ -780,4 +689,4 @@ var degreesToRadians = function degreesToRadians(degrees) {

function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$6(target, key, source[key]); }); } return target; }
function _defineProperty$6(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; }
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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 renderAxisToCanvas = function renderAxisToCanvas(ctx, _ref) {

@@ -914,3 +823,3 @@ var axis = _ref.axis,

var format = getFormatter(axis.format, scale);
renderAxisToCanvas(ctx, _objectSpread$4({}, axis, {
renderAxisToCanvas(ctx, _objectSpread$2({}, axis, {
axis: isXAxis ? 'x' : 'y',

@@ -948,3 +857,3 @@ x: position === 'right' ? width : 0,

exports.Axes = Axes;
exports.Axes = Axes$1;
exports.Axis = Axis$1;

@@ -951,0 +860,0 @@ exports.Grid = Grid$1;

@@ -1,12 +0,7 @@

import React, { PureComponent, Fragment, Component } from 'react';
import React, { memo, useMemo, Fragment } from 'react';
import PropTypes from 'prop-types';
import { textPropsByEngine, axisThemePropType, motionPropTypes, withMotion } from '@nivo/core';
import compose from 'recompose/compose';
import withPropsOnChange from 'recompose/withPropsOnChange';
import pure from 'recompose/pure';
import setDisplayName from 'recompose/setDisplayName';
import { Motion, spring, TransitionMotion } from 'react-motion';
import { textPropsByEngine, useTheme, useMotionConfig } from '@nivo/core';
import isNumber from 'lodash/isNumber';
import isArray from 'lodash/isArray';
import isFunction from 'lodash/isFunction';
import { timeMillisecond, utcMillisecond, timeSecond, utcSecond, timeMinute, utcMinute, timeHour, utcHour, timeDay, utcDay, timeWeek, utcWeek, timeSunday, utcSunday, timeMonday, utcMonday, timeTuesday, utcTuesday, timeWednesday, utcWednesday, timeThursday, utcThursday, timeFriday, utcFriday, timeSaturday, utcSaturday, timeMonth, utcMonth, timeYear, utcYear } from 'd3-time';
import { timeFormat } from 'd3-time-format';

@@ -28,4 +23,44 @@ import { format } from 'd3-format';

};
var getScaleTicks = function getScaleTicks(scale, tickCount) {
if (scale.ticks) return scale.ticks(tickCount);
var timeByType = {
millisecond: [timeMillisecond, utcMillisecond],
second: [timeSecond, utcSecond],
minute: [timeMinute, utcMinute],
hour: [timeHour, utcHour],
day: [timeDay, utcDay],
week: [timeWeek, utcWeek],
sunday: [timeSunday, utcSunday],
monday: [timeMonday, utcMonday],
tuesday: [timeTuesday, utcTuesday],
wednesday: [timeWednesday, utcWednesday],
thursday: [timeThursday, utcThursday],
friday: [timeFriday, utcFriday],
saturday: [timeSaturday, utcSaturday],
month: [timeMonth, utcMonth],
year: [timeYear, utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (scale.ticks) {
if (spec === undefined) {
return scale.ticks();
}
if (isNumber(spec)) {
return scale.ticks(spec);
}
if (typeof spec === 'string') {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var timeType = timeByType[matches[2]][1];
if (matches[1] === undefined) {
return scale.ticks(timeType);
}
return scale.ticks(timeType.every(Number(matches[1])));
}
throw new Error("Invalid tickValues: ".concat(spec));
}
}
return scale.domain();

@@ -37,3 +72,3 @@ };

ticksPosition = _ref.ticksPosition,
_tickValues = _ref.tickValues,
tickValues = _ref.tickValues,
tickSize = _ref.tickSize,

@@ -44,5 +79,3 @@ tickPadding = _ref.tickPadding,

engine = _ref$engine === void 0 ? 'svg' : _ref$engine;
var tickValues = isArray(_tickValues) ? _tickValues : undefined;
var tickCount = isNumber(_tickValues) ? _tickValues : undefined;
var values = tickValues || getScaleTicks(scale, tickCount);
var values = getScaleTicks(scale, tickValues);
var textProps = textPropsByEngine[engine];

@@ -112,3 +145,3 @@ var position = scale.bandwidth ? centerScale(scale) : scale;

var getFormatter = function getFormatter(format$1, scale) {
if (!format$1 || isFunction(format$1)) return format$1;
if (!format$1 || typeof format$1 === 'function') return format$1;
if (scale.type === 'time') {

@@ -128,3 +161,3 @@ var f = timeFormat(format$1);

_values = _ref2.values;
var lineValues = isArray(_values) ? _values : undefined;
var lineValues = Array.isArray(_values) ? _values : undefined;
var lineCount = isNumber(_values) ? _values : undefined;

@@ -158,73 +191,64 @@ var values = lineValues || getScaleTicks(scale, lineCount);

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)])), PropTypes.string]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty$1(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 AxisTick =
function (_PureComponent) {
_inherits(AxisTick, _PureComponent);
function AxisTick() {
_classCallCheck(this, AxisTick);
return _possibleConstructorReturn(this, _getPrototypeOf(AxisTick).apply(this, arguments));
var AxisTick = function AxisTick(_ref) {
var _value = _ref.value,
x = _ref.x,
y = _ref.y,
opacity = _ref.opacity,
rotate = _ref.rotate,
format = _ref.format,
lineX = _ref.lineX,
lineY = _ref.lineY,
_onClick = _ref.onClick,
textX = _ref.textX,
textY = _ref.textY,
textBaseline = _ref.textBaseline,
textAnchor = _ref.textAnchor;
var theme = useTheme();
var value = _value;
if (format !== undefined) {
value = format(value);
}
_createClass(AxisTick, [{
key: "render",
value: function render() {
var _this$props = this.props,
_value = _this$props.value,
x = _this$props.x,
y = _this$props.y,
opacity = _this$props.opacity,
rotate = _this$props.rotate,
format = _this$props.format,
lineX = _this$props.lineX,
lineY = _this$props.lineY,
_onClick = _this$props.onClick,
textX = _this$props.textX,
textY = _this$props.textY,
textBaseline = _this$props.textBaseline,
textAnchor = _this$props.textAnchor,
theme = _this$props.theme;
var value = _value;
if (format !== undefined) {
value = format(value);
}
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
} : {}, {
style: gStyle
}), React.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React.createElement("text", {
alignmentBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
}]);
return AxisTick;
}(PureComponent);
_defineProperty$1(AxisTick, "propTypes", {
} : {}, {
style: gStyle
}), React.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React.createElement("text", {
dominantBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
};
AxisTick.propTypes = {
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]).isRequired,

@@ -242,15 +266,13 @@ format: PropTypes.func,

rotate: PropTypes.number.isRequired,
onClick: PropTypes.func,
theme: PropTypes.shape({
axis: axisThemePropType.isRequired
}).isRequired
});
_defineProperty$1(AxisTick, "defaultProps", {
onClick: PropTypes.func
};
AxisTick.defaultProps = {
opacity: 1,
rotate: 0
});
};
var AxisTick$1 = memo(AxisTick);
function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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; }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } return target; }
function _defineProperty$1(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 willEnter = function willEnter() {

@@ -279,3 +301,3 @@ return {

var defaultTickRenderer = function defaultTickRenderer(props) {
return React.createElement(AxisTick, props);
return React.createElement(AxisTick$1, props);
};

@@ -298,7 +320,10 @@ var Axis = function Axis(_ref2) {

legendOffset = _ref2.legendOffset,
theme = _ref2.theme,
animate = _ref2.animate,
motionStiffness = _ref2.motionStiffness,
motionDamping = _ref2.motionDamping,
onClick = _ref2.onClick;
var theme = useTheme();
var _useMotionConfig = useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var formatValue = useMemo(function () {
return getFormatter(format, scale);
}, [format, scale]);
var _computeCartesianTick = computeCartesianTicks({

@@ -350,3 +375,3 @@ axis: axis,

style: _objectSpread$1({
alignmentBaseline: 'middle'
dominantBaseline: 'central'
}, theme.axis.legend.text)

@@ -361,7 +386,6 @@ }, legend);

tickIndex: tickIndex,
format: format,
format: formatValue,
rotate: tickRotation,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, onClick ? {

@@ -378,6 +402,2 @@ onClick: onClick

}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
return React.createElement(Motion, {

@@ -412,6 +432,5 @@ style: {

tickIndex: tickIndex,
format: format,
format: formatValue,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, style, onClick ? {

@@ -435,3 +454,3 @@ onClick: onClick

};
Axis.propTypes = _objectSpread$1({
Axis.propTypes = {
axis: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -443,7 +462,7 @@ scale: PropTypes.func.isRequired,

ticksPosition: PropTypes.oneOf(['before', 'after']).isRequired,
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickValues: axisPropTypes.tickValues,
tickSize: PropTypes.number.isRequired,
tickPadding: PropTypes.number.isRequired,
tickRotation: PropTypes.number.isRequired,
tickFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func.isRequired,

@@ -453,6 +472,4 @@ legend: PropTypes.node,

legendOffset: PropTypes.number.isRequired,
theme: PropTypes.shape({
axis: axisThemePropType.isRequired
}).isRequired
}, motionPropTypes);
onClick: PropTypes.func
};
Axis.defaultProps = {

@@ -468,92 +485,39 @@ x: 0,

};
var enhance = compose(withMotion(), withPropsOnChange(['format', 'scale'], function (_ref4) {
var format = _ref4.format,
scale = _ref4.scale;
return {
format: getFormatter(format, scale)
};
}), pure);
var Axis$1 = setDisplayName('Axis')(enhance(Axis));
var Axis$1 = memo(Axis);
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$3(target, key, source[key]); }); } return target; }
function _typeof$1(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); }
function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$1(self, call) { if (call && (_typeof$1(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$1(self); }
function _assertThisInitialized$1(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _getPrototypeOf$1(o) { _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$1(o); }
function _inherits$1(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 } }); if (superClass) _setPrototypeOf$1(subClass, superClass); }
function _setPrototypeOf$1(o, p) { _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$1(o, p); }
function _defineProperty$3(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 positions = ['top', 'right', 'bottom', 'left'];
var Axes =
function (_PureComponent) {
_inherits$1(Axes, _PureComponent);
function Axes() {
_classCallCheck$1(this, Axes);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(Axes).apply(this, arguments));
}
_createClass$1(Axes, [{
key: "render",
value: function render() {
var _this$props = this.props,
xScale = _this$props.xScale,
yScale = _this$props.yScale,
width = _this$props.width,
height = _this$props.height,
top = _this$props.top,
right = _this$props.right,
bottom = _this$props.bottom,
left = _this$props.left,
theme = _this$props.theme,
animate = _this$props.animate,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return React.createElement(Fragment, null, positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition,
theme: theme,
animate: animate,
motionDamping: motionDamping,
motionStiffness: motionStiffness
}));
}));
}
}]);
return Axes;
}(PureComponent);
_defineProperty$3(Axes, "propTypes", _objectSpread$2({
var Axes = function Axes(_ref) {
var xScale = _ref.xScale,
yScale = _ref.yScale,
width = _ref.width,
height = _ref.height,
top = _ref.top,
right = _ref.right,
bottom = _ref.bottom,
left = _ref.left;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition
}));
});
};
Axes.propTypes = {
xScale: PropTypes.func.isRequired,

@@ -566,7 +530,5 @@ yScale: PropTypes.func.isRequired,

bottom: axisPropType,
left: axisPropType,
theme: PropTypes.shape({
axis: axisThemePropType.isRequired
}).isRequired
}, motionPropTypes));
left: axisPropType
};
var Axes$1 = memo(Axes);

@@ -588,30 +550,15 @@ var GridLine = function GridLine(props) {

};
var GridLine$1 = memo(GridLine);
function _typeof$2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); }
function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$2(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$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$2(self, call) { if (call && (_typeof$2(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$2(self); }
function _getPrototypeOf$2(o) { _getPrototypeOf$2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$2(o); }
function _assertThisInitialized$2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits$2(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 } }); if (superClass) _setPrototypeOf$2(subClass, superClass); }
function _setPrototypeOf$2(o, p) { _setPrototypeOf$2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$2(o, p); }
function _defineProperty$4(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 GridLines =
function (_Component) {
_inherits$2(GridLines, _Component);
function GridLines(props) {
var _this;
_classCallCheck$2(this, GridLines);
_this = _possibleConstructorReturn$2(this, _getPrototypeOf$2(GridLines).call(this, props));
_this.willEnter = _this.willEnter.bind(_assertThisInitialized$2(_this));
_this.willLeave = _this.willLeave.bind(_assertThisInitialized$2(_this));
return _this;
}
_createClass$2(GridLines, [{
key: "willEnter",
value: function willEnter(_ref) {
var style = _ref.style;
var type = this.props.type;
var GridLines = function GridLines(_ref) {
var type = _ref.type,
lines = _ref.lines;
var theme = useTheme();
var _useMotionConfig = useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var lineWillEnter = useMemo(function () {
return function (_ref2) {
var style = _ref2.style;
return {

@@ -624,14 +571,7 @@ opacity: 0,

};
}
}, {
key: "willLeave",
value: function willLeave(_ref2) {
var style = _ref2.style;
var _this$props = this.props,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
};
}, [type]);
var lineWillLeave = useMemo(function () {
return function (_ref3) {
var style = _ref3.style;
return {

@@ -644,52 +584,37 @@ opacity: spring(0, springConfig),

};
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
lines = _this$props2.lines,
animate = _this$props2.animate,
motionStiffness = _this$props2.motionStiffness,
motionDamping = _this$props2.motionDamping,
theme = _this$props2.theme;
if (!animate) {
return React.createElement("g", null, lines.map(function (line) {
return React.createElement(GridLine, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
}, [springConfig]);
if (!animate) {
return React.createElement("g", null, lines.map(function (line) {
return React.createElement(GridLine$1, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
return React.createElement(TransitionMotion, {
willEnter: lineWillEnter,
willLeave: lineWillLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: spring(1, springConfig),
x1: spring(line.x1 || 0, springConfig),
x2: spring(line.x2 || 0, springConfig),
y1: spring(line.y1 || 0, springConfig),
y2: spring(line.y2 || 0, springConfig)
}
};
return React.createElement(TransitionMotion, {
willEnter: this.willEnter,
willLeave: this.willLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: spring(1, springConfig),
x1: spring(line.x1 || 0, springConfig),
x2: spring(line.x2 || 0, springConfig),
y1: spring(line.y1 || 0, springConfig),
y2: spring(line.y2 || 0, springConfig)
}
};
})
}, function (interpolatedStyles) {
return React.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React.createElement(GridLine, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
}
}]);
return GridLines;
}(Component);
_defineProperty$4(GridLines, "propTypes", {
})
}, function (interpolatedStyles) {
return React.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React.createElement(GridLine$1, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
};
GridLines.propTypes = {
type: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -702,11 +627,6 @@ lines: PropTypes.arrayOf(PropTypes.shape({

y2: PropTypes.number
})).isRequired,
theme: PropTypes.object.isRequired,
animate: PropTypes.bool.isRequired,
motionStiffness: PropTypes.number.isRequired,
motionDamping: PropTypes.number.isRequired
});
})).isRequired
};
var GridLines$1 = memo(GridLines);
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$5(target, key, source[key]); }); } return target; }
function _defineProperty$5(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 Grid = function Grid(_ref) {

@@ -718,14 +638,13 @@ var width = _ref.width,

xValues = _ref.xValues,
yValues = _ref.yValues,
theme = _ref.theme,
animate = _ref.animate,
motionStiffness = _ref.motionStiffness,
motionDamping = _ref.motionDamping;
var xLines = xScale ? computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
}) : false;
yValues = _ref.yValues;
var xLines = useMemo(function () {
if (!xScale) return false;
return computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
});
}, [xScale, xValues]);
var yLines = yScale ? computeGridLines({

@@ -738,19 +657,11 @@ width: width,

}) : false;
return React.createElement("g", null, xLines && React.createElement(GridLines, {
return React.createElement(React.Fragment, null, xLines && React.createElement(GridLines$1, {
type: "x",
lines: xLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
}), yLines && React.createElement(GridLines, {
lines: xLines
}), yLines && React.createElement(GridLines$1, {
type: "y",
lines: yLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
lines: yLines
}));
};
Grid.propTypes = _objectSpread$3({
Grid.propTypes = {
width: PropTypes.number.isRequired,

@@ -761,7 +672,5 @@ height: PropTypes.number.isRequired,

xValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
theme: PropTypes.object.isRequired
}, motionPropTypes);
Grid.defaultProps = {};
var Grid$1 = pure(Grid);
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))])
};
var Grid$1 = memo(Grid);

@@ -772,4 +681,4 @@ var degreesToRadians = function degreesToRadians(degrees) {

function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$6(target, key, source[key]); }); } return target; }
function _defineProperty$6(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; }
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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 renderAxisToCanvas = function renderAxisToCanvas(ctx, _ref) {

@@ -906,3 +815,3 @@ var axis = _ref.axis,

var format = getFormatter(axis.format, scale);
renderAxisToCanvas(ctx, _objectSpread$4({}, axis, {
renderAxisToCanvas(ctx, _objectSpread$2({}, axis, {
axis: isXAxis ? 'x' : 'y',

@@ -940,2 +849,2 @@ x: position === 'right' ? width : 0,

export { Axes, Axis$1 as Axis, Grid$1 as Grid, axisPropType, axisPropTypes, renderAxesToCanvas, renderAxisToCanvas, renderGridLinesToCanvas };
export { Axes$1 as Axes, Axis$1 as Axis, Grid$1 as Grid, axisPropType, axisPropTypes, renderAxesToCanvas, renderAxisToCanvas, renderGridLinesToCanvas };
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('@nivo/core'), require('recompose/compose'), require('recompose/withPropsOnChange'), require('recompose/pure'), require('recompose/setDisplayName'), require('react-motion'), require('lodash/isNumber'), require('lodash/isArray'), require('lodash/isFunction'), require('d3-time-format'), require('d3-format')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', '@nivo/core', 'recompose/compose', 'recompose/withPropsOnChange', 'recompose/pure', 'recompose/setDisplayName', 'react-motion', 'lodash/isNumber', 'lodash/isArray', 'lodash/isFunction', 'd3-time-format', 'd3-format'], factory) :
(global = global || self, factory(global.nivo = global.nivo || {}, global.React, global.PropTypes, global.nivo, global.RecomposeCompose, global.RecomposeWithPropsOnChange, global.RecomposePure, global.RecomposeSetDisplayName, global.ReactMotion, global['lodash/isNumber'], global['lodash/isArray'], global['lodash/isFunction'], global.d3, global.d3));
}(this, function (exports, React, PropTypes, core, compose, withPropsOnChange, pure, setDisplayName, reactMotion, isNumber, isArray, isFunction, d3TimeFormat, d3Format) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('react-motion'), require('@nivo/core'), require('lodash/isNumber'), require('d3-time'), require('d3-time-format'), require('d3-format')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', 'react-motion', '@nivo/core', 'lodash/isNumber', 'd3-time', 'd3-time-format', 'd3-format'], factory) :
(global = global || self, factory(global.nivo = global.nivo || {}, global.React, global.PropTypes, global.ReactMotion, global.nivo, global['lodash/isNumber'], global.d3, global.d3, global.d3));
}(this, function (exports, React, PropTypes, reactMotion, core, isNumber, d3Time, d3TimeFormat, d3Format) { 'use strict';
var React__default = 'default' in React ? React['default'] : React;
PropTypes = PropTypes && PropTypes.hasOwnProperty('default') ? PropTypes['default'] : PropTypes;
compose = compose && compose.hasOwnProperty('default') ? compose['default'] : compose;
withPropsOnChange = withPropsOnChange && withPropsOnChange.hasOwnProperty('default') ? withPropsOnChange['default'] : withPropsOnChange;
pure = pure && pure.hasOwnProperty('default') ? pure['default'] : pure;
setDisplayName = setDisplayName && setDisplayName.hasOwnProperty('default') ? setDisplayName['default'] : setDisplayName;
isNumber = isNumber && isNumber.hasOwnProperty('default') ? isNumber['default'] : isNumber;
isArray = isArray && isArray.hasOwnProperty('default') ? isArray['default'] : isArray;
isFunction = isFunction && isFunction.hasOwnProperty('default') ? isFunction['default'] : isFunction;

@@ -30,4 +24,44 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }

};
var getScaleTicks = function getScaleTicks(scale, tickCount) {
if (scale.ticks) return scale.ticks(tickCount);
var timeByType = {
millisecond: [d3Time.timeMillisecond, d3Time.utcMillisecond],
second: [d3Time.timeSecond, d3Time.utcSecond],
minute: [d3Time.timeMinute, d3Time.utcMinute],
hour: [d3Time.timeHour, d3Time.utcHour],
day: [d3Time.timeDay, d3Time.utcDay],
week: [d3Time.timeWeek, d3Time.utcWeek],
sunday: [d3Time.timeSunday, d3Time.utcSunday],
monday: [d3Time.timeMonday, d3Time.utcMonday],
tuesday: [d3Time.timeTuesday, d3Time.utcTuesday],
wednesday: [d3Time.timeWednesday, d3Time.utcWednesday],
thursday: [d3Time.timeThursday, d3Time.utcThursday],
friday: [d3Time.timeFriday, d3Time.utcFriday],
saturday: [d3Time.timeSaturday, d3Time.utcSaturday],
month: [d3Time.timeMonth, d3Time.utcMonth],
year: [d3Time.timeYear, d3Time.utcYear]
};
var timeTypes = Object.keys(timeByType);
var timeIntervalRegexp = new RegExp("^every\\s*(\\d+)?\\s*(".concat(timeTypes.join('|'), ")s?$"), 'i');
var getScaleTicks = function getScaleTicks(scale, spec) {
if (Array.isArray(spec)) {
return spec;
}
if (scale.ticks) {
if (spec === undefined) {
return scale.ticks();
}
if (isNumber(spec)) {
return scale.ticks(spec);
}
if (typeof spec === 'string') {
var matches = spec.match(timeIntervalRegexp);
if (matches) {
var timeType = timeByType[matches[2]][1];
if (matches[1] === undefined) {
return scale.ticks(timeType);
}
return scale.ticks(timeType.every(Number(matches[1])));
}
throw new Error("Invalid tickValues: ".concat(spec));
}
}
return scale.domain();

@@ -39,3 +73,3 @@ };

ticksPosition = _ref.ticksPosition,
_tickValues = _ref.tickValues,
tickValues = _ref.tickValues,
tickSize = _ref.tickSize,

@@ -46,5 +80,3 @@ tickPadding = _ref.tickPadding,

engine = _ref$engine === void 0 ? 'svg' : _ref$engine;
var tickValues = isArray(_tickValues) ? _tickValues : undefined;
var tickCount = isNumber(_tickValues) ? _tickValues : undefined;
var values = tickValues || getScaleTicks(scale, tickCount);
var values = getScaleTicks(scale, tickValues);
var textProps = core.textPropsByEngine[engine];

@@ -114,3 +146,3 @@ var position = scale.bandwidth ? centerScale(scale) : scale;

var getFormatter = function getFormatter(format, scale) {
if (!format || isFunction(format)) return format;
if (!format || typeof format === 'function') return format;
if (scale.type === 'time') {

@@ -130,3 +162,3 @@ var f = d3TimeFormat.timeFormat(format);

_values = _ref2.values;
var lineValues = isArray(_values) ? _values : undefined;
var lineValues = Array.isArray(_values) ? _values : undefined;
var lineCount = isNumber(_values) ? _values : undefined;

@@ -160,73 +192,64 @@ var values = lineValues || getScaleTicks(scale, lineCount);

function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)])), PropTypes.string]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } 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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty$1(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 AxisTick =
function (_PureComponent) {
_inherits(AxisTick, _PureComponent);
function AxisTick() {
_classCallCheck(this, AxisTick);
return _possibleConstructorReturn(this, _getPrototypeOf(AxisTick).apply(this, arguments));
var AxisTick = function AxisTick(_ref) {
var _value = _ref.value,
x = _ref.x,
y = _ref.y,
opacity = _ref.opacity,
rotate = _ref.rotate,
format = _ref.format,
lineX = _ref.lineX,
lineY = _ref.lineY,
_onClick = _ref.onClick,
textX = _ref.textX,
textY = _ref.textY,
textBaseline = _ref.textBaseline,
textAnchor = _ref.textAnchor;
var theme = core.useTheme();
var value = _value;
if (format !== undefined) {
value = format(value);
}
_createClass(AxisTick, [{
key: "render",
value: function render() {
var _this$props = this.props,
_value = _this$props.value,
x = _this$props.x,
y = _this$props.y,
opacity = _this$props.opacity,
rotate = _this$props.rotate,
format = _this$props.format,
lineX = _this$props.lineX,
lineY = _this$props.lineY,
_onClick = _this$props.onClick,
textX = _this$props.textX,
textY = _this$props.textY,
textBaseline = _this$props.textBaseline,
textAnchor = _this$props.textAnchor,
theme = _this$props.theme;
var value = _value;
if (format !== undefined) {
value = format(value);
}
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React__default.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
} : {}, {
style: gStyle
}), React__default.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React__default.createElement("text", {
alignmentBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
var gStyle = {
opacity: opacity
};
if (_onClick) {
gStyle['cursor'] = 'pointer';
}
return React__default.createElement("g", _extends({
transform: "translate(".concat(x, ",").concat(y, ")")
}, _onClick ? {
onClick: function onClick(e) {
return _onClick(e, value);
}
}]);
return AxisTick;
}(React.PureComponent);
_defineProperty$1(AxisTick, "propTypes", {
} : {}, {
style: gStyle
}), React__default.createElement("line", {
x1: 0,
x2: lineX,
y1: 0,
y2: lineY,
style: theme.axis.ticks.line
}), React__default.createElement("text", {
dominantBaseline: textBaseline,
textAnchor: textAnchor,
transform: "translate(".concat(textX, ",").concat(textY, ") rotate(").concat(rotate, ")"),
style: theme.axis.ticks.text
}, value));
};
AxisTick.propTypes = {
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]).isRequired,

@@ -244,15 +267,13 @@ format: PropTypes.func,

rotate: PropTypes.number.isRequired,
onClick: PropTypes.func,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
});
_defineProperty$1(AxisTick, "defaultProps", {
onClick: PropTypes.func
};
AxisTick.defaultProps = {
opacity: 1,
rotate: 0
});
};
var AxisTick$1 = React.memo(AxisTick);
function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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; }
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } return target; }
function _defineProperty$1(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 willEnter = function willEnter() {

@@ -281,3 +302,3 @@ return {

var defaultTickRenderer = function defaultTickRenderer(props) {
return React__default.createElement(AxisTick, props);
return React__default.createElement(AxisTick$1, props);
};

@@ -300,7 +321,10 @@ var Axis = function Axis(_ref2) {

legendOffset = _ref2.legendOffset,
theme = _ref2.theme,
animate = _ref2.animate,
motionStiffness = _ref2.motionStiffness,
motionDamping = _ref2.motionDamping,
onClick = _ref2.onClick;
var theme = core.useTheme();
var _useMotionConfig = core.useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var formatValue = React.useMemo(function () {
return getFormatter(format, scale);
}, [format, scale]);
var _computeCartesianTick = computeCartesianTicks({

@@ -352,3 +376,3 @@ axis: axis,

style: _objectSpread$1({
alignmentBaseline: 'middle'
dominantBaseline: 'central'
}, theme.axis.legend.text)

@@ -363,7 +387,6 @@ }, legend);

tickIndex: tickIndex,
format: format,
format: formatValue,
rotate: tickRotation,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, onClick ? {

@@ -380,6 +403,2 @@ onClick: onClick

}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
return React__default.createElement(reactMotion.Motion, {

@@ -414,6 +433,5 @@ style: {

tickIndex: tickIndex,
format: format,
format: formatValue,
textBaseline: textBaseline,
textAnchor: textAlign,
theme: theme
textAnchor: textAlign
}, tick, style, onClick ? {

@@ -437,3 +455,3 @@ onClick: onClick

};
Axis.propTypes = _objectSpread$1({
Axis.propTypes = {
axis: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -445,7 +463,7 @@ scale: PropTypes.func.isRequired,

ticksPosition: PropTypes.oneOf(['before', 'after']).isRequired,
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickValues: axisPropTypes.tickValues,
tickSize: PropTypes.number.isRequired,
tickPadding: PropTypes.number.isRequired,
tickRotation: PropTypes.number.isRequired,
tickFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func.isRequired,

@@ -455,6 +473,4 @@ legend: PropTypes.node,

legendOffset: PropTypes.number.isRequired,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
}, core.motionPropTypes);
onClick: PropTypes.func
};
Axis.defaultProps = {

@@ -470,92 +486,39 @@ x: 0,

};
var enhance = compose(core.withMotion(), withPropsOnChange(['format', 'scale'], function (_ref4) {
var format = _ref4.format,
scale = _ref4.scale;
return {
format: getFormatter(format, scale)
};
}), pure);
var Axis$1 = setDisplayName('Axis')(enhance(Axis));
var Axis$1 = React.memo(Axis);
var axisPropTypes = {
ticksPosition: PropTypes.oneOf(['before', 'after']),
tickValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
tickSize: PropTypes.number,
tickPadding: PropTypes.number,
tickRotation: PropTypes.number,
format: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
renderTick: PropTypes.func,
legend: PropTypes.node,
legendPosition: PropTypes.oneOf(['start', 'middle', 'end']),
legendOffset: PropTypes.number
};
var axisPropType = PropTypes.shape(axisPropTypes);
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$3(target, key, source[key]); }); } return target; }
function _typeof$1(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$1(obj); }
function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$1(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$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$1(self, call) { if (call && (_typeof$1(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$1(self); }
function _assertThisInitialized$1(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _getPrototypeOf$1(o) { _getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$1(o); }
function _inherits$1(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 } }); if (superClass) _setPrototypeOf$1(subClass, superClass); }
function _setPrototypeOf$1(o, p) { _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$1(o, p); }
function _defineProperty$3(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 positions = ['top', 'right', 'bottom', 'left'];
var Axes =
function (_PureComponent) {
_inherits$1(Axes, _PureComponent);
function Axes() {
_classCallCheck$1(this, Axes);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(Axes).apply(this, arguments));
}
_createClass$1(Axes, [{
key: "render",
value: function render() {
var _this$props = this.props,
xScale = _this$props.xScale,
yScale = _this$props.yScale,
width = _this$props.width,
height = _this$props.height,
top = _this$props.top,
right = _this$props.right,
bottom = _this$props.bottom,
left = _this$props.left,
theme = _this$props.theme,
animate = _this$props.animate,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return React__default.createElement(React.Fragment, null, positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React__default.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition,
theme: theme,
animate: animate,
motionDamping: motionDamping,
motionStiffness: motionStiffness
}));
}));
}
}]);
return Axes;
}(React.PureComponent);
_defineProperty$3(Axes, "propTypes", _objectSpread$2({
var Axes = function Axes(_ref) {
var xScale = _ref.xScale,
yScale = _ref.yScale,
width = _ref.width,
height = _ref.height,
top = _ref.top,
right = _ref.right,
bottom = _ref.bottom,
left = _ref.left;
var axes = {
top: top,
right: right,
bottom: bottom,
left: left
};
return positions.map(function (position) {
var axis = axes[position];
if (!axis) return null;
var isXAxis = position === 'top' || position === 'bottom';
var ticksPosition = position === 'top' || position === 'left' ? 'before' : 'after';
return React__default.createElement(Axis$1, _extends$2({
key: position
}, axis, {
axis: isXAxis ? 'x' : 'y',
x: position === 'right' ? width : 0,
y: position === 'bottom' ? height : 0,
scale: isXAxis ? xScale : yScale,
length: isXAxis ? width : height,
ticksPosition: ticksPosition
}));
});
};
Axes.propTypes = {
xScale: PropTypes.func.isRequired,

@@ -568,7 +531,5 @@ yScale: PropTypes.func.isRequired,

bottom: axisPropType,
left: axisPropType,
theme: PropTypes.shape({
axis: core.axisThemePropType.isRequired
}).isRequired
}, core.motionPropTypes));
left: axisPropType
};
var Axes$1 = React.memo(Axes);

@@ -590,30 +551,15 @@ var GridLine = function GridLine(props) {

};
var GridLine$1 = React.memo(GridLine);
function _typeof$2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof$2(obj); }
function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
function _classCallCheck$2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties$2(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$2(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$2(Constructor.prototype, protoProps); if (staticProps) _defineProperties$2(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn$2(self, call) { if (call && (_typeof$2(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized$2(self); }
function _getPrototypeOf$2(o) { _getPrototypeOf$2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf$2(o); }
function _assertThisInitialized$2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits$2(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 } }); if (superClass) _setPrototypeOf$2(subClass, superClass); }
function _setPrototypeOf$2(o, p) { _setPrototypeOf$2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf$2(o, p); }
function _defineProperty$4(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 GridLines =
function (_Component) {
_inherits$2(GridLines, _Component);
function GridLines(props) {
var _this;
_classCallCheck$2(this, GridLines);
_this = _possibleConstructorReturn$2(this, _getPrototypeOf$2(GridLines).call(this, props));
_this.willEnter = _this.willEnter.bind(_assertThisInitialized$2(_this));
_this.willLeave = _this.willLeave.bind(_assertThisInitialized$2(_this));
return _this;
}
_createClass$2(GridLines, [{
key: "willEnter",
value: function willEnter(_ref) {
var style = _ref.style;
var type = this.props.type;
var GridLines = function GridLines(_ref) {
var type = _ref.type,
lines = _ref.lines;
var theme = core.useTheme();
var _useMotionConfig = core.useMotionConfig(),
animate = _useMotionConfig.animate,
springConfig = _useMotionConfig.springConfig;
var lineWillEnter = React.useMemo(function () {
return function (_ref2) {
var style = _ref2.style;
return {

@@ -626,14 +572,7 @@ opacity: 0,

};
}
}, {
key: "willLeave",
value: function willLeave(_ref2) {
var style = _ref2.style;
var _this$props = this.props,
motionStiffness = _this$props.motionStiffness,
motionDamping = _this$props.motionDamping;
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
};
}, [type]);
var lineWillLeave = React.useMemo(function () {
return function (_ref3) {
var style = _ref3.style;
return {

@@ -646,52 +585,37 @@ opacity: reactMotion.spring(0, springConfig),

};
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
lines = _this$props2.lines,
animate = _this$props2.animate,
motionStiffness = _this$props2.motionStiffness,
motionDamping = _this$props2.motionDamping,
theme = _this$props2.theme;
if (!animate) {
return React__default.createElement("g", null, lines.map(function (line) {
return React__default.createElement(GridLine, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
var springConfig = {
stiffness: motionStiffness,
damping: motionDamping
};
}, [springConfig]);
if (!animate) {
return React__default.createElement("g", null, lines.map(function (line) {
return React__default.createElement(GridLine$1, _extends$3({
key: line.key
}, line, theme.grid.line));
}));
}
return React__default.createElement(reactMotion.TransitionMotion, {
willEnter: lineWillEnter,
willLeave: lineWillLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: reactMotion.spring(1, springConfig),
x1: reactMotion.spring(line.x1 || 0, springConfig),
x2: reactMotion.spring(line.x2 || 0, springConfig),
y1: reactMotion.spring(line.y1 || 0, springConfig),
y2: reactMotion.spring(line.y2 || 0, springConfig)
}
};
return React__default.createElement(reactMotion.TransitionMotion, {
willEnter: this.willEnter,
willLeave: this.willLeave,
styles: lines.map(function (line) {
return {
key: line.key,
style: {
opacity: reactMotion.spring(1, springConfig),
x1: reactMotion.spring(line.x1 || 0, springConfig),
x2: reactMotion.spring(line.x2 || 0, springConfig),
y1: reactMotion.spring(line.y1 || 0, springConfig),
y2: reactMotion.spring(line.y2 || 0, springConfig)
}
};
})
}, function (interpolatedStyles) {
return React__default.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React__default.createElement(GridLine, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
}
}]);
return GridLines;
}(React.Component);
_defineProperty$4(GridLines, "propTypes", {
})
}, function (interpolatedStyles) {
return React__default.createElement("g", null, interpolatedStyles.map(function (interpolatedStyle) {
var key = interpolatedStyle.key,
style = interpolatedStyle.style;
return React__default.createElement(GridLine$1, _extends$3({
key: key
}, theme.grid.line, style));
}));
});
};
GridLines.propTypes = {
type: PropTypes.oneOf(['x', 'y']).isRequired,

@@ -704,11 +628,6 @@ lines: PropTypes.arrayOf(PropTypes.shape({

y2: PropTypes.number
})).isRequired,
theme: PropTypes.object.isRequired,
animate: PropTypes.bool.isRequired,
motionStiffness: PropTypes.number.isRequired,
motionDamping: PropTypes.number.isRequired
});
})).isRequired
};
var GridLines$1 = React.memo(GridLines);
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$5(target, key, source[key]); }); } return target; }
function _defineProperty$5(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 Grid = function Grid(_ref) {

@@ -720,14 +639,13 @@ var width = _ref.width,

xValues = _ref.xValues,
yValues = _ref.yValues,
theme = _ref.theme,
animate = _ref.animate,
motionStiffness = _ref.motionStiffness,
motionDamping = _ref.motionDamping;
var xLines = xScale ? computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
}) : false;
yValues = _ref.yValues;
var xLines = React.useMemo(function () {
if (!xScale) return false;
return computeGridLines({
width: width,
height: height,
scale: xScale,
axis: 'x',
values: xValues
});
}, [xScale, xValues]);
var yLines = yScale ? computeGridLines({

@@ -740,19 +658,11 @@ width: width,

}) : false;
return React__default.createElement("g", null, xLines && React__default.createElement(GridLines, {
return React__default.createElement(React__default.Fragment, null, xLines && React__default.createElement(GridLines$1, {
type: "x",
lines: xLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
}), yLines && React__default.createElement(GridLines, {
lines: xLines
}), yLines && React__default.createElement(GridLines$1, {
type: "y",
lines: yLines,
theme: theme,
animate: animate,
motionStiffness: motionStiffness,
motionDamping: motionDamping
lines: yLines
}));
};
Grid.propTypes = _objectSpread$3({
Grid.propTypes = {
width: PropTypes.number.isRequired,

@@ -763,7 +673,5 @@ height: PropTypes.number.isRequired,

xValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))]),
theme: PropTypes.object.isRequired
}, core.motionPropTypes);
Grid.defaultProps = {};
var Grid$1 = pure(Grid);
yValues: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.instanceOf(Date)]))])
};
var Grid$1 = React.memo(Grid);

@@ -774,4 +682,4 @@ var degreesToRadians = function degreesToRadians(degrees) {

function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$6(target, key, source[key]); }); } return target; }
function _defineProperty$6(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; }
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } return target; }
function _defineProperty$2(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 renderAxisToCanvas = function renderAxisToCanvas(ctx, _ref) {

@@ -908,3 +816,3 @@ var axis = _ref.axis,

var format = getFormatter(axis.format, scale);
renderAxisToCanvas(ctx, _objectSpread$4({}, axis, {
renderAxisToCanvas(ctx, _objectSpread$2({}, axis, {
axis: isXAxis ? 'x' : 'y',

@@ -942,3 +850,3 @@ x: position === 'right' ? width : 0,

exports.Axes = Axes;
exports.Axes = Axes$1;
exports.Axis = Axis$1;

@@ -945,0 +853,0 @@ exports.Grid = Grid$1;

import * as React from 'react'
declare module '@nivo/axes' {
export type TickFormatter = (value: number | string | Date) => string | number
export interface AxisProps {
tickValues?: number | number[] | string[] | Date[]
tickValues?: number | number[] | string[] | Date[] | string
tickSize?: number
tickPadding?: number
tickRotation?: number
format?: any // PropTypes.oneOfType([PropTypes.func, PropTypes.string])
format?: string | TickFormatter
renderTick?: (data: any) => React.ReactNode

@@ -11,0 +13,0 @@ legend?: React.ReactNode

{
"name": "@nivo/axes",
"version": "0.56.2",
"version": "0.57.0",
"license": "MIT",

@@ -24,8 +24,8 @@ "author": {

"dependencies": {
"@nivo/core": "0.56.2",
"@nivo/core": "0.57.0",
"d3-format": "^1.3.2",
"d3-time": "^1.0.11",
"d3-time-format": "^2.1.3",
"lodash": "^4.17.11",
"react-motion": "^0.5.2",
"recompose": "^0.30.0"
"react-motion": "^0.5.2"
},

@@ -39,3 +39,3 @@ "peerDependencies": {

},
"gitHead": "97dc958b0a3390a4c8d85125dc080a1cc4c6fc85"
"gitHead": "747b36908447afad4d4c4fe570bf9e189e163b15"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with āš”ļø by Socket Inc