victory-core 35.11.3 → 36.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/victory-core.js +10581 -8123
  2. package/dist/victory-core.min.js +1 -1
  3. package/es/index.js +9 -2
  4. package/es/victory-label/victory-label.js +3 -3
  5. package/es/victory-primitives/point.js +1 -1
  6. package/es/victory-util/hooks/index.js +2 -0
  7. package/es/victory-util/hooks/use-animation-state.js +130 -0
  8. package/es/victory-util/hooks/use-previous-props.js +8 -0
  9. package/es/victory-util/line-helpers.js +45 -0
  10. package/es/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  11. package/es/victory-util/wrapper.js +372 -457
  12. package/lib/index.js +20 -8
  13. package/lib/victory-label/victory-label.js +3 -3
  14. package/lib/victory-primitives/point.js +10 -10
  15. package/lib/victory-util/hooks/index.js +21 -0
  16. package/lib/victory-util/hooks/use-animation-state.js +151 -0
  17. package/lib/victory-util/hooks/use-previous-props.js +22 -0
  18. package/lib/victory-util/line-helpers.js +56 -0
  19. package/lib/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  20. package/lib/victory-util/wrapper.js +389 -446
  21. package/package.json +6 -3
  22. package/src/index.js +5 -1
  23. package/src/victory-label/victory-label.js +3 -3
  24. package/src/victory-primitives/point.js +1 -1
  25. package/src/victory-util/hooks/index.js +2 -0
  26. package/src/victory-util/hooks/use-animation-state.js +123 -0
  27. package/src/victory-util/hooks/use-previous-props.js +9 -0
  28. package/src/victory-util/line-helpers.js +54 -0
  29. package/src/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  30. package/src/victory-util/transitions.js +0 -1
  31. package/src/victory-util/wrapper.js +422 -518
package/lib/index.js CHANGED
@@ -153,12 +153,6 @@ Object.defineProperty(exports, "Timer", {
153
153
  return _timer.default;
154
154
  }
155
155
  });
156
- Object.defineProperty(exports, "Wrapper", {
157
- enumerable: true,
158
- get: function () {
159
- return _wrapper.default;
160
- }
161
- });
162
156
  Object.defineProperty(exports, "TimerContext", {
163
157
  enumerable: true,
164
158
  get: function () {
@@ -171,7 +165,13 @@ Object.defineProperty(exports, "PortalContext", {
171
165
  return _portalContext.default;
172
166
  }
173
167
  });
174
- exports.Axis = exports.CommonProps = exports.Transitions = exports.TextSize = exports.Style = exports.Selection = exports.Scale = exports.PropTypes = exports.Log = exports.LabelHelpers = exports.Immutable = exports.Helpers = exports.Events = exports.Domain = exports.DefaultTransitions = exports.Data = exports.Collection = void 0;
168
+ Object.defineProperty(exports, "PointPathHelpers", {
169
+ enumerable: true,
170
+ get: function () {
171
+ return _pointPathHelpers.default;
172
+ }
173
+ });
174
+ exports.LineHelpers = exports.Hooks = exports.Axis = exports.Wrapper = exports.CommonProps = exports.Transitions = exports.TextSize = exports.Style = exports.Selection = exports.Scale = exports.PropTypes = exports.Log = exports.LabelHelpers = exports.Immutable = exports.Helpers = exports.Events = exports.Domain = exports.DefaultTransitions = exports.Data = exports.Collection = void 0;
175
175
 
176
176
  var _victoryAccessibleGroup = _interopRequireDefault(require("./victory-accessible-group/victory-accessible-group"));
177
177
 
@@ -285,7 +285,9 @@ var _CommonProps = _interopRequireWildcard(require("./victory-util/common-props"
285
285
 
286
286
  exports.CommonProps = _CommonProps;
287
287
 
288
- var _wrapper = _interopRequireDefault(require("./victory-util/wrapper"));
288
+ var _Wrapper = _interopRequireWildcard(require("./victory-util/wrapper"));
289
+
290
+ exports.Wrapper = _Wrapper;
289
291
 
290
292
  var _Axis = _interopRequireWildcard(require("./victory-util/axis"));
291
293
 
@@ -295,6 +297,16 @@ var _timerContext = _interopRequireDefault(require("./victory-util/timer-context
295
297
 
296
298
  var _portalContext = _interopRequireDefault(require("./victory-portal/portal-context"));
297
299
 
300
+ var _Hooks = _interopRequireWildcard(require("./victory-util/hooks"));
301
+
302
+ exports.Hooks = _Hooks;
303
+
304
+ var _LineHelpers = _interopRequireWildcard(require("./victory-util/line-helpers"));
305
+
306
+ exports.LineHelpers = _LineHelpers;
307
+
308
+ var _pointPathHelpers = _interopRequireDefault(require("./victory-util/point-path-helpers"));
309
+
298
310
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
299
311
 
300
312
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -93,7 +93,7 @@ var getSingleValue = function (prop) {
93
93
  return Array.isArray(prop) ? prop[index] || prop[0] : prop;
94
94
  };
95
95
 
96
- var useMultiLineBackgrounds = function (props) {
96
+ var shouldUseMultilineBackgrounds = function (props) {
97
97
  var backgroundStyle = props.backgroundStyle,
98
98
  backgroundPadding = props.backgroundPadding;
99
99
  return Array.isArray(backgroundStyle) && !(0, _isEmpty2.default)(backgroundStyle) || Array.isArray(backgroundPadding) && !(0, _isEmpty2.default)(backgroundPadding);
@@ -385,7 +385,7 @@ var getChildBackgrounds = function (calculatedProps, tspanValues) {
385
385
  };
386
386
 
387
387
  var getBackgroundElement = function (calculatedProps, tspanValues) {
388
- return useMultiLineBackgrounds(calculatedProps) ? getChildBackgrounds(calculatedProps, tspanValues) : getFullBackground(calculatedProps, tspanValues);
388
+ return shouldUseMultilineBackgrounds(calculatedProps) ? getChildBackgrounds(calculatedProps, tspanValues) : getFullBackground(calculatedProps, tspanValues);
389
389
  };
390
390
 
391
391
  var calculateSpanDy = function (tspanValues, i, calculatedProps) {
@@ -396,7 +396,7 @@ var calculateSpanDy = function (tspanValues, i, calculatedProps) {
396
396
  var previousCaps = previous.fontSize - previous.capHeight;
397
397
  var currentCaps = current.fontSize - current.capHeight;
398
398
  var textHeight = previousHeight - previous.fontSize / 2 + current.fontSize / 2 - previousHeight / 2 + currentHeight / 2 - currentCaps / 2 + previousCaps / 2;
399
- return useMultiLineBackgrounds(calculatedProps) ? textHeight + current.backgroundPadding.top + previous.backgroundPadding.bottom : textHeight;
399
+ return shouldUseMultilineBackgrounds(calculatedProps) ? textHeight + current.backgroundPadding.top + previous.backgroundPadding.bottom : textHeight;
400
400
  };
401
401
 
402
402
  var getTSpanDy = function (tspanValues, calculatedProps, i) {
@@ -13,7 +13,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var Helpers = _interopRequireWildcard(require("../victory-util/helpers"));
15
15
 
16
- var _pathHelpers = _interopRequireDefault(require("./path-helpers"));
16
+ var _pointPathHelpers = _interopRequireDefault(require("../victory-util/point-path-helpers"));
17
17
 
18
18
  var CommonProps = _interopRequireWildcard(require("../victory-util/common-props"));
19
19
 
@@ -38,15 +38,15 @@ var getPath = function (props) {
38
38
  }
39
39
 
40
40
  var pathFunctions = {
41
- circle: _pathHelpers.default.circle,
42
- square: _pathHelpers.default.square,
43
- diamond: _pathHelpers.default.diamond,
44
- triangleDown: _pathHelpers.default.triangleDown,
45
- triangleUp: _pathHelpers.default.triangleUp,
46
- plus: _pathHelpers.default.plus,
47
- minus: _pathHelpers.default.minus,
48
- star: _pathHelpers.default.star,
49
- cross: _pathHelpers.default.cross
41
+ circle: _pointPathHelpers.default.circle,
42
+ square: _pointPathHelpers.default.square,
43
+ diamond: _pointPathHelpers.default.diamond,
44
+ triangleDown: _pointPathHelpers.default.triangleDown,
45
+ triangleUp: _pointPathHelpers.default.triangleUp,
46
+ plus: _pointPathHelpers.default.plus,
47
+ minus: _pointPathHelpers.default.minus,
48
+ star: _pointPathHelpers.default.star,
49
+ cross: _pointPathHelpers.default.cross
50
50
  };
51
51
  var symbolFunction = typeof pathFunctions[symbol] === "function" ? pathFunctions[symbol] : pathFunctions.circle;
52
52
  return symbolFunction(x, y, size);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "usePreviousProps", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _usePreviousProps.usePreviousProps;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useAnimationState", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useAnimationState.useAnimationState;
16
+ }
17
+ });
18
+
19
+ var _usePreviousProps = require("./use-previous-props");
20
+
21
+ var _useAnimationState = require("./use-animation-state");
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAnimationState = void 0;
7
+
8
+ var _some2 = _interopRequireDefault(require("lodash/some"));
9
+
10
+ var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var Collection = _interopRequireWildcard(require("../collection"));
15
+
16
+ var Transitions = _interopRequireWildcard(require("../transitions"));
17
+
18
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ 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; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
27
+
28
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ var INITIAL_STATE = {
35
+ nodesShouldLoad: false,
36
+ nodesDoneLoad: false,
37
+ animating: true
38
+ };
39
+
40
+ var useAnimationState = function () {
41
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;
42
+
43
+ var _React$useState = _react.default.useState(initialState),
44
+ _React$useState2 = _slicedToArray(_React$useState, 2),
45
+ state = _React$useState2[0],
46
+ _setState = _React$useState2[1]; // This allows us to use a state object and maintain the same API as this.setState
47
+
48
+
49
+ var setState = _react.default.useCallback(function (newState) {
50
+ _setState(function (oldState) {
51
+ return _objectSpread({}, oldState, newState);
52
+ });
53
+ }, [_setState]); // This is a copy of Wrapper.getAnimationProps
54
+
55
+
56
+ var getAnimationProps = _react.default.useCallback(function (props, child, index) {
57
+ if (!props.animate) {
58
+ return child.props.animate;
59
+ }
60
+
61
+ var getFilteredState = function () {
62
+ var childrenTransitions = state && state.childrenTransitions;
63
+ childrenTransitions = Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[index] : childrenTransitions;
64
+ return (0, _defaults2.default)({
65
+ childrenTransitions: childrenTransitions
66
+ }, state);
67
+ };
68
+
69
+ var getTransitions = props.animate && props.animate.getTransitions;
70
+ var filteredState = getFilteredState();
71
+ var parentState = props.animate && props.animate.parentState || filteredState;
72
+
73
+ if (!getTransitions) {
74
+ var getTransitionProps = Transitions.getTransitionPropsFactory(props, filteredState, function (newState) {
75
+ return setState(newState);
76
+ });
77
+
78
+ getTransitions = function (childComponent) {
79
+ return getTransitionProps(childComponent, index);
80
+ };
81
+ }
82
+
83
+ return (0, _defaults2.default)({
84
+ getTransitions: getTransitions,
85
+ parentState: parentState
86
+ }, props.animate, child.props.animate);
87
+ }, [state, setState]); // This is a copy of Wrapper.setAnimationState
88
+
89
+
90
+ var setAnimationState = _react.default.useCallback(function (props, nextProps) {
91
+ if (!props.animate) {
92
+ return;
93
+ }
94
+
95
+ if (props.animate.parentState) {
96
+ var nodesWillExit = props.animate.parentState.nodesWillExit;
97
+ var oldProps = nodesWillExit ? props : null;
98
+ var newState = (0, _defaults2.default)({
99
+ oldProps: oldProps,
100
+ nextProps: nextProps
101
+ }, props.animate.parentState);
102
+ setState(newState);
103
+ } else {
104
+ var oldChildren = _react.default.Children.toArray(props.children);
105
+
106
+ var nextChildren = _react.default.Children.toArray(nextProps.children);
107
+
108
+ var isContinuous = function (child) {
109
+ var check = function (c) {
110
+ return c.type && c.type.continuous;
111
+ };
112
+
113
+ return Array.isArray(child) ? (0, _some2.default)(child, check) : check(child);
114
+ };
115
+
116
+ var continuous = !props.polar && (0, _some2.default)(oldChildren, function (child) {
117
+ return isContinuous(child) || child.props.children && isContinuous(child.props.children);
118
+ });
119
+
120
+ var _Transitions$getIniti = Transitions.getInitialTransitionState(oldChildren, nextChildren),
121
+ _nodesWillExit = _Transitions$getIniti.nodesWillExit,
122
+ nodesWillEnter = _Transitions$getIniti.nodesWillEnter,
123
+ childrenTransitions = _Transitions$getIniti.childrenTransitions,
124
+ nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;
125
+
126
+ setState({
127
+ nodesWillExit: _nodesWillExit,
128
+ nodesWillEnter: nodesWillEnter,
129
+ nodesShouldEnter: nodesShouldEnter,
130
+ childrenTransitions: Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[0] : childrenTransitions,
131
+ oldProps: _nodesWillExit ? props : null,
132
+ nextProps: nextProps,
133
+ continuous: continuous
134
+ });
135
+ }
136
+ }, [setState]);
137
+
138
+ var getProps = _react.default.useCallback(function (initialProps) {
139
+ return state && state.nodesWillExit ? state.oldProps || initialProps : initialProps;
140
+ }, [state]);
141
+
142
+ return {
143
+ state: state,
144
+ setState: setState,
145
+ getAnimationProps: getAnimationProps,
146
+ setAnimationState: setAnimationState,
147
+ getProps: getProps
148
+ };
149
+ };
150
+
151
+ exports.useAnimationState = useAnimationState;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePreviousProps = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var usePreviousProps = function (props) {
13
+ var ref = _react.default.useRef();
14
+
15
+ _react.default.useEffect(function () {
16
+ ref.current = props;
17
+ });
18
+
19
+ return ref.current || {};
20
+ };
21
+
22
+ exports.usePreviousProps = usePreviousProps;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLineFunction = void 0;
7
+
8
+ var d3Shape = _interopRequireWildcard(require("d3-shape"));
9
+
10
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
11
+
12
+ var defined = function (d) {
13
+ var y = d._y1 !== undefined ? d._y1 : d._y;
14
+ return y !== null && y !== undefined && d._y0 !== null;
15
+ };
16
+
17
+ var getXAccessor = function (scale) {
18
+ return function (d) {
19
+ return scale.x(d._x1 !== undefined ? d._x1 : d._x);
20
+ };
21
+ };
22
+
23
+ var getYAccessor = function (scale) {
24
+ return function (d) {
25
+ return scale.y(d._y1 !== undefined ? d._y1 : d._y);
26
+ };
27
+ };
28
+
29
+ var getAngleAccessor = function (scale) {
30
+ return function (d) {
31
+ var x = scale.x(d._x1 !== undefined ? d._x1 : d._x);
32
+ return -1 * x + Math.PI / 2;
33
+ };
34
+ };
35
+
36
+ var toNewName = function (interpolation) {
37
+ // d3 shape changed the naming scheme for interpolators from "basis" -> "curveBasis" etc.
38
+ var capitalize = function (s) {
39
+ return s && s[0].toUpperCase() + s.slice(1);
40
+ };
41
+
42
+ return "curve".concat(capitalize(interpolation));
43
+ };
44
+
45
+ var getLineFunction = function (props) {
46
+ var polar = props.polar,
47
+ scale = props.scale,
48
+ horizontal = props.horizontal;
49
+ var defaultOpenCurve = polar ? false : true;
50
+ var openCurve = props.openCurve === undefined ? defaultOpenCurve : props.openCurve;
51
+ var interpolationFunction = typeof props.interpolation === "function" && props.interpolation;
52
+ var interpolationName = typeof props.interpolation === "string" && (!openCurve ? "".concat(toNewName(props.interpolation), "Closed") : toNewName(props.interpolation));
53
+ return polar ? d3Shape.lineRadial().defined(defined).curve(interpolationFunction || d3Shape[interpolationName]).angle(getAngleAccessor(scale)).radius(getYAccessor(scale)) : d3Shape.line().defined(defined).curve(interpolationFunction || d3Shape[interpolationName]).x(horizontal ? getYAccessor(scale) : getXAccessor(scale)).y(horizontal ? getXAccessor(scale) : getYAccessor(scale));
54
+ };
55
+
56
+ exports.getLineFunction = getLineFunction;