@ledgerhq/lumen-ui-rnative-visualization 0.1.17 → 0.1.19

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 (219) hide show
  1. package/dist/module/lib/Components/Axis/XAxis/XAxis.js +4 -3
  2. package/dist/module/lib/Components/Axis/XAxis/XAxis.js.map +1 -1
  3. package/dist/module/lib/Components/Axis/XAxis/XAxis.test.js +14 -0
  4. package/dist/module/lib/Components/Axis/XAxis/XAxis.test.js.map +1 -1
  5. package/dist/module/lib/Components/Axis/YAxis/YAxis.js +4 -3
  6. package/dist/module/lib/Components/Axis/YAxis/YAxis.js.map +1 -1
  7. package/dist/module/lib/Components/Axis/YAxis/YAxis.test.js +14 -0
  8. package/dist/module/lib/Components/Axis/YAxis/YAxis.test.js.map +1 -1
  9. package/dist/module/lib/Components/CartesianChart/CartesianChart.js +30 -23
  10. package/dist/module/lib/Components/CartesianChart/CartesianChart.js.map +1 -1
  11. package/dist/module/lib/Components/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.js +61 -0
  12. package/dist/module/lib/Components/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.js.map +1 -0
  13. package/dist/module/lib/Components/CartesianChart/ChartEmptyLabel/index.js +4 -0
  14. package/dist/module/lib/Components/CartesianChart/ChartEmptyLabel/index.js.map +1 -0
  15. package/dist/module/lib/Components/CartesianChart/{RevealClip/RevealClipDefs.js → RevealAnimation/RevealAnimationProvider.js} +13 -13
  16. package/dist/module/lib/Components/CartesianChart/RevealAnimation/RevealAnimationProvider.js.map +1 -0
  17. package/dist/module/lib/Components/CartesianChart/{RevealClip/RevealClipDefs.test.js → RevealAnimation/RevealAnimationProvider.test.js} +51 -12
  18. package/dist/module/lib/Components/CartesianChart/RevealAnimation/RevealAnimationProvider.test.js.map +1 -0
  19. package/dist/module/lib/Components/CartesianChart/RevealAnimation/context.js +35 -0
  20. package/dist/module/lib/Components/CartesianChart/RevealAnimation/context.js.map +1 -0
  21. package/dist/module/lib/Components/CartesianChart/RevealAnimation/index.js +5 -0
  22. package/dist/module/lib/Components/CartesianChart/RevealAnimation/index.js.map +1 -0
  23. package/dist/module/lib/Components/CartesianChart/RevealAnimation/types.js.map +1 -0
  24. package/dist/module/lib/Components/CartesianChart/RevealAnimation/utils.js +64 -0
  25. package/dist/module/lib/Components/CartesianChart/RevealAnimation/utils.js.map +1 -0
  26. package/dist/module/lib/Components/CartesianChart/hooks/useShimmerAnimation.js +37 -0
  27. package/dist/module/lib/Components/CartesianChart/hooks/useShimmerAnimation.js.map +1 -0
  28. package/dist/module/lib/Components/CartesianChart/utils.js +1 -1
  29. package/dist/module/lib/Components/CartesianChart/utils.js.map +1 -1
  30. package/dist/module/lib/Components/Line/Line.js +18 -11
  31. package/dist/module/lib/Components/Line/Line.js.map +1 -1
  32. package/dist/module/lib/Components/Line/constants.js +5 -0
  33. package/dist/module/lib/Components/Line/constants.js.map +1 -0
  34. package/dist/module/lib/Components/Line/types.js +2 -0
  35. package/dist/module/lib/Components/Line/utils.js +38 -11
  36. package/dist/module/lib/Components/Line/utils.js.map +1 -1
  37. package/dist/module/lib/Components/Line/utils.test.js +49 -3
  38. package/dist/module/lib/Components/Line/utils.test.js.map +1 -1
  39. package/dist/module/lib/Components/LineChart/LineChart.js +131 -27
  40. package/dist/module/lib/Components/LineChart/LineChart.js.map +1 -1
  41. package/dist/module/lib/Components/LineChart/LineChart.test.js +147 -0
  42. package/dist/module/lib/Components/LineChart/LineChart.test.js.map +1 -1
  43. package/dist/module/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.js +72 -0
  44. package/dist/module/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.js.map +1 -0
  45. package/dist/module/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.test.js +47 -0
  46. package/dist/module/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.test.js.map +1 -0
  47. package/dist/module/lib/Components/LineChart/LineChartEmptyState/index.js +4 -0
  48. package/dist/module/lib/Components/LineChart/LineChartEmptyState/index.js.map +1 -0
  49. package/dist/module/lib/Components/LineChart/LineChartEmptyState/types.js +4 -0
  50. package/dist/module/lib/Components/LineChart/LineChartEmptyState/types.js.map +1 -0
  51. package/dist/module/lib/Components/LineChart/LineChartEmptyState/utils.js +22 -0
  52. package/dist/module/lib/Components/LineChart/LineChartEmptyState/utils.js.map +1 -0
  53. package/dist/module/lib/Components/LineChart/LineChartEmptyState/utils.test.js +21 -0
  54. package/dist/module/lib/Components/LineChart/LineChartEmptyState/utils.test.js.map +1 -0
  55. package/dist/module/lib/Components/LineChart/utils.js +83 -0
  56. package/dist/module/lib/Components/LineChart/utils.js.map +1 -0
  57. package/dist/module/lib/Components/LineChart/utils.test.js +174 -0
  58. package/dist/module/lib/Components/LineChart/utils.test.js.map +1 -0
  59. package/dist/module/lib/Components/Point/Point.js +6 -4
  60. package/dist/module/lib/Components/Point/Point.js.map +1 -1
  61. package/dist/module/lib/Components/ReferenceLine/ReferenceLine.js +4 -4
  62. package/dist/module/lib/Components/ReferenceLine/ReferenceLine.js.map +1 -1
  63. package/dist/module/lib/Components/ReferenceLine/constants.js +2 -2
  64. package/dist/module/lib/Components/ReferenceLine/constants.js.map +1 -1
  65. package/dist/module/lib/Components/ReferenceLine/utils.js +2 -1
  66. package/dist/module/lib/Components/ReferenceLine/utils.js.map +1 -1
  67. package/dist/module/lib/Components/Scrubber/DefaultScrubberTooltip/utils.js +2 -1
  68. package/dist/module/lib/Components/Scrubber/DefaultScrubberTooltip/utils.js.map +1 -1
  69. package/dist/module/lib/Components/Scrubber/Scrubber.js +2 -2
  70. package/dist/module/lib/Components/Scrubber/Scrubber.js.map +1 -1
  71. package/dist/module/lib/Components/Scrubber/ScrubberProvider.js +10 -2
  72. package/dist/module/lib/Components/Scrubber/ScrubberProvider.js.map +1 -1
  73. package/dist/module/lib/Components/Scrubber/ScrubberProvider.test.js +79 -1
  74. package/dist/module/lib/Components/Scrubber/ScrubberProvider.test.js.map +1 -1
  75. package/dist/module/lib/Components/Scrubber/utils.js +3 -2
  76. package/dist/module/lib/Components/Scrubber/utils.js.map +1 -1
  77. package/dist/module/lib/utils/numbers.js +16 -0
  78. package/dist/module/lib/utils/numbers.js.map +1 -0
  79. package/dist/module/lib/utils/ticks/ticks.js +0 -16
  80. package/dist/module/lib/utils/ticks/ticks.js.map +1 -1
  81. package/dist/typescript/src/lib/Components/Axis/Axis.types.d.ts +6 -0
  82. package/dist/typescript/src/lib/Components/Axis/Axis.types.d.ts.map +1 -1
  83. package/dist/typescript/src/lib/Components/Axis/XAxis/XAxis.d.ts +1 -1
  84. package/dist/typescript/src/lib/Components/Axis/XAxis/XAxis.d.ts.map +1 -1
  85. package/dist/typescript/src/lib/Components/Axis/YAxis/YAxis.d.ts +1 -1
  86. package/dist/typescript/src/lib/Components/Axis/YAxis/YAxis.d.ts.map +1 -1
  87. package/dist/typescript/src/lib/Components/CartesianChart/CartesianChart.d.ts +1 -1
  88. package/dist/typescript/src/lib/Components/CartesianChart/CartesianChart.d.ts.map +1 -1
  89. package/dist/typescript/src/lib/Components/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.d.ts +18 -0
  90. package/dist/typescript/src/lib/Components/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.d.ts.map +1 -0
  91. package/dist/typescript/src/lib/Components/CartesianChart/ChartEmptyLabel/index.d.ts +2 -0
  92. package/dist/typescript/src/lib/Components/CartesianChart/ChartEmptyLabel/index.d.ts.map +1 -0
  93. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/RevealAnimationProvider.d.ts +3 -0
  94. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/RevealAnimationProvider.d.ts.map +1 -0
  95. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/context.d.ts +22 -0
  96. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/context.d.ts.map +1 -0
  97. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/index.d.ts +3 -0
  98. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/index.d.ts.map +1 -0
  99. package/dist/typescript/src/lib/Components/CartesianChart/{RevealClip → RevealAnimation}/types.d.ts +15 -2
  100. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/types.d.ts.map +1 -0
  101. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/utils.d.ts +33 -0
  102. package/dist/typescript/src/lib/Components/CartesianChart/RevealAnimation/utils.d.ts.map +1 -0
  103. package/dist/typescript/src/lib/Components/CartesianChart/hooks/useShimmerAnimation.d.ts +13 -0
  104. package/dist/typescript/src/lib/Components/CartesianChart/hooks/useShimmerAnimation.d.ts.map +1 -0
  105. package/dist/typescript/src/lib/Components/CartesianChart/types.d.ts +12 -0
  106. package/dist/typescript/src/lib/Components/CartesianChart/types.d.ts.map +1 -1
  107. package/dist/typescript/src/lib/Components/CartesianChart/utils.d.ts +1 -1
  108. package/dist/typescript/src/lib/Components/CartesianChart/utils.d.ts.map +1 -1
  109. package/dist/typescript/src/lib/Components/Line/Line.d.ts +1 -1
  110. package/dist/typescript/src/lib/Components/Line/Line.d.ts.map +1 -1
  111. package/dist/typescript/src/lib/Components/Line/constants.d.ts +3 -0
  112. package/dist/typescript/src/lib/Components/Line/constants.d.ts.map +1 -0
  113. package/dist/typescript/src/lib/Components/Line/index.d.ts +1 -1
  114. package/dist/typescript/src/lib/Components/Line/index.d.ts.map +1 -1
  115. package/dist/typescript/src/lib/Components/Line/types.d.ts +15 -0
  116. package/dist/typescript/src/lib/Components/Line/types.d.ts.map +1 -1
  117. package/dist/typescript/src/lib/Components/Line/utils.d.ts +11 -6
  118. package/dist/typescript/src/lib/Components/Line/utils.d.ts.map +1 -1
  119. package/dist/typescript/src/lib/Components/LineChart/LineChart.d.ts +1 -1
  120. package/dist/typescript/src/lib/Components/LineChart/LineChart.d.ts.map +1 -1
  121. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.d.ts +9 -0
  122. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.d.ts.map +1 -0
  123. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/index.d.ts +3 -0
  124. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/index.d.ts.map +1 -0
  125. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/types.d.ts +3 -0
  126. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/types.d.ts.map +1 -0
  127. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/utils.d.ts +14 -0
  128. package/dist/typescript/src/lib/Components/LineChart/LineChartEmptyState/utils.d.ts.map +1 -0
  129. package/dist/typescript/src/lib/Components/LineChart/types.d.ts +41 -1
  130. package/dist/typescript/src/lib/Components/LineChart/types.d.ts.map +1 -1
  131. package/dist/typescript/src/lib/Components/LineChart/utils.d.ts +43 -0
  132. package/dist/typescript/src/lib/Components/LineChart/utils.d.ts.map +1 -0
  133. package/dist/typescript/src/lib/Components/Point/Point.d.ts.map +1 -1
  134. package/dist/typescript/src/lib/Components/ReferenceLine/ReferenceLine.d.ts.map +1 -1
  135. package/dist/typescript/src/lib/Components/ReferenceLine/constants.d.ts +2 -2
  136. package/dist/typescript/src/lib/Components/ReferenceLine/constants.d.ts.map +1 -1
  137. package/dist/typescript/src/lib/Components/ReferenceLine/utils.d.ts.map +1 -1
  138. package/dist/typescript/src/lib/Components/Scrubber/DefaultScrubberTooltip/utils.d.ts.map +1 -1
  139. package/dist/typescript/src/lib/Components/Scrubber/Scrubber.d.ts.map +1 -1
  140. package/dist/typescript/src/lib/Components/Scrubber/ScrubberProvider.d.ts.map +1 -1
  141. package/dist/typescript/src/lib/Components/Scrubber/utils.d.ts.map +1 -1
  142. package/dist/typescript/src/lib/utils/index.d.ts +1 -1
  143. package/dist/typescript/src/lib/utils/index.d.ts.map +1 -1
  144. package/dist/typescript/src/lib/utils/numbers.d.ts +13 -0
  145. package/dist/typescript/src/lib/utils/numbers.d.ts.map +1 -0
  146. package/dist/typescript/src/lib/utils/ticks/ticks.d.ts +1 -11
  147. package/dist/typescript/src/lib/utils/ticks/ticks.d.ts.map +1 -1
  148. package/dist/typescript/src/lib/utils/types.d.ts +27 -2
  149. package/dist/typescript/src/lib/utils/types.d.ts.map +1 -1
  150. package/package.json +3 -3
  151. package/src/lib/Components/Axis/Axis.types.ts +6 -0
  152. package/src/lib/Components/Axis/XAxis/XAxis.test.tsx +12 -0
  153. package/src/lib/Components/Axis/XAxis/XAxis.tsx +29 -32
  154. package/src/lib/Components/Axis/YAxis/YAxis.test.tsx +12 -0
  155. package/src/lib/Components/Axis/YAxis/YAxis.tsx +29 -32
  156. package/src/lib/Components/CartesianChart/CartesianChart.tsx +30 -24
  157. package/src/lib/Components/CartesianChart/ChartEmptyLabel/ChartEmptyLabel.tsx +68 -0
  158. package/src/lib/Components/CartesianChart/ChartEmptyLabel/index.ts +1 -0
  159. package/src/lib/Components/CartesianChart/{RevealClip/RevealClipDefs.test.tsx → RevealAnimation/RevealAnimationProvider.test.tsx} +60 -17
  160. package/src/lib/Components/CartesianChart/{RevealClip/RevealClipDefs.tsx → RevealAnimation/RevealAnimationProvider.tsx} +11 -11
  161. package/src/lib/Components/CartesianChart/RevealAnimation/context.ts +39 -0
  162. package/src/lib/Components/CartesianChart/RevealAnimation/index.ts +2 -0
  163. package/src/lib/Components/CartesianChart/{RevealClip → RevealAnimation}/types.ts +16 -2
  164. package/src/lib/Components/CartesianChart/RevealAnimation/utils.ts +87 -0
  165. package/src/lib/Components/CartesianChart/hooks/useShimmerAnimation.ts +52 -0
  166. package/src/lib/Components/CartesianChart/types.ts +12 -0
  167. package/src/lib/Components/CartesianChart/utils.ts +2 -1
  168. package/src/lib/Components/Line/Line.tsx +26 -14
  169. package/src/lib/Components/Line/constants.ts +2 -0
  170. package/src/lib/Components/Line/index.ts +1 -1
  171. package/src/lib/Components/Line/types.ts +17 -0
  172. package/src/lib/Components/Line/utils.test.ts +77 -3
  173. package/src/lib/Components/Line/utils.ts +63 -12
  174. package/src/lib/Components/LineChart/LineChart.test.tsx +135 -0
  175. package/src/lib/Components/LineChart/LineChart.tsx +157 -38
  176. package/src/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.test.tsx +39 -0
  177. package/src/lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.tsx +72 -0
  178. package/src/lib/Components/LineChart/LineChartEmptyState/index.ts +2 -0
  179. package/src/lib/Components/LineChart/LineChartEmptyState/types.ts +3 -0
  180. package/src/lib/Components/LineChart/LineChartEmptyState/utils.test.ts +22 -0
  181. package/src/lib/Components/LineChart/LineChartEmptyState/utils.ts +24 -0
  182. package/src/lib/Components/LineChart/types.ts +49 -1
  183. package/src/lib/Components/LineChart/utils.test.ts +196 -0
  184. package/src/lib/Components/LineChart/utils.ts +107 -0
  185. package/src/lib/Components/Point/Point.tsx +7 -4
  186. package/src/lib/Components/ReferenceLine/ReferenceLine.tsx +8 -4
  187. package/src/lib/Components/ReferenceLine/constants.ts +2 -2
  188. package/src/lib/Components/ReferenceLine/utils.ts +2 -1
  189. package/src/lib/Components/Scrubber/DefaultScrubberTooltip/utils.ts +2 -1
  190. package/src/lib/Components/Scrubber/Scrubber.tsx +13 -2
  191. package/src/lib/Components/Scrubber/ScrubberProvider.test.tsx +83 -1
  192. package/src/lib/Components/Scrubber/ScrubberProvider.tsx +17 -2
  193. package/src/lib/Components/Scrubber/utils.ts +3 -5
  194. package/src/lib/utils/index.ts +1 -0
  195. package/src/lib/utils/numbers.ts +15 -0
  196. package/src/lib/utils/ticks/ticks.ts +1 -23
  197. package/src/lib/utils/types.ts +35 -2
  198. package/dist/module/lib/Components/CartesianChart/RevealClip/RevealClipDefs.js.map +0 -1
  199. package/dist/module/lib/Components/CartesianChart/RevealClip/RevealClipDefs.test.js.map +0 -1
  200. package/dist/module/lib/Components/CartesianChart/RevealClip/context.js +0 -8
  201. package/dist/module/lib/Components/CartesianChart/RevealClip/context.js.map +0 -1
  202. package/dist/module/lib/Components/CartesianChart/RevealClip/index.js +0 -5
  203. package/dist/module/lib/Components/CartesianChart/RevealClip/index.js.map +0 -1
  204. package/dist/module/lib/Components/CartesianChart/RevealClip/types.js.map +0 -1
  205. package/dist/module/lib/Components/CartesianChart/RevealClip/utils.js +0 -32
  206. package/dist/module/lib/Components/CartesianChart/RevealClip/utils.js.map +0 -1
  207. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/RevealClipDefs.d.ts +0 -3
  208. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/RevealClipDefs.d.ts.map +0 -1
  209. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/context.d.ts +0 -7
  210. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/context.d.ts.map +0 -1
  211. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/index.d.ts +0 -3
  212. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/index.d.ts.map +0 -1
  213. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/types.d.ts.map +0 -1
  214. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/utils.d.ts +0 -17
  215. package/dist/typescript/src/lib/Components/CartesianChart/RevealClip/utils.d.ts.map +0 -1
  216. package/src/lib/Components/CartesianChart/RevealClip/context.ts +0 -13
  217. package/src/lib/Components/CartesianChart/RevealClip/index.ts +0 -2
  218. package/src/lib/Components/CartesianChart/RevealClip/utils.ts +0 -51
  219. /package/dist/module/lib/Components/CartesianChart/{RevealClip → RevealAnimation}/types.js +0 -0
@@ -1,12 +1,90 @@
1
1
  "use strict";
2
2
 
3
+ import { useTheme } from '@ledgerhq/lumen-ui-rnative';
3
4
  import { useMemo } from 'react';
5
+ import Animated from 'react-native-reanimated';
6
+ import { G } from 'react-native-svg';
4
7
  import { defaultXAxisProps, defaultYAxisProps } from "../Axis/index.js";
5
- import { DEFAULT_AXIS_HEIGHT, XAxis } from "../Axis/XAxis/index.js";
8
+ import { XAxis } from "../Axis/XAxis/index.js";
6
9
  import { YAxis } from "../Axis/YAxis/index.js";
7
10
  import { CartesianChart } from "../CartesianChart/index.js";
11
+ import { ChartEmptyLabel } from "../CartesianChart/ChartEmptyLabel/index.js";
12
+ import { useShimmerAnimation } from "../CartesianChart/hooks/useShimmerAnimation.js";
8
13
  import { Line } from "../Line/index.js";
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { LineChartEmptyState } from "./LineChartEmptyState/index.js";
15
+ import { canRenderLine, computeAxisPadding, getChartDisplayState } from "./utils.js";
16
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
+ const AnimatedG = Animated.createAnimatedComponent(G);
18
+ const LineChartLines = ({
19
+ series,
20
+ showArea,
21
+ areaType,
22
+ stroke,
23
+ connectNulls
24
+ }) => {
25
+ return /*#__PURE__*/_jsx(_Fragment, {
26
+ children: series.map(s => /*#__PURE__*/_jsx(Line, {
27
+ seriesId: s.id,
28
+ stroke: stroke ?? s.stroke,
29
+ showArea: showArea,
30
+ areaType: areaType,
31
+ connectNulls: connectNulls
32
+ }, s.id))
33
+ });
34
+ };
35
+ const LineChartTransitionLines = ({
36
+ series,
37
+ showArea,
38
+ areaType,
39
+ connectNulls
40
+ }) => {
41
+ const {
42
+ theme
43
+ } = useTheme();
44
+ const {
45
+ animatedProps
46
+ } = useShimmerAnimation();
47
+ return /*#__PURE__*/_jsx(AnimatedG, {
48
+ animatedProps: animatedProps,
49
+ children: /*#__PURE__*/_jsx(LineChartLines, {
50
+ series: series,
51
+ showArea: showArea,
52
+ areaType: areaType,
53
+ stroke: theme.colors.border.mutedSubtle,
54
+ connectNulls: connectNulls
55
+ })
56
+ });
57
+ };
58
+ const LineChartContent = ({
59
+ series,
60
+ showArea,
61
+ areaType,
62
+ showXAxis,
63
+ showYAxis,
64
+ xAxisConfig,
65
+ yAxisConfig,
66
+ isTransitionLoading,
67
+ connectNulls,
68
+ children
69
+ }) => {
70
+ return /*#__PURE__*/_jsxs(_Fragment, {
71
+ children: [showXAxis && /*#__PURE__*/_jsx(XAxis, {
72
+ ...xAxisConfig
73
+ }), showYAxis && /*#__PURE__*/_jsx(YAxis, {
74
+ ...yAxisConfig
75
+ }), isTransitionLoading ? /*#__PURE__*/_jsx(LineChartTransitionLines, {
76
+ series: series,
77
+ showArea: showArea,
78
+ areaType: areaType,
79
+ connectNulls: connectNulls
80
+ }) : /*#__PURE__*/_jsx(LineChartLines, {
81
+ series: series,
82
+ showArea: showArea,
83
+ areaType: areaType,
84
+ connectNulls: connectNulls
85
+ }), children]
86
+ });
87
+ };
10
88
  export const LineChart = ({
11
89
  series,
12
90
  showArea = false,
@@ -16,34 +94,50 @@ export const LineChart = ({
16
94
  xAxis,
17
95
  yAxis,
18
96
  width,
19
- height = 160,
97
+ height = 228,
20
98
  inset,
21
99
  children,
22
100
  enableScrubbing = false,
23
101
  onScrubberPositionChange,
24
102
  animate,
25
- magnetRadius
103
+ magnetRadius,
104
+ loading = false,
105
+ emptyLabel = 'No data',
106
+ connectNulls
26
107
  }) => {
27
108
  const xAxisConfig = {
28
109
  ...defaultXAxisProps,
29
- ...xAxis
110
+ ...xAxis,
111
+ position: xAxis?.position ?? defaultXAxisProps.position
30
112
  };
31
113
  const yAxisConfig = {
32
114
  ...defaultYAxisProps,
33
- ...yAxis
115
+ ...yAxis,
116
+ position: yAxis?.position ?? defaultYAxisProps.position,
117
+ width: yAxis?.width ?? defaultYAxisProps.width
34
118
  };
35
- const axisPadding = useMemo(() => {
36
- if (!showXAxis && !showYAxis) {
37
- return undefined;
38
- }
39
- return {
40
- top: showXAxis && xAxisConfig.position === 'top' ? DEFAULT_AXIS_HEIGHT : 0,
41
- bottom: showXAxis && xAxisConfig.position === 'bottom' ? DEFAULT_AXIS_HEIGHT : 0,
42
- left: showYAxis && yAxisConfig.position === 'start' ? yAxisConfig.width : 0,
43
- right: showYAxis && yAxisConfig.position === 'end' ? yAxisConfig.width : 0
44
- };
45
- }, [showXAxis, showYAxis, xAxisConfig?.position, yAxisConfig?.position, yAxisConfig?.width]);
46
- return /*#__PURE__*/_jsxs(CartesianChart, {
119
+ const xAxisPosition = xAxisConfig.position;
120
+ const yAxisPosition = yAxisConfig.position;
121
+ const yAxisWidth = yAxisConfig.width;
122
+ const axisPadding = useMemo(() => computeAxisPadding({
123
+ showXAxis,
124
+ showYAxis,
125
+ xAxisPosition,
126
+ yAxisPosition,
127
+ yAxisWidth
128
+ }), [showXAxis, showYAxis, xAxisPosition, yAxisPosition, yAxisWidth]);
129
+ const hasData = canRenderLine(series, xAxisConfig.data);
130
+ const {
131
+ status,
132
+ ariaLabel
133
+ } = getChartDisplayState({
134
+ loading,
135
+ hasData,
136
+ emptyLabel
137
+ });
138
+ const isTransitionLoading = status === 'transition-loading';
139
+ const isPlaceholder = status === 'initial-loading' || status === 'empty';
140
+ return /*#__PURE__*/_jsx(CartesianChart, {
47
141
  series: series ?? [],
48
142
  xAxis: xAxisConfig,
49
143
  yAxis: yAxisConfig,
@@ -53,17 +147,27 @@ export const LineChart = ({
53
147
  axisPadding: axisPadding,
54
148
  enableScrubbing: enableScrubbing,
55
149
  onScrubberPositionChange: onScrubberPositionChange,
56
- animate: animate,
150
+ animate: isTransitionLoading ? false : animate,
57
151
  magnetRadius: magnetRadius,
58
- children: [showXAxis && /*#__PURE__*/_jsx(XAxis, {
59
- ...xAxisConfig
60
- }), showYAxis && /*#__PURE__*/_jsx(YAxis, {
61
- ...yAxisConfig
62
- }), series?.map(s => /*#__PURE__*/_jsx(Line, {
63
- seriesId: s.id,
152
+ ariaLabel: ariaLabel,
153
+ ariaBusy: loading,
154
+ overlay: status === 'empty' ? /*#__PURE__*/_jsx(ChartEmptyLabel, {
155
+ children: emptyLabel
156
+ }) : undefined,
157
+ children: isPlaceholder ? /*#__PURE__*/_jsx(LineChartEmptyState, {
158
+ loading: status === 'initial-loading'
159
+ }) : /*#__PURE__*/_jsx(LineChartContent, {
160
+ series: series ?? [],
64
161
  showArea: showArea,
65
- areaType: areaType
66
- }, s.id)), children]
162
+ areaType: areaType,
163
+ showXAxis: showXAxis,
164
+ showYAxis: showYAxis,
165
+ xAxisConfig: xAxisConfig,
166
+ yAxisConfig: yAxisConfig,
167
+ isTransitionLoading: isTransitionLoading,
168
+ connectNulls: connectNulls,
169
+ children: children
170
+ })
67
171
  });
68
172
  };
69
173
  //# sourceMappingURL=LineChart.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","defaultXAxisProps","defaultYAxisProps","DEFAULT_AXIS_HEIGHT","XAxis","YAxis","CartesianChart","Line","jsx","_jsx","jsxs","_jsxs","LineChart","series","showArea","areaType","showXAxis","showYAxis","xAxis","yAxis","width","height","inset","children","enableScrubbing","onScrubberPositionChange","animate","magnetRadius","xAxisConfig","yAxisConfig","axisPadding","undefined","top","position","bottom","left","right","map","s","seriesId","id"],"sourceRoot":"../../../../../src","sources":["lib/Components/LineChart/LineChart.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAG/B,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,kBAAS;AAC9D,SAASC,mBAAmB,EAAEC,KAAK,QAAQ,wBAAe;AAC1D,SAASC,KAAK,QAAQ,wBAAe;AACrC,SAASC,cAAc,QAAQ,4BAAmB;AAClD,SAASC,IAAI,QAAQ,kBAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAI/B,OAAO,MAAMC,SAAS,GAAGA,CAAC;EACxBC,MAAM;EACNC,QAAQ,GAAG,KAAK;EAChBC,QAAQ,GAAG,UAAU;EACrBC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,KAAK;EACjBC,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,MAAM,GAAG,GAAG;EACZC,KAAK;EACLC,QAAQ;EACRC,eAAe,GAAG,KAAK;EACvBC,wBAAwB;EACxBC,OAAO;EACPC;AACc,CAAC,KAAK;EACpB,MAAMC,WAAW,GAAG;IAClB,GAAG3B,iBAAiB;IACpB,GAAGiB;EACL,CAAC;EACD,MAAMW,WAAW,GAAG;IAClB,GAAG3B,iBAAiB;IACpB,GAAGiB;EACL,CAAC;EAED,MAAMW,WAA4C,GAAG9B,OAAO,CAAC,MAAM;IACjE,IAAI,CAACgB,SAAS,IAAI,CAACC,SAAS,EAAE;MAC5B,OAAOc,SAAS;IAClB;IAEA,OAAO;MACLC,GAAG,EACDhB,SAAS,IAAIY,WAAW,CAACK,QAAQ,KAAK,KAAK,GAAG9B,mBAAmB,GAAG,CAAC;MACvE+B,MAAM,EACJlB,SAAS,IAAIY,WAAW,CAACK,QAAQ,KAAK,QAAQ,GAC1C9B,mBAAmB,GACnB,CAAC;MACPgC,IAAI,EACFlB,SAAS,IAAIY,WAAW,CAACI,QAAQ,KAAK,OAAO,GAAGJ,WAAW,CAACT,KAAK,GAAG,CAAC;MACvEgB,KAAK,EACHnB,SAAS,IAAIY,WAAW,CAACI,QAAQ,KAAK,KAAK,GAAGJ,WAAW,CAACT,KAAK,GAAG;IACtE,CAAC;EACH,CAAC,EAAE,CACDJ,SAAS,EACTC,SAAS,EACTW,WAAW,EAAEK,QAAQ,EACrBJ,WAAW,EAAEI,QAAQ,EACrBJ,WAAW,EAAET,KAAK,CACnB,CAAC;EAEF,oBACET,KAAA,CAACL,cAAc;IACbO,MAAM,EAAEA,MAAM,IAAI,EAAG;IACrBK,KAAK,EAAEU,WAAY;IACnBT,KAAK,EAAEU,WAAY;IACnBT,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbQ,WAAW,EAAEA,WAAY;IACzBN,eAAe,EAAEA,eAAgB;IACjCC,wBAAwB,EAAEA,wBAAyB;IACnDC,OAAO,EAAEA,OAAQ;IACjBC,YAAY,EAAEA,YAAa;IAAAJ,QAAA,GAE1BP,SAAS,iBAAIP,IAAA,CAACL,KAAK;MAAA,GAAKwB;IAAW,CAAG,CAAC,EACvCX,SAAS,iBAAIR,IAAA,CAACJ,KAAK;MAAA,GAAKwB;IAAW,CAAG,CAAC,EACvChB,MAAM,EAAEwB,GAAG,CAAEC,CAAC,iBACb7B,IAAA,CAACF,IAAI;MAEHgC,QAAQ,EAAED,CAAC,CAACE,EAAG;MACf1B,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA;IAAS,GAHduB,CAAC,CAACE,EAIR,CACF,CAAC,EACDjB,QAAQ;EAAA,CACK,CAAC;AAErB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useTheme","useMemo","Animated","G","defaultXAxisProps","defaultYAxisProps","XAxis","YAxis","CartesianChart","ChartEmptyLabel","useShimmerAnimation","Line","LineChartEmptyState","canRenderLine","computeAxisPadding","getChartDisplayState","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AnimatedG","createAnimatedComponent","LineChartLines","series","showArea","areaType","stroke","connectNulls","children","map","s","seriesId","id","LineChartTransitionLines","theme","animatedProps","colors","border","mutedSubtle","LineChartContent","showXAxis","showYAxis","xAxisConfig","yAxisConfig","isTransitionLoading","LineChart","xAxis","yAxis","width","height","inset","enableScrubbing","onScrubberPositionChange","animate","magnetRadius","loading","emptyLabel","position","xAxisPosition","yAxisPosition","yAxisWidth","axisPadding","hasData","data","status","ariaLabel","isPlaceholder","ariaBusy","overlay","undefined"],"sourceRoot":"../../../../../src","sources":["lib/Components/LineChart/LineChart.tsx"],"mappings":"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","ignoreList":[]}
@@ -311,5 +311,152 @@ describe('LineChart', () => {
311
311
  }));
312
312
  getByTestId('chart-svg');
313
313
  });
314
+ describe('loading and empty states', () => {
315
+ it('renders the placeholder with no data while loading (state 1)', () => {
316
+ const {
317
+ getByTestId,
318
+ queryByTestId
319
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
320
+ children: /*#__PURE__*/_jsx(LineChart, {
321
+ width: 400,
322
+ height: 200,
323
+ loading: true
324
+ })
325
+ }));
326
+ getByTestId('chart-empty-state');
327
+ expect(queryByTestId('line-path')).toBeNull();
328
+ expect(queryByTestId('chart-empty-label')).toBeNull();
329
+ });
330
+ it('renders the placeholder with the empty label when there is no data and not loading (state 2)', () => {
331
+ const {
332
+ getByTestId,
333
+ queryByTestId
334
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
335
+ children: /*#__PURE__*/_jsx(LineChart, {
336
+ width: 400,
337
+ height: 200,
338
+ emptyLabel: "Nothing here"
339
+ })
340
+ }));
341
+ getByTestId('chart-empty-state');
342
+ expect(getByTestId('chart-empty-label', {
343
+ includeHiddenElements: true
344
+ })).toHaveTextContent('Nothing here');
345
+ expect(queryByTestId('line-path')).toBeNull();
346
+ });
347
+ it('defaults the empty label to "No data"', () => {
348
+ const {
349
+ getByTestId
350
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
351
+ children: /*#__PURE__*/_jsx(LineChart, {
352
+ width: 400,
353
+ height: 200
354
+ })
355
+ }));
356
+ expect(getByTestId('chart-empty-label', {
357
+ includeHiddenElements: true
358
+ })).toHaveTextContent('No data');
359
+ });
360
+ it('keeps rendering the real line during a transition load (state 3)', () => {
361
+ const {
362
+ getByTestId,
363
+ queryByTestId
364
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
365
+ children: /*#__PURE__*/_jsx(LineChart, {
366
+ series: sampleSeries,
367
+ width: 400,
368
+ height: 200,
369
+ loading: true
370
+ })
371
+ }));
372
+ getByTestId('line-path');
373
+ expect(queryByTestId('chart-empty-state')).toBeNull();
374
+ expect(queryByTestId('chart-empty-label')).toBeNull();
375
+ });
376
+ it('renders the normal chart when idle with data (state 4)', () => {
377
+ const {
378
+ getByTestId,
379
+ queryByTestId
380
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
381
+ children: /*#__PURE__*/_jsx(LineChart, {
382
+ series: sampleSeries,
383
+ width: 400,
384
+ height: 200
385
+ })
386
+ }));
387
+ getByTestId('line-path');
388
+ expect(queryByTestId('chart-empty-state')).toBeNull();
389
+ expect(queryByTestId('chart-empty-label')).toBeNull();
390
+ });
391
+ });
392
+ describe('null gaps and connectNulls', () => {
393
+ const gappedSeries = [{
394
+ id: 'gapped',
395
+ stroke: '#000',
396
+ data: [10, 20, null, 40, 50],
397
+ curve: 'linear'
398
+ }];
399
+ const countMoves = d => d.match(/M/g)?.length ?? 0;
400
+ it('breaks the line into segments at null values by default', () => {
401
+ const {
402
+ getByTestId
403
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
404
+ children: /*#__PURE__*/_jsx(LineChart, {
405
+ series: gappedSeries,
406
+ width: 400,
407
+ height: 200
408
+ })
409
+ }));
410
+ const d = getByTestId('line-path').props.d;
411
+ expect(countMoves(d)).toBe(2);
412
+ });
413
+ it('connects across nulls when connectNulls is set on the chart', () => {
414
+ const {
415
+ getByTestId
416
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
417
+ children: /*#__PURE__*/_jsx(LineChart, {
418
+ series: gappedSeries,
419
+ width: 400,
420
+ height: 200,
421
+ connectNulls: true
422
+ })
423
+ }));
424
+ const d = getByTestId('line-path').props.d;
425
+ expect(countMoves(d)).toBe(1);
426
+ });
427
+ it('honours connectNulls set per-series', () => {
428
+ const {
429
+ getByTestId
430
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
431
+ children: /*#__PURE__*/_jsx(LineChart, {
432
+ series: [{
433
+ ...gappedSeries[0],
434
+ connectNulls: true
435
+ }],
436
+ width: 400,
437
+ height: 200
438
+ })
439
+ }));
440
+ const d = getByTestId('line-path').props.d;
441
+ expect(countMoves(d)).toBe(1);
442
+ });
443
+ it('lets the chart-level prop override the per-series value', () => {
444
+ const {
445
+ getByTestId
446
+ } = render(/*#__PURE__*/_jsx(LineChartWrapper, {
447
+ children: /*#__PURE__*/_jsx(LineChart, {
448
+ series: [{
449
+ ...gappedSeries[0],
450
+ connectNulls: true
451
+ }],
452
+ width: 400,
453
+ height: 200,
454
+ connectNulls: false
455
+ })
456
+ }));
457
+ const d = getByTestId('line-path').props.d;
458
+ expect(countMoves(d)).toBe(2);
459
+ });
460
+ });
314
461
  });
315
462
  //# sourceMappingURL=LineChart.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","expect","ledgerLiveThemes","ThemeProvider","render","Circle","LineChart","jsx","_jsx","sampleSeries","id","stroke","data","LineChartWrapper","children","themes","colorScheme","getByTestId","series","width","height","getAllByTestId","toHaveLength","showArea","queryAllByTestId","animate","multipleSeries","testID","cx","cy","r","getByText","showXAxis","xAxis","ticks","position","showYAxis","yAxis","queryByText","toBeNull","enableScrubbing","inset","top","bottom","left","right","toBeTruthy"],"sourceRoot":"../../../../../src","sources":["lib/Components/LineChart/LineChart.test.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","it","expect","ledgerLiveThemes","ThemeProvider","render","Circle","LineChart","jsx","_jsx","sampleSeries","id","stroke","data","LineChartWrapper","children","themes","colorScheme","getByTestId","series","width","height","getAllByTestId","toHaveLength","showArea","queryAllByTestId","animate","multipleSeries","testID","cx","cy","r","getByText","showXAxis","xAxis","ticks","position","showYAxis","yAxis","queryByText","toBeNull","enableScrubbing","inset","top","bottom","left","right","toBeTruthy","queryByTestId","loading","emptyLabel","includeHiddenElements","toHaveTextContent","gappedSeries","curve","countMoves","d","match","length","props","toBe","connectNulls"],"sourceRoot":"../../../../../src","sources":["lib/Components/LineChart/LineChart.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ import { useTheme } from '@ledgerhq/lumen-ui-rnative';
4
+ import Animated from 'react-native-reanimated';
5
+ import { G, Line as SvgLine, Path } from 'react-native-svg';
6
+ import { useCartesianChartContext } from "../../CartesianChart/context/index.js";
7
+ import { useShimmerAnimation } from "../../CartesianChart/hooks/useShimmerAnimation.js";
8
+ import { usePathReveal } from "../../CartesianChart/RevealAnimation/index.js";
9
+ import { buildPlaceholderTransform, PLACEHOLDER_LINE_PATH } from "./utils.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const GRID_LINE_RATIOS = [0.3, 0.5, 0.7];
12
+ const GRID_STROKE_WIDTH = 1;
13
+ const PLACEHOLDER_STROKE_WIDTH = 2;
14
+ const AnimatedG = Animated.createAnimatedComponent(G);
15
+
16
+ /**
17
+ * SVG placeholder line shown when a LineChart is loading with no data yet (with
18
+ * a shimmer) or has no data to display (static). Uses a fixed line shape scaled
19
+ * into the chart's reserved drawing area, plus static horizontal grid lines, so
20
+ * axes are not needed.
21
+ */
22
+ export function LineChartEmptyState({
23
+ loading = false
24
+ }) {
25
+ const {
26
+ drawingArea
27
+ } = useCartesianChartContext();
28
+ const {
29
+ theme
30
+ } = useTheme();
31
+ const {
32
+ animatedProps
33
+ } = useShimmerAnimation(loading);
34
+ const clipPath = usePathReveal();
35
+ if (drawingArea.width <= 0 || drawingArea.height <= 0) {
36
+ return null;
37
+ }
38
+ return /*#__PURE__*/_jsxs(G, {
39
+ testID: "chart-empty-state",
40
+ children: [/*#__PURE__*/_jsx(G, {
41
+ testID: "chart-empty-state-grid",
42
+ children: GRID_LINE_RATIOS.map(ratio => {
43
+ const y = drawingArea.y + drawingArea.height * ratio;
44
+ return /*#__PURE__*/_jsx(SvgLine, {
45
+ x1: drawingArea.x,
46
+ y1: y,
47
+ x2: drawingArea.x + drawingArea.width,
48
+ y2: y,
49
+ stroke: theme.colors.border.mutedSubtleTransparent,
50
+ strokeWidth: GRID_STROKE_WIDTH
51
+ }, ratio);
52
+ })
53
+ }), /*#__PURE__*/_jsx(G, {
54
+ clipPath: clipPath,
55
+ children: /*#__PURE__*/_jsx(AnimatedG, {
56
+ animatedProps: animatedProps,
57
+ children: /*#__PURE__*/_jsx(Path, {
58
+ testID: "chart-empty-state-line",
59
+ d: PLACEHOLDER_LINE_PATH,
60
+ transform: buildPlaceholderTransform(drawingArea),
61
+ vectorEffect: "non-scaling-stroke",
62
+ fill: "none",
63
+ stroke: theme.colors.border.muted,
64
+ strokeWidth: PLACEHOLDER_STROKE_WIDTH,
65
+ strokeLinecap: "round",
66
+ strokeLinejoin: "round"
67
+ })
68
+ })
69
+ })]
70
+ });
71
+ }
72
+ //# sourceMappingURL=LineChartEmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTheme","Animated","G","Line","SvgLine","Path","useCartesianChartContext","useShimmerAnimation","usePathReveal","buildPlaceholderTransform","PLACEHOLDER_LINE_PATH","jsx","_jsx","jsxs","_jsxs","GRID_LINE_RATIOS","GRID_STROKE_WIDTH","PLACEHOLDER_STROKE_WIDTH","AnimatedG","createAnimatedComponent","LineChartEmptyState","loading","drawingArea","theme","animatedProps","clipPath","width","height","testID","children","map","ratio","y","x1","x","y1","x2","y2","stroke","colors","border","mutedSubtleTransparent","strokeWidth","d","transform","vectorEffect","fill","muted","strokeLinecap","strokeLinejoin"],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,4BAA4B;AACrD,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,CAAC,EAAEC,IAAI,IAAIC,OAAO,EAAEC,IAAI,QAAQ,kBAAkB;AAE3D,SAASC,wBAAwB,QAAQ,uCAA8B;AACvE,SAASC,mBAAmB,QAAQ,mDAAgD;AACpF,SAASC,aAAa,QAAQ,+CAAsC;AAGpE,SAASC,yBAAyB,EAAEC,qBAAqB,QAAQ,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3E,MAAMC,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACxC,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,wBAAwB,GAAG,CAAC;AAElC,MAAMC,SAAS,GAAGjB,QAAQ,CAACkB,uBAAuB,CAACjB,CAAC,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,mBAAmBA,CAAC;EAClCC,OAAO,GAAG;AACwB,CAAC,EAAE;EACrC,MAAM;IAAEC;EAAY,CAAC,GAAGhB,wBAAwB,CAAC,CAAC;EAClD,MAAM;IAAEiB;EAAM,CAAC,GAAGvB,QAAQ,CAAC,CAAC;EAC5B,MAAM;IAAEwB;EAAc,CAAC,GAAGjB,mBAAmB,CAACc,OAAO,CAAC;EACtD,MAAMI,QAAQ,GAAGjB,aAAa,CAAC,CAAC;EAEhC,IAAIc,WAAW,CAACI,KAAK,IAAI,CAAC,IAAIJ,WAAW,CAACK,MAAM,IAAI,CAAC,EAAE;IACrD,OAAO,IAAI;EACb;EAEA,oBACEb,KAAA,CAACZ,CAAC;IAAC0B,MAAM,EAAC,mBAAmB;IAAAC,QAAA,gBAC3BjB,IAAA,CAACV,CAAC;MAAC0B,MAAM,EAAC,wBAAwB;MAAAC,QAAA,EAC/Bd,gBAAgB,CAACe,GAAG,CAAEC,KAAK,IAAK;QAC/B,MAAMC,CAAC,GAAGV,WAAW,CAACU,CAAC,GAAGV,WAAW,CAACK,MAAM,GAAGI,KAAK;QAEpD,oBACEnB,IAAA,CAACR,OAAO;UAEN6B,EAAE,EAAEX,WAAW,CAACY,CAAE;UAClBC,EAAE,EAAEH,CAAE;UACNI,EAAE,EAAEd,WAAW,CAACY,CAAC,GAAGZ,WAAW,CAACI,KAAM;UACtCW,EAAE,EAAEL,CAAE;UACNM,MAAM,EAAEf,KAAK,CAACgB,MAAM,CAACC,MAAM,CAACC,sBAAuB;UACnDC,WAAW,EAAE1B;QAAkB,GAN1Be,KAON,CAAC;MAEN,CAAC;IAAC,CACD,CAAC,eACJnB,IAAA,CAACV,CAAC;MAACuB,QAAQ,EAAEA,QAAS;MAAAI,QAAA,eACpBjB,IAAA,CAACM,SAAS;QAACM,aAAa,EAAEA,aAAc;QAAAK,QAAA,eACtCjB,IAAA,CAACP,IAAI;UACHuB,MAAM,EAAC,wBAAwB;UAC/Be,CAAC,EAAEjC,qBAAsB;UACzBkC,SAAS,EAAEnC,yBAAyB,CAACa,WAAW,CAAE;UAClDuB,YAAY,EAAC,oBAAoB;UACjCC,IAAI,EAAC,MAAM;UACXR,MAAM,EAAEf,KAAK,CAACgB,MAAM,CAACC,MAAM,CAACO,KAAM;UAClCL,WAAW,EAAEzB,wBAAyB;UACtC+B,aAAa,EAAC,OAAO;UACrBC,cAAc,EAAC;QAAO,CACvB;MAAC,CACO;IAAC,CACX,CAAC;EAAA,CACH,CAAC;AAER","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { describe, it } from '@jest/globals';
4
+ import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
5
+ import { ThemeProvider } from '@ledgerhq/lumen-ui-rnative';
6
+ import { render } from '@testing-library/react-native';
7
+ import { CartesianChart } from "../../CartesianChart/index.js";
8
+ import { LineChartEmptyState } from "./LineChartEmptyState.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ const renderInChart = props => {
11
+ return render(/*#__PURE__*/_jsx(ThemeProvider, {
12
+ themes: ledgerLiveThemes,
13
+ colorScheme: "light",
14
+ children: /*#__PURE__*/_jsx(CartesianChart, {
15
+ series: [],
16
+ width: 400,
17
+ height: 200,
18
+ children: /*#__PURE__*/_jsx(LineChartEmptyState, {
19
+ ...props
20
+ })
21
+ })
22
+ }));
23
+ };
24
+ describe('LineChartEmptyState', () => {
25
+ it('renders the placeholder line', () => {
26
+ const {
27
+ getByTestId
28
+ } = renderInChart({});
29
+ getByTestId('chart-empty-state-line');
30
+ });
31
+ it('renders the grid lines', () => {
32
+ const {
33
+ getByTestId
34
+ } = renderInChart({});
35
+ getByTestId('chart-empty-state-grid');
36
+ });
37
+ it('renders the placeholder while loading', () => {
38
+ const {
39
+ getByTestId
40
+ } = renderInChart({
41
+ loading: true
42
+ });
43
+ getByTestId('chart-empty-state');
44
+ getByTestId('chart-empty-state-line');
45
+ });
46
+ });
47
+ //# sourceMappingURL=LineChartEmptyState.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","it","ledgerLiveThemes","ThemeProvider","render","CartesianChart","LineChartEmptyState","jsx","_jsx","renderInChart","props","themes","colorScheme","children","series","width","height","getByTestId","loading"],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/LineChartEmptyState.test.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,EAAE,QAAQ,eAAe;AAC5C,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,SAASC,cAAc,QAAQ,+BAAsB;AACrD,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG5D,MAAMC,aAAa,GAAIC,KAA+B,IAAK;EACzD,OAAON,MAAM,cACXI,IAAA,CAACL,aAAa;IAACQ,MAAM,EAAET,gBAAiB;IAACU,WAAW,EAAC,OAAO;IAAAC,QAAA,eAC1DL,IAAA,CAACH,cAAc;MAACS,MAAM,EAAE,EAAG;MAACC,KAAK,EAAE,GAAI;MAACC,MAAM,EAAE,GAAI;MAAAH,QAAA,eAClDL,IAAA,CAACF,mBAAmB;QAAA,GAAKI;MAAK,CAAG;IAAC,CACpB;EAAC,CACJ,CACjB,CAAC;AACH,CAAC;AAEDV,QAAQ,CAAC,qBAAqB,EAAE,MAAM;EACpCC,EAAE,CAAC,8BAA8B,EAAE,MAAM;IACvC,MAAM;MAAEgB;IAAY,CAAC,GAAGR,aAAa,CAAC,CAAC,CAAC,CAAC;IAEzCQ,WAAW,CAAC,wBAAwB,CAAC;EACvC,CAAC,CAAC;EAEFhB,EAAE,CAAC,wBAAwB,EAAE,MAAM;IACjC,MAAM;MAAEgB;IAAY,CAAC,GAAGR,aAAa,CAAC,CAAC,CAAC,CAAC;IAEzCQ,WAAW,CAAC,wBAAwB,CAAC;EACvC,CAAC,CAAC;EAEFhB,EAAE,CAAC,uCAAuC,EAAE,MAAM;IAChD,MAAM;MAAEgB;IAAY,CAAC,GAAGR,aAAa,CAAC;MAAES,OAAO,EAAE;IAAK,CAAC,CAAC;IAExDD,WAAW,CAAC,mBAAmB,CAAC;IAChCA,WAAW,CAAC,wBAAwB,CAAC;EACvC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { LineChartEmptyState } from "./LineChartEmptyState.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LineChartEmptyState"],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,0BAAuB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Fixed placeholder line shape, authored against a {@link PLACEHOLDER_VIEW_WIDTH}
5
+ * x {@link PLACEHOLDER_VIEW_HEIGHT} viewBox. Reused for every empty/loading
6
+ * state so the placeholder always reads the same.
7
+ */
8
+ export const PLACEHOLDER_LINE_PATH = 'M1.00 128.27 C4.02 127.46 13.09 125.96 19.13 123.47 C25.19 120.97 31.23 116.53 37.28 113.31 C43.33 110.10 49.38 106.15 55.42 104.20 C61.48 102.24 67.52 102.53 73.57 101.61 C79.61 100.69 85.65 99.89 91.71 98.70 C97.75 97.51 103.80 95.67 109.84 94.47 C115.90 93.27 121.94 91.71 127.99 91.49 C134.03 91.26 140.09 91.53 146.13 93.16 C152.19 94.79 158.23 98.37 164.27 101.25 C170.32 104.13 176.36 108.16 182.42 110.45 C188.46 112.74 194.51 114.41 200.55 115.00 C206.61 115.60 212.65 114.56 218.70 114.03 C224.75 113.50 230.80 112.56 236.84 111.86 C242.88 111.17 248.94 110.27 254.98 109.87 C261.03 109.48 267.07 109.14 273.13 109.49 C279.17 109.82 285.22 110.90 291.26 111.90 C297.32 112.90 303.36 114.47 309.41 115.50 C315.46 116.54 321.50 118.12 327.55 118.11 C333.59 118.10 339.65 118.08 345.69 115.45 C351.74 112.81 357.78 107.02 363.84 102.29 C369.88 97.54 375.93 90.87 381.97 87.01 C388.03 83.16 394.07 79.81 400.11 79.12 C406.17 78.43 412.21 80.79 418.26 82.88 C424.30 84.99 430.36 88.88 436.40 91.74 C442.45 94.59 448.49 98.24 454.55 100.02 C460.59 101.80 466.64 102.08 472.68 102.44 C478.72 102.81 484.78 102.31 490.82 102.21 C496.87 102.11 502.92 101.95 508.97 101.84 C515.01 101.74 521.07 101.47 527.11 101.58 C533.16 101.68 539.20 101.57 545.26 102.48 C551.30 103.39 557.34 105.37 563.39 107.02 C569.43 108.68 575.49 111.02 581.53 112.40 C587.59 113.79 593.63 114.62 599.68 115.30 C605.72 115.98 611.78 115.81 617.82 116.48 C623.87 117.16 629.91 118.39 635.95 119.32 C642.01 120.25 648.05 121.51 654.10 122.04 C660.15 122.57 666.20 123.89 672.24 122.47 C678.30 121.07 684.34 117.39 690.39 113.54 C696.43 109.69 702.49 103.53 708.53 99.38 C714.57 95.23 722.31 90.65 726.66 88.61';
9
+ const PLACEHOLDER_VIEW_WIDTH = 728;
10
+ const PLACEHOLDER_VIEW_HEIGHT = 208;
11
+
12
+ /**
13
+ * Transform that fits {@link PLACEHOLDER_LINE_PATH} into the drawing area. Pair
14
+ * with `vector-effect: non-scaling-stroke` on the path so the stroke keeps a
15
+ * constant width despite the (potentially non-uniform) scale.
16
+ */
17
+ export const buildPlaceholderTransform = drawingArea => {
18
+ const scaleX = drawingArea.width / PLACEHOLDER_VIEW_WIDTH;
19
+ const scaleY = drawingArea.height / PLACEHOLDER_VIEW_HEIGHT;
20
+ return `translate(${drawingArea.x}, ${drawingArea.y}) scale(${scaleX}, ${scaleY})`;
21
+ };
22
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PLACEHOLDER_LINE_PATH","PLACEHOLDER_VIEW_WIDTH","PLACEHOLDER_VIEW_HEIGHT","buildPlaceholderTransform","drawingArea","scaleX","width","scaleY","height","x","y"],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/utils.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,qBAAqB,GAChC,spDAAspD;AAExpD,MAAMC,sBAAsB,GAAG,GAAG;AAClC,MAAMC,uBAAuB,GAAG,GAAG;;AAEnC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GAAIC,WAAwB,IAAa;EAC7E,MAAMC,MAAM,GAAGD,WAAW,CAACE,KAAK,GAAGL,sBAAsB;EACzD,MAAMM,MAAM,GAAGH,WAAW,CAACI,MAAM,GAAGN,uBAAuB;EAE3D,OAAO,aAAaE,WAAW,CAACK,CAAC,KAAKL,WAAW,CAACM,CAAC,WAAWL,MAAM,KAAKE,MAAM,GAAG;AACpF,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import { describe, expect, it } from '@jest/globals';
4
+ import { buildPlaceholderTransform, PLACEHOLDER_LINE_PATH } from "./utils.js";
5
+ describe('PLACEHOLDER_LINE_PATH', () => {
6
+ it('is an svg path starting with a move command', () => {
7
+ expect(PLACEHOLDER_LINE_PATH).toMatch(/^M/);
8
+ });
9
+ });
10
+ describe('buildPlaceholderTransform', () => {
11
+ it('translates to the drawing area origin and scales the viewBox to fit', () => {
12
+ const transform = buildPlaceholderTransform({
13
+ x: 10,
14
+ y: 20,
15
+ width: 364,
16
+ height: 104
17
+ });
18
+ expect(transform).toBe('translate(10, 20) scale(0.5, 0.5)');
19
+ });
20
+ });
21
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","buildPlaceholderTransform","PLACEHOLDER_LINE_PATH","toMatch","transform","x","y","width","height","toBe"],"sourceRoot":"../../../../../../src","sources":["lib/Components/LineChart/LineChartEmptyState/utils.test.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,eAAe;AAEpD,SAASC,yBAAyB,EAAEC,qBAAqB,QAAQ,YAAS;AAE1EJ,QAAQ,CAAC,uBAAuB,EAAE,MAAM;EACtCE,EAAE,CAAC,6CAA6C,EAAE,MAAM;IACtDD,MAAM,CAACG,qBAAqB,CAAC,CAACC,OAAO,CAAC,IAAI,CAAC;EAC7C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFL,QAAQ,CAAC,2BAA2B,EAAE,MAAM;EAC1CE,EAAE,CAAC,qEAAqE,EAAE,MAAM;IAC9E,MAAMI,SAAS,GAAGH,yBAAyB,CAAC;MAC1CI,CAAC,EAAE,EAAE;MACLC,CAAC,EAAE,EAAE;MACLC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE;IACV,CAAC,CAAC;IAEFT,MAAM,CAACK,SAAS,CAAC,CAACK,IAAI,CAAC,mCAAmC,CAAC;EAC7D,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}