@quillsql/react 2.13.39 → 2.13.41

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 (255) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +13 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +347 -147
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +57 -38
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +70 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +1 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +117 -45
  20. package/dist/cjs/SQLEditor.d.ts +7 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +53 -9
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectSectionList.js +5 -5
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  52. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  56. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  59. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  61. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  62. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  63. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  66. package/dist/cjs/components/UiComponents.d.ts +4 -1
  67. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  68. package/dist/cjs/components/UiComponents.js +31 -5
  69. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  70. package/dist/cjs/hooks/useDashboard.js +11 -9
  71. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  72. package/dist/cjs/hooks/useExport.js +18 -4
  73. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  74. package/dist/cjs/hooks/useQuill.js +16 -3
  75. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useReport.js +1 -7
  77. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  78. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  80. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
  82. package/dist/cjs/models/Filter.d.ts +20 -13
  83. package/dist/cjs/models/Filter.d.ts.map +1 -1
  84. package/dist/cjs/models/Filter.js +161 -87
  85. package/dist/cjs/models/Report.d.ts +12 -1
  86. package/dist/cjs/models/Report.d.ts.map +1 -1
  87. package/dist/cjs/models/Schema.d.ts +12 -1
  88. package/dist/cjs/models/Schema.d.ts.map +1 -1
  89. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  90. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  91. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  92. package/dist/cjs/utils/astProcessing.js +25 -6
  93. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  94. package/dist/cjs/utils/axisFormatter.js +25 -0
  95. package/dist/cjs/utils/color.d.ts +159 -0
  96. package/dist/cjs/utils/color.d.ts.map +1 -1
  97. package/dist/cjs/utils/color.js +14 -5
  98. package/dist/cjs/utils/columnProcessing.js +3 -3
  99. package/dist/cjs/utils/constants.d.ts +1 -0
  100. package/dist/cjs/utils/constants.d.ts.map +1 -1
  101. package/dist/cjs/utils/constants.js +2 -1
  102. package/dist/cjs/utils/dashboard.d.ts +13 -3
  103. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  104. package/dist/cjs/utils/dashboard.js +73 -16
  105. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  106. package/dist/cjs/utils/dataFetcher.js +3 -1
  107. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  108. package/dist/cjs/utils/filterProcessing.js +9 -9
  109. package/dist/cjs/utils/getDomain.d.ts +4 -1
  110. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  111. package/dist/cjs/utils/getDomain.js +11 -1
  112. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotConstructor.js +7 -6
  114. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  115. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/queryConstructor.js +71 -43
  117. package/dist/cjs/utils/report.d.ts +23 -5
  118. package/dist/cjs/utils/report.d.ts.map +1 -1
  119. package/dist/cjs/utils/report.js +28 -8
  120. package/dist/cjs/utils/schema.d.ts +26 -3
  121. package/dist/cjs/utils/schema.d.ts.map +1 -1
  122. package/dist/cjs/utils/schema.js +75 -43
  123. package/dist/cjs/utils/tableProcessing.d.ts +10 -3
  124. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/tableProcessing.js +4 -6
  126. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  127. package/dist/cjs/utils/textProcessing.js +0 -1
  128. package/dist/esm/Chart.d.ts +5 -1
  129. package/dist/esm/Chart.d.ts.map +1 -1
  130. package/dist/esm/Chart.js +52 -29
  131. package/dist/esm/ChartBuilder.d.ts +13 -1
  132. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  133. package/dist/esm/ChartBuilder.js +352 -152
  134. package/dist/esm/ChartEditor.d.ts.map +1 -1
  135. package/dist/esm/ChartEditor.js +11 -1
  136. package/dist/esm/Context.d.ts +16 -4
  137. package/dist/esm/Context.d.ts.map +1 -1
  138. package/dist/esm/Context.js +59 -40
  139. package/dist/esm/Dashboard.d.ts +6 -3
  140. package/dist/esm/Dashboard.d.ts.map +1 -1
  141. package/dist/esm/Dashboard.js +71 -29
  142. package/dist/esm/QuillProvider.d.ts +4 -8
  143. package/dist/esm/QuillProvider.d.ts.map +1 -1
  144. package/dist/esm/ReportBuilder.d.ts +1 -1
  145. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  146. package/dist/esm/ReportBuilder.js +119 -47
  147. package/dist/esm/SQLEditor.d.ts +7 -1
  148. package/dist/esm/SQLEditor.d.ts.map +1 -1
  149. package/dist/esm/SQLEditor.js +54 -10
  150. package/dist/esm/Table.d.ts +21 -1
  151. package/dist/esm/Table.d.ts.map +1 -1
  152. package/dist/esm/Table.js +34 -196
  153. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  154. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  155. package/dist/esm/components/Chart/BarChart.js +5 -4
  156. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  157. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  158. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  159. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  160. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  161. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  162. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  163. package/dist/esm/components/Chart/InternalChart.js +14 -11
  164. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  165. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  166. package/dist/esm/components/Chart/LineChart.js +5 -4
  167. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  168. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  169. package/dist/esm/components/Chart/MapChart.js +541 -0
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  171. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  172. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  173. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  174. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  175. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  176. package/dist/esm/components/QuillMultiSelectSectionList.js +5 -5
  177. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  178. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  179. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  180. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  181. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  183. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  184. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  185. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  186. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  187. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  188. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  190. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  191. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/util.js +15 -2
  193. package/dist/esm/components/UiComponents.d.ts +4 -1
  194. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  195. package/dist/esm/components/UiComponents.js +29 -4
  196. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  197. package/dist/esm/hooks/useDashboard.js +11 -9
  198. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  199. package/dist/esm/hooks/useExport.js +19 -5
  200. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  201. package/dist/esm/hooks/useQuill.js +16 -3
  202. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  203. package/dist/esm/hooks/useReport.js +1 -7
  204. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  205. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  206. package/dist/esm/hooks/useVirtualTables.js +6 -3
  207. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  208. package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
  209. package/dist/esm/models/Filter.d.ts +20 -13
  210. package/dist/esm/models/Filter.d.ts.map +1 -1
  211. package/dist/esm/models/Filter.js +160 -86
  212. package/dist/esm/models/Report.d.ts +12 -1
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/models/Schema.d.ts +12 -1
  215. package/dist/esm/models/Schema.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +23 -23
  217. package/dist/esm/utils/astProcessing.d.ts +2 -2
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +25 -6
  220. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  221. package/dist/esm/utils/axisFormatter.js +25 -0
  222. package/dist/esm/utils/color.d.ts +159 -0
  223. package/dist/esm/utils/color.d.ts.map +1 -1
  224. package/dist/esm/utils/color.js +8 -2
  225. package/dist/esm/utils/columnProcessing.js +3 -3
  226. package/dist/esm/utils/constants.d.ts +1 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +1 -0
  229. package/dist/esm/utils/dashboard.d.ts +13 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +73 -16
  232. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  233. package/dist/esm/utils/dataFetcher.js +3 -1
  234. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  235. package/dist/esm/utils/filterProcessing.js +10 -10
  236. package/dist/esm/utils/getDomain.d.ts +4 -1
  237. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  238. package/dist/esm/utils/getDomain.js +11 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +7 -6
  241. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  242. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  243. package/dist/esm/utils/queryConstructor.js +71 -43
  244. package/dist/esm/utils/report.d.ts +23 -5
  245. package/dist/esm/utils/report.d.ts.map +1 -1
  246. package/dist/esm/utils/report.js +29 -9
  247. package/dist/esm/utils/schema.d.ts +26 -3
  248. package/dist/esm/utils/schema.d.ts.map +1 -1
  249. package/dist/esm/utils/schema.js +74 -43
  250. package/dist/esm/utils/tableProcessing.d.ts +10 -3
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +4 -6
  253. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  254. package/dist/esm/utils/textProcessing.js +0 -1
  255. package/package.json +8 -3
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = GaugeChart;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const d3_selection_1 = require("d3-selection");
7
+ const d3_shape_1 = require("d3-shape");
8
+ const d3_interpolate_1 = require("d3-interpolate");
9
+ require("d3-transition");
10
+ const axisFormatter_1 = require("../../utils/axisFormatter");
11
+ function GaugeChart({ data, xAxisField, xAxisFormat, containerStyle, colors, isAnimationActive = true, }) {
12
+ const percentage = parseFloat(data[0][xAxisField]) || 0;
13
+ const normalizedPercentage = ['whole_number', 'two_decimal_places'].includes(xAxisFormat)
14
+ ? Math.max(Math.min(percentage / 100, 1), 0)
15
+ : Math.max(Math.min(percentage, 1), 0);
16
+ return ((0, jsx_runtime_1.jsx)(D3Gauge, { percentage: normalizedPercentage, xAxisFormat: xAxisFormat, containerStyle: { ...containerStyle }, colors: colors, isAnimationActive: isAnimationActive }));
17
+ }
18
+ function D3Gauge({ percentage, containerStyle, xAxisFormat, colors, isAnimationActive }) {
19
+ const containerRef = (0, react_1.useRef)(null);
20
+ const svgRef = (0, react_1.useRef)(null);
21
+ const gaugeGroupRef = (0, react_1.useRef)(null);
22
+ const needleRef = (0, react_1.useRef)(null);
23
+ const needleOutlineRef = (0, react_1.useRef)(null);
24
+ const textRef = (0, react_1.useRef)(null);
25
+ const previousPercentageRef = (0, react_1.useRef)(0);
26
+ const firstMountRef = (0, react_1.useRef)(true);
27
+ // Gauge arc from -135° to +135°
28
+ const startAngle = -(3 * Math.PI) / 4;
29
+ const totalAngle = (3 * Math.PI) / 2;
30
+ // --- Initialization ---
31
+ (0, react_1.useEffect)(() => {
32
+ if (!containerRef.current)
33
+ return;
34
+ const container = containerRef.current;
35
+ (0, d3_selection_1.select)(container).select('svg').remove();
36
+ svgRef.current = (0, d3_selection_1.select)(container)
37
+ // Let CSS control the size.
38
+ .append('svg')
39
+ .attr('width', '100%')
40
+ .attr('height', '100%')
41
+ .attr('preserveAspectRatio', 'xMidYMid meet');
42
+ // .style('display', 'block')
43
+ // .style('margin', '0 auto');
44
+ // Create one main group for all gauge elements.
45
+ gaugeGroupRef.current = svgRef.current.append('g');
46
+ // Append placeholder arc segments.
47
+ for (let i = 0; i < 3; i++) {
48
+ gaugeGroupRef.current.append('path').attr('class', `arc-seg seg${i}`);
49
+ }
50
+ // Create needle outline and needle.
51
+ needleOutlineRef.current = gaugeGroupRef.current.append('line')
52
+ .attr('stroke', 'white')
53
+ .attr('stroke-width', 8)
54
+ .attr('stroke-linecap', 'round');
55
+ needleRef.current = gaugeGroupRef.current.append('line')
56
+ .attr('stroke', 'black')
57
+ .attr('stroke-width', 4)
58
+ .attr('stroke-linecap', 'round');
59
+ // Create text label.
60
+ textRef.current = gaugeGroupRef.current.append('text')
61
+ .attr('class', 'gauge-label')
62
+ .attr('text-anchor', 'middle')
63
+ .attr('fill', '#000')
64
+ .attr('font-weight', '500')
65
+ .text(`${Math.round(percentage * 100)}%`);
66
+ return () => {
67
+ svgRef.current?.remove();
68
+ svgRef.current = null;
69
+ };
70
+ }, [colors]);
71
+ // --- Update & Resize ---
72
+ (0, react_1.useEffect)(() => {
73
+ if (!containerRef.current ||
74
+ !svgRef.current ||
75
+ !gaugeGroupRef.current ||
76
+ !needleRef.current ||
77
+ !needleOutlineRef.current ||
78
+ !textRef.current)
79
+ return;
80
+ // Use getBoundingClientRect() so we get accurate dimensions.
81
+ const rect = containerRef.current.getBoundingClientRect();
82
+ const cw = rect.width;
83
+ const ch = rect.height;
84
+ // Our desired gauge has a 1:1.2 (height:width) ratio.
85
+ // We choose gaugeHeight as the smaller of ch and (cw / 1.2)
86
+ const gaugeHeight = Math.min(ch, cw / 1.2);
87
+ const gaugeWidth = gaugeHeight * 1.2;
88
+ const radius = gaugeHeight / 2;
89
+ const innerRadius = radius * 0.65;
90
+ // const arcWidth = radius - innerRadius;
91
+ // Vertical offset to visually center the 270° arc.
92
+ const verticalOffset = gaugeHeight * 0.05;
93
+ // Update viewBox so our internal coordinates scale.
94
+ svgRef.current
95
+ .attr('viewBox', `0 0 ${gaugeWidth} ${gaugeHeight}`);
96
+ // Center the gauge group.
97
+ gaugeGroupRef.current.attr('transform', `translate(${gaugeWidth / 2}, ${gaugeHeight / 2 + verticalOffset})`);
98
+ // Draw the arc segments.
99
+ const segments = [
100
+ { start: startAngle, end: startAngle + totalAngle / 3, color: colors[1] || 'red' },
101
+ { start: startAngle + totalAngle / 3, end: startAngle + (2 * totalAngle) / 3, color: colors[3] || 'yellow' },
102
+ { start: startAngle + (2 * totalAngle) / 3, end: startAngle + totalAngle, color: colors[2] || 'green' },
103
+ ];
104
+ const arcGenerator = (0, d3_shape_1.arc)()
105
+ .innerRadius(innerRadius)
106
+ .outerRadius(radius);
107
+ segments.forEach((seg, i) => {
108
+ gaugeGroupRef.current?.select(`.arc-seg.seg${i}`)
109
+ .attr('d', arcGenerator({
110
+ innerRadius,
111
+ outerRadius: radius,
112
+ startAngle: seg.start,
113
+ endAngle: seg.end,
114
+ }) || '')
115
+ .attr('fill', seg.color);
116
+ });
117
+ // Needle endpoints: tweak these factors to adjust length.
118
+ const calcEndpoints = (angle) => {
119
+ const startFactor = 0.85; // relative to innerRadius
120
+ const endFactor = 1.05; // relative to radius
121
+ const x1 = innerRadius * startFactor * Math.cos(angle);
122
+ const y1 = innerRadius * startFactor * Math.sin(angle);
123
+ const x2 = radius * endFactor * Math.cos(angle);
124
+ const y2 = radius * endFactor * Math.sin(angle);
125
+ return { x1, y1, x2, y2 };
126
+ };
127
+ // Compute the new needle angle (rotate so 0 = north).
128
+ const newAngle = startAngle + totalAngle * percentage - Math.PI / 2;
129
+ const endpoints = calcEndpoints(newAngle);
130
+ // Update text font-size relative to radius.
131
+ textRef.current.attr('font-size', radius / 3)
132
+ // Position text below the gauge center.
133
+ .attr('y', radius * 0.1);
134
+ if (isAnimationActive) {
135
+ const prevAngle = startAngle + totalAngle * previousPercentageRef.current - Math.PI / 2;
136
+ const angleInterpolator = (0, d3_interpolate_1.interpolate)(prevAngle, newAngle);
137
+ const textInterpolator = (0, d3_interpolate_1.interpolate)(previousPercentageRef.current, percentage);
138
+ needleRef.current.interrupt()
139
+ .transition()
140
+ .duration(1000)
141
+ .tween("needle", function () {
142
+ return function (t) {
143
+ const currentAngle = angleInterpolator(t);
144
+ const { x1, y1, x2, y2 } = calcEndpoints(currentAngle);
145
+ needleRef.current
146
+ .attr("x1", x1)
147
+ .attr("y1", y1)
148
+ .attr("x2", x2)
149
+ .attr("y2", y2);
150
+ needleOutlineRef.current
151
+ .attr("x1", x1)
152
+ .attr("y1", y1)
153
+ .attr("x2", x2)
154
+ .attr("y2", y2);
155
+ const currentPercentage = textInterpolator(t);
156
+ const percentText = (0, axisFormatter_1.axisFormatter)({
157
+ value: xAxisFormat === 'percent' ? currentPercentage : currentPercentage * 100,
158
+ field: 'amount',
159
+ fields: [{ field: 'amount', format: xAxisFormat }]
160
+ }) + (xAxisFormat === 'percent' ? '' : '%');
161
+ textRef.current?.text(percentText);
162
+ };
163
+ });
164
+ }
165
+ else {
166
+ needleRef.current.interrupt()
167
+ .attr('x1', endpoints.x1)
168
+ .attr('y1', endpoints.y1)
169
+ .attr('x2', endpoints.x2)
170
+ .attr('y2', endpoints.y2);
171
+ needleOutlineRef.current.interrupt()
172
+ .attr('x1', endpoints.x1)
173
+ .attr('y1', endpoints.y1)
174
+ .attr('x2', endpoints.x2)
175
+ .attr('y2', endpoints.y2);
176
+ const percentText = (0, axisFormatter_1.axisFormatter)({
177
+ value: xAxisFormat === 'percent' ? percentage : percentage * 100,
178
+ field: 'amount',
179
+ fields: [{ field: 'amount', format: xAxisFormat }]
180
+ }) + (xAxisFormat === 'percent' ? '' : '%');
181
+ textRef.current.text(percentText);
182
+ }
183
+ previousPercentageRef.current = percentage;
184
+ firstMountRef.current = false;
185
+ }, [percentage, colors, isAnimationActive, xAxisFormat]);
186
+ // Use ResizeObserver to trigger updates on container size changes.
187
+ (0, react_1.useEffect)(() => {
188
+ if (!containerRef.current)
189
+ return;
190
+ const observer = new ResizeObserver(() => {
191
+ // Force update by reading dimensions in the update effect.
192
+ previousPercentageRef.current = percentage;
193
+ });
194
+ observer.observe(containerRef.current);
195
+ return () => observer.disconnect();
196
+ }, [percentage]);
197
+ return ((0, jsx_runtime_1.jsx)("div", { ref: containerRef, style: { width: '100%', height: '100%', ...containerStyle } }));
198
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAOlE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAiH5D;AAyFD,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,mBAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAuC,EACvC,eAAsC,EACtC,oBAAyD,EACzD,wBAA+C,EAC/C,eAAsC,EACtC,OAAO,EACP,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,OAAO,EACP,oBAAoB,EACpB,aAAa,GACd,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CAsdA"}
1
+ {"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAOlE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAiH5D;AAyFD,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,mBAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAuC,EACvC,eAAsC,EACtC,oBAAyD,EACzD,wBAA+C,EAC/C,eAAsC,EACtC,OAAO,EACP,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,OAAO,EACP,oBAAoB,EACpB,aAAa,GACd,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CAudA"}
@@ -216,9 +216,9 @@ function InternalChart({ report, colors, className, containerStyle, isAnimationA
216
216
  // const userFilters = useMemo(() => {
217
217
  // return filters?.filter(
218
218
  // (f) =>
219
- // f.filterType !== FilterType.DateCustomFilter &&
220
- // f.filterType !== FilterType.DateFilter &&
221
- // f.filterType !== FilterType.DateComparisonFilter,
219
+ // f.filterType !== InternalFilterType.DateCustomFilter &&
220
+ // f.filterType !== InternalFilterType.DateFilter &&
221
+ // f.filterType !== InternalFilterType.DateComparisonFilter,
222
222
  // );
223
223
  // }, [filters]);
224
224
  // A filter value can either be a string, an array of strings for a multiselect, or a date range (that could have a comparison range)
@@ -226,9 +226,10 @@ function InternalChart({ report, colors, className, containerStyle, isAnimationA
226
226
  (0, react_1.useEffect)(() => {
227
227
  if (reportDateFilter) {
228
228
  // Filter for custom date filter that applies to the report's dateField
229
- const customDateFilter = filters?.find((f) => f.filterType === Filter_1.FilterType.DateCustomFilter ||
230
- f.filterType === Filter_1.FilterType.DateFilter ||
231
- f.filterType === Filter_1.FilterType.DateComparisonFilter);
229
+ const customDateFilter = filters?.find((f) => f.filterType === Filter_1.FilterType.Date
230
+ // FIXME: this is the correct way to do it but the demo has a hardcoded filter field
231
+ // && f.field === report?.dateField?.field && f.table === report?.dateField?.table,
232
+ );
232
233
  if (!customDateFilter) {
233
234
  return;
234
235
  }
@@ -371,6 +372,7 @@ function InternalChart({ report, colors, className, containerStyle, isAnimationA
371
372
  padding: filtersEnabled ? 12 : 0,
372
373
  borderRadius: 6,
373
374
  opacity: filterToggleDisabled ? 0.5 : 1,
375
+ zIndex: 1,
374
376
  }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
375
377
  display: 'flex',
376
378
  flexDirection: 'row',
@@ -407,7 +409,6 @@ function InternalChart({ report, colors, className, containerStyle, isAnimationA
407
409
  minWidth: 500,
408
410
  paddingBottom: !filtersExpanded && filtersOverflowing && filtersEnabled ? 116 : 0,
409
411
  position: 'relative',
410
- // overflow: filtersExpanded ? undefined : 'hidden',
411
412
  }, children: [filtersEnabled &&
412
413
  currentReportFilters.map((filter, index) => ((0, jsx_runtime_1.jsx)(DashboardFilter_1.DashboardFilter, { filter: {
413
414
  ...filter.filter,
@@ -465,8 +466,10 @@ function InternalChart({ report, colors, className, containerStyle, isAnimationA
465
466
  marginBottom: 'auto',
466
467
  display: 'flex',
467
468
  }, children: (0, jsx_runtime_1.jsx)(MetricComponent, { error: error, isLoading: loading, report: report, children: report?.rows?.[0]?.[report.xAxisField] }) })), report.chartType !== 'table' && report.chartType !== 'metric' && ((0, jsx_runtime_1.jsx)(Chart_1.ChartDisplay, { config: report, containerStyle: {
468
- width: '100%',
469
- height: '100%',
470
- minHeight: 300,
471
- }, reportId: report.id, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement }))] }))] }));
469
+ minHeight: ['gauge'].includes(report.chartType) ? 500 : 400,
470
+ width: ['US map', 'World map'].includes(report.chartType) ? '70%' : ['gauge'].includes(report.chartType) ? undefined : '100%',
471
+ height: ['US map', 'World map'].includes(report.chartType) ? 'fit-content' : ['gauge'].includes(report.chartType) ? 500 : undefined,
472
+ marginLeft: ['gauge'].includes(report.chartType) ? 'undefined' : 'auto',
473
+ marginRight: ['gauge'].includes(report.chartType) ? 'undefined' : 'auto',
474
+ }, reportId: report.id, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement, referenceLines: report.referenceLineYValues }))] }))] }));
472
475
  }
@@ -1,6 +1,6 @@
1
1
  import { type ColorMapType } from '../../Chart';
2
2
  import { AxisFormat } from '../../Dashboard';
3
- export default function LineChart({ colors, colorMap, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, comparisonLineStyle, cartesianGridLineColor, onClickChartElement, dateFilter, }: {
3
+ export default function LineChart({ colors, colorMap, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, comparisonLineStyle, cartesianGridLineColor, onClickChartElement, dateFilter, referenceLines, }: {
4
4
  colors: string[];
5
5
  colorMap?: ColorMapType;
6
6
  yAxisFields: any[];
@@ -24,5 +24,9 @@ export default function LineChart({ colors, colorMap, yAxisFields, data, contain
24
24
  cartesianGridLineColor?: string;
25
25
  onClickChartElement?: (e: any) => void;
26
26
  dateFilter?: any;
27
+ referenceLines?: {
28
+ label: string;
29
+ query: number[];
30
+ }[];
27
31
  }): import("react/jsx-runtime").JSX.Element;
28
32
  //# sourceMappingURL=LineChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA2B7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CAqRA"}
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA4B7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,EACV,cAAc,GACf,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAC,EAAE,CAAC;CACrD,2CAyRA"}
@@ -13,6 +13,7 @@ const ChartTooltip_1 = __importDefault(require("../../components/Chart/ChartTool
13
13
  const getDomain_1 = __importDefault(require("../../utils/getDomain"));
14
14
  const crypto_1 = require("../../utils/crypto");
15
15
  const react_1 = require("react");
16
+ const CustomReferenceLine_1 = __importDefault(require("./CustomReferenceLine"));
16
17
  function createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisFormat) {
17
18
  let lineChartData = [];
18
19
  if (dateFilter &&
@@ -29,7 +30,7 @@ function createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisForma
29
30
  }
30
31
  return lineChartData;
31
32
  }
32
- function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isAnimationActive = true, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', comparisonLineStyle = 'solid', cartesianGridLineColor, onClickChartElement = () => { }, dateFilter, }) {
33
+ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isAnimationActive = true, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', comparisonLineStyle = 'solid', cartesianGridLineColor, onClickChartElement = () => { }, dateFilter, referenceLines, }) {
33
34
  const formattedData = (0, react_1.useMemo)(() => {
34
35
  if (!data || data.length === 0) {
35
36
  return createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisFormat);
@@ -92,7 +93,7 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, c
92
93
  field: xAxisField,
93
94
  fields: [{ field: xAxisField, format: xAxisFormat }],
94
95
  });
95
- } }), (0, jsx_runtime_1.jsx)(recharts_1.YAxis, { hide: hideYAxis, width: 44, axisLine: false, tickLine: false, type: "number", domain: (0, getDomain_1.default)(data, yAxisFields), tick: { transform: 'translate(-3, 0)' }, tickCount: 5, style: {
96
+ } }), (0, jsx_runtime_1.jsx)(recharts_1.YAxis, { hide: hideYAxis, width: 44, axisLine: false, tickLine: false, type: "number", domain: (0, getDomain_1.default)(data, yAxisFields, referenceLines), tick: { transform: 'translate(-3, 0)' }, tickCount: 5, style: {
96
97
  fontSize: '12px',
97
98
  fontFamily: theme?.chartLabelFontFamily ||
98
99
  theme?.fontFamily ||
@@ -165,7 +166,7 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, c
165
166
  const gradientStop = getCustomColor(index, elem.field, 'stop') ?? '#00000000';
166
167
  const uniqueId = `gradient_${(0, crypto_1.hashCode)(gradientStart)}_${(0, crypto_1.hashCode)(gradientStop)}`;
167
168
  return ((0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: uniqueId, x1: "0", y1: "0", x2: "0", y2: "1", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "5%", stopColor: gradientStart, stopOpacity: 0.4 }), (0, jsx_runtime_1.jsx)("stop", { offset: "95%", stopColor: gradientStop, stopOpacity: 0 })] }) }, `defs_${uniqueId}_${index}`));
168
- }), yAxisFields &&
169
+ }), referenceLines && Array.isArray(referenceLines) && (referenceLines.map(({ label, query }) => ((0, jsx_runtime_1.jsx)(recharts_1.Customized, { component: (props) => (0, jsx_runtime_1.jsx)(CustomReferenceLine_1.default, { ...props, referenceLine: query, label: label }) }, label)))), yAxisFields &&
169
170
  yAxisFields.map((elem, index) => {
170
171
  const gradientStart = (0, crypto_1.hashCode)(getCustomColor(index, elem.field, 'start') ??
171
172
  getCustomColor(index, elem.field) ??
@@ -0,0 +1,36 @@
1
+ import { QuillTheme } from "../../QuillProvider";
2
+ import { AxisFormat } from "../../Dashboard";
3
+ import { ColorMapType } from "../../Chart";
4
+ export declare function USMap({ theme, data, xAxisField, xAxisFormat, yAxisFields, onClickChartElement, colors, colorMap, className, containerStyle, }: {
5
+ theme: QuillTheme | null;
6
+ data: any[];
7
+ xAxisField: string;
8
+ xAxisFormat: AxisFormat;
9
+ yAxisFields: {
10
+ field: string;
11
+ label: string;
12
+ format: AxisFormat;
13
+ }[];
14
+ onClickChartElement?: (data: any) => void;
15
+ colors: string[];
16
+ colorMap?: ColorMapType;
17
+ className?: string;
18
+ containerStyle?: React.CSSProperties;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export declare function WorldMap({ theme, data, xAxisField, xAxisFormat, yAxisFields, onClickChartElement, colors, colorMap, className, containerStyle, }: {
21
+ theme: QuillTheme | null;
22
+ data: any[];
23
+ xAxisField: string;
24
+ xAxisFormat: AxisFormat;
25
+ yAxisFields: {
26
+ field: string;
27
+ label: string;
28
+ format: AxisFormat;
29
+ }[];
30
+ onClickChartElement?: (data: any) => void;
31
+ colors: string[];
32
+ colorMap?: ColorMapType;
33
+ className?: string;
34
+ containerStyle?: React.CSSProperties;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ //# sourceMappingURL=MapChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/MapChart.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuT3C,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,cAAc,GACf,EAAE;IACD,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;KAAE,EAAE,CAAC;IACrE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC,2CAuJA;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,cAAc,GACf,EAAE;IACD,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;KAAE,EAAE,CAAC;IACrE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC,2CAwJA"}