@elliemae/ds-dataviz 3.36.0-rc.0 → 3.36.1-next.7

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 (153) hide show
  1. package/dist/cjs/graphs/Chart/SingleStackedBar/SingleStackedBar.js +2 -4
  2. package/dist/cjs/graphs/Chart/SingleStackedBar/SingleStackedBar.js.map +1 -1
  3. package/dist/cjs/graphs/Chart/SingleStackedBar/index.js +0 -1
  4. package/dist/cjs/graphs/Chart/SingleStackedBar/index.js.map +1 -1
  5. package/dist/cjs/graphs/Chart/SingleStackedBar/styles.js.map +1 -1
  6. package/dist/cjs/graphs/Chart/config/useChart.js.map +1 -1
  7. package/dist/cjs/graphs/Chart/config/useGetters.js +15 -30
  8. package/dist/cjs/graphs/Chart/config/useGetters.js.map +1 -1
  9. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +17 -34
  10. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +1 -1
  11. package/dist/cjs/graphs/Chart/config/useScales.js +11 -22
  12. package/dist/cjs/graphs/Chart/config/useScales.js.map +1 -1
  13. package/dist/cjs/graphs/Chart/config/useValidateProps.js.map +1 -1
  14. package/dist/cjs/graphs/Chart/helpers/index.js +5 -10
  15. package/dist/cjs/graphs/Chart/helpers/index.js.map +1 -1
  16. package/dist/cjs/graphs/Chart/helpers/useUniqueData.js +3 -6
  17. package/dist/cjs/graphs/Chart/helpers/useUniqueData.js.map +1 -1
  18. package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js +2 -4
  19. package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js.map +1 -1
  20. package/dist/cjs/graphs/Chart/parts/A11yRegion.js +1 -2
  21. package/dist/cjs/graphs/Chart/parts/A11yRegion.js.map +1 -1
  22. package/dist/cjs/graphs/Chart/parts/Axis/Axis.js +1 -2
  23. package/dist/cjs/graphs/Chart/parts/Axis/Axis.js.map +1 -1
  24. package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js +6 -12
  25. package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js.map +1 -1
  26. package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js +5 -10
  27. package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js.map +1 -1
  28. package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js +5 -10
  29. package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js.map +1 -1
  30. package/dist/cjs/graphs/Chart/parts/Axis/Tick.js.map +1 -1
  31. package/dist/cjs/graphs/Chart/parts/ChartContainer.js +6 -12
  32. package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +1 -1
  33. package/dist/cjs/graphs/Chart/parts/ClipPaths.js.map +1 -1
  34. package/dist/cjs/graphs/Chart/parts/Labels/Label.js.map +1 -1
  35. package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js +1 -2
  36. package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js.map +1 -1
  37. package/dist/cjs/graphs/Chart/parts/Legend/LeftLegend.js.map +1 -1
  38. package/dist/cjs/graphs/Chart/parts/Legend/Legend.js +4 -8
  39. package/dist/cjs/graphs/Chart/parts/Legend/Legend.js.map +1 -1
  40. package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js +3 -6
  41. package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js.map +1 -1
  42. package/dist/cjs/graphs/Chart/parts/Legend/RightLegend.js.map +1 -1
  43. package/dist/cjs/graphs/Chart/parts/Legend/TopLegend.js.map +1 -1
  44. package/dist/cjs/graphs/Chart/parts/Scrapper/Scrapper.js +1 -2
  45. package/dist/cjs/graphs/Chart/parts/Scrapper/Scrapper.js.map +1 -1
  46. package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js +1 -2
  47. package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +1 -1
  48. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +1 -2
  49. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +1 -1
  50. package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js +1 -2
  51. package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js.map +1 -1
  52. package/dist/cjs/graphs/Chart/parts/Scroller/Controllers.js +2 -4
  53. package/dist/cjs/graphs/Chart/parts/Scroller/Controllers.js.map +1 -1
  54. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js.map +1 -1
  55. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js.map +1 -1
  56. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js +7 -14
  57. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +1 -1
  58. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js +2 -4
  59. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +1 -1
  60. package/dist/cjs/graphs/Chart/parts/TrendHighlight.js +1 -2
  61. package/dist/cjs/graphs/Chart/parts/TrendHighlight.js.map +1 -1
  62. package/dist/cjs/graphs/Chart/scales/index.js +13 -26
  63. package/dist/cjs/graphs/Chart/scales/index.js.map +1 -1
  64. package/dist/cjs/graphs/Chart/series/Area.js.map +1 -1
  65. package/dist/cjs/graphs/Chart/series/Bars.js.map +1 -1
  66. package/dist/cjs/graphs/Chart/series/HorizontalBars.js.map +1 -1
  67. package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js.map +1 -1
  68. package/dist/cjs/graphs/Chart/series/Line.js +1 -2
  69. package/dist/cjs/graphs/Chart/series/Line.js.map +1 -1
  70. package/dist/cjs/graphs/Chart/series/Point.js +2 -4
  71. package/dist/cjs/graphs/Chart/series/Point.js.map +1 -1
  72. package/dist/cjs/graphs/Chart/series/Points.js.map +1 -1
  73. package/dist/cjs/graphs/Chart/series/Rect.js +5 -10
  74. package/dist/cjs/graphs/Chart/series/Rect.js.map +1 -1
  75. package/dist/cjs/graphs/Chart/series/StackedBar.js.map +1 -1
  76. package/dist/cjs/graphs/Chart/styles.js.map +1 -1
  77. package/dist/esm/graphs/Chart/SingleStackedBar/SingleStackedBar.js +2 -4
  78. package/dist/esm/graphs/Chart/SingleStackedBar/SingleStackedBar.js.map +1 -1
  79. package/dist/esm/graphs/Chart/SingleStackedBar/index.js +0 -1
  80. package/dist/esm/graphs/Chart/SingleStackedBar/index.js.map +1 -1
  81. package/dist/esm/graphs/Chart/SingleStackedBar/styles.js.map +1 -1
  82. package/dist/esm/graphs/Chart/config/useChart.js.map +1 -1
  83. package/dist/esm/graphs/Chart/config/useGetters.js +15 -30
  84. package/dist/esm/graphs/Chart/config/useGetters.js.map +1 -1
  85. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +17 -34
  86. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +1 -1
  87. package/dist/esm/graphs/Chart/config/useScales.js +11 -22
  88. package/dist/esm/graphs/Chart/config/useScales.js.map +1 -1
  89. package/dist/esm/graphs/Chart/config/useValidateProps.js.map +1 -1
  90. package/dist/esm/graphs/Chart/helpers/index.js +5 -10
  91. package/dist/esm/graphs/Chart/helpers/index.js.map +1 -1
  92. package/dist/esm/graphs/Chart/helpers/useUniqueData.js +3 -6
  93. package/dist/esm/graphs/Chart/helpers/useUniqueData.js.map +1 -1
  94. package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js +2 -4
  95. package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js.map +1 -1
  96. package/dist/esm/graphs/Chart/parts/A11yRegion.js +1 -2
  97. package/dist/esm/graphs/Chart/parts/A11yRegion.js.map +1 -1
  98. package/dist/esm/graphs/Chart/parts/Axis/Axis.js +1 -2
  99. package/dist/esm/graphs/Chart/parts/Axis/Axis.js.map +1 -1
  100. package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js +6 -12
  101. package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js.map +1 -1
  102. package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js +5 -10
  103. package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js.map +1 -1
  104. package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js +5 -10
  105. package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js.map +1 -1
  106. package/dist/esm/graphs/Chart/parts/Axis/Tick.js.map +1 -1
  107. package/dist/esm/graphs/Chart/parts/ChartContainer.js +6 -12
  108. package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +1 -1
  109. package/dist/esm/graphs/Chart/parts/ClipPaths.js.map +1 -1
  110. package/dist/esm/graphs/Chart/parts/Labels/Label.js.map +1 -1
  111. package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js +1 -2
  112. package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js.map +1 -1
  113. package/dist/esm/graphs/Chart/parts/Legend/LeftLegend.js.map +1 -1
  114. package/dist/esm/graphs/Chart/parts/Legend/Legend.js +4 -8
  115. package/dist/esm/graphs/Chart/parts/Legend/Legend.js.map +1 -1
  116. package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js +3 -6
  117. package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js.map +1 -1
  118. package/dist/esm/graphs/Chart/parts/Legend/RightLegend.js.map +1 -1
  119. package/dist/esm/graphs/Chart/parts/Legend/TopLegend.js.map +1 -1
  120. package/dist/esm/graphs/Chart/parts/Scrapper/Scrapper.js +1 -2
  121. package/dist/esm/graphs/Chart/parts/Scrapper/Scrapper.js.map +1 -1
  122. package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js +1 -2
  123. package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +1 -1
  124. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +1 -2
  125. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +1 -1
  126. package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js +1 -2
  127. package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js.map +1 -1
  128. package/dist/esm/graphs/Chart/parts/Scroller/Controllers.js +2 -4
  129. package/dist/esm/graphs/Chart/parts/Scroller/Controllers.js.map +1 -1
  130. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js.map +1 -1
  131. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js.map +1 -1
  132. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js +7 -14
  133. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +1 -1
  134. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js +2 -4
  135. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +1 -1
  136. package/dist/esm/graphs/Chart/parts/TrendHighlight.js +1 -2
  137. package/dist/esm/graphs/Chart/parts/TrendHighlight.js.map +1 -1
  138. package/dist/esm/graphs/Chart/scales/index.js +13 -26
  139. package/dist/esm/graphs/Chart/scales/index.js.map +1 -1
  140. package/dist/esm/graphs/Chart/series/Area.js.map +1 -1
  141. package/dist/esm/graphs/Chart/series/Bars.js.map +1 -1
  142. package/dist/esm/graphs/Chart/series/HorizontalBars.js.map +1 -1
  143. package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js.map +1 -1
  144. package/dist/esm/graphs/Chart/series/Line.js +1 -2
  145. package/dist/esm/graphs/Chart/series/Line.js.map +1 -1
  146. package/dist/esm/graphs/Chart/series/Point.js +2 -4
  147. package/dist/esm/graphs/Chart/series/Point.js.map +1 -1
  148. package/dist/esm/graphs/Chart/series/Points.js.map +1 -1
  149. package/dist/esm/graphs/Chart/series/Rect.js +5 -10
  150. package/dist/esm/graphs/Chart/series/Rect.js.map +1 -1
  151. package/dist/esm/graphs/Chart/series/StackedBar.js.map +1 -1
  152. package/dist/esm/graphs/Chart/styles.js.map +1 -1
  153. package/package.json +7 -7
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/config/useGetters.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useMemo } from 'react';\nimport type { DSChartT } from '../react-desc-prop-types.js';\nimport type { TimeLinearScale, LinearScale, BandScale } from '../scales/index.js';\ninterface UseGettersT {\n xAxis: DSChartT.AxisT;\n yAxis: DSChartT.AxisT;\n isHorizontal: boolean;\n xScale: TimeLinearScale | LinearScale | BandScale | null;\n yScale: TimeLinearScale | LinearScale | BandScale | null;\n y2Scale: TimeLinearScale | LinearScale | BandScale | null;\n}\n\ntype ValueT = number | string | Date;\n\nfunction isLinear(scale: TimeLinearScale | LinearScale | BandScale | null): scale is LinearScale {\n return (scale as LinearScale).type !== 'LINEAR';\n}\n\nfunction isBand(scale: TimeLinearScale | LinearScale | BandScale | null): scale is BandScale {\n return (scale as BandScale).type !== 'BAND';\n}\n\nfunction isTime(scale: TimeLinearScale | LinearScale | BandScale | null): scale is TimeLinearScale {\n return (scale as TimeLinearScale).type !== 'DATETIME';\n}\n\nfunction isValueT(value: DSChartT.InternalDatum | ValueT): value is ValueT {\n return typeof value === 'number' || typeof value === 'string' || value instanceof Date;\n}\n\nexport const useGetters = ({ xAxis, isHorizontal, yAxis, xScale, yScale, y2Scale }: UseGettersT) => {\n const getXValue = useCallback(\n (datum: DSChartT.InternalDatum) => {\n if (!datum) return null;\n if (!isHorizontal) {\n if (xAxis?.cols?.[datum.position]) {\n return xAxis?.cols?.[datum.position];\n }\n if (typeof datum.value === 'object') return datum.value?.x;\n return datum.position.toString();\n }\n if (typeof datum.value === 'number') {\n return datum.value;\n }\n return datum.value?.x;\n },\n [isHorizontal, xAxis?.cols],\n );\n\n const getYValue = useCallback(\n (datum: DSChartT.InternalDatum) => {\n if (!datum) return null;\n\n if (!isHorizontal) {\n if (typeof datum.value === 'number') {\n return datum.value;\n }\n return datum.value?.y;\n }\n if (yAxis?.cols?.[datum.position]) {\n return yAxis?.cols?.[datum.position];\n }\n if (typeof datum.value === 'object') return datum.value?.y;\n return datum.position.toString();\n },\n [isHorizontal, yAxis?.cols],\n );\n\n const getXScaleValue = useCallback(\n (datum: DSChartT.InternalDatum | ValueT) => {\n if (isLinear(xScale)) {\n if (isValueT(datum)) return xScale?.get(datum as number);\n return xScale?.get(getXValue(datum) as number);\n }\n if (isBand(xScale)) {\n if (isValueT(datum)) return xScale?.get(datum as string) ?? 0;\n return xScale?.get(getXValue(datum) as string) ?? 0;\n }\n if (isTime(xScale)) {\n if (isValueT(datum)) return xScale?.get(datum as Date);\n return xScale?.get(new Date(getXValue(datum) as string));\n }\n return 0;\n },\n [getXValue, xScale],\n );\n\n const getYScaleValue = useCallback(\n (datum: DSChartT.InternalDatum | ValueT) => {\n if (isLinear(yScale)) {\n if (isValueT(datum)) return yScale?.get(datum as number);\n return yScale.get(getYValue(datum) as number);\n }\n if (isBand(yScale)) {\n if (isValueT(datum)) return yScale?.get(datum as string) ?? 0;\n return yScale?.get(getYValue(datum) as string) ?? 0;\n }\n return 0;\n },\n [getYValue, yScale],\n );\n\n const getY2ScaleValue = useCallback(\n (datum: DSChartT.InternalDatum | ValueT) => {\n if (isLinear(y2Scale)) {\n if (isValueT(datum)) return y2Scale?.get(datum as number);\n return y2Scale.get(getYValue(datum) as number);\n }\n if (isBand(y2Scale)) {\n if (isValueT(datum)) return y2Scale?.get(datum as string) ?? 0;\n return y2Scale?.get(getYValue(datum) as string) ?? 0;\n }\n return 0;\n },\n [getYValue, y2Scale],\n );\n\n const getYValueFormatted = useCallback(\n (datum: DSChartT.InternalDatum) => {\n if (!datum) return null;\n\n const value = getYValue(datum);\n if (typeof yAxis.tick?.tickFormat === 'function') return yAxis.tick.tickFormat(value as number);\n return value;\n },\n [getYValue, yAxis.tick],\n );\n\n const getXValueFormatted = useCallback(\n (datum: DSChartT.InternalDatum) => {\n if (!datum) return null;\n\n const value = getXValue(datum);\n if (typeof xAxis.tick?.tickFormat === 'function') return xAxis.tick.tickFormat(value as number);\n return value;\n },\n [getXValue, xAxis.tick],\n );\n\n return useMemo(\n () => ({\n getYValue,\n getY2ScaleValue,\n getXValue,\n getXScaleValue,\n getYScaleValue,\n getYValueFormatted,\n getXValueFormatted,\n }),\n [getYValue, getXValue, getY2ScaleValue, getXScaleValue, getYScaleValue, getYValueFormatted, getXValueFormatted],\n );\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -44,8 +44,7 @@ const useKeyboardNavigation = () => {
44
44
  );
45
45
  const listMap = useMemo(
46
46
  () => currentSerie?.data.map((d) => {
47
- if (typeof d.value === "object")
48
- return JSON.stringify(d.value);
47
+ if (typeof d.value === "object") return JSON.stringify(d.value);
49
48
  return d.value?.toString();
50
49
  }) ?? [],
51
50
  [currentSerie?.data]
@@ -72,8 +71,7 @@ const useKeyboardNavigation = () => {
72
71
  setActivePoint(currentSerie?.data[newValue]);
73
72
  if (xScroll) {
74
73
  const xValue = getXScaleValue(currentSerie?.data[newValue]);
75
- if (xValue === void 0)
76
- return;
74
+ if (xValue === void 0) return;
77
75
  const barWidth = innerWidth / containerRatio;
78
76
  const total = innerWidth * containerRatio;
79
77
  if (total <= xValue) {
@@ -81,16 +79,13 @@ const useKeyboardNavigation = () => {
81
79
  } else if (xValue > xScrollbarPosition * containerRatio + innerWidth)
82
80
  setXScrollbarPosition((prev) => {
83
81
  const nextPosition = prev + (xValue / containerRatio - prev);
84
- if (nextPosition + barWidth > innerWidth)
85
- return innerWidth - barWidth;
82
+ if (nextPosition + barWidth > innerWidth) return innerWidth - barWidth;
86
83
  return nextPosition;
87
84
  });
88
- else if (xValue < xScrollbarPosition * containerRatio)
89
- setXScrollbarPosition(xValue / containerRatio);
85
+ else if (xValue < xScrollbarPosition * containerRatio) setXScrollbarPosition(xValue / containerRatio);
90
86
  } else if (yScroll) {
91
87
  const yValue = getYScaleValue(currentSerie?.data[newValue]);
92
- if (yValue === void 0)
93
- return;
88
+ if (yValue === void 0) return;
94
89
  const barWidth = innerHeight / containerRatio;
95
90
  const total = innerHeight * containerRatio;
96
91
  if (total <= yValue) {
@@ -98,12 +93,10 @@ const useKeyboardNavigation = () => {
98
93
  } else if (yValue > xScrollbarPosition * containerRatio + innerHeight)
99
94
  setXScrollbarPosition((prev) => {
100
95
  const nextPosition = prev + (yValue / containerRatio - prev);
101
- if (nextPosition + barWidth > innerHeight)
102
- return innerHeight - barWidth;
96
+ if (nextPosition + barWidth > innerHeight) return innerHeight - barWidth;
103
97
  return nextPosition;
104
98
  });
105
- else if (yValue < xScrollbarPosition * containerRatio)
106
- setXScrollbarPosition(yValue / containerRatio);
99
+ else if (yValue < xScrollbarPosition * containerRatio) setXScrollbarPosition(yValue / containerRatio);
107
100
  }
108
101
  },
109
102
  [
@@ -136,22 +129,17 @@ const useKeyboardNavigation = () => {
136
129
  );
137
130
  const onInputKeyDown = useCallback(
138
131
  (e) => {
139
- if (!activePoint)
140
- return;
132
+ if (!activePoint) return;
141
133
  if (e.code !== "Tab") {
142
134
  e.preventDefault();
143
135
  }
144
136
  if (["ArrowLeft", "ArrowRight"].includes(e.code)) {
145
- if (yScale?.type === "BAND")
146
- changeSerie(e.code === "ArrowLeft" ? -1 : 1);
147
- else
148
- navigateSerie(e.code === "ArrowLeft" ? -1 : 1);
137
+ if (yScale?.type === "BAND") changeSerie(e.code === "ArrowLeft" ? -1 : 1);
138
+ else navigateSerie(e.code === "ArrowLeft" ? -1 : 1);
149
139
  }
150
140
  if (["ArrowDown", "ArrowUp"].includes(e.code)) {
151
- if (yScale?.type === "BAND")
152
- navigateSerie(e.code === "ArrowDown" ? 1 : -1);
153
- else
154
- changeSerie(e.code === "ArrowDown" ? -1 : 1);
141
+ if (yScale?.type === "BAND") navigateSerie(e.code === "ArrowDown" ? 1 : -1);
142
+ else changeSerie(e.code === "ArrowDown" ? -1 : 1);
155
143
  }
156
144
  const { code } = e;
157
145
  const isShiftKey = ["ShiftLeft", "ShiftRight"].includes(code);
@@ -177,10 +165,8 @@ const useKeyboardNavigation = () => {
177
165
  );
178
166
  const handleOnKeyUp = useCallback(
179
167
  (e) => {
180
- if (!activePoint)
181
- return;
182
- if (!isZooming && xScale?.type === "BAND")
183
- return false;
168
+ if (!activePoint) return;
169
+ if (!isZooming && xScale?.type === "BAND") return false;
184
170
  const { shiftKey, code } = e;
185
171
  const isShiftKey = ["ShiftLeft", "ShiftRight"].includes(code);
186
172
  const xScaledActivePoint = getXScaleValue(activePoint);
@@ -197,14 +183,11 @@ const useKeyboardNavigation = () => {
197
183
  const offSetXScaledActivePoint = getXScaleValue(currentSerie?.data[offsetActivePoint]);
198
184
  const correctEndingPosition = offSetXScaledActivePoint ?? 0 - xScrollbarPosition * containerRatio;
199
185
  const diff = Math.abs(zoomStartingPosition - correctEndingPosition);
200
- if (diff <= 0)
201
- return;
186
+ if (diff <= 0) return;
202
187
  const newRatio = innerWidth / (innerWidth * containerRatio / diff) < 40 ? innerWidth / 40 : innerWidth * containerRatio / diff;
203
188
  const newPosition = lastScrollbarPosition?.current + (!isRightDirection ? correctEndingPosition : zoomStartingPosition) / containerRatio;
204
- if (newPosition > innerWidth - innerWidth / newRatio)
205
- setXScrollbarPosition(innerWidth - innerWidth / newRatio);
206
- else
207
- setXScrollbarPosition(newPosition);
189
+ if (newPosition > innerWidth - innerWidth / newRatio) setXScrollbarPosition(innerWidth - innerWidth / newRatio);
190
+ else setXScrollbarPosition(newPosition);
208
191
  setActivePoint(null);
209
192
  setTimeout(() => setActivePoint(activePoint));
210
193
  setContainerRatio(newRatio);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/config/useKeyboardNavigation.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext.js';\n\nexport const findInCircularList = (\n list: string[],\n from: number,\n step = 1,\n criteria = (item: number) => item !== undefined,\n // eslint-disable-next-line max-params\n): number => {\n for (\n let i = (from + step + list.length) % list.length;\n i !== from && from > -1;\n i = (i + step + list.length) % list.length\n ) {\n if (list[i] && criteria(i)) {\n return i;\n }\n }\n return from; // return same item\n};\n\nexport const useKeyboardNavigation = () => {\n const {\n activePoint,\n setActivePoint,\n containerRef,\n xScale,\n yScale,\n lastScrollbarPosition,\n setXScrollbarPosition,\n containerRatio,\n xScrollbarPosition,\n innerWidth,\n innerHeight,\n getXScaleValue,\n getYScaleValue,\n groups,\n isZooming,\n setIsZooming,\n zoomStartingPosition,\n setZoomStartingPosition,\n setMovingPosition,\n setContainerRatio,\n currentDataWithNullValues,\n props: { xScroll, yScroll },\n } = useContext(ChartContext);\n\n const currentSerie = useMemo(\n () => currentDataWithNullValues.find((d) => d.name === activePoint?.serie) ?? currentDataWithNullValues[0],\n [activePoint?.serie, currentDataWithNullValues],\n );\n\n const currentActiveItemIndex = useMemo(\n () => currentSerie?.data.findIndex((opt) => opt.key === activePoint?.key),\n [activePoint, currentSerie],\n );\n\n const listMap = useMemo(\n () =>\n currentSerie?.data.map((d) => {\n if (typeof d.value === 'object') return JSON.stringify(d.value);\n return d.value?.toString();\n }) ?? [],\n [currentSerie?.data],\n );\n\n const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n if (containerRef === e.target && activePoint === null) {\n setActivePoint(currentSerie?.data[0]);\n setXScrollbarPosition(0);\n }\n },\n [activePoint, containerRef, currentSerie?.data, setActivePoint, setXScrollbarPosition],\n );\n\n const handleOnBlur: React.FocusEventHandler<HTMLInputElement> = useCallback(() => {\n setTimeout(() => {\n if (!containerRef?.contains(document.activeElement)) {\n setActivePoint(null);\n }\n });\n }, [setActivePoint, containerRef]);\n\n const navigateSerie = useCallback(\n (step: number) => {\n const newValue = findInCircularList(listMap, currentActiveItemIndex, step);\n setActivePoint(currentSerie?.data[newValue]);\n\n if (xScroll) {\n const xValue = getXScaleValue(currentSerie?.data[newValue]);\n if (xValue === undefined) return;\n const barWidth = innerWidth / containerRatio;\n const total = innerWidth * containerRatio;\n if (total <= xValue) {\n // to go from the first to last\n setXScrollbarPosition((total - innerWidth) / containerRatio);\n } else if (xValue > xScrollbarPosition * containerRatio + innerWidth)\n // if is not visible we move the scroll to the next best position\n setXScrollbarPosition((prev) => {\n const nextPosition = prev + (xValue / containerRatio - prev);\n if (nextPosition + barWidth > innerWidth) return innerWidth - barWidth;\n return nextPosition;\n });\n // move backwards - 2 because focus ring in bars\n else if (xValue < xScrollbarPosition * containerRatio) setXScrollbarPosition(xValue / containerRatio);\n } else if (yScroll) {\n const yValue = getYScaleValue(currentSerie?.data[newValue]);\n if (yValue === undefined) return;\n const barWidth = innerHeight / containerRatio;\n const total = innerHeight * containerRatio;\n if (total <= yValue) {\n // to go from the first to last\n setXScrollbarPosition((total - innerHeight) / containerRatio);\n } else if (yValue > xScrollbarPosition * containerRatio + innerHeight)\n // if is not visible we move the scroll to the next best position\n setXScrollbarPosition((prev) => {\n const nextPosition = prev + (yValue / containerRatio - prev);\n if (nextPosition + barWidth > innerHeight) return innerHeight - barWidth;\n return nextPosition;\n });\n // move backwards - 2 because focus ring in bars\n else if (yValue < xScrollbarPosition * containerRatio) setXScrollbarPosition(yValue / containerRatio);\n }\n },\n [\n listMap,\n currentActiveItemIndex,\n setActivePoint,\n currentSerie?.data,\n xScroll,\n yScroll,\n getXScaleValue,\n innerWidth,\n containerRatio,\n xScrollbarPosition,\n setXScrollbarPosition,\n getYScaleValue,\n innerHeight,\n ],\n );\n\n const changeSerie = useCallback(\n (step: number) => {\n const nextSerieIndex = findInCircularList(\n groups,\n groups.findIndex((item) => item === currentSerie.name),\n step,\n (idx: number) => currentDataWithNullValues[idx].data[currentActiveItemIndex].value !== null,\n );\n setActivePoint(currentDataWithNullValues[nextSerieIndex].data[currentActiveItemIndex]);\n },\n [groups, setActivePoint, currentActiveItemIndex, currentSerie.name, currentDataWithNullValues],\n );\n\n const onInputKeyDown: React.KeyboardEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n if (!activePoint) return;\n if (e.code !== 'Tab') {\n e.preventDefault();\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.code)) {\n if (yScale?.type === 'BAND') changeSerie(e.code === 'ArrowLeft' ? -1 : 1);\n else navigateSerie(e.code === 'ArrowLeft' ? -1 : 1);\n }\n\n if (['ArrowDown', 'ArrowUp'].includes(e.code)) {\n if (yScale?.type === 'BAND') navigateSerie(e.code === 'ArrowDown' ? 1 : -1);\n else changeSerie(e.code === 'ArrowDown' ? -1 : 1);\n }\n\n const { code } = e;\n const isShiftKey = ['ShiftLeft', 'ShiftRight'].includes(code);\n\n const xScaledActivePoint = getXScaleValue(activePoint);\n if (isShiftKey && !isZooming && xScale?.type !== 'BAND' && xScaledActivePoint) {\n setIsZooming(true);\n setZoomStartingPosition(xScaledActivePoint - xScrollbarPosition * containerRatio);\n }\n },\n [\n activePoint,\n changeSerie,\n containerRatio,\n getXScaleValue,\n isZooming,\n navigateSerie,\n setIsZooming,\n setZoomStartingPosition,\n xScale?.type,\n xScrollbarPosition,\n yScale?.type,\n ],\n );\n\n const handleOnKeyUp: React.KeyboardEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n if (!activePoint) return;\n\n if (!isZooming && xScale?.type === 'BAND') return false;\n const { shiftKey, code } = e;\n const isShiftKey = ['ShiftLeft', 'ShiftRight'].includes(code);\n\n const xScaledActivePoint = getXScaleValue(activePoint);\n\n if (shiftKey && ['ArrowRight', 'ArrowLeft'].includes(code) && xScaledActivePoint) {\n setMovingPosition(xScaledActivePoint - xScrollbarPosition * containerRatio);\n }\n if (isShiftKey && xScaledActivePoint) {\n setIsZooming(false);\n setZoomStartingPosition(0);\n setMovingPosition(0);\n const endingPosition = xScaledActivePoint - xScrollbarPosition * containerRatio;\n // isRightDirection is used to know if we are zooming right or left direction\n const isRightDirection = zoomStartingPosition < endingPosition;\n const offsetActivePoint = findInCircularList(listMap, currentActiveItemIndex, isRightDirection ? 1 : -1);\n // we do this so the activePoint does not fall into the blur gradient\n const offSetXScaledActivePoint = getXScaleValue(currentSerie?.data[offsetActivePoint]);\n const correctEndingPosition = offSetXScaledActivePoint ?? 0 - xScrollbarPosition * containerRatio;\n const diff = Math.abs(zoomStartingPosition - correctEndingPosition);\n if (diff <= 0) return;\n const newRatio =\n innerWidth / ((innerWidth * containerRatio) / diff) < 40\n ? innerWidth / 40\n : (innerWidth * containerRatio) / diff;\n const newPosition =\n lastScrollbarPosition?.current +\n (!isRightDirection ? correctEndingPosition : zoomStartingPosition) / containerRatio;\n\n // if is bigger thant innerwidth possible we force the end\n if (newPosition > innerWidth - innerWidth / newRatio) setXScrollbarPosition(innerWidth - innerWidth / newRatio);\n else setXScrollbarPosition(newPosition);\n setActivePoint(null);\n setTimeout(() => setActivePoint(activePoint));\n setContainerRatio(newRatio);\n lastScrollbarPosition.current = newPosition;\n }\n },\n [\n activePoint,\n containerRatio,\n currentActiveItemIndex,\n currentSerie?.data,\n getXScaleValue,\n\n innerWidth,\n isZooming,\n lastScrollbarPosition,\n listMap,\n setActivePoint,\n setContainerRatio,\n setIsZooming,\n setMovingPosition,\n setXScrollbarPosition,\n setZoomStartingPosition,\n xScale?.type,\n xScrollbarPosition,\n zoomStartingPosition,\n ],\n );\n return useMemo(\n () => ({ handleOnKeyUp, onInputKeyDown, handleOnBlur, handleOnFocus }),\n [handleOnBlur, handleOnFocus, handleOnKeyUp, onInputKeyDown],\n );\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -42,24 +42,17 @@ const useScales = ({
42
42
  const types = ["number", "object"];
43
43
  const getMin = () => {
44
44
  const aux = [];
45
- if (typeof begin === "number" || typeof begin === "object")
46
- aux.push(begin);
47
- if (types.includes(typeof minData) && minData !== void 0)
48
- aux.push(minData);
49
- if (typeof minStackedData === "number")
50
- aux.push(minStackedData);
45
+ if (typeof begin === "number" || typeof begin === "object") aux.push(begin);
46
+ if (types.includes(typeof minData) && minData !== void 0) aux.push(minData);
47
+ if (typeof minStackedData === "number") aux.push(minStackedData);
51
48
  return min(aux);
52
49
  };
53
50
  const getMax = () => {
54
51
  const aux = [];
55
- if (typeof begin === "number" || typeof begin === "object")
56
- aux.push(begin);
57
- if (typeof end === "number" || typeof end === "object")
58
- aux.push(end);
59
- if (types.includes(typeof maxData) && maxData !== void 0)
60
- aux.push(maxData);
61
- if (typeof maxStackedData === "number")
62
- aux.push(maxStackedData);
52
+ if (typeof begin === "number" || typeof begin === "object") aux.push(begin);
53
+ if (typeof end === "number" || typeof end === "object") aux.push(end);
54
+ if (types.includes(typeof maxData) && maxData !== void 0) aux.push(maxData);
55
+ if (typeof maxStackedData === "number") aux.push(maxStackedData);
63
56
  return max(aux);
64
57
  };
65
58
  const minRange = getMin();
@@ -90,8 +83,7 @@ const useScales = ({
90
83
  const getScaleLog = (domain, range) => scaleLog().domain(domain).range(range);
91
84
  const scaleFactory = useCallback(
92
85
  (axis, axisProps, range = []) => {
93
- if (!axisProps)
94
- return null;
86
+ if (!axisProps) return null;
95
87
  if (["time", "datetime"].includes(axisProps?.type)) {
96
88
  return new TimeLinearScale(getScaleTime(getLinearDomain(axisProps, axis), range), axisProps);
97
89
  }
@@ -145,8 +137,7 @@ const useScales = ({
145
137
  ).map((serie) => serie.name);
146
138
  if (stackedSeries?.length) {
147
139
  stackedSeries.forEach((stackedGroup, i) => {
148
- if (stackedGroup.length > 0)
149
- data.push(`stacked-data-${i}`);
140
+ if (stackedGroup.length > 0) data.push(`stacked-data-${i}`);
150
141
  });
151
142
  }
152
143
  return data;
@@ -160,11 +151,9 @@ const useScales = ({
160
151
  }
161
152
  const bars = currentData.filter((serie) => serie.type === "bar");
162
153
  const barsLength = bars.length;
163
- if (!barsLength)
164
- return 0;
154
+ if (!barsLength) return 0;
165
155
  const maxDataLength = Math.max(...bars.map((bar) => bar.data.length));
166
- if (xScale && xScale instanceof BandScale)
167
- return 0;
156
+ if (xScale && xScale instanceof BandScale) return 0;
168
157
  const divisor = Math.max(
169
158
  maxDataLength,
170
159
  xScale?.scale.ticks().length ?? 0,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/config/useScales.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable indent */\nimport { useMemo, useCallback } from 'react';\nimport type { Series } from 'd3';\nimport { max, min, scaleLinear, scaleBand, scaleUtc, scaleOrdinal, scaleLog } from 'd3';\nimport type { DSChartT } from '../react-desc-prop-types.js';\nimport { getStackedIndex } from '../helpers/index.js';\nimport { COLOR_PALLET } from '../helpers/colorPallet.js';\nimport { TIME_OFFSET } from '../../constants.js';\nimport { BandScale, LinearScale, TimeLinearScale, LogScale } from '../scales/index.js';\ninterface UseScales {\n props: DSChartT.Props;\n innerHeight: number;\n innerWidth: number;\n originalSeries: DSChartT.SeriesT[];\n stackedData: Series<\n {\n [key: string]: number;\n },\n string\n >[][];\n currentData: DSChartT.InternalData;\n groups: string[];\n containerRatio: number;\n scalesStackedDataMap: string[];\n}\n\nexport const useScales = ({\n props,\n originalSeries: series,\n innerHeight,\n innerWidth,\n stackedData,\n currentData,\n scalesStackedDataMap,\n containerRatio,\n}: UseScales) => {\n const { xAxis, yAxis, y2Axis, groups: stackedSeries, xScroll, yScroll } = props;\n\n const getBandDomain = useCallback(\n (axis: DSChartT.AxisT) => axis.cols ?? [...series[0].data.map((_, i) => i.toString())],\n [series],\n );\n\n const getPadding = (domainPadding?: number | Array<number>) =>\n typeof domainPadding === 'number' ? [domainPadding, domainPadding] : domainPadding ?? [0, 0];\n\n const getLinearDomain = useCallback(\n (axis: DSChartT.AxisT, axisString: 'x' | 'y' | 'y2') => {\n // we are calculating the min and max between all the data\n // including the stacked groups if exists\n const begin = axis?.beginAtZero ? 0 : axis.min ?? undefined;\n const end = axis.max ?? undefined;\n const data = currentData\n // we filter the data based on scale.. if is x axis we dont because theres no x2 axis\n .filter((serie) => serie.scale === axisString || axisString === 'x')\n .map((serie) =>\n serie.data\n .filter((datum) => datum.value !== null)\n .map((datum) => {\n if (typeof datum.value === 'number') {\n return datum.value;\n }\n\n return datum.value[axisString === 'y2' ? 'y' : axisString];\n }),\n );\n const dataFlattened = data.flat();\n const stackedDataFlatten = stackedData.filter((_, i) => scalesStackedDataMap[i] === axisString).flat();\n const minStackedData = min(stackedDataFlatten, (layer) => min(layer, (sequence) => sequence[0]));\n const maxStackedData = max(stackedDataFlatten, (layer) => max(layer, (sequence) => sequence[1]));\n const minData = min(dataFlattened);\n const maxData = max(dataFlattened);\n const types = ['number', 'object'];\n const getMin = () => {\n const aux: (number | Date)[] = [];\n if (typeof begin === 'number' || typeof begin === 'object') aux.push(begin);\n if (types.includes(typeof minData) && minData !== undefined) aux.push(minData);\n if (typeof minStackedData === 'number') aux.push(minStackedData);\n return min(aux);\n };\n const getMax = () => {\n const aux: (number | Date)[] = [];\n if (typeof begin === 'number' || typeof begin === 'object') aux.push(begin);\n if (typeof end === 'number' || typeof end === 'object') aux.push(end);\n if (types.includes(typeof maxData) && maxData !== undefined) aux.push(maxData);\n if (typeof maxStackedData === 'number') aux.push(maxStackedData);\n return max(aux);\n };\n const minRange = getMin();\n const maxRange = getMax();\n\n const [leftPadding, rightPadding] = getPadding(axis.domainPadding);\n\n if (typeof minRange === 'number' && typeof maxRange === 'number') {\n // @TODO fix this domain padding\n return [\n minRange - (maxRange - minRange) * (leftPadding ?? 0),\n maxRange + (maxRange - minRange) * (rightPadding ?? 0),\n ];\n }\n // timelinear case\n if (typeof minRange === 'object' && typeof maxRange === 'object') {\n if (axis.domainPaddingType && TIME_OFFSET[axis.domainPaddingType]) {\n return [\n TIME_OFFSET[axis.domainPaddingType].offset(minRange, -leftPadding),\n TIME_OFFSET[axis.domainPaddingType].offset(maxRange, rightPadding),\n ];\n }\n return [minRange, maxRange];\n }\n\n return [];\n },\n [currentData, scalesStackedDataMap, stackedData],\n );\n\n // d3 scale functions\n const getScaleTime = (domain: Date[], range: number[]) => scaleUtc().domain(domain).range(range);\n\n const getScaleBand = (domain: string[], range: number[], padding = 0.2) =>\n scaleBand().domain(domain).range(range).padding(padding).paddingOuter(0.05);\n const getScaleLinear = (domain: number[], range: number[]) => scaleLinear().domain(domain).range(range);\n const getScaleLog = (domain: number[], range: number[]) => scaleLog().domain(domain).range(range);\n\n // dataviz scales\n\n const scaleFactory = useCallback(\n (axis: 'x' | 'y' | 'y2', axisProps?: DSChartT.AxisT, range: number[] = []) => {\n if (!axisProps) return null;\n if (['time', 'datetime'].includes(axisProps?.type)) {\n return new TimeLinearScale(getScaleTime(getLinearDomain(axisProps, axis) as Date[], range), axisProps);\n }\n\n if (axisProps?.type === 'linear' || (['y', 'y2'].includes(axis) && axisProps?.type === undefined)) {\n return new LinearScale(getScaleLinear(getLinearDomain(axisProps, axis) as number[], range), axisProps);\n }\n\n if (axisProps?.type === 'log')\n return new LogScale(getScaleLog(getLinearDomain(axisProps, axis) as number[], range), axisProps);\n\n if (axisProps?.type === 'band' || (axis === 'x' && axisProps?.type === undefined)) {\n // we need to reverse the range in case is a horizontal bar char\n const realRange = axis === 'y' ? range.reverse() : range;\n return new BandScale(getScaleBand(getBandDomain(axisProps), realRange), axisProps);\n }\n return null;\n },\n [getBandDomain, getLinearDomain],\n );\n\n const xRangeFrom = useMemo(() => containerRatio * (xAxis?.plotRange?.[0] || 0), [containerRatio, xAxis?.plotRange]);\n const xRangeTo = useMemo(\n () => (innerWidth - (xAxis?.plotRange?.[1] || 0)) * (xScroll ? containerRatio : 1),\n [containerRatio, innerWidth, xAxis?.plotRange, xScroll],\n );\n\n const yRangeTo = useMemo(() => yAxis?.plotRange?.[0] || 0, [yAxis?.plotRange]);\n const yRangeFrom = useMemo(\n () => (innerHeight - (yAxis?.plotRange?.[1] || 0)) * (yScroll ? containerRatio : 1),\n [containerRatio, innerHeight, yAxis?.plotRange, yScroll],\n );\n\n const y2RangeTo = useMemo(() => y2Axis?.plotRange?.[0] || 0, [y2Axis?.plotRange]);\n const y2RangeFrom = useMemo(\n () => (innerHeight - (y2Axis?.plotRange?.[1] || 0)) * (yScroll ? containerRatio : 1),\n [containerRatio, innerHeight, y2Axis?.plotRange, yScroll],\n );\n\n const xScale = useMemo(\n () => scaleFactory('x', xAxis, [xRangeFrom, xRangeTo]),\n [scaleFactory, xAxis, xRangeFrom, xRangeTo],\n );\n\n const yScale = useMemo(\n () => scaleFactory('y', yAxis, [yRangeFrom, yRangeTo]),\n [scaleFactory, yAxis, yRangeFrom, yRangeTo],\n );\n\n const y2Scale = useMemo(\n () => scaleFactory('y2', y2Axis, [y2RangeFrom, y2RangeTo]),\n [scaleFactory, y2Axis, y2RangeFrom, y2RangeTo],\n );\n\n const colorScale = useMemo(\n () =>\n scaleOrdinal()\n .domain(series.map((d) => d.name))\n .range(series.map((d) => COLOR_PALLET[d.color as keyof typeof COLOR_PALLET] ?? d.color))\n .unknown('red'),\n [series],\n );\n // get only groups bars to calculate the subgroup scale\n\n const subgroupsWithBars = useMemo(() => {\n const data = currentData\n .filter(\n (serie) => serie.type === 'bar' && !(stackedSeries?.length && getStackedIndex(stackedSeries, serie.name) > -1),\n )\n .map((serie) => serie.name);\n\n if (stackedSeries?.length) {\n stackedSeries.forEach((stackedGroup, i) => {\n if (stackedGroup.length > 0) data.push(`stacked-data-${i}`);\n });\n }\n return data;\n }, [currentData, stackedSeries]);\n\n const getBandwidth = useCallback(() => {\n if (xScale?.type === 'BAND') {\n return xScale?.getBandwidth();\n }\n if (yScale?.type === 'BAND') {\n return yScale?.getBandwidth();\n }\n // @todo explore this. is to create bars with a linear axis\n const bars = currentData.filter((serie) => serie.type === 'bar');\n const barsLength = bars.length;\n if (!barsLength) return 0;\n // we get the size of the bars using the length of the data or the ticks amounts\n // the biggest is the one we use to get the real width we need.\n // we are doing calculations only for x axis because we are not expecting\n // y axis linear cases.\n const maxDataLength = Math.max(...bars.map((bar) => bar.data.length));\n if (xScale && xScale instanceof BandScale) return 0;\n const divisor = Math.max(\n maxDataLength,\n xScale?.scale.ticks().length ?? 0,\n xScale?.getTicks(innerWidth, '').length ?? 0,\n 1,\n );\n\n const width = innerWidth / divisor;\n if (containerRatio > 1) {\n return Math.max(0.5, width * containerRatio);\n }\n // this reduce the width of the bars under small width graphs\n const modificator = innerWidth > 400 ? 0.5 : 0.8;\n return Math.max(0.5, Math.min(20, Math.trunc(width - width * modificator)));\n }, [currentData, innerWidth, containerRatio, xScale, yScale]);\n\n const subGroupScale = useMemo(\n () =>\n getBandwidth()\n ? scaleBand()\n .domain(subgroupsWithBars)\n .range([0, getBandwidth()])\n .paddingInner(0.55)\n .padding(0.2)\n .paddingOuter(0.01)\n : null,\n [getBandwidth, subgroupsWithBars],\n );\n\n return { xScale, y2Scale, yScale, subGroupScale, colorScale, getBandwidth };\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/config/useValidateProps.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "//\nimport type { DSChartT } from '../react-desc-prop-types.js';\nexport const useValidateProps = (props: DSChartT.Props): void => {\n const componentName = 'Chart';\n\n if (props.series?.length === 0 || !props.series) {\n throw new Error(`${componentName}:: series is required or cannot be an empty array`);\n }\n // todo use generic useValidateTypescriptPropTypes for the rest of the props\n // useValidateTypescriptPropTypes(props, propTypes);\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACEhB,MAAM,mBAAmB,CAAC,UAAgC;AAC/D,QAAM,gBAAgB;AAEtB,MAAI,MAAM,QAAQ,WAAW,KAAK,CAAC,MAAM,QAAQ;AAC/C,UAAM,IAAI,MAAM,GAAG,gEAAgE;AAAA,EACrF;AAGF;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACEhB,MAAM,mBAAmB,CAAC,UAAgC;AAC/D,QAAM,gBAAgB;AAEtB,MAAI,MAAM,QAAQ,WAAW,KAAK,CAAC,MAAM,QAAQ;AAC/C,UAAM,IAAI,MAAM,GAAG,aAAa,mDAAmD;AAAA,EACrF;AAGF;",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,10 @@
1
1
  import * as React from "react";
2
2
  import { stack, stackOffsetDiverging } from "d3";
3
3
  const getStackedIndex = (groups, serie) => {
4
- if (!groups)
5
- return -1;
4
+ if (!groups) return -1;
6
5
  for (let i = 0; i < groups.length; i += 1) {
7
6
  for (let j = 0; j < groups[i].length; j += 1) {
8
- if (groups[i][j] === serie)
9
- return i;
7
+ if (groups[i][j] === serie) return i;
10
8
  }
11
9
  }
12
10
  return -1;
@@ -14,8 +12,7 @@ const getStackedIndex = (groups, serie) => {
14
12
  const getStackedData = (stackedData, serie) => {
15
13
  for (let i = 0; i < stackedData?.length; i += 1) {
16
14
  const data = stackedData[i].find((d) => d.key === serie.name);
17
- if (data)
18
- return data;
15
+ if (data) return data;
19
16
  }
20
17
  return false;
21
18
  };
@@ -29,15 +26,13 @@ const checkSharedScale = (series, isHorizontal) => {
29
26
  const stackData = (groupsStacked, series, hiddenSeries, isHorizontal) => {
30
27
  const allSeriesStackedByGroups = [];
31
28
  const scalesStackedDataMap = [];
32
- if (!groupsStacked)
33
- return { stackedData: allSeriesStackedByGroups, scalesStackedDataMap };
29
+ if (!groupsStacked) return { stackedData: allSeriesStackedByGroups, scalesStackedDataMap };
34
30
  groupsStacked?.forEach((g) => {
35
31
  const seriesFilteredByStackGroup = series.filter(
36
32
  (serie) => g.includes(serie.name) && !hiddenSeries.includes(serie.name)
37
33
  );
38
34
  const sharedScale = checkSharedScale(seriesFilteredByStackGroup, isHorizontal);
39
- if (!sharedScale)
40
- return;
35
+ if (!sharedScale) return;
41
36
  scalesStackedDataMap.push(sharedScale);
42
37
  const keys = seriesFilteredByStackGroup.map((serie) => serie.name);
43
38
  const stackedData = [];
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/helpers/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { stack, stackOffsetDiverging } from 'd3';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\nexport const getStackedIndex = (groups?: string[][], serie?: string) => {\n if (!groups) return -1;\n for (let i = 0; i < groups.length; i += 1) {\n for (let j = 0; j < groups[i].length; j += 1) {\n if (groups[i][j] === serie) return i;\n }\n }\n return -1;\n};\n\nexport const getStackedData = (stackedData: DSChartT.StackedSeriesByGroupT, serie: DSChartT.InternalSerie) => {\n for (let i = 0; i < stackedData?.length; i += 1) {\n const data = stackedData[i].find((d) => d.key === serie.name);\n if (data) return data;\n }\n return false;\n};\n\n// this function check if the series that are stacked share the same scale.\n// return the scale or false if they dont share it\n//\n// si serie.scale === undefined ... la scala es Y\n\nconst checkSharedScale = (series: DSChartT.SeriesT[], isHorizontal: boolean) => {\n const scales = series\n .map((serie) => serie.scale || (isHorizontal ? 'x' : 'y'))\n .filter((value, index, self) => self.indexOf(value) === index);\n if (scales.length > 1) {\n return false;\n }\n return scales[0];\n};\n\n// transform series grouped in stack into what d3 stack function need to read\nexport const stackData = (\n groupsStacked: string[][] | undefined,\n series: DSChartT.SeriesT[],\n hiddenSeries: string[],\n isHorizontal: boolean,\n) => {\n const allSeriesStackedByGroups: DSChartT.StackedSeriesByGroupT = [];\n const scalesStackedDataMap: string[] = [];\n if (!groupsStacked) return { stackedData: allSeriesStackedByGroups, scalesStackedDataMap };\n\n groupsStacked?.forEach((g) => {\n const seriesFilteredByStackGroup = series.filter(\n (serie) => g.includes(serie.name) && !hiddenSeries.includes(serie.name),\n );\n const sharedScale = checkSharedScale(seriesFilteredByStackGroup, isHorizontal);\n if (!sharedScale) return;\n scalesStackedDataMap.push(sharedScale);\n const keys = seriesFilteredByStackGroup.map((serie) => serie.name);\n const stackedData: Array<{ [serieName: string]: number }> = [];\n seriesFilteredByStackGroup.forEach((serie) => {\n serie.data.forEach((d, i) => {\n stackedData[i] = {\n ...stackedData[i],\n [serie.name]: typeof d === 'number' ? d : d?.y || 0,\n };\n });\n });\n\n allSeriesStackedByGroups.push(stack().offset(stackOffsetDiverging).keys(keys)(stackedData));\n });\n\n return { stackedData: allSeriesStackedByGroups, scalesStackedDataMap };\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,OAAO,4BAA4B;AAGrC,MAAM,kBAAkB,CAAC,QAAqB,UAAmB;AACtE,MAAI,CAAC;AAAQ,WAAO;AACpB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AACzC,aAAS,IAAI,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,KAAK,GAAG;AAC5C,UAAI,OAAO,CAAC,EAAE,CAAC,MAAM;AAAO,eAAO;AAAA,IACrC;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAAC,aAA6C,UAAkC;AAC5G,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK,GAAG;AAC/C,UAAM,OAAO,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,MAAM,IAAI;AAC5D,QAAI;AAAM,aAAO;AAAA,EACnB;AACA,SAAO;AACT;AAOA,MAAM,mBAAmB,CAAC,QAA4B,iBAA0B;AAC9E,QAAM,SAAS,OACZ,IAAI,CAAC,UAAU,MAAM,UAAU,eAAe,MAAM,IAAI,EACxD,OAAO,CAAC,OAAO,OAAO,SAAS,KAAK,QAAQ,KAAK,MAAM,KAAK;AAC/D,MAAI,OAAO,SAAS,GAAG;AACrB,WAAO;AAAA,EACT;AACA,SAAO,OAAO,CAAC;AACjB;AAGO,MAAM,YAAY,CACvB,eACA,QACA,cACA,iBACG;AACH,QAAM,2BAA2D,CAAC;AAClE,QAAM,uBAAiC,CAAC;AACxC,MAAI,CAAC;AAAe,WAAO,EAAE,aAAa,0BAA0B,qBAAqB;AAEzF,iBAAe,QAAQ,CAAC,MAAM;AAC5B,UAAM,6BAA6B,OAAO;AAAA,MACxC,CAAC,UAAU,EAAE,SAAS,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,MAAM,IAAI;AAAA,IACxE;AACA,UAAM,cAAc,iBAAiB,4BAA4B,YAAY;AAC7E,QAAI,CAAC;AAAa;AAClB,yBAAqB,KAAK,WAAW;AACrC,UAAM,OAAO,2BAA2B,IAAI,CAAC,UAAU,MAAM,IAAI;AACjE,UAAM,cAAsD,CAAC;AAC7D,+BAA2B,QAAQ,CAAC,UAAU;AAC5C,YAAM,KAAK,QAAQ,CAAC,GAAG,MAAM;AAC3B,oBAAY,CAAC,IAAI;AAAA,UACf,GAAG,YAAY,CAAC;AAAA,UAChB,CAAC,MAAM,IAAI,GAAG,OAAO,MAAM,WAAW,IAAI,GAAG,KAAK;AAAA,QACpD;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,6BAAyB,KAAK,MAAM,EAAE,OAAO,oBAAoB,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC;AAAA,EAC5F,CAAC;AAED,SAAO,EAAE,aAAa,0BAA0B,qBAAqB;AACvE;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,OAAO,4BAA4B;AAGrC,MAAM,kBAAkB,CAAC,QAAqB,UAAmB;AACtE,MAAI,CAAC,OAAQ,QAAO;AACpB,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AACzC,aAAS,IAAI,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,KAAK,GAAG;AAC5C,UAAI,OAAO,CAAC,EAAE,CAAC,MAAM,MAAO,QAAO;AAAA,IACrC;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAAC,aAA6C,UAAkC;AAC5G,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK,GAAG;AAC/C,UAAM,OAAO,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,MAAM,IAAI;AAC5D,QAAI,KAAM,QAAO;AAAA,EACnB;AACA,SAAO;AACT;AAOA,MAAM,mBAAmB,CAAC,QAA4B,iBAA0B;AAC9E,QAAM,SAAS,OACZ,IAAI,CAAC,UAAU,MAAM,UAAU,eAAe,MAAM,IAAI,EACxD,OAAO,CAAC,OAAO,OAAO,SAAS,KAAK,QAAQ,KAAK,MAAM,KAAK;AAC/D,MAAI,OAAO,SAAS,GAAG;AACrB,WAAO;AAAA,EACT;AACA,SAAO,OAAO,CAAC;AACjB;AAGO,MAAM,YAAY,CACvB,eACA,QACA,cACA,iBACG;AACH,QAAM,2BAA2D,CAAC;AAClE,QAAM,uBAAiC,CAAC;AACxC,MAAI,CAAC,cAAe,QAAO,EAAE,aAAa,0BAA0B,qBAAqB;AAEzF,iBAAe,QAAQ,CAAC,MAAM;AAC5B,UAAM,6BAA6B,OAAO;AAAA,MACxC,CAAC,UAAU,EAAE,SAAS,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,MAAM,IAAI;AAAA,IACxE;AACA,UAAM,cAAc,iBAAiB,4BAA4B,YAAY;AAC7E,QAAI,CAAC,YAAa;AAClB,yBAAqB,KAAK,WAAW;AACrC,UAAM,OAAO,2BAA2B,IAAI,CAAC,UAAU,MAAM,IAAI;AACjE,UAAM,cAAsD,CAAC;AAC7D,+BAA2B,QAAQ,CAAC,UAAU;AAC5C,YAAM,KAAK,QAAQ,CAAC,GAAG,MAAM;AAC3B,oBAAY,CAAC,IAAI;AAAA,UACf,GAAG,YAAY,CAAC;AAAA,UAChB,CAAC,MAAM,IAAI,GAAG,OAAO,MAAM,WAAW,IAAI,GAAG,KAAK;AAAA,QACpD;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,6BAAyB,KAAK,MAAM,EAAE,OAAO,oBAAoB,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC;AAAA,EAC5F,CAAC;AAED,SAAO,EAAE,aAAa,0BAA0B,qBAAqB;AACvE;",
6
6
  "names": []
7
7
  }
@@ -28,8 +28,7 @@ const useUniqueData = () => {
28
28
  valueToPositionPerSeries = data.map(
29
29
  (serie) => serie.data.filter((datum) => {
30
30
  const xScaleValue = getXScaleValue(datum);
31
- if (xScaleValue === void 0)
32
- return false;
31
+ if (xScaleValue === void 0) return false;
33
32
  return xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) && xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth;
34
33
  }).map((datum) => {
35
34
  const x = getXValue(datum);
@@ -50,8 +49,7 @@ const useUniqueData = () => {
50
49
  valueToPositionPerSeries = data.map(
51
50
  (serie) => serie.data.filter((datum) => {
52
51
  const xScaleValue = getXScaleValue(datum);
53
- if (xScaleValue === void 0)
54
- return false;
52
+ if (xScaleValue === void 0) return false;
55
53
  return xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) && xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth;
56
54
  }).map((datum) => {
57
55
  const xScaleValue = getXScaleValue(datum);
@@ -70,8 +68,7 @@ const useUniqueData = () => {
70
68
  }
71
69
  const positionUniqueData = {};
72
70
  valueToPositionPerSeries.forEach((set) => {
73
- if (!set.position)
74
- return;
71
+ if (!set.position) return;
75
72
  if (positionUniqueData[set.position]) {
76
73
  positionUniqueData[set.position] = [...positionUniqueData[set.position], { ...set }];
77
74
  } else {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/helpers/useUniqueData.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext.js';\nimport type { DSChartT } from '../react-desc-prop-types.js';\n\ninterface Aux {\n xPosition: number;\n}\n\nexport const useUniqueData = () => {\n const {\n currentData: data,\n xScale,\n xScrollbarPosition,\n containerRatio,\n innerWidth,\n getXValue,\n getYValue,\n getXScaleValue,\n } = useContext(ChartContext);\n\n const compare = useCallback((a: Aux, b: Aux) => {\n if (a.xPosition < b.xPosition) {\n return -1;\n }\n if (a.xPosition > b.xPosition) {\n return 1;\n }\n return 0;\n }, []);\n\n const isBandAxis = xScale?.type === 'BAND';\n return useMemo(() => {\n let valueToPositionPerSeries: DSChartT.ScrapperDatum[] = [];\n if (isBandAxis) {\n valueToPositionPerSeries = data\n .map((serie) =>\n serie.data\n .filter((datum) => {\n const xScaleValue = getXScaleValue(datum);\n if (xScaleValue === undefined) return false;\n return (\n xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) &&\n xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth\n );\n })\n .map((datum) => {\n const x = getXValue(datum);\n const y = getYValue(datum);\n const xScaleValue = getXScaleValue(datum);\n\n return {\n position: xScaleValue,\n name: serie.name,\n xValue: x,\n yValue: y,\n key: datum.position,\n datum,\n color: serie.color,\n };\n }),\n )\n .flat(1);\n } else {\n valueToPositionPerSeries = data\n .map((serie) =>\n serie.data\n .filter((datum) => {\n const xScaleValue = getXScaleValue(datum);\n if (xScaleValue === undefined) return false;\n return (\n xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) &&\n xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth\n );\n })\n .map((datum) => {\n const xScaleValue = getXScaleValue(datum);\n const x = getXValue(datum);\n\n return {\n position: xScaleValue,\n name: serie.name,\n xValue: x,\n yValue: typeof datum.value === 'number' ? datum.value : datum.value.y,\n key: datum.position,\n datum,\n color: serie.color,\n };\n }),\n )\n .flat(1);\n }\n const positionUniqueData: Record<number, DSChartT.ScrapperDatum[]> = {};\n\n // grouping points by xAxis position\n valueToPositionPerSeries.forEach((set) => {\n if (!set.position) return;\n if (positionUniqueData[set.position]) {\n positionUniqueData[set.position] = [...positionUniqueData[set.position], { ...set }];\n } else {\n positionUniqueData[set.position] = [{ ...set }];\n }\n });\n\n const positionUniqueDataArray: {\n xPosition: number;\n dataPerPosition: DSChartT.ScrapperDatum[];\n xValue: string | number | Date | null;\n rectDetector?: { left: number; right: number };\n }[] = Object.keys(positionUniqueData).map((key) => {\n const xPosition = parseFloat(key);\n const dataPerPosition = positionUniqueData[xPosition];\n // @todo no idea what i am doing\n return { xPosition, dataPerPosition, xValue: dataPerPosition[0].xValue };\n });\n if (isBandAxis) {\n return positionUniqueDataArray;\n }\n return positionUniqueDataArray.sort(compare).map((line, i, array) => {\n const prevPoint = array[i - 1]?.xPosition ?? 0;\n const postPoint = array[i + 1]?.xPosition ?? 0;\n\n const rectDetector = {\n left: (line.xPosition - prevPoint) / 2,\n right: Math.abs((postPoint === 0 ? 0 : postPoint - line.xPosition) / 2),\n };\n\n return { ...line, rectDetector };\n });\n }, [isBandAxis, compare, data, getXScaleValue, xScrollbarPosition, containerRatio, innerWidth, getXValue, getYValue]);\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -19,8 +19,7 @@ const useVirtualizedSeries = () => {
19
19
  ...serie,
20
20
  data: serie.data.filter((datum) => {
21
21
  const xScaleValue = getXScaleValue(datum);
22
- if (xScaleValue === void 0)
23
- return false;
22
+ if (xScaleValue === void 0) return false;
24
23
  return xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) - innerWidth && xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth * 2;
25
24
  })
26
25
  }));
@@ -30,8 +29,7 @@ const useVirtualizedSeries = () => {
30
29
  data: serie.data.filter((datum) => {
31
30
  const yScaleValue = getYScaleValue(datum);
32
31
  const offset = yScale?.getBandwidth() ?? 20;
33
- if (yScaleValue === void 0)
34
- return false;
32
+ if (yScaleValue === void 0) return false;
35
33
  return yScaleValue > xScrollbarPosition * (containerRatio ?? 1) - offset && yScaleValue < xScrollbarPosition * (containerRatio ?? 1) + innerHeight;
36
34
  })
37
35
  }));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/helpers/useVirtualizedSeries.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext.js';\n\nexport const useVirtualizedSeries = () => {\n const {\n containerRatio,\n innerWidth,\n xScrollbarPosition,\n yScale,\n getXScaleValue,\n getYScaleValue,\n innerHeight,\n currentData: data,\n props: { xScroll, yScroll },\n } = useContext(ChartContext);\n return useMemo(() => {\n if (xScroll) {\n return data.map((serie) => ({\n ...serie,\n data: serie.data.filter((datum) => {\n const xScaleValue = getXScaleValue(datum);\n if (xScaleValue === undefined) return false;\n return (\n xScaleValue >= xScrollbarPosition * (containerRatio ?? 1) - innerWidth &&\n xScaleValue <= xScrollbarPosition * (containerRatio ?? 1) + innerWidth * 2\n );\n }),\n }));\n } else if (yScroll) {\n return data.map((serie) => ({\n ...serie,\n data: serie.data.filter((datum) => {\n const yScaleValue = getYScaleValue(datum);\n const offset = yScale?.getBandwidth() ?? 20;\n if (yScaleValue === undefined) return false;\n return (\n yScaleValue > xScrollbarPosition * (containerRatio ?? 1) - offset &&\n yScaleValue < xScrollbarPosition * (containerRatio ?? 1) + innerHeight\n );\n }),\n }));\n }\n return data;\n }, [\n containerRatio,\n data,\n getXScaleValue,\n getYScaleValue,\n innerHeight,\n innerWidth,\n xScroll,\n xScrollbarPosition,\n yScale,\n yScroll,\n ]);\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACIvB,SAAS,YAAY,eAAe;AACpC,SAAS,oBAAoB;AAEtB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,OAAO,EAAE,SAAS,QAAQ;AAAA,EAC5B,IAAI,WAAW,YAAY;AAC3B,SAAO,QAAQ,MAAM;AACnB,QAAI,SAAS;AACX,aAAO,KAAK,IAAI,CAAC,WAAW;AAAA,QAC1B,GAAG;AAAA,QACH,MAAM,MAAM,KAAK,OAAO,CAAC,UAAU;AACjC,gBAAM,cAAc,eAAe,KAAK;AACxC,cAAI,gBAAgB;AAAW,mBAAO;AACtC,iBACE,eAAe,sBAAsB,kBAAkB,KAAK,cAC5D,eAAe,sBAAsB,kBAAkB,KAAK,aAAa;AAAA,QAE7E,CAAC;AAAA,MACH,EAAE;AAAA,IACJ,WAAW,SAAS;AAClB,aAAO,KAAK,IAAI,CAAC,WAAW;AAAA,QAC1B,GAAG;AAAA,QACH,MAAM,MAAM,KAAK,OAAO,CAAC,UAAU;AACjC,gBAAM,cAAc,eAAe,KAAK;AACxC,gBAAM,SAAS,QAAQ,aAAa,KAAK;AACzC,cAAI,gBAAgB;AAAW,mBAAO;AACtC,iBACE,cAAc,sBAAsB,kBAAkB,KAAK,UAC3D,cAAc,sBAAsB,kBAAkB,KAAK;AAAA,QAE/D,CAAC;AAAA,MACH,EAAE;AAAA,IACJ;AACA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACIvB,SAAS,YAAY,eAAe;AACpC,SAAS,oBAAoB;AAEtB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,OAAO,EAAE,SAAS,QAAQ;AAAA,EAC5B,IAAI,WAAW,YAAY;AAC3B,SAAO,QAAQ,MAAM;AACnB,QAAI,SAAS;AACX,aAAO,KAAK,IAAI,CAAC,WAAW;AAAA,QAC1B,GAAG;AAAA,QACH,MAAM,MAAM,KAAK,OAAO,CAAC,UAAU;AACjC,gBAAM,cAAc,eAAe,KAAK;AACxC,cAAI,gBAAgB,OAAW,QAAO;AACtC,iBACE,eAAe,sBAAsB,kBAAkB,KAAK,cAC5D,eAAe,sBAAsB,kBAAkB,KAAK,aAAa;AAAA,QAE7E,CAAC;AAAA,MACH,EAAE;AAAA,IACJ,WAAW,SAAS;AAClB,aAAO,KAAK,IAAI,CAAC,WAAW;AAAA,QAC1B,GAAG;AAAA,QACH,MAAM,MAAM,KAAK,OAAO,CAAC,UAAU;AACjC,gBAAM,cAAc,eAAe,KAAK;AACxC,gBAAM,SAAS,QAAQ,aAAa,KAAK;AACzC,cAAI,gBAAgB,OAAW,QAAO;AACtC,iBACE,cAAc,sBAAsB,kBAAkB,KAAK,UAC3D,cAAc,sBAAsB,kBAAkB,KAAK;AAAA,QAE/D,CAAC;AAAA,MACH,EAAE;AAAA,IACJ;AACA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -13,8 +13,7 @@ const A11yRegion = ({ serieName, children, ...rest }) => {
13
13
  const ariaLabel = useMemo(() => {
14
14
  const serieIndex = currentData.findIndex((serie) => serie.name === serieName);
15
15
  const serieData = currentData[serieIndex];
16
- if (!serieData)
17
- return "";
16
+ if (!serieData) return "";
18
17
  return `${serieName}, ${serieData.type} series ${serieIndex + 1} of ${currentData.length} with ${serieData.data.length} ${PLURAL_DEFINITION_MAP[serieData.type]}.`;
19
18
  }, [currentData, serieName]);
20
19
  return /* @__PURE__ */ jsx("g", { role: "region", "aria-label": ariaLabel, ...rest, children });
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/parts/A11yRegion.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useContext } from 'react';\nimport { ChartContext } from '../ChartContext.js';\n\ninterface A11yRegionProps {\n children: React.ReactNode;\n serieName: string;\n clipPath?: string;\n fill?: string;\n transform?: string;\n}\n\nconst PLURAL_DEFINITION_MAP = {\n line: 'data points',\n bar: 'bars',\n area: 'areas',\n point: 'data points',\n} as const;\n\nexport const A11yRegion: React.ComponentType<A11yRegionProps> = ({ serieName, children, ...rest }) => {\n const { currentData } = useContext(ChartContext);\n const ariaLabel = useMemo(() => {\n const serieIndex = currentData.findIndex((serie) => serie.name === serieName);\n const serieData = currentData[serieIndex];\n if (!serieData) return '';\n return `${serieName}, ${serieData.type} series ${serieIndex + 1} of ${currentData.length} with ${\n serieData.data.length\n } ${PLURAL_DEFINITION_MAP[serieData.type]}.`;\n }, [currentData, serieName]);\n\n return (\n <g role=\"region\" aria-label={ariaLabel} {...rest}>\n {children}\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC8BnB;AA9BJ,SAAgB,SAAS,kBAAkB;AAC3C,SAAS,oBAAoB;AAU7B,MAAM,wBAAwB;AAAA,EAC5B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AACT;AAEO,MAAM,aAAmD,CAAC,EAAE,WAAW,UAAU,GAAG,KAAK,MAAM;AACpG,QAAM,EAAE,YAAY,IAAI,WAAW,YAAY;AAC/C,QAAM,YAAY,QAAQ,MAAM;AAC9B,UAAM,aAAa,YAAY,UAAU,CAAC,UAAU,MAAM,SAAS,SAAS;AAC5E,UAAM,YAAY,YAAY,UAAU;AACxC,QAAI,CAAC;AAAW,aAAO;AACvB,WAAO,GAAG,cAAc,UAAU,eAAe,aAAa,QAAQ,YAAY,eAChF,UAAU,KAAK,UACb,sBAAsB,UAAU,IAAI;AAAA,EAC1C,GAAG,CAAC,aAAa,SAAS,CAAC;AAE3B,SACE,oBAAC,OAAE,MAAK,UAAS,cAAY,WAAY,GAAG,MACzC,UACH;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;AC8BnB;AA9BJ,SAAgB,SAAS,kBAAkB;AAC3C,SAAS,oBAAoB;AAU7B,MAAM,wBAAwB;AAAA,EAC5B,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,OAAO;AACT;AAEO,MAAM,aAAmD,CAAC,EAAE,WAAW,UAAU,GAAG,KAAK,MAAM;AACpG,QAAM,EAAE,YAAY,IAAI,WAAW,YAAY;AAC/C,QAAM,YAAY,QAAQ,MAAM;AAC9B,UAAM,aAAa,YAAY,UAAU,CAAC,UAAU,MAAM,SAAS,SAAS;AAC5E,UAAM,YAAY,YAAY,UAAU;AACxC,QAAI,CAAC,UAAW,QAAO;AACvB,WAAO,GAAG,SAAS,KAAK,UAAU,IAAI,WAAW,aAAa,CAAC,OAAO,YAAY,MAAM,SACtF,UAAU,KAAK,MACjB,IAAI,sBAAsB,UAAU,IAAI,CAAC;AAAA,EAC3C,GAAG,CAAC,aAAa,SAAS,CAAC;AAE3B,SACE,oBAAC,OAAE,MAAK,UAAS,cAAY,WAAY,GAAG,MACzC,UACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -6,8 +6,7 @@ const Axis = React2.memo((props) => {
6
6
  const { dimension, intervalType, color, GridRenderer, TickRenderer, lineCoords, scale, innerRef } = props;
7
7
  const ticks = scale?.getTicks(dimension, intervalType);
8
8
  const ticksScaled = scale?.getTicksScaled(dimension, intervalType);
9
- if (!ticks || !ticksScaled)
10
- return null;
9
+ if (!ticks || !ticksScaled) return null;
11
10
  const { x1, x2, y1, y2 } = lineCoords;
12
11
  return /* @__PURE__ */ jsxs("g", { className: "axis", children: [
13
12
  /* @__PURE__ */ jsxs("g", { ref: innerRef, children: [
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Axis/Axis.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport type { ScaleT } from '../../scales/index.js';\nimport { StyledAxis } from '../../styles.js';\nimport { type DSChartT } from '../../react-desc-prop-types.js';\nexport interface TickRenderPropsT {\n position: number;\n tickValue: string | number | Date;\n}\nexport interface GridRenderPropsT {\n position: number;\n tickValue: string | number | Date;\n}\n\ninterface AxisT<S extends ScaleT> {\n lineCoords: {\n x1: number;\n x2: number;\n y1: number;\n y2: number;\n };\n innerRef: React.Dispatch<React.SetStateAction<SVGGElement | null>>;\n scale: S | null;\n dimension: number;\n intervalType?: DSChartT.IntervalT;\n TickRenderer: (props: TickRenderPropsT) => JSX.Element | null;\n GridRenderer: (props: GridRenderPropsT) => JSX.Element | null;\n color: string;\n}\n\nexport const Axis = React.memo(<S extends ScaleT>(props: AxisT<S>) => {\n const { dimension, intervalType, color, GridRenderer, TickRenderer, lineCoords, scale, innerRef } = props;\n\n const ticks = scale?.getTicks(dimension, intervalType);\n const ticksScaled = scale?.getTicksScaled(dimension, intervalType);\n if (!ticks || !ticksScaled) return null;\n\n const { x1, x2, y1, y2 } = lineCoords;\n return (\n <g className=\"axis\">\n <g ref={innerRef}>\n <StyledAxis className=\"domain\" x1={x1} x2={x2} y1={y1} y2={y2} axisColor={color} />\n <g className=\"ticks\">\n {ticks.map((t, i) => (\n <TickRenderer key={ticksScaled[i]} position={ticksScaled[i]} tickValue={t} />\n ))}\n </g>\n </g>\n <g className=\"grid\">\n {ticks.map((t, i) => (\n <GridRenderer key={ticksScaled[i]} position={ticksScaled[i]} tickValue={t} />\n ))}\n </g>\n </g>\n );\n});\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACuCjB,SACE,KADF;AAvCN,OAAOA,YAAW;AAElB,SAAS,kBAAkB;AA2BpB,MAAM,OAAOA,OAAM,KAAK,CAAmB,UAAoB;AACpE,QAAM,EAAE,WAAW,cAAc,OAAO,cAAc,cAAc,YAAY,OAAO,SAAS,IAAI;AAEpG,QAAM,QAAQ,OAAO,SAAS,WAAW,YAAY;AACrD,QAAM,cAAc,OAAO,eAAe,WAAW,YAAY;AACjE,MAAI,CAAC,SAAS,CAAC;AAAa,WAAO;AAEnC,QAAM,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI;AAC3B,SACE,qBAAC,OAAE,WAAU,QACX;AAAA,yBAAC,OAAE,KAAK,UACN;AAAA,0BAAC,cAAW,WAAU,UAAS,IAAQ,IAAQ,IAAQ,IAAQ,WAAW,OAAO;AAAA,MACjF,oBAAC,OAAE,WAAU,SACV,gBAAM,IAAI,CAAC,GAAG,MACb,oBAAC,gBAAkC,UAAU,YAAY,CAAC,GAAG,WAAW,KAArD,YAAY,CAAC,CAA2C,CAC5E,GACH;AAAA,OACF;AAAA,IACA,oBAAC,OAAE,WAAU,QACV,gBAAM,IAAI,CAAC,GAAG,MACb,oBAAC,gBAAkC,UAAU,YAAY,CAAC,GAAG,WAAW,KAArD,YAAY,CAAC,CAA2C,CAC5E,GACH;AAAA,KACF;AAEJ,CAAC;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACuCjB,SACE,KADF;AAvCN,OAAOA,YAAW;AAElB,SAAS,kBAAkB;AA2BpB,MAAM,OAAOA,OAAM,KAAK,CAAmB,UAAoB;AACpE,QAAM,EAAE,WAAW,cAAc,OAAO,cAAc,cAAc,YAAY,OAAO,SAAS,IAAI;AAEpG,QAAM,QAAQ,OAAO,SAAS,WAAW,YAAY;AACrD,QAAM,cAAc,OAAO,eAAe,WAAW,YAAY;AACjE,MAAI,CAAC,SAAS,CAAC,YAAa,QAAO;AAEnC,QAAM,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI;AAC3B,SACE,qBAAC,OAAE,WAAU,QACX;AAAA,yBAAC,OAAE,KAAK,UACN;AAAA,0BAAC,cAAW,WAAU,UAAS,IAAQ,IAAQ,IAAQ,IAAQ,WAAW,OAAO;AAAA,MACjF,oBAAC,OAAE,WAAU,SACV,gBAAM,IAAI,CAAC,GAAG,MACb,oBAAC,gBAAkC,UAAU,YAAY,CAAC,GAAG,WAAW,KAArD,YAAY,CAAC,CAA2C,CAC5E,GACH;AAAA,OACF;AAAA,IACA,oBAAC,OAAE,WAAU,QACV,gBAAM,IAAI,CAAC,GAAG,MACb,oBAAC,gBAAkC,UAAU,YAAY,CAAC,GAAG,WAAW,KAArD,YAAY,CAAC,CAA2C,CAC5E,GACH;AAAA,KACF;AAEJ,CAAC;",
6
6
  "names": ["React"]
7
7
  }
@@ -23,8 +23,7 @@ const AxisBottom = React2.memo(() => {
23
23
  const { showGrid, intervalType } = xAxis;
24
24
  const textProps = useMemo(() => {
25
25
  const commomProps = { fill: COLOR_PALLET[xAxis?.tick?.color] || xAxis?.tick?.color };
26
- if (!tickRotation)
27
- return { ...commomProps, y: 17 };
26
+ if (!tickRotation) return { ...commomProps, y: 17 };
28
27
  return {
29
28
  ...commomProps,
30
29
  dx: 8 * Math.sin(Math.PI * (tickRotation / 180)),
@@ -34,14 +33,12 @@ const AxisBottom = React2.memo(() => {
34
33
  };
35
34
  }, [tickRotation, xAxis?.tick?.color]);
36
35
  const style = useMemo(() => {
37
- if (!tickRotation)
38
- return { textAnchor: "middle" };
36
+ if (!tickRotation) return { textAnchor: "middle" };
39
37
  return { textAnchor: tickRotation > 0 ? "start" : "end" };
40
38
  }, [tickRotation]);
41
39
  const GridRenderer = useCallback(
42
40
  (props) => {
43
- if (!showGrid)
44
- return null;
41
+ if (!showGrid) return null;
45
42
  const { position, tickValue, ...rest } = props;
46
43
  const gridLineCoords = {
47
44
  x1: position,
@@ -50,8 +47,7 @@ const AxisBottom = React2.memo(() => {
50
47
  y2: innerHeight
51
48
  };
52
49
  const tickFormatted = xScale?.getTickFormatted(tickValue);
53
- if (tickFormatted === "")
54
- return null;
50
+ if (tickFormatted === "") return null;
55
51
  return /* @__PURE__ */ jsx(GridLine, { ...gridLineCoords, ...rest });
56
52
  },
57
53
  [innerHeight, showGrid, xScale]
@@ -64,8 +60,7 @@ const AxisBottom = React2.memo(() => {
64
60
  stroke: COLOR_PALLET[xAxis?.tick?.color] || xAxis?.tick?.color
65
61
  };
66
62
  const tickFormatted = xScale?.getTickFormatted(tickValue);
67
- if (tickFormatted === "")
68
- return null;
63
+ if (tickFormatted === "") return null;
69
64
  return /* @__PURE__ */ jsx(
70
65
  Tick,
71
66
  {
@@ -83,8 +78,7 @@ const AxisBottom = React2.memo(() => {
83
78
  );
84
79
  const axisColor = useMemo(() => COLOR_PALLET[xAxis.color] || xAxis.color, [xAxis.color]);
85
80
  return useMemo(() => {
86
- if (xAxis.hideAxis)
87
- return null;
81
+ if (xAxis.hideAxis) return null;
88
82
  const lineCoords = {
89
83
  x1: 0,
90
84
  x2: realInnerWidth,