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
@@ -1,20 +1,26 @@
1
1
  import React, { forwardRef } from "react";
2
+ import { evaluateProp } from "../victory-util/helpers";
2
3
  import { VictoryPrimitiveShapeProps } from "./types";
3
4
 
4
- // eslint-disable-next-line prefer-arrow-callback
5
- export const Path = forwardRef(function Path(
6
- props: VictoryPrimitiveShapeProps,
7
- ref,
8
- ) {
9
- // eslint-disable-next-line react/prop-types
10
- const { desc, ...rest } = props;
11
- return desc ? (
12
- // @ts-expect-error FIXME: "id cannot be a number"
13
- <path {...rest} ref={ref}>
14
- <desc>{desc}</desc>
15
- </path>
16
- ) : (
17
- // @ts-expect-error FIXME: "id cannot be a number"
18
- <path {...rest} ref={ref} />
19
- );
20
- });
5
+ export const Path = forwardRef<SVGPathElement, 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<SVGPathElement> = {
13
+ id: evaluateProp(id, props)?.toString(),
14
+ tabIndex: evaluateProp(tabIndex, props),
15
+ ...rest,
16
+ };
17
+
18
+ return desc ? (
19
+ <path {...svgProps} ref={ref}>
20
+ <desc>{desc}</desc>
21
+ </path>
22
+ ) : (
23
+ <path {...svgProps} ref={ref} />
24
+ );
25
+ },
26
+ );
@@ -66,8 +66,14 @@ const evaluateProps = (props) => {
66
66
  });
67
67
  };
68
68
 
69
+ const defaultProps = {
70
+ pathComponent: <Path />,
71
+ role: "presentation",
72
+ shapeRendering: "auto",
73
+ };
74
+
69
75
  export const Point = (props: PointProps) => {
70
- props = evaluateProps(props);
76
+ props = evaluateProps({ ...defaultProps, ...props });
71
77
  const userProps = UserProps.getSafeUserProps(props);
72
78
 
73
79
  return React.cloneElement(props.pathComponent!, {
@@ -109,9 +115,3 @@ Point.propTypes = {
109
115
  x: PropTypes.number,
110
116
  y: PropTypes.number,
111
117
  };
112
-
113
- Point.defaultProps = {
114
- pathComponent: <Path />,
115
- role: "presentation",
116
- shapeRendering: "auto",
117
- };
@@ -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 Rect = (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
- <rect vectorEffect="non-scaling-stroke" {...rest}>
10
- <desc>{desc}</desc>
11
- </rect>
12
- ) : (
13
- // @ts-expect-error FIXME: "id cannot be a number"
14
- <rect vectorEffect="non-scaling-stroke" {...rest} />
15
- );
16
- };
5
+ export const Rect = forwardRef<SVGRectElement, 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<SVGRectElement> = {
13
+ vectorEffect: "non-scaling-stroke",
14
+ id: evaluateProp(id, props)?.toString(),
15
+ tabIndex: evaluateProp(tabIndex, props),
16
+ ...rest,
17
+ };
18
+
19
+ return desc ? (
20
+ <rect {...svgProps} ref={ref}>
21
+ <desc>{desc}</desc>
22
+ </rect>
23
+ ) : (
24
+ <rect {...svgProps} ref={ref} />
25
+ );
26
+ },
27
+ );
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import PropTypes from "prop-types";
2
+ import { evaluateProp } from "../victory-util/helpers";
3
3
  import { VictoryCommonPrimitiveProps } from "../victory-util/common-props";
4
4
 
5
5
  export interface TextProps extends VictoryCommonPrimitiveProps {
@@ -9,19 +9,22 @@ export interface TextProps extends VictoryCommonPrimitiveProps {
9
9
  }
10
10
 
11
11
  export const Text = (props: TextProps) => {
12
- const { children, title, desc, ...rest } = props;
12
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
13
+ * origin conflicts with the SVG element's origin attribute
14
+ */
15
+ const { children, desc, id, origin, tabIndex, title, ...rest } = props;
16
+
17
+ const svgProps: React.SVGProps<SVGTextElement> = {
18
+ id: evaluateProp(id, props)?.toString(),
19
+ tabIndex: evaluateProp(tabIndex, props),
20
+ ...rest,
21
+ };
22
+
13
23
  return (
14
- // @ts-expect-error FIXME: "id cannot be a number"
15
- <text {...rest}>
24
+ <text {...svgProps}>
16
25
  {title && <title>{title}</title>}
17
26
  {desc && <desc>{desc}</desc>}
18
27
  {children}
19
28
  </text>
20
29
  );
21
30
  };
22
-
23
- Text.propTypes = {
24
- children: PropTypes.node,
25
- desc: PropTypes.string,
26
- title: PropTypes.string,
27
- };
@@ -1,7 +1,18 @@
1
1
  import React from "react";
2
+ import { evaluateProp } from "../victory-util/helpers";
2
3
  import { VictoryCommonPrimitiveProps } from "../victory-util/common-props";
3
4
 
4
- export const TSpan = (props: VictoryCommonPrimitiveProps) => (
5
- // @ts-expect-error FIXME: "id cannot be a number"
6
- <tspan {...props} />
7
- );
5
+ export const TSpan = (props: VictoryCommonPrimitiveProps) => {
6
+ /* eslint-disable-next-line @typescript-eslint/no-unused-vars --
7
+ * origin conflicts with the SVG element's origin attribute
8
+ */
9
+ const { desc, id, tabIndex, origin, ...rest } = props;
10
+
11
+ const svgProps: React.SVGProps<SVGTSpanElement> = {
12
+ id: evaluateProp(id, props)?.toString(),
13
+ tabIndex: evaluateProp(tabIndex, props),
14
+ ...rest,
15
+ };
16
+
17
+ return <tspan {...svgProps} />;
18
+ };
@@ -40,8 +40,15 @@ const evaluateProps = (props) => {
40
40
  return assign({}, props, { ariaLabel, desc, id, style, tabIndex });
41
41
  };
42
42
 
43
+ const defaultProps = {
44
+ groupComponent: <g />,
45
+ lineComponent: <Line />,
46
+ role: "presentation",
47
+ shapeRendering: "auto",
48
+ };
49
+
43
50
  export const Whisker = (props: WhiskerProps) => {
44
- props = evaluateProps(props);
51
+ props = evaluateProps({ ...defaultProps, ...props });
45
52
  const {
46
53
  ariaLabel,
47
54
  groupComponent,
@@ -107,10 +114,3 @@ Whisker.propTypes = {
107
114
  y2: PropTypes.number,
108
115
  }),
109
116
  };
110
-
111
- Whisker.defaultProps = {
112
- groupComponent: <g />,
113
- lineComponent: <Line />,
114
- role: "presentation",
115
- shapeRendering: "auto",
116
- };
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-use-before-define */
2
- import React from "react";
2
+ import React, { isValidElement } from "react";
3
3
  import { defaults, isFunction, property, pick, assign, keys } from "lodash";
4
4
  import { CallbackArgs } from "../types/callbacks";
5
5
  import { ValueOrAccessor } from "../types/prop-types";
@@ -301,8 +301,10 @@ export function reduceChildren<
301
301
  return memo;
302
302
  }, initialMemo);
303
303
  };
304
- const childNames = children.map((c, i) => i);
305
- return traverseChildren(children, childNames);
304
+
305
+ const validChildren = children.filter(isValidElement);
306
+ const childNames = validChildren.map((c, i) => i);
307
+ return traverseChildren(validChildren, childNames);
306
308
  }
307
309
 
308
310
  /**
@@ -297,7 +297,11 @@ const styleToKeyComponent = (style) => {
297
297
 
298
298
  const _measureDimensionsInternal = memoize(
299
299
  (text: string | string[], style?: TextSizeStyleInterface) => {
300
- const containerElement = _getMeasurementContainer();
300
+ let containerElement = _getMeasurementContainer();
301
+ if (!containerElement.isConnected) {
302
+ _getMeasurementContainer.cache.clear?.();
303
+ containerElement = _getMeasurementContainer();
304
+ }
301
305
 
302
306
  const lines = _splitToLines(text);
303
307
  let heightAcc = 0;
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { evaluateProp } from "./helpers";
2
3
 
3
4
  /*
4
5
  USER_PROPS_SAFELIST is to contain any string deemed safe for user props.
@@ -54,19 +55,6 @@ const testIfSafeProp = (key: string): key is SafeAttribute => {
54
55
  return false;
55
56
  };
56
57
 
57
- /**
58
- * Gets the value from props if a function value is provided
59
- * @param {any} value: maybe function value
60
- * @param {Object} props: props object
61
- * @returns {any} newValue
62
- */
63
- const getValue = (value, props) => {
64
- if (typeof value === "function") {
65
- return value(props);
66
- }
67
- return value;
68
- };
69
-
70
58
  /**
71
59
  * getSafeUserProps - function that takes in a props object and removes any
72
60
  * key-value entries that do not match filter strings in the USER_PROPS_SAFELIST
@@ -83,7 +71,7 @@ export const getSafeUserProps = <T>(
83
71
  Object.entries(propsToFilter)
84
72
  .filter(([key]) => testIfSafeProp(key))
85
73
  .map(([key, value]) => {
86
- return [key, getValue(value, props)];
74
+ return [key, evaluateProp(value, props)];
87
75
  }),
88
76
  );
89
77
  };
package/es/v37/clone.d.ts DELETED
@@ -1,23 +0,0 @@
1
- import React from "react";
2
- /**
3
- * Syntax sugar for `React.cloneElement`, so that we can use JSX instead
4
- *
5
- * @example
6
- * // Before:
7
- * const children = React.cloneElement(props.groupComponent, { prop2 }, props.children);
8
- * return React.cloneElement(props.containerComponent, { prop1 }, children);
9
- *
10
- * // After:
11
- * return (
12
- * <Clone element={props.containerComponent} prop1={prop1}>
13
- * <Clone element={props.groupComponent} prop2={prop2}>
14
- * {props.children}
15
- * </Clone>
16
- * </Clone>
17
- * );
18
- */
19
- export declare const Clone: <TProps>(props: React.PropsWithChildren<{
20
- element: React.ReactElement<TProps, string | React.JSXElementConstructor<any>>;
21
- children?: React.ReactNode | React.ReactNode[];
22
- } & TProps>) => React.ReactElement<TProps, string | React.JSXElementConstructor<any>>;
23
- //# sourceMappingURL=clone.d.ts.map
package/es/v37/clone.js DELETED
@@ -1,32 +0,0 @@
1
- var _excluded = ["children", "element"];
2
-
3
- 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; }
4
-
5
- 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; }
6
-
7
- import React from "react";
8
- /**
9
- * Syntax sugar for `React.cloneElement`, so that we can use JSX instead
10
- *
11
- * @example
12
- * // Before:
13
- * const children = React.cloneElement(props.groupComponent, { prop2 }, props.children);
14
- * return React.cloneElement(props.containerComponent, { prop1 }, children);
15
- *
16
- * // After:
17
- * return (
18
- * <Clone element={props.containerComponent} prop1={prop1}>
19
- * <Clone element={props.groupComponent} prop2={prop2}>
20
- * {props.children}
21
- * </Clone>
22
- * </Clone>
23
- * );
24
- */
25
-
26
- export var Clone = function (props) {
27
- var children = props.children,
28
- element = props.element,
29
- rest = _objectWithoutProperties(props, _excluded);
30
-
31
- return /*#__PURE__*/React.cloneElement(element, rest, children);
32
- };
package/es/v37/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from "./victory-state";
2
- export * from "./clone";
3
- export * from "./with-normalized-props";
4
- export * from "./with-container";
5
- //# sourceMappingURL=index.d.ts.map
package/es/v37/index.js DELETED
@@ -1,4 +0,0 @@
1
- export * from "./victory-state";
2
- export * from "./clone";
3
- export * from "./with-normalized-props";
4
- export * from "./with-container";
@@ -1,3 +0,0 @@
1
- export declare const DEFAULT_HEIGHT = 300;
2
- export declare const DEFAULT_WIDTH = 450;
3
- //# sourceMappingURL=defaults.d.ts.map
@@ -1,2 +0,0 @@
1
- export var DEFAULT_HEIGHT = 300;
2
- export var DEFAULT_WIDTH = 450;
@@ -1,3 +0,0 @@
1
- import { AxisType, Datum } from "../../../types/prop-types";
2
- export declare function getAxisData(data: Datum[], axis: AxisType): any;
3
- //# sourceMappingURL=get-axis-data.d.ts.map
@@ -1,14 +0,0 @@
1
- import { isKeyValueObject } from "../../../victory-util/type-helpers";
2
- export function getAxisData(data, axis) {
3
- return data.reduce(function (acc, datum) {
4
- if (isKeyValueObject(datum)) {
5
- var value = datum[axis];
6
-
7
- if (value && typeof value !== "string") {
8
- acc.push(value);
9
- }
10
- }
11
-
12
- return acc;
13
- }, []);
14
- }
@@ -1,15 +0,0 @@
1
- import { DatumValue } from "../../../types/prop-types";
2
- import { VictoryProviderProps } from "../types";
3
- declare type DataProps = Pick<VictoryProviderProps, "data" | "x" | "y" | "sortKey" | "sortOrder" | "samples">;
4
- export interface FormattedDatum {
5
- x: DatumValue;
6
- y: DatumValue;
7
- _x: number | Date;
8
- _y: number | Date;
9
- xName?: string;
10
- yName?: string;
11
- [key: string]: DatumValue;
12
- }
13
- export declare function getData({ x: xAccessor, y: yAccessor, sortKey, sortOrder, data, }?: DataProps): FormattedDatum[];
14
- export {};
15
- //# sourceMappingURL=get-data.d.ts.map
@@ -1,87 +0,0 @@
1
- import _orderBy from "lodash/orderBy";
2
- import _isNil from "lodash/isNil";
3
- import _get from "lodash/get";
4
-
5
- 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; }
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
-
13
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
-
15
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
-
17
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
18
-
19
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
20
-
21
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
22
-
23
- import { isKeyValueObject } from "../../../victory-util/type-helpers";
24
-
25
- function getValue(datum, key) {
26
- if (typeof datum === "object") {
27
- return _get(datum, key);
28
- }
29
-
30
- return datum;
31
- }
32
-
33
- function getNumericValue(value, fallback) {
34
- if (typeof value === "number" || value instanceof Date) {
35
- return value;
36
- }
37
-
38
- return fallback;
39
- }
40
-
41
- export function getData() {
42
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
43
- _ref$x = _ref.x,
44
- xAccessor = _ref$x === void 0 ? "x" : _ref$x,
45
- _ref$y = _ref.y,
46
- yAccessor = _ref$y === void 0 ? "y" : _ref$y,
47
- sortKey = _ref.sortKey,
48
- _ref$sortOrder = _ref.sortOrder,
49
- sortOrder = _ref$sortOrder === void 0 ? "ascending" : _ref$sortOrder,
50
- _ref$data = _ref.data,
51
- data = _ref$data === void 0 ? [] : _ref$data;
52
-
53
- var formattedData = data.reduce(function (nonNullData, datum, index) {
54
- var x = getValue(datum, xAccessor);
55
- var y = getValue(datum, yAccessor);
56
-
57
- if (_isNil(x) || _isNil(y)) {
58
- return nonNullData;
59
- }
60
-
61
- var _x = getNumericValue(x, index + 1);
62
-
63
- var _y = getNumericValue(y, index + 1); // TODO: Get this value if it is different
64
-
65
-
66
- var xName = typeof x === "string" ? x : undefined;
67
- var yName = typeof y === "string" ? y : undefined;
68
- var additionalProperties = isKeyValueObject(datum) ? datum : {};
69
- return [].concat(_toConsumableArray(nonNullData), [_objectSpread(_objectSpread(_objectSpread({
70
- x: x,
71
- y: y,
72
- _x: _x,
73
- _y: _y
74
- }, xName ? {
75
- xName: xName
76
- } : {}), yName ? {
77
- yName: yName
78
- } : {}), additionalProperties)]);
79
- }, []);
80
-
81
- if (sortKey) {
82
- var order = sortOrder === "descending" ? "desc" : "asc";
83
- return _orderBy(formattedData, sortKey, order);
84
- }
85
-
86
- return formattedData;
87
- }
@@ -1,6 +0,0 @@
1
- import { VictoryProviderProps } from "../types";
2
- import { AxisType, DomainTuple } from "../../../types/prop-types";
3
- declare type DomainProps = Pick<VictoryProviderProps, "data" | "domain" | "maxDomain" | "minDomain" | "includeZero">;
4
- export declare function getDomain({ data, includeZero, ...props }: DomainProps, axis: AxisType): DomainTuple;
5
- export {};
6
- //# sourceMappingURL=get-domain.d.ts.map
@@ -1,67 +0,0 @@
1
- var _excluded = ["data", "includeZero"];
2
-
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
-
7
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
-
9
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
-
11
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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; }
12
-
13
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
- 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; }
16
-
17
- 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; }
18
-
19
- import * as d3Array from "victory-vendor/d3-array";
20
- import { getAxisData } from "./get-axis-data";
21
- import { getValueForAxis, isDate, isTuple } from "../../../victory-util/type-helpers";
22
- // TODO: What should this default value be?
23
- var DEFAULT_MIN = 0;
24
- var DEFAULT_MAX = 1;
25
-
26
- function getDomainFromMinMax() {
27
- var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_MIN;
28
- var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_MAX;
29
- // TODO: Victoy currently has some really specific logic in getDomainFromMinMax
30
- // that adds or subtracts a very small number from each domain to avoid the min
31
- // and max being the same value. This has resulted in some weird behavior in the
32
- // past, so we should revisit this.
33
- return [min, max];
34
- }
35
-
36
- export function getDomain(_ref, axis) {
37
- var _ref$data = _ref.data,
38
- data = _ref$data === void 0 ? [] : _ref$data,
39
- includeZero = _ref.includeZero,
40
- props = _objectWithoutProperties(_ref, _excluded);
41
-
42
- var domainFromProps = getValueForAxis(props.domain, axis);
43
- var axisData = getAxisData(data, axis);
44
-
45
- if (includeZero && axis === "y") {
46
- axisData.push(0);
47
- }
48
-
49
- if (isTuple(domainFromProps)) {
50
- return domainFromProps;
51
- }
52
-
53
- var _ref2 = d3Array.extent(axisData),
54
- _ref3 = _slicedToArray(_ref2, 2),
55
- min = _ref3[0],
56
- max = _ref3[1];
57
-
58
- var minDomain = getValueForAxis(props.minDomain, axis) || min;
59
- var maxDomain = getValueForAxis(props.maxDomain, axis) || max;
60
-
61
- if (isDate(minDomain) && isDate(maxDomain)) {
62
- return [min, max];
63
- } // TODO: There might be an edge case here where we have mixed types
64
-
65
-
66
- return getDomainFromMinMax(minDomain, maxDomain);
67
- }
@@ -1,6 +0,0 @@
1
- import { AxisType } from "../../../types/prop-types";
2
- import { VictoryProviderProps } from "../types";
3
- declare type RangeProps = Pick<VictoryProviderProps, "range" | "padding" | "height" | "width">;
4
- export declare function getRange({ range, height, width, ...props }: RangeProps, axis: AxisType): number[];
5
- export {};
6
- //# sourceMappingURL=get-range.d.ts.map
@@ -1,36 +0,0 @@
1
- var _excluded = ["range", "height", "width"];
2
-
3
- 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; }
4
-
5
- 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; }
6
-
7
- import { getPadding } from "../../../victory-util/helpers";
8
- import { getValueForAxis, isTuple } from "../../../victory-util/type-helpers";
9
- // TODO: Should we store these defaults somewhere?
10
- var DEFAULT_HEIGHT = 300;
11
- var DEFAULT_WIDTH = 450; // TODO: This does not include polar range
12
-
13
- export function getRange(_ref, axis) {
14
- var range = _ref.range,
15
- _ref$height = _ref.height,
16
- height = _ref$height === void 0 ? DEFAULT_HEIGHT : _ref$height,
17
- _ref$width = _ref.width,
18
- width = _ref$width === void 0 ? DEFAULT_WIDTH : _ref$width,
19
- props = _objectWithoutProperties(_ref, _excluded);
20
-
21
- var rangeFromProps = getValueForAxis(range, axis);
22
-
23
- if (isTuple(rangeFromProps)) {
24
- return rangeFromProps;
25
- } // TODO: Convert this to TS
26
-
27
-
28
- var padding = getPadding({
29
- padding: props.padding
30
- });
31
- var rangeForAxis = {
32
- x: [padding.left, width - padding.right],
33
- y: [height - padding.top, padding.bottom]
34
- };
35
- return rangeForAxis[axis];
36
- }
@@ -1,6 +0,0 @@
1
- import { AxisType, D3ScaleFn } from "../../../types/prop-types";
2
- import { VictoryProviderProps } from "../types";
3
- declare type ScaleProps = Pick<VictoryProviderProps, "data" | "scale">;
4
- export declare function getScale({ data, ...props }: ScaleProps, axis: AxisType): D3ScaleFn;
5
- export {};
6
- //# sourceMappingURL=get-scale.d.ts.map