victory-core 36.6.2 → 36.6.5

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 (228) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/victory-core.js +2053 -4568
  3. package/dist/victory-core.min.js +1 -1
  4. package/es/index.d.ts +0 -1
  5. package/es/index.js +1 -3
  6. package/es/types/callbacks.d.ts +0 -1
  7. package/es/types/callbacks.js +1 -2
  8. package/es/types/prop-types.d.ts +3 -3
  9. package/es/types/prop-types.js +1 -2
  10. package/es/v37/clone.d.ts +23 -0
  11. package/es/v37/clone.js +32 -0
  12. package/es/v37/index.d.ts +5 -0
  13. package/es/v37/index.js +4 -0
  14. package/es/{victory-state → v37/victory-state}/defaults.d.ts +0 -0
  15. package/es/v37/victory-state/defaults.js +2 -0
  16. package/es/v37/victory-state/helpers/get-axis-data.d.ts +3 -0
  17. package/es/{victory-state → v37/victory-state}/helpers/get-axis-data.js +2 -3
  18. package/es/{victory-state → v37/victory-state}/helpers/get-data.d.ts +1 -1
  19. package/es/{victory-state → v37/victory-state}/helpers/get-data.js +2 -3
  20. package/{lib → es/v37}/victory-state/helpers/get-domain.d.ts +1 -1
  21. package/es/{victory-state → v37/victory-state}/helpers/get-domain.js +2 -3
  22. package/{lib → es/v37}/victory-state/helpers/get-range.d.ts +1 -1
  23. package/es/{victory-state → v37/victory-state}/helpers/get-range.js +3 -4
  24. package/{lib → es/v37}/victory-state/helpers/get-scale.d.ts +1 -1
  25. package/es/{victory-state → v37/victory-state}/helpers/get-scale.js +3 -4
  26. package/es/v37/victory-state/index.d.ts +4 -0
  27. package/es/{victory-state → v37/victory-state}/index.js +1 -1
  28. package/{lib → es/v37}/victory-state/types.d.ts +2 -2
  29. package/es/v37/victory-state/types.js +1 -0
  30. package/{lib → es/v37}/victory-state/victory-provider.d.ts +5 -4
  31. package/es/{victory-state → v37/victory-state}/victory-provider.js +59 -29
  32. package/es/v37/victory-state/with-victory-provider.d.ts +7 -0
  33. package/es/v37/victory-state/with-victory-provider.js +43 -0
  34. package/es/{victory-util → v37}/with-container.d.ts +2 -2
  35. package/es/{victory-util → v37}/with-container.js +2 -3
  36. package/es/v37/with-normalized-props.d.ts +17 -0
  37. package/es/v37/with-normalized-props.js +18 -0
  38. package/es/victory-accessible-group/victory-accessible-group.js +1 -2
  39. package/es/victory-animation/util.js +1 -2
  40. package/es/victory-animation/victory-animation.js +1 -2
  41. package/es/victory-clip-container/victory-clip-container.js +1 -2
  42. package/es/victory-container/victory-container.js +1 -2
  43. package/es/victory-label/victory-label.d.ts +5 -4
  44. package/es/victory-label/victory-label.js +1 -2
  45. package/es/victory-portal/portal-context.js +1 -2
  46. package/es/victory-portal/portal.js +1 -2
  47. package/es/victory-portal/victory-portal.js +1 -2
  48. package/es/victory-primitives/arc.js +1 -2
  49. package/es/victory-primitives/background.js +1 -2
  50. package/es/victory-primitives/border.js +1 -2
  51. package/es/victory-primitives/circle.js +1 -2
  52. package/es/victory-primitives/clip-path.js +1 -2
  53. package/es/victory-primitives/index.js +1 -2
  54. package/es/victory-primitives/line-segment.js +1 -2
  55. package/es/victory-primitives/line.js +1 -2
  56. package/es/victory-primitives/path.js +1 -2
  57. package/es/victory-primitives/point.js +1 -2
  58. package/es/victory-primitives/rect.js +1 -2
  59. package/es/victory-primitives/text.js +1 -2
  60. package/es/victory-primitives/tspan.js +1 -2
  61. package/es/victory-primitives/types.js +1 -2
  62. package/es/victory-primitives/whisker.js +1 -2
  63. package/es/victory-theme/grayscale.js +1 -2
  64. package/es/victory-theme/material.js +1 -2
  65. package/es/victory-theme/types.js +1 -2
  66. package/es/victory-theme/victory-theme.js +1 -2
  67. package/es/victory-transition/victory-transition.js +1 -2
  68. package/es/victory-util/add-events.js +1 -2
  69. package/es/victory-util/axis.js +1 -2
  70. package/es/victory-util/collection.js +1 -2
  71. package/es/victory-util/common-props.js +1 -2
  72. package/es/victory-util/data.js +1 -2
  73. package/es/victory-util/default-transitions.js +1 -2
  74. package/es/victory-util/domain.js +1 -2
  75. package/es/victory-util/events.js +1 -2
  76. package/es/victory-util/helpers.d.ts +3 -2
  77. package/es/victory-util/helpers.js +1 -2
  78. package/es/victory-util/hooks/index.js +1 -2
  79. package/es/victory-util/hooks/use-animation-state.js +1 -2
  80. package/es/victory-util/hooks/use-previous-props.js +1 -2
  81. package/es/victory-util/immutable-types.d.ts +2523 -0
  82. package/es/victory-util/immutable.d.ts +1 -1
  83. package/es/victory-util/immutable.js +1 -2
  84. package/es/victory-util/index.d.ts +0 -1
  85. package/es/victory-util/index.js +1 -3
  86. package/es/victory-util/label-helpers.js +1 -2
  87. package/es/victory-util/line-helpers.js +1 -2
  88. package/es/victory-util/log.js +1 -2
  89. package/es/victory-util/point-path-helpers.js +1 -2
  90. package/es/victory-util/prop-types.js +1 -2
  91. package/es/victory-util/scale.js +1 -2
  92. package/es/victory-util/selection.js +1 -2
  93. package/es/victory-util/style.js +1 -2
  94. package/es/victory-util/textsize.js +1 -2
  95. package/es/victory-util/timer-context.js +1 -2
  96. package/es/victory-util/timer.js +1 -2
  97. package/es/victory-util/transitions.js +1 -2
  98. package/es/victory-util/type-helpers.js +1 -2
  99. package/es/victory-util/user-props.js +1 -2
  100. package/es/victory-util/wrapper.js +1 -2
  101. package/lib/index.d.ts +0 -1
  102. package/lib/index.js +1 -16
  103. package/lib/types/callbacks.d.ts +0 -1
  104. package/lib/types/callbacks.js +1 -2
  105. package/lib/types/prop-types.d.ts +3 -3
  106. package/lib/types/prop-types.js +1 -2
  107. package/lib/v37/clone.d.ts +23 -0
  108. package/lib/v37/clone.js +43 -0
  109. package/lib/v37/index.d.ts +5 -0
  110. package/lib/v37/index.js +57 -0
  111. package/lib/{victory-state → v37/victory-state}/defaults.d.ts +0 -0
  112. package/lib/{victory-state → v37/victory-state}/defaults.js +1 -2
  113. package/lib/v37/victory-state/helpers/get-axis-data.d.ts +3 -0
  114. package/lib/{victory-state → v37/victory-state}/helpers/get-axis-data.js +2 -3
  115. package/lib/{victory-state → v37/victory-state}/helpers/get-data.d.ts +1 -1
  116. package/lib/{victory-state → v37/victory-state}/helpers/get-data.js +2 -3
  117. package/{es → lib/v37}/victory-state/helpers/get-domain.d.ts +1 -1
  118. package/lib/{victory-state → v37/victory-state}/helpers/get-domain.js +2 -3
  119. package/{es → lib/v37}/victory-state/helpers/get-range.d.ts +1 -1
  120. package/lib/{victory-state → v37/victory-state}/helpers/get-range.js +3 -4
  121. package/{es → lib/v37}/victory-state/helpers/get-scale.d.ts +1 -1
  122. package/lib/{victory-state → v37/victory-state}/helpers/get-scale.js +3 -4
  123. package/lib/v37/victory-state/index.d.ts +4 -0
  124. package/lib/{victory-state → v37/victory-state}/index.js +13 -1
  125. package/{es → lib/v37}/victory-state/types.d.ts +2 -2
  126. package/lib/v37/victory-state/types.js +1 -0
  127. package/{es → lib/v37}/victory-state/victory-provider.d.ts +5 -4
  128. package/lib/{victory-state → v37/victory-state}/victory-provider.js +61 -30
  129. package/lib/v37/victory-state/with-victory-provider.d.ts +7 -0
  130. package/lib/v37/victory-state/with-victory-provider.js +56 -0
  131. package/lib/{victory-util → v37}/with-container.d.ts +2 -2
  132. package/lib/{victory-util → v37}/with-container.js +2 -3
  133. package/lib/v37/with-normalized-props.d.ts +17 -0
  134. package/lib/v37/with-normalized-props.js +29 -0
  135. package/lib/victory-accessible-group/victory-accessible-group.js +1 -2
  136. package/lib/victory-animation/util.js +1 -2
  137. package/lib/victory-animation/victory-animation.js +1 -2
  138. package/lib/victory-clip-container/victory-clip-container.js +1 -2
  139. package/lib/victory-container/victory-container.js +1 -2
  140. package/lib/victory-label/victory-label.d.ts +5 -4
  141. package/lib/victory-label/victory-label.js +1 -2
  142. package/lib/victory-portal/portal-context.js +1 -2
  143. package/lib/victory-portal/portal.js +1 -2
  144. package/lib/victory-portal/victory-portal.js +1 -2
  145. package/lib/victory-primitives/arc.js +1 -2
  146. package/lib/victory-primitives/background.js +1 -2
  147. package/lib/victory-primitives/border.js +1 -2
  148. package/lib/victory-primitives/circle.js +1 -2
  149. package/lib/victory-primitives/clip-path.js +1 -2
  150. package/lib/victory-primitives/index.js +1 -2
  151. package/lib/victory-primitives/line-segment.js +1 -2
  152. package/lib/victory-primitives/line.js +1 -2
  153. package/lib/victory-primitives/path.js +1 -2
  154. package/lib/victory-primitives/point.js +1 -2
  155. package/lib/victory-primitives/rect.js +1 -2
  156. package/lib/victory-primitives/text.js +1 -2
  157. package/lib/victory-primitives/tspan.js +1 -2
  158. package/lib/victory-primitives/types.js +1 -2
  159. package/lib/victory-primitives/whisker.js +1 -2
  160. package/lib/victory-theme/grayscale.js +1 -2
  161. package/lib/victory-theme/material.js +1 -2
  162. package/lib/victory-theme/types.js +1 -2
  163. package/lib/victory-theme/victory-theme.js +1 -2
  164. package/lib/victory-transition/victory-transition.js +1 -2
  165. package/lib/victory-util/add-events.js +1 -2
  166. package/lib/victory-util/axis.js +1 -2
  167. package/lib/victory-util/collection.js +1 -2
  168. package/lib/victory-util/common-props.js +1 -2
  169. package/lib/victory-util/data.js +1 -2
  170. package/lib/victory-util/default-transitions.js +1 -2
  171. package/lib/victory-util/domain.js +1 -2
  172. package/lib/victory-util/events.js +1 -2
  173. package/lib/victory-util/helpers.d.ts +3 -2
  174. package/lib/victory-util/helpers.js +1 -2
  175. package/lib/victory-util/hooks/index.js +1 -2
  176. package/lib/victory-util/hooks/use-animation-state.js +1 -2
  177. package/lib/victory-util/hooks/use-previous-props.js +1 -2
  178. package/lib/victory-util/immutable-types.d.ts +2523 -0
  179. package/lib/victory-util/immutable.d.ts +1 -1
  180. package/lib/victory-util/immutable.js +1 -2
  181. package/lib/victory-util/index.d.ts +0 -1
  182. package/lib/victory-util/index.js +1 -16
  183. package/lib/victory-util/label-helpers.js +1 -2
  184. package/lib/victory-util/line-helpers.js +1 -2
  185. package/lib/victory-util/log.js +1 -2
  186. package/lib/victory-util/point-path-helpers.js +1 -2
  187. package/lib/victory-util/prop-types.js +1 -2
  188. package/lib/victory-util/scale.js +1 -2
  189. package/lib/victory-util/selection.js +1 -2
  190. package/lib/victory-util/style.js +1 -2
  191. package/lib/victory-util/textsize.js +1 -2
  192. package/lib/victory-util/timer-context.js +1 -2
  193. package/lib/victory-util/timer.js +1 -2
  194. package/lib/victory-util/transitions.js +1 -2
  195. package/lib/victory-util/type-helpers.js +1 -2
  196. package/lib/victory-util/user-props.js +1 -2
  197. package/lib/victory-util/wrapper.js +1 -2
  198. package/package.json +12 -4
  199. package/src/index.ts +0 -1
  200. package/src/types/callbacks.ts +0 -2
  201. package/src/types/prop-types.ts +4 -3
  202. package/src/v37/clone.tsx +30 -0
  203. package/src/v37/index.tsx +4 -0
  204. package/src/{victory-state → v37/victory-state}/defaults.ts +0 -0
  205. package/src/{victory-state → v37/victory-state}/helpers/get-axis-data.ts +2 -2
  206. package/src/{victory-state → v37/victory-state}/helpers/get-data.ts +3 -3
  207. package/src/{victory-state → v37/victory-state}/helpers/get-domain.ts +2 -2
  208. package/src/{victory-state → v37/victory-state}/helpers/get-range.ts +3 -3
  209. package/src/{victory-state → v37/victory-state}/helpers/get-scale.ts +6 -3
  210. package/src/{victory-state → v37/victory-state}/index.ts +1 -0
  211. package/src/{victory-state → v37/victory-state}/types.ts +2 -2
  212. package/src/{victory-state → v37/victory-state}/victory-provider.tsx +61 -27
  213. package/src/v37/victory-state/with-victory-provider.tsx +53 -0
  214. package/src/{victory-util → v37}/with-container.tsx +2 -2
  215. package/src/v37/with-normalized-props.tsx +43 -0
  216. package/src/victory-label/victory-label.tsx +4 -4
  217. package/src/victory-util/data.ts +1 -1
  218. package/src/victory-util/helpers.ts +3 -2
  219. package/src/victory-util/immutable-types.d.ts +2523 -0
  220. package/src/victory-util/immutable.ts +1 -1
  221. package/src/victory-util/index.ts +0 -1
  222. package/es/victory-state/defaults.js +0 -3
  223. package/es/victory-state/helpers/get-axis-data.d.ts +0 -3
  224. package/es/victory-state/index.d.ts +0 -3
  225. package/es/victory-state/types.js +0 -2
  226. package/lib/victory-state/helpers/get-axis-data.d.ts +0 -3
  227. package/lib/victory-state/index.d.ts +0 -3
  228. package/lib/victory-state/types.js +0 -2
@@ -8,6 +8,7 @@ exports.useData = useData;
8
8
  exports.useDomain = useDomain;
9
9
  exports.useScale = useScale;
10
10
  exports.useVictoryContext = useVictoryContext;
11
+ exports.useVictoryContextMaybe = useVictoryContextMaybe;
11
12
  exports.useVictoryProviderSync = useVictoryProviderSync;
12
13
 
13
14
  var React = _interopRequireWildcard(require("react"));
@@ -26,6 +27,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
26
27
 
27
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
29
 
30
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
+
32
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
+
29
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
35
 
31
36
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -44,27 +49,32 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
44
49
 
45
50
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
46
51
 
47
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
48
-
49
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
50
-
51
52
  var VictoryContext = /*#__PURE__*/(0, React.createContext)(null);
52
53
 
53
- function VictoryProvider(_ref) {
54
- var children = _ref.children,
55
- initialProps = _objectWithoutProperties(_ref, _excluded);
56
-
57
- // We need to store the props in state so they can be overwritten by child components
58
- var _React$useState = React.useState(initialProps),
54
+ function useNormalizedProps() {
55
+ var _React$useState = React.useState({}),
59
56
  _React$useState2 = _slicedToArray(_React$useState, 2),
60
- props = _React$useState2[0],
61
- setProps = _React$useState2[1];
57
+ collectedProps = _React$useState2[0],
58
+ setCollectedProps = _React$useState2[1];
59
+
60
+ var updateChildProps = React.useCallback(function (id, newProps) {
61
+ setCollectedProps(function (prev) {
62
+ var result = _objectSpread({}, prev);
62
63
 
63
- var setChildProps = React.useCallback(function (id, newProps) {
64
- setProps(function (prevProps) {
65
- return _objectSpread(_objectSpread({}, prevProps), newProps);
64
+ if (newProps === null) {
65
+ delete result[id];
66
+ } else {
67
+ result[id] = newProps;
68
+ }
69
+
70
+ return result;
66
71
  });
67
- }, []);
72
+ }, []); // TEMP: combine all props into a single result:
73
+ // TODO: instead, we should intelligently aggregate all these props
74
+
75
+ var props = Object.values(collectedProps).reduce(function (result, childProps) {
76
+ return Object.assign(result, childProps);
77
+ }, {});
68
78
  var data = React.useMemo(function () {
69
79
  return (0, _getData.getData)(props);
70
80
  }, [props]);
@@ -92,17 +102,33 @@ function VictoryProvider(_ref) {
92
102
  y: yScaleFn
93
103
  };
94
104
  }, [props, domain, range]);
95
- var value = {
96
- scale: scale,
97
- data: data,
98
- domain: domain,
99
- setChildProps: setChildProps
100
- };
105
+ var normalizedProps = React.useMemo(function () {
106
+ return {
107
+ scale: scale,
108
+ data: data,
109
+ domain: domain,
110
+ updateChildProps: updateChildProps
111
+ };
112
+ }, [scale, data, domain, updateChildProps]);
113
+ return normalizedProps;
114
+ }
115
+
116
+ function VictoryProvider(_ref) {
117
+ var children = _ref.children,
118
+ providerProps = _objectWithoutProperties(_ref, _excluded);
119
+
120
+ var value = useNormalizedProps(); // TODO: sync the providerProps
121
+
101
122
  return /*#__PURE__*/React.createElement(VictoryContext.Provider, {
102
123
  value: value
103
124
  }, children);
104
125
  }
105
126
 
127
+ function useVictoryContextMaybe(selector) {
128
+ var context = (0, React.useContext)(VictoryContext);
129
+ return selector(context);
130
+ }
131
+
106
132
  function useVictoryContext(selector) {
107
133
  var context = (0, React.useContext)(VictoryContext);
108
134
 
@@ -132,13 +158,18 @@ function useDomain() {
132
158
  } // This function keeps props in sync betwen the VictoryProvider and child components
133
159
 
134
160
 
135
- function useVictoryProviderSync(id, props) {
136
- var setChildProps = useVictoryContext(function (value) {
137
- return value.setChildProps;
161
+ function useVictoryProviderSync(props) {
162
+ var updateChildProps = useVictoryContext(function (value) {
163
+ return value.updateChildProps;
138
164
  });
165
+
166
+ var _React$useState3 = React.useState(function () {
167
+ return Symbol("UniqueIdFor(VictoryProviderChild)");
168
+ }),
169
+ _React$useState4 = _slicedToArray(_React$useState3, 1),
170
+ myId = _React$useState4[0];
171
+
139
172
  React.useEffect(function () {
140
- setChildProps(id, props);
141
- }, []);
142
- return props;
143
- }
144
- //# sourceMappingURL=victory-provider.js.map
173
+ updateChildProps(myId, props);
174
+ }, [updateChildProps, props]);
175
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { VictoryCommonProps } from "../../victory-util/common-props";
3
+ /**
4
+ * Ensures the component is wrapped by a VictoryProvider, if not already.
5
+ */
6
+ export declare function withVictoryProvider<TComp extends React.FC<TProps>, TProps extends React.PropsWithChildren<VictoryCommonProps>>(Comp: TComp): TComp;
7
+ //# sourceMappingURL=with-victory-provider.d.ts.map
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withVictoryProvider = withVictoryProvider;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _victoryProvider = require("./victory-provider");
11
+
12
+ var _clone = require("../clone");
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
19
+
20
+ /* eslint-disable react/prop-types */
21
+
22
+ /**
23
+ * Ensures the component is wrapped by a VictoryProvider, if not already.
24
+ */
25
+ function withVictoryProvider(Comp) {
26
+ var WithVictoryProvider = /*#__PURE__*/React.memo(function (props) {
27
+ var updateChildProps = (0, _victoryProvider.useVictoryContextMaybe)(function (value) {
28
+ return value === null || value === void 0 ? void 0 : value.updateChildProps;
29
+ });
30
+ var hasParentProvider = !!updateChildProps;
31
+ React.useEffect(function () {
32
+ if (!hasParentProvider) return;
33
+ var id = Symbol("WithVictoryProvider");
34
+ updateChildProps(id, props); // eslint-disable-next-line consistent-return
35
+
36
+ return function () {
37
+ return updateChildProps(id, null);
38
+ };
39
+ }); // @ts-expect-error "TProps not assignable to LibraryManagedAttributes"
40
+
41
+ var result = /*#__PURE__*/React.createElement(Comp, props, props.children);
42
+
43
+ if (!hasParentProvider) {
44
+ // Wrap with a parent Provider:
45
+ result = /*#__PURE__*/React.createElement(_victoryProvider.VictoryProvider, null, /*#__PURE__*/React.createElement(_clone.Clone, _extends({
46
+ element: props.containerComponent
47
+ }, props), result));
48
+ }
49
+
50
+ return result;
51
+ });
52
+ var name = Comp.displayName || Comp.name;
53
+ WithVictoryProvider.displayName = name ? "WithVictoryProvider(".concat(name, ")") : "WithVictoryProvider"; // @ts-expect-error "WithVictoryProvider does not overlap with TComp"
54
+
55
+ return WithVictoryProvider;
56
+ }
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { VictoryProviderProps } from "../victory-state";
3
- import { VictoryCommonProps } from "./common-props";
2
+ import { VictoryProviderProps } from "./victory-state";
3
+ import { VictoryCommonProps } from "../victory-util/common-props";
4
4
  export declare function withContainer<Props extends VictoryCommonProps>(WrappedComponent: React.FC<Props>, initialProviderProps?: Partial<VictoryProviderProps>): React.FC<Props>;
5
5
  //# sourceMappingURL=with-container.d.ts.map
@@ -7,7 +7,7 @@ exports.withContainer = withContainer;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _victoryState = require("../victory-state");
10
+ var _victoryState = require("./victory-state");
11
11
 
12
12
  var _victoryContainer = require("../victory-container/victory-container");
13
13
 
@@ -42,5 +42,4 @@ function withContainer(WrappedComponent) {
42
42
 
43
43
  return /*#__PURE__*/_react.default.createElement(WrappedComponent, props);
44
44
  };
45
- }
46
- //# sourceMappingURL=with-container.js.map
45
+ }
@@ -0,0 +1,17 @@
1
+ import { VictoryCommonProps } from "../victory-util/common-props";
2
+ import React from "react";
3
+ import { VictoryProviderProps } from "./victory-state";
4
+ declare type FC<TProps> = (props: TProps) => JSX.Element;
5
+ export declare function withNormalizedProps<TProps extends React.PropsWithChildren<VictoryCommonProps>, TDefaultPropKeys extends keyof TProps>(config: {
6
+ displayName: string;
7
+ propTypes?: React.WeakValidationMap<Omit<TProps, keyof VictoryCommonProps>>;
8
+ defaultProps: Pick<TProps, TDefaultPropKeys>;
9
+ /** @deprecated */
10
+ initialProviderProps?: Partial<VictoryProviderProps>;
11
+ }, WrappedComponent: React.FC<TProps>): FC<TProps> & {
12
+ displayName: string;
13
+ defaultProps: Pick<TProps, TDefaultPropKeys>;
14
+ propTypes: React.WeakValidationMap<Omit<TProps, keyof VictoryCommonProps>> | undefined;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=with-normalized-props.d.ts.map
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withNormalizedProps = withNormalizedProps;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _victoryState = require("./victory-state");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
15
+
16
+ function withNormalizedProps(config, WrappedComponent) {
17
+ WrappedComponent.displayName = config.displayName;
18
+ var WithNormalizedProps = (0, _victoryState.withVictoryProvider)(function (props) {
19
+ var normalizedProps = (0, _victoryState.useVictoryContext)(function (v) {
20
+ return v;
21
+ });
22
+ return /*#__PURE__*/_react.default.createElement(WrappedComponent, _extends({}, props, normalizedProps), props.children);
23
+ });
24
+ return Object.assign(WithNormalizedProps, {
25
+ displayName: "WithNormalizedProps(".concat(config.displayName),
26
+ defaultProps: config.defaultProps,
27
+ propTypes: config.propTypes
28
+ });
29
+ }
@@ -82,5 +82,4 @@ VictoryAccessibleGroup.propTypes = {
82
82
  };
83
83
  VictoryAccessibleGroup.defaultProps = {
84
84
  className: "VictoryAccessibleGroup"
85
- };
86
- //# sourceMappingURL=victory-accessible-group.js.map
85
+ };
@@ -239,5 +239,4 @@ var victoryInterpolator = function (a, b) {
239
239
  return (0, _d3Interpolate.interpolate)(a, b);
240
240
  };
241
241
 
242
- exports.victoryInterpolator = victoryInterpolator;
243
- //# sourceMappingURL=util.js.map
242
+ exports.victoryInterpolator = victoryInterpolator;
@@ -256,5 +256,4 @@ VictoryAnimation.defaultProps = {
256
256
  duration: 1000,
257
257
  easing: "quadInOut"
258
258
  };
259
- VictoryAnimation.contextType = _timerContext.default;
260
- //# sourceMappingURL=victory-animation.js.map
259
+ VictoryAnimation.contextType = _timerContext.default;
@@ -297,5 +297,4 @@ VictoryClipContainer.defaultProps = {
297
297
  rectComponent: /*#__PURE__*/_react.default.createElement(_rect.Rect, null),
298
298
  clipPathComponent: /*#__PURE__*/_react.default.createElement(_clipPath.ClipPath, null),
299
299
  groupComponent: /*#__PURE__*/_react.default.createElement("g", null)
300
- };
301
- //# sourceMappingURL=victory-clip-container.js.map
300
+ };
@@ -296,5 +296,4 @@ VictoryContainer.defaultProps = {
296
296
  responsive: true,
297
297
  role: "img"
298
298
  };
299
- VictoryContainer.contextType = _timerContext.default;
300
- //# sourceMappingURL=victory-container.js.map
299
+ VictoryContainer.contextType = _timerContext.default;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
- import { NumberOrCallback, StringOrCallback, StringOrNumberOrCallback, ValueOrCallback } from "../types/callbacks";
2
+ import { NumberOrCallback, StringOrCallback, StringOrNumberOrCallback } from "../types/callbacks";
3
+ import { ValueOrAccessor } from "../types/prop-types";
3
4
  import { PaddingProps, VerticalAnchorType, VictoryLabelStyleObject } from "../victory-theme/victory-theme";
4
5
  export declare type TextAnchorType = "start" | "middle" | "end" | "inherit";
5
6
  export declare type OriginType = {
@@ -34,11 +35,11 @@ export interface VictoryLabelProps {
34
35
  tabIndex?: NumberOrCallback;
35
36
  text?: string[] | StringOrNumberOrCallback;
36
37
  textComponent?: React.ReactElement;
37
- textAnchor?: ValueOrCallback<TextAnchorType>;
38
+ textAnchor?: ValueOrAccessor<TextAnchorType>;
38
39
  title?: string;
39
- transform?: ValueOrCallback<string | object>;
40
+ transform?: ValueOrAccessor<string | object>;
40
41
  tspanComponent?: React.ReactElement;
41
- verticalAnchor?: ValueOrCallback<VerticalAnchorType>;
42
+ verticalAnchor?: ValueOrAccessor<VerticalAnchorType>;
42
43
  x?: number;
43
44
  y?: number;
44
45
  dx?: StringOrNumberOrCallback;
@@ -635,5 +635,4 @@ VictoryLabel.defaultProps = {
635
635
  capHeight: 0.71,
636
636
  // Magic number from d3.
637
637
  lineHeight: 1
638
- };
639
- //# sourceMappingURL=victory-label.js.map
638
+ };
@@ -16,5 +16,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  var PortalContext = /*#__PURE__*/_react.default.createContext({});
17
17
 
18
18
  exports.PortalContext = PortalContext;
19
- PortalContext.displayName = "PortalContext";
20
- //# sourceMappingURL=portal-context.js.map
19
+ PortalContext.displayName = "PortalContext";
@@ -105,5 +105,4 @@ Portal.propTypes = {
105
105
  style: _propTypes.default.object,
106
106
  viewBox: _propTypes.default.string,
107
107
  width: CustomPropTypes.nonNegative
108
- };
109
- //# sourceMappingURL=portal.js.map
108
+ };
@@ -137,5 +137,4 @@ VictoryPortal.propTypes = {
137
137
  VictoryPortal.defaultProps = {
138
138
  groupComponent: /*#__PURE__*/_react.default.createElement("g", null)
139
139
  };
140
- VictoryPortal.contextType = _portalContext.PortalContext;
141
- //# sourceMappingURL=victory-portal.js.map
140
+ VictoryPortal.contextType = _portalContext.PortalContext;
@@ -110,5 +110,4 @@ Arc.defaultProps = {
110
110
  pathComponent: /*#__PURE__*/_react.default.createElement(_path.Path, null),
111
111
  role: "presentation",
112
112
  shapeRendering: "auto"
113
- };
114
- //# sourceMappingURL=arc.js.map
113
+ };
@@ -82,5 +82,4 @@ Background.defaultProps = {
82
82
  rectComponent: /*#__PURE__*/_react.default.createElement(_rect.Rect, null),
83
83
  role: "presentation",
84
84
  shapeRendering: "auto"
85
- };
86
- //# sourceMappingURL=background.js.map
85
+ };
@@ -85,5 +85,4 @@ Border.defaultProps = {
85
85
  rectComponent: /*#__PURE__*/_react.default.createElement(_rect.Rect, null),
86
86
  role: "presentation",
87
87
  shapeRendering: "auto"
88
- };
89
- //# sourceMappingURL=border.js.map
88
+ };
@@ -35,5 +35,4 @@ var Circle = function (props) {
35
35
  }, rest));
36
36
  };
37
37
 
38
- exports.Circle = Circle;
39
- //# sourceMappingURL=circle.js.map
38
+ exports.Circle = Circle;
@@ -24,5 +24,4 @@ exports.ClipPath = ClipPath;
24
24
  ClipPath.propTypes = {
25
25
  children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]),
26
26
  clipId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
27
- };
28
- //# sourceMappingURL=clip-path.js.map
27
+ };
@@ -184,5 +184,4 @@ Object.keys(_whisker).forEach(function (key) {
184
184
  return _whisker[key];
185
185
  }
186
186
  });
187
- });
188
- //# sourceMappingURL=index.js.map
187
+ });
@@ -86,5 +86,4 @@ LineSegment.defaultProps = {
86
86
  lineComponent: /*#__PURE__*/_react.default.createElement(_line.Line, null),
87
87
  role: "presentation",
88
88
  shapeRendering: "auto"
89
- };
90
- //# sourceMappingURL=line-segment.js.map
89
+ };
@@ -35,5 +35,4 @@ var Line = function (props) {
35
35
  }, rest));
36
36
  };
37
37
 
38
- exports.Line = Line;
39
- //# sourceMappingURL=line.js.map
38
+ exports.Line = Line;
@@ -29,5 +29,4 @@ var Path = function (props) {
29
29
  _react.default.createElement("path", rest);
30
30
  };
31
31
 
32
- exports.Path = Path;
33
- //# sourceMappingURL=path.js.map
32
+ exports.Path = Path;
@@ -108,5 +108,4 @@ Point.defaultProps = {
108
108
  pathComponent: /*#__PURE__*/_react.default.createElement(_path.Path, null),
109
109
  role: "presentation",
110
110
  shapeRendering: "auto"
111
- };
112
- //# sourceMappingURL=point.js.map
111
+ };
@@ -35,5 +35,4 @@ var Rect = function (props) {
35
35
  }, rest));
36
36
  };
37
37
 
38
- exports.Rect = Rect;
39
- //# sourceMappingURL=rect.js.map
38
+ exports.Rect = Rect;
@@ -35,5 +35,4 @@ Text.propTypes = {
35
35
  children: _propTypes.default.node,
36
36
  desc: _propTypes.default.string,
37
37
  title: _propTypes.default.string
38
- };
39
- //# sourceMappingURL=text.js.map
38
+ };
@@ -17,5 +17,4 @@ var TSpan = function (props) {
17
17
  );
18
18
  };
19
19
 
20
- exports.TSpan = TSpan;
21
- //# sourceMappingURL=tspan.js.map
20
+ exports.TSpan = TSpan;
@@ -1,2 +1 @@
1
- "use strict";
2
- //# sourceMappingURL=types.js.map
1
+ "use strict";
@@ -112,5 +112,4 @@ Whisker.defaultProps = {
112
112
  lineComponent: /*#__PURE__*/_react.default.createElement(_line.Line, null),
113
113
  role: "presentation",
114
114
  shapeRendering: "auto"
115
- };
116
- //# sourceMappingURL=whisker.js.map
115
+ };
@@ -265,5 +265,4 @@ var grayscale = {
265
265
  }
266
266
  }, baseProps)
267
267
  };
268
- exports.grayscale = grayscale;
269
- //# sourceMappingURL=grayscale.js.map
268
+ exports.grayscale = grayscale;
@@ -292,5 +292,4 @@ var material = {
292
292
  }
293
293
  }, baseProps)
294
294
  };
295
- exports.material = material;
296
- //# sourceMappingURL=material.js.map
295
+ exports.material = material;
@@ -1,2 +1 @@
1
- "use strict";
2
- //# sourceMappingURL=types.js.map
1
+ "use strict";
@@ -29,5 +29,4 @@ var VictoryTheme = {
29
29
  grayscale: _grayscale.grayscale,
30
30
  material: _material.material
31
31
  };
32
- exports.VictoryTheme = VictoryTheme;
33
- //# sourceMappingURL=victory-theme.js.map
32
+ exports.VictoryTheme = VictoryTheme;
@@ -261,5 +261,4 @@ VictoryTransition.propTypes = {
261
261
  animationWhitelist: _propTypes.default.array,
262
262
  children: _propTypes.default.node
263
263
  };
264
- VictoryTransition.contextType = _timerContext.default;
265
- //# sourceMappingURL=victory-transition.js.map
264
+ VictoryTransition.contextType = _timerContext.default;
@@ -431,5 +431,4 @@ function addEvents(WrappedComponent) {
431
431
  }(WrappedComponent);
432
432
 
433
433
  return AddEventsMixin;
434
- }
435
- //# sourceMappingURL=add-events.js.map
434
+ }
@@ -469,5 +469,4 @@ function modifyProps(props, fallbackProps) {
469
469
  return Helpers.modifyProps((0, _assign2.default)({}, props, {
470
470
  theme: theme
471
471
  }), fallbackProps, "axis");
472
- }
473
- //# sourceMappingURL=axis.js.map
472
+ }
@@ -80,5 +80,4 @@ function getMinValue(arr) {
80
80
  var array = arr.concat(values);
81
81
  return containsDates(array) ? new Date(Math.min.apply(Math, _toConsumableArray(array))) // Dates will be coerced to numbers
82
82
  : Math.min.apply(Math, _toConsumableArray(array));
83
- }
84
- //# sourceMappingURL=collection.js.map
83
+ }
@@ -145,5 +145,4 @@ var CommonProps = {
145
145
  baseProps: baseProps,
146
146
  primitiveProps: primitiveProps
147
147
  };
148
- exports.CommonProps = CommonProps;
149
- //# sourceMappingURL=common-props.js.map
148
+ exports.CommonProps = CommonProps;
@@ -499,5 +499,4 @@ function isDataComponent(component) {
499
499
 
500
500
  var whitelist = ["area", "bar", "boxplot", "candlestick", "errorbar", "group", "histogram", "line", "pie", "scatter", "stack", "voronoi"];
501
501
  return (0, _includes2.default)(whitelist, role);
502
- }
503
- //# sourceMappingURL=data.js.map
502
+ }
@@ -114,5 +114,4 @@ function discreteTransitions() {
114
114
  }
115
115
  }
116
116
  };
117
- }
118
- //# sourceMappingURL=default-transitions.js.map
117
+ }
@@ -451,5 +451,4 @@ function isDomainComponent(component) {
451
451
 
452
452
  var whitelist = ["area", "axis", "bar", "boxplot", "candlestick", "errorbar", "group", "histogram", "line", "pie", "scatter", "stack", "voronoi"];
453
453
  return (0, _includes2.default)(whitelist, role);
454
- }
455
- //# sourceMappingURL=domain.js.map
454
+ }
@@ -500,5 +500,4 @@ var emulateReactEvent = function (event) {
500
500
  });
501
501
  };
502
502
 
503
- exports.emulateReactEvent = emulateReactEvent;
504
- //# sourceMappingURL=events.js.map
503
+ exports.emulateReactEvent = emulateReactEvent;
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
- import { CallbackArgs, ValueOrCallback } from "../types/callbacks";
2
+ import { CallbackArgs } from "../types/callbacks";
3
+ import { ValueOrAccessor } from "../types/prop-types";
3
4
  /**
4
5
  * creates an object with some keys excluded
5
6
  * replacement for lodash.omit for performance. does not mimic the entire lodash.omit api
@@ -24,7 +25,7 @@ export declare function getPadding(props: any, name?: string): {
24
25
  export declare function isTooltip(component: any): boolean;
25
26
  export declare function getDefaultStyles(props: any, role: any): any;
26
27
  export declare function getStyles(style: any, defaultStyles: any): any;
27
- export declare function evaluateProp<TValue>(prop: ValueOrCallback<TValue>, props: CallbackArgs): TValue;
28
+ export declare function evaluateProp<TValue>(prop: ValueOrAccessor<TValue, CallbackArgs>, props: CallbackArgs): TValue;
28
29
  export declare function evaluateStyle(style: any, props: any): any;
29
30
  export declare function degreesToRadians(degrees: any): any;
30
31
  export declare function radiansToDegrees(radians: any): any;
@@ -393,5 +393,4 @@ function isHorizontal(props) {
393
393
  };
394
394
 
395
395
  return traverseChildren(_react.default.Children.toArray(props.children));
396
- }
397
- //# sourceMappingURL=helpers.js.map
396
+ }
@@ -18,5 +18,4 @@ Object.defineProperty(exports, "usePreviousProps", {
18
18
 
19
19
  var _usePreviousProps = require("./use-previous-props");
20
20
 
21
- var _useAnimationState = require("./use-animation-state");
22
- //# sourceMappingURL=index.js.map
21
+ var _useAnimationState = require("./use-animation-state");