@elliemae/ds-dataviz 3.9.0 → 3.10.0-next.0

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 (157) hide show
  1. package/dist/cjs/graphs/Chart/Chart.js +1 -4
  2. package/dist/cjs/graphs/Chart/Chart.js.map +2 -2
  3. package/dist/cjs/graphs/Chart/ChartContext.js +1 -4
  4. package/dist/cjs/graphs/Chart/ChartContext.js.map +2 -2
  5. package/dist/cjs/graphs/Chart/config/useChart.js +26 -22
  6. package/dist/cjs/graphs/Chart/config/useChart.js.map +2 -2
  7. package/dist/cjs/graphs/Chart/config/useGetters.js +90 -0
  8. package/dist/cjs/graphs/Chart/config/useGetters.js.map +7 -0
  9. package/dist/cjs/graphs/Chart/config/useInternalMargins.js +1 -1
  10. package/dist/cjs/graphs/Chart/config/useInternalMargins.js.map +1 -1
  11. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +42 -13
  12. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +2 -2
  13. package/dist/cjs/graphs/Chart/config/useScales.js +67 -41
  14. package/dist/cjs/graphs/Chart/config/useScales.js.map +2 -2
  15. package/dist/cjs/graphs/Chart/helpers/colorPallet.js +1 -1
  16. package/dist/cjs/graphs/Chart/helpers/colorPallet.js.map +1 -1
  17. package/dist/cjs/graphs/Chart/helpers/index.js +4 -4
  18. package/dist/cjs/graphs/Chart/helpers/index.js.map +2 -2
  19. package/dist/cjs/graphs/Chart/helpers/useUniqueData.js +124 -0
  20. package/dist/cjs/graphs/Chart/helpers/useUniqueData.js.map +7 -0
  21. package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js +42 -11
  22. package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js.map +2 -2
  23. package/dist/cjs/graphs/Chart/parts/Axis/Axes.js +13 -2
  24. package/dist/cjs/graphs/Chart/parts/Axis/Axes.js.map +2 -2
  25. package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js +72 -23
  26. package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js.map +2 -2
  27. package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js +36 -16
  28. package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js.map +2 -2
  29. package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js +10 -8
  30. package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js.map +2 -2
  31. package/dist/cjs/graphs/Chart/parts/ChartContainer.js +60 -60
  32. package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +2 -2
  33. package/dist/cjs/graphs/Chart/parts/ClipPaths.js +85 -0
  34. package/dist/cjs/graphs/Chart/parts/ClipPaths.js.map +7 -0
  35. package/dist/cjs/graphs/Chart/parts/Labels/BottomLabel.js +2 -2
  36. package/dist/cjs/graphs/Chart/parts/Labels/BottomLabel.js.map +2 -2
  37. package/dist/cjs/graphs/Chart/parts/Labels/LeftLabel.js +7 -14
  38. package/dist/cjs/graphs/Chart/parts/Labels/LeftLabel.js.map +2 -2
  39. package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js +4 -4
  40. package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js.map +2 -2
  41. package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js +1 -1
  42. package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js.map +2 -2
  43. package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js +6 -2
  44. package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +2 -2
  45. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapper.js +2 -77
  46. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapper.js.map +2 -2
  47. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +3 -3
  48. package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +3 -3
  49. package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js +112 -0
  50. package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js.map +7 -0
  51. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js +4 -7
  52. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js.map +2 -2
  53. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js +114 -0
  54. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js.map +7 -0
  55. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js +14 -29
  56. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +2 -2
  57. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js +84 -0
  58. package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +7 -0
  59. package/dist/cjs/graphs/Chart/parts/SeriesFactory.js +4 -9
  60. package/dist/cjs/graphs/Chart/parts/SeriesFactory.js.map +2 -2
  61. package/dist/cjs/graphs/Chart/react-desc-prop-types.js.map +2 -2
  62. package/dist/cjs/graphs/Chart/series/Area.js +1 -3
  63. package/dist/cjs/graphs/Chart/series/Area.js.map +2 -2
  64. package/dist/cjs/graphs/Chart/series/Bars.js.map +2 -2
  65. package/dist/cjs/graphs/Chart/series/HorizontalBars.js +4 -24
  66. package/dist/cjs/graphs/Chart/series/HorizontalBars.js.map +2 -2
  67. package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js +2 -2
  68. package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js.map +2 -2
  69. package/dist/cjs/graphs/Chart/series/StackedBar.js +3 -2
  70. package/dist/cjs/graphs/Chart/series/StackedBar.js.map +2 -2
  71. package/dist/cjs/graphs/Chart/styles.js +12 -11
  72. package/dist/cjs/graphs/Chart/styles.js.map +2 -2
  73. package/dist/cjs/graphs/constants.js +6 -5
  74. package/dist/cjs/graphs/constants.js.map +2 -2
  75. package/dist/esm/graphs/Chart/Chart.js +1 -4
  76. package/dist/esm/graphs/Chart/Chart.js.map +2 -2
  77. package/dist/esm/graphs/Chart/ChartContext.js +1 -4
  78. package/dist/esm/graphs/Chart/ChartContext.js.map +2 -2
  79. package/dist/esm/graphs/Chart/config/useChart.js +27 -23
  80. package/dist/esm/graphs/Chart/config/useChart.js.map +2 -2
  81. package/dist/esm/graphs/Chart/config/useGetters.js +64 -0
  82. package/dist/esm/graphs/Chart/config/useGetters.js.map +7 -0
  83. package/dist/esm/graphs/Chart/config/useInternalMargins.js +1 -1
  84. package/dist/esm/graphs/Chart/config/useInternalMargins.js.map +1 -1
  85. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +42 -13
  86. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +2 -2
  87. package/dist/esm/graphs/Chart/config/useScales.js +67 -41
  88. package/dist/esm/graphs/Chart/config/useScales.js.map +2 -2
  89. package/dist/esm/graphs/Chart/helpers/colorPallet.js +1 -1
  90. package/dist/esm/graphs/Chart/helpers/colorPallet.js.map +1 -1
  91. package/dist/esm/graphs/Chart/helpers/index.js +4 -4
  92. package/dist/esm/graphs/Chart/helpers/index.js.map +2 -2
  93. package/dist/esm/graphs/Chart/helpers/useUniqueData.js +98 -0
  94. package/dist/esm/graphs/Chart/helpers/useUniqueData.js.map +7 -0
  95. package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js +42 -11
  96. package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js.map +2 -2
  97. package/dist/esm/graphs/Chart/parts/Axis/Axes.js +13 -2
  98. package/dist/esm/graphs/Chart/parts/Axis/Axes.js.map +2 -2
  99. package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js +72 -23
  100. package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js.map +2 -2
  101. package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js +36 -16
  102. package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js.map +2 -2
  103. package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js +10 -8
  104. package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js.map +2 -2
  105. package/dist/esm/graphs/Chart/parts/ChartContainer.js +60 -60
  106. package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +2 -2
  107. package/dist/esm/graphs/Chart/parts/ClipPaths.js +59 -0
  108. package/dist/esm/graphs/Chart/parts/ClipPaths.js.map +7 -0
  109. package/dist/esm/graphs/Chart/parts/Labels/BottomLabel.js +2 -2
  110. package/dist/esm/graphs/Chart/parts/Labels/BottomLabel.js.map +2 -2
  111. package/dist/esm/graphs/Chart/parts/Labels/LeftLabel.js +8 -15
  112. package/dist/esm/graphs/Chart/parts/Labels/LeftLabel.js.map +2 -2
  113. package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js +5 -5
  114. package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js.map +2 -2
  115. package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js +1 -1
  116. package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js.map +2 -2
  117. package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js +6 -2
  118. package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +2 -2
  119. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapper.js +3 -78
  120. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapper.js.map +2 -2
  121. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +3 -3
  122. package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +3 -3
  123. package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js +86 -0
  124. package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js.map +7 -0
  125. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js +4 -7
  126. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js.map +2 -2
  127. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js +88 -0
  128. package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js.map +7 -0
  129. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js +14 -29
  130. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +2 -2
  131. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js +58 -0
  132. package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +7 -0
  133. package/dist/esm/graphs/Chart/parts/SeriesFactory.js +5 -10
  134. package/dist/esm/graphs/Chart/parts/SeriesFactory.js.map +2 -2
  135. package/dist/esm/graphs/Chart/react-desc-prop-types.js.map +2 -2
  136. package/dist/esm/graphs/Chart/series/Area.js +1 -3
  137. package/dist/esm/graphs/Chart/series/Area.js.map +2 -2
  138. package/dist/esm/graphs/Chart/series/Bars.js.map +2 -2
  139. package/dist/esm/graphs/Chart/series/HorizontalBars.js +4 -24
  140. package/dist/esm/graphs/Chart/series/HorizontalBars.js.map +2 -2
  141. package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js +2 -2
  142. package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js.map +2 -2
  143. package/dist/esm/graphs/Chart/series/StackedBar.js +3 -2
  144. package/dist/esm/graphs/Chart/series/StackedBar.js.map +2 -2
  145. package/dist/esm/graphs/Chart/styles.js +13 -12
  146. package/dist/esm/graphs/Chart/styles.js.map +2 -2
  147. package/dist/esm/graphs/constants.js +7 -6
  148. package/dist/esm/graphs/constants.js.map +2 -2
  149. package/package.json +8 -8
  150. package/dist/cjs/graphs/Chart/Pie.js +0 -49
  151. package/dist/cjs/graphs/Chart/Pie.js.map +0 -7
  152. package/dist/cjs/graphs/Chart/parts/ActivePoint.js +0 -83
  153. package/dist/cjs/graphs/Chart/parts/ActivePoint.js.map +0 -7
  154. package/dist/esm/graphs/Chart/Pie.js +0 -23
  155. package/dist/esm/graphs/Chart/Pie.js.map +0 -7
  156. package/dist/esm/graphs/Chart/parts/ActivePoint.js +0 -57
  157. package/dist/esm/graphs/Chart/parts/ActivePoint.js.map +0 -7
@@ -0,0 +1,88 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useContext, useCallback, useMemo } from "react";
4
+ import { ChartContext } from "../../ChartContext";
5
+ const ScrollBarY = () => {
6
+ const {
7
+ setIsGrabbed,
8
+ setStartPosition,
9
+ innerWidth,
10
+ xScrollbarPosition,
11
+ activePoint,
12
+ setXScrollbarPosition,
13
+ innerHeight,
14
+ isGrabbed,
15
+ containerRatio,
16
+ setScrapperPosX,
17
+ setScrapperPosY,
18
+ isScrollbarVisible,
19
+ oldLastPosition
20
+ } = useContext(ChartContext);
21
+ const barHeight = useMemo(() => parseInt(innerHeight / containerRatio, 10), [containerRatio, innerHeight]);
22
+ const handleMouseDown = useCallback(
23
+ (e) => {
24
+ setScrapperPosX("");
25
+ setScrapperPosY("");
26
+ setIsGrabbed(true);
27
+ setStartPosition(e.clientY);
28
+ e.preventDefault();
29
+ },
30
+ [setIsGrabbed, setScrapperPosY, setScrapperPosX, setStartPosition]
31
+ );
32
+ const handleMouseEnter = useCallback(
33
+ (e) => {
34
+ setScrapperPosX("");
35
+ },
36
+ [setScrapperPosX]
37
+ );
38
+ const handleClickFullBar = useCallback(
39
+ (e) => {
40
+ let newPosition = 0;
41
+ const bar = e.target;
42
+ const bounds = bar.getBoundingClientRect();
43
+ const top = e.clientY - bounds.top;
44
+ if (top + barHeight / 2 > innerHeight) {
45
+ newPosition = innerHeight - barHeight;
46
+ } else if (top - barHeight / 2 > 0) {
47
+ newPosition = top - barHeight / 2;
48
+ }
49
+ setXScrollbarPosition(newPosition);
50
+ oldLastPosition.current = newPosition;
51
+ e.preventDefault();
52
+ },
53
+ [barHeight, innerHeight, oldLastPosition, setXScrollbarPosition]
54
+ );
55
+ const isBarVisible = useMemo(
56
+ () => (isScrollbarVisible || activePoint) && containerRatio > 1,
57
+ [activePoint, containerRatio, isScrollbarVisible]
58
+ );
59
+ return /* @__PURE__ */ jsxs("g", {
60
+ className: "scrollbary",
61
+ transform: "translate(-6,0)",
62
+ style: { visibility: isBarVisible ? "visible" : "hidden" },
63
+ onMouseEnter: handleMouseEnter,
64
+ children: [
65
+ /* @__PURE__ */ jsx("rect", {
66
+ style: { cursor: "pointer" },
67
+ width: "6",
68
+ height: innerHeight,
69
+ fill: "#ebecf0c5",
70
+ onClick: handleClickFullBar
71
+ }),
72
+ /* @__PURE__ */ jsx("g", {
73
+ transform: `translate(0,${xScrollbarPosition})`,
74
+ children: /* @__PURE__ */ jsx("rect", {
75
+ style: { cursor: isGrabbed ? "grabbing" : "grab" },
76
+ width: "6",
77
+ height: barHeight,
78
+ fill: "grey",
79
+ onMouseDown: handleMouseDown
80
+ })
81
+ })
82
+ ]
83
+ });
84
+ };
85
+ export {
86
+ ScrollBarY
87
+ };
88
+ //# sourceMappingURL=ScrollBarY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollBarY.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\n\nexport const ScrollBarY = () => {\n const {\n setIsGrabbed,\n setStartPosition,\n innerWidth,\n xScrollbarPosition,\n activePoint,\n setXScrollbarPosition,\n innerHeight,\n isGrabbed,\n containerRatio,\n setScrapperPosX,\n setScrapperPosY,\n isScrollbarVisible,\n oldLastPosition,\n } = useContext(ChartContext);\n\n const barHeight = useMemo(() => parseInt(innerHeight / containerRatio, 10), [containerRatio, innerHeight]);\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n setScrapperPosX('');\n setScrapperPosY('');\n setIsGrabbed(true);\n setStartPosition(e.clientY);\n e.preventDefault();\n },\n [setIsGrabbed, setScrapperPosY, setScrapperPosX, setStartPosition],\n );\n\n const handleMouseEnter = useCallback(\n (e: React.MouseEvent) => {\n setScrapperPosX('');\n },\n [setScrapperPosX],\n );\n\n const handleClickFullBar = useCallback(\n (e: React.MouseEvent) => {\n let newPosition = 0;\n const bar = e.target;\n const bounds = bar.getBoundingClientRect();\n const top = e.clientY - bounds.top;\n if (top + barHeight / 2 > innerHeight) {\n newPosition = innerHeight - barHeight;\n } else if (top - barHeight / 2 > 0) {\n newPosition = top - barHeight / 2;\n }\n\n setXScrollbarPosition(newPosition);\n oldLastPosition.current = newPosition;\n e.preventDefault();\n },\n [barHeight, innerHeight, oldLastPosition, setXScrollbarPosition],\n );\n\n const isBarVisible = useMemo(\n () => (isScrollbarVisible || activePoint) && containerRatio > 1,\n [activePoint, containerRatio, isScrollbarVisible],\n );\n\n return (\n <g\n className=\"scrollbary\"\n transform=\"translate(-6,0)\"\n style={{ visibility: isBarVisible ? 'visible' : 'hidden' }}\n onMouseEnter={handleMouseEnter}\n >\n <rect\n style={{ cursor: 'pointer' }}\n width=\"6\"\n height={innerHeight}\n fill=\"#ebecf0c5\"\n onClick={handleClickFullBar}\n />\n <g transform={`translate(0,${xScrollbarPosition})`}>\n <rect\n style={{ cursor: isGrabbed ? 'grabbing' : 'grab' }}\n width=\"6\"\n height={barHeight}\n fill=\"grey\"\n onMouseDown={handleMouseDown}\n />\n </g>\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,aAAa,eAAe;AACxD,SAAS,oBAAoB;AAEtB,MAAM,aAAa,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM,SAAS,cAAc,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,WAAW,CAAC;AAEzG,QAAM,kBAAkB;AAAA,IACtB,CAAC,MAAwB;AACvB,sBAAgB,EAAE;AAClB,sBAAgB,EAAE;AAClB,mBAAa,IAAI;AACjB,uBAAiB,EAAE,OAAO;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,cAAc,iBAAiB,iBAAiB,gBAAgB;AAAA,EACnE;AAEA,QAAM,mBAAmB;AAAA,IACvB,CAAC,MAAwB;AACvB,sBAAgB,EAAE;AAAA,IACpB;AAAA,IACA,CAAC,eAAe;AAAA,EAClB;AAEA,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAAwB;AACvB,UAAI,cAAc;AAClB,YAAM,MAAM,EAAE;AACd,YAAM,SAAS,IAAI,sBAAsB;AACzC,YAAM,MAAM,EAAE,UAAU,OAAO;AAC/B,UAAI,MAAM,YAAY,IAAI,aAAa;AACrC,sBAAc,cAAc;AAAA,MAC9B,WAAW,MAAM,YAAY,IAAI,GAAG;AAClC,sBAAc,MAAM,YAAY;AAAA,MAClC;AAEA,4BAAsB,WAAW;AACjC,sBAAgB,UAAU;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,WAAW,aAAa,iBAAiB,qBAAqB;AAAA,EACjE;AAEA,QAAM,eAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE,qBAAC;AAAA,IACC,WAAU;AAAA,IACV,WAAU;AAAA,IACV,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,IACzD,cAAc;AAAA,IAEd;AAAA,0BAAC;AAAA,QACC,OAAO,EAAE,QAAQ,UAAU;AAAA,QAC3B,OAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS;AAAA,OACX;AAAA,MACA,oBAAC;AAAA,QAAE,WAAW,eAAe;AAAA,QAC3B,8BAAC;AAAA,UACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,UACjD,OAAM;AAAA,UACN,QAAQ;AAAA,UACR,MAAK;AAAA,UACL,aAAa;AAAA,SACf;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -9,48 +9,33 @@ import { Scrapper } from "../Scrapper/Scrapper";
9
9
  import { VerticalScrapper } from "../Scrapper/VerticalScrapper";
10
10
  const ScrollableContainerX = () => {
11
11
  const {
12
- props: { scrapper, height },
12
+ props: { scrapper },
13
13
  xScrollbarPosition,
14
14
  containerRatio,
15
- innerHeight,
16
- innerWidth
15
+ chartId
17
16
  } = useContext(ChartContext);
18
17
  const Scrappers = useMemo(() => {
19
18
  if (scrapper?.type === "horizontal")
20
19
  return /* @__PURE__ */ jsx(Scrapper, {});
21
- else if (scrapper?.type === "vertical")
20
+ if (scrapper?.type === "vertical")
22
21
  return /* @__PURE__ */ jsx(VerticalScrapper, {});
23
22
  return null;
24
23
  }, [scrapper?.type]);
25
24
  return /* @__PURE__ */ jsxs("g", {
26
25
  className: "scrollable-container-x",
27
- clipPath: "url(#myClip)",
28
26
  children: [
29
- /* @__PURE__ */ jsxs("g", {
30
- transform: `translate(${-xScrollbarPosition * containerRatio},0)`,
31
- children: [
32
- /* @__PURE__ */ jsx(AxisBottom, {}),
33
- /* @__PURE__ */ jsx(SeriesFactory, {}),
34
- Scrappers
35
- ]
36
- }),
37
- /* @__PURE__ */ jsx(ScrollBarX, {}),
38
- /* @__PURE__ */ jsx("defs", {
39
- children: /* @__PURE__ */ jsx("clipPath", {
40
- id: "myClip",
41
- children: /* @__PURE__ */ jsx("path", {
42
- d: `M 0 -10
43
- H ${innerWidth}
44
- V ${innerHeight + 2}
45
- L ${innerWidth + 10} ${innerHeight + 2}
46
- L ${innerWidth + 10} ${height}
47
- L -10 ${height}
48
- L -10 ${innerHeight}
49
- L 0 ${innerHeight}
50
- L 0 -10`
51
- })
27
+ /* @__PURE__ */ jsx("g", {
28
+ mask: `url(#mask-${chartId})`,
29
+ children: /* @__PURE__ */ jsxs("g", {
30
+ transform: `translate(${-xScrollbarPosition * containerRatio},0)`,
31
+ children: [
32
+ /* @__PURE__ */ jsx(SeriesFactory, {}),
33
+ Scrappers,
34
+ /* @__PURE__ */ jsx(AxisBottom, {})
35
+ ]
52
36
  })
53
- })
37
+ }),
38
+ /* @__PURE__ */ jsx(ScrollBarX, {})
54
39
  ]
55
40
  });
56
41
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerX.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { AxisBottom } from '../Axis/AxisBottom';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarX } from './ScrollBarX';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nexport const ScrollableContainerX = () => {\n const {\n props: { scrapper, height },\n xScrollbarPosition,\n containerRatio,\n innerHeight,\n innerWidth,\n } = useContext(ChartContext);\n\n const Scrappers = useMemo(() => {\n if (scrapper?.type === 'horizontal') return <Scrapper />;\n else if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-x\" clipPath=\"url(#myClip)\">\n <g transform={`translate(${-xScrollbarPosition * containerRatio},0)`}>\n <AxisBottom />\n <SeriesFactory />\n {Scrappers}\n </g>\n <ScrollBarX />\n\n <defs>\n <clipPath id=\"myClip\">\n <path\n d={`M 0 -10 \n H ${innerWidth} \n V ${innerHeight + 2} \n L ${innerWidth + 10} ${innerHeight + 2} \n L ${innerWidth + 10} ${height} \n L -10 ${height} \n L -10 ${innerHeight} \n L 0 ${innerHeight} \n L 0 -10`}\n />\n </clipPath>\n </defs>\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AAC1B,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,OAAO;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,oBAAC,YAAS;AAAA,aAC7C,UAAU,SAAS;AAAY,aAAO,oBAAC,oBAAiB;AACjE,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,qBAAC;AAAA,IAAE,WAAU;AAAA,IAAyB,UAAS;AAAA,IAC7C;AAAA,2BAAC;AAAA,QAAE,WAAW,aAAa,CAAC,qBAAqB;AAAA,QAC/C;AAAA,8BAAC,cAAW;AAAA,UACZ,oBAAC,iBAAc;AAAA,UACd;AAAA;AAAA,OACH;AAAA,MACA,oBAAC,cAAW;AAAA,MAEZ,oBAAC;AAAA,QACC,8BAAC;AAAA,UAAS,IAAG;AAAA,UACX,8BAAC;AAAA,YACC,GAAG;AAAA,gBACC;AAAA,gBACA,cAAc;AAAA,gBACd,aAAa,OAAO,cAAc;AAAA,gBAClC,aAAa,OAAO;AAAA,oBAChB;AAAA,oBACA;AAAA,kBACF;AAAA;AAAA,WAER;AAAA,SACF;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { AxisBottom } from '../Axis/AxisBottom';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarX } from './ScrollBarX';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nexport const ScrollableContainerX = () => {\n const {\n props: { scrapper },\n xScrollbarPosition,\n containerRatio,\n chartId,\n } = useContext(ChartContext);\n\n const Scrappers = useMemo(() => {\n if (scrapper?.type === 'horizontal') return <Scrapper />;\n if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-x\">\n <g mask={`url(#mask-${chartId})`}>\n <g transform={`translate(${-xScrollbarPosition * containerRatio},0)`}>\n <SeriesFactory />\n {Scrappers}\n <AxisBottom />\n </g>\n </g>\n <ScrollBarX />\n {/* <defs>\n <clipPath id={`scroll-clip-x-${chartId}`}>\n <path\n d={`M 0 -10 \n H ${innerWidth} \n V ${innerHeight + 2} \n L ${innerWidth + 10} ${innerHeight + 2} \n L ${innerWidth + 10} ${height} \n L -10 ${height} \n L -10 ${innerHeight} \n L 0 ${innerHeight} \n L 0 -10`}\n />\n </clipPath>\n </defs> */}\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AAC1B,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,oBAAC,YAAS;AACtD,QAAI,UAAU,SAAS;AAAY,aAAO,oBAAC,oBAAiB;AAC5D,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,qBAAC;AAAA,IAAE,WAAU;AAAA,IACX;AAAA,0BAAC;AAAA,QAAE,MAAM,aAAa;AAAA,QACpB,+BAAC;AAAA,UAAE,WAAW,aAAa,CAAC,qBAAqB;AAAA,UAC/C;AAAA,gCAAC,iBAAc;AAAA,YACd;AAAA,YACD,oBAAC,cAAW;AAAA;AAAA,SACd;AAAA,OACF;AAAA,MACA,oBAAC,cAAW;AAAA;AAAA,GAgBd;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,58 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useContext, useMemo } from "react";
4
+ import { ChartContext } from "../../ChartContext";
5
+ import { SeriesFactory } from "../SeriesFactory";
6
+ import { ScrollBarY } from "./ScrollBarY";
7
+ import { Scrapper } from "../Scrapper/Scrapper";
8
+ import { VerticalScrapper } from "../Scrapper/VerticalScrapper";
9
+ import { AxisLeft } from "../Axis/AxisLeft";
10
+ const ScrollableContainerY = () => {
11
+ const {
12
+ props: { scrapper, height, width },
13
+ xScrollbarPosition,
14
+ containerRatio,
15
+ innerHeight,
16
+ innerWidth,
17
+ internalMargin,
18
+ chartId
19
+ } = useContext(ChartContext);
20
+ const Scrappers = useMemo(() => {
21
+ if (scrapper?.type === "horizontal")
22
+ return /* @__PURE__ */ jsx(Scrapper, {});
23
+ else if (scrapper?.type === "vertical")
24
+ return /* @__PURE__ */ jsx(VerticalScrapper, {});
25
+ return null;
26
+ }, [scrapper?.type]);
27
+ return /* @__PURE__ */ jsxs("g", {
28
+ className: "scrollable-container-x",
29
+ clipPath: `url(#scroll-clip-y-${chartId})`,
30
+ children: [
31
+ /* @__PURE__ */ jsxs("g", {
32
+ transform: `translate(0,${-xScrollbarPosition * containerRatio})`,
33
+ children: [
34
+ /* @__PURE__ */ jsx(AxisLeft, {}),
35
+ /* @__PURE__ */ jsx(SeriesFactory, {}),
36
+ Scrappers
37
+ ]
38
+ }),
39
+ /* @__PURE__ */ jsx(ScrollBarY, {}),
40
+ /* @__PURE__ */ jsx("defs", {
41
+ children: /* @__PURE__ */ jsx("clipPath", {
42
+ id: `scroll-clip-y-${chartId}`,
43
+ children: /* @__PURE__ */ jsx("path", {
44
+ d: `M ${-internalMargin.left} 0
45
+ H ${width}
46
+ V ${innerHeight - 1}
47
+ L ${-internalMargin.left} ${innerHeight - 1}
48
+ L ${-internalMargin.left} 0`
49
+ })
50
+ })
51
+ })
52
+ ]
53
+ });
54
+ };
55
+ export {
56
+ ScrollableContainerY
57
+ };
58
+ //# sourceMappingURL=ScrollableContainerY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerY.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarY } from './ScrollBarY';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nimport { AxisLeft } from '../Axis/AxisLeft';\nexport const ScrollableContainerY = () => {\n const {\n props: { scrapper, height, width },\n xScrollbarPosition,\n containerRatio,\n innerHeight,\n innerWidth,\n internalMargin,\n chartId,\n } = useContext(ChartContext);\n\n const Scrappers = useMemo(() => {\n if (scrapper?.type === 'horizontal') return <Scrapper />;\n else if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-x\" clipPath={`url(#scroll-clip-y-${chartId})`}>\n <g transform={`translate(0,${-xScrollbarPosition * containerRatio})`}>\n <AxisLeft />\n <SeriesFactory />\n {Scrappers}\n </g>\n <ScrollBarY />\n\n <defs>\n <clipPath id={`scroll-clip-y-${chartId}`}>\n <path\n d={`M ${-internalMargin.left} 0 \n H ${width} \n V ${innerHeight - 1} \n L ${-internalMargin.left} ${innerHeight - 1}\n L ${-internalMargin.left} 0`}\n />\n </clipPath>\n </defs>\n </g>\n );\n};\n\n// L ${innerWidth + 10} ${innerHeight + 2}\n// L ${innerWidth + 10} ${height}\n// L -10 ${height}\n// L -10 ${innerHeight}\n// L 0 ${innerHeight}\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AAClB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,QAAQ,MAAM;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,oBAAC,YAAS;AAAA,aAC7C,UAAU,SAAS;AAAY,aAAO,oBAAC,oBAAiB;AACjE,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,qBAAC;AAAA,IAAE,WAAU;AAAA,IAAyB,UAAU,sBAAsB;AAAA,IACpE;AAAA,2BAAC;AAAA,QAAE,WAAW,eAAe,CAAC,qBAAqB;AAAA,QACjD;AAAA,8BAAC,YAAS;AAAA,UACV,oBAAC,iBAAc;AAAA,UACd;AAAA;AAAA,OACH;AAAA,MACA,oBAAC,cAAW;AAAA,MAEZ,oBAAC;AAAA,QACC,8BAAC;AAAA,UAAS,IAAI,iBAAiB;AAAA,UAC7B,8BAAC;AAAA,YACC,GAAG,KAAK,CAAC,eAAe;AAAA,gBACpB;AAAA,gBACA,cAAc;AAAA,gBACd,CAAC,eAAe,QAAQ,cAAc;AAAA,gBACtC,CAAC,eAAe;AAAA,WACtB;AAAA,SACF;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Fragment, jsx } from "react/jsx-runtime";
2
+ import { jsx } from "react/jsx-runtime";
3
3
  import { useContext, useMemo } from "react";
4
4
  import { ChartContext } from "../ChartContext";
5
5
  import { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from "../series";
@@ -7,13 +7,8 @@ import { getStackedIndex } from "../helpers";
7
7
  import { useVirtualizedSeries } from "../helpers/useVirtualizedSeries";
8
8
  const SeriesFactory = () => {
9
9
  const {
10
- props: { xAxis, groups, types },
11
- xScrollbarPosition,
12
- innerWidth,
13
- xScale,
14
- containerRatio,
15
- isHorizontal,
16
- currentData: data
10
+ props: { groups, types },
11
+ isHorizontal
17
12
  } = useContext(ChartContext);
18
13
  const virtualizedSeries = useVirtualizedSeries();
19
14
  return useMemo(
@@ -59,10 +54,10 @@ const SeriesFactory = () => {
59
54
  ...serieProps
60
55
  });
61
56
  }
62
- return /* @__PURE__ */ jsx(Fragment, {});
57
+ return null;
63
58
  })
64
59
  }),
65
- [containerRatio, data, groups, innerWidth, isHorizontal, types, xAxis.cols, xScale, xScrollbarPosition]
60
+ [groups, isHorizontal, types, virtualizedSeries]
66
61
  );
67
62
  };
68
63
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/parts/SeriesFactory.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext';\nimport { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from '../series';\nimport { getStackedIndex } from '../helpers';\nimport { useVirtualizedSeries } from '../helpers/useVirtualizedSeries';\n\nexport const SeriesFactory = () => {\n const {\n props: { xAxis, groups, types },\n xScrollbarPosition,\n innerWidth,\n xScale,\n containerRatio,\n isHorizontal,\n currentData: data,\n } = useContext(ChartContext);\n\n const virtualizedSeries = useVirtualizedSeries();\n\n return useMemo(\n () => (\n <g className=\"content\">\n {\n virtualizedSeries.map((serie) => {\n const serieProps = {\n key: serie.key,\n serie,\n };\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1 && isHorizontal) {\n return <HorizontalStackedBars {...serieProps} />;\n }\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1) {\n return <StackedBar {...serieProps} />;\n }\n if (serie.type === 'bar' && isHorizontal) {\n return <HorizontalBars {...serieProps} />;\n }\n if (serie.type === 'bar') {\n return <Bars {...serieProps} />;\n }\n if ((types === 'scatter' && !serie.type) || serie.type === 'point') {\n return <Points {...serieProps} />;\n }\n if (serie.type === 'line') {\n return <Line {...serieProps} />;\n }\n if (serie.type === 'area') {\n return <Area {...serieProps} />;\n }\n return <></>;\n }) as JSX.Element[]\n }\n </g>\n ),\n [containerRatio, data, groups, innerWidth, isHorizontal, types, xAxis.cols, xScale, xScrollbarPosition],\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AAGA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,gBAAgB,6BAA6B;AAC5F,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAE9B,MAAM,gBAAgB,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,MAAM;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EACf,IAAI,WAAW,YAAY;AAE3B,QAAM,oBAAoB,qBAAqB;AAE/C,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,WAAU;AAAA,MAET,4BAAkB,IAAI,CAAC,UAAU;AAC/B,cAAM,aAAa;AAAA,UACjB,KAAK,MAAM;AAAA,UACX;AAAA,QACF;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,MAAM,cAAc;AAC9F,iBAAO,oBAAC;AAAA,YAAuB,GAAG;AAAA,WAAY;AAAA,QAChD;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,IAAI;AAC9E,iBAAO,oBAAC;AAAA,YAAY,GAAG;AAAA,WAAY;AAAA,QACrC;AACA,YAAI,MAAM,SAAS,SAAS,cAAc;AACxC,iBAAO,oBAAC;AAAA,YAAgB,GAAG;AAAA,WAAY;AAAA,QACzC;AACA,YAAI,MAAM,SAAS,OAAO;AACxB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAK,UAAU,aAAa,CAAC,MAAM,QAAS,MAAM,SAAS,SAAS;AAClE,iBAAO,oBAAC;AAAA,YAAQ,GAAG;AAAA,WAAY;AAAA,QACjC;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,eAAO,gCAAE;AAAA,MACX,CAAC;AAAA,KAEL;AAAA,IAEF,CAAC,gBAAgB,MAAM,QAAQ,YAAY,cAAc,OAAO,MAAM,MAAM,QAAQ,kBAAkB;AAAA,EACxG;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext';\nimport { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from '../series';\nimport { getStackedIndex } from '../helpers';\nimport { useVirtualizedSeries } from '../helpers/useVirtualizedSeries';\n\nexport const SeriesFactory = () => {\n const {\n props: { groups, types },\n isHorizontal,\n } = useContext(ChartContext);\n\n const virtualizedSeries = useVirtualizedSeries();\n return useMemo(\n () => (\n <g className=\"content\">\n {/* <g className=\"content\"> */}\n {virtualizedSeries.map((serie) => {\n const serieProps = {\n key: serie.key,\n serie,\n };\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1 && isHorizontal) {\n return <HorizontalStackedBars {...serieProps} />;\n }\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1) {\n return <StackedBar {...serieProps} />;\n }\n if (serie.type === 'bar' && isHorizontal) {\n return <HorizontalBars {...serieProps} />;\n }\n if (serie.type === 'bar') {\n return <Bars {...serieProps} />;\n }\n if ((types === 'scatter' && !serie.type) || serie.type === 'point') {\n return <Points {...serieProps} />;\n }\n if (serie.type === 'line') {\n return <Line {...serieProps} />;\n }\n if (serie.type === 'area') {\n return <Area {...serieProps} />;\n }\n return null;\n })}\n </g>\n ),\n [groups, isHorizontal, types, virtualizedSeries],\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAGA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,gBAAgB,6BAA6B;AAC5F,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAE9B,MAAM,gBAAgB,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,oBAAoB,qBAAqB;AAC/C,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,WAAU;AAAA,MAEV,4BAAkB,IAAI,CAAC,UAAU;AAChC,cAAM,aAAa;AAAA,UACjB,KAAK,MAAM;AAAA,UACX;AAAA,QACF;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,MAAM,cAAc;AAC9F,iBAAO,oBAAC;AAAA,YAAuB,GAAG;AAAA,WAAY;AAAA,QAChD;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,IAAI;AAC9E,iBAAO,oBAAC;AAAA,YAAY,GAAG;AAAA,WAAY;AAAA,QACrC;AACA,YAAI,MAAM,SAAS,SAAS,cAAc;AACxC,iBAAO,oBAAC;AAAA,YAAgB,GAAG;AAAA,WAAY;AAAA,QACzC;AACA,YAAI,MAAM,SAAS,OAAO;AACxB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAK,UAAU,aAAa,CAAC,MAAM,QAAS,MAAM,SAAS,SAAS;AAClE,iBAAO,oBAAC;AAAA,YAAQ,GAAG;AAAA,WAAY;AAAA,QACjC;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,eAAO;AAAA,MACT,CAAC;AAAA,KACH;AAAA,IAEF,CAAC,QAAQ,cAAc,OAAO,iBAAiB;AAAA,EACjD;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/graphs/Chart/react-desc-prop-types.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-utilities';\n\nexport declare namespace DSChartT {\n export type SerieTypeT = 'line' | 'bar' | 'stackedBar' | 'spline';\n export type AxisTypeT = 'log' | 'band' | 'time' | 'linear';\n\n export interface SeriesT {\n name: string;\n data: Array<number | null | { x: number; y: number }>;\n type: SerieTypeT;\n scale?: string;\n color: string;\n // line\n dashStyle: string;\n pointRadius: number;\n }\n\n export interface AxisT {\n showGrid: boolean;\n color: string;\n type: AxisTypeT;\n cols?: number[] | string[] | Date[];\n domainPadding: number;\n hideAxis: boolean;\n beginAtZero?: boolean;\n tickValues: number[] | string[] | Date[];\n tickFormat: () => void | string;\n tickCount: number;\n overwriteTicks: boolean;\n }\n\n export interface InternalData {\n key: string;\n group: string;\n type: DSChartT.SerieTypeT;\n scale?: string;\n color: string;\n values: {\n key: string;\n value: number;\n position: number;\n serie: string;\n }[];\n }\n\n export interface OptionalProps {\n y2Axis?: AxisT;\n groups?: string[][];\n types?: 'scatter';\n }\n\n export interface DefaultProps {}\n\n export interface RequiredProps {\n series: SeriesT[];\n height: number;\n width: number;\n yAxis: AxisT;\n xAxis: AxisT;\n }\n\n export interface Props extends OptionalProps, DefaultProps, RequiredProps {}\n}\n\nexport const defaultProps: DSChartT.DefaultProps = {};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n height: PropTypes.number.isRequired.description('height').defaultValue(''),\n width: PropTypes.number.isRequired.description('height').defaultValue(''),\n margin: PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number,\n })\n .isRequired.description('margin')\n .defaultValue(''),\n series: PropTypes.arrayOf(PropTypes.object).description('yValue').defaultValue(''),\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,2BAA2B,iBAAiB;AAgE9C,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACzE,OAAO,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACxE,QAAQ,UAAU,MAAM;AAAA,IACtB,KAAK,UAAU;AAAA,IACf,QAAQ,UAAU;AAAA,IAClB,MAAM,UAAU;AAAA,IAChB,OAAO,UAAU;AAAA,EACnB,CAAC,EACE,WAAW,YAAY,QAAQ,EAC/B,aAAa,EAAE;AAAA,EAClB,QAAQ,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,QAAQ,EAAE,aAAa,EAAE;AACnF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-utilities';\nimport { Series, ScaleLinear, ScaleBand } from 'd3';\nexport declare namespace DSChartT {\n export type SerieTypeT = 'line' | 'bar' | 'area' | 'point';\n export type AxisTypeT = 'log' | 'band' | 'time' | 'linear';\n\n export type LinearScale = ScaleLinear<number, number, never>;\n export type BandScale = ScaleBand<string>;\n\n export type Scales = LinearScale | BandScale;\n export interface SeriesT {\n name: string;\n data: Array<number | null | { x: number; y: number }>;\n type: SerieTypeT;\n scale?: string;\n color?: string;\n // line\n dashStyle?: string;\n pointRadius?: number;\n }\n\n export interface ScrapperT {\n type: 'horizontal' | 'vertical';\n color: string;\n tooltipPreference: string;\n }\n\n export interface SerieComponentT {\n serie: InternalSerie;\n }\n\n export interface AxisTickT {\n tickValues: number[] | Date[];\n tickFormat: () => void | string;\n tickCount: number;\n tickRotation: number;\n overwriteTicks: boolean;\n color: string;\n }\n\n export interface AxisT {\n showGrid: boolean;\n color: string;\n label: string;\n type: AxisTypeT;\n cols?: string[];\n domainPadding: number;\n hideAxis: boolean;\n beginAtZero?: boolean;\n advanced: {\n pointSpacing: {\n type: 'string';\n value: number;\n };\n };\n tick: AxisTickT;\n }\n\n export interface InternalDatum {\n key: string;\n value: number | { x: number; y: number };\n position: number;\n serie: string;\n }\n\n export interface InternalSerie {\n key: string;\n data: InternalDatum[];\n name: string;\n type: DSChartT.SerieTypeT;\n scale?: string | undefined;\n color?: string;\n dashStyle?: string;\n pointRadius?: number;\n }\n\n export type InternalData = InternalSerie[];\n\n export interface OptionalProps {\n y2Axis?: AxisT;\n groups?: string[][];\n types?: 'scatter';\n scrapper: ScrapperT;\n }\n\n export interface DefaultProps {}\n\n export interface RequiredProps {\n series: SeriesT[];\n height: number;\n width: number;\n yAxis: AxisT;\n xAxis: AxisT;\n }\n\n export interface Props extends OptionalProps, DefaultProps, RequiredProps {}\n\n export type StackedSeriesByGroupT = Series<\n {\n [key: string]: number;\n },\n string\n >[][];\n}\n\nexport const defaultProps: DSChartT.DefaultProps = {};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n height: PropTypes.number.isRequired.description('height').defaultValue(''),\n width: PropTypes.number.isRequired.description('height').defaultValue(''),\n margin: PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number,\n })\n .isRequired.description('margin')\n .defaultValue(''),\n series: PropTypes.arrayOf(PropTypes.object).description('yValue').defaultValue(''),\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,2BAA2B,iBAAiB;AAyG9C,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACzE,OAAO,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACxE,QAAQ,UAAU,MAAM;AAAA,IACtB,KAAK,UAAU;AAAA,IACf,QAAQ,UAAU;AAAA,IAClB,MAAM,UAAU;AAAA,IAChB,OAAO,UAAU;AAAA,EACnB,CAAC,EACE,WAAW,YAAY,QAAQ,EAC/B,aAAa,EAAE;AAAA,EAClB,QAAQ,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,QAAQ,EAAE,aAAa,EAAE;AACnF;",
6
6
  "names": []
7
7
  }
@@ -29,7 +29,7 @@ const Area = ({ serie }) => {
29
29
  if (serieWithStackedValues) {
30
30
  return area().x((_, i) => {
31
31
  return xScale(typeof serie.data[i]?.value === "number" ? xAxis.cols[i] : serie.data[i]?.value?.x);
32
- }).y0(([y1]) => finalYScale(y1)).y1(([, y2]) => finalYScale(y2)).curve(curveStyle)(serieWithStackedValues);
32
+ }).y0(([y1, y2]) => finalYScale(y2)).y1(([y1, y2]) => finalYScale(y1)).curve(curveStyle)(serieWithStackedValues);
33
33
  }
34
34
  return area().x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position)).y0(innerHeight).y1((d) => finalYScale(d.value.y ?? d.value)).curve(curveStyle)(serie.data);
35
35
  }, [stackedData, serie, innerHeight, finalYScale, xScale, xAxis?.cols]);
@@ -46,8 +46,6 @@ const Area = ({ serie }) => {
46
46
  return /* @__PURE__ */ jsx("g", {
47
47
  children: /* @__PURE__ */ jsxs("g", {
48
48
  transform: `translate(${xTranslate}, 0)`,
49
- onMouseEnter: () => setActiveSerie(serie.key),
50
- onMouseLeave: () => setActiveSerie(""),
51
49
  children: [
52
50
  /* @__PURE__ */ jsx(Points, {
53
51
  serie
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/Area.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { area, line } from 'd3';\nimport { StyledArea } from '../styles';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData } from '../helpers';\nimport { Points } from './Points';\nimport { LINE, curveStyleMap } from '../../constants';\n\nexport const Area = ({ serie }) => {\n const {\n props: { xAxis },\n xScale,\n yScale,\n innerHeight,\n y2Scale,\n colorScale,\n activeSerie,\n stackedData,\n setActiveSerie,\n } = useContext(ChartContext);\n\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const curveStyle = useMemo(\n () => curveStyleMap[serie.curveStyle] ?? curveStyleMap[LINE.CURVE_STYLE.LINEAR],\n [curveStyleMap, serie.curveStyle],\n );\n const areaD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return area()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n .y0(([y1]) => finalYScale(y1))\n .y1(([, y2]) => finalYScale(y2))\n .curve(curveStyle)(serieWithStackedValues);\n }\n return area()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n .y0(innerHeight)\n .y1((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data);\n }, [stackedData, serie, innerHeight, finalYScale, xScale, xAxis?.cols]);\n\n const lineD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return (\n line()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n // .y0(([y1]) => finalYScale(y1))\n .y(([, y2]) => finalYScale(y2))\n .curve(curveStyle)(serieWithStackedValues)\n );\n }\n return (\n line()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n // .y0(innerHeight)\n .y((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data)\n );\n }, [stackedData, serie, curveStyle, xScale, xAxis.cols, finalYScale]);\n\n const xTranslate = (xScale?.bandwidth?.() ?? 0) / 2;\n\n return (\n <g>\n <g\n transform={`translate(${xTranslate}, 0)`}\n onMouseEnter={() => setActiveSerie(serie.key)}\n onMouseLeave={() => setActiveSerie('')}\n >\n <Points serie={serie} />\n <path d={lineD3} fill=\"none\" strokeWidth={2} stroke={colorScale(serie.name)} />\n <StyledArea d={areaD3} isActiveArea={activeSerie === serie.key} fill={colorScale(serie.name)} />\n </g>\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,MAAM,YAAY;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,MAAM,qBAAqB;AAE7B,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,MAAM;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,aAAa;AAAA,IACjB,MAAM,cAAc,MAAM,eAAe,cAAc,KAAK,YAAY;AAAA,IACxE,CAAC,eAAe,MAAM,UAAU;AAAA,EAClC;AACA,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aAAO,KAAK,EACT,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EACA,GAAG,CAAC,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC,EAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC9B,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAC7C;AACA,WAAO,KAAK,EACT,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EACrE,GAAG,WAAW,EACd,GAAG,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC3C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EACjC,GAAG,CAAC,aAAa,OAAO,aAAa,aAAa,QAAQ,OAAO,IAAI,CAAC;AAEtE,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aACE,KAAK,EACF,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EAEA,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC7B,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAE/C;AACA,WACE,KAAK,EACF,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAErE,EAAE,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC1C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EAEnC,GAAG,CAAC,aAAa,OAAO,YAAY,QAAQ,MAAM,MAAM,WAAW,CAAC;AAEpE,QAAM,cAAc,QAAQ,YAAY,KAAK,KAAK;AAElD,SACE,oBAAC;AAAA,IACC,+BAAC;AAAA,MACC,WAAW,aAAa;AAAA,MACxB,cAAc,MAAM,eAAe,MAAM,GAAG;AAAA,MAC5C,cAAc,MAAM,eAAe,EAAE;AAAA,MAErC;AAAA,4BAAC;AAAA,UAAO;AAAA,SAAc;AAAA,QACtB,oBAAC;AAAA,UAAK,GAAG;AAAA,UAAQ,MAAK;AAAA,UAAO,aAAa;AAAA,UAAG,QAAQ,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA,QAC7E,oBAAC;AAAA,UAAW,GAAG;AAAA,UAAQ,cAAc,gBAAgB,MAAM;AAAA,UAAK,MAAM,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA;AAAA,KAChG;AAAA,GACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { area, line } from 'd3';\nimport { StyledArea } from '../styles';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData } from '../helpers';\nimport { Points } from './Points';\nimport { LINE, curveStyleMap } from '../../constants';\n\nexport const Area = ({ serie }) => {\n const {\n props: { xAxis },\n xScale,\n yScale,\n innerHeight,\n y2Scale,\n colorScale,\n activeSerie,\n stackedData,\n setActiveSerie,\n } = useContext(ChartContext);\n\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const curveStyle = useMemo(\n () => curveStyleMap[serie.curveStyle] ?? curveStyleMap[LINE.CURVE_STYLE.LINEAR],\n [curveStyleMap, serie.curveStyle],\n );\n const areaD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return area()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n .y0(([y1, y2]) => finalYScale(y2))\n .y1(([y1, y2]) => finalYScale(y1))\n .curve(curveStyle)(serieWithStackedValues);\n }\n return area()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n .y0(innerHeight)\n .y1((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data);\n }, [stackedData, serie, innerHeight, finalYScale, xScale, xAxis?.cols]);\n\n const lineD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return (\n line()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n // .y0(([y1]) => finalYScale(y1))\n .y(([, y2]) => finalYScale(y2))\n .curve(curveStyle)(serieWithStackedValues)\n );\n }\n return (\n line()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n // .y0(innerHeight)\n .y((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data)\n );\n }, [stackedData, serie, curveStyle, xScale, xAxis.cols, finalYScale]);\n\n const xTranslate = (xScale?.bandwidth?.() ?? 0) / 2;\n\n return (\n <g>\n <g transform={`translate(${xTranslate}, 0)`}>\n <Points serie={serie} />\n <path d={lineD3} fill=\"none\" strokeWidth={2} stroke={colorScale(serie.name)} />\n <StyledArea d={areaD3} isActiveArea={activeSerie === serie.key} fill={colorScale(serie.name)} />\n </g>\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,MAAM,YAAY;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,MAAM,qBAAqB;AAE7B,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,MAAM;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,aAAa;AAAA,IACjB,MAAM,cAAc,MAAM,eAAe,cAAc,KAAK,YAAY;AAAA,IACxE,CAAC,eAAe,MAAM,UAAU;AAAA,EAClC;AACA,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aAAO,KAAK,EACT,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EACA,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,YAAY,EAAE,CAAC,EAChC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,YAAY,EAAE,CAAC,EAChC,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAC7C;AACA,WAAO,KAAK,EACT,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EACrE,GAAG,WAAW,EACd,GAAG,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC3C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EACjC,GAAG,CAAC,aAAa,OAAO,aAAa,aAAa,QAAQ,OAAO,IAAI,CAAC;AAEtE,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aACE,KAAK,EACF,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EAEA,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC7B,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAE/C;AACA,WACE,KAAK,EACF,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAErE,EAAE,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC1C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EAEnC,GAAG,CAAC,aAAa,OAAO,YAAY,QAAQ,MAAM,MAAM,WAAW,CAAC;AAEpE,QAAM,cAAc,QAAQ,YAAY,KAAK,KAAK;AAElD,SACE,oBAAC;AAAA,IACC,+BAAC;AAAA,MAAE,WAAW,aAAa;AAAA,MACzB;AAAA,4BAAC;AAAA,UAAO;AAAA,SAAc;AAAA,QACtB,oBAAC;AAAA,UAAK,GAAG;AAAA,UAAQ,MAAK;AAAA,UAAO,aAAa;AAAA,UAAG,QAAQ,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA,QAC7E,oBAAC;AAAA,UAAW,GAAG;AAAA,UAAQ,cAAc,gBAAgB,MAAM;AAAA,UAAK,MAAM,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA;AAAA,KAChG;AAAA,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/Bars.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { ScaleBand } from 'd3';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\nimport { FocusableRegion } from '../parts/FocusableRegion';\ninterface BarsT {\n serie: DSChartT.InternalData;\n}\nexport const Bars = ({ serie }: BarsT) => {\n const {\n props: { yAxis, TooltipRenderer },\n innerHeight,\n xScale,\n yScale,\n y2Scale,\n subGroupScale,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const negativeSize = innerHeight - finalYScale(0);\n const positiveSize = innerHeight - negativeSize;\n\n return (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = subGroupScale?.bandwidth();\n const height = y > 0 ? positiveSize - finalYScale(y) : finalYScale(y) - finalYScale(0);\n\n const transformX = subGroupScale(serie.name) + xScale(x);\n\n // @todo find a way to create bars with linear\n // scale here is something but conflict with bars like {x: 'Monday', y: 10}\n // const transformX = isHorizontal\n // ? 0\n // : subGroupScale(serie.name) + xScale(x) - (bar.value.x ? (width / 2) * subGroupScale.domain().length : 0);\n\n const transformY = y > 0 ? finalYScale(0) - height : finalYScale(0);\n\n return (\n <g id={`${serie.name}-rects`} key={bar.key} transform={`translate(${transformX},0)`}>\n <Rect\n name={serie.name}\n xValue={x}\n yValue={y}\n width={width}\n height={height}\n id={bar.key}\n y={transformY}\n isNegative={y < 0}\n />\n {/* {TooltipRenderer && (\n <FocusableRegion\n transform={`scale(1,-1) translate(0,${-height})`}\n y={-transformY}\n id={bar.key}\n width={width}\n height={height}\n content={<TooltipRenderer data={[{ name: serie.name, yValue: y, xValue: x }]} />}\n />\n )} */}\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAA2B;AAE3C,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAMtB,MAAM,OAAO,CAAC,EAAE,MAAM,MAAa;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,gBAAgB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,eAAe,cAAc,YAAY,CAAC;AAChD,QAAM,eAAe,cAAc;AAEnC,SACE,oBAAC;AAAA,IAAE,MAAM,WAAW,MAAM,IAAI;AAAA,IAAG,UAAU,wBAAwB;AAAA,IAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,IAAI,UAAU,GAAG;AACvB,YAAM,IAAI,UAAU,GAAG;AAEvB,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,IAAI,IAAI,eAAe,YAAY,CAAC,IAAI,YAAY,CAAC,IAAI,YAAY,CAAC;AAErF,YAAM,aAAa,cAAc,MAAM,IAAI,IAAI,OAAO,CAAC;AAQvD,YAAM,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC;AAElE,aACE,oBAAC;AAAA,QAAE,IAAI,GAAG,MAAM;AAAA,QAA4B,WAAW,aAAa;AAAA,QAClE,8BAAC;AAAA,UACC,MAAM,MAAM;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,IAAI,IAAI;AAAA,UACR,GAAG;AAAA,UACH,YAAY,IAAI;AAAA,SAClB;AAAA,SAViC,IAAI,GAqBvC;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { ScaleBand } from 'd3';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const Bars = ({ serie }) => {\n const {\n props: { yAxis, TooltipRenderer },\n innerHeight,\n xScale,\n yScale,\n y2Scale,\n subGroupScale,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const negativeSize = innerHeight - finalYScale(0);\n const positiveSize = innerHeight - negativeSize;\n\n return (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = subGroupScale?.bandwidth();\n const height = y > 0 ? positiveSize - finalYScale(y) : finalYScale(y) - finalYScale(0);\n\n const transformX = subGroupScale(serie.name) + xScale(x);\n\n // @todo find a way to create bars with linear\n // scale here is something but conflict with bars like {x: 'Monday', y: 10}\n // const transformX = isHorizontal\n // ? 0\n // : subGroupScale(serie.name) + xScale(x) - (bar.value.x ? (width / 2) * subGroupScale.domain().length : 0);\n\n const transformY = y > 0 ? finalYScale(0) - height : finalYScale(0);\n\n return (\n <g id={`${serie.name}-rects`} key={bar.key} transform={`translate(${transformX},0)`}>\n <Rect\n name={serie.name}\n xValue={x}\n yValue={y}\n width={width}\n height={height}\n id={bar.key}\n y={transformY}\n isNegative={y < 0}\n />\n {/* {TooltipRenderer && (\n <FocusableRegion\n transform={`scale(1,-1) translate(0,${-height})`}\n y={-transformY}\n id={bar.key}\n width={width}\n height={height}\n content={<TooltipRenderer data={[{ name: serie.name, yValue: y, xValue: x }]} />}\n />\n )} */}\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAGtB,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,gBAAgB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,eAAe,cAAc,YAAY,CAAC;AAChD,QAAM,eAAe,cAAc;AAEnC,SACE,oBAAC;AAAA,IAAE,MAAM,WAAW,MAAM,IAAI;AAAA,IAAG,UAAU,wBAAwB;AAAA,IAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,IAAI,UAAU,GAAG;AACvB,YAAM,IAAI,UAAU,GAAG;AAEvB,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,IAAI,IAAI,eAAe,YAAY,CAAC,IAAI,YAAY,CAAC,IAAI,YAAY,CAAC;AAErF,YAAM,aAAa,cAAc,MAAM,IAAI,IAAI,OAAO,CAAC;AAQvD,YAAM,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC;AAElE,aACE,oBAAC;AAAA,QAAE,IAAI,GAAG,MAAM;AAAA,QAA4B,WAAW,aAAa;AAAA,QAClE,8BAAC;AAAA,UACC,MAAM,MAAM;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,IAAI,IAAI;AAAA,UACR,GAAG;AAAA,UACH,YAAY,IAAI;AAAA,SAClB;AAAA,SAViC,IAAI,GAqBvC;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -4,17 +4,7 @@ import { useContext, useMemo } from "react";
4
4
  import { Rect } from "./Rect";
5
5
  import { ChartContext } from "../ChartContext";
6
6
  const HorizontalBars = ({ serie }) => {
7
- const {
8
- props: { yAxis },
9
- xScale,
10
- yScale,
11
- y2Scale,
12
- subGroupScale,
13
- colorScale,
14
- getXValue,
15
- getYValue,
16
- chartId
17
- } = useContext(ChartContext);
7
+ const { xScale, yScale, y2Scale, subGroupScale, colorScale, getXValue, getYValue, chartId } = useContext(ChartContext);
18
8
  const finalYScale = serie.scale === "y2" ? y2Scale : yScale;
19
9
  return useMemo(
20
10
  () => /* @__PURE__ */ jsx("g", {
@@ -25,10 +15,11 @@ const HorizontalBars = ({ serie }) => {
25
15
  const y = getYValue(bar);
26
16
  const width = xScale(x);
27
17
  const height = subGroupScale?.bandwidth();
28
- const transformY = subGroupScale(serie.name) + finalYScale(yAxis?.cols?.[i] ?? i);
18
+ const transformY = subGroupScale(serie.name) + finalYScale(y);
29
19
  return /* @__PURE__ */ jsx("g", {
30
20
  transform: `translate(0,${transformY})`,
31
21
  children: /* @__PURE__ */ jsx(Rect, {
22
+ name: serie.name,
32
23
  width,
33
24
  height,
34
25
  id: bar.key,
@@ -39,18 +30,7 @@ const HorizontalBars = ({ serie }) => {
39
30
  }, bar.key);
40
31
  })
41
32
  }),
42
- [
43
- chartId,
44
- colorScale,
45
- finalYScale,
46
- getXValue,
47
- getYValue,
48
- serie.data,
49
- serie.name,
50
- subGroupScale,
51
- xScale,
52
- yAxis?.cols
53
- ]
33
+ [chartId, colorScale, finalYScale, getXValue, getYValue, serie.data, serie.name, subGroupScale, xScale]
54
34
  );
55
35
  };
56
36
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/HorizontalBars.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\ninterface BarsT {\n serie: DSChartT.InternalData;\n}\nexport const HorizontalBars = ({ serie }: BarsT) => {\n const {\n props: { yAxis },\n xScale,\n yScale,\n y2Scale,\n subGroupScale,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n return useMemo(\n () => (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = xScale(x);\n const height = subGroupScale?.bandwidth();\n\n const transformY = subGroupScale(serie.name) + finalYScale(yAxis?.cols?.[i] ?? i);\n\n return (\n <g key={bar.key} transform={`translate(0,${transformY})`}>\n <Rect width={width} height={height} id={bar.key} x={0} xValue={x} yValue={y} />\n </g>\n );\n })}\n </g>\n ),\n [\n chartId,\n colorScale,\n finalYScale,\n getXValue,\n getYValue,\n serie.data,\n serie.name,\n subGroupScale,\n xScale,\n yAxis?.cols,\n ],\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,eAAe;AAC3C,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAKtB,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAAa;AAClD,QAAM;AAAA,IACJ,OAAO,EAAE,MAAM;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAAG,UAAU,wBAAwB;AAAA,MAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,cAAM,IAAI,UAAU,GAAG;AACvB,cAAM,IAAI,UAAU,GAAG;AAEvB,cAAM,QAAQ,OAAO,CAAC;AACtB,cAAM,SAAS,eAAe,UAAU;AAExC,cAAM,aAAa,cAAc,MAAM,IAAI,IAAI,YAAY,OAAO,OAAO,MAAM,CAAC;AAEhF,eACE,oBAAC;AAAA,UAAgB,WAAW,eAAe;AAAA,UACzC,8BAAC;AAAA,YAAK;AAAA,YAAc;AAAA,YAAgB,IAAI,IAAI;AAAA,YAAK,GAAG;AAAA,YAAG,QAAQ;AAAA,YAAG,QAAQ;AAAA,WAAG;AAAA,WADvE,IAAI,GAEZ;AAAA,MAEJ,CAAC;AAAA,KACH;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const HorizontalBars = ({ serie }: DSChartT.SerieComponentT) => {\n const { xScale, yScale, y2Scale, subGroupScale, colorScale, getXValue, getYValue, chartId } =\n useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n return useMemo(\n () => (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = xScale(x);\n const height = subGroupScale?.bandwidth();\n\n const transformY = subGroupScale(serie.name) + finalYScale(y);\n\n return (\n <g key={bar.key} transform={`translate(0,${transformY})`}>\n <Rect name={serie.name} width={width} height={height} id={bar.key} x={0} xValue={x} yValue={y} />\n </g>\n );\n })}\n </g>\n ),\n [chartId, colorScale, finalYScale, getXValue, getYValue, serie.data, serie.name, subGroupScale, xScale],\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,eAAe;AAC3C,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAGtB,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAAgC;AACrE,QAAM,EAAE,QAAQ,QAAQ,SAAS,eAAe,YAAY,WAAW,WAAW,QAAQ,IACxF,WAAW,YAAY;AACzB,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAAG,UAAU,wBAAwB;AAAA,MAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,cAAM,IAAI,UAAU,GAAG;AACvB,cAAM,IAAI,UAAU,GAAG;AAEvB,cAAM,QAAQ,OAAO,CAAC;AACtB,cAAM,SAAS,eAAe,UAAU;AAExC,cAAM,aAAa,cAAc,MAAM,IAAI,IAAI,YAAY,CAAC;AAE5D,eACE,oBAAC;AAAA,UAAgB,WAAW,eAAe;AAAA,UACzC,8BAAC;AAAA,YAAK,MAAM,MAAM;AAAA,YAAM;AAAA,YAAc;AAAA,YAAgB,IAAI,IAAI;AAAA,YAAK,GAAG;AAAA,YAAG,QAAQ;AAAA,YAAG,QAAQ;AAAA,WAAG;AAAA,WADzF,IAAI,GAEZ;AAAA,MAEJ,CAAC;AAAA,KACH;AAAA,IAEF,CAAC,SAAS,YAAY,aAAa,WAAW,WAAW,MAAM,MAAM,MAAM,MAAM,eAAe,MAAM;AAAA,EACxG;AACF;",
6
6
  "names": []
7
7
  }
@@ -6,7 +6,7 @@ import { ChartContext } from "../ChartContext";
6
6
  import { getStackedData, getStackedIndex } from "../helpers";
7
7
  const HorizontalStackedBars = ({ serie }) => {
8
8
  const {
9
- props: { yAxis, groups },
9
+ props: { groups },
10
10
  xScale,
11
11
  yScale,
12
12
  stackedData,
@@ -25,7 +25,7 @@ const HorizontalStackedBars = ({ serie }) => {
25
25
  const width = xScale(sequence[1]) - xScale(sequence[0]) - (!isFloorStack ? 1 : 0);
26
26
  const height = subGroupScale?.bandwidth();
27
27
  const transformX = xScale(sequence[0]) + (!isFloorStack ? 1 : 0);
28
- const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yAxis?.cols?.[i]);
28
+ const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yValue);
29
29
  return /* @__PURE__ */ jsx("g", {
30
30
  clipPath: `url(#rect-focus-ring-${chartId})`,
31
31
  children: /* @__PURE__ */ jsx("g", {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/HorizontalStackedBars.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const HorizontalStackedBars = ({ serie }) => {\n const {\n props: { yAxis, groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getYValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g>\n {serieWithStackedValues.map((sequence, i) => {\n const isFloorStack = sequence[0] === 0;\n const xValue = sequence[1] - sequence[0];\n const yValue = getYValue(serie.data[i]);\n\n const width = xScale(sequence[1]) - xScale(sequence[0]) - (!isFloorStack ? 1 : 0);\n\n const height = subGroupScale?.bandwidth();\n\n const transformX = xScale(sequence[0]) + (!isFloorStack ? 1 : 0);\n const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yAxis?.cols?.[i]);\n\n return (\n <g key={serie.data[i].key} clipPath={`url(#rect-focus-ring-${chartId})`}>\n <g fill={colorScale(serie.name)} transform={`translate(0, ${transformY})`}>\n <Rect\n width={width}\n height={height}\n x={transformX}\n xValue={xValue}\n yValue={yValue}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAEzC,MAAM,wBAAwB,CAAC,EAAE,MAAM,MAAM;AAClD,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,OAAO;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IACE,iCAAuB,IAAI,CAAC,UAAU,MAAM;AAC3C,YAAM,eAAe,SAAS,OAAO;AACrC,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,SAAS,UAAU,MAAM,KAAK,EAAE;AAEtC,YAAM,QAAQ,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAE/E,YAAM,SAAS,eAAe,UAAU;AAExC,YAAM,aAAa,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAC9D,YAAM,aAAa,cAAc,gBAAgB,YAAY,IAAI,OAAO,OAAO,OAAO,EAAE;AAExF,aACE,oBAAC;AAAA,QAA0B,UAAU,wBAAwB;AAAA,QAC3D,8BAAC;AAAA,UAAE,MAAM,WAAW,MAAM,IAAI;AAAA,UAAG,WAAW,gBAAgB;AAAA,UAC1D,8BAAC;AAAA,YACC;AAAA,YACA;AAAA,YACA,GAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA,IAAI,MAAM,KAAK,GAAG;AAAA,YAClB,MAAM,MAAM;AAAA,WACd;AAAA,SACF;AAAA,SAXM,MAAM,KAAK,GAAG,GAYtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const HorizontalStackedBars = ({ serie }: DSChartT.SerieComponentT) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getYValue,\n } = useContext(ChartContext);\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g>\n {serieWithStackedValues.map((sequence, i) => {\n const isFloorStack = sequence[0] === 0;\n const xValue = sequence[1] - sequence[0];\n const yValue = getYValue(serie.data[i]);\n\n const width = xScale(sequence[1]) - xScale(sequence[0]) - (!isFloorStack ? 1 : 0);\n\n const height = subGroupScale?.bandwidth();\n\n const transformX = xScale(sequence[0]) + (!isFloorStack ? 1 : 0);\n const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yValue);\n\n return (\n <g key={serie.data[i].key} clipPath={`url(#rect-focus-ring-${chartId})`}>\n <g fill={colorScale(serie.name)} transform={`translate(0, ${transformY})`}>\n <Rect\n width={width}\n height={height}\n x={transformX}\n xValue={xValue}\n yValue={yValue}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAGzC,MAAM,wBAAwB,CAAC,EAAE,MAAM,MAAgC;AAC5E,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IACE,iCAAuB,IAAI,CAAC,UAAU,MAAM;AAC3C,YAAM,eAAe,SAAS,OAAO;AACrC,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,SAAS,UAAU,MAAM,KAAK,EAAE;AAEtC,YAAM,QAAQ,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAE/E,YAAM,SAAS,eAAe,UAAU;AAExC,YAAM,aAAa,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAC9D,YAAM,aAAa,cAAc,gBAAgB,YAAY,IAAI,OAAO,MAAM;AAE9E,aACE,oBAAC;AAAA,QAA0B,UAAU,wBAAwB;AAAA,QAC3D,8BAAC;AAAA,UAAE,MAAM,WAAW,MAAM,IAAI;AAAA,UAAG,WAAW,gBAAgB;AAAA,UAC1D,8BAAC;AAAA,YACC;AAAA,YACA;AAAA,YACA,GAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA,IAAI,MAAM,KAAK,GAAG;AAAA,YAClB,MAAM,MAAM;AAAA,WACd;AAAA,SACF;AAAA,SAXM,MAAM,KAAK,GAAG,GAYtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -19,9 +19,10 @@ const StackedBar = ({ serie }) => {
19
19
  const stackIndex = getStackedIndex(groups, serie.name);
20
20
  return /* @__PURE__ */ jsx("g", {
21
21
  clipPath: `url(#rect-focus-ring-${chartId})`,
22
- children: serieWithStackedValues.map((sequence, i) => {
22
+ children: serie.data.map((bar, i) => {
23
+ const sequence = serieWithStackedValues[bar.position];
23
24
  const isFloorStack = sequence[0] === 0;
24
- const xValue = getXValue(serie.data[i]);
25
+ const xValue = getXValue(bar);
25
26
  const yValue = sequence[0] - sequence[1];
26
27
  const width = subGroupScale?.bandwidth();
27
28
  const height = yScale(sequence[0]) - yScale(sequence[1]) - (!isFloorStack ? 1 : 0);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/StackedBar.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const StackedBar = ({ serie }) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serieWithStackedValues.map((sequence, i) => {\n const isFloorStack = sequence[0] === 0;\n\n const xValue = getXValue(serie.data[i]);\n const yValue = sequence[0] - sequence[1];\n const width = subGroupScale?.bandwidth();\n const height = yScale(sequence[0]) - yScale(sequence[1]) - (!isFloorStack ? 1 : 0);\n const transformX = xScale(xValue) + subGroupScale(`stacked-data-${stackIndex}`);\n const transformY = yScale(sequence[1]);\n\n return (\n <g key={serie.data[i].key} fill={colorScale(serie.name)} transform={`translate(${transformX},0)`}>\n <Rect\n width={width}\n height={height}\n xValue={xValue}\n yValue={yValue}\n y={transformY}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAEzC,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IAAE,UAAU,wBAAwB;AAAA,IAClC,iCAAuB,IAAI,CAAC,UAAU,MAAM;AAC3C,YAAM,eAAe,SAAS,OAAO;AAErC,YAAM,SAAS,UAAU,MAAM,KAAK,EAAE;AACtC,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAChF,YAAM,aAAa,OAAO,MAAM,IAAI,cAAc,gBAAgB,YAAY;AAC9E,YAAM,aAAa,OAAO,SAAS,EAAE;AAErC,aACE,oBAAC;AAAA,QAA0B,MAAM,WAAW,MAAM,IAAI;AAAA,QAAG,WAAW,aAAa;AAAA,QAC/E,8BAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,UACH,IAAI,MAAM,KAAK,GAAG;AAAA,UAClB,MAAM,MAAM;AAAA,SACd;AAAA,SATM,MAAM,KAAK,GAAG,GAUtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const StackedBar = ({ serie }) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const sequence = serieWithStackedValues[bar.position];\n const isFloorStack = sequence[0] === 0;\n\n const xValue = getXValue(bar);\n const yValue = sequence[0] - sequence[1];\n const width = subGroupScale?.bandwidth();\n const height = yScale(sequence[0]) - yScale(sequence[1]) - (!isFloorStack ? 1 : 0);\n const transformX = xScale(xValue) + subGroupScale(`stacked-data-${stackIndex}`);\n const transformY = yScale(sequence[1]);\n\n return (\n <g key={serie.data[i].key} fill={colorScale(serie.name)} transform={`translate(${transformX},0)`}>\n <Rect\n width={width}\n height={height}\n xValue={xValue}\n yValue={yValue}\n y={transformY}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n );\n })}\n </g>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAEzC,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IAAE,UAAU,wBAAwB;AAAA,IAClC,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,WAAW,uBAAuB,IAAI;AAC5C,YAAM,eAAe,SAAS,OAAO;AAErC,YAAM,SAAS,UAAU,GAAG;AAC5B,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAChF,YAAM,aAAa,OAAO,MAAM,IAAI,cAAc,gBAAgB,YAAY;AAC9E,YAAM,aAAa,OAAO,SAAS,EAAE;AAErC,aACE,oBAAC;AAAA,QAA0B,MAAM,WAAW,MAAM,IAAI;AAAA,QAAG,WAAW,aAAa;AAAA,QAC/E,8BAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,UACH,IAAI,MAAM,KAAK,GAAG;AAAA,UAClB,MAAM,MAAM;AAAA,SACd;AAAA,SATM,MAAM,KAAK,GAAG,GAUtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
6
6
  "names": []
7
7
  }