@alfalab/core-components-chart 3.3.3 → 3.4.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 (126) hide show
  1. package/Component.js +1 -1
  2. package/components/Dot/index.css +8 -8
  3. package/components/Dot/index.js +1 -1
  4. package/components/Legends/index.css +8 -8
  5. package/components/Legends/index.js +1 -1
  6. package/components/Tick/index.css +4 -4
  7. package/components/Tick/index.js +1 -1
  8. package/components/TooltipContent/index.css +7 -7
  9. package/components/TooltipContent/index.js +1 -1
  10. package/esm/Component.js +1 -1
  11. package/esm/components/Dot/index.css +8 -8
  12. package/esm/components/Dot/index.js +1 -1
  13. package/esm/components/Legends/index.css +8 -8
  14. package/esm/components/Legends/index.js +1 -1
  15. package/esm/components/Tick/index.css +4 -4
  16. package/esm/components/Tick/index.js +1 -1
  17. package/esm/components/TooltipContent/index.css +7 -7
  18. package/esm/components/TooltipContent/index.js +1 -1
  19. package/esm/index.css +5 -5
  20. package/index.css +5 -5
  21. package/modern/Component.js +1 -1
  22. package/modern/components/Dot/index.css +8 -8
  23. package/modern/components/Dot/index.js +1 -1
  24. package/modern/components/Legends/index.css +8 -8
  25. package/modern/components/Legends/index.js +1 -1
  26. package/modern/components/Tick/index.css +4 -4
  27. package/modern/components/Tick/index.js +1 -1
  28. package/modern/components/TooltipContent/index.css +7 -7
  29. package/modern/components/TooltipContent/index.js +1 -1
  30. package/modern/index.css +5 -5
  31. package/moderncssm/Component.d.ts +8 -0
  32. package/moderncssm/Component.js +251 -0
  33. package/moderncssm/components/CustomizedLabel.d.ts +4 -0
  34. package/moderncssm/components/CustomizedLabel.js +11 -0
  35. package/moderncssm/components/Dot/index.d.ts +5 -0
  36. package/moderncssm/components/Dot/index.js +43 -0
  37. package/moderncssm/components/Dot/index.module.css +22 -0
  38. package/moderncssm/components/Legends/index.d.ts +14 -0
  39. package/moderncssm/components/Legends/index.js +36 -0
  40. package/moderncssm/components/Legends/index.module.css +36 -0
  41. package/moderncssm/components/LinearGradient.d.ts +5 -0
  42. package/moderncssm/components/LinearGradient.js +5 -0
  43. package/moderncssm/components/RectBar.d.ts +3 -0
  44. package/moderncssm/components/RectBar.js +27 -0
  45. package/moderncssm/components/Tick/index.d.ts +5 -0
  46. package/moderncssm/components/Tick/index.js +16 -0
  47. package/moderncssm/components/Tick/index.module.css +18 -0
  48. package/moderncssm/components/TooltipContent/index.d.ts +11 -0
  49. package/moderncssm/components/TooltipContent/index.js +26 -0
  50. package/moderncssm/components/TooltipContent/index.module.css +51 -0
  51. package/moderncssm/hooks/usePathBar/index.d.ts +14 -0
  52. package/moderncssm/hooks/usePathBar/index.js +37 -0
  53. package/moderncssm/hooks/usePathBar/utils/getRadius.d.ts +2 -0
  54. package/moderncssm/hooks/usePathBar/utils/getRadius.js +6 -0
  55. package/moderncssm/hooks/useSettings/index.d.ts +19 -0
  56. package/moderncssm/hooks/useSettings/index.js +43 -0
  57. package/moderncssm/hooks/useSettings/utils/setComposedChartsMargin.d.ts +12 -0
  58. package/moderncssm/hooks/useSettings/utils/setComposedChartsMargin.js +12 -0
  59. package/moderncssm/hooks/useSettings/utils/setDatas.d.ts +5 -0
  60. package/moderncssm/hooks/useSettings/utils/setDatas.js +32 -0
  61. package/moderncssm/hooks/useSettings/utils/setGradientCharts.d.ts +3 -0
  62. package/moderncssm/hooks/useSettings/utils/setGradientCharts.js +35 -0
  63. package/moderncssm/hooks/useSettings/utils/setLegendMargin.d.ts +4 -0
  64. package/moderncssm/hooks/useSettings/utils/setLegendMargin.js +14 -0
  65. package/moderncssm/hooks/useSettings/utils/sortByIndex.d.ts +3 -0
  66. package/moderncssm/hooks/useSettings/utils/sortByIndex.js +8 -0
  67. package/moderncssm/icons/Circle.d.ts +8 -0
  68. package/moderncssm/icons/Circle.js +6 -0
  69. package/moderncssm/icons/CircleLine.d.ts +8 -0
  70. package/moderncssm/icons/CircleLine.js +7 -0
  71. package/moderncssm/icons/FilledCircle.d.ts +8 -0
  72. package/moderncssm/icons/FilledCircle.js +10 -0
  73. package/moderncssm/icons/Point.d.ts +8 -0
  74. package/moderncssm/icons/Point.js +7 -0
  75. package/moderncssm/icons/StrokeCircle.d.ts +8 -0
  76. package/moderncssm/icons/StrokeCircle.js +6 -0
  77. package/moderncssm/index.d.ts +2 -0
  78. package/moderncssm/index.js +1 -0
  79. package/moderncssm/index.module.css +19 -0
  80. package/moderncssm/types/brush.types.d.ts +41 -0
  81. package/moderncssm/types/brush.types.js +1 -0
  82. package/moderncssm/types/cartesianGrid.types.d.ts +23 -0
  83. package/moderncssm/types/cartesianGrid.types.js +1 -0
  84. package/moderncssm/types/chart.types.d.ts +61 -0
  85. package/moderncssm/types/chart.types.js +1 -0
  86. package/moderncssm/types/composedChart.types.d.ts +33 -0
  87. package/moderncssm/types/composedChart.types.js +1 -0
  88. package/moderncssm/types/index.d.ts +14 -0
  89. package/moderncssm/types/index.js +1 -0
  90. package/moderncssm/types/labelList.types.d.ts +5 -0
  91. package/moderncssm/types/labelList.types.js +1 -0
  92. package/moderncssm/types/legend.types.d.ts +30 -0
  93. package/moderncssm/types/legend.types.js +1 -0
  94. package/moderncssm/types/options.types.d.ts +59 -0
  95. package/moderncssm/types/options.types.js +1 -0
  96. package/moderncssm/types/payload.types.d.ts +29 -0
  97. package/moderncssm/types/payload.types.js +1 -0
  98. package/moderncssm/types/responsiveContainer.types.d.ts +10 -0
  99. package/moderncssm/types/responsiveContainer.types.js +1 -0
  100. package/moderncssm/types/seria.types.d.ts +72 -0
  101. package/moderncssm/types/seria.types.js +1 -0
  102. package/moderncssm/types/tooltip.types.d.ts +70 -0
  103. package/moderncssm/types/tooltip.types.js +1 -0
  104. package/moderncssm/types/utils/axis.types.d.ts +68 -0
  105. package/moderncssm/types/utils/axis.types.js +1 -0
  106. package/moderncssm/types/utils/coordinates.types.d.ts +11 -0
  107. package/moderncssm/types/utils/coordinates.types.js +1 -0
  108. package/moderncssm/types/utils/data.types.d.ts +17 -0
  109. package/moderncssm/types/utils/data.types.js +1 -0
  110. package/moderncssm/types/utils/dot.types.d.ts +73 -0
  111. package/moderncssm/types/utils/dot.types.js +1 -0
  112. package/moderncssm/types/utils/gradient.types.d.ts +29 -0
  113. package/moderncssm/types/utils/gradient.types.js +1 -0
  114. package/moderncssm/types/utils/index.d.ts +7 -0
  115. package/moderncssm/types/utils/index.js +1 -0
  116. package/moderncssm/types/utils/tick.types.d.ts +19 -0
  117. package/moderncssm/types/utils/tick.types.js +1 -0
  118. package/moderncssm/types/xAxis.types.d.ts +16 -0
  119. package/moderncssm/types/xAxis.types.js +1 -0
  120. package/moderncssm/types/yAxis.types.d.ts +8 -0
  121. package/moderncssm/types/yAxis.types.js +1 -0
  122. package/package.json +4 -4
  123. package/src/components/Legends/index.module.css +1 -1
  124. package/src/components/Tick/index.module.css +1 -1
  125. package/src/components/TooltipContent/index.module.css +1 -1
  126. package/src/index.module.css +1 -1
@@ -1,19 +1,19 @@
1
- /* hash: 12gij */
2
- .chart__dotUnfocused_11akp {
1
+ /* hash: 1c6qr */
2
+ .chart__dotUnfocused_12174 {
3
3
  opacity: 0.3;
4
4
  }
5
5
 
6
- .chart__dot_11akp,
7
- .chart__dotItem_11akp,
8
- .chart__dotWrap_11akp {
6
+ .chart__dot_12174,
7
+ .chart__dotItem_12174,
8
+ .chart__dotWrap_12174 {
9
9
  transition: all 0.2s ease;
10
10
  }
11
11
 
12
- .chart__dot_11akp {
13
- animation: chart__showDot_11akp 0.5s ease;
12
+ .chart__dot_12174 {
13
+ animation: chart__showDot_12174 0.5s ease;
14
14
  }
15
15
 
16
- @keyframes chart__showDot_11akp {
16
+ @keyframes chart__showDot_12174 {
17
17
  from {
18
18
  opacity: 0;
19
19
  }
@@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { PointIcon } from '../../icons/Point.js';
4
4
 
5
- const styles = {"dotUnfocused":"chart__dotUnfocused_11akp","dot":"chart__dot_11akp","dotItem":"chart__dotItem_11akp","dotWrap":"chart__dotWrap_11akp","showDot":"chart__showDot_11akp"};
5
+ const styles = {"dotUnfocused":"chart__dotUnfocused_12174","dot":"chart__dot_12174","dotItem":"chart__dotItem_12174","dotWrap":"chart__dotWrap_12174","showDot":"chart__showDot_12174"};
6
6
  require('./index.css')
7
7
 
8
8
  const Dot = React.forwardRef(({ cx, cy, index, activeDot, dataKey, dotSettings, value, stroke }, ref) => {
@@ -1,4 +1,4 @@
1
- /* hash: bxz59 */
1
+ /* hash: 1fujw */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -20,25 +20,25 @@
20
20
  --gap-32: var(--gap-2xl);
21
21
  } :root {
22
22
  } :root {
23
- } .chart__legendContent_1j6e2 {
23
+ } .chart__legendContent_xbr7n {
24
24
  display: flex;
25
25
  align-items: center;
26
26
  flex-wrap: wrap;
27
- } .chart__legendWrap_1j6e2 {
27
+ } .chart__legendWrap_xbr7n {
28
28
  width: 100%;
29
29
  margin: 0;
30
30
  padding: 0;
31
- } .chart__legendItem_1j6e2 {
31
+ } .chart__legendItem_xbr7n {
32
32
  margin-right: var(--gap-32);
33
33
  cursor: pointer;
34
34
  display: inline-block;
35
- } .chart__legendItem_1j6e2:last-child {
35
+ } .chart__legendItem_xbr7n:last-child {
36
36
  margin-right: 0;
37
- } .chart__legendUnactive_1j6e2 {
37
+ } .chart__legendUnactive_xbr7n {
38
38
  opacity: 0.3;
39
- } .chart__legendIcon_1j6e2 {
39
+ } .chart__legendIcon_xbr7n {
40
40
  margin-right: 13px;
41
41
  display: flex;
42
- } .chart__legendValue_1j6e2 {
42
+ } .chart__legendValue_xbr7n {
43
43
  text-transform: capitalize;
44
44
  }
@@ -6,7 +6,7 @@ import { CircleLineIcon } from '../../icons/CircleLine.js';
6
6
  import { FilledCircleIcon } from '../../icons/FilledCircle.js';
7
7
  import { StrokeCircleIcon } from '../../icons/StrokeCircle.js';
8
8
 
9
- const styles = {"legendContent":"chart__legendContent_1j6e2","legendWrap":"chart__legendWrap_1j6e2","legendItem":"chart__legendItem_1j6e2","legendUnactive":"chart__legendUnactive_1j6e2","legendIcon":"chart__legendIcon_1j6e2","legendValue":"chart__legendValue_1j6e2"};
9
+ const styles = {"legendContent":"chart__legendContent_xbr7n","legendWrap":"chart__legendWrap_xbr7n","legendItem":"chart__legendItem_xbr7n","legendUnactive":"chart__legendUnactive_xbr7n","legendIcon":"chart__legendIcon_xbr7n","legendValue":"chart__legendValue_xbr7n"};
10
10
  require('./index.css')
11
11
 
12
12
  const icons = {
@@ -1,4 +1,4 @@
1
- /* hash: 174f7 */
1
+ /* hash: 1nd7k */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-dark-base-bg-primary: #121213;
@@ -20,15 +20,15 @@
20
20
  /* новые значения, используйте их */
21
21
  } :root {
22
22
  } :root {
23
- } .chart__tickText_pf9mz {
23
+ } .chart__tickText_ngpn7 {
24
24
  fill: var(--color-light-text-primary);
25
25
  font-size: 16px;
26
26
  line-height: 24px;
27
27
  font-weight: 400;
28
- } .chart__circle_pf9mz {
28
+ } .chart__circle_ngpn7 {
29
29
  opacity: 0.3;
30
30
  fill: var(--color-dark-base-bg-primary);
31
- } .chart__circle_pf9mz {
31
+ } .chart__circle_ngpn7 {
32
32
  opacity: 0.3;
33
33
  fill: var(--color-dark-base-bg-primary);
34
34
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- const styles = {"tickText":"chart__tickText_pf9mz","circle":"chart__circle_pf9mz"};
4
+ const styles = {"tickText":"chart__tickText_ngpn7","circle":"chart__circle_ngpn7"};
5
5
  require('./index.css')
6
6
 
7
7
  const Tick = ({ y, payload, tickFormatter, xAxis }) => {
@@ -1,4 +1,4 @@
1
- /* hash: 4kx7t */
1
+ /* hash: 1nd8w */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-base-bg-primary: #fff;
@@ -27,7 +27,7 @@
27
27
  --gap-16: var(--gap-m);
28
28
  } :root {
29
29
  } :root {
30
- } .chart__tooltip_1pwl1 {
30
+ } .chart__tooltip_5yeac {
31
31
  background-color: var(--color-light-base-bg-primary);
32
32
  border: 1px solid var(--color-light-neutral-400);
33
33
  box-shadow: var(--shadow-l);
@@ -35,15 +35,15 @@
35
35
  padding: var(--gap-12) var(--gap-16);
36
36
  pointer-events: none;
37
37
  position: relative;
38
- } .chart__tooltipList_1pwl1 {
38
+ } .chart__tooltipList_5yeac {
39
39
  position: relative;
40
40
  z-index: 5;
41
41
  list-style-type: none;
42
42
  padding: 0;
43
43
  margin: 0;
44
- } .chart__tooltipItem_1pwl1 {
44
+ } .chart__tooltipItem_5yeac {
45
45
  margin-bottom: 10px;
46
- } .chart__tooltipArrow_1pwl1 {
46
+ } .chart__tooltipArrow_5yeac {
47
47
  position: absolute;
48
48
  left: 0;
49
49
  top: 50%;
@@ -52,7 +52,7 @@
52
52
  height: 10px;
53
53
  border: 1px solid var(--color-light-neutral-400);
54
54
  background-color: var(--color-light-base-bg-primary);
55
- } .chart__tooltipArrow_1pwl1:before {
55
+ } .chart__tooltipArrow_5yeac:before {
56
56
  content: '';
57
57
  position: absolute;
58
58
  left: -2px;
@@ -62,7 +62,7 @@
62
62
  border-style: solid;
63
63
  border-width: 0 24px 24px 0;
64
64
  border-color: transparent var(--color-light-base-bg-primary) transparent transparent;
65
- } .chart__tooltipArrowRight_1pwl1 {
65
+ } .chart__tooltipArrowRight_5yeac {
66
66
  left: 100%;
67
67
  transform: translate(-50%, -50%) scale(-1, 1) rotate(45deg);
68
68
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { Typography } from '@alfalab/core-components-typography/modern';
4
4
 
5
- const styles = {"tooltip":"chart__tooltip_1pwl1","tooltipList":"chart__tooltipList_1pwl1","tooltipItem":"chart__tooltipItem_1pwl1","tooltipArrow":"chart__tooltipArrow_1pwl1","tooltipArrowRight":"chart__tooltipArrowRight_1pwl1"};
5
+ const styles = {"tooltip":"chart__tooltip_5yeac","tooltipList":"chart__tooltipList_5yeac","tooltipItem":"chart__tooltipItem_5yeac","tooltipArrow":"chart__tooltipArrow_5yeac","tooltipArrowRight":"chart__tooltipArrowRight_5yeac"};
6
6
  require('./index.css')
7
7
 
8
8
  const TooltipContent = ({ payload, separator, label, tooltipArrowSide, arrow, series, labelFormatter, labelStyle, }) => {
package/modern/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 1v42f */
1
+ /* hash: zzj4b */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-primary: rgba(3, 3, 6, 0.88); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -19,14 +19,14 @@
19
19
  /* новые значения, используйте их */
20
20
  } :root {
21
21
  } :root {
22
- } .chart__coreChart_qrhfb .recharts-line path {
22
+ } .chart__coreChart_1ubx3 .recharts-line path {
23
23
  transition: d 0.2s ease-out;
24
- } .chart__coreChart_qrhfb .recharts-text tspan {
24
+ } .chart__coreChart_1ubx3 .recharts-text tspan {
25
25
  fill: var(--color-light-text-primary);
26
26
  font-size: 16px;
27
27
  line-height: 22px;
28
- } .chart__bar_qrhfb {
28
+ } .chart__bar_1ubx3 {
29
29
  transition: opacity 0.2s ease-out, d 0.2s ease-out;
30
- } .chart__unfocused_qrhfb {
30
+ } .chart__unfocused_1ubx3 {
31
31
  opacity: 0.3;
32
32
  }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { OptionsProps } from "./types/index";
4
+ declare const Chart: {
5
+ (props: OptionsProps): React.JSX.Element | null;
6
+ displayName: string;
7
+ };
8
+ export { Chart };
@@ -0,0 +1,251 @@
1
+ import React, { useState, useRef, useMemo, useCallback, useEffect } from 'react';
2
+ import cn from 'classnames';
3
+ import { ResponsiveContainer, Legend, CartesianGrid, XAxis, YAxis, Brush, Tooltip, Area, Line, Bar, LabelList, Cell, ComposedChart } from 'recharts';
4
+ import { CustomizedLabel } from './components/CustomizedLabel.js';
5
+ import { Dot } from './components/Dot/index.js';
6
+ import { Legends } from './components/Legends/index.js';
7
+ import { LinearGradient } from './components/LinearGradient.js';
8
+ import { RectBar } from './components/RectBar.js';
9
+ import { Tick } from './components/Tick/index.js';
10
+ import { TooltipContent } from './components/TooltipContent/index.js';
11
+ import { useSettings } from './hooks/useSettings/index.js';
12
+ import styles from './index.module.css';
13
+
14
+ const CustomizedHOC = (Component, options) => {
15
+ const NewComponent = (props) => React.createElement(Component, { ...props, ...options });
16
+ return NewComponent;
17
+ };
18
+
19
+ /* eslint-disable @typescript-eslint/no-explicit-any,prefer-template */
20
+ const Chart = (props) => {
21
+ const [{ state, data, charts, filterCount }, { setCharts, setFilterCount }] = useSettings(props);
22
+ const [activeDotsState, setActiveDotsState] = useState({
23
+ prev: null,
24
+ active: null,
25
+ });
26
+ const [yBrush, setYBrush] = useState(null);
27
+ const [tooltipArrowSide, setTooltipArrowSide] = useState(null);
28
+ const [heightLegend, setHeightLegend] = useState(0);
29
+ const svgRef = useRef(null);
30
+ const tooltipRef = useRef(null);
31
+ const renderGradient = useMemo(() => {
32
+ if (!state)
33
+ return null;
34
+ return state.series.map((item) => {
35
+ const { chart, gradient } = item;
36
+ if (chart !== 'gradient' || !gradient)
37
+ return null;
38
+ const { gid, points } = gradient;
39
+ return (React.createElement(LinearGradient, { key: `${state.id}-${gid}`, id: state.id, gid: gid, points: points }));
40
+ });
41
+ }, [state]);
42
+ const toggleChart = useCallback((item) => {
43
+ const { chart, properties: { dataKey }, } = item;
44
+ const withGrad = chart === 'area';
45
+ let changed = false;
46
+ if (charts[dataKey + ''] && filterCount > 1) {
47
+ changed = true;
48
+ setFilterCount((prev) => prev - 1);
49
+ }
50
+ if (!charts[dataKey + '']) {
51
+ changed = true;
52
+ setFilterCount((prev) => prev + 1);
53
+ }
54
+ if (!changed)
55
+ return;
56
+ setCharts((prev) => {
57
+ const newState = { ...prev };
58
+ newState[dataKey + ''] = !newState[dataKey + ''];
59
+ if (withGrad)
60
+ newState[dataKey + '-gradient'] = !newState[dataKey + '-gradient'];
61
+ return newState;
62
+ });
63
+ }, [charts, filterCount, setCharts, setFilterCount]);
64
+ const legendRef = useCallback((node) => {
65
+ if (node !== null) {
66
+ setTimeout(() => {
67
+ const { height } = node.getBoundingClientRect();
68
+ setHeightLegend(height);
69
+ }, 0);
70
+ }
71
+ }, []);
72
+ const renderLegend = useMemo(() => {
73
+ if (!state?.legend)
74
+ return null;
75
+ const translate = state?.xAxis?.tickMargin && state?.legend?.verticalAlign !== 'top'
76
+ ? state.xAxis.tickMargin + (state?.brush?.brushMargin || 0)
77
+ : 0;
78
+ return (React.createElement(Legend, { ...(state.legend || null), content: React.createElement(Legends, { legend: state.legend, series: state.series, id: state.id, toggleChart: toggleChart, ref: legendRef, charts: charts }), wrapperStyle: {
79
+ transform: `translateY(${translate}px)`,
80
+ } }));
81
+ }, [state, charts, toggleChart, legendRef]);
82
+ const renderCartesianGrid = useMemo(() => {
83
+ if (!state?.cartesianGrid)
84
+ return null;
85
+ return React.createElement(CartesianGrid, { ...state.cartesianGrid });
86
+ }, [state]);
87
+ const renderXAxis = useMemo(() => {
88
+ if (!state?.xAxis)
89
+ return null;
90
+ let tick;
91
+ if (state?.xAxis?.tickType === 'point') {
92
+ tick = CustomizedHOC(Tick, { xAxis: state.xAxis });
93
+ }
94
+ else if (typeof state.xAxis.tick === 'boolean') {
95
+ tick = state.xAxis.tick;
96
+ }
97
+ else {
98
+ tick = true;
99
+ }
100
+ return React.createElement(XAxis, { ...state.xAxis, tick: tick });
101
+ }, [state]);
102
+ const renderYAxis = useMemo(() => {
103
+ if (!state?.yAxis)
104
+ return null;
105
+ let tick;
106
+ if (state?.yAxis?.tick) {
107
+ tick = CustomizedHOC(state.yAxis.tick, { state });
108
+ }
109
+ else if (typeof state.yAxis.tick === 'boolean') {
110
+ tick = state.yAxis.tick;
111
+ }
112
+ else {
113
+ tick = true;
114
+ }
115
+ return React.createElement(YAxis, { ...state.yAxis, tick: tick });
116
+ }, [state]);
117
+ const renderBrush = useMemo(() => {
118
+ if (!state?.brush)
119
+ return null;
120
+ return React.createElement(Brush, { y: typeof yBrush === 'number' ? yBrush : 0, ...state.brush });
121
+ }, [state, yBrush]);
122
+ const renderTooltip = useMemo(() => {
123
+ if (!state?.tooltip)
124
+ return null;
125
+ return (React.createElement(Tooltip, { ref: tooltipRef, ...state.tooltip, content: CustomizedHOC(TooltipContent, { series: state.series, tooltipArrowSide }) }));
126
+ }, [state, tooltipArrowSide]);
127
+ const renderChartsItems = useMemo(() => {
128
+ if (!state || !charts)
129
+ return null;
130
+ return state.series.map((item) => {
131
+ const { chart, properties, radius, labelList } = item;
132
+ const show = charts[`${properties.dataKey}`];
133
+ switch (chart) {
134
+ case 'bar':
135
+ return show && !item?.hide ? (React.createElement(Bar, { key: `${state.id}-${properties.dataKey}`, ...properties, shape: React.createElement(RectBar, { radius: radius }) },
136
+ labelList && (React.createElement(LabelList, { dataKey: properties.dataKey.toString(), ...labelList, content: React.createElement(CustomizedLabel, { radius: radius }) })),
137
+ data.map((_, index) => {
138
+ const key = `${state.id}-${properties.dataKey}-${index}`;
139
+ return (React.createElement(Cell, { key: key, className: cn(styles.bar, typeof activeDotsState.active === 'number' &&
140
+ activeDotsState.active !== index
141
+ ? styles.unfocused
142
+ : '') }));
143
+ }))) : null;
144
+ case 'area':
145
+ case 'line':
146
+ return show && !item?.hide ? (React.createElement(Line, { key: `${state.id}-${properties.dataKey}`, ...properties, dot: properties.dot && properties.dotSettings
147
+ ? CustomizedHOC(Dot, {
148
+ activeDot: activeDotsState.active,
149
+ dotSettings: properties.dotSettings,
150
+ inherit: properties?.inheritStroke
151
+ ? properties.inheritStroke
152
+ : false,
153
+ })
154
+ : false, activeDot: false })) : null;
155
+ case 'gradient':
156
+ return show && !item?.hide ? (React.createElement(Area, { ...item.properties, key: `${state.id}-${item.properties.dataKey}`, dataKey: `${item.properties.dataKey}`, stroke: 'transparent', fill: item.gradient.gid
157
+ ? `url(#${state.id}-${item.gradient.gid})`
158
+ : item.properties.fill, dot: false, activeDot: false })) : null;
159
+ default:
160
+ return null;
161
+ }
162
+ });
163
+ }, [charts, state, activeDotsState, data]);
164
+ // Позиционирование brush
165
+ useEffect(() => {
166
+ if (!state || !state.brush)
167
+ return;
168
+ if (!heightLegend || heightLegend === 0)
169
+ return;
170
+ const align = state?.legend?.verticalAlign;
171
+ const legendHeight = align === 'top' ? 0 : heightLegend;
172
+ const marginTick = state?.xAxis?.tickMargin ? state?.xAxis?.tickMargin : 0;
173
+ const brushY = (svgRef.current?.clientHeight ? svgRef.current.clientHeight : 0) -
174
+ legendHeight -
175
+ state.brush.height -
176
+ (state?.composeChart?.margin?.bottom ? state.composeChart.margin.bottom : 0) +
177
+ marginTick +
178
+ (state.brush?.brushMargin ? state.brush.brushMargin : 0);
179
+ setYBrush(brushY);
180
+ }, [heightLegend, state]);
181
+ const leaveEvent = (isTooltipActive) => {
182
+ if (isTooltipActive)
183
+ return;
184
+ if (typeof activeDotsState.prev !== 'number' || typeof activeDotsState.active !== 'number')
185
+ return;
186
+ setActiveDotsState({
187
+ prev: null,
188
+ active: null,
189
+ });
190
+ };
191
+ const arrowTooltipEvent = (activeCoordinate) => {
192
+ if (!state?.tooltip?.arrow)
193
+ return;
194
+ if (state?.tooltip?.arrow && activeCoordinate?.x) {
195
+ const side = (svgRef?.current?.clientWidth || 0) -
196
+ (state?.composeChart?.margin?.right || 0) -
197
+ activeCoordinate.x -
198
+ (tooltipRef.current?.state?.boxWidth || 0) >
199
+ 20;
200
+ setTooltipArrowSide(side);
201
+ }
202
+ };
203
+ const hoverEvent = (isTooltipActive, activeTooltipIndex) => {
204
+ if (!isTooltipActive)
205
+ return;
206
+ if (typeof activeDotsState.active === 'number' &&
207
+ activeTooltipIndex === activeDotsState.active)
208
+ return;
209
+ if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.active !== 'number') {
210
+ setActiveDotsState({
211
+ prev: activeTooltipIndex,
212
+ active: activeTooltipIndex,
213
+ });
214
+ }
215
+ if (typeof activeTooltipIndex === 'number' && typeof activeDotsState.prev === 'number') {
216
+ setActiveDotsState((prev) => ({
217
+ prev: prev.active,
218
+ active: activeTooltipIndex,
219
+ }));
220
+ }
221
+ };
222
+ const mouseMove = (e) => {
223
+ if (!state?.tooltip)
224
+ return;
225
+ arrowTooltipEvent(e.activeCoordinate);
226
+ hoverEvent(e.isTooltipActive, e.activeTooltipIndex);
227
+ leaveEvent(e.isTooltipActive);
228
+ };
229
+ const mouseLeave = (e) => {
230
+ if (!state?.tooltip)
231
+ return;
232
+ leaveEvent(e.isTooltipActive);
233
+ };
234
+ if (!data || !charts || !state)
235
+ return null;
236
+ return (React.createElement("div", { className: styles.coreChart, ref: svgRef, id: state?.id || '', style: { width: '100%', height: '100%' } },
237
+ React.createElement(ResponsiveContainer, { debounce: state?.responsiveContainer?.debounce ? state.responsiveContainer.debounce : 0, width: '100%' },
238
+ React.createElement(ComposedChart, { ...state?.composeChart, onMouseMove: mouseMove, onMouseLeave: mouseLeave, data: data },
239
+ React.createElement("defs", null, renderGradient),
240
+ state.cartesianGrid && renderCartesianGrid,
241
+ state.xAxis && renderXAxis,
242
+ state.yAxis && renderYAxis,
243
+ renderChartsItems,
244
+ state.tooltip && renderTooltip,
245
+ state.brush && renderBrush,
246
+ state.legend && renderLegend))));
247
+ };
248
+ Chart.displayName = 'Chart';
249
+ ResponsiveContainer.displayName = 'ResponsiveContainer';
250
+
251
+ export { Chart };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ declare const CustomizedLabel: React.FC<any>;
4
+ export { CustomizedLabel };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { usePathBar } from '../hooks/usePathBar/index.js';
3
+
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ const CustomizedLabel = ({ x, y, value, offset, radius, height, width, formatter, }) => {
6
+ const [initHeight] = usePathBar({ radius, height });
7
+ return (React.createElement("text", { x: x + width / 2, y: y + height - (initHeight + offset), width: width, height: initHeight, textAnchor: 'middle' },
8
+ React.createElement("tspan", { x: x + width / 2 }, formatter ? formatter(value) : value)));
9
+ };
10
+
11
+ export { CustomizedLabel };
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { DotProps } from "../../types/utils/dot.types";
4
+ declare const Dot: React.ForwardRefExoticComponent<DotProps & React.RefAttributes<SVGSVGElement>>;
5
+ export { Dot };
@@ -0,0 +1,43 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import cn from 'classnames';
3
+ import { PointIcon } from '../../icons/Point.js';
4
+ import styles from './index.module.css';
5
+
6
+ const Dot = React.forwardRef(({ cx, cy, index, activeDot, dataKey, dotSettings, value, stroke }, ref) => {
7
+ const [windowWidth, setWindowWidth] = useState(0);
8
+ const [height, setHeight] = useState(0);
9
+ const [width, setWidth] = useState(0);
10
+ const [option, setOption] = useState(null);
11
+ useEffect(() => {
12
+ let dotSetting = Array.isArray(dotSettings) && dotSettings.length > 0
13
+ ? dotSettings.find((item) => item.media && windowWidth < item.media)
14
+ : dotSettings;
15
+ if (Array.isArray(dotSettings) && dotSettings.length > 0 && !dotSetting) {
16
+ dotSetting = dotSettings[dotSettings.length - 1];
17
+ }
18
+ setWindowWidth(window.innerWidth);
19
+ setOption(dotSetting);
20
+ }, [dotSettings, windowWidth]);
21
+ useEffect(() => {
22
+ if (!option)
23
+ return;
24
+ if (typeof activeDot === 'number' && activeDot === index) {
25
+ setHeight(option.height * option.scale);
26
+ setWidth(option.width * option.scale);
27
+ }
28
+ else {
29
+ setHeight(option.height * option.initScale);
30
+ setWidth(option.width * option.initScale);
31
+ }
32
+ }, [activeDot, index, option]);
33
+ if (!value)
34
+ return null;
35
+ return (React.createElement("g", { ref: ref, className: cn(styles.dot), transform: `translate(${cx - width / 2}, ${cy - height / 2})` },
36
+ React.createElement("g", { className: cn(styles.dotWrap), transform: `scale(${activeDot === index ? option?.scale || 0 : option?.initScale || 0})` },
37
+ React.createElement("svg", { className: cn(styles.dotItem, activeDot === index ? styles.dotActive : '', typeof activeDot === 'number' && activeDot !== index
38
+ ? styles.dotUnfocused
39
+ : ''), "data-id": index, "data-name": dataKey, width: option?.width || 0, height: option?.height || 0 },
40
+ React.createElement(PointIcon, { fill: stroke })))));
41
+ });
42
+
43
+ export { Dot };
@@ -0,0 +1,22 @@
1
+ .dotUnfocused {
2
+ opacity: 0.3;
3
+ }
4
+
5
+ .dot,
6
+ .dotItem,
7
+ .dotWrap {
8
+ transition: all 0.2s ease;
9
+ }
10
+
11
+ .dot {
12
+ animation: showDot 0.5s ease;
13
+ }
14
+
15
+ @keyframes showDot {
16
+ from {
17
+ opacity: 0;
18
+ }
19
+ to {
20
+ opacity: 1;
21
+ }
22
+ }