@acronis-platform/ui-react 3.0.0 → 4.0.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.
- package/dist/components/ui/accordion-container/accordion-container.js +14 -14
- package/dist/components/ui/accordion-container/accordion-container.js.map +1 -1
- package/dist/components/ui/app-shell-chat/app-shell-chat.js.map +1 -1
- package/dist/components/ui/area-chart/area-chart.js +141 -139
- package/dist/components/ui/area-chart/area-chart.js.map +1 -1
- package/dist/components/ui/bar-chart/bar-chart.js +295 -293
- package/dist/components/ui/bar-chart/bar-chart.js.map +1 -1
- package/dist/components/ui/category-bar/category-bar.js +109 -93
- package/dist/components/ui/category-bar/category-bar.js.map +1 -1
- package/dist/components/ui/chart/chart-palette.js +113 -0
- package/dist/components/ui/chart/chart-palette.js.map +1 -0
- package/dist/components/ui/chart/chart.js +176 -129
- package/dist/components/ui/chart/chart.js.map +1 -1
- package/dist/components/ui/chart-state/chart-state-illustrations.js +310 -0
- package/dist/components/ui/chart-state/chart-state-illustrations.js.map +1 -0
- package/dist/components/ui/chart-state/chart-state.js +48 -34
- package/dist/components/ui/chart-state/chart-state.js.map +1 -1
- package/dist/components/ui/chart-widget/chart-widget.js +87 -0
- package/dist/components/ui/chart-widget/chart-widget.js.map +1 -0
- package/dist/components/ui/composed-chart/composed-chart.js +117 -115
- package/dist/components/ui/composed-chart/composed-chart.js.map +1 -1
- package/dist/components/ui/confidence-cone/confidence-cone.js +166 -158
- package/dist/components/ui/confidence-cone/confidence-cone.js.map +1 -1
- package/dist/components/ui/funnel-chart/funnel-chart.js +162 -161
- package/dist/components/ui/funnel-chart/funnel-chart.js.map +1 -1
- package/dist/components/ui/histogram/histogram.js +94 -92
- package/dist/components/ui/histogram/histogram.js.map +1 -1
- package/dist/components/ui/input/input.js.map +1 -1
- package/dist/components/ui/label/label.js +2 -9
- package/dist/components/ui/label/label.js.map +1 -1
- package/dist/components/ui/line-chart/line-chart.js +143 -141
- package/dist/components/ui/line-chart/line-chart.js.map +1 -1
- package/dist/components/ui/metric/metric.js +74 -185
- package/dist/components/ui/metric/metric.js.map +1 -1
- package/dist/components/ui/page-content/page-content.js.map +1 -1
- package/dist/components/ui/pie-chart/pie-chart.js +201 -195
- package/dist/components/ui/pie-chart/pie-chart.js.map +1 -1
- package/dist/components/ui/radar-chart/radar-chart.js +133 -131
- package/dist/components/ui/radar-chart/radar-chart.js.map +1 -1
- package/dist/components/ui/radial-bar-chart/radial-bar-chart.js +297 -265
- package/dist/components/ui/radial-bar-chart/radial-bar-chart.js.map +1 -1
- package/dist/components/ui/sankey-chart/sankey-chart.js +123 -101
- package/dist/components/ui/sankey-chart/sankey-chart.js.map +1 -1
- package/dist/components/ui/scatter-chart/scatter-chart.js +76 -74
- package/dist/components/ui/scatter-chart/scatter-chart.js.map +1 -1
- package/dist/components/ui/section/section.js +157 -31
- package/dist/components/ui/section/section.js.map +1 -1
- package/dist/components/ui/stepper/stepper.js +24 -24
- package/dist/components/ui/stepper/stepper.js.map +1 -1
- package/dist/components/ui/stepper-item/stepper-item.js +43 -24
- package/dist/components/ui/stepper-item/stepper-item.js.map +1 -1
- package/dist/components/ui/treemap/treemap.js +133 -124
- package/dist/components/ui/treemap/treemap.js.map +1 -1
- package/dist/components/ui/trend-indicator/trend-indicator.js +34 -69
- package/dist/components/ui/trend-indicator/trend-indicator.js.map +1 -1
- package/dist/components/ui/wizard/wizard.js +59 -0
- package/dist/components/ui/wizard/wizard.js.map +1 -0
- package/dist/hooks/use-wizard.js +75 -0
- package/dist/hooks/use-wizard.js.map +1 -0
- package/dist/index.js +502 -497
- package/dist/index.js.map +1 -1
- package/dist/llms/accordion-container.md +181 -0
- package/dist/llms/accordion.md +124 -0
- package/dist/llms/alert.md +225 -0
- package/dist/llms/app-shell-chat.md +415 -0
- package/dist/llms/area-chart.md +355 -0
- package/dist/llms/avatar.md +208 -0
- package/dist/llms/bar-chart.md +406 -0
- package/dist/llms/breadcrumb.md +326 -0
- package/dist/llms/button-group.md +298 -0
- package/dist/llms/button-icon-input.md +142 -0
- package/dist/llms/button-icon-menu.md +209 -0
- package/dist/llms/button-icon.md +128 -0
- package/dist/llms/button-menu.md +172 -0
- package/dist/llms/button.md +185 -0
- package/dist/llms/calendar-panel.md +733 -0
- package/dist/llms/calendar.md +188 -0
- package/dist/llms/card-filter.md +214 -0
- package/dist/llms/card-section.md +293 -0
- package/dist/llms/card.md +447 -0
- package/dist/llms/carousel-dialog.md +156 -0
- package/dist/llms/category-bar.md +193 -0
- package/dist/llms/chart-state.md +190 -0
- package/dist/llms/chart-widget.md +209 -0
- package/dist/llms/chart.md +182 -0
- package/dist/llms/checkbox.md +257 -0
- package/dist/llms/chip.md +195 -0
- package/dist/llms/combobox.md +164 -0
- package/dist/llms/composed-chart.md +508 -0
- package/dist/llms/confidence-cone.md +277 -0
- package/dist/llms/data-table.md +474 -0
- package/dist/llms/date-range-picker.md +272 -0
- package/dist/llms/description-list.md +131 -0
- package/dist/llms/dialog-footer-carousel.md +147 -0
- package/dist/llms/dialog-footer-default.md +142 -0
- package/dist/llms/dialog-root.md +246 -0
- package/dist/llms/dialog-welcome.md +223 -0
- package/dist/llms/dialog.md +403 -0
- package/dist/llms/dropdown-menu.md +193 -0
- package/dist/llms/empty-overlay.md +146 -0
- package/dist/llms/empty.md +156 -0
- package/dist/llms/field.md +185 -0
- package/dist/llms/filter-cards.md +157 -0
- package/dist/llms/filter-chips.md +323 -0
- package/dist/llms/filter-search.md +512 -0
- package/dist/llms/form.md +154 -0
- package/dist/llms/funnel-chart.md +333 -0
- package/dist/llms/grid.md +80 -0
- package/dist/llms/histogram.md +190 -0
- package/dist/llms/input-date-picker.md +203 -0
- package/dist/llms/input-otp.md +173 -0
- package/dist/llms/input-password.md +197 -0
- package/dist/llms/input-search.md +170 -0
- package/dist/llms/input-select.md +278 -0
- package/dist/llms/input-text-area.md +271 -0
- package/dist/llms/input-text.md +192 -0
- package/dist/llms/line-chart.md +369 -0
- package/dist/llms/link.md +209 -0
- package/dist/llms/loading.md +130 -0
- package/dist/llms/meter.md +177 -0
- package/dist/llms/metric.md +204 -0
- package/dist/llms/number-field.md +122 -0
- package/dist/llms/page-content.md +69 -0
- package/dist/llms/page-header.md +182 -0
- package/dist/llms/pagination.md +133 -0
- package/dist/llms/pie-chart.md +307 -0
- package/dist/llms/popover.md +252 -0
- package/dist/llms/progress-circle.md +126 -0
- package/dist/llms/progress.md +111 -0
- package/dist/llms/radar-chart.md +316 -0
- package/dist/llms/radial-bar-chart.md +319 -0
- package/dist/llms/radio.md +255 -0
- package/dist/llms/resizable.md +195 -0
- package/dist/llms/sankey-chart.md +208 -0
- package/dist/llms/scatter-chart.md +239 -0
- package/dist/llms/scroll-area.md +183 -0
- package/dist/llms/section.md +401 -0
- package/dist/llms/select.md +210 -0
- package/dist/llms/separator.md +87 -0
- package/dist/llms/sheet.md +202 -0
- package/dist/llms/sidebar-primary.md +360 -0
- package/dist/llms/sidebar-secondary.md +417 -0
- package/dist/llms/skeleton.md +81 -0
- package/dist/llms/slider.md +97 -0
- package/dist/llms/spinner.md +100 -0
- package/dist/llms/stack.md +80 -0
- package/dist/llms/stepper-item.md +309 -0
- package/dist/llms/stepper.md +251 -0
- package/dist/llms/switch.md +140 -0
- package/dist/llms/table.md +436 -0
- package/dist/llms/tabs.md +197 -0
- package/dist/llms/tag.md +139 -0
- package/dist/llms/timeline.md +361 -0
- package/dist/llms/timer.md +259 -0
- package/dist/llms/toast.md +241 -0
- package/dist/llms/toggle-group.md +121 -0
- package/dist/llms/toolbar.md +453 -0
- package/dist/llms/tooltip.md +164 -0
- package/dist/llms/treemap.md +254 -0
- package/dist/llms/trend-indicator.md +132 -0
- package/dist/llms/widget-placeholder.md +169 -0
- package/dist/llms/wizard.md +412 -0
- package/dist/llms.txt +142 -0
- package/dist/react.js +502 -497
- package/dist/react.js.map +1 -1
- package/dist/src/components/ui/area-chart/area-chart.d.ts +9 -4
- package/dist/src/components/ui/avatar/avatar.d.ts +1 -1
- package/dist/src/components/ui/bar-chart/bar-chart.d.ts +9 -4
- package/dist/src/components/ui/category-bar/category-bar.d.ts +10 -4
- package/dist/src/components/ui/chart/__stories__/palette-control.d.ts +48 -0
- package/dist/src/components/ui/chart/__tests__/chart-palette.test.d.ts +1 -0
- package/dist/src/components/ui/chart/chart-palette.d.ts +128 -0
- package/dist/src/components/ui/chart/chart.d.ts +66 -15
- package/dist/src/components/ui/chart/index.d.ts +4 -2
- package/dist/src/components/ui/chart-state/chart-state-illustrations.d.ts +6 -0
- package/dist/src/components/ui/chart-state/chart-state.d.ts +13 -2
- package/dist/src/components/ui/chart-state/index.d.ts +1 -0
- package/dist/src/components/ui/chart-widget/chart-widget.d.ts +64 -0
- package/dist/src/components/ui/chart-widget/index.d.ts +1 -0
- package/dist/src/components/ui/composed-chart/composed-chart.d.ts +12 -7
- package/dist/src/components/ui/confidence-cone/confidence-cone.d.ts +10 -5
- package/dist/src/components/ui/empty-overlay/empty-overlay.d.ts +1 -1
- package/dist/src/components/ui/funnel-chart/funnel-chart.d.ts +11 -5
- package/dist/src/components/ui/histogram/histogram.d.ts +10 -4
- package/dist/src/components/ui/label/index.d.ts +1 -1
- package/dist/src/components/ui/label/label.d.ts +1 -5
- package/dist/src/components/ui/line-chart/line-chart.d.ts +9 -4
- package/dist/src/components/ui/metric/metric.d.ts +13 -14
- package/dist/src/components/ui/pie-chart/pie-chart.d.ts +17 -8
- package/dist/src/components/ui/radar-chart/radar-chart.d.ts +10 -5
- package/dist/src/components/ui/radial-bar-chart/radial-bar-chart.d.ts +17 -6
- package/dist/src/components/ui/sankey-chart/sankey-chart.d.ts +10 -5
- package/dist/src/components/ui/scatter-chart/scatter-chart.d.ts +10 -5
- package/dist/src/components/ui/section/index.d.ts +1 -1
- package/dist/src/components/ui/section/section.d.ts +75 -6
- package/dist/src/components/ui/stepper-item/stepper-item.d.ts +6 -5
- package/dist/src/components/ui/tag/tag.d.ts +1 -1
- package/dist/src/components/ui/treemap/treemap.d.ts +11 -5
- package/dist/src/components/ui/trend-indicator/trend-indicator.d.ts +3 -7
- package/dist/src/components/ui/wizard/index.d.ts +1 -0
- package/dist/src/components/ui/wizard/wizard.d.ts +6 -0
- package/dist/src/hooks/index.d.ts +1 -0
- package/dist/src/hooks/use-wizard.d.ts +80 -0
- package/dist/src/index.d.ts +2 -3
- package/dist/ui-react.css +1 -1
- package/package.json +9 -3
- package/dist/components/ui/app-shell/app-shell.js +0 -75
- package/dist/components/ui/app-shell/app-shell.js.map +0 -1
- package/dist/components/ui/auth-layout/auth-layout.js +0 -56
- package/dist/components/ui/auth-layout/auth-layout.js.map +0 -1
- package/dist/components/ui/collapsible/collapsible.js +0 -22
- package/dist/components/ui/collapsible/collapsible.js.map +0 -1
- package/dist/src/components/ui/app-shell/app-shell.d.ts +0 -8
- package/dist/src/components/ui/app-shell/index.d.ts +0 -1
- package/dist/src/components/ui/auth-layout/auth-layout.d.ts +0 -6
- package/dist/src/components/ui/auth-layout/index.d.ts +0 -1
- package/dist/src/components/ui/collapsible/collapsible.d.ts +0 -5
- package/dist/src/components/ui/collapsible/index.d.ts +0 -1
- package/dist/src/components/ui/label/label.docs.d.ts +0 -10
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { cva as
|
|
4
|
-
import { AreaChart as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { resolveAnimation as
|
|
7
|
-
import { ChartContainer as
|
|
8
|
-
const
|
|
1
|
+
import { jsx as r, jsxs as y } from "react/jsx-runtime";
|
|
2
|
+
import * as $ from "react";
|
|
3
|
+
import { cva as ue } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
|
|
4
|
+
import { AreaChart as ve, CartesianGrid as Le, XAxis as Ce, YAxis as Ae, Area as be, LabelList as Re, ReferenceLine as xe, Brush as Te } from "recharts";
|
|
5
|
+
import { cn as $e } from "../../../lib/utils.js";
|
|
6
|
+
import { resolveAnimation as ye, resolveCartesianLabelPosition as De, CHART_LABEL_MARGIN as Pe, resolveRotatedTickAnchor as ke, CHART_LABEL_FONT_SIZE as Fe, resolveLabelFillClass as Ne, toLabelFormatter as Oe, resolveChartReferenceValue as _e, resolveReferenceLineProps as Ge, resolveBrushProps as Ie, resolveXAxisTitle as we, resolveXAxisHeight as ze, resolveYAxisTitle as Be, resolveAxisDomain as He, toReferenceLineList as je } from "../chart/chart-format.js";
|
|
7
|
+
import { ChartContainer as Ee, ChartTooltip as Ve, ChartTooltipContent as Xe, ChartLegend as Me, ChartLegendContent as We } from "../chart/chart.js";
|
|
8
|
+
const Ye = ue("", {
|
|
9
9
|
variants: {
|
|
10
10
|
layout: {
|
|
11
11
|
single: "",
|
|
@@ -21,12 +21,12 @@ const We = pe("", {
|
|
|
21
21
|
fill: "gradient"
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
function
|
|
24
|
+
function Ke({
|
|
25
25
|
dataKeys: s,
|
|
26
26
|
gradientId: n,
|
|
27
|
-
colorFor:
|
|
27
|
+
colorFor: l
|
|
28
28
|
}) {
|
|
29
|
-
return /* @__PURE__ */ r("defs", { children: s.map((a) => /* @__PURE__ */
|
|
29
|
+
return /* @__PURE__ */ r("defs", { children: s.map((a) => /* @__PURE__ */ y(
|
|
30
30
|
"linearGradient",
|
|
31
31
|
{
|
|
32
32
|
id: `${n}-${a}`,
|
|
@@ -35,192 +35,194 @@ function Ye({
|
|
|
35
35
|
x2: "0",
|
|
36
36
|
y2: "1",
|
|
37
37
|
children: [
|
|
38
|
-
/* @__PURE__ */ r("stop", { offset: "5%", stopColor:
|
|
39
|
-
/* @__PURE__ */ r("stop", { offset: "95%", stopColor:
|
|
38
|
+
/* @__PURE__ */ r("stop", { offset: "5%", stopColor: l(a), stopOpacity: 0.8 }),
|
|
39
|
+
/* @__PURE__ */ r("stop", { offset: "95%", stopColor: l(a), stopOpacity: 0.1 })
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
a
|
|
43
43
|
)) });
|
|
44
44
|
}
|
|
45
|
-
const
|
|
45
|
+
const Ze = $.forwardRef(
|
|
46
46
|
({
|
|
47
47
|
className: s,
|
|
48
48
|
config: n,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
49
|
+
palette: l,
|
|
50
|
+
data: a,
|
|
51
|
+
dataKeys: c,
|
|
52
|
+
xKey: u,
|
|
53
|
+
xAxisLabel: v,
|
|
54
|
+
yAxisLabel: L,
|
|
55
|
+
yUnit: D,
|
|
56
|
+
layout: d = "single",
|
|
57
|
+
fill: f = "gradient",
|
|
58
|
+
curve: P = "monotone",
|
|
59
|
+
strokeWidth: k = 2,
|
|
60
|
+
fillOpacity: F = 0.4,
|
|
61
|
+
showDots: N = !1,
|
|
62
|
+
dotSize: O = 3,
|
|
63
|
+
showActiveDot: _,
|
|
64
|
+
connectNulls: G = !1,
|
|
64
65
|
areaSettings: t,
|
|
65
|
-
referenceLine:
|
|
66
|
-
showGrid:
|
|
67
|
-
showTooltip:
|
|
68
|
-
showLegend:
|
|
69
|
-
showXAxis:
|
|
70
|
-
showYAxis:
|
|
71
|
-
xTickFormatter:
|
|
72
|
-
yTickFormatter:
|
|
73
|
-
xAxisAngle:
|
|
74
|
-
xAxisInterval:
|
|
75
|
-
yAxisTickCount:
|
|
76
|
-
yAxisDomain:
|
|
77
|
-
gridDashed:
|
|
78
|
-
gridHorizontal:
|
|
79
|
-
gridVertical:
|
|
80
|
-
tooltipContent:
|
|
81
|
-
animate:
|
|
82
|
-
animationDuration:
|
|
83
|
-
animationBegin:
|
|
84
|
-
animationEasing:
|
|
85
|
-
showLabels:
|
|
86
|
-
labelPosition:
|
|
87
|
-
labelFormatter:
|
|
88
|
-
showBrush:
|
|
89
|
-
brushHeight:
|
|
90
|
-
brushAriaLabel:
|
|
91
|
-
...
|
|
92
|
-
},
|
|
93
|
-
const
|
|
94
|
-
animate:
|
|
95
|
-
animationDuration:
|
|
96
|
-
animationBegin:
|
|
97
|
-
animationEasing:
|
|
98
|
-
}),
|
|
99
|
-
labelPosition:
|
|
100
|
-
isStacked:
|
|
101
|
-
}),
|
|
66
|
+
referenceLine: I,
|
|
67
|
+
showGrid: w = !0,
|
|
68
|
+
showTooltip: z = !0,
|
|
69
|
+
showLegend: B = !0,
|
|
70
|
+
showXAxis: H = !0,
|
|
71
|
+
showYAxis: j = !0,
|
|
72
|
+
xTickFormatter: C,
|
|
73
|
+
yTickFormatter: E,
|
|
74
|
+
xAxisAngle: h,
|
|
75
|
+
xAxisInterval: V,
|
|
76
|
+
yAxisTickCount: X,
|
|
77
|
+
yAxisDomain: M,
|
|
78
|
+
gridDashed: W,
|
|
79
|
+
gridHorizontal: Y,
|
|
80
|
+
gridVertical: K,
|
|
81
|
+
tooltipContent: Z,
|
|
82
|
+
animate: q,
|
|
83
|
+
animationDuration: J,
|
|
84
|
+
animationBegin: Q,
|
|
85
|
+
animationEasing: U,
|
|
86
|
+
showLabels: A = !1,
|
|
87
|
+
labelPosition: S,
|
|
88
|
+
labelFormatter: g,
|
|
89
|
+
showBrush: ee = !1,
|
|
90
|
+
brushHeight: oe,
|
|
91
|
+
brushAriaLabel: re,
|
|
92
|
+
...ae
|
|
93
|
+
}, te) => {
|
|
94
|
+
const ie = ye({
|
|
95
|
+
animate: q,
|
|
96
|
+
animationDuration: J,
|
|
97
|
+
animationBegin: Q,
|
|
98
|
+
animationEasing: U
|
|
99
|
+
}), b = d === "stacked", le = De({
|
|
100
|
+
labelPosition: S,
|
|
101
|
+
isStacked: b
|
|
102
|
+
}), m = f === "gradient", se = je(I), p = (o) => {
|
|
102
103
|
var e;
|
|
103
104
|
return ((e = t == null ? void 0 : t[o]) == null ? void 0 : e.color) ?? `var(--color-${o})`;
|
|
104
|
-
},
|
|
105
|
+
}, ne = A || Object.values(t ?? {}).some((o) => o.showLabel), ce = we(v), de = Be(L), fe = He(M), he = ze(v, h), R = `area-gradient-${$.useId().replace(/:/g, "")}`;
|
|
105
106
|
return /* @__PURE__ */ r(
|
|
106
107
|
"div",
|
|
107
108
|
{
|
|
108
|
-
ref:
|
|
109
|
-
"data-layout":
|
|
110
|
-
"data-fill":
|
|
111
|
-
className:
|
|
112
|
-
...
|
|
109
|
+
ref: te,
|
|
110
|
+
"data-layout": d,
|
|
111
|
+
"data-fill": f,
|
|
112
|
+
className: $e(Ye({ layout: d, fill: f }), s),
|
|
113
|
+
...ae,
|
|
113
114
|
children: /* @__PURE__ */ r(
|
|
114
|
-
|
|
115
|
+
Ee,
|
|
115
116
|
{
|
|
116
117
|
config: n,
|
|
118
|
+
palette: l,
|
|
117
119
|
className: "size-full [&_.recharts-label]:fill-foreground",
|
|
118
|
-
children: /* @__PURE__ */
|
|
119
|
-
|
|
120
|
+
children: /* @__PURE__ */ y(
|
|
121
|
+
ve,
|
|
120
122
|
{
|
|
121
|
-
data:
|
|
122
|
-
margin:
|
|
123
|
+
data: a,
|
|
124
|
+
margin: ne ? Pe : void 0,
|
|
123
125
|
children: [
|
|
124
|
-
|
|
125
|
-
|
|
126
|
+
m && /* @__PURE__ */ r(
|
|
127
|
+
Ke,
|
|
126
128
|
{
|
|
127
|
-
dataKeys:
|
|
128
|
-
gradientId:
|
|
129
|
-
colorFor:
|
|
129
|
+
dataKeys: c,
|
|
130
|
+
gradientId: R,
|
|
131
|
+
colorFor: p
|
|
130
132
|
}
|
|
131
133
|
),
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
w && /* @__PURE__ */ r(
|
|
135
|
+
Le,
|
|
134
136
|
{
|
|
135
|
-
horizontal:
|
|
136
|
-
vertical:
|
|
137
|
-
strokeDasharray:
|
|
137
|
+
horizontal: Y ?? !0,
|
|
138
|
+
vertical: K ?? !1,
|
|
139
|
+
strokeDasharray: W ? "3 3" : void 0
|
|
138
140
|
}
|
|
139
141
|
),
|
|
140
142
|
/* @__PURE__ */ r(
|
|
141
|
-
|
|
143
|
+
Ce,
|
|
142
144
|
{
|
|
143
|
-
dataKey:
|
|
145
|
+
dataKey: u,
|
|
144
146
|
type: "category",
|
|
145
|
-
hide: !
|
|
147
|
+
hide: !H,
|
|
146
148
|
tickLine: !1,
|
|
147
149
|
axisLine: !1,
|
|
148
150
|
tickMargin: 8,
|
|
149
|
-
tickFormatter:
|
|
150
|
-
angle:
|
|
151
|
-
interval:
|
|
152
|
-
textAnchor:
|
|
153
|
-
height:
|
|
154
|
-
label:
|
|
151
|
+
tickFormatter: C,
|
|
152
|
+
angle: h,
|
|
153
|
+
interval: V,
|
|
154
|
+
textAnchor: ke(h),
|
|
155
|
+
height: he,
|
|
156
|
+
label: ce
|
|
155
157
|
}
|
|
156
158
|
),
|
|
157
159
|
/* @__PURE__ */ r(
|
|
158
|
-
|
|
160
|
+
Ae,
|
|
159
161
|
{
|
|
160
162
|
type: "number",
|
|
161
|
-
hide: !
|
|
163
|
+
hide: !j,
|
|
162
164
|
tickLine: !1,
|
|
163
165
|
axisLine: !1,
|
|
164
|
-
unit:
|
|
165
|
-
tickFormatter:
|
|
166
|
-
tickCount:
|
|
167
|
-
domain:
|
|
168
|
-
width:
|
|
169
|
-
label:
|
|
166
|
+
unit: D,
|
|
167
|
+
tickFormatter: E,
|
|
168
|
+
tickCount: X,
|
|
169
|
+
domain: fe,
|
|
170
|
+
width: L ? 72 : void 0,
|
|
171
|
+
label: de
|
|
170
172
|
}
|
|
171
173
|
),
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const e = t == null ? void 0 : t[o],
|
|
174
|
+
z && /* @__PURE__ */ r(Ve, { content: Z ?? /* @__PURE__ */ r(Xe, {}) }),
|
|
175
|
+
B && /* @__PURE__ */ r(Me, { content: /* @__PURE__ */ r(We, {}) }),
|
|
176
|
+
c.map((o) => {
|
|
177
|
+
const e = t == null ? void 0 : t[o], i = (e == null ? void 0 : e.showDots) ?? N, x = (e == null ? void 0 : e.dotSize) ?? O, me = _ ?? i, pe = (e == null ? void 0 : e.showLabel) ?? A, T = (e == null ? void 0 : e.labelPosition) ?? le;
|
|
176
178
|
return /* @__PURE__ */ r(
|
|
177
|
-
|
|
179
|
+
be,
|
|
178
180
|
{
|
|
179
|
-
type: (e == null ? void 0 : e.curveType) ??
|
|
181
|
+
type: (e == null ? void 0 : e.curveType) ?? P ?? "monotone",
|
|
180
182
|
dataKey: o,
|
|
181
|
-
stackId:
|
|
182
|
-
stroke:
|
|
183
|
-
strokeWidth: (e == null ? void 0 : e.strokeWidth) ??
|
|
183
|
+
stackId: b ? "a" : void 0,
|
|
184
|
+
stroke: p(o),
|
|
185
|
+
strokeWidth: (e == null ? void 0 : e.strokeWidth) ?? k,
|
|
184
186
|
strokeDasharray: e != null && e.dashed ? "5 5" : void 0,
|
|
185
|
-
fill:
|
|
186
|
-
fillOpacity: (e == null ? void 0 : e.fillOpacity) ?? (
|
|
187
|
-
dot:
|
|
188
|
-
activeDot:
|
|
189
|
-
connectNulls:
|
|
190
|
-
...
|
|
191
|
-
children:
|
|
192
|
-
|
|
187
|
+
fill: m ? `url(#${R}-${o})` : p(o),
|
|
188
|
+
fillOpacity: (e == null ? void 0 : e.fillOpacity) ?? (m ? 1 : F),
|
|
189
|
+
dot: i ? { r: x } : !1,
|
|
190
|
+
activeDot: me ? { r: x + 2 } : !1,
|
|
191
|
+
connectNulls: G,
|
|
192
|
+
...ie,
|
|
193
|
+
children: pe && /* @__PURE__ */ r(
|
|
194
|
+
Re,
|
|
193
195
|
{
|
|
194
196
|
dataKey: o,
|
|
195
|
-
position:
|
|
196
|
-
formatter:
|
|
197
|
-
className:
|
|
197
|
+
position: T,
|
|
198
|
+
formatter: Oe(g),
|
|
199
|
+
className: Ne(T, {
|
|
198
200
|
translucentSeries: !0
|
|
199
201
|
}),
|
|
200
|
-
fontSize:
|
|
202
|
+
fontSize: Fe
|
|
201
203
|
}
|
|
202
204
|
)
|
|
203
205
|
},
|
|
204
206
|
o
|
|
205
207
|
);
|
|
206
208
|
}),
|
|
207
|
-
|
|
208
|
-
const
|
|
209
|
-
return
|
|
210
|
-
|
|
209
|
+
se.map((o, e) => {
|
|
210
|
+
const i = _e(o, a, c);
|
|
211
|
+
return i === void 0 ? null : /* @__PURE__ */ r(
|
|
212
|
+
xe,
|
|
211
213
|
{
|
|
212
|
-
y:
|
|
213
|
-
...
|
|
214
|
+
y: i,
|
|
215
|
+
...Ge(o.label, o.labelPosition)
|
|
214
216
|
},
|
|
215
217
|
`${o.label ?? "ref"}-${e}`
|
|
216
218
|
);
|
|
217
219
|
}),
|
|
218
|
-
|
|
219
|
-
|
|
220
|
+
ee && /* @__PURE__ */ r(
|
|
221
|
+
Te,
|
|
220
222
|
{
|
|
221
|
-
dataKey:
|
|
222
|
-
tickFormatter:
|
|
223
|
-
...
|
|
223
|
+
dataKey: u,
|
|
224
|
+
tickFormatter: C,
|
|
225
|
+
...Ie({ brushHeight: oe, brushAriaLabel: re })
|
|
224
226
|
}
|
|
225
227
|
)
|
|
226
228
|
]
|
|
@@ -232,9 +234,9 @@ const Ke = T.forwardRef(
|
|
|
232
234
|
);
|
|
233
235
|
}
|
|
234
236
|
);
|
|
235
|
-
|
|
237
|
+
Ze.displayName = "AreaChart";
|
|
236
238
|
export {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
+
Ze as AreaChart,
|
|
240
|
+
Ye as areaChartVariants
|
|
239
241
|
};
|
|
240
242
|
//# sourceMappingURL=area-chart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area-chart.js","sources":["../../../../src/components/ui/area-chart/area-chart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n Area,\n AreaChart as RechartsAreaChart,\n Brush,\n CartesianGrid,\n LabelList,\n ReferenceLine,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { cn } from '@/lib/utils';\nimport {\n CHART_LABEL_FONT_SIZE,\n CHART_LABEL_MARGIN,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n resolveAnimation,\n resolveAxisDomain,\n resolveBrushProps,\n resolveCartesianLabelPosition,\n resolveChartReferenceValue,\n resolveLabelFillClass,\n resolveReferenceLineProps,\n resolveRotatedTickAnchor,\n resolveXAxisHeight,\n resolveXAxisTitle,\n resolveYAxisTitle,\n toLabelFormatter,\n toReferenceLineList,\n type ChartConfig,\n type CartesianChartProps,\n type ChartAnimationProps,\n type ChartBrushProps,\n type ChartCurveType,\n type ChartDataLabelProps,\n type ChartReferenceLine,\n type CartesianLabelPosition,\n} from '../chart';\n\n// A typed recharts composition over the shared `Chart` primitives. The two CVA\n// axes are the design's Area-chart variant set: `layout` (independent\n// overlapping areas vs summed on a shared stack) and `fill` (a flat translucent\n// fill vs a vertical gradient). The classes stay empty because recharts' SVG —\n// not CSS — draws the areas: `layout` drives each `<Area>`'s `stackId` and `fill`\n// drives whether it paints from a `<linearGradient>` def or a flat token color.\n// CVA is kept so the variant set is a first-class, spec-conformant part of the\n// API (matched against ui-spec's api.yaml enums) and exposed via `VariantProps`;\n// the resolved values are also mirrored onto `data-layout` / `data-fill`.\nconst areaChartVariants = cva('', {\n variants: {\n layout: {\n single: '',\n stacked: '',\n },\n fill: {\n solid: '',\n gradient: '',\n },\n },\n defaultVariants: {\n layout: 'single',\n fill: 'gradient',\n },\n});\n\n/**\n * Style override for one series, keyed by its `dataKeys` entry. Anything left\n * unset falls back to the chart-wide prop, so an entry only states what differs\n * — e.g. a projection band that reads fainter than the actuals beside it.\n */\nexport interface AreaChartAreaSettings {\n /** Stroke and fill color. Defaults to the series' `config` color. */\n color?: string;\n /** Width of this series' top border. Defaults to the chart's `strokeWidth`. */\n strokeWidth?: number;\n /** Dash this series' top border. */\n dashed?: boolean;\n /** Interpolation for this series only. Defaults to the chart's `curve`. */\n curveType?: ChartCurveType;\n /**\n * Fill opacity for this series. Under `fill=\"gradient\"` it scales the\n * gradient's own alpha rather than replacing it.\n */\n fillOpacity?: number;\n /** Render this series' per-point dots. Defaults to the chart's `showDots`. */\n showDots?: boolean;\n /** Dot radius for this series, in px. Defaults to the chart's `dotSize`. */\n dotSize?: number;\n /** Show/hide this series' value labels, overriding the chart's `showLabels`. */\n showLabel?: boolean;\n /** Position of this series' value labels. Defaults to the chart's `labelPosition`. */\n labelPosition?: CartesianLabelPosition;\n}\n\nexport interface AreaChartProps\n extends Omit<React.ComponentProps<'div'>, 'children'>,\n VariantProps<typeof areaChartVariants>,\n CartesianChartProps,\n ChartAnimationProps,\n ChartBrushProps,\n ChartDataLabelProps {\n /** Row-per-point data. Each object holds the category key + one numeric field per series (`null` breaks the area unless `connectNulls`). */\n data: ReadonlyArray<Record<string, string | number | null>>;\n /**\n * Per-series map of `label` / `color` (imported from the shared `Chart`\n * primitives). Series colors are caller-supplied — reference an existing\n * semantic `--ui-*` token; there is no chart palette tier yet.\n */\n config: ChartConfig;\n /** Series to plot — one `<Area>` per key. Each must exist in `config` and in every data row. */\n dataKeys: string[];\n /** Category axis key (the shared dimension across rows, e.g. `\"month\"`). */\n xKey: string;\n /** Interpolation between points. */\n curve?: ChartCurveType;\n /** Stroke width of each area's top border. */\n strokeWidth?: number;\n /** Flat-fill opacity — used only when `fill=\"solid\"` (gradient controls its own stops). */\n fillOpacity?: number;\n /** Render a dot at each data point. */\n showDots?: boolean;\n /** Radius of each point's dot, in px. Its hover dot is 2px larger. */\n dotSize?: number;\n /**\n * Enlarge the hovered point's dot. Defaults to following `showDots`, so pass\n * it explicitly to get hover dots on a dot-less area (`showDots={false}` with\n * `showActiveDot`) or a static-only area (dots without the hover one).\n */\n showActiveDot?: boolean;\n /** Bridge `null` gaps in the data instead of breaking the area. */\n connectNulls?: boolean;\n /**\n * Per-series style overrides, keyed by `dataKeys` entry. Series with no entry\n * render from the chart-wide props.\n */\n areaSettings?: Record<string, AreaChartAreaSettings>;\n /**\n * One or more dashed reference/average lines on the value axis — a target, a\n * threshold, or a series mean. Pass a single object or an array to draw\n * several at once. On a stacked chart the value is read against the stack's\n * axis, not one series.\n */\n referenceLine?: ChartReferenceLine | ChartReferenceLine[];\n showLegend?: boolean;\n /** Position of the value labels when `showLabels` is on. Defaults to `top`. */\n labelPosition?: CartesianLabelPosition;\n}\n\n/**\n * One top-to-bottom fade per series, referenced by each `<Area>`'s `fill`.\n *\n * The ids are scoped by `gradientId` because SVG `<defs>` ids are\n * document-global: two AreaCharts on the same page would otherwise share (and\n * silently overwrite) each other's stops.\n */\nfunction AreaFillGradients({\n dataKeys,\n gradientId,\n colorFor,\n}: {\n dataKeys: string[];\n gradientId: string;\n colorFor: (key: string) => string;\n}) {\n return (\n <defs>\n {dataKeys.map((key) => (\n <linearGradient\n key={key}\n id={`${gradientId}-${key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"5%\" stopColor={colorFor(key)} stopOpacity={0.8} />\n <stop offset=\"95%\" stopColor={colorFor(key)} stopOpacity={0.1} />\n </linearGradient>\n ))}\n </defs>\n );\n}\n\nconst AreaChart = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (\n {\n className,\n config,\n data,\n dataKeys,\n xKey,\n xAxisLabel,\n yAxisLabel,\n yUnit,\n layout = 'single',\n fill = 'gradient',\n curve = 'monotone',\n strokeWidth = 2,\n fillOpacity = 0.4,\n showDots = false,\n dotSize = 3,\n showActiveDot,\n connectNulls = false,\n areaSettings,\n referenceLine,\n showGrid = true,\n showTooltip = true,\n showLegend = true,\n showXAxis = true,\n showYAxis = true,\n xTickFormatter,\n yTickFormatter,\n xAxisAngle,\n xAxisInterval,\n yAxisTickCount,\n yAxisDomain,\n gridDashed,\n gridHorizontal,\n gridVertical,\n tooltipContent,\n animate,\n animationDuration,\n animationBegin,\n animationEasing,\n showLabels = false,\n labelPosition,\n labelFormatter,\n showBrush = false,\n brushHeight,\n brushAriaLabel,\n ...props\n },\n ref\n ) => {\n const animation = resolveAnimation({\n animate,\n animationDuration,\n animationBegin,\n animationEasing,\n });\n const isStacked = layout === 'stacked';\n const areaLabelPosition = resolveCartesianLabelPosition({\n labelPosition,\n isStacked,\n });\n const isGradient = fill === 'gradient';\n const referenceLines = toReferenceLineList(referenceLine);\n\n // A series' `color` override has to reach its gradient stops too, or a\n // gradient-filled chart would keep painting the `config` color.\n const colorFor = (key: string) =>\n areaSettings?.[key]?.color ?? `var(--color-${key})`;\n\n // The plot inset is needed as soon as *any* series carries outside labels —\n // a per-series `showLabel` counts, not only the chart-wide `showLabels`.\n const hasLabels =\n showLabels ||\n Object.values(areaSettings ?? {}).some((settings) => settings.showLabel);\n\n // Axis titles: the X title sits below the ticks; the Y title is rotated in\n // the left gutter. Passed to recharts' native `label` (themed via the\n // `.recharts-label` fill selector on the container).\n const xAxisTitle = resolveXAxisTitle(xAxisLabel);\n const yAxisTitle = resolveYAxisTitle(yAxisLabel);\n\n const yDomain = resolveAxisDomain(yAxisDomain);\n\n const xAxisHeight = resolveXAxisHeight(xAxisLabel, xAxisAngle);\n\n // recharts renders SVG <defs> once per chart; the gradient ids must be unique\n // across chart instances on the page. useId gives a stable per-instance id;\n // strip the colons React emits (invalid in a url(#…) reference) — same guard\n // the shared ChartContainer applies to its chart id.\n const gradientId = `area-gradient-${React.useId().replace(/:/g, '')}`;\n\n return (\n <div\n ref={ref}\n data-layout={layout}\n data-fill={fill}\n className={cn(areaChartVariants({ layout, fill }), className)}\n {...props}\n >\n <ChartContainer\n config={config}\n className=\"size-full [&_.recharts-label]:fill-foreground\"\n >\n <RechartsAreaChart\n data={data as readonly unknown[]}\n margin={hasLabels ? CHART_LABEL_MARGIN : undefined}\n >\n {isGradient && (\n <AreaFillGradients\n dataKeys={dataKeys}\n gradientId={gradientId}\n colorFor={colorFor}\n />\n )}\n {showGrid && (\n <CartesianGrid\n horizontal={gridHorizontal ?? true}\n vertical={gridVertical ?? false}\n strokeDasharray={gridDashed ? '3 3' : undefined}\n />\n )}\n <XAxis\n dataKey={xKey}\n type=\"category\"\n hide={!showXAxis}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={xTickFormatter}\n angle={xAxisAngle}\n interval={xAxisInterval}\n textAnchor={resolveRotatedTickAnchor(xAxisAngle)}\n height={xAxisHeight}\n label={xAxisTitle}\n />\n <YAxis\n type=\"number\"\n hide={!showYAxis}\n tickLine={false}\n axisLine={false}\n unit={yUnit}\n tickFormatter={yTickFormatter}\n tickCount={yAxisTickCount}\n domain={yDomain}\n width={yAxisLabel ? 72 : undefined}\n label={yAxisTitle}\n />\n {showTooltip && (\n <ChartTooltip content={tooltipContent ?? <ChartTooltipContent />} />\n )}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n {dataKeys.map((key) => {\n const settings = areaSettings?.[key];\n const seriesDots = settings?.showDots ?? showDots;\n const dotRadius = settings?.dotSize ?? dotSize;\n // The hover dot follows the static dots unless asked otherwise, so\n // a chart that sets neither renders exactly as before.\n const activeDot = showActiveDot ?? seriesDots;\n const seriesLabel = settings?.showLabel ?? showLabels;\n const seriesLabelPosition =\n settings?.labelPosition ?? areaLabelPosition;\n return (\n <Area\n key={key}\n type={settings?.curveType ?? curve ?? 'monotone'}\n dataKey={key}\n stackId={isStacked ? 'a' : undefined}\n stroke={colorFor(key)}\n strokeWidth={settings?.strokeWidth ?? strokeWidth}\n strokeDasharray={settings?.dashed ? '5 5' : undefined}\n fill={\n isGradient ? `url(#${gradientId}-${key})` : colorFor(key)\n }\n fillOpacity={\n settings?.fillOpacity ?? (isGradient ? 1 : fillOpacity)\n }\n dot={seriesDots ? { r: dotRadius } : false}\n activeDot={activeDot ? { r: dotRadius + 2 } : false}\n connectNulls={connectNulls}\n {...animation}\n >\n {seriesLabel && (\n <LabelList\n dataKey={key}\n position={seriesLabelPosition}\n formatter={toLabelFormatter(labelFormatter)}\n className={resolveLabelFillClass(seriesLabelPosition, {\n translucentSeries: true,\n })}\n fontSize={CHART_LABEL_FONT_SIZE}\n />\n )}\n </Area>\n );\n })}\n {/* Annotations draw over the series they describe. */}\n {referenceLines.map((ref, index) => {\n const value = resolveChartReferenceValue(ref, data, dataKeys);\n if (value === undefined) return null;\n return (\n <ReferenceLine\n key={`${ref.label ?? 'ref'}-${index}`}\n y={value}\n {...resolveReferenceLineProps(ref.label, ref.labelPosition)}\n />\n );\n })}\n {showBrush && (\n <Brush\n dataKey={xKey}\n tickFormatter={xTickFormatter}\n {...resolveBrushProps({ brushHeight, brushAriaLabel })}\n />\n )}\n </RechartsAreaChart>\n </ChartContainer>\n </div>\n );\n }\n);\nAreaChart.displayName = 'AreaChart';\n\nexport { AreaChart, areaChartVariants };\n"],"names":["areaChartVariants","cva","AreaFillGradients","dataKeys","gradientId","colorFor","jsx","key","jsxs","AreaChart","React","className","config","data","xKey","xAxisLabel","yAxisLabel","yUnit","layout","fill","curve","strokeWidth","fillOpacity","showDots","dotSize","showActiveDot","connectNulls","areaSettings","referenceLine","showGrid","showTooltip","showLegend","showXAxis","showYAxis","xTickFormatter","yTickFormatter","xAxisAngle","xAxisInterval","yAxisTickCount","yAxisDomain","gridDashed","gridHorizontal","gridVertical","tooltipContent","animate","animationDuration","animationBegin","animationEasing","showLabels","labelPosition","labelFormatter","showBrush","brushHeight","brushAriaLabel","props","ref","animation","resolveAnimation","isStacked","areaLabelPosition","resolveCartesianLabelPosition","isGradient","referenceLines","toReferenceLineList","_a","hasLabels","settings","xAxisTitle","resolveXAxisTitle","yAxisTitle","resolveYAxisTitle","yDomain","resolveAxisDomain","xAxisHeight","resolveXAxisHeight","cn","ChartContainer","RechartsAreaChart","CHART_LABEL_MARGIN","CartesianGrid","XAxis","resolveRotatedTickAnchor","YAxis","ChartTooltip","ChartTooltipContent","ChartLegend","ChartLegendContent","seriesDots","dotRadius","activeDot","seriesLabel","seriesLabelPosition","Area","LabelList","toLabelFormatter","resolveLabelFillClass","CHART_LABEL_FONT_SIZE","index","value","resolveChartReferenceValue","ReferenceLine","resolveReferenceLineProps","Brush","resolveBrushProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"area-chart.js","sources":["../../../../src/components/ui/area-chart/area-chart.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n Area,\n AreaChart as RechartsAreaChart,\n Brush,\n CartesianGrid,\n LabelList,\n ReferenceLine,\n XAxis,\n YAxis,\n} from 'recharts';\n\nimport { cn } from '@/lib/utils';\nimport {\n CHART_LABEL_FONT_SIZE,\n CHART_LABEL_MARGIN,\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n resolveAnimation,\n resolveAxisDomain,\n resolveBrushProps,\n resolveCartesianLabelPosition,\n resolveChartReferenceValue,\n resolveLabelFillClass,\n resolveReferenceLineProps,\n resolveRotatedTickAnchor,\n resolveXAxisHeight,\n resolveXAxisTitle,\n resolveYAxisTitle,\n toLabelFormatter,\n toReferenceLineList,\n type ChartConfig,\n type ChartPalette,\n type CartesianChartProps,\n type ChartAnimationProps,\n type ChartBrushProps,\n type ChartCurveType,\n type ChartDataLabelProps,\n type ChartReferenceLine,\n type CartesianLabelPosition,\n} from '../chart';\n\n// A typed recharts composition over the shared `Chart` primitives. The two CVA\n// axes are the design's Area-chart variant set: `layout` (independent\n// overlapping areas vs summed on a shared stack) and `fill` (a flat translucent\n// fill vs a vertical gradient). The classes stay empty because recharts' SVG —\n// not CSS — draws the areas: `layout` drives each `<Area>`'s `stackId` and `fill`\n// drives whether it paints from a `<linearGradient>` def or a flat token color.\n// CVA is kept so the variant set is a first-class, spec-conformant part of the\n// API (matched against ui-spec's api.yaml enums) and exposed via `VariantProps`;\n// the resolved values are also mirrored onto `data-layout` / `data-fill`.\nconst areaChartVariants = cva('', {\n variants: {\n layout: {\n single: '',\n stacked: '',\n },\n fill: {\n solid: '',\n gradient: '',\n },\n },\n defaultVariants: {\n layout: 'single',\n fill: 'gradient',\n },\n});\n\n/**\n * Style override for one series, keyed by its `dataKeys` entry. Anything left\n * unset falls back to the chart-wide prop, so an entry only states what differs\n * — e.g. a projection band that reads fainter than the actuals beside it.\n */\nexport interface AreaChartAreaSettings {\n /** Stroke and fill color. Defaults to the series' `config` color. */\n color?: string;\n /** Width of this series' top border. Defaults to the chart's `strokeWidth`. */\n strokeWidth?: number;\n /** Dash this series' top border. */\n dashed?: boolean;\n /** Interpolation for this series only. Defaults to the chart's `curve`. */\n curveType?: ChartCurveType;\n /**\n * Fill opacity for this series. Under `fill=\"gradient\"` it scales the\n * gradient's own alpha rather than replacing it.\n */\n fillOpacity?: number;\n /** Render this series' per-point dots. Defaults to the chart's `showDots`. */\n showDots?: boolean;\n /** Dot radius for this series, in px. Defaults to the chart's `dotSize`. */\n dotSize?: number;\n /** Show/hide this series' value labels, overriding the chart's `showLabels`. */\n showLabel?: boolean;\n /** Position of this series' value labels. Defaults to the chart's `labelPosition`. */\n labelPosition?: CartesianLabelPosition;\n}\n\nexport interface AreaChartProps\n extends Omit<React.ComponentProps<'div'>, 'children'>,\n VariantProps<typeof areaChartVariants>,\n CartesianChartProps,\n ChartAnimationProps,\n ChartBrushProps,\n ChartDataLabelProps {\n /**\n * The dataviz palette this chart's series are painted from. Series that\n * state no `color` of their own take a stop of it. See `ChartPalette`.\n */\n palette?: ChartPalette;\n /** Row-per-point data. Each object holds the category key + one numeric field per series (`null` breaks the area unless `connectNulls`). */\n data: ReadonlyArray<Record<string, string | number | null>>;\n /**\n * Per-series map of `label` / `icon` / `tone` (from the shared `Chart`\n * primitives). Series take their colour from the container's `palette`; each\n * entry maps a key to a `label` and an optional `tone`.\n */\n config: ChartConfig;\n /** Series to plot — one `<Area>` per key. Each must exist in `config` and in every data row. */\n dataKeys: string[];\n /** Category axis key (the shared dimension across rows, e.g. `\"month\"`). */\n xKey: string;\n /** Interpolation between points. */\n curve?: ChartCurveType;\n /** Stroke width of each area's top border. */\n strokeWidth?: number;\n /** Flat-fill opacity — used only when `fill=\"solid\"` (gradient controls its own stops). */\n fillOpacity?: number;\n /** Render a dot at each data point. */\n showDots?: boolean;\n /** Radius of each point's dot, in px. Its hover dot is 2px larger. */\n dotSize?: number;\n /**\n * Enlarge the hovered point's dot. Defaults to following `showDots`, so pass\n * it explicitly to get hover dots on a dot-less area (`showDots={false}` with\n * `showActiveDot`) or a static-only area (dots without the hover one).\n */\n showActiveDot?: boolean;\n /** Bridge `null` gaps in the data instead of breaking the area. */\n connectNulls?: boolean;\n /**\n * Per-series style overrides, keyed by `dataKeys` entry. Series with no entry\n * render from the chart-wide props.\n */\n areaSettings?: Record<string, AreaChartAreaSettings>;\n /**\n * One or more dashed reference/average lines on the value axis — a target, a\n * threshold, or a series mean. Pass a single object or an array to draw\n * several at once. On a stacked chart the value is read against the stack's\n * axis, not one series.\n */\n referenceLine?: ChartReferenceLine | ChartReferenceLine[];\n showLegend?: boolean;\n /** Position of the value labels when `showLabels` is on. Defaults to `top`. */\n labelPosition?: CartesianLabelPosition;\n}\n\n/**\n * One top-to-bottom fade per series, referenced by each `<Area>`'s `fill`.\n *\n * The ids are scoped by `gradientId` because SVG `<defs>` ids are\n * document-global: two AreaCharts on the same page would otherwise share (and\n * silently overwrite) each other's stops.\n */\nfunction AreaFillGradients({\n dataKeys,\n gradientId,\n colorFor,\n}: {\n dataKeys: string[];\n gradientId: string;\n colorFor: (key: string) => string;\n}) {\n return (\n <defs>\n {dataKeys.map((key) => (\n <linearGradient\n key={key}\n id={`${gradientId}-${key}`}\n x1=\"0\"\n y1=\"0\"\n x2=\"0\"\n y2=\"1\"\n >\n <stop offset=\"5%\" stopColor={colorFor(key)} stopOpacity={0.8} />\n <stop offset=\"95%\" stopColor={colorFor(key)} stopOpacity={0.1} />\n </linearGradient>\n ))}\n </defs>\n );\n}\n\nconst AreaChart = React.forwardRef<HTMLDivElement, AreaChartProps>(\n (\n {\n className,\n config,\n palette,\n data,\n dataKeys,\n xKey,\n xAxisLabel,\n yAxisLabel,\n yUnit,\n layout = 'single',\n fill = 'gradient',\n curve = 'monotone',\n strokeWidth = 2,\n fillOpacity = 0.4,\n showDots = false,\n dotSize = 3,\n showActiveDot,\n connectNulls = false,\n areaSettings,\n referenceLine,\n showGrid = true,\n showTooltip = true,\n showLegend = true,\n showXAxis = true,\n showYAxis = true,\n xTickFormatter,\n yTickFormatter,\n xAxisAngle,\n xAxisInterval,\n yAxisTickCount,\n yAxisDomain,\n gridDashed,\n gridHorizontal,\n gridVertical,\n tooltipContent,\n animate,\n animationDuration,\n animationBegin,\n animationEasing,\n showLabels = false,\n labelPosition,\n labelFormatter,\n showBrush = false,\n brushHeight,\n brushAriaLabel,\n ...props\n },\n ref\n ) => {\n const animation = resolveAnimation({\n animate,\n animationDuration,\n animationBegin,\n animationEasing,\n });\n const isStacked = layout === 'stacked';\n const areaLabelPosition = resolveCartesianLabelPosition({\n labelPosition,\n isStacked,\n });\n const isGradient = fill === 'gradient';\n const referenceLines = toReferenceLineList(referenceLine);\n\n // A series' `color` override has to reach its gradient stops too, or a\n // gradient-filled chart would keep painting the `config` color.\n const colorFor = (key: string) =>\n areaSettings?.[key]?.color ?? `var(--color-${key})`;\n\n // The plot inset is needed as soon as *any* series carries outside labels —\n // a per-series `showLabel` counts, not only the chart-wide `showLabels`.\n const hasLabels =\n showLabels ||\n Object.values(areaSettings ?? {}).some((settings) => settings.showLabel);\n\n // Axis titles: the X title sits below the ticks; the Y title is rotated in\n // the left gutter. Passed to recharts' native `label` (themed via the\n // `.recharts-label` fill selector on the container).\n const xAxisTitle = resolveXAxisTitle(xAxisLabel);\n const yAxisTitle = resolveYAxisTitle(yAxisLabel);\n\n const yDomain = resolveAxisDomain(yAxisDomain);\n\n const xAxisHeight = resolveXAxisHeight(xAxisLabel, xAxisAngle);\n\n // recharts renders SVG <defs> once per chart; the gradient ids must be unique\n // across chart instances on the page. useId gives a stable per-instance id;\n // strip the colons React emits (invalid in a url(#…) reference) — same guard\n // the shared ChartContainer applies to its chart id.\n const gradientId = `area-gradient-${React.useId().replace(/:/g, '')}`;\n\n return (\n <div\n ref={ref}\n data-layout={layout}\n data-fill={fill}\n className={cn(areaChartVariants({ layout, fill }), className)}\n {...props}\n >\n <ChartContainer\n config={config}\n palette={palette}\n className=\"size-full [&_.recharts-label]:fill-foreground\"\n >\n <RechartsAreaChart\n data={data as readonly unknown[]}\n margin={hasLabels ? CHART_LABEL_MARGIN : undefined}\n >\n {isGradient && (\n <AreaFillGradients\n dataKeys={dataKeys}\n gradientId={gradientId}\n colorFor={colorFor}\n />\n )}\n {showGrid && (\n <CartesianGrid\n horizontal={gridHorizontal ?? true}\n vertical={gridVertical ?? false}\n strokeDasharray={gridDashed ? '3 3' : undefined}\n />\n )}\n <XAxis\n dataKey={xKey}\n type=\"category\"\n hide={!showXAxis}\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={xTickFormatter}\n angle={xAxisAngle}\n interval={xAxisInterval}\n textAnchor={resolveRotatedTickAnchor(xAxisAngle)}\n height={xAxisHeight}\n label={xAxisTitle}\n />\n <YAxis\n type=\"number\"\n hide={!showYAxis}\n tickLine={false}\n axisLine={false}\n unit={yUnit}\n tickFormatter={yTickFormatter}\n tickCount={yAxisTickCount}\n domain={yDomain}\n width={yAxisLabel ? 72 : undefined}\n label={yAxisTitle}\n />\n {showTooltip && (\n <ChartTooltip content={tooltipContent ?? <ChartTooltipContent />} />\n )}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n {dataKeys.map((key) => {\n const settings = areaSettings?.[key];\n const seriesDots = settings?.showDots ?? showDots;\n const dotRadius = settings?.dotSize ?? dotSize;\n // The hover dot follows the static dots unless asked otherwise, so\n // a chart that sets neither renders exactly as before.\n const activeDot = showActiveDot ?? seriesDots;\n const seriesLabel = settings?.showLabel ?? showLabels;\n const seriesLabelPosition =\n settings?.labelPosition ?? areaLabelPosition;\n return (\n <Area\n key={key}\n type={settings?.curveType ?? curve ?? 'monotone'}\n dataKey={key}\n stackId={isStacked ? 'a' : undefined}\n stroke={colorFor(key)}\n strokeWidth={settings?.strokeWidth ?? strokeWidth}\n strokeDasharray={settings?.dashed ? '5 5' : undefined}\n fill={\n isGradient ? `url(#${gradientId}-${key})` : colorFor(key)\n }\n fillOpacity={\n settings?.fillOpacity ?? (isGradient ? 1 : fillOpacity)\n }\n dot={seriesDots ? { r: dotRadius } : false}\n activeDot={activeDot ? { r: dotRadius + 2 } : false}\n connectNulls={connectNulls}\n {...animation}\n >\n {seriesLabel && (\n <LabelList\n dataKey={key}\n position={seriesLabelPosition}\n formatter={toLabelFormatter(labelFormatter)}\n className={resolveLabelFillClass(seriesLabelPosition, {\n translucentSeries: true,\n })}\n fontSize={CHART_LABEL_FONT_SIZE}\n />\n )}\n </Area>\n );\n })}\n {/* Annotations draw over the series they describe. */}\n {referenceLines.map((ref, index) => {\n const value = resolveChartReferenceValue(ref, data, dataKeys);\n if (value === undefined) return null;\n return (\n <ReferenceLine\n key={`${ref.label ?? 'ref'}-${index}`}\n y={value}\n {...resolveReferenceLineProps(ref.label, ref.labelPosition)}\n />\n );\n })}\n {showBrush && (\n <Brush\n dataKey={xKey}\n tickFormatter={xTickFormatter}\n {...resolveBrushProps({ brushHeight, brushAriaLabel })}\n />\n )}\n </RechartsAreaChart>\n </ChartContainer>\n </div>\n );\n }\n);\nAreaChart.displayName = 'AreaChart';\n\nexport { AreaChart, areaChartVariants };\n"],"names":["areaChartVariants","cva","AreaFillGradients","dataKeys","gradientId","colorFor","jsx","key","jsxs","AreaChart","React","className","config","palette","data","xKey","xAxisLabel","yAxisLabel","yUnit","layout","fill","curve","strokeWidth","fillOpacity","showDots","dotSize","showActiveDot","connectNulls","areaSettings","referenceLine","showGrid","showTooltip","showLegend","showXAxis","showYAxis","xTickFormatter","yTickFormatter","xAxisAngle","xAxisInterval","yAxisTickCount","yAxisDomain","gridDashed","gridHorizontal","gridVertical","tooltipContent","animate","animationDuration","animationBegin","animationEasing","showLabels","labelPosition","labelFormatter","showBrush","brushHeight","brushAriaLabel","props","ref","animation","resolveAnimation","isStacked","areaLabelPosition","resolveCartesianLabelPosition","isGradient","referenceLines","toReferenceLineList","_a","hasLabels","settings","xAxisTitle","resolveXAxisTitle","yAxisTitle","resolveYAxisTitle","yDomain","resolveAxisDomain","xAxisHeight","resolveXAxisHeight","cn","ChartContainer","RechartsAreaChart","CHART_LABEL_MARGIN","CartesianGrid","XAxis","resolveRotatedTickAnchor","YAxis","ChartTooltip","ChartTooltipContent","ChartLegend","ChartLegendContent","seriesDots","dotRadius","activeDot","seriesLabel","seriesLabelPosition","Area","LabelList","toLabelFormatter","resolveLabelFillClass","CHART_LABEL_FONT_SIZE","index","value","resolveChartReferenceValue","ReferenceLine","resolveReferenceLineProps","Brush","resolveBrushProps"],"mappings":"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"}
|