victory-core 35.11.2 → 36.1.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 (47) hide show
  1. package/LICENSE.txt +30 -0
  2. package/dist/victory-core.js +4376 -1142
  3. package/dist/victory-core.min.js +1 -1
  4. package/es/index.d.ts +6 -0
  5. package/es/index.js +8 -2
  6. package/es/victory-accessible-group/victory-accessible-group.js +1 -3
  7. package/es/victory-animation/victory-animation.js +1 -3
  8. package/es/victory-clip-container/victory-clip-container.js +1 -3
  9. package/es/victory-container/victory-container.js +1 -3
  10. package/es/victory-label/victory-label.js +3 -3
  11. package/es/victory-portal/portal.js +1 -3
  12. package/es/victory-portal/victory-portal.js +1 -3
  13. package/es/victory-primitives/point.js +1 -1
  14. package/es/victory-transition/victory-transition.js +1 -3
  15. package/es/victory-util/add-events.js +305 -308
  16. package/es/victory-util/hooks.js +137 -0
  17. package/es/victory-util/line-helpers.js +45 -0
  18. package/es/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  19. package/es/victory-util/timer.js +1 -3
  20. package/es/victory-util/wrapper.js +372 -457
  21. package/lib/index.d.ts +6 -0
  22. package/lib/index.js +78 -8
  23. package/lib/victory-accessible-group/victory-accessible-group.js +1 -3
  24. package/lib/victory-animation/victory-animation.js +1 -3
  25. package/lib/victory-clip-container/victory-clip-container.js +1 -3
  26. package/lib/victory-container/victory-container.js +1 -3
  27. package/lib/victory-label/victory-label.js +3 -3
  28. package/lib/victory-portal/portal.js +1 -3
  29. package/lib/victory-portal/victory-portal.js +1 -3
  30. package/lib/victory-primitives/point.js +10 -10
  31. package/lib/victory-transition/victory-transition.js +1 -3
  32. package/lib/victory-util/add-events.js +301 -304
  33. package/lib/victory-util/hooks.js +162 -0
  34. package/lib/victory-util/line-helpers.js +56 -0
  35. package/lib/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  36. package/lib/victory-util/timer.js +1 -3
  37. package/lib/victory-util/wrapper.js +389 -446
  38. package/package.json +7 -3
  39. package/src/index.d.ts +6 -0
  40. package/src/index.js +5 -1
  41. package/src/victory-label/victory-label.js +3 -3
  42. package/src/victory-primitives/point.js +1 -1
  43. package/src/victory-util/hooks.js +131 -0
  44. package/src/victory-util/line-helpers.js +54 -0
  45. package/src/{victory-primitives/path-helpers.js → victory-util/point-path-helpers.js} +0 -0
  46. package/src/victory-util/transitions.js +0 -1
  47. package/src/victory-util/wrapper.js +422 -518
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAnimationState = exports.usePreviousProps = 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 usePreviousProps = function (props) {
35
+ var ref = _react.default.useRef();
36
+
37
+ _react.default.useEffect(function () {
38
+ ref.current = props;
39
+ });
40
+
41
+ return ref.current || {};
42
+ };
43
+
44
+ exports.usePreviousProps = usePreviousProps;
45
+ var INITIAL_STATE = {
46
+ nodesShouldLoad: false,
47
+ nodesDoneLoad: false,
48
+ animating: true
49
+ };
50
+
51
+ var useAnimationState = function () {
52
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;
53
+
54
+ var _React$useState = _react.default.useState(initialState),
55
+ _React$useState2 = _slicedToArray(_React$useState, 2),
56
+ state = _React$useState2[0],
57
+ _setState = _React$useState2[1]; // This allows us to use a state object and maintain the same API as this.setState
58
+
59
+
60
+ var setState = _react.default.useCallback(function (newState) {
61
+ _setState(function (oldState) {
62
+ return _objectSpread({}, oldState, newState);
63
+ });
64
+ }, [_setState]); // This is a copy of Wrapper.getAnimationProps
65
+
66
+
67
+ var getAnimationProps = _react.default.useCallback(function (props, child, index) {
68
+ if (!props.animate) {
69
+ return child.props.animate;
70
+ }
71
+
72
+ var getFilteredState = function () {
73
+ var childrenTransitions = state && state.childrenTransitions;
74
+ childrenTransitions = Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[index] : childrenTransitions;
75
+ return (0, _defaults2.default)({
76
+ childrenTransitions: childrenTransitions
77
+ }, state);
78
+ };
79
+
80
+ var getTransitions = props.animate && props.animate.getTransitions;
81
+ var filteredState = getFilteredState();
82
+ var parentState = props.animate && props.animate.parentState || filteredState;
83
+
84
+ if (!getTransitions) {
85
+ var getTransitionProps = Transitions.getTransitionPropsFactory(props, filteredState, function (newState) {
86
+ return setState(newState);
87
+ });
88
+
89
+ getTransitions = function (childComponent) {
90
+ return getTransitionProps(childComponent, index);
91
+ };
92
+ }
93
+
94
+ return (0, _defaults2.default)({
95
+ getTransitions: getTransitions,
96
+ parentState: parentState
97
+ }, props.animate, child.props.animate);
98
+ }, [state, setState]); // This is a copy of Wrapper.setAnimationState
99
+
100
+
101
+ var setAnimationState = _react.default.useCallback(function (props, nextProps) {
102
+ if (!props.animate) {
103
+ return;
104
+ }
105
+
106
+ if (props.animate.parentState) {
107
+ var nodesWillExit = props.animate.parentState.nodesWillExit;
108
+ var oldProps = nodesWillExit ? props : null;
109
+ var newState = (0, _defaults2.default)({
110
+ oldProps: oldProps,
111
+ nextProps: nextProps
112
+ }, props.animate.parentState);
113
+ setState(newState);
114
+ } else {
115
+ var oldChildren = _react.default.Children.toArray(props.children);
116
+
117
+ var nextChildren = _react.default.Children.toArray(nextProps.children);
118
+
119
+ var isContinuous = function (child) {
120
+ var check = function (c) {
121
+ return c.type && c.type.continuous;
122
+ };
123
+
124
+ return Array.isArray(child) ? (0, _some2.default)(child, check) : check(child);
125
+ };
126
+
127
+ var continuous = !props.polar && (0, _some2.default)(oldChildren, function (child) {
128
+ return isContinuous(child) || child.props.children && isContinuous(child.props.children);
129
+ });
130
+
131
+ var _Transitions$getIniti = Transitions.getInitialTransitionState(oldChildren, nextChildren),
132
+ _nodesWillExit = _Transitions$getIniti.nodesWillExit,
133
+ nodesWillEnter = _Transitions$getIniti.nodesWillEnter,
134
+ childrenTransitions = _Transitions$getIniti.childrenTransitions,
135
+ nodesShouldEnter = _Transitions$getIniti.nodesShouldEnter;
136
+
137
+ setState({
138
+ nodesWillExit: _nodesWillExit,
139
+ nodesWillEnter: nodesWillEnter,
140
+ nodesShouldEnter: nodesShouldEnter,
141
+ childrenTransitions: Collection.isArrayOfArrays(childrenTransitions) ? childrenTransitions[0] : childrenTransitions,
142
+ oldProps: _nodesWillExit ? props : null,
143
+ nextProps: nextProps,
144
+ continuous: continuous
145
+ });
146
+ }
147
+ }, [setState]);
148
+
149
+ var getProps = _react.default.useCallback(function (initialProps) {
150
+ return state && state.nodesWillExit ? state.oldProps || initialProps : initialProps;
151
+ }, [state]);
152
+
153
+ return {
154
+ state: state,
155
+ setState: setState,
156
+ getAnimationProps: getAnimationProps,
157
+ setAnimationState: setAnimationState,
158
+ getProps: getProps
159
+ };
160
+ };
161
+
162
+ exports.useAnimationState = useAnimationState;
@@ -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;
@@ -13,9 +13,7 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
13
13
 
14
14
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
15
15
 
16
- var Timer =
17
- /*#__PURE__*/
18
- function () {
16
+ var Timer = /*#__PURE__*/function () {
19
17
  function Timer() {
20
18
  _classCallCheck(this, Timer);
21
19