@coinbase/cds-mobile-visualization 3.4.0-beta.1 → 3.4.0-beta.11

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 (187) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dts/chart/CartesianChart.d.ts +57 -33
  3. package/dts/chart/CartesianChart.d.ts.map +1 -1
  4. package/dts/chart/ChartContextBridge.d.ts +28 -0
  5. package/dts/chart/ChartContextBridge.d.ts.map +1 -0
  6. package/dts/chart/Path.d.ts +77 -34
  7. package/dts/chart/Path.d.ts.map +1 -1
  8. package/dts/chart/PeriodSelector.d.ts +2 -2
  9. package/dts/chart/PeriodSelector.d.ts.map +1 -1
  10. package/dts/chart/area/Area.d.ts +42 -27
  11. package/dts/chart/area/Area.d.ts.map +1 -1
  12. package/dts/chart/area/AreaChart.d.ts +51 -10
  13. package/dts/chart/area/AreaChart.d.ts.map +1 -1
  14. package/dts/chart/area/DottedArea.d.ts +21 -2
  15. package/dts/chart/area/DottedArea.d.ts.map +1 -1
  16. package/dts/chart/area/GradientArea.d.ts +19 -13
  17. package/dts/chart/area/GradientArea.d.ts.map +1 -1
  18. package/dts/chart/area/SolidArea.d.ts +17 -2
  19. package/dts/chart/area/SolidArea.d.ts.map +1 -1
  20. package/dts/chart/axis/Axis.d.ts +86 -118
  21. package/dts/chart/axis/Axis.d.ts.map +1 -1
  22. package/dts/chart/axis/DefaultAxisTickLabel.d.ts +8 -0
  23. package/dts/chart/axis/DefaultAxisTickLabel.d.ts.map +1 -0
  24. package/dts/chart/axis/XAxis.d.ts +1 -1
  25. package/dts/chart/axis/XAxis.d.ts.map +1 -1
  26. package/dts/chart/axis/YAxis.d.ts +2 -2
  27. package/dts/chart/axis/YAxis.d.ts.map +1 -1
  28. package/dts/chart/axis/index.d.ts +1 -0
  29. package/dts/chart/axis/index.d.ts.map +1 -1
  30. package/dts/chart/bar/Bar.d.ts +16 -13
  31. package/dts/chart/bar/Bar.d.ts.map +1 -1
  32. package/dts/chart/bar/BarChart.d.ts +36 -20
  33. package/dts/chart/bar/BarChart.d.ts.map +1 -1
  34. package/dts/chart/bar/BarPlot.d.ts +2 -1
  35. package/dts/chart/bar/BarPlot.d.ts.map +1 -1
  36. package/dts/chart/bar/BarStack.d.ts +39 -48
  37. package/dts/chart/bar/BarStack.d.ts.map +1 -1
  38. package/dts/chart/bar/BarStackGroup.d.ts +1 -0
  39. package/dts/chart/bar/BarStackGroup.d.ts.map +1 -1
  40. package/dts/chart/bar/DefaultBar.d.ts +1 -1
  41. package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
  42. package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
  43. package/dts/chart/gradient/Gradient.d.ts +25 -0
  44. package/dts/chart/gradient/Gradient.d.ts.map +1 -0
  45. package/dts/chart/gradient/index.d.ts +2 -0
  46. package/dts/chart/gradient/index.d.ts.map +1 -0
  47. package/dts/chart/index.d.ts +3 -1
  48. package/dts/chart/index.d.ts.map +1 -1
  49. package/dts/chart/line/DefaultReferenceLineLabel.d.ts +9 -0
  50. package/dts/chart/line/DefaultReferenceLineLabel.d.ts.map +1 -0
  51. package/dts/chart/line/DottedLine.d.ts +13 -5
  52. package/dts/chart/line/DottedLine.d.ts.map +1 -1
  53. package/dts/chart/line/Line.d.ts +64 -25
  54. package/dts/chart/line/Line.d.ts.map +1 -1
  55. package/dts/chart/line/LineChart.d.ts +43 -9
  56. package/dts/chart/line/LineChart.d.ts.map +1 -1
  57. package/dts/chart/line/ReferenceLine.d.ts +68 -20
  58. package/dts/chart/line/ReferenceLine.d.ts.map +1 -1
  59. package/dts/chart/line/SolidLine.d.ts +8 -5
  60. package/dts/chart/line/SolidLine.d.ts.map +1 -1
  61. package/dts/chart/line/index.d.ts +1 -1
  62. package/dts/chart/line/index.d.ts.map +1 -1
  63. package/dts/chart/point/DefaultPointLabel.d.ts +10 -0
  64. package/dts/chart/point/DefaultPointLabel.d.ts.map +1 -0
  65. package/dts/chart/point/Point.d.ts +120 -0
  66. package/dts/chart/point/Point.d.ts.map +1 -0
  67. package/dts/chart/point/index.d.ts +3 -0
  68. package/dts/chart/point/index.d.ts.map +1 -0
  69. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts +8 -0
  70. package/dts/chart/scrubber/DefaultScrubberBeacon.d.ts.map +1 -0
  71. package/dts/chart/scrubber/DefaultScrubberBeaconLabel.d.ts +12 -0
  72. package/dts/chart/scrubber/DefaultScrubberBeaconLabel.d.ts.map +1 -0
  73. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts +11 -0
  74. package/dts/chart/scrubber/DefaultScrubberLabel.d.ts.map +1 -0
  75. package/dts/chart/scrubber/Scrubber.d.ts +172 -43
  76. package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
  77. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts +44 -0
  78. package/dts/chart/scrubber/ScrubberBeaconGroup.d.ts.map +1 -0
  79. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts +31 -0
  80. package/dts/chart/scrubber/ScrubberBeaconLabelGroup.d.ts.map +1 -0
  81. package/dts/chart/scrubber/ScrubberProvider.d.ts +6 -3
  82. package/dts/chart/scrubber/ScrubberProvider.d.ts.map +1 -1
  83. package/dts/chart/scrubber/index.d.ts +3 -0
  84. package/dts/chart/scrubber/index.d.ts.map +1 -1
  85. package/dts/chart/text/ChartText.d.ts +151 -77
  86. package/dts/chart/text/ChartText.d.ts.map +1 -1
  87. package/dts/chart/text/{SmartChartTextGroup.d.ts → ChartTextGroup.d.ts} +9 -3
  88. package/dts/chart/text/ChartTextGroup.d.ts.map +1 -0
  89. package/dts/chart/text/index.d.ts +1 -1
  90. package/dts/chart/text/index.d.ts.map +1 -1
  91. package/dts/chart/utils/axis.d.ts +25 -1
  92. package/dts/chart/utils/axis.d.ts.map +1 -1
  93. package/dts/chart/utils/chart.d.ts +34 -7
  94. package/dts/chart/utils/chart.d.ts.map +1 -1
  95. package/dts/chart/utils/context.d.ts +28 -7
  96. package/dts/chart/utils/context.d.ts.map +1 -1
  97. package/dts/chart/utils/gradient.d.ts +117 -0
  98. package/dts/chart/utils/gradient.d.ts.map +1 -0
  99. package/dts/chart/utils/index.d.ts +3 -0
  100. package/dts/chart/utils/index.d.ts.map +1 -1
  101. package/dts/chart/utils/path.d.ts +53 -0
  102. package/dts/chart/utils/path.d.ts.map +1 -1
  103. package/dts/chart/utils/point.d.ts +71 -7
  104. package/dts/chart/utils/point.d.ts.map +1 -1
  105. package/dts/chart/utils/scale.d.ts +102 -0
  106. package/dts/chart/utils/scale.d.ts.map +1 -1
  107. package/dts/chart/utils/scrubber.d.ts +39 -0
  108. package/dts/chart/utils/scrubber.d.ts.map +1 -0
  109. package/dts/chart/utils/transition.d.ts +140 -0
  110. package/dts/chart/utils/transition.d.ts.map +1 -0
  111. package/esm/chart/CartesianChart.js +164 -70
  112. package/esm/chart/ChartContextBridge.js +148 -0
  113. package/esm/chart/Path.js +198 -113
  114. package/esm/chart/PeriodSelector.js +2 -2
  115. package/esm/chart/__stories__/CartesianChart.stories.js +378 -131
  116. package/esm/chart/__stories__/Chart.stories.js +2 -4
  117. package/esm/chart/__stories__/PeriodSelector.stories.js +103 -75
  118. package/esm/chart/area/Area.js +25 -35
  119. package/esm/chart/area/AreaChart.js +17 -12
  120. package/esm/chart/area/DottedArea.js +61 -109
  121. package/esm/chart/area/GradientArea.js +35 -91
  122. package/esm/chart/area/SolidArea.js +22 -8
  123. package/esm/chart/area/__stories__/AreaChart.stories.js +1 -1
  124. package/esm/chart/axis/Axis.js +5 -39
  125. package/esm/chart/axis/DefaultAxisTickLabel.js +11 -0
  126. package/esm/chart/axis/XAxis.js +148 -66
  127. package/esm/chart/axis/YAxis.js +149 -65
  128. package/esm/chart/axis/__stories__/Axis.stories.js +259 -1
  129. package/esm/chart/axis/index.js +1 -0
  130. package/esm/chart/bar/Bar.js +3 -1
  131. package/esm/chart/bar/BarChart.js +15 -37
  132. package/esm/chart/bar/BarPlot.js +41 -35
  133. package/esm/chart/bar/BarStack.js +75 -38
  134. package/esm/chart/bar/BarStackGroup.js +6 -16
  135. package/esm/chart/bar/DefaultBar.js +26 -48
  136. package/esm/chart/bar/DefaultBarStack.js +23 -58
  137. package/esm/chart/bar/__stories__/BarChart.stories.js +502 -77
  138. package/esm/chart/gradient/Gradient.js +53 -0
  139. package/esm/chart/gradient/index.js +1 -0
  140. package/esm/chart/index.js +3 -1
  141. package/esm/chart/line/DefaultReferenceLineLabel.js +66 -0
  142. package/esm/chart/line/DottedLine.js +29 -14
  143. package/esm/chart/line/Line.js +106 -67
  144. package/esm/chart/line/LineChart.js +20 -14
  145. package/esm/chart/line/ReferenceLine.js +80 -63
  146. package/esm/chart/line/SolidLine.js +25 -10
  147. package/esm/chart/line/__stories__/LineChart.stories.js +2101 -1977
  148. package/esm/chart/line/__stories__/ReferenceLine.stories.js +83 -28
  149. package/esm/chart/line/index.js +1 -1
  150. package/esm/chart/point/DefaultPointLabel.js +39 -0
  151. package/esm/chart/point/Point.js +188 -0
  152. package/esm/chart/point/index.js +2 -0
  153. package/esm/chart/scrubber/DefaultScrubberBeacon.js +179 -0
  154. package/esm/chart/scrubber/DefaultScrubberBeaconLabel.js +43 -0
  155. package/esm/chart/scrubber/DefaultScrubberLabel.js +28 -0
  156. package/esm/chart/scrubber/Scrubber.js +126 -146
  157. package/esm/chart/scrubber/ScrubberBeaconGroup.js +161 -0
  158. package/esm/chart/scrubber/ScrubberBeaconLabelGroup.js +185 -0
  159. package/esm/chart/scrubber/ScrubberProvider.js +46 -54
  160. package/esm/chart/scrubber/index.js +3 -1
  161. package/esm/chart/text/ChartText.js +242 -174
  162. package/esm/chart/text/{SmartChartTextGroup.js → ChartTextGroup.js} +6 -5
  163. package/esm/chart/text/index.js +1 -1
  164. package/esm/chart/utils/axis.js +45 -29
  165. package/esm/chart/utils/chart.js +44 -3
  166. package/esm/chart/utils/gradient.js +305 -0
  167. package/esm/chart/utils/index.js +3 -0
  168. package/esm/chart/utils/path.js +76 -8
  169. package/esm/chart/utils/point.js +171 -17
  170. package/esm/chart/utils/scale.js +242 -2
  171. package/esm/chart/utils/scrubber.js +139 -0
  172. package/esm/chart/utils/transition.js +185 -0
  173. package/esm/sparkline/__stories__/Sparkline.stories.js +11 -7
  174. package/esm/sparkline/__stories__/SparklineGradient.stories.js +7 -4
  175. package/esm/sparkline/sparkline-interactive/__stories__/SparklineInteractive.stories.js +51 -26
  176. package/esm/sparkline/sparkline-interactive-header/__stories__/SparklineInteractiveHeader.stories.js +17 -9
  177. package/package.json +15 -9
  178. package/dts/chart/Point.d.ts +0 -103
  179. package/dts/chart/Point.d.ts.map +0 -1
  180. package/dts/chart/line/GradientLine.d.ts +0 -45
  181. package/dts/chart/line/GradientLine.d.ts.map +0 -1
  182. package/dts/chart/scrubber/ScrubberBeacon.d.ts +0 -75
  183. package/dts/chart/scrubber/ScrubberBeacon.d.ts.map +0 -1
  184. package/dts/chart/text/SmartChartTextGroup.d.ts.map +0 -1
  185. package/esm/chart/Point.js +0 -111
  186. package/esm/chart/line/GradientLine.js +0 -62
  187. package/esm/chart/scrubber/ScrubberBeacon.js +0 -199
@@ -1,16 +1,12 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import { memo, useMemo } from 'react';
3
- import { G } from 'react-native-svg';
1
+ import { memo } from 'react';
2
+ import { useDerivedValue } from 'react-native-reanimated';
4
3
  import { useTheme } from '@coinbase/cds-mobile/hooks/useTheme';
5
4
  import { useCartesianChartContext } from '../ChartProvider';
6
- import { ChartText } from '../text';
7
- import { getPointOnScale } from '../utils';
5
+ import { unwrapAnimatedValue } from '../utils';
6
+ import { getPointOnSerializableScale } from '../utils/point';
7
+ import { DefaultReferenceLineLabel } from './DefaultReferenceLineLabel';
8
8
  import { DottedLine } from './DottedLine';
9
-
10
- /**
11
- * Configuration for ReferenceLine label rendering using ChartText.
12
- */
13
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
10
  export const ReferenceLine = /*#__PURE__*/memo(_ref => {
15
11
  let {
16
12
  dataX,
@@ -18,44 +14,60 @@ export const ReferenceLine = /*#__PURE__*/memo(_ref => {
18
14
  yAxisId,
19
15
  label,
20
16
  labelPosition = dataY !== undefined ? 'right' : 'top',
21
- testID,
22
17
  LineComponent = DottedLine,
18
+ LabelComponent = DefaultReferenceLineLabel,
19
+ labelElevated,
20
+ labelFont,
21
+ labelDx,
22
+ labelDy,
23
+ labelHorizontalAlignment,
24
+ labelVerticalAlignment,
25
+ labelBoundsInset,
23
26
  stroke,
24
- labelProps
27
+ opacity = 1
25
28
  } = _ref;
26
29
  const theme = useTheme();
27
30
  const {
28
- getXScale,
29
- getYScale,
31
+ getXSerializableScale,
32
+ getYSerializableScale,
30
33
  drawingArea
31
34
  } = useCartesianChartContext();
35
+ const xScale = getXSerializableScale();
36
+ const yScale = getYSerializableScale(yAxisId);
32
37
  const effectiveLineStroke = stroke != null ? stroke : theme.color.bgLine;
33
38
 
34
- // Merge default props with user provided props
35
- const finalLabelProps = useMemo(() => _extends({
36
- borderRadius: 8,
37
- color: theme.color.fgMuted,
38
- inset: {
39
- top: 8,
40
- bottom: 8,
41
- left: 12,
42
- right: 12
43
- }
44
- }, dataY !== undefined ? {
45
- verticalAlignment: 'middle'
46
- } : {
47
- horizontalAlignment: 'center'
48
- }, labelProps), [dataY, labelProps, theme.color.fgMuted]);
49
- // Horizontal reference line logic
39
+ // For horizontal lines (dataY defined): default to verticalAlignment: 'middle'
40
+ // For vertical lines (dataX defined): default to horizontalAlignment: 'center'
41
+ const isHorizontal = dataY !== undefined;
42
+ const xPixel = useDerivedValue(() => {
43
+ const dataXValue = unwrapAnimatedValue(dataX);
44
+ return dataXValue !== undefined && xScale ? getPointOnSerializableScale(dataXValue, xScale) : undefined;
45
+ }, [dataX, xScale]);
46
+ const yPixel = useDerivedValue(() => {
47
+ const dataYValue = unwrapAnimatedValue(dataY);
48
+ return dataYValue !== undefined && yScale ? getPointOnSerializableScale(dataYValue, yScale) : undefined;
49
+ }, [dataY, yScale]);
50
+ const horizontalLine = useDerivedValue(() => {
51
+ if (yPixel.value === undefined) return;
52
+ return "M" + drawingArea.x + "," + yPixel.value + " L" + (drawingArea.x + drawingArea.width) + "," + yPixel.value;
53
+ }, [drawingArea, yPixel]);
54
+ const verticalLine = useDerivedValue(() => {
55
+ if (xPixel.value === undefined) return;
56
+ return "M" + xPixel.value + "," + drawingArea.y + " L" + xPixel.value + "," + (drawingArea.y + drawingArea.height);
57
+ }, [drawingArea, xPixel]);
58
+ const labelXPixel = useDerivedValue(() => {
59
+ var _xPixel$value;
60
+ return (_xPixel$value = xPixel.value) != null ? _xPixel$value : 0;
61
+ }, [xPixel]);
62
+ const labelYPixel = useDerivedValue(() => {
63
+ var _yPixel$value;
64
+ return (_yPixel$value = yPixel.value) != null ? _yPixel$value : 0;
65
+ }, [yPixel]);
66
+ const labelOpacity = useDerivedValue(() => {
67
+ const isVisible = dataY !== undefined && yPixel.value !== undefined || dataX !== undefined && xPixel.value !== undefined;
68
+ return isVisible ? unwrapAnimatedValue(opacity) : 0;
69
+ }, [yPixel, xPixel, opacity]);
50
70
  if (dataY !== undefined) {
51
- const yScale = getYScale(yAxisId);
52
-
53
- // Don't render if we don't have a scale
54
- if (!yScale) {
55
- return null;
56
- }
57
- const yPixel = yScale(dataY);
58
- if (yPixel === undefined) return null;
59
71
  let labelX;
60
72
  if (labelPosition === 'left') {
61
73
  labelX = drawingArea.x;
@@ -64,30 +76,30 @@ export const ReferenceLine = /*#__PURE__*/memo(_ref => {
64
76
  } else {
65
77
  labelX = drawingArea.x + drawingArea.width;
66
78
  }
67
- return /*#__PURE__*/_jsxs(G, {
68
- "data-testid": testID,
79
+ return /*#__PURE__*/_jsxs(_Fragment, {
69
80
  children: [/*#__PURE__*/_jsx(LineComponent, {
70
81
  animate: false,
71
- d: "M" + drawingArea.x + "," + yPixel + " L" + (drawingArea.x + drawingArea.width) + "," + yPixel,
72
- stroke: effectiveLineStroke
73
- }), label && /*#__PURE__*/_jsx(ChartText, _extends({}, finalLabelProps, {
82
+ d: horizontalLine,
83
+ stroke: effectiveLineStroke,
84
+ strokeOpacity: opacity
85
+ }), label && /*#__PURE__*/_jsx(LabelComponent, {
86
+ boundsInset: labelBoundsInset,
87
+ dx: labelDx,
88
+ dy: labelDy,
89
+ elevated: labelElevated,
90
+ font: labelFont,
91
+ horizontalAlignment: labelHorizontalAlignment,
92
+ opacity: labelOpacity,
93
+ verticalAlignment: labelVerticalAlignment != null ? labelVerticalAlignment : isHorizontal ? 'middle' : undefined,
74
94
  x: labelX,
75
- y: yPixel,
95
+ y: labelYPixel,
76
96
  children: label
77
- }))]
97
+ })]
78
98
  });
79
99
  }
80
100
 
81
101
  // Vertical reference line logic
82
102
  if (dataX !== undefined) {
83
- const xScale = getXScale();
84
-
85
- // Don't render if we don't have scales
86
- if (!xScale) {
87
- return null;
88
- }
89
- const xPixel = getPointOnScale(dataX, xScale);
90
- if (xPixel === undefined) return null;
91
103
  let labelY;
92
104
  if (labelPosition === 'top') {
93
105
  labelY = drawingArea.y;
@@ -96,20 +108,25 @@ export const ReferenceLine = /*#__PURE__*/memo(_ref => {
96
108
  } else {
97
109
  labelY = drawingArea.y + drawingArea.height;
98
110
  }
99
- return /*#__PURE__*/_jsxs(G, {
100
- "data-testid": testID,
111
+ return /*#__PURE__*/_jsxs(_Fragment, {
101
112
  children: [/*#__PURE__*/_jsx(LineComponent, {
102
113
  animate: false,
103
- d: "M" + xPixel + "," + drawingArea.y + " L" + xPixel + "," + (drawingArea.y + drawingArea.height),
104
- stroke: effectiveLineStroke
105
- }), label && /*#__PURE__*/_jsx(ChartText, _extends({}, finalLabelProps, {
106
- x: xPixel,
114
+ d: verticalLine,
115
+ stroke: effectiveLineStroke,
116
+ strokeOpacity: opacity
117
+ }), label && /*#__PURE__*/_jsx(LabelComponent, {
118
+ boundsInset: labelBoundsInset,
119
+ dx: labelDx,
120
+ dy: labelDy,
121
+ elevated: labelElevated,
122
+ font: labelFont,
123
+ horizontalAlignment: labelHorizontalAlignment != null ? labelHorizontalAlignment : !isHorizontal ? 'center' : undefined,
124
+ opacity: labelOpacity,
125
+ verticalAlignment: labelVerticalAlignment,
126
+ x: labelXPixel,
107
127
  y: labelY,
108
128
  children: label
109
- }))]
129
+ })]
110
130
  });
111
131
  }
112
-
113
- // Should not reach here if types are correct
114
- return null;
115
132
  });
@@ -1,31 +1,46 @@
1
- const _excluded = ["fill", "stroke", "strokeLinecap", "strokeLinejoin", "strokeOpacity", "strokeWidth"];
1
+ const _excluded = ["fill", "stroke", "strokeCap", "strokeJoin", "strokeOpacity", "strokeWidth", "gradient", "yAxisId", "d", "animate", "transition"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
4
  import { memo } from 'react';
5
5
  import { useTheme } from '@coinbase/cds-mobile/hooks/useTheme';
6
+ import { Gradient } from '../gradient';
6
7
  import { Path } from '../Path';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  /**
9
- * A customizable solid line component which uses path element.
10
+ * A customizable solid line component.
11
+ * Supports gradient for gradient effects and smooth data transitions via AnimatedPath.
10
12
  */
11
13
  export const SolidLine = /*#__PURE__*/memo(_ref => {
12
14
  let {
13
15
  fill = 'none',
14
16
  stroke,
15
- strokeLinecap = 'round',
16
- strokeLinejoin = 'round',
17
+ strokeCap = 'round',
18
+ strokeJoin = 'round',
17
19
  strokeOpacity = 1,
18
- strokeWidth = 2
20
+ strokeWidth = 2,
21
+ gradient,
22
+ yAxisId,
23
+ d,
24
+ animate,
25
+ transition
19
26
  } = _ref,
20
27
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
21
28
  const theme = useTheme();
22
29
  return /*#__PURE__*/_jsx(Path, _extends({
30
+ animate: animate,
23
31
  clipOffset: strokeWidth,
32
+ d: d,
24
33
  fill: fill,
25
- stroke: stroke != null ? stroke : theme.color.bgLine,
26
- strokeLinecap: strokeLinecap,
27
- strokeLinejoin: strokeLinejoin,
34
+ stroke: stroke != null ? stroke : theme.color.fgPrimary,
35
+ strokeCap: strokeCap,
36
+ strokeJoin: strokeJoin,
28
37
  strokeOpacity: strokeOpacity,
29
- strokeWidth: strokeWidth
30
- }, props));
38
+ strokeWidth: strokeWidth,
39
+ transition: transition
40
+ }, props, {
41
+ children: gradient && /*#__PURE__*/_jsx(Gradient, {
42
+ gradient: gradient,
43
+ yAxisId: yAxisId
44
+ })
45
+ }));
31
46
  });