@mantine/charts 7.13.3 → 7.13.5-alpha.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 (132) hide show
  1. package/package.json +7 -7
  2. package/styles.css +43 -0
  3. package/styles.layer.css +43 -0
  4. package/cjs/AreaChart/AreaChart.cjs +0 -388
  5. package/cjs/AreaChart/AreaChart.cjs.map +0 -1
  6. package/cjs/AreaChart/AreaGradient.cjs +0 -15
  7. package/cjs/AreaChart/AreaGradient.cjs.map +0 -1
  8. package/cjs/AreaChart/AreaSplit.cjs +0 -31
  9. package/cjs/AreaChart/AreaSplit.cjs.map +0 -1
  10. package/cjs/AreaChart/get-split-offset.cjs +0 -25
  11. package/cjs/AreaChart/get-split-offset.cjs.map +0 -1
  12. package/cjs/BarChart/BarChart.cjs +0 -374
  13. package/cjs/BarChart/BarChart.cjs.map +0 -1
  14. package/cjs/BubbleChart/BubbleChart.cjs +0 -148
  15. package/cjs/BubbleChart/BubbleChart.cjs.map +0 -1
  16. package/cjs/ChartLegend/ChartLegend.cjs +0 -97
  17. package/cjs/ChartLegend/ChartLegend.cjs.map +0 -1
  18. package/cjs/ChartLegend/ChartLegend.module.css.cjs +0 -7
  19. package/cjs/ChartLegend/ChartLegend.module.css.cjs.map +0 -1
  20. package/cjs/ChartTooltip/ChartTooltip.cjs +0 -124
  21. package/cjs/ChartTooltip/ChartTooltip.cjs.map +0 -1
  22. package/cjs/ChartTooltip/ChartTooltip.module.css.cjs +0 -7
  23. package/cjs/ChartTooltip/ChartTooltip.module.css.cjs.map +0 -1
  24. package/cjs/CompositeChart/CompositeChart.cjs +0 -393
  25. package/cjs/CompositeChart/CompositeChart.cjs.map +0 -1
  26. package/cjs/DonutChart/DonutChart.cjs +0 -149
  27. package/cjs/DonutChart/DonutChart.cjs.map +0 -1
  28. package/cjs/DonutChart/DonutChart.module.css.cjs +0 -7
  29. package/cjs/DonutChart/DonutChart.module.css.cjs.map +0 -1
  30. package/cjs/LineChart/LineChart.cjs +0 -353
  31. package/cjs/LineChart/LineChart.cjs.map +0 -1
  32. package/cjs/PieChart/PieChart.cjs +0 -175
  33. package/cjs/PieChart/PieChart.cjs.map +0 -1
  34. package/cjs/PieChart/PieChart.module.css.cjs +0 -7
  35. package/cjs/PieChart/PieChart.module.css.cjs.map +0 -1
  36. package/cjs/PointLabel/PointLabel.cjs +0 -23
  37. package/cjs/PointLabel/PointLabel.cjs.map +0 -1
  38. package/cjs/RadarChart/RadarChart.cjs +0 -113
  39. package/cjs/RadarChart/RadarChart.cjs.map +0 -1
  40. package/cjs/RadarChart/RadarChart.module.css.cjs +0 -7
  41. package/cjs/RadarChart/RadarChart.module.css.cjs.map +0 -1
  42. package/cjs/ScatterChart/ScatterChart.cjs +0 -287
  43. package/cjs/ScatterChart/ScatterChart.cjs.map +0 -1
  44. package/cjs/Sparkline/Sparkline.cjs +0 -103
  45. package/cjs/Sparkline/Sparkline.cjs.map +0 -1
  46. package/cjs/grid-chart.module.css.cjs +0 -7
  47. package/cjs/grid-chart.module.css.cjs.map +0 -1
  48. package/cjs/index.cjs +0 -36
  49. package/cjs/index.cjs.map +0 -1
  50. package/cjs/utils/get-series-labels/get-series-labels.cjs +0 -21
  51. package/cjs/utils/get-series-labels/get-series-labels.cjs.map +0 -1
  52. package/esm/AreaChart/AreaChart.mjs +0 -386
  53. package/esm/AreaChart/AreaChart.mjs.map +0 -1
  54. package/esm/AreaChart/AreaGradient.mjs +0 -13
  55. package/esm/AreaChart/AreaGradient.mjs.map +0 -1
  56. package/esm/AreaChart/AreaSplit.mjs +0 -29
  57. package/esm/AreaChart/AreaSplit.mjs.map +0 -1
  58. package/esm/AreaChart/get-split-offset.mjs +0 -22
  59. package/esm/AreaChart/get-split-offset.mjs.map +0 -1
  60. package/esm/BarChart/BarChart.mjs +0 -371
  61. package/esm/BarChart/BarChart.mjs.map +0 -1
  62. package/esm/BubbleChart/BubbleChart.mjs +0 -146
  63. package/esm/BubbleChart/BubbleChart.mjs.map +0 -1
  64. package/esm/ChartLegend/ChartLegend.mjs +0 -94
  65. package/esm/ChartLegend/ChartLegend.mjs.map +0 -1
  66. package/esm/ChartLegend/ChartLegend.module.css.mjs +0 -5
  67. package/esm/ChartLegend/ChartLegend.module.css.mjs.map +0 -1
  68. package/esm/ChartTooltip/ChartTooltip.mjs +0 -121
  69. package/esm/ChartTooltip/ChartTooltip.mjs.map +0 -1
  70. package/esm/ChartTooltip/ChartTooltip.module.css.mjs +0 -5
  71. package/esm/ChartTooltip/ChartTooltip.module.css.mjs.map +0 -1
  72. package/esm/CompositeChart/CompositeChart.mjs +0 -391
  73. package/esm/CompositeChart/CompositeChart.mjs.map +0 -1
  74. package/esm/DonutChart/DonutChart.mjs +0 -147
  75. package/esm/DonutChart/DonutChart.mjs.map +0 -1
  76. package/esm/DonutChart/DonutChart.module.css.mjs +0 -5
  77. package/esm/DonutChart/DonutChart.module.css.mjs.map +0 -1
  78. package/esm/LineChart/LineChart.mjs +0 -351
  79. package/esm/LineChart/LineChart.mjs.map +0 -1
  80. package/esm/PieChart/PieChart.mjs +0 -173
  81. package/esm/PieChart/PieChart.mjs.map +0 -1
  82. package/esm/PieChart/PieChart.module.css.mjs +0 -5
  83. package/esm/PieChart/PieChart.module.css.mjs.map +0 -1
  84. package/esm/PointLabel/PointLabel.mjs +0 -21
  85. package/esm/PointLabel/PointLabel.mjs.map +0 -1
  86. package/esm/RadarChart/RadarChart.mjs +0 -111
  87. package/esm/RadarChart/RadarChart.mjs.map +0 -1
  88. package/esm/RadarChart/RadarChart.module.css.mjs +0 -5
  89. package/esm/RadarChart/RadarChart.module.css.mjs.map +0 -1
  90. package/esm/ScatterChart/ScatterChart.mjs +0 -285
  91. package/esm/ScatterChart/ScatterChart.mjs.map +0 -1
  92. package/esm/Sparkline/Sparkline.mjs +0 -101
  93. package/esm/Sparkline/Sparkline.mjs.map +0 -1
  94. package/esm/grid-chart.module.css.mjs +0 -5
  95. package/esm/grid-chart.module.css.mjs.map +0 -1
  96. package/esm/index.mjs +0 -15
  97. package/esm/index.mjs.map +0 -1
  98. package/esm/utils/get-series-labels/get-series-labels.mjs +0 -19
  99. package/esm/utils/get-series-labels/get-series-labels.mjs.map +0 -1
  100. package/lib/AreaChart/AreaChart.d.ts +0 -61
  101. package/lib/AreaChart/AreaGradient.d.ts +0 -11
  102. package/lib/AreaChart/AreaSplit.d.ts +0 -12
  103. package/lib/AreaChart/get-split-offset.d.ts +0 -13
  104. package/lib/AreaChart/index.d.ts +0 -4
  105. package/lib/BarChart/BarChart.d.ts +0 -50
  106. package/lib/BarChart/index.d.ts +0 -2
  107. package/lib/BubbleChart/BubbleChart.d.ts +0 -53
  108. package/lib/BubbleChart/index.d.ts +0 -2
  109. package/lib/ChartLegend/ChartLegend.d.ts +0 -28
  110. package/lib/ChartLegend/index.d.ts +0 -2
  111. package/lib/ChartTooltip/ChartTooltip.d.ts +0 -32
  112. package/lib/ChartTooltip/index.d.ts +0 -2
  113. package/lib/CompositeChart/CompositeChart.d.ts +0 -62
  114. package/lib/CompositeChart/index.d.ts +0 -2
  115. package/lib/DonutChart/DonutChart.d.ts +0 -65
  116. package/lib/DonutChart/index.d.ts +0 -2
  117. package/lib/LineChart/LineChart.d.ts +0 -62
  118. package/lib/LineChart/index.d.ts +0 -2
  119. package/lib/PieChart/PieChart.d.ts +0 -66
  120. package/lib/PieChart/index.d.ts +0 -2
  121. package/lib/PointLabel/PointLabel.d.ts +0 -7
  122. package/lib/RadarChart/RadarChart.d.ts +0 -58
  123. package/lib/RadarChart/index.d.ts +0 -2
  124. package/lib/ScatterChart/ScatterChart.d.ts +0 -56
  125. package/lib/ScatterChart/index.d.ts +0 -2
  126. package/lib/Sparkline/Sparkline.d.ts +0 -44
  127. package/lib/Sparkline/index.d.ts +0 -2
  128. package/lib/index.d.mts +0 -13
  129. package/lib/index.d.ts +0 -13
  130. package/lib/types.d.ts +0 -69
  131. package/lib/utils/get-series-labels/get-series-labels.d.ts +0 -4
  132. package/lib/utils/index.d.ts +0 -1
@@ -1,147 +0,0 @@
1
- 'use client';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { Cell, ResponsiveContainer, PieChart, Pie, Tooltip } from 'recharts';
4
- import { createVarsResolver, getThemeColor, rem, factory, useProps, useMantineTheme, useStyles, useResolvedStylesApi, Box } from '@mantine/core';
5
- import { ChartTooltip } from '../ChartTooltip/ChartTooltip.mjs';
6
- import classes from './DonutChart.module.css.mjs';
7
-
8
- const defaultProps = {
9
- withTooltip: true,
10
- withLabelsLine: true,
11
- paddingAngle: 0,
12
- thickness: 20,
13
- size: 160,
14
- strokeWidth: 1,
15
- startAngle: 0,
16
- endAngle: 360,
17
- tooltipDataSource: "all"
18
- };
19
- const varsResolver = createVarsResolver(
20
- (theme, { strokeColor, labelColor, withLabels, size }) => ({
21
- root: {
22
- "--chart-stroke-color": strokeColor ? getThemeColor(strokeColor, theme) : void 0,
23
- "--chart-labels-color": labelColor ? getThemeColor(labelColor, theme) : void 0,
24
- "--chart-size": withLabels ? rem(size + 80) : rem(size)
25
- }
26
- })
27
- );
28
- const DonutChart = factory((_props, ref) => {
29
- const props = useProps("DonutChart", defaultProps, _props);
30
- const {
31
- classNames,
32
- className,
33
- style,
34
- styles,
35
- unstyled,
36
- vars,
37
- data,
38
- withTooltip,
39
- tooltipAnimationDuration,
40
- tooltipProps,
41
- pieProps,
42
- paddingAngle,
43
- withLabels,
44
- withLabelsLine,
45
- size,
46
- thickness,
47
- strokeWidth,
48
- startAngle,
49
- endAngle,
50
- tooltipDataSource,
51
- chartLabel,
52
- children,
53
- pieChartProps,
54
- valueFormatter,
55
- strokeColor,
56
- ...others
57
- } = props;
58
- const theme = useMantineTheme();
59
- const getStyles = useStyles({
60
- name: "DonutChart",
61
- classes,
62
- props,
63
- className,
64
- style,
65
- classNames,
66
- styles,
67
- unstyled,
68
- vars,
69
- varsResolver
70
- });
71
- const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
72
- classNames,
73
- styles,
74
- props
75
- });
76
- const cells = data.map((item, index) => /* @__PURE__ */ jsx(
77
- Cell,
78
- {
79
- fill: getThemeColor(item.color, theme),
80
- stroke: "var(--chart-stroke-color, var(--mantine-color-body))",
81
- strokeWidth
82
- },
83
- index
84
- ));
85
- return /* @__PURE__ */ jsx(Box, { ref, size, ...getStyles("root"), ...others, children: /* @__PURE__ */ jsx(ResponsiveContainer, { children: /* @__PURE__ */ jsxs(PieChart, { ...pieChartProps, children: [
86
- /* @__PURE__ */ jsx(
87
- Pie,
88
- {
89
- data,
90
- innerRadius: size / 2 - thickness,
91
- outerRadius: size / 2,
92
- dataKey: "value",
93
- isAnimationActive: false,
94
- paddingAngle,
95
- startAngle,
96
- endAngle,
97
- label: withLabels ? {
98
- fill: "var(--chart-labels-color, var(--mantine-color-dimmed))",
99
- fontSize: 12,
100
- fontFamily: "var(--mantine-font-family)"
101
- } : false,
102
- labelLine: withLabelsLine ? {
103
- stroke: "var(--chart-label-color, var(--mantine-color-dimmed))",
104
- strokeWidth: 1
105
- } : false,
106
- ...pieProps,
107
- children: cells
108
- }
109
- ),
110
- chartLabel && /* @__PURE__ */ jsx(
111
- "text",
112
- {
113
- x: "50%",
114
- y: "50%",
115
- textAnchor: "middle",
116
- dominantBaseline: "middle",
117
- ...getStyles("label"),
118
- children: chartLabel
119
- }
120
- ),
121
- withTooltip && /* @__PURE__ */ jsx(
122
- Tooltip,
123
- {
124
- animationDuration: tooltipAnimationDuration,
125
- isAnimationActive: false,
126
- content: ({ payload }) => /* @__PURE__ */ jsx(
127
- ChartTooltip,
128
- {
129
- payload: data,
130
- classNames: resolvedClassNames,
131
- styles: resolvedStyles,
132
- type: "radial",
133
- segmentId: tooltipDataSource === "segment" ? payload?.[0]?.name : void 0,
134
- valueFormatter
135
- }
136
- ),
137
- ...tooltipProps
138
- }
139
- ),
140
- children
141
- ] }) }) });
142
- });
143
- DonutChart.displayName = "@mantine/charts/DonutChart";
144
- DonutChart.classes = classes;
145
-
146
- export { DonutChart };
147
- //# sourceMappingURL=DonutChart.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DonutChart.mjs","sources":["../../src/DonutChart/DonutChart.tsx"],"sourcesContent":["import {\n Cell,\n Pie,\n PieProps,\n PieChart as ReChartsPieChart,\n ResponsiveContainer,\n Tooltip,\n TooltipProps,\n} from 'recharts';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n getThemeColor,\n MantineColor,\n rem,\n StylesApiProps,\n useMantineTheme,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { ChartTooltip } from '../ChartTooltip/ChartTooltip';\nimport classes from './DonutChart.module.css';\n\nexport interface DonutChartCell {\n name: string;\n value: number;\n color: MantineColor;\n}\n\nexport type DonutChartStylesNames = 'root' | 'label';\nexport type DonutChartCssVariables = {\n root: '--chart-stroke-color' | '--chart-labels-color' | '--chart-size';\n};\n\nexport interface DonutChartProps\n extends BoxProps,\n StylesApiProps<DonutChartFactory>,\n ElementProps<'div'> {\n /** Data used to render chart */\n data: DonutChartCell[];\n\n /** Determines whether the tooltip should be displayed when one of the section is hovered, `true` by default */\n withTooltip?: boolean;\n\n /** Tooltip animation duration in ms, `0` by default */\n tooltipAnimationDuration?: number;\n\n /** Props passed down to `Tooltip` recharts component */\n tooltipProps?: Omit<TooltipProps<any, any>, 'ref'>;\n\n /** Props passed down to recharts `Pie` component */\n pieProps?: Partial<Omit<PieProps, 'ref'>>;\n\n /** Controls color of the segments stroke, by default depends on color scheme */\n strokeColor?: MantineColor;\n\n /** Controls text color of all labels, by default depends on color scheme */\n labelColor?: MantineColor;\n\n /** Controls padding between segments, `0` by default */\n paddingAngle?: number;\n\n /** Determines whether each segment should have associated label, `false` by default */\n withLabels?: boolean;\n\n /** Determines whether segments labels should have lines that connect the segment with the label, `true` by default */\n withLabelsLine?: boolean;\n\n /** Controls thickness of the chart segments, `20` by default */\n thickness?: number;\n\n /** Controls chart width and height, height is increased by 40 if `withLabels` prop is set. Cannot be less than `thickness`. `80` by default */\n size?: number;\n\n /** Controls width of segments stroke, `1` by default */\n strokeWidth?: number;\n\n /** Controls angle at which chart starts, `0` by default. Set to `180` to render the chart as semicircle. */\n startAngle?: number;\n\n /** Controls angle at which charts ends, `360` by default. Set to `0` to render the chart as semicircle. */\n endAngle?: number;\n\n /** Determines which data is displayed in the tooltip. `'all'` – display all values, `'segment'` – display only hovered segment. `'all'` by default. */\n tooltipDataSource?: 'segment' | 'all';\n\n /** Chart label, displayed in the center of the chart */\n chartLabel?: string | number;\n\n /** Additional elements rendered inside `PieChart` component */\n children?: React.ReactNode;\n\n /** Props passed down to recharts `PieChart` component */\n pieChartProps?: React.ComponentPropsWithoutRef<typeof ReChartsPieChart>;\n\n /** A function to format values inside the tooltip */\n valueFormatter?: (value: number) => string;\n}\n\nexport type DonutChartFactory = Factory<{\n props: DonutChartProps;\n ref: HTMLDivElement;\n stylesNames: DonutChartStylesNames;\n vars: DonutChartCssVariables;\n}>;\n\nconst defaultProps: Partial<DonutChartProps> = {\n withTooltip: true,\n withLabelsLine: true,\n paddingAngle: 0,\n thickness: 20,\n size: 160,\n strokeWidth: 1,\n startAngle: 0,\n endAngle: 360,\n tooltipDataSource: 'all',\n};\n\nconst varsResolver = createVarsResolver<DonutChartFactory>(\n (theme, { strokeColor, labelColor, withLabels, size }) => ({\n root: {\n '--chart-stroke-color': strokeColor ? getThemeColor(strokeColor, theme) : undefined,\n '--chart-labels-color': labelColor ? getThemeColor(labelColor, theme) : undefined,\n '--chart-size': withLabels ? rem(size! + 80) : rem(size!),\n },\n })\n);\n\nexport const DonutChart = factory<DonutChartFactory>((_props, ref) => {\n const props = useProps('DonutChart', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n data,\n withTooltip,\n tooltipAnimationDuration,\n tooltipProps,\n pieProps,\n paddingAngle,\n withLabels,\n withLabelsLine,\n size,\n thickness,\n strokeWidth,\n startAngle,\n endAngle,\n tooltipDataSource,\n chartLabel,\n children,\n pieChartProps,\n valueFormatter,\n strokeColor,\n ...others\n } = props;\n\n const theme = useMantineTheme();\n\n const getStyles = useStyles<DonutChartFactory>({\n name: 'DonutChart',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<DonutChartFactory>({\n classNames,\n styles,\n props,\n });\n\n const cells = data.map((item, index) => (\n <Cell\n key={index}\n fill={getThemeColor(item.color, theme)}\n stroke=\"var(--chart-stroke-color, var(--mantine-color-body))\"\n strokeWidth={strokeWidth}\n />\n ));\n\n return (\n <Box ref={ref} size={size} {...getStyles('root')} {...others}>\n <ResponsiveContainer>\n <ReChartsPieChart {...pieChartProps}>\n <Pie\n data={data}\n innerRadius={size! / 2 - thickness!}\n outerRadius={size! / 2}\n dataKey=\"value\"\n isAnimationActive={false}\n paddingAngle={paddingAngle}\n startAngle={startAngle}\n endAngle={endAngle}\n label={\n withLabels\n ? {\n fill: 'var(--chart-labels-color, var(--mantine-color-dimmed))',\n fontSize: 12,\n fontFamily: 'var(--mantine-font-family)',\n }\n : false\n }\n labelLine={\n withLabelsLine\n ? {\n stroke: 'var(--chart-label-color, var(--mantine-color-dimmed))',\n strokeWidth: 1,\n }\n : false\n }\n {...pieProps}\n >\n {cells}\n </Pie>\n\n {chartLabel && (\n <text\n x=\"50%\"\n y=\"50%\"\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n {...getStyles('label')}\n >\n {chartLabel}\n </text>\n )}\n\n {withTooltip && (\n <Tooltip\n animationDuration={tooltipAnimationDuration}\n isAnimationActive={false}\n content={({ payload }) => (\n <ChartTooltip\n payload={data}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n type=\"radial\"\n segmentId={tooltipDataSource === 'segment' ? payload?.[0]?.name : undefined}\n valueFormatter={valueFormatter}\n />\n )}\n {...tooltipProps}\n />\n )}\n\n {children}\n </ReChartsPieChart>\n </ResponsiveContainer>\n </Box>\n );\n});\n\nDonutChart.displayName = '@mantine/charts/DonutChart';\nDonutChart.classes = classes;\n"],"names":["ReChartsPieChart"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- 'use client';
2
- var classes = {"root":"m_a410e613","label":"m_ddb0bfe3"};
3
-
4
- export { classes as default };
5
- //# sourceMappingURL=DonutChart.module.css.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DonutChart.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,351 +0,0 @@
1
- 'use client';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import { useState, createElement } from 'react';
4
- import { Line, ReferenceLine, ResponsiveContainer, LineChart as LineChart$1, Legend, XAxis, Label, YAxis, CartesianGrid, Tooltip } from 'recharts';
5
- import { createVarsResolver, getThemeColor, factory, useProps, useMantineTheme, useResolvedStylesApi, useStyles, Box } from '@mantine/core';
6
- import { useId } from '@mantine/hooks';
7
- import { ChartLegend } from '../ChartLegend/ChartLegend.mjs';
8
- import { ChartTooltip } from '../ChartTooltip/ChartTooltip.mjs';
9
- import { PointLabel } from '../PointLabel/PointLabel.mjs';
10
- import classes from '../grid-chart.module.css.mjs';
11
-
12
- const defaultProps = {
13
- withXAxis: true,
14
- withYAxis: true,
15
- withTooltip: true,
16
- tooltipAnimationDuration: 0,
17
- fillOpacity: 1,
18
- tickLine: "y",
19
- strokeDasharray: "5 5",
20
- gridAxis: "x",
21
- withDots: true,
22
- connectNulls: true,
23
- strokeWidth: 2,
24
- curveType: "monotone",
25
- gradientStops: [
26
- { offset: 0, color: "red" },
27
- { offset: 100, color: "blue" }
28
- ]
29
- };
30
- const varsResolver = createVarsResolver((theme, { textColor, gridColor }) => ({
31
- root: {
32
- "--chart-text-color": textColor ? getThemeColor(textColor, theme) : void 0,
33
- "--chart-grid-color": gridColor ? getThemeColor(gridColor, theme) : void 0
34
- }
35
- }));
36
- const LineChart = factory((_props, ref) => {
37
- const props = useProps("LineChart", defaultProps, _props);
38
- const {
39
- classNames,
40
- className,
41
- style,
42
- styles,
43
- unstyled,
44
- vars,
45
- data,
46
- withLegend,
47
- legendProps,
48
- series,
49
- onMouseLeave,
50
- dataKey,
51
- withTooltip,
52
- withXAxis,
53
- withYAxis,
54
- gridAxis,
55
- tickLine,
56
- xAxisProps,
57
- yAxisProps,
58
- unit,
59
- tooltipAnimationDuration,
60
- strokeDasharray,
61
- gridProps,
62
- tooltipProps,
63
- referenceLines,
64
- withDots,
65
- dotProps,
66
- activeDotProps,
67
- strokeWidth,
68
- lineChartProps,
69
- connectNulls,
70
- fillOpacity,
71
- curveType,
72
- orientation,
73
- dir,
74
- valueFormatter,
75
- children,
76
- lineProps,
77
- xAxisLabel,
78
- yAxisLabel,
79
- type,
80
- gradientStops,
81
- withRightYAxis,
82
- rightYAxisLabel,
83
- rightYAxisProps,
84
- withPointLabels,
85
- ...others
86
- } = props;
87
- const theme = useMantineTheme();
88
- const withXTickLine = gridAxis !== "none" && (tickLine === "x" || tickLine === "xy");
89
- const withYTickLine = gridAxis !== "none" && (tickLine === "y" || tickLine === "xy");
90
- const [highlightedArea, setHighlightedArea] = useState(null);
91
- const shouldHighlight = highlightedArea !== null;
92
- const handleMouseLeave = (event) => {
93
- setHighlightedArea(null);
94
- onMouseLeave?.(event);
95
- };
96
- const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
97
- classNames,
98
- styles,
99
- props
100
- });
101
- const getStyles = useStyles({
102
- name: "LineChart",
103
- classes,
104
- props,
105
- className,
106
- style,
107
- classNames,
108
- styles,
109
- unstyled,
110
- vars,
111
- varsResolver
112
- });
113
- const id = useId();
114
- const gradientId = `line-chart-gradient-${id}`;
115
- const stops = gradientStops?.map((stop) => /* @__PURE__ */ jsx(
116
- "stop",
117
- {
118
- offset: `${stop.offset}%`,
119
- stopColor: getThemeColor(stop.color, theme)
120
- },
121
- stop.color
122
- ));
123
- const lines = series.map((item) => {
124
- const color = getThemeColor(item.color, theme);
125
- const dimmed = shouldHighlight && highlightedArea !== item.name;
126
- return /* @__PURE__ */ createElement(
127
- Line,
128
- {
129
- ...getStyles("line"),
130
- key: item.name,
131
- name: item.name,
132
- dataKey: item.name,
133
- dot: withDots ? {
134
- fillOpacity: dimmed ? 0 : 1,
135
- strokeOpacity: dimmed ? 0 : 1,
136
- strokeWidth: 1,
137
- fill: type === "gradient" ? "var(--mantine-color-gray-7)" : color,
138
- stroke: type === "gradient" ? "white" : color,
139
- ...dotProps
140
- } : false,
141
- activeDot: withDots ? {
142
- fill: type === "gradient" ? "var(--mantine-color-gray-7)" : color,
143
- stroke: type === "gradient" ? "white" : color,
144
- ...activeDotProps
145
- } : false,
146
- fill: color,
147
- stroke: type === "gradient" ? `url(#${gradientId})` : color,
148
- strokeWidth,
149
- isAnimationActive: false,
150
- fillOpacity: dimmed ? 0 : fillOpacity,
151
- strokeOpacity: dimmed ? 0.5 : fillOpacity,
152
- connectNulls,
153
- type: curveType,
154
- strokeDasharray: item.strokeDasharray,
155
- yAxisId: item.yAxisId || "left",
156
- label: withPointLabels ? /* @__PURE__ */ jsx(PointLabel, {}) : void 0,
157
- ...typeof lineProps === "function" ? lineProps(item) : lineProps
158
- }
159
- );
160
- });
161
- const referenceLinesItems = referenceLines?.map((line, index) => {
162
- const color = getThemeColor(line.color, theme);
163
- return /* @__PURE__ */ jsx(
164
- ReferenceLine,
165
- {
166
- stroke: line.color ? color : "var(--chart-grid-color)",
167
- strokeWidth: 1,
168
- yAxisId: line.yAxisId || "left",
169
- ...line,
170
- label: {
171
- value: line.label,
172
- fill: line.color ? color : "currentColor",
173
- fontSize: 12,
174
- position: line.labelPosition ?? "insideBottomLeft"
175
- },
176
- ...getStyles("referenceLine")
177
- },
178
- index
179
- );
180
- });
181
- const sharedYAxisProps = {
182
- axisLine: false,
183
- ...orientation === "vertical" ? { dataKey, type: "category" } : { type: "number" },
184
- tickLine: withYTickLine ? { stroke: "currentColor" } : false,
185
- allowDecimals: true,
186
- unit,
187
- tickFormatter: orientation === "vertical" ? void 0 : valueFormatter,
188
- ...getStyles("axis")
189
- };
190
- return /* @__PURE__ */ jsx(
191
- Box,
192
- {
193
- ref,
194
- ...getStyles("root"),
195
- onMouseLeave: handleMouseLeave,
196
- dir: dir || "ltr",
197
- ...others,
198
- children: /* @__PURE__ */ jsx(ResponsiveContainer, { ...getStyles("container"), children: /* @__PURE__ */ jsxs(
199
- LineChart$1,
200
- {
201
- data,
202
- layout: orientation,
203
- margin: {
204
- bottom: xAxisLabel ? 30 : void 0,
205
- left: yAxisLabel ? 10 : void 0,
206
- right: yAxisLabel ? 5 : void 0
207
- },
208
- ...lineChartProps,
209
- children: [
210
- type === "gradient" && /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: stops }) }),
211
- withLegend && /* @__PURE__ */ jsx(
212
- Legend,
213
- {
214
- verticalAlign: "top",
215
- content: (payload) => /* @__PURE__ */ jsx(
216
- ChartLegend,
217
- {
218
- payload: payload.payload,
219
- onHighlight: setHighlightedArea,
220
- legendPosition: legendProps?.verticalAlign || "top",
221
- classNames: resolvedClassNames,
222
- styles: resolvedStyles,
223
- series,
224
- showColor: type !== "gradient"
225
- }
226
- ),
227
- ...legendProps
228
- }
229
- ),
230
- /* @__PURE__ */ jsxs(
231
- XAxis,
232
- {
233
- hide: !withXAxis,
234
- ...orientation === "vertical" ? { type: "number" } : { dataKey },
235
- tick: { transform: "translate(0, 10)", fontSize: 12, fill: "currentColor" },
236
- stroke: "",
237
- interval: "preserveStartEnd",
238
- tickLine: withXTickLine ? { stroke: "currentColor" } : false,
239
- minTickGap: 5,
240
- tickFormatter: orientation === "vertical" ? valueFormatter : void 0,
241
- ...getStyles("axis"),
242
- ...xAxisProps,
243
- children: [
244
- xAxisLabel && /* @__PURE__ */ jsx(Label, { position: "insideBottom", offset: -20, fontSize: 12, ...getStyles("axisLabel"), children: xAxisLabel }),
245
- xAxisProps?.children
246
- ]
247
- }
248
- ),
249
- /* @__PURE__ */ jsxs(
250
- YAxis,
251
- {
252
- yAxisId: "left",
253
- orientation: "left",
254
- tick: { transform: "translate(-10, 0)", fontSize: 12, fill: "currentColor" },
255
- hide: !withYAxis,
256
- ...sharedYAxisProps,
257
- ...yAxisProps,
258
- children: [
259
- yAxisLabel && /* @__PURE__ */ jsx(
260
- Label,
261
- {
262
- position: "insideLeft",
263
- angle: -90,
264
- textAnchor: "middle",
265
- fontSize: 12,
266
- offset: -5,
267
- ...getStyles("axisLabel"),
268
- children: yAxisLabel
269
- }
270
- ),
271
- yAxisProps?.children
272
- ]
273
- }
274
- ),
275
- /* @__PURE__ */ jsxs(
276
- YAxis,
277
- {
278
- yAxisId: "right",
279
- orientation: "right",
280
- tick: { transform: "translate(10, 0)", fontSize: 12, fill: "currentColor" },
281
- hide: !withRightYAxis,
282
- ...sharedYAxisProps,
283
- ...rightYAxisProps,
284
- children: [
285
- rightYAxisLabel && /* @__PURE__ */ jsx(
286
- Label,
287
- {
288
- position: "insideRight",
289
- angle: 90,
290
- textAnchor: "middle",
291
- fontSize: 12,
292
- offset: -5,
293
- ...getStyles("axisLabel"),
294
- children: rightYAxisLabel
295
- }
296
- ),
297
- yAxisProps?.children
298
- ]
299
- }
300
- ),
301
- /* @__PURE__ */ jsx(
302
- CartesianGrid,
303
- {
304
- strokeDasharray,
305
- vertical: gridAxis === "y" || gridAxis === "xy",
306
- horizontal: gridAxis === "x" || gridAxis === "xy",
307
- ...getStyles("grid"),
308
- ...gridProps
309
- }
310
- ),
311
- withTooltip && /* @__PURE__ */ jsx(
312
- Tooltip,
313
- {
314
- animationDuration: tooltipAnimationDuration,
315
- isAnimationActive: tooltipAnimationDuration !== 0,
316
- position: orientation === "vertical" ? {} : { y: 0 },
317
- cursor: {
318
- stroke: "var(--chart-grid-color)",
319
- strokeWidth: 1,
320
- strokeDasharray
321
- },
322
- content: ({ label, payload }) => /* @__PURE__ */ jsx(
323
- ChartTooltip,
324
- {
325
- label,
326
- payload,
327
- unit,
328
- classNames: resolvedClassNames,
329
- styles: resolvedStyles,
330
- series,
331
- valueFormatter,
332
- showColor: type !== "gradient"
333
- }
334
- ),
335
- ...tooltipProps
336
- }
337
- ),
338
- lines,
339
- referenceLinesItems,
340
- children
341
- ]
342
- }
343
- ) })
344
- }
345
- );
346
- });
347
- LineChart.displayName = "@mantine/charts/LineChart";
348
- LineChart.classes = classes;
349
-
350
- export { LineChart };
351
- //# sourceMappingURL=LineChart.mjs.map