@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": ["../../../../../../src/graphs/Chart/parts/Legend/LeftLegend.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useState, useEffect } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\nimport { LegendItem } from './LegendItem.js';\n\nexport const LeftLegend = () => {\n const {\n originalSeries: series,\n leftLegendHeight,\n innerHeight,\n internalMargin,\n leftLegend,\n setLeftLegend,\n } = useContext(ChartContext);\n\n const [yTransform, setYTransform] = useState(innerHeight / 2 + internalMargin.top);\n useEffect(() => {\n setYTransform(innerHeight / 2 + internalMargin.top - leftLegendHeight / 2);\n }, [innerHeight, internalMargin.top, leftLegend, leftLegendHeight]);\n\n return (\n <g transform={`translate(8,${yTransform})`} ref={setLeftLegend}>\n {series.map((serie, i) => (\n <g className=\"tick\" transform={`translate(0,${i * 30})`} key={serie.name}>\n <LegendItem key={serie.name} domainValue={serie.name} />\n </g>\n ))}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBb;AAvBV,mBAAuD;AACvD,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,aAAa,MAAM;AAC9B,QAAM;AAAA,IACJ,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,cAAc,IAAI,eAAe,GAAG;AACjF,8BAAU,MAAM;AACd,kBAAc,cAAc,IAAI,eAAe,MAAM,mBAAmB,CAAC;AAAA,EAC3E,GAAG,CAAC,aAAa,eAAe,KAAK,YAAY,gBAAgB,CAAC;AAElE,SACE,4CAAC,OAAE,WAAW,eAAe,eAAe,KAAK,eAC9C,iBAAO,IAAI,CAAC,OAAO,MAClB,4CAAC,OAAE,WAAU,QAAO,WAAW,eAAe,IAAI,OAChD,sDAAC,gCAA4B,aAAa,MAAM,QAA/B,MAAM,IAA+B,KADM,MAAM,IAEpE,CACD,GACH;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBb;AAvBV,mBAAuD;AACvD,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,aAAa,MAAM;AAC9B,QAAM;AAAA,IACJ,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,cAAc,IAAI,eAAe,GAAG;AACjF,8BAAU,MAAM;AACd,kBAAc,cAAc,IAAI,eAAe,MAAM,mBAAmB,CAAC;AAAA,EAC3E,GAAG,CAAC,aAAa,eAAe,KAAK,YAAY,gBAAgB,CAAC;AAElE,SACE,4CAAC,OAAE,WAAW,eAAe,UAAU,KAAK,KAAK,eAC9C,iBAAO,IAAI,CAAC,OAAO,MAClB,4CAAC,OAAE,WAAU,QAAO,WAAW,eAAe,IAAI,EAAE,KAClD,sDAAC,gCAA4B,aAAa,MAAM,QAA/B,MAAM,IAA+B,KADM,MAAM,IAEpE,CACD,GACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -44,14 +44,10 @@ const Legend = () => {
44
44
  props: { legend },
45
45
  width
46
46
  } = (0, import_react.useContext)(import_ChartContext.ChartContext);
47
- if (legend?.position === "top" || legend?.position === "left" && width <= 400)
48
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TopLegend.TopLegend, {});
49
- if (legend?.position === "bottom" || legend?.position === "right" && width <= 400)
50
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BottomLegend.BottomLegend, {});
51
- if (legend?.position === "right")
52
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_RightLegend.RightLegend, {});
53
- if (legend?.position === "left")
54
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LeftLegend.LeftLegend, {});
47
+ if (legend?.position === "top" || legend?.position === "left" && width <= 400) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TopLegend.TopLegend, {});
48
+ if (legend?.position === "bottom" || legend?.position === "right" && width <= 400) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BottomLegend.BottomLegend, {});
49
+ if (legend?.position === "right") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_RightLegend.RightLegend, {});
50
+ if (legend?.position === "left") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LeftLegend.LeftLegend, {});
55
51
  return null;
56
52
  };
57
53
  //# sourceMappingURL=Legend.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Legend/Legend.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext } from 'react';\nimport { RightLegend } from './RightLegend.js';\nimport { TopLegend } from './TopLegend.js';\nimport { ChartContext } from '../../ChartContext.js';\nimport { BottomLegend } from './BottomLegend.js';\nimport { LeftLegend } from './LeftLegend.js';\nexport const Legend = () => {\n const {\n props: { legend },\n width,\n } = useContext(ChartContext);\n if (legend?.position === 'top' || (legend?.position === 'left' && width <= 400)) return <TopLegend />;\n if (legend?.position === 'bottom' || (legend?.position === 'right' && width <= 400)) return <BottomLegend />;\n if (legend?.position === 'right') return <RightLegend />;\n if (legend?.position === 'left') return <LeftLegend />;\n return null;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADWmE;AAX1F,mBAAkC;AAClC,yBAA4B;AAC5B,uBAA0B;AAC1B,0BAA6B;AAC7B,0BAA6B;AAC7B,wBAA2B;AACpB,MAAM,SAAS,MAAM;AAC1B,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,MAAI,QAAQ,aAAa,SAAU,QAAQ,aAAa,UAAU,SAAS;AAAM,WAAO,4CAAC,8BAAU;AACnG,MAAI,QAAQ,aAAa,YAAa,QAAQ,aAAa,WAAW,SAAS;AAAM,WAAO,4CAAC,oCAAa;AAC1G,MAAI,QAAQ,aAAa;AAAS,WAAO,4CAAC,kCAAY;AACtD,MAAI,QAAQ,aAAa;AAAQ,WAAO,4CAAC,gCAAW;AACpD,SAAO;AACT;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADWmE;AAX1F,mBAAkC;AAClC,yBAA4B;AAC5B,uBAA0B;AAC1B,0BAA6B;AAC7B,0BAA6B;AAC7B,wBAA2B;AACpB,MAAM,SAAS,MAAM;AAC1B,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,EACF,QAAI,yBAAW,gCAAY;AAC3B,MAAI,QAAQ,aAAa,SAAU,QAAQ,aAAa,UAAU,SAAS,IAAM,QAAO,4CAAC,8BAAU;AACnG,MAAI,QAAQ,aAAa,YAAa,QAAQ,aAAa,WAAW,SAAS,IAAM,QAAO,4CAAC,oCAAa;AAC1G,MAAI,QAAQ,aAAa,QAAS,QAAO,4CAAC,kCAAY;AACtD,MAAI,QAAQ,aAAa,OAAQ,QAAO,4CAAC,gCAAW;AACpD,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -56,13 +56,10 @@ const LegendItem = (props) => {
56
56
  const serieData = series.find((serie) => serie.name === domainValue);
57
57
  const LegendIcon = LegendItemsMap[serieData?.pointStyle ?? "circle"] ?? (serieData?.type === "line" || types === "scatter" ? LegendItemCircle : LegendItemSquare);
58
58
  const handleOnClick = (0, import_react.useCallback)(() => {
59
- if (legend?.preventFilterAction)
60
- return;
59
+ if (legend?.preventFilterAction) return;
61
60
  setHiddenSeries((prev) => {
62
- if (prev.includes(domainValue))
63
- return prev.filter((serie) => serie !== domainValue);
64
- if (prev.length + 1 !== series.length)
65
- return [...prev, domainValue];
61
+ if (prev.includes(domainValue)) return prev.filter((serie) => serie !== domainValue);
62
+ if (prev.length + 1 !== series.length) return [...prev, domainValue];
66
63
  return prev;
67
64
  });
68
65
  }, [domainValue, legend?.preventFilterAction, series.length, setHiddenSeries]);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Legend/LegendItem.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useMemo, useCallback } from 'react';\nimport { LINE } from '../../../constants.js';\nimport { ChartContext } from '../../ChartContext.js';\n\ninterface LegendItemGraphicProps {\n fill: string;\n}\n\ninterface LegendItemProps {\n domainValue: string;\n}\n\n// const LegendItemLine = (props) => <line x1={-18} x2={18} y1={0} y2={0} {...props} strokeWidth={2} />;\nconst LegendItemCircle = (props: LegendItemGraphicProps) => <circle r={6} {...props} />;\nconst LegendItemSquare = (props: LegendItemGraphicProps) => <rect x={-6} y={-6} width={12} height={12} {...props} />;\nconst LegendItemDiamond = (props: LegendItemGraphicProps) => (\n <g transform=\"rotate(45)\">\n <rect x={-6} y={-6} width={12} height={12} {...props} />\n </g>\n);\n\nconst LegendItemsMap = {\n [LINE.POINT_STYLE.CIRCLE]: LegendItemCircle,\n [LINE.POINT_STYLE.SQUARE]: LegendItemSquare,\n [LINE.POINT_STYLE.DIAMOND]: LegendItemDiamond,\n};\n\nexport const LegendItem = (props: LegendItemProps) => {\n const {\n colorScale,\n setHiddenSeries,\n hiddenSeries,\n originalSeries: series,\n props: { types, legend },\n } = useContext(ChartContext);\n\n const { domainValue } = props;\n const serieData = series.find((serie) => serie.name === domainValue);\n const LegendIcon =\n LegendItemsMap[serieData?.pointStyle ?? 'circle'] ??\n (serieData?.type === 'line' || types === 'scatter' ? LegendItemCircle : LegendItemSquare);\n\n const handleOnClick = useCallback(() => {\n if (legend?.preventFilterAction) return;\n setHiddenSeries((prev) => {\n if (prev.includes(domainValue)) return prev.filter((serie) => serie !== domainValue);\n if (prev.length + 1 !== series.length) return [...prev, domainValue];\n return prev;\n });\n }, [domainValue, legend?.preventFilterAction, series.length, setHiddenSeries]);\n\n return useMemo(\n () => (\n <g\n onClick={handleOnClick}\n key={domainValue}\n className=\"cell\"\n style={hiddenSeries.includes(domainValue) ? { opacity: 0.2, cursor: 'pointer' } : { cursor: 'pointer' }}\n >\n <LegendIcon fill={colorScale(domainValue) as string} />\n <text x={24} dy=\".32em\" fontWeight=\"600\">\n {domainValue}\n </text>\n </g>\n ),\n\n [LegendIcon, colorScale, domainValue, handleOnClick, hiddenSeries],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADaqC;AAb5D,mBAAwD;AACxD,uBAAqB;AACrB,0BAA6B;AAW7B,MAAM,mBAAmB,CAAC,UAAkC,4CAAC,YAAO,GAAG,GAAI,GAAG,OAAO;AACrF,MAAM,mBAAmB,CAAC,UAAkC,4CAAC,UAAK,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,QAAQ,IAAK,GAAG,OAAO;AAClH,MAAM,oBAAoB,CAAC,UACzB,4CAAC,OAAE,WAAU,cACX,sDAAC,UAAK,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,QAAQ,IAAK,GAAG,OAAO,GACxD;AAGF,MAAM,iBAAiB;AAAA,EACrB,CAAC,sBAAK,YAAY,MAAM,GAAG;AAAA,EAC3B,CAAC,sBAAK,YAAY,MAAM,GAAG;AAAA,EAC3B,CAAC,sBAAK,YAAY,OAAO,GAAG;AAC9B;AAEO,MAAM,aAAa,CAAC,UAA2B;AACpD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,OAAO,EAAE,OAAO,OAAO;AAAA,EACzB,QAAI,yBAAW,gCAAY;AAE3B,QAAM,EAAE,YAAY,IAAI;AACxB,QAAM,YAAY,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,WAAW;AACnE,QAAM,aACJ,eAAe,WAAW,cAAc,QAAQ,MAC/C,WAAW,SAAS,UAAU,UAAU,YAAY,mBAAmB;AAE1E,QAAM,oBAAgB,0BAAY,MAAM;AACtC,QAAI,QAAQ;AAAqB;AACjC,oBAAgB,CAAC,SAAS;AACxB,UAAI,KAAK,SAAS,WAAW;AAAG,eAAO,KAAK,OAAO,CAAC,UAAU,UAAU,WAAW;AACnF,UAAI,KAAK,SAAS,MAAM,OAAO;AAAQ,eAAO,CAAC,GAAG,MAAM,WAAW;AACnE,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,aAAa,QAAQ,qBAAqB,OAAO,QAAQ,eAAe,CAAC;AAE7E,aAAO;AAAA,IACL,MACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QAET,WAAU;AAAA,QACV,OAAO,aAAa,SAAS,WAAW,IAAI,EAAE,SAAS,KAAK,QAAQ,UAAU,IAAI,EAAE,QAAQ,UAAU;AAAA,QAEtG;AAAA,sDAAC,cAAW,MAAM,WAAW,WAAW,GAAa;AAAA,UACrD,4CAAC,UAAK,GAAG,IAAI,IAAG,SAAQ,YAAW,OAChC,uBACH;AAAA;AAAA;AAAA,MAPK;AAAA,IAQP;AAAA,IAGF,CAAC,YAAY,YAAY,aAAa,eAAe,YAAY;AAAA,EACnE;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADaqC;AAb5D,mBAAwD;AACxD,uBAAqB;AACrB,0BAA6B;AAW7B,MAAM,mBAAmB,CAAC,UAAkC,4CAAC,YAAO,GAAG,GAAI,GAAG,OAAO;AACrF,MAAM,mBAAmB,CAAC,UAAkC,4CAAC,UAAK,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,QAAQ,IAAK,GAAG,OAAO;AAClH,MAAM,oBAAoB,CAAC,UACzB,4CAAC,OAAE,WAAU,cACX,sDAAC,UAAK,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,QAAQ,IAAK,GAAG,OAAO,GACxD;AAGF,MAAM,iBAAiB;AAAA,EACrB,CAAC,sBAAK,YAAY,MAAM,GAAG;AAAA,EAC3B,CAAC,sBAAK,YAAY,MAAM,GAAG;AAAA,EAC3B,CAAC,sBAAK,YAAY,OAAO,GAAG;AAC9B;AAEO,MAAM,aAAa,CAAC,UAA2B;AACpD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,OAAO,EAAE,OAAO,OAAO;AAAA,EACzB,QAAI,yBAAW,gCAAY;AAE3B,QAAM,EAAE,YAAY,IAAI;AACxB,QAAM,YAAY,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,WAAW;AACnE,QAAM,aACJ,eAAe,WAAW,cAAc,QAAQ,MAC/C,WAAW,SAAS,UAAU,UAAU,YAAY,mBAAmB;AAE1E,QAAM,oBAAgB,0BAAY,MAAM;AACtC,QAAI,QAAQ,oBAAqB;AACjC,oBAAgB,CAAC,SAAS;AACxB,UAAI,KAAK,SAAS,WAAW,EAAG,QAAO,KAAK,OAAO,CAAC,UAAU,UAAU,WAAW;AACnF,UAAI,KAAK,SAAS,MAAM,OAAO,OAAQ,QAAO,CAAC,GAAG,MAAM,WAAW;AACnE,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,aAAa,QAAQ,qBAAqB,OAAO,QAAQ,eAAe,CAAC;AAE7E,aAAO;AAAA,IACL,MACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QAET,WAAU;AAAA,QACV,OAAO,aAAa,SAAS,WAAW,IAAI,EAAE,SAAS,KAAK,QAAQ,UAAU,IAAI,EAAE,QAAQ,UAAU;AAAA,QAEtG;AAAA,sDAAC,cAAW,MAAM,WAAW,WAAW,GAAa;AAAA,UACrD,4CAAC,UAAK,GAAG,IAAI,IAAG,SAAQ,YAAW,OAChC,uBACH;AAAA;AAAA;AAAA,MAPK;AAAA,IAQP;AAAA,IAGF,CAAC,YAAY,YAAY,aAAa,eAAe,YAAY;AAAA,EACnE;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Legend/RightLegend.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useState, useEffect } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\nimport { LegendItem } from './LegendItem.js';\n\nexport const RightLegend = () => {\n const {\n innerWidth,\n innerHeight,\n rightLabelWidth,\n axisRightWidth,\n internalMargin,\n rightLegendHeight,\n setRightLegend,\n originalSeries: series,\n } = useContext(ChartContext);\n\n const [yTransform, setYTransform] = useState(innerHeight / 2 + internalMargin.top);\n\n useEffect(() => {\n setYTransform(innerHeight / 2 + internalMargin.top - rightLegendHeight / 2);\n }, [innerHeight, internalMargin.top, rightLegendHeight]);\n\n return (\n <g\n ref={setRightLegend}\n transform={`translate(${innerWidth + internalMargin.left + axisRightWidth + rightLabelWidth},${yTransform})`}\n >\n <rect width=\"20\" height={1} fill=\"transparent\" />\n <g transform={`translate(0,0)`}>\n {series.map((serie, i) => (\n <g className=\"tick\" transform={`translate(30,${i * 30})`} key={serie.name}>\n <LegendItem domainValue={serie.name} />\n </g>\n ))}\n </g>\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBnB;AAvBJ,mBAAuD;AACvD,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,cAAc,MAAM;AAC/B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,EAClB,QAAI,yBAAW,gCAAY;AAE3B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,cAAc,IAAI,eAAe,GAAG;AAEjF,8BAAU,MAAM;AACd,kBAAc,cAAc,IAAI,eAAe,MAAM,oBAAoB,CAAC;AAAA,EAC5E,GAAG,CAAC,aAAa,eAAe,KAAK,iBAAiB,CAAC;AAEvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW,aAAa,aAAa,eAAe,OAAO,iBAAiB,mBAAmB;AAAA,MAE/F;AAAA,oDAAC,UAAK,OAAM,MAAK,QAAQ,GAAG,MAAK,eAAc;AAAA,QAC/C,4CAAC,OAAE,WAAW,kBACX,iBAAO,IAAI,CAAC,OAAO,MAClB,4CAAC,OAAE,WAAU,QAAO,WAAW,gBAAgB,IAAI,OACjD,sDAAC,gCAAW,aAAa,MAAM,MAAM,KADwB,MAAM,IAErE,CACD,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBnB;AAvBJ,mBAAuD;AACvD,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,cAAc,MAAM;AAC/B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,EAClB,QAAI,yBAAW,gCAAY;AAE3B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,cAAc,IAAI,eAAe,GAAG;AAEjF,8BAAU,MAAM;AACd,kBAAc,cAAc,IAAI,eAAe,MAAM,oBAAoB,CAAC;AAAA,EAC5E,GAAG,CAAC,aAAa,eAAe,KAAK,iBAAiB,CAAC;AAEvD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW,aAAa,aAAa,eAAe,OAAO,iBAAiB,eAAe,IAAI,UAAU;AAAA,MAEzG;AAAA,oDAAC,UAAK,OAAM,MAAK,QAAQ,GAAG,MAAK,eAAc;AAAA,QAC/C,4CAAC,OAAE,WAAW,kBACX,iBAAO,IAAI,CAAC,OAAO,MAClB,4CAAC,OAAE,WAAU,QAAO,WAAW,gBAAgB,IAAI,EAAE,KACnD,sDAAC,gCAAW,aAAa,MAAM,MAAM,KADwB,MAAM,IAErE,CACD,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Legend/TopLegend.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useMemo, useEffect, useRef, useState } from 'react';\nimport { select } from 'd3';\nimport { ChartContext } from '../../ChartContext.js';\nimport { LegendItem } from './LegendItem.js';\n\nexport const TopLegend = () => {\n const {\n colorScale,\n currentData,\n internalMargin,\n innerWidth,\n setTopLegend,\n width: graphWidth,\n } = useContext(ChartContext);\n\n const ref = useRef<SVGGElement>(null);\n\n const [xTransform, setXTransform] = useState(innerWidth / 2 + internalMargin.left);\n\n useEffect(() => {\n if (ref.current) {\n const cells = select(ref.current).selectAll('.cell');\n const padding = 30;\n let offset = 0;\n let verticalOffset = 0;\n\n currentData.forEach((_, i) => {\n if (cells.nodes()[i - 1]) {\n const lastCell = select(cells.nodes()[i - 1] as SVGGElement);\n const d3sel = select(cells.nodes()[i] as SVGGElement);\n const { width: currentCellWidth } = d3sel.node()?.getBBox() || { width: 0 };\n\n const lastCellWidth = lastCell.node()?.getBBox()?.width || 0;\n\n if (offset + lastCellWidth + padding + currentCellWidth + 10 > graphWidth) {\n offset = 0;\n verticalOffset += 20;\n } else {\n offset += lastCellWidth + padding;\n }\n\n d3sel.attr('transform', `translate(${offset}, ${verticalOffset})`);\n }\n });\n const bounds = ref.current.getBoundingClientRect();\n setXTransform(innerWidth / 2 + internalMargin.left - bounds.width / 2);\n }\n }, [currentData, graphWidth, innerWidth, internalMargin.left]);\n return useMemo(\n () => (\n <g ref={ref} transform={`translate(${xTransform},10)`}>\n <g ref={setTopLegend}>\n {colorScale.domain().map((domainValue) => (\n <LegendItem key={domainValue} domainValue={domainValue} />\n ))}\n </g>\n </g>\n ),\n\n [xTransform, setTopLegend, colorScale],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqDX;AArDZ,mBAAwE;AACxE,gBAAuB;AACvB,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,YAAY,MAAM;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,QAAI,yBAAW,gCAAY;AAE3B,QAAM,UAAM,qBAAoB,IAAI;AAEpC,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,aAAa,IAAI,eAAe,IAAI;AAEjF,8BAAU,MAAM;AACd,QAAI,IAAI,SAAS;AACf,YAAM,YAAQ,kBAAO,IAAI,OAAO,EAAE,UAAU,OAAO;AACnD,YAAM,UAAU;AAChB,UAAI,SAAS;AACb,UAAI,iBAAiB;AAErB,kBAAY,QAAQ,CAAC,GAAG,MAAM;AAC5B,YAAI,MAAM,MAAM,EAAE,IAAI,CAAC,GAAG;AACxB,gBAAM,eAAW,kBAAO,MAAM,MAAM,EAAE,IAAI,CAAC,CAAgB;AAC3D,gBAAM,YAAQ,kBAAO,MAAM,MAAM,EAAE,CAAC,CAAgB;AACpD,gBAAM,EAAE,OAAO,iBAAiB,IAAI,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,OAAO,EAAE;AAE1E,gBAAM,gBAAgB,SAAS,KAAK,GAAG,QAAQ,GAAG,SAAS;AAE3D,cAAI,SAAS,gBAAgB,UAAU,mBAAmB,KAAK,YAAY;AACzE,qBAAS;AACT,8BAAkB;AAAA,UACpB,OAAO;AACL,sBAAU,gBAAgB;AAAA,UAC5B;AAEA,gBAAM,KAAK,aAAa,aAAa,WAAW,iBAAiB;AAAA,QACnE;AAAA,MACF,CAAC;AACD,YAAM,SAAS,IAAI,QAAQ,sBAAsB;AACjD,oBAAc,aAAa,IAAI,eAAe,OAAO,OAAO,QAAQ,CAAC;AAAA,IACvE;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,YAAY,eAAe,IAAI,CAAC;AAC7D,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,KAAU,WAAW,aAAa,kBACnC,sDAAC,OAAE,KAAK,cACL,qBAAW,OAAO,EAAE,IAAI,CAAC,gBACxB,4CAAC,gCAA6B,eAAb,WAAuC,CACzD,GACH,GACF;AAAA,IAGF,CAAC,YAAY,cAAc,UAAU;AAAA,EACvC;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqDX;AArDZ,mBAAwE;AACxE,gBAAuB;AACvB,0BAA6B;AAC7B,wBAA2B;AAEpB,MAAM,YAAY,MAAM;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,QAAI,yBAAW,gCAAY;AAE3B,QAAM,UAAM,qBAAoB,IAAI;AAEpC,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,aAAa,IAAI,eAAe,IAAI;AAEjF,8BAAU,MAAM;AACd,QAAI,IAAI,SAAS;AACf,YAAM,YAAQ,kBAAO,IAAI,OAAO,EAAE,UAAU,OAAO;AACnD,YAAM,UAAU;AAChB,UAAI,SAAS;AACb,UAAI,iBAAiB;AAErB,kBAAY,QAAQ,CAAC,GAAG,MAAM;AAC5B,YAAI,MAAM,MAAM,EAAE,IAAI,CAAC,GAAG;AACxB,gBAAM,eAAW,kBAAO,MAAM,MAAM,EAAE,IAAI,CAAC,CAAgB;AAC3D,gBAAM,YAAQ,kBAAO,MAAM,MAAM,EAAE,CAAC,CAAgB;AACpD,gBAAM,EAAE,OAAO,iBAAiB,IAAI,MAAM,KAAK,GAAG,QAAQ,KAAK,EAAE,OAAO,EAAE;AAE1E,gBAAM,gBAAgB,SAAS,KAAK,GAAG,QAAQ,GAAG,SAAS;AAE3D,cAAI,SAAS,gBAAgB,UAAU,mBAAmB,KAAK,YAAY;AACzE,qBAAS;AACT,8BAAkB;AAAA,UACpB,OAAO;AACL,sBAAU,gBAAgB;AAAA,UAC5B;AAEA,gBAAM,KAAK,aAAa,aAAa,MAAM,KAAK,cAAc,GAAG;AAAA,QACnE;AAAA,MACF,CAAC;AACD,YAAM,SAAS,IAAI,QAAQ,sBAAsB;AACjD,oBAAc,aAAa,IAAI,eAAe,OAAO,OAAO,QAAQ,CAAC;AAAA,IACvE;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,YAAY,eAAe,IAAI,CAAC;AAC7D,aAAO;AAAA,IACL,MACE,4CAAC,OAAE,KAAU,WAAW,aAAa,UAAU,QAC7C,sDAAC,OAAE,KAAK,cACL,qBAAW,OAAO,EAAE,IAAI,CAAC,gBACxB,4CAAC,gCAA6B,eAAb,WAAuC,CACzD,GACH,GACF;AAAA,IAGF,CAAC,YAAY,cAAc,UAAU;AAAA,EACvC;AACF;",
6
6
  "names": []
7
7
  }
@@ -80,8 +80,7 @@ const Scrapper = () => {
80
80
  }
81
81
  const positionUniqueData = {};
82
82
  valueToPositionPerSeries.forEach((set) => {
83
- if (!set.position)
84
- return;
83
+ if (!set.position) return;
85
84
  if (positionUniqueData[set.position]) {
86
85
  positionUniqueData[set.position] = [...positionUniqueData[set.position], { ...set }];
87
86
  } else {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scrapper/Scrapper.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\nimport { ScrapperLine } from './ScrapperLine.js';\nimport type { DSChartT } from '../../react-desc-prop-types.js';\n\nexport const Scrapper = () => {\n const {\n yScale,\n getXValue,\n getYValue,\n getYScaleValue,\n getXScaleValue,\n getBandwidth,\n currentData: data,\n } = useContext(ChartContext);\n\n const isBandAxis = yScale?.type === 'BAND';\n\n const uniqueData = useMemo(() => {\n let valueToPositionPerSeries;\n\n if (isBandAxis) {\n valueToPositionPerSeries = data\n .map((serie) =>\n serie.data.map((datum) => {\n const x = getXValue(datum);\n const y = getYValue(datum);\n return {\n position: getYScaleValue(datum),\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.map((datum) => ({\n position: getXScaleValue(datum),\n name: serie.name,\n xValue: getXValue(datum),\n yValue: getYValue(datum),\n key: datum.position,\n datum,\n color: serie.color,\n })),\n )\n .flat(1);\n }\n const positionUniqueData: Record<string, DSChartT.ScrapperDatum[]> = {};\n\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 return positionUniqueData;\n }, [data, getXScaleValue, getXValue, getYScaleValue, getYValue, isBandAxis]);\n\n return (\n <g>\n {Object.keys(uniqueData).map((key) => {\n const yPosition = parseFloat(key) + (isBandAxis ? getBandwidth() / 2 : 0);\n const datum = uniqueData[key];\n return <ScrapperLine key={key} yPosition={yPosition} datum={datum} />;\n })}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyER;AAzEf,mBAA2C;AAC3C,0BAA6B;AAC7B,0BAA6B;AAGtB,MAAM,WAAW,MAAM;AAC5B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EACf,QAAI,yBAAW,gCAAY;AAE3B,QAAM,aAAa,QAAQ,SAAS;AAEpC,QAAM,iBAAa,sBAAQ,MAAM;AAC/B,QAAI;AAEJ,QAAI,YAAY;AACd,iCAA2B,KACxB;AAAA,QAAI,CAAC,UACJ,MAAM,KAAK,IAAI,CAAC,UAAU;AACxB,gBAAM,IAAI,UAAU,KAAK;AACzB,gBAAM,IAAI,UAAU,KAAK;AACzB,iBAAO;AAAA,YACL,UAAU,eAAe,KAAK;AAAA,YAC9B,MAAM,MAAM;AAAA,YACZ,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,KAAK,MAAM;AAAA,YACX;AAAA,YACA,OAAO,MAAM;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH,EACC,KAAK,CAAC;AAAA,IACX,OAAO;AACL,iCAA2B,KACxB;AAAA,QAAI,CAAC,UACJ,MAAM,KAAK,IAAI,CAAC,WAAW;AAAA,UACzB,UAAU,eAAe,KAAK;AAAA,UAC9B,MAAM,MAAM;AAAA,UACZ,QAAQ,UAAU,KAAK;AAAA,UACvB,QAAQ,UAAU,KAAK;AAAA,UACvB,KAAK,MAAM;AAAA,UACX;AAAA,UACA,OAAO,MAAM;AAAA,QACf,EAAE;AAAA,MACJ,EACC,KAAK,CAAC;AAAA,IACX;AACA,UAAM,qBAA+D,CAAC;AAEtE,6BAAyB,QAAQ,CAAC,QAAQ;AACxC,UAAI,CAAC,IAAI;AAAU;AACnB,UAAI,mBAAmB,IAAI,QAAQ,GAAG;AACpC,2BAAmB,IAAI,QAAQ,IAAI,CAAC,GAAG,mBAAmB,IAAI,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;AAAA,MACrF,OAAO;AACL,2BAAmB,IAAI,QAAQ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAAA,MAChD;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,gBAAgB,WAAW,gBAAgB,WAAW,UAAU,CAAC;AAE3E,SACE,4CAAC,OACE,iBAAO,KAAK,UAAU,EAAE,IAAI,CAAC,QAAQ;AACpC,UAAM,YAAY,WAAW,GAAG,KAAK,aAAa,aAAa,IAAI,IAAI;AACvE,UAAM,QAAQ,WAAW,GAAG;AAC5B,WAAO,4CAAC,oCAAuB,WAAsB,SAA3B,GAAyC;AAAA,EACrE,CAAC,GACH;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADyER;AAzEf,mBAA2C;AAC3C,0BAA6B;AAC7B,0BAA6B;AAGtB,MAAM,WAAW,MAAM;AAC5B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,EACf,QAAI,yBAAW,gCAAY;AAE3B,QAAM,aAAa,QAAQ,SAAS;AAEpC,QAAM,iBAAa,sBAAQ,MAAM;AAC/B,QAAI;AAEJ,QAAI,YAAY;AACd,iCAA2B,KACxB;AAAA,QAAI,CAAC,UACJ,MAAM,KAAK,IAAI,CAAC,UAAU;AACxB,gBAAM,IAAI,UAAU,KAAK;AACzB,gBAAM,IAAI,UAAU,KAAK;AACzB,iBAAO;AAAA,YACL,UAAU,eAAe,KAAK;AAAA,YAC9B,MAAM,MAAM;AAAA,YACZ,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,KAAK,MAAM;AAAA,YACX;AAAA,YACA,OAAO,MAAM;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH,EACC,KAAK,CAAC;AAAA,IACX,OAAO;AACL,iCAA2B,KACxB;AAAA,QAAI,CAAC,UACJ,MAAM,KAAK,IAAI,CAAC,WAAW;AAAA,UACzB,UAAU,eAAe,KAAK;AAAA,UAC9B,MAAM,MAAM;AAAA,UACZ,QAAQ,UAAU,KAAK;AAAA,UACvB,QAAQ,UAAU,KAAK;AAAA,UACvB,KAAK,MAAM;AAAA,UACX;AAAA,UACA,OAAO,MAAM;AAAA,QACf,EAAE;AAAA,MACJ,EACC,KAAK,CAAC;AAAA,IACX;AACA,UAAM,qBAA+D,CAAC;AAEtE,6BAAyB,QAAQ,CAAC,QAAQ;AACxC,UAAI,CAAC,IAAI,SAAU;AACnB,UAAI,mBAAmB,IAAI,QAAQ,GAAG;AACpC,2BAAmB,IAAI,QAAQ,IAAI,CAAC,GAAG,mBAAmB,IAAI,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;AAAA,MACrF,OAAO;AACL,2BAAmB,IAAI,QAAQ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAAA,MAChD;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,gBAAgB,WAAW,gBAAgB,WAAW,UAAU,CAAC;AAE3E,SACE,4CAAC,OACE,iBAAO,KAAK,UAAU,EAAE,IAAI,CAAC,QAAQ;AACpC,UAAM,YAAY,WAAW,GAAG,KAAK,aAAa,aAAa,IAAI,IAAI;AACvE,UAAM,QAAQ,WAAW,GAAG;AAC5B,WAAO,4CAAC,oCAAuB,WAAsB,SAA3B,GAAyC;AAAA,EACrE,CAAC,GACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -52,8 +52,7 @@ const ScrapperLine = ({ yPosition, datum }) => {
52
52
  const [referenceElement, setReferenceElement] = (0, import_react.useState)(null);
53
53
  const yPositionString = yPosition;
54
54
  const handleOnMouseEnter = (0, import_react.useCallback)(() => {
55
- if (!isGrabbed)
56
- setScrapperPosY(yPositionString);
55
+ if (!isGrabbed) setScrapperPosY(yPositionString);
57
56
  setActivePoint(null);
58
57
  }, [isGrabbed, setScrapperPosY, setActivePoint, yPositionString]);
59
58
  const strokeDetectorWidth = yScale?.type === "BAND" ? yScale?.getBandwidth() : "4px";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scrapper/ScrapperLine.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useCallback, useState } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { ChartContext } from '../../ChartContext.js';\nimport { StyledMouseOverDetectionBox, StyledTooltipContainer } from '../../styles.js';\nimport type { DSChartT } from '../../react-desc-prop-types.js';\ninterface ScrapperLineProps {\n yPosition: number;\n datum: DSChartT.ScrapperDatum[];\n}\n\nexport const ScrapperLine: React.ComponentType<ScrapperLineProps> = ({ yPosition, datum }) => {\n const {\n scrapperPosY,\n setScrapperPosY,\n innerWidth,\n yScale,\n setActivePoint,\n isGrabbed,\n props: { TooltipRenderer, scrapper },\n } = useContext(ChartContext);\n const theme = useContext(ThemeContext);\n const [referenceElement, setReferenceElement] = useState<HTMLOrSVGElement | null>(null);\n\n const yPositionString = yPosition;\n const handleOnMouseEnter = useCallback(() => {\n if (!isGrabbed) setScrapperPosY(yPositionString);\n setActivePoint(null);\n }, [isGrabbed, setScrapperPosY, setActivePoint, yPositionString]);\n\n const strokeDetectorWidth = yScale?.type === 'BAND' ? yScale?.getBandwidth() : '4px';\n\n return (\n <g>\n {scrapperPosY === yPositionString ? (\n <g>\n {TooltipRenderer ? (\n <foreignObject>\n <DSPopperJS\n withoutAnimation\n withoutArrow\n customOffset={[0, 5]}\n referenceElement={referenceElement as HTMLElement}\n showPopover\n zIndex={theme.zIndex.tooltip}\n startPlacementPreference={scrapper?.tooltipPreference}\n >\n <StyledMouseOverDetectionBox />\n <StyledTooltipContainer>\n <TooltipRenderer data={datum} />\n </StyledTooltipContainer>\n </DSPopperJS>\n </foreignObject>\n ) : null}\n <line\n ref={setReferenceElement}\n x1={innerWidth}\n strokeWidth=\"2px\"\n stroke=\"transparent\"\n y1={yPosition}\n x2={innerWidth}\n y2={yPosition}\n />\n <line\n x1={0}\n strokeWidth=\"2px\"\n stroke=\"grey\"\n strokeDasharray={'4 4'}\n y1={yPosition}\n x2={innerWidth}\n y2={yPosition}\n />\n </g>\n ) : null}\n <line\n onMouseEnter={handleOnMouseEnter}\n x1={0}\n strokeWidth={strokeDetectorWidth}\n stroke=\"transparent\"\n y1={yPosition}\n x2={innerWidth}\n y2={yPosition}\n />\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCT;AAtCd,mBAAyD;AACzD,yBAA2B;AAC3B,uBAA6B;AAC7B,0BAA6B;AAC7B,oBAAoE;AAO7D,MAAM,eAAuD,CAAC,EAAE,WAAW,MAAM,MAAM;AAC5F,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,iBAAiB,SAAS;AAAA,EACrC,QAAI,yBAAW,gCAAY;AAC3B,QAAM,YAAQ,yBAAW,6BAAY;AACrC,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAkC,IAAI;AAEtF,QAAM,kBAAkB;AACxB,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,QAAI,CAAC;AAAW,sBAAgB,eAAe;AAC/C,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,WAAW,iBAAiB,gBAAgB,eAAe,CAAC;AAEhE,QAAM,sBAAsB,QAAQ,SAAS,SAAS,QAAQ,aAAa,IAAI;AAE/E,SACE,6CAAC,OACE;AAAA,qBAAiB,kBAChB,6CAAC,OACE;AAAA,wBACC,4CAAC,mBACC;AAAA,QAAC;AAAA;AAAA,UACC,kBAAgB;AAAA,UAChB,cAAY;AAAA,UACZ,cAAc,CAAC,GAAG,CAAC;AAAA,UACnB;AAAA,UACA,aAAW;AAAA,UACX,QAAQ,MAAM,OAAO;AAAA,UACrB,0BAA0B,UAAU;AAAA,UAEpC;AAAA,wDAAC,6CAA4B;AAAA,YAC7B,4CAAC,wCACC,sDAAC,mBAAgB,MAAM,OAAO,GAChC;AAAA;AAAA;AAAA,MACF,GACF,IACE;AAAA,MACJ;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,IAAI;AAAA,UACJ,aAAY;AAAA,UACZ,QAAO;AAAA,UACP,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA;AAAA,MACN;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,UACJ,aAAY;AAAA,UACZ,QAAO;AAAA,UACP,iBAAiB;AAAA,UACjB,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA;AAAA,MACN;AAAA,OACF,IACE;AAAA,IACJ;AAAA,MAAC;AAAA;AAAA,QACC,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA;AAAA,IACN;AAAA,KACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsCT;AAtCd,mBAAyD;AACzD,yBAA2B;AAC3B,uBAA6B;AAC7B,0BAA6B;AAC7B,oBAAoE;AAO7D,MAAM,eAAuD,CAAC,EAAE,WAAW,MAAM,MAAM;AAC5F,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,iBAAiB,SAAS;AAAA,EACrC,QAAI,yBAAW,gCAAY;AAC3B,QAAM,YAAQ,yBAAW,6BAAY;AACrC,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAkC,IAAI;AAEtF,QAAM,kBAAkB;AACxB,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,QAAI,CAAC,UAAW,iBAAgB,eAAe;AAC/C,mBAAe,IAAI;AAAA,EACrB,GAAG,CAAC,WAAW,iBAAiB,gBAAgB,eAAe,CAAC;AAEhE,QAAM,sBAAsB,QAAQ,SAAS,SAAS,QAAQ,aAAa,IAAI;AAE/E,SACE,6CAAC,OACE;AAAA,qBAAiB,kBAChB,6CAAC,OACE;AAAA,wBACC,4CAAC,mBACC;AAAA,QAAC;AAAA;AAAA,UACC,kBAAgB;AAAA,UAChB,cAAY;AAAA,UACZ,cAAc,CAAC,GAAG,CAAC;AAAA,UACnB;AAAA,UACA,aAAW;AAAA,UACX,QAAQ,MAAM,OAAO;AAAA,UACrB,0BAA0B,UAAU;AAAA,UAEpC;AAAA,wDAAC,6CAA4B;AAAA,YAC7B,4CAAC,wCACC,sDAAC,mBAAgB,MAAM,OAAO,GAChC;AAAA;AAAA;AAAA,MACF,GACF,IACE;AAAA,MACJ;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,IAAI;AAAA,UACJ,aAAY;AAAA,UACZ,QAAO;AAAA,UACP,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA;AAAA,MACN;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI;AAAA,UACJ,aAAY;AAAA,UACZ,QAAO;AAAA,UACP,iBAAiB;AAAA,UACjB,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA;AAAA,MACN;AAAA,OACF,IACE;AAAA,IACJ;AAAA,MAAC;AAAA;AAAA,QACC,cAAc;AAAA,QACd,IAAI;AAAA,QACJ,aAAa;AAAA,QACb,QAAO;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA;AAAA,IACN;AAAA,KACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -55,8 +55,7 @@ const VerticalScrapperLine = import_react.default.memo(
55
55
  const [referenceElement, setReferenceElement] = (0, import_react.useState)();
56
56
  const isActive = scrapperPosX === xPosition;
57
57
  const handleOnMouseEnter = (0, import_react.useCallback)(() => {
58
- if (!isGrabbed)
59
- setScrapperPosX(xPosition);
58
+ if (!isGrabbed) setScrapperPosX(xPosition);
60
59
  setActivePoint(null);
61
60
  }, [isGrabbed, setActivePoint, setScrapperPosX, xPosition]);
62
61
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { transform: `translate(${xScale?.type === "BAND" ? xScale?.getBandwidth() / 2 : 0}, 0)`, children: [
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scrapper/VerticalScrapperLine.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext, useCallback, useState } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ThemeContext } from '@elliemae/ds-system';\nimport { StyledMouseOverDetectionBox, StyledTooltipContainer } from '../../styles.js';\nimport type { DSChartT } from '../../react-desc-prop-types.js';\nimport type { ScaleT } from '../../scales/index.js';\ninterface VerticalScrapperLineProps {\n rectDetector?: { left: number; right: number };\n xPosition: number;\n data: DSChartT.ScrapperDatum[];\n scrapperPosX: number;\n setScrapperPosX: (x: number) => void;\n isGrabbed: boolean;\n xScale: ScaleT | null;\n setActivePoint: React.Dispatch<React.SetStateAction<DSChartT.InternalDatum | null>>;\n innerHeight: number;\n TooltipRenderer?:\n | React.ComponentType<{\n data: {\n name: string;\n xValue: string | number | Date | null;\n yValue: string | number | Date | null;\n datum: DSChartT.InternalDatum;\n }[];\n }>\n | undefined;\n scrapper: DSChartT.ScrapperT;\n}\n\nexport const VerticalScrapperLine: React.ComponentType<VerticalScrapperLineProps> = React.memo(\n ({\n rectDetector,\n xPosition,\n data,\n scrapperPosX,\n setScrapperPosX,\n isGrabbed,\n xScale,\n setActivePoint,\n innerHeight,\n TooltipRenderer,\n scrapper,\n }) => {\n const theme = useContext(ThemeContext);\n const [referenceElement, setReferenceElement] = useState<HTMLOrSVGElement | null>();\n const isActive = scrapperPosX === xPosition;\n const handleOnMouseEnter = useCallback(() => {\n if (!isGrabbed) setScrapperPosX(xPosition);\n setActivePoint(null);\n }, [isGrabbed, setActivePoint, setScrapperPosX, xPosition]);\n return (\n <g transform={`translate(${xScale?.type === 'BAND' ? xScale?.getBandwidth() / 2 : 0}, 0)`}>\n {isActive && !isGrabbed ? (\n <g>\n {TooltipRenderer ? (\n <foreignObject>\n <DSPopperJS\n withoutAnimation\n withoutArrow\n customOffset={[0, 5]}\n referenceElement={referenceElement as HTMLElement}\n showPopover\n zIndex={theme.zIndex.tooltip}\n startPlacementPreference={scrapper.tooltipPreference}\n >\n <StyledMouseOverDetectionBox />\n <StyledTooltipContainer>\n <TooltipRenderer data={data} />\n </StyledTooltipContainer>\n </DSPopperJS>\n </foreignObject>\n ) : null}\n <line\n ref={setReferenceElement}\n x1={xPosition}\n strokeWidth=\"2px\"\n stroke={scrapper.color}\n y1={0}\n x2={xPosition}\n y2={innerHeight}\n strokeDasharray={'4 4'}\n />\n </g>\n ) : null}\n <rect\n onMouseOver={handleOnMouseEnter}\n x={xScale?.type === 'BAND' ? xPosition - xScale?.getBandwidth() / 2 : xPosition - (rectDetector?.left ?? 0)}\n fill=\"transparent\"\n y={0}\n width={\n xScale?.type === 'BAND' ? xScale?.getBandwidth() : (rectDetector?.right ?? 0) + (rectDetector?.left ?? 0)\n }\n height={innerHeight}\n />\n </g>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwDP;AAxDhB,mBAAyD;AACzD,yBAA2B;AAC3B,uBAA6B;AAC7B,oBAAoE;AA0B7D,MAAM,uBAAuE,aAAAA,QAAM;AAAA,EACxF,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAM;AACJ,UAAM,YAAQ,yBAAW,6BAAY;AACrC,UAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAkC;AAClF,UAAM,WAAW,iBAAiB;AAClC,UAAM,yBAAqB,0BAAY,MAAM;AAC3C,UAAI,CAAC;AAAW,wBAAgB,SAAS;AACzC,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,WAAW,gBAAgB,iBAAiB,SAAS,CAAC;AAC1D,WACE,6CAAC,OAAE,WAAW,aAAa,QAAQ,SAAS,SAAS,QAAQ,aAAa,IAAI,IAAI,SAC/E;AAAA,kBAAY,CAAC,YACZ,6CAAC,OACE;AAAA,0BACC,4CAAC,mBACC;AAAA,UAAC;AAAA;AAAA,YACC,kBAAgB;AAAA,YAChB,cAAY;AAAA,YACZ,cAAc,CAAC,GAAG,CAAC;AAAA,YACnB;AAAA,YACA,aAAW;AAAA,YACX,QAAQ,MAAM,OAAO;AAAA,YACrB,0BAA0B,SAAS;AAAA,YAEnC;AAAA,0DAAC,6CAA4B;AAAA,cAC7B,4CAAC,wCACC,sDAAC,mBAAgB,MAAY,GAC/B;AAAA;AAAA;AAAA,QACF,GACF,IACE;AAAA,QACJ;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,IAAI;AAAA,YACJ,aAAY;AAAA,YACZ,QAAQ,SAAS;AAAA,YACjB,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,iBAAiB;AAAA;AAAA,QACnB;AAAA,SACF,IACE;AAAA,MACJ;AAAA,QAAC;AAAA;AAAA,UACC,aAAa;AAAA,UACb,GAAG,QAAQ,SAAS,SAAS,YAAY,QAAQ,aAAa,IAAI,IAAI,aAAa,cAAc,QAAQ;AAAA,UACzG,MAAK;AAAA,UACL,GAAG;AAAA,UACH,OACE,QAAQ,SAAS,SAAS,QAAQ,aAAa,KAAK,cAAc,SAAS,MAAM,cAAc,QAAQ;AAAA,UAEzG,QAAQ;AAAA;AAAA,MACV;AAAA,OACF;AAAA,EAEJ;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwDP;AAxDhB,mBAAyD;AACzD,yBAA2B;AAC3B,uBAA6B;AAC7B,oBAAoE;AA0B7D,MAAM,uBAAuE,aAAAA,QAAM;AAAA,EACxF,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAM;AACJ,UAAM,YAAQ,yBAAW,6BAAY;AACrC,UAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAkC;AAClF,UAAM,WAAW,iBAAiB;AAClC,UAAM,yBAAqB,0BAAY,MAAM;AAC3C,UAAI,CAAC,UAAW,iBAAgB,SAAS;AACzC,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,WAAW,gBAAgB,iBAAiB,SAAS,CAAC;AAC1D,WACE,6CAAC,OAAE,WAAW,aAAa,QAAQ,SAAS,SAAS,QAAQ,aAAa,IAAI,IAAI,CAAC,QAChF;AAAA,kBAAY,CAAC,YACZ,6CAAC,OACE;AAAA,0BACC,4CAAC,mBACC;AAAA,UAAC;AAAA;AAAA,YACC,kBAAgB;AAAA,YAChB,cAAY;AAAA,YACZ,cAAc,CAAC,GAAG,CAAC;AAAA,YACnB;AAAA,YACA,aAAW;AAAA,YACX,QAAQ,MAAM,OAAO;AAAA,YACrB,0BAA0B,SAAS;AAAA,YAEnC;AAAA,0DAAC,6CAA4B;AAAA,cAC7B,4CAAC,wCACC,sDAAC,mBAAgB,MAAY,GAC/B;AAAA;AAAA;AAAA,QACF,GACF,IACE;AAAA,QACJ;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,IAAI;AAAA,YACJ,aAAY;AAAA,YACZ,QAAQ,SAAS;AAAA,YACjB,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,iBAAiB;AAAA;AAAA,QACnB;AAAA,SACF,IACE;AAAA,MACJ;AAAA,QAAC;AAAA;AAAA,UACC,aAAa;AAAA,UACb,GAAG,QAAQ,SAAS,SAAS,YAAY,QAAQ,aAAa,IAAI,IAAI,aAAa,cAAc,QAAQ;AAAA,UACzG,MAAK;AAAA,UACL,GAAG;AAAA,UACH,OACE,QAAQ,SAAS,SAAS,QAAQ,aAAa,KAAK,cAAc,SAAS,MAAM,cAAc,QAAQ;AAAA,UAEzG,QAAQ;AAAA;AAAA,MACV;AAAA,OACF;AAAA,EAEJ;AACF;",
6
6
  "names": ["React"]
7
7
  }
@@ -70,8 +70,7 @@ const BlurMask = () => {
70
70
  ] });
71
71
  }, [containerRatio, innerHeight, innerWidth, xScrollbarPosition]);
72
72
  return (0, import_react.useMemo)(() => {
73
- if (containerRatio === 1)
74
- return null;
73
+ if (containerRatio === 1) return null;
75
74
  if (xScroll && !yScroll) {
76
75
  const realWidth = xScrollbarPosition === 0 ? innerWidth + internalMargin.left : innerWidth;
77
76
  const realX = xScrollbarPosition === 0 ? -internalMargin.left : 0;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/BlurMask.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\n\nexport const BlurMask = () => {\n const {\n props: { xScroll, yScroll },\n xScrollbarPosition,\n innerWidth,\n internalMargin,\n containerRatio,\n innerHeight,\n chartId,\n height,\n width,\n } = useContext(ChartContext);\n\n const gradient = useMemo(() => {\n if (xScrollbarPosition === 0) {\n return (\n <>\n <stop offset=\"93%\" style={{ stopColor: 'white', stopOpacity: 1 }} />\n <stop offset=\"100%\" style={{ stopColor: 'white', stopOpacity: 0 }} />\n </>\n );\n }\n\n const isAtEndXScroll =\n innerWidth * containerRatio === (xScrollbarPosition + innerWidth / containerRatio) * containerRatio;\n const isAtEndYScroll =\n innerHeight * containerRatio === (xScrollbarPosition + innerHeight / containerRatio) * containerRatio;\n if (isAtEndXScroll || isAtEndYScroll) {\n return (\n <>\n <stop offset=\"0%\" style={{ stopColor: 'white', stopOpacity: 0 }} />\n <stop offset=\"7%\" style={{ stopColor: 'white', stopOpacity: 1 }} />\n </>\n );\n }\n\n return (\n <>\n <stop offset=\"0%\" style={{ stopColor: 'white', stopOpacity: 0 }} />\n <stop offset=\"7%\" style={{ stopColor: 'white', stopOpacity: 1 }} />\n <stop offset=\"93%\" style={{ stopColor: 'white', stopOpacity: 1 }} />\n <stop offset=\"100%\" style={{ stopColor: 'white', stopOpacity: 0 }} />\n </>\n );\n }, [containerRatio, innerHeight, innerWidth, xScrollbarPosition]);\n\n return useMemo(() => {\n if (containerRatio === 1) return null;\n if (xScroll && !yScroll) {\n // we do this to not trim the ticks marks when the scrollbar is at the beginning\n const realWidth = xScrollbarPosition === 0 ? innerWidth + internalMargin.left : innerWidth;\n const realX = xScrollbarPosition === 0 ? -internalMargin.left : 0;\n\n return (\n <defs>\n <linearGradient id={`filter-fade-${chartId}`}>{gradient}</linearGradient>\n\n <mask id={`mask-${chartId}`}>\n <rect x={realX} width={realWidth} height={height} fill={`url(#filter-fade-${chartId}`}></rect>\n </mask>\n </defs>\n );\n }\n if (yScroll && !xScroll) {\n return (\n <defs>\n <linearGradient x2=\"0%\" y2=\"100%\" id={`filter-fade-${chartId}`}>\n {gradient}\n </linearGradient>\n\n <mask id={`mask-y-${chartId}`}>\n <rect\n x={-internalMargin.left}\n width={width}\n height={innerHeight}\n fill={`url(#filter-fade-${chartId}`}\n ></rect>\n </mask>\n </defs>\n );\n }\n return null;\n }, [\n chartId,\n containerRatio,\n gradient,\n height,\n innerHeight,\n innerWidth,\n internalMargin.left,\n width,\n xScroll,\n xScrollbarPosition,\n yScroll,\n ]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqBf;AAnBR,mBAA2C;AAC3C,0BAA6B;AAEtB,MAAM,WAAW,MAAM;AAC5B,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,QAAQ;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,eAAW,sBAAQ,MAAM;AAC7B,QAAI,uBAAuB,GAAG;AAC5B,aACE,4EACE;AAAA,oDAAC,UAAK,QAAO,OAAM,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,QAClE,4CAAC,UAAK,QAAO,QAAO,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,SACrE;AAAA,IAEJ;AAEA,UAAM,iBACJ,aAAa,oBAAoB,qBAAqB,aAAa,kBAAkB;AACvF,UAAM,iBACJ,cAAc,oBAAoB,qBAAqB,cAAc,kBAAkB;AACzF,QAAI,kBAAkB,gBAAgB;AACpC,aACE,4EACE;AAAA,oDAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,QACjE,4CAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,SACnE;AAAA,IAEJ;AAEA,WACE,4EACE;AAAA,kDAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MACjE,4CAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MACjE,4CAAC,UAAK,QAAO,OAAM,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MAClE,4CAAC,UAAK,QAAO,QAAO,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,OACrE;AAAA,EAEJ,GAAG,CAAC,gBAAgB,aAAa,YAAY,kBAAkB,CAAC;AAEhE,aAAO,sBAAQ,MAAM;AACnB,QAAI,mBAAmB;AAAG,aAAO;AACjC,QAAI,WAAW,CAAC,SAAS;AAEvB,YAAM,YAAY,uBAAuB,IAAI,aAAa,eAAe,OAAO;AAChF,YAAM,QAAQ,uBAAuB,IAAI,CAAC,eAAe,OAAO;AAEhE,aACE,6CAAC,UACC;AAAA,oDAAC,oBAAe,IAAI,eAAe,WAAY,oBAAS;AAAA,QAExD,4CAAC,UAAK,IAAI,QAAQ,WAChB,sDAAC,UAAK,GAAG,OAAO,OAAO,WAAW,QAAgB,MAAM,oBAAoB,WAAW,GACzF;AAAA,SACF;AAAA,IAEJ;AACA,QAAI,WAAW,CAAC,SAAS;AACvB,aACE,6CAAC,UACC;AAAA,oDAAC,oBAAe,IAAG,MAAK,IAAG,QAAO,IAAI,eAAe,WAClD,oBACH;AAAA,QAEA,4CAAC,UAAK,IAAI,UAAU,WAClB;AAAA,UAAC;AAAA;AAAA,YACC,GAAG,CAAC,eAAe;AAAA,YACnB;AAAA,YACA,QAAQ;AAAA,YACR,MAAM,oBAAoB;AAAA;AAAA,QAC3B,GACH;AAAA,SACF;AAAA,IAEJ;AACA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqBf;AAnBR,mBAA2C;AAC3C,0BAA6B;AAEtB,MAAM,WAAW,MAAM;AAC5B,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,QAAQ;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,eAAW,sBAAQ,MAAM;AAC7B,QAAI,uBAAuB,GAAG;AAC5B,aACE,4EACE;AAAA,oDAAC,UAAK,QAAO,OAAM,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,QAClE,4CAAC,UAAK,QAAO,QAAO,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,SACrE;AAAA,IAEJ;AAEA,UAAM,iBACJ,aAAa,oBAAoB,qBAAqB,aAAa,kBAAkB;AACvF,UAAM,iBACJ,cAAc,oBAAoB,qBAAqB,cAAc,kBAAkB;AACzF,QAAI,kBAAkB,gBAAgB;AACpC,aACE,4EACE;AAAA,oDAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,QACjE,4CAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,SACnE;AAAA,IAEJ;AAEA,WACE,4EACE;AAAA,kDAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MACjE,4CAAC,UAAK,QAAO,MAAK,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MACjE,4CAAC,UAAK,QAAO,OAAM,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,MAClE,4CAAC,UAAK,QAAO,QAAO,OAAO,EAAE,WAAW,SAAS,aAAa,EAAE,GAAG;AAAA,OACrE;AAAA,EAEJ,GAAG,CAAC,gBAAgB,aAAa,YAAY,kBAAkB,CAAC;AAEhE,aAAO,sBAAQ,MAAM;AACnB,QAAI,mBAAmB,EAAG,QAAO;AACjC,QAAI,WAAW,CAAC,SAAS;AAEvB,YAAM,YAAY,uBAAuB,IAAI,aAAa,eAAe,OAAO;AAChF,YAAM,QAAQ,uBAAuB,IAAI,CAAC,eAAe,OAAO;AAEhE,aACE,6CAAC,UACC;AAAA,oDAAC,oBAAe,IAAI,eAAe,OAAO,IAAK,oBAAS;AAAA,QAExD,4CAAC,UAAK,IAAI,QAAQ,OAAO,IACvB,sDAAC,UAAK,GAAG,OAAO,OAAO,WAAW,QAAgB,MAAM,oBAAoB,OAAO,IAAI,GACzF;AAAA,SACF;AAAA,IAEJ;AACA,QAAI,WAAW,CAAC,SAAS;AACvB,aACE,6CAAC,UACC;AAAA,oDAAC,oBAAe,IAAG,MAAK,IAAG,QAAO,IAAI,eAAe,OAAO,IACzD,oBACH;AAAA,QAEA,4CAAC,UAAK,IAAI,UAAU,OAAO,IACzB;AAAA,UAAC;AAAA;AAAA,YACC,GAAG,CAAC,eAAe;AAAA,YACnB;AAAA,YACA,QAAQ;AAAA,YACR,MAAM,oBAAoB,OAAO;AAAA;AAAA,QAClC,GACH;AAAA,SACF;AAAA,IAEJ;AACA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -80,10 +80,8 @@ const Controllers = () => {
80
80
  },
81
81
  [containerRef, lastScrollbarPosition, setContainerRatio, setXScrollbarPosition]
82
82
  );
83
- if (xScale?.type === "BAND" || yScale?.type === "BAND")
84
- return null;
85
- if (!xScroll)
86
- return null;
83
+ if (xScale?.type === "BAND" || yScale?.type === "BAND") return null;
84
+ if (!xScroll) return null;
87
85
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
86
  StyledResetter,
89
87
  {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/Controllers.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { ChartContext } from '../../ChartContext.js';\nimport { TOOLBAR } from '../../../constants.js';\n\nconst StyledResetter = styled('g')<{ isDisabled: boolean }>`\n cursor: ${({ isDisabled }) => (isDisabled ? 'not-allowed' : 'pointer')};\n opacity: ${({ isDisabled }) => (isDisabled ? '0.4' : '1')};\n &focus {\n outline: 2px solid blue;\n }\n`;\nexport const Controllers = () => {\n const {\n props: { xScroll },\n width,\n internalMargin,\n xScale,\n yScale,\n containerRef,\n containerRatio,\n setContainerRatio,\n lastScrollbarPosition,\n setToolbarRef,\n setXScrollbarPosition,\n } = useContext(ChartContext);\n\n const isDisabled = useMemo(() => containerRatio === 1, [containerRatio]);\n const handleOnClick = useCallback(() => {\n setContainerRatio(1);\n setXScrollbarPosition(0);\n lastScrollbarPosition.current = 0;\n }, [lastScrollbarPosition, setContainerRatio, setXScrollbarPosition]);\n\n const handleOnKeyDown: React.KeyboardEventHandler = useCallback(\n (e) => {\n e.stopPropagation();\n if (['Space', 'Enter'].includes(e.code)) {\n setContainerRatio(1);\n setXScrollbarPosition(0);\n lastScrollbarPosition.current = 0;\n containerRef?.focus();\n }\n\n if (e.code === 'Tab' && e.shiftKey) {\n e.preventDefault();\n containerRef?.focus();\n }\n },\n [containerRef, lastScrollbarPosition, setContainerRatio, setXScrollbarPosition],\n );\n\n // if is a bar chart we dont give controls\n if (xScale?.type === 'BAND' || yScale?.type === 'BAND') return null;\n\n if (!xScroll) return null;\n return (\n <StyledResetter\n onClick={handleOnClick}\n onKeyDown={handleOnKeyDown}\n transform={`translate(${width - TOOLBAR.RESET.WIDTH * 2},${internalMargin.top / 2 - TOOLBAR.RESET.HEIGHT / 2})`}\n strokeLinecap=\"round\"\n isDisabled={isDisabled}\n innerRef={setToolbarRef}\n role=\"button\"\n aria-label=\"Reset zoom in chart\"\n tabIndex={isDisabled ? -1 : 0}\n >\n <path\n d=\"M 2.875 7.75 A 5.625 5.625 0 1 1 4.5225 11.7275 L 8.2725 10.7275 L 6.5225 14.9775 L 4.5225 11.7275\n M 0 0 H 17 V 17 H 0 V 0 \"\n fill=\"#ffffff\"\n stroke=\"#000000\"\n strokeLinecap=\"round\"\n strokeWidth=\"1\"\n ></path>\n </StyledResetter>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsEjB;AApEN,mBAAwD;AACxD,uBAAuB;AACvB,0BAA6B;AAC7B,uBAAwB;AAExB,MAAM,qBAAiB,yBAAO,GAAG;AAAA,YACrB,CAAC,EAAE,WAAW,MAAO,aAAa,gBAAgB;AAAA,aACjD,CAAC,EAAE,WAAW,MAAO,aAAa,QAAQ;AAAA;AAAA;AAAA;AAAA;AAKhD,MAAM,cAAc,MAAM;AAC/B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,iBAAa,sBAAQ,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC;AACvE,QAAM,oBAAgB,0BAAY,MAAM;AACtC,sBAAkB,CAAC;AACnB,0BAAsB,CAAC;AACvB,0BAAsB,UAAU;AAAA,EAClC,GAAG,CAAC,uBAAuB,mBAAmB,qBAAqB,CAAC;AAEpE,QAAM,sBAA8C;AAAA,IAClD,CAAC,MAAM;AACL,QAAE,gBAAgB;AAClB,UAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AACvC,0BAAkB,CAAC;AACnB,8BAAsB,CAAC;AACvB,8BAAsB,UAAU;AAChC,sBAAc,MAAM;AAAA,MACtB;AAEA,UAAI,EAAE,SAAS,SAAS,EAAE,UAAU;AAClC,UAAE,eAAe;AACjB,sBAAc,MAAM;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,cAAc,uBAAuB,mBAAmB,qBAAqB;AAAA,EAChF;AAGA,MAAI,QAAQ,SAAS,UAAU,QAAQ,SAAS;AAAQ,WAAO;AAE/D,MAAI,CAAC;AAAS,WAAO;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW,aAAa,QAAQ,yBAAQ,MAAM,QAAQ,KAAK,eAAe,MAAM,IAAI,yBAAQ,MAAM,SAAS;AAAA,MAC3G,eAAc;AAAA,MACd;AAAA,MACA,UAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAW;AAAA,MACX,UAAU,aAAa,KAAK;AAAA,MAE5B;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UAEF,MAAK;AAAA,UACL,QAAO;AAAA,UACP,eAAc;AAAA,UACd,aAAY;AAAA;AAAA,MACb;AAAA;AAAA,EACH;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsEjB;AApEN,mBAAwD;AACxD,uBAAuB;AACvB,0BAA6B;AAC7B,uBAAwB;AAExB,MAAM,qBAAiB,yBAAO,GAAG;AAAA,YACrB,CAAC,EAAE,WAAW,MAAO,aAAa,gBAAgB,SAAU;AAAA,aAC3D,CAAC,EAAE,WAAW,MAAO,aAAa,QAAQ,GAAI;AAAA;AAAA;AAAA;AAAA;AAKpD,MAAM,cAAc,MAAM;AAC/B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,iBAAa,sBAAQ,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC;AACvE,QAAM,oBAAgB,0BAAY,MAAM;AACtC,sBAAkB,CAAC;AACnB,0BAAsB,CAAC;AACvB,0BAAsB,UAAU;AAAA,EAClC,GAAG,CAAC,uBAAuB,mBAAmB,qBAAqB,CAAC;AAEpE,QAAM,sBAA8C;AAAA,IAClD,CAAC,MAAM;AACL,QAAE,gBAAgB;AAClB,UAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AACvC,0BAAkB,CAAC;AACnB,8BAAsB,CAAC;AACvB,8BAAsB,UAAU;AAChC,sBAAc,MAAM;AAAA,MACtB;AAEA,UAAI,EAAE,SAAS,SAAS,EAAE,UAAU;AAClC,UAAE,eAAe;AACjB,sBAAc,MAAM;AAAA,MACtB;AAAA,IACF;AAAA,IACA,CAAC,cAAc,uBAAuB,mBAAmB,qBAAqB;AAAA,EAChF;AAGA,MAAI,QAAQ,SAAS,UAAU,QAAQ,SAAS,OAAQ,QAAO;AAE/D,MAAI,CAAC,QAAS,QAAO;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW,aAAa,QAAQ,yBAAQ,MAAM,QAAQ,CAAC,IAAI,eAAe,MAAM,IAAI,yBAAQ,MAAM,SAAS,CAAC;AAAA,MAC5G,eAAc;AAAA,MACd;AAAA,MACA,UAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAW;AAAA,MACX,UAAU,aAAa,KAAK;AAAA,MAE5B;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UAEF,MAAK;AAAA,UACL,QAAO;AAAA,UACP,eAAc;AAAA,UACd,aAAY;AAAA;AAAA,MACb;AAAA;AAAA,EACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/ScrollBarX.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\n\nexport const ScrollBarX = () => {\n const {\n setIsGrabbed,\n setStartPosition,\n innerWidth,\n xScrollbarPosition,\n activePoint,\n setXScrollbarPosition,\n innerHeight,\n isGrabbed,\n containerRatio,\n setScrapperPosX,\n isScrollbarVisible,\n lastScrollbarPosition,\n } = useContext(ChartContext);\n\n const barWidth = useMemo(() => innerWidth / containerRatio, [containerRatio, innerWidth]);\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n setScrapperPosX(-1);\n setIsGrabbed(true);\n setStartPosition(e.clientX);\n e.preventDefault();\n },\n [setIsGrabbed, setScrapperPosX, setStartPosition],\n );\n\n const handleMouseEnter: React.MouseEventHandler = useCallback(() => {\n setScrapperPosX(-1);\n }, [setScrapperPosX]);\n\n const handleClickFullBar: React.MouseEventHandler = useCallback(\n (e) => {\n let newPosition = 0;\n const bar = e.target as SVGGElement;\n const bounds = bar.getBoundingClientRect();\n const left = e.clientX - bounds.left;\n if (left + barWidth / 2 > innerWidth) {\n newPosition = innerWidth - barWidth;\n } else if (left - barWidth / 2 > 0) {\n newPosition = left - barWidth / 2;\n }\n\n setXScrollbarPosition(newPosition);\n lastScrollbarPosition.current = newPosition;\n e.preventDefault();\n },\n [barWidth, innerWidth, lastScrollbarPosition, setXScrollbarPosition],\n );\n\n const isBarVisible = useMemo(\n () => (isScrollbarVisible || activePoint) && containerRatio > 1,\n [activePoint, containerRatio, isScrollbarVisible],\n );\n\n return (\n <g\n className=\"scrollbarx\"\n transform={`translate(0,${innerHeight})`}\n style={{ visibility: isBarVisible ? 'visible' : 'hidden' }}\n onMouseEnter={handleMouseEnter}\n >\n <rect style={{ cursor: 'pointer' }} width={innerWidth} height=\"6\" fill=\"#ebecf0c5\" onClick={handleClickFullBar} />\n <g transform={`translate(${xScrollbarPosition},0)`}>\n <rect\n style={{ cursor: isGrabbed ? 'grabbing' : 'grab' }}\n width={barWidth}\n height=\"6\"\n fill=\"grey\"\n onMouseDown={handleMouseDown}\n />\n </g>\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+DnB;AA7DJ,mBAAwD;AACxD,0BAA6B;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,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,eAAW,sBAAQ,MAAM,aAAa,gBAAgB,CAAC,gBAAgB,UAAU,CAAC;AAExF,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAAwB;AACvB,QAAE,gBAAgB;AAClB,sBAAgB,EAAE;AAClB,mBAAa,IAAI;AACjB,uBAAiB,EAAE,OAAO;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,cAAc,iBAAiB,gBAAgB;AAAA,EAClD;AAEA,QAAM,uBAA4C,0BAAY,MAAM;AAClE,oBAAgB,EAAE;AAAA,EACpB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,yBAA8C;AAAA,IAClD,CAAC,MAAM;AACL,UAAI,cAAc;AAClB,YAAM,MAAM,EAAE;AACd,YAAM,SAAS,IAAI,sBAAsB;AACzC,YAAM,OAAO,EAAE,UAAU,OAAO;AAChC,UAAI,OAAO,WAAW,IAAI,YAAY;AACpC,sBAAc,aAAa;AAAA,MAC7B,WAAW,OAAO,WAAW,IAAI,GAAG;AAClC,sBAAc,OAAO,WAAW;AAAA,MAClC;AAEA,4BAAsB,WAAW;AACjC,4BAAsB,UAAU;AAChC,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,UAAU,YAAY,uBAAuB,qBAAqB;AAAA,EACrE;AAEA,QAAM,mBAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,WAAW,eAAe;AAAA,MAC1B,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,MACzD,cAAc;AAAA,MAEd;AAAA,oDAAC,UAAK,OAAO,EAAE,QAAQ,UAAU,GAAG,OAAO,YAAY,QAAO,KAAI,MAAK,aAAY,SAAS,oBAAoB;AAAA,QAChH,4CAAC,OAAE,WAAW,aAAa,yBACzB;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,YACjD,OAAO;AAAA,YACP,QAAO;AAAA,YACP,MAAK;AAAA,YACL,aAAa;AAAA;AAAA,QACf,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+DnB;AA7DJ,mBAAwD;AACxD,0BAA6B;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,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,eAAW,sBAAQ,MAAM,aAAa,gBAAgB,CAAC,gBAAgB,UAAU,CAAC;AAExF,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAAwB;AACvB,QAAE,gBAAgB;AAClB,sBAAgB,EAAE;AAClB,mBAAa,IAAI;AACjB,uBAAiB,EAAE,OAAO;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,cAAc,iBAAiB,gBAAgB;AAAA,EAClD;AAEA,QAAM,uBAA4C,0BAAY,MAAM;AAClE,oBAAgB,EAAE;AAAA,EACpB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,yBAA8C;AAAA,IAClD,CAAC,MAAM;AACL,UAAI,cAAc;AAClB,YAAM,MAAM,EAAE;AACd,YAAM,SAAS,IAAI,sBAAsB;AACzC,YAAM,OAAO,EAAE,UAAU,OAAO;AAChC,UAAI,OAAO,WAAW,IAAI,YAAY;AACpC,sBAAc,aAAa;AAAA,MAC7B,WAAW,OAAO,WAAW,IAAI,GAAG;AAClC,sBAAc,OAAO,WAAW;AAAA,MAClC;AAEA,4BAAsB,WAAW;AACjC,4BAAsB,UAAU;AAChC,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,UAAU,YAAY,uBAAuB,qBAAqB;AAAA,EACrE;AAEA,QAAM,mBAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,WAAW,eAAe,WAAW;AAAA,MACrC,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,MACzD,cAAc;AAAA,MAEd;AAAA,oDAAC,UAAK,OAAO,EAAE,QAAQ,UAAU,GAAG,OAAO,YAAY,QAAO,KAAI,MAAK,aAAY,SAAS,oBAAoB;AAAA,QAChH,4CAAC,OAAE,WAAW,aAAa,kBAAkB,OAC3C;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,YACjD,OAAO;AAAA,YACP,QAAO;AAAA,YACP,MAAK;AAAA,YACL,aAAa;AAAA;AAAA,QACf,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/ScrollBarY.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\n\nexport const ScrollBarY = () => {\n const {\n setIsGrabbed,\n setStartPosition,\n xScrollbarPosition,\n activePoint,\n setXScrollbarPosition,\n innerHeight,\n isGrabbed,\n containerRatio,\n setScrapperPosX,\n setScrapperPosY,\n isScrollbarVisible,\n lastScrollbarPosition,\n } = useContext(ChartContext);\n\n const barHeight = useMemo(() => Math.round(innerHeight / containerRatio), [containerRatio, innerHeight]);\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n setScrapperPosX(-1);\n setScrapperPosY(-1);\n setIsGrabbed(true);\n setStartPosition(e.clientY);\n e.preventDefault();\n },\n [setIsGrabbed, setScrapperPosY, setScrapperPosX, setStartPosition],\n );\n\n const handleMouseEnter = useCallback(() => {\n setScrapperPosX(-1);\n }, [setScrapperPosX]);\n\n const handleClickFullBar = useCallback(\n (e: React.MouseEvent) => {\n let newPosition = 0;\n const bar = e.target as HTMLElement;\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 lastScrollbarPosition.current = newPosition;\n e.preventDefault();\n },\n [barHeight, innerHeight, lastScrollbarPosition, 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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+DnB;AA7DJ,mBAAwD;AACxD,0BAA6B;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,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,gBAAY,sBAAQ,MAAM,KAAK,MAAM,cAAc,cAAc,GAAG,CAAC,gBAAgB,WAAW,CAAC;AAEvG,QAAM,sBAAkB;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,uBAAmB,0BAAY,MAAM;AACzC,oBAAgB,EAAE;AAAA,EACpB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,yBAAqB;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,4BAAsB,UAAU;AAChC,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,WAAW,aAAa,uBAAuB,qBAAqB;AAAA,EACvE;AAEA,QAAM,mBAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,WAAU;AAAA,MACV,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,MACzD,cAAc;AAAA,MAEd;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,UAAU;AAAA,YAC3B,OAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA;AAAA,QACX;AAAA,QACA,4CAAC,OAAE,WAAW,eAAe,uBAC3B;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,YACjD,OAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAK;AAAA,YACL,aAAa;AAAA;AAAA,QACf,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+DnB;AA7DJ,mBAAwD;AACxD,0BAA6B;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,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,gBAAY,sBAAQ,MAAM,KAAK,MAAM,cAAc,cAAc,GAAG,CAAC,gBAAgB,WAAW,CAAC;AAEvG,QAAM,sBAAkB;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,uBAAmB,0BAAY,MAAM;AACzC,oBAAgB,EAAE;AAAA,EACpB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,yBAAqB;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,4BAAsB,UAAU;AAChC,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,WAAW,aAAa,uBAAuB,qBAAqB;AAAA,EACvE;AAEA,QAAM,mBAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,WAAU;AAAA,MACV,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,MACzD,cAAc;AAAA,MAEd;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,UAAU;AAAA,YAC3B,OAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS;AAAA;AAAA,QACX;AAAA,QACA,4CAAC,OAAE,WAAW,eAAe,kBAAkB,KAC7C;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,YACjD,OAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAK;AAAA,YACL,aAAa;AAAA;AAAA,QACf,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -67,10 +67,8 @@ const ScrollableContainerX = () => {
67
67
  [containerRef, internalMargin.left]
68
68
  );
69
69
  const Scrappers = (0, import_react.useMemo)(() => {
70
- if (scrapper && scrapper?.type === "horizontal")
71
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scrapper.Scrapper, {});
72
- if (scrapper && scrapper?.type === "vertical")
73
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_VerticalScrapper.VerticalScrapper, {});
70
+ if (scrapper && scrapper?.type === "horizontal") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scrapper.Scrapper, {});
71
+ if (scrapper && scrapper?.type === "vertical") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_VerticalScrapper.VerticalScrapper, {});
74
72
  return null;
75
73
  }, [scrapper]);
76
74
  const handleOnMouseDown = (0, import_react.useCallback)(
@@ -85,27 +83,22 @@ const ScrollableContainerX = () => {
85
83
  );
86
84
  const handleOnMouseMove = (0, import_react.useCallback)(
87
85
  ({ clientX }) => {
88
- if (isZooming)
89
- setMovingPosition(getRealClientX(clientX));
86
+ if (isZooming) setMovingPosition(getRealClientX(clientX));
90
87
  },
91
88
  [getRealClientX, isZooming, setMovingPosition]
92
89
  );
93
90
  const handleOnMouseUp = (0, import_react.useCallback)(
94
91
  (e) => {
95
- if (!isZooming)
96
- return;
92
+ if (!isZooming) return;
97
93
  setIsZooming(false);
98
94
  setMovingPosition(0);
99
95
  const endingPosition = getRealClientX(e.clientX);
100
96
  const diff = Math.abs(zoomStartingPosition - endingPosition);
101
- if (diff <= 0)
102
- return;
97
+ if (diff <= 0) return;
103
98
  const newRatio = innerWidth / (innerWidth * containerRatio / diff) < 40 ? innerWidth / 40 : innerWidth * containerRatio / diff;
104
99
  const newPosition = lastScrollbarPosition?.current + (zoomStartingPosition > endingPosition ? endingPosition : zoomStartingPosition) / containerRatio;
105
- if (newPosition > innerWidth - innerWidth / newRatio)
106
- setXScrollbarPosition(innerWidth - innerWidth / newRatio);
107
- else
108
- setXScrollbarPosition(newPosition);
100
+ if (newPosition > innerWidth - innerWidth / newRatio) setXScrollbarPosition(innerWidth - innerWidth / newRatio);
101
+ else setXScrollbarPosition(newPosition);
109
102
  setContainerRatio(newRatio);
110
103
  lastScrollbarPosition.current = newPosition;
111
104
  e.stopPropagation();
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerX.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\nimport { AxisBottom } from '../Axis/AxisBottom.js';\nimport { SeriesFactory } from '../SeriesFactory.js';\nimport { ScrollBarX } from './ScrollBarX.js';\nimport { Scrapper } from '../Scrapper/Scrapper.js';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper.js';\nexport const ScrollableContainerX = () => {\n const {\n props: { scrapper },\n xScrollbarPosition,\n xScale,\n containerRatio,\n innerWidth,\n isGrabbed,\n containerRef,\n setXScrollbarPosition,\n setContainerRatio,\n lastScrollbarPosition,\n innerHeight,\n internalMargin,\n chartId,\n isZooming,\n setIsZooming,\n zoomStartingPosition,\n setZoomStartingPosition,\n movingPosition,\n setMovingPosition,\n } = useContext(ChartContext);\n\n const getRealClientX = useCallback(\n (clientX: number) => clientX - internalMargin.left - (containerRef?.getBoundingClientRect().left || 0),\n [containerRef, internalMargin.left],\n );\n\n const Scrappers = useMemo(() => {\n if (scrapper && scrapper?.type === 'horizontal') return <Scrapper />;\n if (scrapper && scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper]);\n\n const handleOnMouseDown: React.MouseEventHandler = useCallback(\n ({ clientX }) => {\n if (!isGrabbed && xScale?.type !== 'BAND') {\n setIsZooming(true);\n setZoomStartingPosition(getRealClientX(clientX));\n setMovingPosition(0);\n }\n },\n [getRealClientX, isGrabbed, setIsZooming, setMovingPosition, setZoomStartingPosition, xScale?.type],\n );\n\n const handleOnMouseMove: React.MouseEventHandler = useCallback(\n ({ clientX }) => {\n if (isZooming) setMovingPosition(getRealClientX(clientX));\n },\n [getRealClientX, isZooming, setMovingPosition],\n );\n const handleOnMouseUp: React.MouseEventHandler = useCallback(\n (e) => {\n if (!isZooming) return;\n setIsZooming(false);\n setMovingPosition(0);\n const endingPosition = getRealClientX(e.clientX);\n\n const diff = Math.abs(zoomStartingPosition - endingPosition);\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 (zoomStartingPosition > endingPosition ? endingPosition : zoomStartingPosition) / containerRatio;\n\n // if (newPosition < 0) setXScrollbarPosition(0);\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\n setContainerRatio(newRatio);\n lastScrollbarPosition.current = newPosition;\n e.stopPropagation();\n },\n [\n isZooming,\n setIsZooming,\n setMovingPosition,\n getRealClientX,\n zoomStartingPosition,\n innerWidth,\n containerRatio,\n lastScrollbarPosition,\n setXScrollbarPosition,\n setContainerRatio,\n ],\n );\n return (\n <g\n className=\"scrollable-container-x\"\n onMouseDown={handleOnMouseDown}\n onMouseMove={handleOnMouseMove}\n onMouseUp={handleOnMouseUp}\n >\n <g mask={`url(#mask-${chartId})`}>\n <g transform={`translate(${-xScrollbarPosition * containerRatio},0)`}>\n <AxisBottom />\n <SeriesFactory />\n {Scrappers}\n </g>\n {isZooming && movingPosition !== 0 ? (\n <rect\n x={movingPosition < zoomStartingPosition ? movingPosition : zoomStartingPosition}\n width={Math.abs(movingPosition - zoomStartingPosition)}\n height={innerHeight}\n fill=\"orange\"\n style={{ opacity: 0.2 }}\n />\n ) : null}\n </g>\n <ScrollBarX />\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -48,10 +48,8 @@ const ScrollableContainerY = () => {
48
48
  chartId
49
49
  } = (0, import_react.useContext)(import_ChartContext.ChartContext);
50
50
  const Scrappers = (0, import_react.useMemo)(() => {
51
- if (scrapper?.type === "horizontal")
52
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scrapper.Scrapper, {});
53
- else if (scrapper?.type === "vertical")
54
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_VerticalScrapper.VerticalScrapper, {});
51
+ if (scrapper?.type === "horizontal") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scrapper.Scrapper, {});
52
+ else if (scrapper?.type === "vertical") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_VerticalScrapper.VerticalScrapper, {});
55
53
  return null;
56
54
  }, [scrapper?.type]);
57
55
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { className: "scrollable-container-y", children: [
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerY.tsx", "../../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext.js';\nimport { SeriesFactory } from '../SeriesFactory.js';\nimport { ScrollBarY } from './ScrollBarY.js';\nimport { Scrapper } from '../Scrapper/Scrapper.js';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper.js';\nimport { AxisLeft } from '../Axis/AxisLeft.js';\nexport const ScrollableContainerY = () => {\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 else if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-y\">\n <g mask={`url(#mask-y-${chartId})`}>\n <g transform={`translate(0,${-xScrollbarPosition * containerRatio})`}>\n <SeriesFactory />\n {Scrappers}\n <AxisLeft />\n </g>\n </g>\n <ScrollBarY />\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkByB;AAhBhD,mBAA2C;AAC3C,0BAA6B;AAC7B,2BAA8B;AAC9B,wBAA2B;AAC3B,sBAAyB;AACzB,8BAAiC;AACjC,sBAAyB;AAClB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,gBAAY,sBAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,4CAAC,4BAAS;AAAA,aAC7C,UAAU,SAAS;AAAY,aAAO,4CAAC,4CAAiB;AACjE,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,6CAAC,OAAE,WAAU,0BACX;AAAA,gDAAC,OAAE,MAAM,eAAe,YACtB,uDAAC,OAAE,WAAW,eAAe,CAAC,qBAAqB,mBACjD;AAAA,kDAAC,sCAAc;AAAA,MACd;AAAA,MACD,4CAAC,4BAAS;AAAA,OACZ,GACF;AAAA,IACA,4CAAC,gCAAW;AAAA,KACd;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkByB;AAhBhD,mBAA2C;AAC3C,0BAA6B;AAC7B,2BAA8B;AAC9B,wBAA2B;AAC3B,sBAAyB;AACzB,8BAAiC;AACjC,sBAAyB;AAClB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,gCAAY;AAE3B,QAAM,gBAAY,sBAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS,aAAc,QAAO,4CAAC,4BAAS;AAAA,aAC7C,UAAU,SAAS,WAAY,QAAO,4CAAC,4CAAiB;AACjE,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,6CAAC,OAAE,WAAU,0BACX;AAAA,gDAAC,OAAE,MAAM,eAAe,OAAO,KAC7B,uDAAC,OAAE,WAAW,eAAe,CAAC,qBAAqB,cAAc,KAC/D;AAAA,kDAAC,sCAAc;AAAA,MACd;AAAA,MACD,4CAAC,4BAAS;AAAA,OACZ,GACF;AAAA,IACA,4CAAC,gCAAW;AAAA,KACd;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -39,8 +39,7 @@ const TrendHighlight = ({ currentDatum }) => {
39
39
  const { currentData, getXScaleValue, getY2ScaleValue, getYScaleValue } = (0, import_react.useContext)(import_ChartContext.ChartContext);
40
40
  const prevPoint = currentData?.find((serie) => serie.name === currentDatum.serie && serie.type === "line")?.data?.find((datum) => datum.position === currentDatum.position - 1);
41
41
  const currentYScale = prevPoint?.scale === "y2" ? getY2ScaleValue : getYScaleValue;
42
- if (!prevPoint)
43
- return null;
42
+ if (!prevPoint) return null;
44
43
  const xCurrentPosition = getXScaleValue(currentDatum);
45
44
  const yCurrentPosition = currentYScale(currentDatum);
46
45
  const xPreviousPosition = getXScaleValue(prevPoint);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/graphs/Chart/parts/TrendHighlight.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext } from 'react';\nimport { ChartContext } from '../ChartContext.js';\nimport { type DSChartT } from '../react-desc-prop-types.js';\ninterface TrendHighlightProps {\n currentDatum: DSChartT.InternalDatum;\n}\n\nexport const TrendHighlight: React.ComponentType<TrendHighlightProps> = ({ currentDatum }) => {\n const { currentData, getXScaleValue, getY2ScaleValue, getYScaleValue } = useContext(ChartContext);\n\n const prevPoint = currentData\n ?.find((serie) => serie.name === currentDatum.serie && serie.type === 'line')\n ?.data?.find((datum) => datum.position === currentDatum.position - 1);\n\n const currentYScale = prevPoint?.scale === 'y2' ? getY2ScaleValue : getYScaleValue;\n if (!prevPoint) return null;\n const xCurrentPosition = getXScaleValue(currentDatum);\n const yCurrentPosition = currentYScale(currentDatum);\n const xPreviousPosition = getXScaleValue(prevPoint);\n const yPreviousPosition = currentYScale(prevPoint);\n return (\n <line\n strokeWidth=\"4\"\n stroke={(yPreviousPosition ?? 0) > (yCurrentPosition ?? 0) ? 'green' : 'red'}\n x1={xPreviousPosition}\n x2={xCurrentPosition}\n y1={yPreviousPosition}\n y2={yCurrentPosition}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqBnB;AArBJ,mBAAkC;AAClC,0BAA6B;AAMtB,MAAM,iBAA2D,CAAC,EAAE,aAAa,MAAM;AAC5F,QAAM,EAAE,aAAa,gBAAgB,iBAAiB,eAAe,QAAI,yBAAW,gCAAY;AAEhG,QAAM,YAAY,aACd,KAAK,CAAC,UAAU,MAAM,SAAS,aAAa,SAAS,MAAM,SAAS,MAAM,GAC1E,MAAM,KAAK,CAAC,UAAU,MAAM,aAAa,aAAa,WAAW,CAAC;AAEtE,QAAM,gBAAgB,WAAW,UAAU,OAAO,kBAAkB;AACpE,MAAI,CAAC;AAAW,WAAO;AACvB,QAAM,mBAAmB,eAAe,YAAY;AACpD,QAAM,mBAAmB,cAAc,YAAY;AACnD,QAAM,oBAAoB,eAAe,SAAS;AAClD,QAAM,oBAAoB,cAAc,SAAS;AACjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,SAAS,qBAAqB,MAAM,oBAAoB,KAAK,UAAU;AAAA,MACvE,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA;AAAA,EACN;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqBnB;AArBJ,mBAAkC;AAClC,0BAA6B;AAMtB,MAAM,iBAA2D,CAAC,EAAE,aAAa,MAAM;AAC5F,QAAM,EAAE,aAAa,gBAAgB,iBAAiB,eAAe,QAAI,yBAAW,gCAAY;AAEhG,QAAM,YAAY,aACd,KAAK,CAAC,UAAU,MAAM,SAAS,aAAa,SAAS,MAAM,SAAS,MAAM,GAC1E,MAAM,KAAK,CAAC,UAAU,MAAM,aAAa,aAAa,WAAW,CAAC;AAEtE,QAAM,gBAAgB,WAAW,UAAU,OAAO,kBAAkB;AACpE,MAAI,CAAC,UAAW,QAAO;AACvB,QAAM,mBAAmB,eAAe,YAAY;AACpD,QAAM,mBAAmB,cAAc,YAAY;AACnD,QAAM,oBAAoB,eAAe,SAAS;AAClD,QAAM,oBAAoB,cAAc,SAAS;AACjD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,SAAS,qBAAqB,MAAM,oBAAoB,KAAK,UAAU;AAAA,MACvE,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA;AAAA,EACN;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -75,16 +75,14 @@ class BandScale extends Scale {
75
75
  this.axisProps = axisProps;
76
76
  }
77
77
  get(value) {
78
- if (typeof value !== "string")
79
- return 0;
78
+ if (typeof value !== "string") return 0;
80
79
  return this.scale(value);
81
80
  }
82
81
  getTicks() {
83
82
  return this.scale.domain();
84
83
  }
85
84
  getTickFormatted(t) {
86
- if (typeof t !== "string")
87
- return t;
85
+ if (typeof t !== "string") return t;
88
86
  if (typeof this.axisProps?.tick?.tickFormat === "function") {
89
87
  return this.axisProps?.tick?.tickFormat(t);
90
88
  }
@@ -105,13 +103,11 @@ class LinearScale extends Scale {
105
103
  this.axisProps = axisProps;
106
104
  }
107
105
  get(value) {
108
- if (typeof value !== "number")
109
- return 0;
106
+ if (typeof value !== "number") return 0;
110
107
  return this.scale(value);
111
108
  }
112
109
  getTickFormatted(t) {
113
- if (typeof t !== "number")
114
- return t.toString();
110
+ if (typeof t !== "number") return t.toString();
115
111
  if (typeof this.axisProps?.tick?.tickFormat === "function") {
116
112
  return this.axisProps?.tick?.tickFormat(t);
117
113
  }
@@ -123,14 +119,11 @@ class LinearScale extends Scale {
123
119
  getTicks(dimension) {
124
120
  const ticks = this.scale.ticks?.(this.axisProps?.tick?.tickCount ?? Math.ceil(dimension / 80));
125
121
  if (this.axisProps?.tick?.tickValues) {
126
- if (this.axisProps?.tick?.overwriteTicks)
127
- return this.axisProps?.tick?.tickValues;
122
+ if (this.axisProps?.tick?.overwriteTicks) return this.axisProps?.tick?.tickValues;
128
123
  this.axisProps?.tick?.tickValues.forEach((t) => {
129
- if (typeof t !== "number")
130
- return;
124
+ if (typeof t !== "number") return;
131
125
  const isTickAlreadyPresent = ticks.find((tick) => tick === t);
132
- if (isTickAlreadyPresent)
133
- return;
126
+ if (isTickAlreadyPresent) return;
134
127
  ticks.push(t);
135
128
  });
136
129
  }
@@ -149,8 +142,7 @@ class LogScale extends LinearScale {
149
142
  this.axisProps = axisProps;
150
143
  }
151
144
  getTickFormatted(t) {
152
- if (typeof t !== "number")
153
- return t.toString();
145
+ if (typeof t !== "number") return t.toString();
154
146
  if (typeof this.axisProps?.tick?.tickFormat === "function") {
155
147
  return this.axisProps?.tick?.tickFormat(t);
156
148
  }
@@ -168,13 +160,11 @@ class TimeLinearScale extends Scale {
168
160
  this.axisProps = axisProps;
169
161
  }
170
162
  get(value) {
171
- if (typeof value !== "object")
172
- return 0;
163
+ if (typeof value !== "object") return 0;
173
164
  return this.scale(value);
174
165
  }
175
166
  getTickFormatted(t) {
176
- if (typeof t !== "object")
177
- return t.toString();
167
+ if (typeof t !== "object") return t.toString();
178
168
  if (typeof this.axisProps?.tick?.tickFormat === "function") {
179
169
  return this.axisProps?.tick?.tickFormat(t);
180
170
  }
@@ -189,17 +179,14 @@ class TimeLinearScale extends Scale {
189
179
  const ticks = this.scale.ticks?.(finalTickConfig);
190
180
  const ticksValues = this.axisProps?.tick?.tickValues;
191
181
  if (ticksValues) {
192
- if (this.axisProps?.tick?.overwriteTicks)
193
- return ticksValues;
182
+ if (this.axisProps?.tick?.overwriteTicks) return ticksValues;
194
183
  const newTicks = [];
195
184
  ticks.forEach((t) => {
196
- if (typeof t !== "object")
197
- return;
185
+ if (typeof t !== "object") return;
198
186
  const exists = ticksValues.some(
199
187
  (tickValue) => typeof tickValue === "object" && tickValue.getTime() === t.getTime()
200
188
  );
201
- if (!exists)
202
- newTicks.push(t);
189
+ if (!exists) newTicks.push(t);
203
190
  });
204
191
  return [...newTicks, ...ticksValues];
205
192
  }