victory-core 36.7.0 → 36.8.1

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 (149) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/victory-core.js +366 -286
  3. package/dist/victory-core.min.js +1 -1
  4. package/es/victory-label/victory-label.js +11 -11
  5. package/es/victory-primitives/arc.d.ts +0 -5
  6. package/es/victory-primitives/arc.js +7 -7
  7. package/es/victory-primitives/background.d.ts +0 -6
  8. package/es/victory-primitives/background.js +8 -8
  9. package/es/victory-primitives/border.d.ts +0 -5
  10. package/es/victory-primitives/border.js +7 -7
  11. package/es/victory-primitives/circle.d.ts +2 -2
  12. package/es/victory-primitives/circle.js +30 -16
  13. package/es/victory-primitives/clip-path.d.ts +1 -8
  14. package/es/victory-primitives/clip-path.js +4 -10
  15. package/es/victory-primitives/line-segment.d.ts +0 -5
  16. package/es/victory-primitives/line-segment.js +7 -7
  17. package/es/victory-primitives/line.d.ts +2 -2
  18. package/es/victory-primitives/line.js +30 -16
  19. package/es/victory-primitives/path.d.ts +1 -1
  20. package/es/victory-primitives/path.js +24 -12
  21. package/es/victory-primitives/point.d.ts +0 -5
  22. package/es/victory-primitives/point.js +7 -7
  23. package/es/victory-primitives/rect.d.ts +2 -2
  24. package/es/victory-primitives/rect.js +30 -16
  25. package/es/victory-primitives/text.d.ts +1 -9
  26. package/es/victory-primitives/text.js +23 -13
  27. package/es/victory-primitives/tspan.js +30 -5
  28. package/es/victory-primitives/whisker.d.ts +0 -6
  29. package/es/victory-primitives/whisker.js +8 -8
  30. package/es/victory-util/helpers.js +4 -3
  31. package/es/victory-util/textsize.js +7 -0
  32. package/es/victory-util/user-props.js +2 -16
  33. package/lib/victory-label/victory-label.js +12 -11
  34. package/lib/victory-primitives/arc.d.ts +0 -5
  35. package/lib/victory-primitives/arc.js +8 -7
  36. package/lib/victory-primitives/background.d.ts +0 -6
  37. package/lib/victory-primitives/background.js +9 -8
  38. package/lib/victory-primitives/border.d.ts +0 -5
  39. package/lib/victory-primitives/border.js +8 -7
  40. package/lib/victory-primitives/circle.d.ts +2 -2
  41. package/lib/victory-primitives/circle.js +34 -18
  42. package/lib/victory-primitives/clip-path.d.ts +1 -8
  43. package/lib/victory-primitives/clip-path.js +5 -12
  44. package/lib/victory-primitives/line-segment.d.ts +0 -5
  45. package/lib/victory-primitives/line-segment.js +8 -7
  46. package/lib/victory-primitives/line.d.ts +2 -2
  47. package/lib/victory-primitives/line.js +34 -18
  48. package/lib/victory-primitives/path.d.ts +1 -1
  49. package/lib/victory-primitives/path.js +25 -12
  50. package/lib/victory-primitives/point.d.ts +0 -5
  51. package/lib/victory-primitives/point.js +8 -7
  52. package/lib/victory-primitives/rect.d.ts +2 -2
  53. package/lib/victory-primitives/rect.js +34 -18
  54. package/lib/victory-primitives/text.d.ts +1 -9
  55. package/lib/victory-primitives/text.js +24 -14
  56. package/lib/victory-primitives/tspan.js +31 -5
  57. package/lib/victory-primitives/whisker.d.ts +0 -6
  58. package/lib/victory-primitives/whisker.js +9 -8
  59. package/lib/victory-util/helpers.js +8 -3
  60. package/lib/victory-util/textsize.js +7 -0
  61. package/lib/victory-util/user-props.js +3 -16
  62. package/package.json +2 -2
  63. package/src/victory-label/victory-label.tsx +10 -11
  64. package/src/victory-primitives/arc.tsx +7 -7
  65. package/src/victory-primitives/background.tsx +8 -8
  66. package/src/victory-primitives/border.tsx +7 -7
  67. package/src/victory-primitives/circle.tsx +24 -14
  68. package/src/victory-primitives/clip-path.tsx +1 -13
  69. package/src/victory-primitives/line-segment.tsx +7 -7
  70. package/src/victory-primitives/line.tsx +25 -14
  71. package/src/victory-primitives/path.tsx +23 -17
  72. package/src/victory-primitives/point.tsx +7 -7
  73. package/src/victory-primitives/rect.tsx +25 -14
  74. package/src/victory-primitives/text.tsx +13 -10
  75. package/src/victory-primitives/tspan.tsx +15 -4
  76. package/src/victory-primitives/whisker.tsx +8 -8
  77. package/src/victory-util/helpers.ts +5 -3
  78. package/src/victory-util/textsize.ts +5 -1
  79. package/src/victory-util/user-props.ts +2 -14
  80. package/es/v37/clone.d.ts +0 -23
  81. package/es/v37/clone.js +0 -32
  82. package/es/v37/index.d.ts +0 -5
  83. package/es/v37/index.js +0 -4
  84. package/es/v37/victory-state/defaults.d.ts +0 -3
  85. package/es/v37/victory-state/defaults.js +0 -2
  86. package/es/v37/victory-state/helpers/get-axis-data.d.ts +0 -3
  87. package/es/v37/victory-state/helpers/get-axis-data.js +0 -14
  88. package/es/v37/victory-state/helpers/get-data.d.ts +0 -15
  89. package/es/v37/victory-state/helpers/get-data.js +0 -87
  90. package/es/v37/victory-state/helpers/get-domain.d.ts +0 -6
  91. package/es/v37/victory-state/helpers/get-domain.js +0 -67
  92. package/es/v37/victory-state/helpers/get-range.d.ts +0 -6
  93. package/es/v37/victory-state/helpers/get-range.js +0 -36
  94. package/es/v37/victory-state/helpers/get-scale.d.ts +0 -6
  95. package/es/v37/victory-state/helpers/get-scale.js +0 -58
  96. package/es/v37/victory-state/index.d.ts +0 -4
  97. package/es/v37/victory-state/index.js +0 -3
  98. package/es/v37/victory-state/types.d.ts +0 -24
  99. package/es/v37/victory-state/types.js +0 -1
  100. package/es/v37/victory-state/victory-provider.d.ts +0 -21
  101. package/es/v37/victory-state/victory-provider.js +0 -148
  102. package/es/v37/victory-state/with-victory-provider.d.ts +0 -7
  103. package/es/v37/victory-state/with-victory-provider.js +0 -43
  104. package/es/v37/with-container.d.ts +0 -5
  105. package/es/v37/with-container.js +0 -32
  106. package/es/v37/with-normalized-props.d.ts +0 -17
  107. package/es/v37/with-normalized-props.js +0 -18
  108. package/lib/v37/clone.d.ts +0 -23
  109. package/lib/v37/clone.js +0 -43
  110. package/lib/v37/index.d.ts +0 -5
  111. package/lib/v37/index.js +0 -57
  112. package/lib/v37/victory-state/defaults.d.ts +0 -3
  113. package/lib/v37/victory-state/defaults.js +0 -10
  114. package/lib/v37/victory-state/helpers/get-axis-data.d.ts +0 -3
  115. package/lib/v37/victory-state/helpers/get-axis-data.js +0 -22
  116. package/lib/v37/victory-state/helpers/get-data.d.ts +0 -15
  117. package/lib/v37/victory-state/helpers/get-data.js +0 -98
  118. package/lib/v37/victory-state/helpers/get-domain.d.ts +0 -6
  119. package/lib/v37/victory-state/helpers/get-domain.js +0 -81
  120. package/lib/v37/victory-state/helpers/get-range.d.ts +0 -6
  121. package/lib/v37/victory-state/helpers/get-range.js +0 -45
  122. package/lib/v37/victory-state/helpers/get-scale.d.ts +0 -6
  123. package/lib/v37/victory-state/helpers/get-scale.js +0 -73
  124. package/lib/v37/victory-state/index.d.ts +0 -4
  125. package/lib/v37/victory-state/index.js +0 -44
  126. package/lib/v37/victory-state/types.d.ts +0 -24
  127. package/lib/v37/victory-state/types.js +0 -1
  128. package/lib/v37/victory-state/victory-provider.d.ts +0 -21
  129. package/lib/v37/victory-state/victory-provider.js +0 -175
  130. package/lib/v37/victory-state/with-victory-provider.d.ts +0 -7
  131. package/lib/v37/victory-state/with-victory-provider.js +0 -56
  132. package/lib/v37/with-container.d.ts +0 -5
  133. package/lib/v37/with-container.js +0 -45
  134. package/lib/v37/with-normalized-props.d.ts +0 -17
  135. package/lib/v37/with-normalized-props.js +0 -29
  136. package/src/v37/clone.tsx +0 -30
  137. package/src/v37/index.tsx +0 -4
  138. package/src/v37/victory-state/defaults.ts +0 -2
  139. package/src/v37/victory-state/helpers/get-axis-data.ts +0 -14
  140. package/src/v37/victory-state/helpers/get-data.ts +0 -78
  141. package/src/v37/victory-state/helpers/get-domain.ts +0 -62
  142. package/src/v37/victory-state/helpers/get-range.ts +0 -39
  143. package/src/v37/victory-state/helpers/get-scale.ts +0 -67
  144. package/src/v37/victory-state/index.ts +0 -3
  145. package/src/v37/victory-state/types.ts +0 -32
  146. package/src/v37/victory-state/victory-provider.tsx +0 -152
  147. package/src/v37/victory-state/with-victory-provider.tsx +0 -53
  148. package/src/v37/with-container.tsx +0 -38
  149. package/src/v37/with-normalized-props.tsx +0 -43
@@ -40,10 +40,5 @@ export declare const Point: {
40
40
  tabIndex?: React.Validator<import("..").NumberOrCallback | null | undefined> | undefined;
41
41
  transform?: React.Validator<string | null | undefined> | undefined;
42
42
  };
43
- defaultProps: {
44
- pathComponent: JSX.Element;
45
- role: string;
46
- shapeRendering: string;
47
- };
48
43
  };
49
44
  //# sourceMappingURL=point.d.ts.map
@@ -77,8 +77,14 @@ var evaluateProps = function (props) {
77
77
  });
78
78
  };
79
79
 
80
+ var defaultProps = {
81
+ pathComponent: /*#__PURE__*/_react.default.createElement(_path.Path, null),
82
+ role: "presentation",
83
+ shapeRendering: "auto"
84
+ };
85
+
80
86
  var Point = function (props) {
81
- props = evaluateProps(props);
87
+ props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), props));
82
88
  var userProps = UserProps.getSafeUserProps(props);
83
89
  return /*#__PURE__*/_react.default.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {
84
90
  "aria-label": props.ariaLabel,
@@ -103,9 +109,4 @@ Point.propTypes = _objectSpread(_objectSpread({}, _commonProps.CommonProps.primi
103
109
  symbol: _propTypes.default.oneOfType([_propTypes.default.oneOf(["circle", "cross", "diamond", "plus", "minus", "square", "star", "triangleDown", "triangleUp"]), _propTypes.default.func]),
104
110
  x: _propTypes.default.number,
105
111
  y: _propTypes.default.number
106
- });
107
- Point.defaultProps = {
108
- pathComponent: /*#__PURE__*/_react.default.createElement(_path.Path, null),
109
- role: "presentation",
110
- shapeRendering: "auto"
111
- };
112
+ });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import { VictoryPrimitiveShapeProps } from "./types";
3
- export declare const Rect: (props: VictoryPrimitiveShapeProps) => JSX.Element;
3
+ export declare const Rect: React.ForwardRefExoticComponent<VictoryPrimitiveShapeProps & React.RefAttributes<SVGRectElement>>;
4
4
  //# sourceMappingURL=rect.d.ts.map
@@ -5,34 +5,50 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Rect = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _excluded = ["desc"];
10
+ var _helpers = require("../victory-util/helpers");
11
11
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ var _excluded = ["desc", "id", "tabIndex", "origin"];
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; }
13
17
 
14
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); }
15
19
 
20
+ 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; }
21
+
22
+ 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; }
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
+
16
26
  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; }
17
27
 
18
28
  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; }
19
29
 
20
- var Rect = function (props) {
21
- // eslint-disable-next-line react/prop-types
30
+ var Rect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
+ var _evaluateProp;
32
+
33
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
34
+ * origin conflicts with the SVG element's origin attribute
35
+ */
22
36
  var desc = props.desc,
37
+ id = props.id,
38
+ tabIndex = props.tabIndex,
39
+ origin = props.origin,
23
40
  rest = _objectWithoutProperties(props, _excluded);
24
41
 
25
- return desc ?
26
- /*#__PURE__*/
27
- // @ts-expect-error FIXME: "id cannot be a number"
28
- _react.default.createElement("rect", _extends({
29
- vectorEffect: "non-scaling-stroke"
30
- }, rest), /*#__PURE__*/_react.default.createElement("desc", null, desc)) :
31
- /*#__PURE__*/
32
- // @ts-expect-error FIXME: "id cannot be a number"
33
- _react.default.createElement("rect", _extends({
34
- vectorEffect: "non-scaling-stroke"
35
- }, rest));
36
- };
37
-
42
+ var svgProps = _objectSpread({
43
+ vectorEffect: "non-scaling-stroke",
44
+ id: (_evaluateProp = (0, _helpers.evaluateProp)(id, props)) === null || _evaluateProp === void 0 ? void 0 : _evaluateProp.toString(),
45
+ tabIndex: (0, _helpers.evaluateProp)(tabIndex, props)
46
+ }, rest);
47
+
48
+ return desc ? /*#__PURE__*/_react.default.createElement("rect", _extends({}, svgProps, {
49
+ ref: ref
50
+ }), /*#__PURE__*/_react.default.createElement("desc", null, desc)) : /*#__PURE__*/_react.default.createElement("rect", _extends({}, svgProps, {
51
+ ref: ref
52
+ }));
53
+ });
38
54
  exports.Rect = Rect;
@@ -1,17 +1,9 @@
1
1
  import React from "react";
2
- import PropTypes from "prop-types";
3
2
  import { VictoryCommonPrimitiveProps } from "../victory-util/common-props";
4
3
  export interface TextProps extends VictoryCommonPrimitiveProps {
5
4
  children?: React.ReactNode;
6
5
  desc?: string;
7
6
  title?: string;
8
7
  }
9
- export declare const Text: {
10
- (props: TextProps): JSX.Element;
11
- propTypes: {
12
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
13
- desc: PropTypes.Requireable<string>;
14
- title: PropTypes.Requireable<string>;
15
- };
16
- };
8
+ export declare const Text: (props: TextProps) => JSX.Element;
17
9
  //# sourceMappingURL=text.d.ts.map
@@ -7,32 +7,42 @@ exports.Text = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _helpers = require("../victory-util/helpers");
11
11
 
12
- var _excluded = ["children", "title", "desc"];
12
+ var _excluded = ["children", "desc", "id", "origin", "tabIndex", "title"];
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
16
22
  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; }
17
23
 
18
24
  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; }
19
25
 
20
26
  var Text = function (props) {
27
+ var _evaluateProp;
28
+
29
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
30
+ * origin conflicts with the SVG element's origin attribute
31
+ */
21
32
  var children = props.children,
22
- title = props.title,
23
33
  desc = props.desc,
34
+ id = props.id,
35
+ origin = props.origin,
36
+ tabIndex = props.tabIndex,
37
+ title = props.title,
24
38
  rest = _objectWithoutProperties(props, _excluded);
25
39
 
26
- return (
27
- /*#__PURE__*/
28
- // @ts-expect-error FIXME: "id cannot be a number"
29
- _react.default.createElement("text", rest, title && /*#__PURE__*/_react.default.createElement("title", null, title), desc && /*#__PURE__*/_react.default.createElement("desc", null, desc), children)
30
- );
40
+ var svgProps = _objectSpread({
41
+ id: (_evaluateProp = (0, _helpers.evaluateProp)(id, props)) === null || _evaluateProp === void 0 ? void 0 : _evaluateProp.toString(),
42
+ tabIndex: (0, _helpers.evaluateProp)(tabIndex, props)
43
+ }, rest);
44
+
45
+ return /*#__PURE__*/_react.default.createElement("text", svgProps, title && /*#__PURE__*/_react.default.createElement("title", null, title), desc && /*#__PURE__*/_react.default.createElement("desc", null, desc), children);
31
46
  };
32
47
 
33
- exports.Text = Text;
34
- Text.propTypes = {
35
- children: _propTypes.default.node,
36
- desc: _propTypes.default.string,
37
- title: _propTypes.default.string
38
- };
48
+ exports.Text = Text;
@@ -7,14 +7,40 @@ exports.TSpan = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _helpers = require("../victory-util/helpers");
11
+
12
+ var _excluded = ["desc", "id", "tabIndex", "origin"];
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
15
 
16
+ 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; }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
12
26
  var TSpan = function (props) {
13
- return (
14
- /*#__PURE__*/
15
- // @ts-expect-error FIXME: "id cannot be a number"
16
- _react.default.createElement("tspan", props)
17
- );
27
+ var _evaluateProp;
28
+
29
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
30
+ * origin conflicts with the SVG element's origin attribute
31
+ */
32
+ var desc = props.desc,
33
+ id = props.id,
34
+ tabIndex = props.tabIndex,
35
+ origin = props.origin,
36
+ rest = _objectWithoutProperties(props, _excluded);
37
+
38
+ var svgProps = _objectSpread({
39
+ id: (_evaluateProp = (0, _helpers.evaluateProp)(id, props)) === null || _evaluateProp === void 0 ? void 0 : _evaluateProp.toString(),
40
+ tabIndex: (0, _helpers.evaluateProp)(tabIndex, props)
41
+ }, rest);
42
+
43
+ return /*#__PURE__*/_react.default.createElement("tspan", svgProps);
18
44
  };
19
45
 
20
46
  exports.TSpan = TSpan;
@@ -49,11 +49,5 @@ export declare const Whisker: {
49
49
  tabIndex?: React.Validator<import("..").NumberOrCallback | null | undefined> | undefined;
50
50
  transform?: React.Validator<string | null | undefined> | undefined;
51
51
  };
52
- defaultProps: {
53
- groupComponent: JSX.Element;
54
- lineComponent: JSX.Element;
55
- role: string;
56
- shapeRendering: string;
57
- };
58
52
  };
59
53
  //# sourceMappingURL=whisker.d.ts.map
@@ -52,8 +52,15 @@ var evaluateProps = function (props) {
52
52
  });
53
53
  };
54
54
 
55
+ var defaultProps = {
56
+ groupComponent: /*#__PURE__*/_react.default.createElement("g", null),
57
+ lineComponent: /*#__PURE__*/_react.default.createElement(_line.Line, null),
58
+ role: "presentation",
59
+ shapeRendering: "auto"
60
+ };
61
+
55
62
  var Whisker = function (props) {
56
- props = evaluateProps(props);
63
+ props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), props));
57
64
  var _props = props,
58
65
  ariaLabel = _props.ariaLabel,
59
66
  groupComponent = _props.groupComponent,
@@ -106,10 +113,4 @@ Whisker.propTypes = _objectSpread(_objectSpread({}, _commonProps.CommonProps.pri
106
113
  y1: _propTypes.default.number,
107
114
  y2: _propTypes.default.number
108
115
  })
109
- });
110
- Whisker.defaultProps = {
111
- groupComponent: /*#__PURE__*/_react.default.createElement("g", null),
112
- lineComponent: /*#__PURE__*/_react.default.createElement(_line.Line, null),
113
- role: "presentation",
114
- shapeRendering: "auto"
115
- };
116
+ });
@@ -35,7 +35,11 @@ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
35
35
 
36
36
  var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
37
37
 
38
- var _react = _interopRequireDefault(require("react"));
38
+ var _react = _interopRequireWildcard(require("react"));
39
+
40
+ 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); }
41
+
42
+ 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; }
39
43
 
40
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
45
 
@@ -362,10 +366,11 @@ function reduceChildren(children, iteratee) {
362
366
  }, initialMemo);
363
367
  };
364
368
 
365
- var childNames = children.map(function (c, i) {
369
+ var validChildren = children.filter(_react.isValidElement);
370
+ var childNames = validChildren.map(function (c, i) {
366
371
  return i;
367
372
  });
368
- return traverseChildren(children, childNames);
373
+ return traverseChildren(validChildren, childNames);
369
374
  }
370
375
  /**
371
376
  * @param {Object} props: the props object
@@ -315,6 +315,13 @@ var styleToKeyComponent = function (style) {
315
315
  var _measureDimensionsInternal = (0, _memoize2.default)(function (text, style) {
316
316
  var containerElement = _getMeasurementContainer();
317
317
 
318
+ if (!containerElement.isConnected) {
319
+ var _getMeasurementContai, _getMeasurementContai2;
320
+
321
+ (_getMeasurementContai = (_getMeasurementContai2 = _getMeasurementContainer.cache).clear) === null || _getMeasurementContai === void 0 ? void 0 : _getMeasurementContai.call(_getMeasurementContai2);
322
+ containerElement = _getMeasurementContainer();
323
+ }
324
+
318
325
  var lines = _splitToLines(text);
319
326
 
320
327
  var heightAcc = 0;
@@ -7,6 +7,8 @@ exports.withSafeUserProps = exports.getSafeUserProps = void 0;
7
7
 
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
 
10
+ var _helpers = require("./helpers");
11
+
10
12
  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); }
11
13
 
12
14
  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; }
@@ -82,21 +84,6 @@ var testIfSafeProp = function (key) {
82
84
  if (doesPropStartWith(key) || isExactMatch(key)) return true;
83
85
  return false;
84
86
  };
85
- /**
86
- * Gets the value from props if a function value is provided
87
- * @param {any} value: maybe function value
88
- * @param {Object} props: props object
89
- * @returns {any} newValue
90
- */
91
-
92
-
93
- var getValue = function (value, props) {
94
- if (typeof value === "function") {
95
- return value(props);
96
- }
97
-
98
- return value;
99
- };
100
87
  /**
101
88
  * getSafeUserProps - function that takes in a props object and removes any
102
89
  * key-value entries that do not match filter strings in the USER_PROPS_SAFELIST
@@ -120,7 +107,7 @@ var getSafeUserProps = function (props) {
120
107
  key = _ref4[0],
121
108
  value = _ref4[1];
122
109
 
123
- return [key, getValue(value, props)];
110
+ return [key, (0, _helpers.evaluateProp)(value, props)];
124
111
  }));
125
112
  };
126
113
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "victory-core",
3
- "version": "36.7.0",
3
+ "version": "36.8.1",
4
4
  "description": "Victory Core",
5
5
  "keywords": [
6
6
  "data visualization",
@@ -23,7 +23,7 @@
23
23
  "lodash": "^4.17.21",
24
24
  "prop-types": "^15.8.1",
25
25
  "react-fast-compare": "^3.2.0",
26
- "victory-vendor": "^36.7.0"
26
+ "victory-vendor": "^36.8.1"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": ">=16.6.0"
@@ -572,11 +572,20 @@ const renderLabel = (calculatedProps, tspanValues) => {
572
572
  return React.cloneElement(textComponent, textProps, tspans);
573
573
  };
574
574
 
575
+ const defaultProps = {
576
+ backgroundComponent: <Rect />,
577
+ groupComponent: <g />,
578
+ direction: "inherit",
579
+ textComponent: <Text />,
580
+ tspanComponent: <TSpan />,
581
+ capHeight: 0.71, // Magic number from d3.
582
+ lineHeight: 1,
583
+ };
575
584
  export const VictoryLabel: {
576
585
  role: string;
577
586
  defaultStyles: typeof defaultStyles;
578
587
  } & React.FC<VictoryLabelProps> = (props) => {
579
- props = evaluateProps(props);
588
+ props = evaluateProps({ ...defaultProps, ...props });
580
589
 
581
590
  if (props.text === null || props.text === undefined) {
582
591
  return null;
@@ -713,13 +722,3 @@ VictoryLabel.propTypes = {
713
722
  // @ts-expect-error Number is not assignable to string
714
723
  y: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
715
724
  };
716
-
717
- VictoryLabel.defaultProps = {
718
- backgroundComponent: <Rect />,
719
- groupComponent: <g />,
720
- direction: "inherit",
721
- textComponent: <Text />,
722
- tspanComponent: <TSpan />,
723
- capHeight: 0.71, // Magic number from d3.
724
- lineHeight: 1,
725
- };
@@ -62,8 +62,14 @@ const evaluateProps = (props) => {
62
62
  return assign({}, props, { ariaLabel, desc, id, style, tabIndex });
63
63
  };
64
64
 
65
+ const defaultProps = {
66
+ pathComponent: <Path />,
67
+ role: "presentation",
68
+ shapeRendering: "auto",
69
+ };
70
+
65
71
  export const Arc = (props: ArcProps) => {
66
- props = evaluateProps(props);
72
+ props = evaluateProps({ ...defaultProps, ...props });
67
73
 
68
74
  return React.cloneElement(props.pathComponent!, {
69
75
  ...props.events,
@@ -91,9 +97,3 @@ Arc.propTypes = {
91
97
  r: PropTypes.number,
92
98
  startAngle: PropTypes.number,
93
99
  };
94
-
95
- Arc.defaultProps = {
96
- pathComponent: <Path />,
97
- role: "presentation",
98
- shapeRendering: "auto",
99
- };
@@ -30,8 +30,15 @@ const evaluateProps = (props) => {
30
30
  return assign({}, props, { id });
31
31
  };
32
32
 
33
+ const defaultProps = {
34
+ circleComponent: <Circle />,
35
+ rectComponent: <Rect />,
36
+ role: "presentation",
37
+ shapeRendering: "auto",
38
+ };
39
+
33
40
  export const Background = (props: BackgroundProps) => {
34
- props = evaluateProps(props);
41
+ props = evaluateProps({ ...defaultProps, ...props });
35
42
 
36
43
  return props.polar
37
44
  ? React.cloneElement(props.circleComponent!, {
@@ -70,10 +77,3 @@ Background.propTypes = {
70
77
  x: PropTypes.number,
71
78
  y: PropTypes.number,
72
79
  };
73
-
74
- Background.defaultProps = {
75
- circleComponent: <Circle />,
76
- rectComponent: <Rect />,
77
- role: "presentation",
78
- shapeRendering: "auto",
79
- };
@@ -37,8 +37,14 @@ const evaluateProps = (props) => {
37
37
  return assign({}, props, { ariaLabel, desc, id, style, tabIndex });
38
38
  };
39
39
 
40
+ const defaultProps = {
41
+ rectComponent: <Rect />,
42
+ role: "presentation",
43
+ shapeRendering: "auto",
44
+ };
45
+
40
46
  export const Border = (props: BorderProps) => {
41
- props = evaluateProps(props);
47
+ props = evaluateProps({ ...defaultProps, ...props });
42
48
 
43
49
  return React.cloneElement(props.rectComponent!, {
44
50
  ...props.events,
@@ -66,9 +72,3 @@ Border.propTypes = {
66
72
  x: PropTypes.number,
67
73
  y: PropTypes.number,
68
74
  };
69
-
70
- Border.defaultProps = {
71
- rectComponent: <Rect />,
72
- role: "presentation",
73
- shapeRendering: "auto",
74
- };
@@ -1,16 +1,26 @@
1
- import React from "react";
1
+ import React, { forwardRef } from "react";
2
+ import { evaluateProp } from "../victory-util/helpers";
2
3
  import { VictoryPrimitiveShapeProps } from "./types";
3
4
 
4
- export const Circle = (props: VictoryPrimitiveShapeProps) => {
5
- // eslint-disable-next-line react/prop-types
6
- const { desc, ...rest } = props;
7
- return desc ? (
8
- // @ts-expect-error FIXME: "id cannot be a number"
9
- <circle vectorEffect="non-scaling-stroke" {...rest}>
10
- <desc>{desc}</desc>
11
- </circle>
12
- ) : (
13
- // @ts-expect-error FIXME: "id cannot be a number"
14
- <circle vectorEffect="non-scaling-stroke" {...rest} />
15
- );
16
- };
5
+ export const Circle = forwardRef<SVGCircleElement, VictoryPrimitiveShapeProps>(
6
+ (props, ref) => {
7
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
8
+ * origin conflicts with the SVG element's origin attribute
9
+ */
10
+ const { desc, id, tabIndex, origin, ...rest } = props;
11
+
12
+ const svgProps: React.SVGProps<SVGCircleElement> = {
13
+ vectorEffect: "non-scaling-stroke",
14
+ id: evaluateProp(id, props)?.toString(),
15
+ tabIndex: evaluateProp(tabIndex, props),
16
+ ...rest,
17
+ };
18
+ return desc ? (
19
+ <circle {...svgProps} ref={ref}>
20
+ <desc>{desc}</desc>
21
+ </circle>
22
+ ) : (
23
+ <circle {...svgProps} ref={ref} />
24
+ );
25
+ },
26
+ );
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import PropTypes from "prop-types";
3
2
  import { VictoryCommonPrimitiveProps } from "../victory-util/common-props";
4
3
 
5
4
  export interface ClipPathProps extends VictoryCommonPrimitiveProps {
@@ -9,17 +8,6 @@ export interface ClipPathProps extends VictoryCommonPrimitiveProps {
9
8
 
10
9
  export const ClipPath = (props: ClipPathProps) => (
11
10
  <defs>
12
- {
13
- // @ts-expect-error FIXME: "id cannot be a number"
14
- <clipPath id={props.clipId}>{props.children}</clipPath>
15
- }
11
+ {<clipPath id={props.clipId?.toString()}>{props.children}</clipPath>}
16
12
  </defs>
17
13
  );
18
-
19
- ClipPath.propTypes = {
20
- children: PropTypes.oneOfType([
21
- PropTypes.arrayOf(PropTypes.node),
22
- PropTypes.node,
23
- ]),
24
- clipId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
25
- };
@@ -38,8 +38,14 @@ const evaluateProps = (props) => {
38
38
  return assign({}, props, { ariaLabel, desc, id, style, tabIndex });
39
39
  };
40
40
 
41
+ const defaultProps = {
42
+ lineComponent: <Line />,
43
+ role: "presentation",
44
+ shapeRendering: "auto",
45
+ };
46
+
41
47
  export const LineSegment = (props: LineSegmentProps) => {
42
- props = evaluateProps(props);
48
+ props = evaluateProps({ ...defaultProps, ...props });
43
49
 
44
50
  return React.cloneElement(props.lineComponent!, {
45
51
  ...props.events,
@@ -68,9 +74,3 @@ LineSegment.propTypes = {
68
74
  y1: PropTypes.number,
69
75
  y2: PropTypes.number,
70
76
  };
71
-
72
- LineSegment.defaultProps = {
73
- lineComponent: <Line />,
74
- role: "presentation",
75
- shapeRendering: "auto",
76
- };
@@ -1,16 +1,27 @@
1
- import React from "react";
1
+ import React, { forwardRef } from "react";
2
+ import { evaluateProp } from "../victory-util/helpers";
2
3
  import { VictoryPrimitiveShapeProps } from "./types";
3
4
 
4
- export const Line = (props: VictoryPrimitiveShapeProps) => {
5
- // eslint-disable-next-line react/prop-types
6
- const { desc, ...rest } = props;
7
- return desc ? (
8
- // @ts-expect-error FIXME: "id cannot be a number"
9
- <line vectorEffect="non-scaling-stroke" {...rest}>
10
- <desc>{desc}</desc>
11
- </line>
12
- ) : (
13
- // @ts-expect-error FIXME: "id cannot be a number"
14
- <line vectorEffect="non-scaling-stroke" {...rest} />
15
- );
16
- };
5
+ export const Line = forwardRef<SVGLineElement, VictoryPrimitiveShapeProps>(
6
+ (props, ref) => {
7
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
8
+ * origin conflicts with the SVG element's origin attribute
9
+ */
10
+ const { desc, id, tabIndex, origin, ...rest } = props;
11
+
12
+ const svgProps: React.SVGProps<SVGLineElement> = {
13
+ vectorEffect: "non-scaling-stroke",
14
+ id: evaluateProp(id, props)?.toString(),
15
+ tabIndex: evaluateProp(tabIndex, props),
16
+ ...rest,
17
+ };
18
+
19
+ return desc ? (
20
+ <line {...svgProps} ref={ref}>
21
+ <desc>{desc}</desc>
22
+ </line>
23
+ ) : (
24
+ <line {...svgProps} ref={ref} />
25
+ );
26
+ },
27
+ );