react-native-metrify 0.1.0-alpha.3 → 0.1.0-beta.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 (169) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +216 -17
  3. package/dist/cjs/core/index.js +1 -0
  4. package/dist/cjs/core/index.js.map +1 -1
  5. package/dist/cjs/core/utils/dataTransform.js +331 -0
  6. package/dist/cjs/core/utils/dataTransform.js.map +1 -0
  7. package/dist/cjs/widgets/AreaChart/AreaChart.js +17 -137
  8. package/dist/cjs/widgets/AreaChart/AreaChart.js.map +1 -1
  9. package/dist/cjs/widgets/BarChart/BarChart.js +11 -1
  10. package/dist/cjs/widgets/BarChart/BarChart.js.map +1 -1
  11. package/dist/cjs/widgets/BoxPlot/BoxPlot.js +12 -1
  12. package/dist/cjs/widgets/BoxPlot/BoxPlot.js.map +1 -1
  13. package/dist/cjs/widgets/BubbleChart/BubbleChart.js +31 -2
  14. package/dist/cjs/widgets/BubbleChart/BubbleChart.js.map +1 -1
  15. package/dist/cjs/widgets/CandlestickChart/CandlestickChart.js +11 -1
  16. package/dist/cjs/widgets/CandlestickChart/CandlestickChart.js.map +1 -1
  17. package/dist/cjs/widgets/FunnelChart/FunnelChart.js +11 -1
  18. package/dist/cjs/widgets/FunnelChart/FunnelChart.js.map +1 -1
  19. package/dist/cjs/widgets/GroupedBarChart/GroupedBarChart.js +12 -1
  20. package/dist/cjs/widgets/GroupedBarChart/GroupedBarChart.js.map +1 -1
  21. package/dist/cjs/widgets/Heatmap/Heatmap.js +14 -1
  22. package/dist/cjs/widgets/Heatmap/Heatmap.js.map +1 -1
  23. package/dist/cjs/widgets/Histogram/Histogram.js +12 -1
  24. package/dist/cjs/widgets/Histogram/Histogram.js.map +1 -1
  25. package/dist/cjs/widgets/HorizontalBarChart/HorizontalBarChart.js +11 -1
  26. package/dist/cjs/widgets/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  27. package/dist/cjs/widgets/LineChart/LineChart.js +40 -6
  28. package/dist/cjs/widgets/LineChart/LineChart.js.map +1 -1
  29. package/dist/cjs/widgets/MultiLineSparkline/MultiLineSparkline.js +11 -1
  30. package/dist/cjs/widgets/MultiLineSparkline/MultiLineSparkline.js.map +1 -1
  31. package/dist/cjs/widgets/PieChart/PieChart.js +12 -1
  32. package/dist/cjs/widgets/PieChart/PieChart.js.map +1 -1
  33. package/dist/cjs/widgets/RadarChart/RadarChart.js +18 -1
  34. package/dist/cjs/widgets/RadarChart/RadarChart.js.map +1 -1
  35. package/dist/cjs/widgets/SankeyDiagram/SankeyDiagram.js +11 -1
  36. package/dist/cjs/widgets/SankeyDiagram/SankeyDiagram.js.map +1 -1
  37. package/dist/cjs/widgets/ScatterPlot/ScatterPlot.js +32 -3
  38. package/dist/cjs/widgets/ScatterPlot/ScatterPlot.js.map +1 -1
  39. package/dist/cjs/widgets/Sparkline/Sparkline.js +11 -1
  40. package/dist/cjs/widgets/Sparkline/Sparkline.js.map +1 -1
  41. package/dist/cjs/widgets/StackedBarChart/StackedBarChart.js +12 -1
  42. package/dist/cjs/widgets/StackedBarChart/StackedBarChart.js.map +1 -1
  43. package/dist/cjs/widgets/SunburstChart/SunburstChart.js +11 -1
  44. package/dist/cjs/widgets/SunburstChart/SunburstChart.js.map +1 -1
  45. package/dist/cjs/widgets/Treemap/Treemap.js +11 -1
  46. package/dist/cjs/widgets/Treemap/Treemap.js.map +1 -1
  47. package/dist/cjs/widgets/WaterfallChart/WaterfallChart.js +11 -1
  48. package/dist/cjs/widgets/WaterfallChart/WaterfallChart.js.map +1 -1
  49. package/dist/core/index.d.ts +1 -0
  50. package/dist/core/index.d.ts.map +1 -1
  51. package/dist/core/utils/dataTransform.d.ts +209 -0
  52. package/dist/core/utils/dataTransform.d.ts.map +1 -0
  53. package/dist/esm/core/index.js +1 -0
  54. package/dist/esm/core/index.js.map +1 -1
  55. package/dist/esm/core/utils/dataTransform.js +309 -0
  56. package/dist/esm/core/utils/dataTransform.js.map +1 -0
  57. package/dist/esm/widgets/AreaChart/AreaChart.js +18 -138
  58. package/dist/esm/widgets/AreaChart/AreaChart.js.map +1 -1
  59. package/dist/esm/widgets/BarChart/BarChart.js +11 -1
  60. package/dist/esm/widgets/BarChart/BarChart.js.map +1 -1
  61. package/dist/esm/widgets/BoxPlot/BoxPlot.js +12 -1
  62. package/dist/esm/widgets/BoxPlot/BoxPlot.js.map +1 -1
  63. package/dist/esm/widgets/BubbleChart/BubbleChart.js +31 -2
  64. package/dist/esm/widgets/BubbleChart/BubbleChart.js.map +1 -1
  65. package/dist/esm/widgets/CandlestickChart/CandlestickChart.js +11 -1
  66. package/dist/esm/widgets/CandlestickChart/CandlestickChart.js.map +1 -1
  67. package/dist/esm/widgets/FunnelChart/FunnelChart.js +11 -1
  68. package/dist/esm/widgets/FunnelChart/FunnelChart.js.map +1 -1
  69. package/dist/esm/widgets/GroupedBarChart/GroupedBarChart.js +12 -1
  70. package/dist/esm/widgets/GroupedBarChart/GroupedBarChart.js.map +1 -1
  71. package/dist/esm/widgets/Heatmap/Heatmap.js +14 -1
  72. package/dist/esm/widgets/Heatmap/Heatmap.js.map +1 -1
  73. package/dist/esm/widgets/Histogram/Histogram.js +12 -1
  74. package/dist/esm/widgets/Histogram/Histogram.js.map +1 -1
  75. package/dist/esm/widgets/HorizontalBarChart/HorizontalBarChart.js +11 -1
  76. package/dist/esm/widgets/HorizontalBarChart/HorizontalBarChart.js.map +1 -1
  77. package/dist/esm/widgets/LineChart/LineChart.js +42 -8
  78. package/dist/esm/widgets/LineChart/LineChart.js.map +1 -1
  79. package/dist/esm/widgets/MultiLineSparkline/MultiLineSparkline.js +11 -1
  80. package/dist/esm/widgets/MultiLineSparkline/MultiLineSparkline.js.map +1 -1
  81. package/dist/esm/widgets/PieChart/PieChart.js +12 -1
  82. package/dist/esm/widgets/PieChart/PieChart.js.map +1 -1
  83. package/dist/esm/widgets/RadarChart/RadarChart.js +18 -1
  84. package/dist/esm/widgets/RadarChart/RadarChart.js.map +1 -1
  85. package/dist/esm/widgets/SankeyDiagram/SankeyDiagram.js +11 -1
  86. package/dist/esm/widgets/SankeyDiagram/SankeyDiagram.js.map +1 -1
  87. package/dist/esm/widgets/ScatterPlot/ScatterPlot.js +32 -3
  88. package/dist/esm/widgets/ScatterPlot/ScatterPlot.js.map +1 -1
  89. package/dist/esm/widgets/Sparkline/Sparkline.js +11 -1
  90. package/dist/esm/widgets/Sparkline/Sparkline.js.map +1 -1
  91. package/dist/esm/widgets/StackedBarChart/StackedBarChart.js +12 -1
  92. package/dist/esm/widgets/StackedBarChart/StackedBarChart.js.map +1 -1
  93. package/dist/esm/widgets/SunburstChart/SunburstChart.js +11 -1
  94. package/dist/esm/widgets/SunburstChart/SunburstChart.js.map +1 -1
  95. package/dist/esm/widgets/Treemap/Treemap.js +11 -1
  96. package/dist/esm/widgets/Treemap/Treemap.js.map +1 -1
  97. package/dist/esm/widgets/WaterfallChart/WaterfallChart.js +11 -1
  98. package/dist/esm/widgets/WaterfallChart/WaterfallChart.js.map +1 -1
  99. package/dist/widgets/AreaChart/AreaChart.d.ts +14 -3
  100. package/dist/widgets/AreaChart/AreaChart.d.ts.map +1 -1
  101. package/dist/widgets/AreaChart/types.d.ts +8 -26
  102. package/dist/widgets/AreaChart/types.d.ts.map +1 -1
  103. package/dist/widgets/BarChart/BarChart.d.ts.map +1 -1
  104. package/dist/widgets/BarChart/types.d.ts +32 -5
  105. package/dist/widgets/BarChart/types.d.ts.map +1 -1
  106. package/dist/widgets/BoxPlot/BoxPlot.d.ts.map +1 -1
  107. package/dist/widgets/BoxPlot/types.d.ts +38 -5
  108. package/dist/widgets/BoxPlot/types.d.ts.map +1 -1
  109. package/dist/widgets/BubbleChart/BubbleChart.d.ts.map +1 -1
  110. package/dist/widgets/BubbleChart/types.d.ts +35 -5
  111. package/dist/widgets/BubbleChart/types.d.ts.map +1 -1
  112. package/dist/widgets/CandlestickChart/CandlestickChart.d.ts.map +1 -1
  113. package/dist/widgets/CandlestickChart/types.d.ts +38 -2
  114. package/dist/widgets/CandlestickChart/types.d.ts.map +1 -1
  115. package/dist/widgets/FunnelChart/FunnelChart.d.ts.map +1 -1
  116. package/dist/widgets/FunnelChart/types.d.ts +29 -5
  117. package/dist/widgets/FunnelChart/types.d.ts.map +1 -1
  118. package/dist/widgets/Gauge/types.d.ts +2 -2
  119. package/dist/widgets/Gauge/types.d.ts.map +1 -1
  120. package/dist/widgets/GroupedBarChart/GroupedBarChart.d.ts.map +1 -1
  121. package/dist/widgets/GroupedBarChart/types.d.ts +34 -5
  122. package/dist/widgets/GroupedBarChart/types.d.ts.map +1 -1
  123. package/dist/widgets/Heatmap/Heatmap.d.ts.map +1 -1
  124. package/dist/widgets/Heatmap/types.d.ts +32 -5
  125. package/dist/widgets/Heatmap/types.d.ts.map +1 -1
  126. package/dist/widgets/Histogram/Histogram.d.ts.map +1 -1
  127. package/dist/widgets/Histogram/types.d.ts +27 -5
  128. package/dist/widgets/Histogram/types.d.ts.map +1 -1
  129. package/dist/widgets/HorizontalBarChart/HorizontalBarChart.d.ts.map +1 -1
  130. package/dist/widgets/HorizontalBarChart/types.d.ts +30 -5
  131. package/dist/widgets/HorizontalBarChart/types.d.ts.map +1 -1
  132. package/dist/widgets/KPI/types.d.ts +2 -2
  133. package/dist/widgets/KPI/types.d.ts.map +1 -1
  134. package/dist/widgets/LineChart/LineChart.d.ts.map +1 -1
  135. package/dist/widgets/LineChart/types.d.ts +41 -2
  136. package/dist/widgets/LineChart/types.d.ts.map +1 -1
  137. package/dist/widgets/MultiLineSparkline/MultiLineSparkline.d.ts.map +1 -1
  138. package/dist/widgets/MultiLineSparkline/types.d.ts +28 -5
  139. package/dist/widgets/MultiLineSparkline/types.d.ts.map +1 -1
  140. package/dist/widgets/PieChart/PieChart.d.ts.map +1 -1
  141. package/dist/widgets/PieChart/types.d.ts +31 -5
  142. package/dist/widgets/PieChart/types.d.ts.map +1 -1
  143. package/dist/widgets/Progress/types.d.ts +2 -2
  144. package/dist/widgets/Progress/types.d.ts.map +1 -1
  145. package/dist/widgets/RadarChart/RadarChart.d.ts.map +1 -1
  146. package/dist/widgets/RadarChart/types.d.ts +32 -5
  147. package/dist/widgets/RadarChart/types.d.ts.map +1 -1
  148. package/dist/widgets/SankeyDiagram/SankeyDiagram.d.ts.map +1 -1
  149. package/dist/widgets/SankeyDiagram/types.d.ts +32 -5
  150. package/dist/widgets/SankeyDiagram/types.d.ts.map +1 -1
  151. package/dist/widgets/ScatterPlot/ScatterPlot.d.ts.map +1 -1
  152. package/dist/widgets/ScatterPlot/types.d.ts +32 -5
  153. package/dist/widgets/ScatterPlot/types.d.ts.map +1 -1
  154. package/dist/widgets/Sparkline/Sparkline.d.ts.map +1 -1
  155. package/dist/widgets/Sparkline/types.d.ts +24 -5
  156. package/dist/widgets/Sparkline/types.d.ts.map +1 -1
  157. package/dist/widgets/StackedBarChart/StackedBarChart.d.ts.map +1 -1
  158. package/dist/widgets/StackedBarChart/types.d.ts +33 -5
  159. package/dist/widgets/StackedBarChart/types.d.ts.map +1 -1
  160. package/dist/widgets/SunburstChart/SunburstChart.d.ts.map +1 -1
  161. package/dist/widgets/SunburstChart/types.d.ts +30 -5
  162. package/dist/widgets/SunburstChart/types.d.ts.map +1 -1
  163. package/dist/widgets/Treemap/Treemap.d.ts.map +1 -1
  164. package/dist/widgets/Treemap/types.d.ts +31 -5
  165. package/dist/widgets/Treemap/types.d.ts.map +1 -1
  166. package/dist/widgets/WaterfallChart/WaterfallChart.d.ts.map +1 -1
  167. package/dist/widgets/WaterfallChart/types.d.ts +32 -5
  168. package/dist/widgets/WaterfallChart/types.d.ts.map +1 -1
  169. package/package.json +2 -3
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Data transformation utilities for converting simple data arrays
3
+ * into the internal format used by widgets
4
+ */
5
+ export interface DataTransformOptions {
6
+ xKey: string;
7
+ dataKeys: string[];
8
+ colors?: string[];
9
+ labels?: string[];
10
+ }
11
+ /**
12
+ * Default color palette for charts
13
+ */
14
+ export declare const DEFAULT_COLORS: string[];
15
+ /**
16
+ * Check if props use the new simple API format
17
+ */
18
+ export declare function isSimpleDataFormat(props: any): boolean;
19
+ /**
20
+ * Transform simple data format to series format for LineChart/AreaChart
21
+ */
22
+ export declare function transformToSeriesData(data: Record<string, any>[], options: DataTransformOptions): {
23
+ series: {
24
+ data: {
25
+ x: any;
26
+ y: number;
27
+ }[];
28
+ color: string;
29
+ label: string;
30
+ }[];
31
+ };
32
+ /**
33
+ * Transform simple data format to bar chart format
34
+ */
35
+ export declare function transformToBarData(data: Record<string, any>[], xKey: string, dataKey: string, colors?: string[]): {
36
+ data: {
37
+ value: number;
38
+ label: string;
39
+ color: string;
40
+ }[];
41
+ };
42
+ /**
43
+ * Transform simple data format to pie chart format
44
+ */
45
+ export declare function transformToPieData(data: Record<string, any>[], labelKey: string, valueKey: string, colors?: string[]): {
46
+ data: {
47
+ value: number;
48
+ label: string;
49
+ color: string;
50
+ }[];
51
+ };
52
+ /**
53
+ * Transform simple data format to scatter/bubble chart format
54
+ */
55
+ export declare function transformToScatterData(data: Record<string, any>[], xKey: string, yKey: string, sizeKey?: string, colors?: string[], labels?: string[]): {
56
+ data: {
57
+ x: number;
58
+ y: number;
59
+ size: number;
60
+ label: string;
61
+ color: string;
62
+ }[];
63
+ };
64
+ /**
65
+ * Transform simple data format to grouped bar chart format
66
+ */
67
+ export declare function transformToGroupedBarData(data: Record<string, any>[], categoryKey: string, dataKeys: string[], colors?: string[], labels?: string[]): {
68
+ groups: {
69
+ category: string;
70
+ values: {
71
+ value: number;
72
+ label: string;
73
+ color: string;
74
+ }[];
75
+ }[];
76
+ };
77
+ /**
78
+ * Transform simple data format to stacked bar chart format
79
+ */
80
+ export declare function transformToStackedBarData(data: Record<string, any>[], categoryKey: string, dataKeys: string[], colors?: string[], labels?: string[]): {
81
+ stacks: {
82
+ category: string;
83
+ segments: {
84
+ value: number;
85
+ label: string;
86
+ color: string;
87
+ }[];
88
+ }[];
89
+ };
90
+ /**
91
+ * Transform simple data format to radar chart format
92
+ */
93
+ export declare function transformToRadarData(data: Record<string, any>[], categoryKey: string, dataKeys: string[], colors?: string[], labels?: string[]): {
94
+ series: {
95
+ data: {
96
+ category: string;
97
+ value: number;
98
+ }[];
99
+ color: string;
100
+ label: string;
101
+ }[];
102
+ };
103
+ /**
104
+ * Transform simple data format to heatmap format
105
+ */
106
+ export declare function transformToHeatmapData(data: Record<string, any>[], xKey: string, yKey: string, valueKey: string): {
107
+ data: {
108
+ x: string;
109
+ y: string;
110
+ value: number;
111
+ }[];
112
+ };
113
+ /**
114
+ * Transform simple data format to box plot format
115
+ */
116
+ export declare function transformToBoxPlotData(data: Record<string, any>[], labelKey: string, minKey: string, q1Key: string, medianKey: string, q3Key: string, maxKey: string, colors?: string[]): {
117
+ data: {
118
+ label: string;
119
+ min: number;
120
+ q1: number;
121
+ median: number;
122
+ q3: number;
123
+ max: number;
124
+ color: string;
125
+ }[];
126
+ };
127
+ /**
128
+ * Transform simple data format to histogram format
129
+ */
130
+ export declare function transformToHistogramData(data: Record<string, any>[], valueKey: string, bins?: number): {
131
+ values: number[];
132
+ bins: number | undefined;
133
+ };
134
+ /**
135
+ * Transform simple data format to waterfall chart format
136
+ */
137
+ export declare function transformToWaterfallData(data: Record<string, any>[], labelKey: string, valueKey: string, colors?: string[]): {
138
+ data: {
139
+ label: string;
140
+ value: number;
141
+ color: string;
142
+ }[];
143
+ };
144
+ /**
145
+ * Transform simple data format to candlestick chart format
146
+ */
147
+ export declare function transformToCandlestickData(data: Record<string, any>[], dateKey: string, openKey: string, highKey: string, lowKey: string, closeKey: string): {
148
+ data: {
149
+ date: any;
150
+ open: number;
151
+ high: number;
152
+ low: number;
153
+ close: number;
154
+ }[];
155
+ };
156
+ /**
157
+ * Transform simple data format to funnel chart format
158
+ */
159
+ export declare function transformToFunnelData(data: Record<string, any>[], labelKey: string, valueKey: string, colors?: string[]): {
160
+ stages: {
161
+ label: string;
162
+ value: number;
163
+ color: string;
164
+ }[];
165
+ };
166
+ /**
167
+ * Transform simple data format to sparkline format
168
+ */
169
+ export declare function transformToSparklineData(data: Record<string, any>[], valueKey: string): {
170
+ data: number[];
171
+ };
172
+ /**
173
+ * Transform simple data format to multi-line sparkline format
174
+ */
175
+ export declare function transformToMultiSparklineData(data: Record<string, any>[], dataKeys: string[], colors?: string[], labels?: string[]): {
176
+ series: {
177
+ data: number[];
178
+ color: string;
179
+ label: string;
180
+ }[];
181
+ };
182
+ /**
183
+ * Transform simple data format to treemap format
184
+ */
185
+ export declare function transformToTreemapData(data: Record<string, any>[], labelKey: string, valueKey: string, parentKey?: string, colors?: string[]): {
186
+ data: any[];
187
+ };
188
+ /**
189
+ * Transform simple data format to sunburst chart format
190
+ */
191
+ export declare function transformToSunburstData(data: Record<string, any>[], labelKey: string, valueKey: string, parentKey?: string, colors?: string[]): {
192
+ data: any[];
193
+ };
194
+ /**
195
+ * Transform simple data format to sankey diagram format
196
+ */
197
+ export declare function transformToSankeyData(data: Record<string, any>[], sourceKey: string, targetKey: string, valueKey: string, colors?: string[]): {
198
+ nodes: {
199
+ id: string;
200
+ label: string;
201
+ }[];
202
+ links: {
203
+ source: string;
204
+ target: string;
205
+ value: number;
206
+ color: string;
207
+ }[];
208
+ };
209
+ //# sourceMappingURL=dataTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTransform.d.ts","sourceRoot":"","sources":["../../../src/core/utils/dataTransform.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,5 @@ export * from './types';
17
17
  // Utils
18
18
  export * from './utils/time';
19
19
  export * from './utils/responsive';
20
+ export * from './utils/dataTransform';
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iBAAiB;AACjB,cAAc,QAAQ,CAAC;AAEvB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,QAAQ;AACR,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iBAAiB;AACjB,cAAc,QAAQ,CAAC;AAEvB,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,QAAQ;AACR,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Data transformation utilities for converting simple data arrays
3
+ * into the internal format used by widgets
4
+ */
5
+ /**
6
+ * Default color palette for charts
7
+ */
8
+ export const DEFAULT_COLORS = [
9
+ '#8884d8',
10
+ '#82ca9d',
11
+ '#ffc658',
12
+ '#ff7c7c',
13
+ '#8dd1e1',
14
+ '#a4de6c',
15
+ '#d0ed57',
16
+ '#ffa07a',
17
+ '#ba68c8',
18
+ '#4db6ac',
19
+ ];
20
+ /**
21
+ * Check if props use the new simple API format
22
+ */
23
+ export function isSimpleDataFormat(props) {
24
+ return (props.data &&
25
+ Array.isArray(props.data) &&
26
+ props.data.length > 0 &&
27
+ typeof props.data[0] === 'object');
28
+ }
29
+ /**
30
+ * Transform simple data format to series format for LineChart/AreaChart
31
+ */
32
+ export function transformToSeriesData(data, options) {
33
+ const { xKey, dataKeys, colors, labels } = options;
34
+ const series = dataKeys.map((key, index) => {
35
+ const seriesData = data.map((item) => ({
36
+ x: item[xKey],
37
+ y: typeof item[key] === 'number' ? item[key] : 0,
38
+ }));
39
+ return {
40
+ data: seriesData,
41
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
42
+ label: labels?.[index] || key,
43
+ };
44
+ });
45
+ return { series };
46
+ }
47
+ /**
48
+ * Transform simple data format to bar chart format
49
+ */
50
+ export function transformToBarData(data, xKey, dataKey, colors) {
51
+ return {
52
+ data: data.map((item, index) => ({
53
+ value: typeof item[dataKey] === 'number' ? item[dataKey] : 0,
54
+ label: String(item[xKey] ?? ''),
55
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
56
+ })),
57
+ };
58
+ }
59
+ /**
60
+ * Transform simple data format to pie chart format
61
+ */
62
+ export function transformToPieData(data, labelKey, valueKey, colors) {
63
+ return {
64
+ data: data.map((item, index) => ({
65
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
66
+ label: String(item[labelKey] ?? ''),
67
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
68
+ })),
69
+ };
70
+ }
71
+ /**
72
+ * Transform simple data format to scatter/bubble chart format
73
+ */
74
+ export function transformToScatterData(data, xKey, yKey, sizeKey, colors, labels) {
75
+ return {
76
+ data: data.map((item, index) => ({
77
+ x: typeof item[xKey] === 'number' ? item[xKey] : 0,
78
+ y: typeof item[yKey] === 'number' ? item[yKey] : 0,
79
+ size: sizeKey && typeof item[sizeKey] === 'number' ? item[sizeKey] : 10,
80
+ label: labels?.[index] || String(item[xKey] ?? ''),
81
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
82
+ })),
83
+ };
84
+ }
85
+ /**
86
+ * Transform simple data format to grouped bar chart format
87
+ */
88
+ export function transformToGroupedBarData(data, categoryKey, dataKeys, colors, labels) {
89
+ const groups = data.map((item) => ({
90
+ category: String(item[categoryKey] ?? ''),
91
+ values: dataKeys.map((key, index) => ({
92
+ value: typeof item[key] === 'number' ? item[key] : 0,
93
+ label: labels?.[index] || key,
94
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
95
+ })),
96
+ }));
97
+ return { groups };
98
+ }
99
+ /**
100
+ * Transform simple data format to stacked bar chart format
101
+ */
102
+ export function transformToStackedBarData(data, categoryKey, dataKeys, colors, labels) {
103
+ const stacks = data.map((item) => ({
104
+ category: String(item[categoryKey] ?? ''),
105
+ segments: dataKeys.map((key, index) => ({
106
+ value: typeof item[key] === 'number' ? item[key] : 0,
107
+ label: labels?.[index] || key,
108
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
109
+ })),
110
+ }));
111
+ return { stacks };
112
+ }
113
+ /**
114
+ * Transform simple data format to radar chart format
115
+ */
116
+ export function transformToRadarData(data, categoryKey, dataKeys, colors, labels) {
117
+ const series = dataKeys.map((key, index) => ({
118
+ data: data.map((item) => ({
119
+ category: String(item[categoryKey] ?? ''),
120
+ value: typeof item[key] === 'number' ? item[key] : 0,
121
+ })),
122
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
123
+ label: labels?.[index] || key,
124
+ }));
125
+ return { series };
126
+ }
127
+ /**
128
+ * Transform simple data format to heatmap format
129
+ */
130
+ export function transformToHeatmapData(data, xKey, yKey, valueKey) {
131
+ return {
132
+ data: data.map((item) => ({
133
+ x: String(item[xKey] ?? ''),
134
+ y: String(item[yKey] ?? ''),
135
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
136
+ })),
137
+ };
138
+ }
139
+ /**
140
+ * Transform simple data format to box plot format
141
+ */
142
+ export function transformToBoxPlotData(data, labelKey, minKey, q1Key, medianKey, q3Key, maxKey, colors) {
143
+ return {
144
+ data: data.map((item, index) => ({
145
+ label: String(item[labelKey] ?? ''),
146
+ min: typeof item[minKey] === 'number' ? item[minKey] : 0,
147
+ q1: typeof item[q1Key] === 'number' ? item[q1Key] : 0,
148
+ median: typeof item[medianKey] === 'number' ? item[medianKey] : 0,
149
+ q3: typeof item[q3Key] === 'number' ? item[q3Key] : 0,
150
+ max: typeof item[maxKey] === 'number' ? item[maxKey] : 0,
151
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
152
+ })),
153
+ };
154
+ }
155
+ /**
156
+ * Transform simple data format to histogram format
157
+ */
158
+ export function transformToHistogramData(data, valueKey, bins) {
159
+ const values = data
160
+ .map((item) => (typeof item[valueKey] === 'number' ? item[valueKey] : 0))
161
+ .filter((v) => !isNaN(v));
162
+ return { values, bins };
163
+ }
164
+ /**
165
+ * Transform simple data format to waterfall chart format
166
+ */
167
+ export function transformToWaterfallData(data, labelKey, valueKey, colors) {
168
+ return {
169
+ data: data.map((item, index) => ({
170
+ label: String(item[labelKey] ?? ''),
171
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
172
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
173
+ })),
174
+ };
175
+ }
176
+ /**
177
+ * Transform simple data format to candlestick chart format
178
+ */
179
+ export function transformToCandlestickData(data, dateKey, openKey, highKey, lowKey, closeKey) {
180
+ return {
181
+ data: data.map((item) => ({
182
+ date: item[dateKey],
183
+ open: typeof item[openKey] === 'number' ? item[openKey] : 0,
184
+ high: typeof item[highKey] === 'number' ? item[highKey] : 0,
185
+ low: typeof item[lowKey] === 'number' ? item[lowKey] : 0,
186
+ close: typeof item[closeKey] === 'number' ? item[closeKey] : 0,
187
+ })),
188
+ };
189
+ }
190
+ /**
191
+ * Transform simple data format to funnel chart format
192
+ */
193
+ export function transformToFunnelData(data, labelKey, valueKey, colors) {
194
+ return {
195
+ stages: data.map((item, index) => ({
196
+ label: String(item[labelKey] ?? ''),
197
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
198
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
199
+ })),
200
+ };
201
+ }
202
+ /**
203
+ * Transform simple data format to sparkline format
204
+ */
205
+ export function transformToSparklineData(data, valueKey) {
206
+ const values = data
207
+ .map((item) => (typeof item[valueKey] === 'number' ? item[valueKey] : 0))
208
+ .filter((v) => !isNaN(v));
209
+ return { data: values };
210
+ }
211
+ /**
212
+ * Transform simple data format to multi-line sparkline format
213
+ */
214
+ export function transformToMultiSparklineData(data, dataKeys, colors, labels) {
215
+ const series = dataKeys.map((key, index) => ({
216
+ data: data.map((item) => (typeof item[key] === 'number' ? item[key] : 0)),
217
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
218
+ label: labels?.[index] || key,
219
+ }));
220
+ return { series };
221
+ }
222
+ /**
223
+ * Transform simple data format to treemap format
224
+ */
225
+ export function transformToTreemapData(data, labelKey, valueKey, parentKey, colors) {
226
+ // If no parentKey, all items are at root level
227
+ if (!parentKey) {
228
+ const nodes = data.map((item, index) => ({
229
+ label: String(item[labelKey] ?? ''),
230
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
231
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
232
+ }));
233
+ return { data: nodes };
234
+ }
235
+ // Build hierarchical structure if parentKey is provided
236
+ const nodeMap = new Map();
237
+ const rootNodes = [];
238
+ // First pass: create all nodes
239
+ data.forEach((item, index) => {
240
+ const label = String(item[labelKey] ?? '');
241
+ const node = {
242
+ label,
243
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
244
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
245
+ children: [],
246
+ };
247
+ nodeMap.set(label, node);
248
+ });
249
+ // Second pass: build hierarchy
250
+ data.forEach((item) => {
251
+ const label = String(item[labelKey] ?? '');
252
+ const parent = item[parentKey];
253
+ const node = nodeMap.get(label);
254
+ if (parent && nodeMap.has(String(parent))) {
255
+ const parentNode = nodeMap.get(String(parent));
256
+ parentNode.children.push(node);
257
+ }
258
+ else {
259
+ rootNodes.push(node);
260
+ }
261
+ });
262
+ // Clean up empty children arrays
263
+ const cleanNode = (node) => {
264
+ if (node.children && node.children.length === 0) {
265
+ delete node.children;
266
+ }
267
+ else if (node.children) {
268
+ node.children.forEach(cleanNode);
269
+ }
270
+ return node;
271
+ };
272
+ rootNodes.forEach(cleanNode);
273
+ return { data: rootNodes };
274
+ }
275
+ /**
276
+ * Transform simple data format to sunburst chart format
277
+ */
278
+ export function transformToSunburstData(data, labelKey, valueKey, parentKey, colors) {
279
+ // Reuse treemap transformation as the data structure is the same
280
+ return transformToTreemapData(data, labelKey, valueKey, parentKey, colors);
281
+ }
282
+ /**
283
+ * Transform simple data format to sankey diagram format
284
+ */
285
+ export function transformToSankeyData(data, sourceKey, targetKey, valueKey, colors) {
286
+ // Extract unique nodes
287
+ const nodeSet = new Set();
288
+ data.forEach((item) => {
289
+ const source = String(item[sourceKey] ?? '');
290
+ const target = String(item[targetKey] ?? '');
291
+ if (source)
292
+ nodeSet.add(source);
293
+ if (target)
294
+ nodeSet.add(target);
295
+ });
296
+ const nodes = Array.from(nodeSet).map((id) => ({
297
+ id,
298
+ label: id,
299
+ }));
300
+ // Create links
301
+ const links = data.map((item, index) => ({
302
+ source: String(item[sourceKey] ?? ''),
303
+ target: String(item[targetKey] ?? ''),
304
+ value: typeof item[valueKey] === 'number' ? item[valueKey] : 0,
305
+ color: colors?.[index] || DEFAULT_COLORS[index % DEFAULT_COLORS.length],
306
+ }));
307
+ return { nodes, links };
308
+ }
309
+ //# sourceMappingURL=dataTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTransform.js","sourceRoot":"","sources":["../../../../src/core/utils/dataTransform.ts"],"names":[],"mappings":"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"}