@enact-ui/charts 1.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/activity-gauges.demo.d.ts +15 -0
- package/dist/components/activity-gauges.demo.d.ts.map +1 -0
- package/dist/components/activity-gauges.demo.js +74 -0
- package/dist/components/activity-gauges.demo.js.map +1 -0
- package/dist/components/activity-gauges.story.d.ts +23 -0
- package/dist/components/activity-gauges.story.d.ts.map +1 -0
- package/dist/components/activity-gauges.story.js +17 -0
- package/dist/components/activity-gauges.story.js.map +1 -0
- package/dist/components/bar-charts.demo.d.ts +4 -0
- package/dist/components/bar-charts.demo.d.ts.map +1 -0
- package/dist/components/bar-charts.demo.js +263 -0
- package/dist/components/bar-charts.demo.js.map +1 -0
- package/dist/components/bar-charts.story.d.ts +19 -0
- package/dist/components/bar-charts.story.d.ts.map +1 -0
- package/dist/components/bar-charts.story.js +15 -0
- package/dist/components/bar-charts.story.js.map +1 -0
- package/dist/components/charts-base.d.ts +38 -0
- package/dist/components/charts-base.d.ts.map +1 -0
- package/dist/components/charts-base.js +68 -0
- package/dist/components/charts-base.js.map +1 -0
- package/dist/components/line-charts.demo.d.ts +5 -0
- package/dist/components/line-charts.demo.d.ts.map +1 -0
- package/dist/components/line-charts.demo.js +169 -0
- package/dist/components/line-charts.demo.js.map +1 -0
- package/dist/components/line-charts.story.d.ts +23 -0
- package/dist/components/line-charts.story.d.ts.map +1 -0
- package/dist/components/line-charts.story.js +17 -0
- package/dist/components/line-charts.story.js.map +1 -0
- package/dist/components/pie-charts.demo.d.ts +14 -0
- package/dist/components/pie-charts.demo.d.ts.map +1 -0
- package/dist/components/pie-charts.demo.js +75 -0
- package/dist/components/pie-charts.demo.js.map +1 -0
- package/dist/components/pie-charts.story.d.ts +27 -0
- package/dist/components/pie-charts.story.d.ts.map +1 -0
- package/dist/components/pie-charts.story.js +19 -0
- package/dist/components/pie-charts.story.js.map +1 -0
- package/dist/components/progress-circles.demo.d.ts +14 -0
- package/dist/components/progress-circles.demo.d.ts.map +1 -0
- package/dist/components/progress-circles.demo.js +63 -0
- package/dist/components/progress-circles.demo.js.map +1 -0
- package/dist/components/progress-circles.story.d.ts +39 -0
- package/dist/components/progress-circles.story.d.ts.map +1 -0
- package/dist/components/progress-circles.story.js +25 -0
- package/dist/components/progress-circles.story.js.map +1 -0
- package/dist/components/radar-charts.demo.d.ts +14 -0
- package/dist/components/radar-charts.demo.d.ts.map +1 -0
- package/dist/components/radar-charts.demo.js +94 -0
- package/dist/components/radar-charts.demo.js.map +1 -0
- package/dist/components/radar-charts.story.d.ts +11 -0
- package/dist/components/radar-charts.story.d.ts.map +1 -0
- package/dist/components/radar-charts.story.js +11 -0
- package/dist/components/radar-charts.story.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +97 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +67 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Copyright (c) 2025 Amsterdam Data Labs
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cx } from "@enact-ui/react";
|
|
5
|
+
/**
|
|
6
|
+
* Selects evenly spaced items from an array. Used for rendering
|
|
7
|
+
* certain number of x-axis labels.
|
|
8
|
+
* @param dataArray - The array of items to select from.
|
|
9
|
+
* @param count - The number of items to select.
|
|
10
|
+
* @returns The selected items.
|
|
11
|
+
*/
|
|
12
|
+
export const selectEvenlySpacedItems = (dataArray, count) => {
|
|
13
|
+
if (!dataArray || dataArray.length === 0) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const selectedItems = [];
|
|
17
|
+
if (dataArray.length === 1) {
|
|
18
|
+
for (let i = 0; i < count; i++) {
|
|
19
|
+
selectedItems.push(dataArray[0]);
|
|
20
|
+
}
|
|
21
|
+
return selectedItems;
|
|
22
|
+
}
|
|
23
|
+
for (let i = 0; i < count; i++) {
|
|
24
|
+
const targetIndex = Math.round((i * (dataArray.length - 1)) / (count - 1));
|
|
25
|
+
const boundedIndex = Math.max(0, Math.min(targetIndex, dataArray.length - 1));
|
|
26
|
+
selectedItems.push(dataArray[boundedIndex]);
|
|
27
|
+
}
|
|
28
|
+
return selectedItems;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Renders the legend content for a chart.
|
|
32
|
+
* @param reversed - Whether to reverse the payload.
|
|
33
|
+
* @param payload - The payload of the legend.
|
|
34
|
+
* @param align - The alignment of the legend.
|
|
35
|
+
* @param layout - The layout of the legend.
|
|
36
|
+
* @param className - The class name of the legend.
|
|
37
|
+
* @returns The legend content.
|
|
38
|
+
*/
|
|
39
|
+
export const ChartLegendContent = ({ reversed, payload, align, layout, className }) => {
|
|
40
|
+
payload = reversed ? payload?.toReversed() : payload;
|
|
41
|
+
return (_jsx("ul", { className: cx("flex", layout === "vertical"
|
|
42
|
+
? `flex-col gap-1 pl-4 ${align === "center" ? "items-center" : align === "right" ? "items-start" : "items-start"}`
|
|
43
|
+
: `flex-row gap-3 ${align === "center" ? "justify-center" : align === "right" ? "justify-end" : "justify-start"}`, className), children: payload?.map((entry, index) => (_jsxs("li", { className: "text-muted flex items-center gap-2 text-sm", children: [_jsx("span", { className: cx("h-2 w-2 rounded-full bg-current", entry.payload?.className) }), entry.value] }, entry.value ?? index))) }));
|
|
44
|
+
};
|
|
45
|
+
export const ChartTooltipContent = ({ active, payload, label, isRadialChart, isPieChart, formatter, labelFormatter }) => {
|
|
46
|
+
const canRender = active && payload && payload.length;
|
|
47
|
+
if (!canRender) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const isSingleDataPoint = payload.length === 1;
|
|
51
|
+
// If it's a single data point, we use the value as the title and
|
|
52
|
+
// the name as the secondary title.
|
|
53
|
+
let title = isSingleDataPoint ? (isRadialChart ? payload[0].value : isPieChart ? payload[0].value : payload[0].value) : label;
|
|
54
|
+
let secondaryTitle = isSingleDataPoint ? (isRadialChart ? payload[0].payload.name : isPieChart ? payload[0].name : label) : payload;
|
|
55
|
+
title =
|
|
56
|
+
isSingleDataPoint && formatter
|
|
57
|
+
? formatter(title, payload?.[0].name || label, payload[0], 0, payload)
|
|
58
|
+
: labelFormatter
|
|
59
|
+
? labelFormatter(title, payload)
|
|
60
|
+
: title;
|
|
61
|
+
secondaryTitle = isSingleDataPoint && labelFormatter ? labelFormatter(secondaryTitle, payload) : secondaryTitle;
|
|
62
|
+
return (_jsxs("div", { className: "bg-base-solid flex flex-col gap-0.5 rounded-lg px-3 py-2 shadow-lg", children: [_jsx("p", { className: "text-xs font-semibold text-white", children: title }), !secondaryTitle ? null : Array.isArray(secondaryTitle) ? (_jsx("div", { children: secondaryTitle.map((entry, index) => (_jsx("p", { className: cx("text-xs text-tooltip-supporting-text"), children: `${entry.name}: ${formatter ? formatter(entry.value, entry.name, entry, index, entry.payload) : entry.value}` }, entry.name ?? index))) })) : (_jsx("p", { className: "text-xs text-tooltip-supporting-text", children: secondaryTitle }))] }));
|
|
63
|
+
};
|
|
64
|
+
export const ChartActiveDot = ({ cx = 0, cy = 0 }) => {
|
|
65
|
+
const size = 12;
|
|
66
|
+
return (_jsxs("svg", { x: cx - size / 2, y: cy - size / 2, width: size, height: size, viewBox: "0 0 12 12", fill: "none", children: [_jsx("title", { children: "Active data point indicator" }), _jsx("rect", { x: "2", y: "2", width: "8", height: "8", rx: "6", className: "stroke-brand-medium fill-bg-base", strokeWidth: "2" })] }));
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=charts-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts-base.js","sourceRoot":"","sources":["../../src/components/charts-base.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const LineChart01: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const LineChart02: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare const LineChart03: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const LineChart04: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=line-charts.demo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-charts.demo.d.ts","sourceRoot":"","sources":["../../src/components/line-charts.demo.tsx"],"names":[],"mappings":"AAoFA,eAAO,MAAM,WAAW,+CA4HvB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAkIvB,CAAC;AAEF,eAAO,MAAM,WAAW,+CAoIvB,CAAC;AAEF,eAAO,MAAM,WAAW,+CA+HvB,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// Copyright (c) 2025 Amsterdam Data Labs
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cx, useBreakpoint } from "@enact-ui/react";
|
|
5
|
+
import { Area, AreaChart, CartesianGrid, Label, Legend, ResponsiveContainer, Tooltip, XAxis, YAxis } from "recharts";
|
|
6
|
+
import { ChartLegendContent, ChartTooltipContent } from "./charts-base";
|
|
7
|
+
const lineData = [
|
|
8
|
+
// collapse-start
|
|
9
|
+
{
|
|
10
|
+
date: new Date(2025, 0, 1),
|
|
11
|
+
A: 600,
|
|
12
|
+
B: 400,
|
|
13
|
+
C: 100,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
date: new Date(2025, 1, 1),
|
|
17
|
+
A: 620,
|
|
18
|
+
B: 405,
|
|
19
|
+
C: 160,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
date: new Date(2025, 2, 1),
|
|
23
|
+
A: 630,
|
|
24
|
+
B: 400,
|
|
25
|
+
C: 170,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
date: new Date(2025, 3, 1),
|
|
29
|
+
A: 650,
|
|
30
|
+
B: 410,
|
|
31
|
+
C: 190,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
date: new Date(2025, 4, 1),
|
|
35
|
+
A: 600,
|
|
36
|
+
B: 320,
|
|
37
|
+
C: 200,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
date: new Date(2025, 5, 1),
|
|
41
|
+
A: 650,
|
|
42
|
+
B: 430,
|
|
43
|
+
C: 230,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
date: new Date(2025, 6, 1),
|
|
47
|
+
A: 620,
|
|
48
|
+
B: 400,
|
|
49
|
+
C: 200,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
date: new Date(2025, 7, 1),
|
|
53
|
+
A: 750,
|
|
54
|
+
B: 540,
|
|
55
|
+
C: 300,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
date: new Date(2025, 8, 1),
|
|
59
|
+
A: 780,
|
|
60
|
+
B: 490,
|
|
61
|
+
C: 390,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
date: new Date(2025, 9, 1),
|
|
65
|
+
A: 750,
|
|
66
|
+
B: 450,
|
|
67
|
+
C: 300,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
date: new Date(2025, 10, 1),
|
|
71
|
+
A: 780,
|
|
72
|
+
B: 480,
|
|
73
|
+
C: 340,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
date: new Date(2025, 11, 1),
|
|
77
|
+
A: 820,
|
|
78
|
+
B: 500,
|
|
79
|
+
C: 450,
|
|
80
|
+
},
|
|
81
|
+
// collapse-end
|
|
82
|
+
];
|
|
83
|
+
export const LineChart01 = () => {
|
|
84
|
+
const isDesktop = useBreakpoint("lg");
|
|
85
|
+
const colors = {
|
|
86
|
+
A: "text-brand-medium",
|
|
87
|
+
B: "text-brand-subtle",
|
|
88
|
+
C: "text-brand-dark",
|
|
89
|
+
};
|
|
90
|
+
return (_jsx("div", { className: "flex h-60 flex-col gap-2", children: _jsx(ResponsiveContainer, { className: "h-full", children: _jsxs(AreaChart, { data: lineData, className: "text-muted [&_.recharts-text]:text-xs", margin: {
|
|
91
|
+
top: isDesktop ? 12 : 6,
|
|
92
|
+
bottom: isDesktop ? 16 : 0,
|
|
93
|
+
}, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "5%", stopColor: "currentColor", className: "text-brand-dark", stopOpacity: "0.7" }), _jsx("stop", { offset: "95%", stopColor: "currentColor", className: "text-brand-dark", stopOpacity: "0" })] }) }), _jsx(CartesianGrid, { vertical: false, stroke: "currentColor", className: "text-gray-subtle" }), _jsx(Legend, { align: "right", verticalAlign: "top", layout: isDesktop ? "vertical" : "horizontal", content: _jsx(ChartLegendContent, { className: "-translate-y-2" }) }), _jsx(XAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", dataKey: "date", tickFormatter: (value) => value.toLocaleDateString(undefined, { month: "short" }), padding: { left: 10, right: 10 }, children: isDesktop && (_jsx(Label, { fill: "currentColor", className: "!text-xs font-medium max-lg:hidden", position: "bottom", children: "Month" })) }), _jsx(YAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", tickFormatter: (value) => Number(value).toLocaleString(), children: _jsx(Label, { value: "Active users", fill: "currentColor", className: "!text-xs font-medium", style: { textAnchor: "middle" }, angle: -90, position: "insideLeft" }) }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, {}), formatter: (value) => Number(value).toLocaleString(), labelFormatter: (value) => value.toLocaleDateString(undefined, { month: "short", year: "numeric" }), cursor: {
|
|
94
|
+
className: "stroke-brand-medium stroke-2",
|
|
95
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.A, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "A", name: "Series 1", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "url(#gradient)", fillOpacity: 0.1, activeDot: {
|
|
96
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
97
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.B, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "B", name: "Series 2", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
98
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
99
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.C, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "C", name: "Series 3", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
100
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
101
|
+
} })] }) }) }));
|
|
102
|
+
};
|
|
103
|
+
export const LineChart02 = () => {
|
|
104
|
+
const isDesktop = useBreakpoint("lg");
|
|
105
|
+
const colors = {
|
|
106
|
+
A: "text-brand-medium",
|
|
107
|
+
B: "text-brand-subtle",
|
|
108
|
+
C: "text-brand-dark",
|
|
109
|
+
};
|
|
110
|
+
return (_jsx("div", { className: "flex h-60 flex-col gap-2", children: _jsx(ResponsiveContainer, { className: "h-full", children: _jsxs(AreaChart, { data: lineData, className: "text-muted [&_.recharts-text]:text-xs", margin: {
|
|
111
|
+
left: 5,
|
|
112
|
+
right: 5,
|
|
113
|
+
top: isDesktop ? 12 : 6,
|
|
114
|
+
bottom: isDesktop ? 16 : 0,
|
|
115
|
+
}, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "5%", stopColor: "currentColor", className: "text-brand-dark", stopOpacity: "0.7" }), _jsx("stop", { offset: "95%", stopColor: "currentColor", className: "text-brand-dark", stopOpacity: "0" })] }) }), _jsx(CartesianGrid, { vertical: false, stroke: "currentColor", className: "text-gray-subtle" }), _jsx(Legend, { verticalAlign: "top", align: "right", layout: isDesktop ? "vertical" : "horizontal", content: _jsx(ChartLegendContent, { className: "-translate-y-2" }) }), _jsx(XAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", dataKey: "date", tickFormatter: (value) => value.toLocaleDateString(undefined, { month: "short" }), padding: { left: 10, right: 10 }, children: isDesktop && (_jsx(Label, { fill: "currentColor", className: "!text-xs font-medium max-lg:hidden", position: "bottom", children: "Month" })) }), _jsx(YAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", tickFormatter: (value) => Number(value).toLocaleString(), children: _jsx(Label, { value: "Active users", fill: "currentColor", className: "!text-xs font-medium", style: { textAnchor: "middle" }, angle: -90, position: "insideLeft" }) }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, {}), formatter: (value) => Number(value).toLocaleString(), labelFormatter: (value) => value.toLocaleDateString(undefined, { month: "short", year: "numeric" }), cursor: {
|
|
116
|
+
className: "stroke-brand-medium stroke-2",
|
|
117
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.A, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "A", name: "Series 1", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "url(#gradient)", fillOpacity: 0.1, activeDot: {
|
|
118
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
119
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.B, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "B", name: "Series 2", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", strokeDasharray: "0.1 8", strokeLinecap: "round", activeDot: {
|
|
120
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
121
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.C, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "C", name: "Series 3", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", strokeDasharray: "0.1 8", strokeLinecap: "round", activeDot: {
|
|
122
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
123
|
+
} })] }) }) }));
|
|
124
|
+
};
|
|
125
|
+
export const LineChart03 = () => {
|
|
126
|
+
const isDesktop = useBreakpoint("lg");
|
|
127
|
+
const colors = {
|
|
128
|
+
A: "text-brand-medium",
|
|
129
|
+
B: "text-brand-subtle",
|
|
130
|
+
C: "text-brand-dark",
|
|
131
|
+
};
|
|
132
|
+
return (_jsx("div", { className: "flex h-60 flex-col gap-2", children: _jsx(ResponsiveContainer, { className: "h-full", children: _jsxs(AreaChart, { data: lineData, className: "text-muted [&_.recharts-text]:text-xs", margin: {
|
|
133
|
+
left: 5,
|
|
134
|
+
right: 5,
|
|
135
|
+
top: isDesktop ? 12 : 6,
|
|
136
|
+
bottom: isDesktop ? 16 : 0,
|
|
137
|
+
}, children: [_jsxs("defs", { children: [_jsxs("linearGradient", { id: "gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: "currentColor", className: "text-gray-medium", stopOpacity: "0.8" }), _jsx("stop", { offset: "80%", stopColor: "currentColor", className: "text-gray-medium", stopOpacity: "0" })] }), _jsxs("pattern", { id: "verticalLines", width: "8", height: "100%", fill: "url(#gradient)", patternUnits: "userSpaceOnUse", children: [_jsx("line", { x1: "0", y1: "0", x2: "0", y2: "100%", stroke: "currentColor", className: "text-gray-subtle", strokeWidth: "1.5" }), _jsx("rect", { width: "100%", height: "100%", fill: "url(#gradient)", fillOpacity: 0.15 })] })] }), _jsx(CartesianGrid, { vertical: false, stroke: "currentColor", className: "text-gray-subtle" }), _jsx(Legend, { verticalAlign: "top", align: "right", layout: isDesktop ? "vertical" : "horizontal", content: _jsx(ChartLegendContent, { className: "-translate-y-2" }) }), _jsx(XAxis, { fill: "currentColor", axisLine: false, tickLine: false, tickMargin: 10, interval: "preserveStartEnd", dataKey: "date", padding: { left: 10, right: 10 }, tickFormatter: (value) => value.toLocaleDateString(undefined, { month: "short" }), children: isDesktop && (_jsx(Label, { fill: "currentColor", className: "!text-xs font-medium max-lg:hidden", position: "bottom", children: "Month" })) }), _jsx(YAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", tickFormatter: (value) => Number(value).toLocaleString(), children: _jsx(Label, { value: "Active users", fill: "currentColor", className: "!text-xs font-medium", style: { textAnchor: "middle" }, angle: -90, position: "insideLeft" }) }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, {}), formatter: (value) => Number(value).toLocaleString(), labelFormatter: (value) => value.toLocaleDateString(undefined, { month: "short", year: "numeric" }), cursor: {
|
|
138
|
+
className: "stroke-brand-medium stroke-2",
|
|
139
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.A, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "A", name: "Series 1", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "url(#verticalLines)", fillOpacity: 1, activeDot: {
|
|
140
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
141
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.B, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "B", name: "Series 2", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
142
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
143
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.C, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "C", name: "Series 3", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
144
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
145
|
+
} })] }) }) }));
|
|
146
|
+
};
|
|
147
|
+
export const LineChart04 = () => {
|
|
148
|
+
const isDesktop = useBreakpoint("lg");
|
|
149
|
+
const colors = {
|
|
150
|
+
A: "text-brand-medium",
|
|
151
|
+
B: "text-gray-medium",
|
|
152
|
+
C: "text-gray-subtle",
|
|
153
|
+
};
|
|
154
|
+
return (_jsx("div", { className: "flex h-60 flex-col gap-2", children: _jsx(ResponsiveContainer, { className: "h-full", children: _jsxs(AreaChart, { data: lineData, className: "text-muted [&_.recharts-text]:text-xs", margin: {
|
|
155
|
+
left: 5,
|
|
156
|
+
right: 5,
|
|
157
|
+
top: isDesktop ? 12 : 6,
|
|
158
|
+
bottom: isDesktop ? 16 : 0,
|
|
159
|
+
}, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "5%", stopColor: "currentColor", className: "text-gray-medium", stopOpacity: "0.7" }), _jsx("stop", { offset: "95%", stopColor: "currentColor", className: "text-gray-medium", stopOpacity: "0" })] }) }), _jsx(CartesianGrid, { vertical: false, stroke: "currentColor", className: "text-gray-subtle" }), _jsx(Legend, { verticalAlign: "top", align: "right", layout: isDesktop ? "vertical" : "horizontal", content: _jsx(ChartLegendContent, { className: "-translate-y-2" }) }), _jsx(XAxis, { fill: "currentColor", axisLine: false, tickLine: false, tickMargin: 10, interval: "preserveStartEnd", dataKey: "date", tickFormatter: (value) => value.toLocaleDateString(undefined, { month: "short" }), padding: { left: 10, right: 10 }, children: isDesktop && (_jsx(Label, { fill: "currentColor", className: "!text-xs font-medium max-lg:hidden", position: "bottom", children: "Month" })) }), _jsx(YAxis, { fill: "currentColor", axisLine: false, tickLine: false, interval: "preserveStartEnd", tickFormatter: (value) => Number(value).toLocaleString(), children: _jsx(Label, { value: "Active users", fill: "currentColor", className: "!text-xs font-medium", style: { textAnchor: "middle" }, angle: -90, position: "insideLeft" }) }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, {}), formatter: (value) => Number(value).toLocaleString(), labelFormatter: (value) => value.toLocaleDateString(undefined, { month: "short", year: "numeric" }), cursor: {
|
|
160
|
+
className: "stroke-brand-medium stroke-2",
|
|
161
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.A, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "A", name: "Series 1", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "url(#gradient)", fillOpacity: 0.1, activeDot: {
|
|
162
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
163
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.B, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "B", name: "Series 2", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
164
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
165
|
+
} }), _jsx(Area, { isAnimationActive: false, className: cx(colors.C, "[&_.recharts-area-area]:translate-y-1.5 [&_.recharts-area-area]:[clip-path:inset(0_0_6px_0)]"), dataKey: "C", name: "Series 3", type: "monotone", stroke: "currentColor", strokeWidth: 2, fill: "none", activeDot: {
|
|
166
|
+
className: "fill-bg-base stroke-brand-medium stroke-2",
|
|
167
|
+
} })] }) }) }));
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=line-charts.demo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-charts.demo.js","sourceRoot":"","sources":["../../src/components/line-charts.demo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
decorators: ((Story: FC) => import("react/jsx-runtime").JSX.Element)[];
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
export declare const LineChart01: {
|
|
8
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
storyName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const LineChart02: {
|
|
12
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
storyName: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const LineChart03: {
|
|
16
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
storyName: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const LineChart04: {
|
|
20
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
storyName: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=line-charts.story.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-charts.story.d.ts","sourceRoot":"","sources":["../../src/components/line-charts.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;;;yBAMhB,EAAE;;AAHlB,wBAWE;AAEF,eAAO,MAAM,WAAW;;;CAIvB,CAAC;AAGF,eAAO,MAAM,WAAW;;;CAIvB,CAAC;AAGF,eAAO,MAAM,WAAW;;;CAIvB,CAAC;AAGF,eAAO,MAAM,WAAW;;;CAIvB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as Charts from "./line-charts.demo";
|
|
3
|
+
export default {
|
|
4
|
+
title: "Application/Charts",
|
|
5
|
+
decorators: [
|
|
6
|
+
(Story) => (_jsx("div", { className: "bg-base flex min-h-screen items-center justify-center py-8", children: _jsx("div", { className: "flex w-full items-center justify-center", children: _jsx(Story, {}) }) })),
|
|
7
|
+
],
|
|
8
|
+
};
|
|
9
|
+
export const LineChart01 = () => (_jsx("div", { className: "w-full max-w-5xl", children: _jsx(Charts.LineChart01, {}) }));
|
|
10
|
+
LineChart01.storyName = "Line chart 01";
|
|
11
|
+
export const LineChart02 = () => (_jsx("div", { className: "w-full max-w-5xl", children: _jsx(Charts.LineChart02, {}) }));
|
|
12
|
+
LineChart02.storyName = "Line chart 02";
|
|
13
|
+
export const LineChart03 = () => (_jsx("div", { className: "w-full max-w-5xl", children: _jsx(Charts.LineChart03, {}) }));
|
|
14
|
+
LineChart03.storyName = "Line chart 03";
|
|
15
|
+
export const LineChart04 = () => (_jsx("div", { className: "w-full max-w-5xl", children: _jsx(Charts.LineChart04, {}) }));
|
|
16
|
+
LineChart04.storyName = "Line chart 04";
|
|
17
|
+
//# sourceMappingURL=line-charts.story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-charts.story.js","sourceRoot":"","sources":["../../src/components/line-charts.story.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAE7C,eAAe;IACX,KAAK,EAAE,oBAAoB;IAC3B,UAAU,EAAE;QACR,CAAC,KAAS,EAAE,EAAE,CAAC,CACX,cAAK,SAAS,EAAC,4DAA4D,YACvE,cAAK,SAAS,EAAC,yCAAyC,YACpD,KAAC,KAAK,KAAG,GACP,GACJ,CACT;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAC7B,cAAK,SAAS,EAAC,kBAAkB,YAC7B,KAAC,MAAM,CAAC,WAAW,KAAG,GACpB,CACT,CAAC;AACF,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAC7B,cAAK,SAAS,EAAC,kBAAkB,YAC7B,KAAC,MAAM,CAAC,WAAW,KAAG,GACpB,CACT,CAAC;AACF,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAC7B,cAAK,SAAS,EAAC,kBAAkB,YAC7B,KAAC,MAAM,CAAC,WAAW,KAAG,GACpB,CACT,CAAC;AACF,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAC7B,cAAK,SAAS,EAAC,kBAAkB,YAC7B,KAAC,MAAM,CAAC,WAAW,KAAG,GACpB,CACT,CAAC;AACF,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface PieChartProps {
|
|
2
|
+
data?: {
|
|
3
|
+
name: string;
|
|
4
|
+
value: number;
|
|
5
|
+
className?: string;
|
|
6
|
+
}[];
|
|
7
|
+
}
|
|
8
|
+
export declare const PieChartXxs: ({ data }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const PieChartXs: ({ data }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const PieChartSm: ({ data }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const PieChartMd: ({ data }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const PieChartLg: ({ data }: PieChartProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=pie-charts.demo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pie-charts.demo.d.ts","sourceRoot":"","sources":["../../src/components/pie-charts.demo.tsx"],"names":[],"mappings":"AAoCA,UAAU,aAAa;IACnB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChE;AAED,eAAO,MAAM,WAAW,GAAI,UAAyB,aAAa,4CA8BjE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAyB,aAAa,4CA8BhE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAyB,aAAa,4CA8BhE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAyB,aAAa,4CA8BhE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAyB,aAAa,4CA8BhE,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Copyright (c) 2025 Amsterdam Data Labs
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Legend, Pie, PieChart as RechartsPieChart, ResponsiveContainer, Tooltip } from "recharts";
|
|
5
|
+
import { ChartLegendContent, ChartTooltipContent } from "./charts-base";
|
|
6
|
+
const pieChartData = [
|
|
7
|
+
// collapse-start
|
|
8
|
+
{
|
|
9
|
+
name: "Series 1",
|
|
10
|
+
value: 200,
|
|
11
|
+
className: "text-brand-medium",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "Series 2",
|
|
15
|
+
value: 350,
|
|
16
|
+
className: "text-brand-medium",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "Series 3",
|
|
20
|
+
value: 100,
|
|
21
|
+
className: "text-brand-subtle",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "Series 4",
|
|
25
|
+
value: 120,
|
|
26
|
+
className: "text-brand-subtle",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "Series 5",
|
|
30
|
+
value: 230,
|
|
31
|
+
className: "text-gray-subtle",
|
|
32
|
+
},
|
|
33
|
+
// collapse-end
|
|
34
|
+
];
|
|
35
|
+
export const PieChartXxs = ({ data = pieChartData }) => {
|
|
36
|
+
return (_jsx(ResponsiveContainer, { height: 120, className: "max-w-52.5", children: _jsxs(RechartsPieChart, { margin: {
|
|
37
|
+
left: 0,
|
|
38
|
+
right: 0,
|
|
39
|
+
top: 0,
|
|
40
|
+
bottom: 0,
|
|
41
|
+
}, children: [_jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: ChartLegendContent }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, { isPieChart: true }) }), _jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: 30, outerRadius: 60 })] }) }));
|
|
42
|
+
};
|
|
43
|
+
export const PieChartXs = ({ data = pieChartData }) => {
|
|
44
|
+
return (_jsx(ResponsiveContainer, { height: 160, className: "max-w-62.5", children: _jsxs(RechartsPieChart, { margin: {
|
|
45
|
+
left: 0,
|
|
46
|
+
right: 0,
|
|
47
|
+
top: 0,
|
|
48
|
+
bottom: 0,
|
|
49
|
+
}, children: [_jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: ChartLegendContent }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, { isPieChart: true }) }), _jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: 40, outerRadius: 80 })] }) }));
|
|
50
|
+
};
|
|
51
|
+
export const PieChartSm = ({ data = pieChartData }) => {
|
|
52
|
+
return (_jsx(ResponsiveContainer, { height: 200, className: "max-w-72.5", children: _jsxs(RechartsPieChart, { margin: {
|
|
53
|
+
left: 0,
|
|
54
|
+
right: 0,
|
|
55
|
+
top: 0,
|
|
56
|
+
bottom: 0,
|
|
57
|
+
}, children: [_jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: ChartLegendContent }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, { isPieChart: true }) }), _jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: 50, outerRadius: 100 })] }) }));
|
|
58
|
+
};
|
|
59
|
+
export const PieChartMd = ({ data = pieChartData }) => {
|
|
60
|
+
return (_jsx(ResponsiveContainer, { height: 240, className: "max-w-96", children: _jsxs(RechartsPieChart, { margin: {
|
|
61
|
+
left: 0,
|
|
62
|
+
right: 0,
|
|
63
|
+
top: 0,
|
|
64
|
+
bottom: 0,
|
|
65
|
+
}, children: [_jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: ChartLegendContent }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, { isPieChart: true }) }), _jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: 60, outerRadius: 120 })] }) }));
|
|
66
|
+
};
|
|
67
|
+
export const PieChartLg = ({ data = pieChartData }) => {
|
|
68
|
+
return (_jsx(ResponsiveContainer, { height: 280, className: "max-w-96", children: _jsxs(RechartsPieChart, { margin: {
|
|
69
|
+
left: 0,
|
|
70
|
+
right: 0,
|
|
71
|
+
top: 0,
|
|
72
|
+
bottom: 0,
|
|
73
|
+
}, children: [_jsx(Legend, { verticalAlign: "top", align: "right", layout: "vertical", content: ChartLegendContent }), _jsx(Tooltip, { content: _jsx(ChartTooltipContent, { isPieChart: true }) }), _jsx(Pie, { isAnimationActive: false, startAngle: -270, endAngle: -630, stroke: "none", data: data, dataKey: "value", nameKey: "name", fill: "currentColor", innerRadius: 70, outerRadius: 140 })] }) }));
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=pie-charts.demo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pie-charts.demo.js","sourceRoot":"","sources":["../../src/components/pie-charts.demo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
decorators: ((Story: FC) => import("react/jsx-runtime").JSX.Element)[];
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
|
7
|
+
export declare const PieChartXxs: {
|
|
8
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
storyName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const PieChartXs: {
|
|
12
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
storyName: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const PieChartSm: {
|
|
16
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
storyName: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const PieChartMd: {
|
|
20
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
storyName: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const PieChartLg: {
|
|
24
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
storyName: string;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=pie-charts.story.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pie-charts.story.d.ts","sourceRoot":"","sources":["../../src/components/pie-charts.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;;;yBAMhB,EAAE;;AAHlB,wBAWE;AAEF,eAAO,MAAM,WAAW;;;CAA+B,CAAC;AAGxD,eAAO,MAAM,UAAU;;;CAA8B,CAAC;AAGtD,eAAO,MAAM,UAAU;;;CAA8B,CAAC;AAGtD,eAAO,MAAM,UAAU;;;CAA8B,CAAC;AAGtD,eAAO,MAAM,UAAU;;;CAA8B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as Charts from "./pie-charts.demo";
|
|
3
|
+
export default {
|
|
4
|
+
title: "Application/Charts",
|
|
5
|
+
decorators: [
|
|
6
|
+
(Story) => (_jsx("div", { className: "bg-base flex min-h-screen items-center justify-center py-8", children: _jsx("div", { className: "flex w-full items-center justify-center", children: _jsx(Story, {}) }) })),
|
|
7
|
+
],
|
|
8
|
+
};
|
|
9
|
+
export const PieChartXxs = () => _jsx(Charts.PieChartXxs, {});
|
|
10
|
+
PieChartXxs.storyName = "Pie chart xxs";
|
|
11
|
+
export const PieChartXs = () => _jsx(Charts.PieChartXs, {});
|
|
12
|
+
PieChartXs.storyName = "Pie chart xs";
|
|
13
|
+
export const PieChartSm = () => _jsx(Charts.PieChartSm, {});
|
|
14
|
+
PieChartSm.storyName = "Pie chart sm";
|
|
15
|
+
export const PieChartMd = () => _jsx(Charts.PieChartMd, {});
|
|
16
|
+
PieChartMd.storyName = "Pie chart md";
|
|
17
|
+
export const PieChartLg = () => _jsx(Charts.PieChartLg, {});
|
|
18
|
+
PieChartLg.storyName = "Pie chart lg";
|
|
19
|
+
//# sourceMappingURL=pie-charts.story.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pie-charts.story.js","sourceRoot":"","sources":["../../src/components/pie-charts.story.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,eAAe;IACX,KAAK,EAAE,oBAAoB;IAC3B,UAAU,EAAE;QACR,CAAC,KAAS,EAAE,EAAE,CAAC,CACX,cAAK,SAAS,EAAC,4DAA4D,YACvE,cAAK,SAAS,EAAC,yCAAyC,YACpD,KAAC,KAAK,KAAG,GACP,GACJ,CACT;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,KAAC,MAAM,CAAC,WAAW,KAAG,CAAC;AACxD,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAC,MAAM,CAAC,UAAU,KAAG,CAAC;AACtD,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAC,MAAM,CAAC,UAAU,KAAG,CAAC;AACtD,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAC,MAAM,CAAC,UAAU,KAAG,CAAC;AACtD,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAC,MAAM,CAAC,UAAU,KAAG,CAAC;AACtD,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const ProgressCircle: ({ size, title, subtitle }: {
|
|
2
|
+
size?: "xs" | "sm" | "md" | "lg";
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const ProgressCircleXs: () => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const ProgressCircleSm: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const ProgressCircleMd: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const ProgressCircleLg: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const ProgressCircleXsOnlyTitle: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare const ProgressCircleSmOnlyTitle: () => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const ProgressCircleMdOnlyTitle: () => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const ProgressCircleLgOnlyTitle: () => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=progress-circles.demo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-circles.demo.d.ts","sourceRoot":"","sources":["../../src/components/progress-circles.demo.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc,GAAI,2BAAkC;IAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,4CAwFvI,CAAC;AAEF,eAAO,MAAM,gBAAgB,+CAAyE,CAAC;AACvG,eAAO,MAAM,gBAAgB,+CAA+D,CAAC;AAC7F,eAAO,MAAM,gBAAgB,+CAAyE,CAAC;AACvG,eAAO,MAAM,gBAAgB,+CAAyE,CAAC;AACvG,eAAO,MAAM,yBAAyB,+CAAiD,CAAC;AACxF,eAAO,MAAM,yBAAyB,+CAAiD,CAAC;AACxF,eAAO,MAAM,yBAAyB,+CAAiD,CAAC;AACxF,eAAO,MAAM,yBAAyB,+CAAiD,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright (c) 2025 Amsterdam Data Labs
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { cx } from "@enact-ui/react";
|
|
5
|
+
import { PolarAngleAxis, RadialBar, RadialBarChart, ResponsiveContainer } from "recharts";
|
|
6
|
+
const progressCircleData = [
|
|
7
|
+
{
|
|
8
|
+
value: 400,
|
|
9
|
+
className: "text-brand-medium",
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
export const ProgressCircle = ({ size = "sm", title, subtitle }) => {
|
|
13
|
+
const sizes = {
|
|
14
|
+
// collapse-start
|
|
15
|
+
xs: {
|
|
16
|
+
size: 16,
|
|
17
|
+
innerRadius: 80 - 8,
|
|
18
|
+
titleDY: "1.05em",
|
|
19
|
+
subtitleDY: "-1.3em",
|
|
20
|
+
title: "text-display-xs font-semibold",
|
|
21
|
+
subtitle: "text-xs font-medium",
|
|
22
|
+
},
|
|
23
|
+
sm: {
|
|
24
|
+
size: 20,
|
|
25
|
+
innerRadius: 100 - 10,
|
|
26
|
+
titleDY: "1em",
|
|
27
|
+
subtitleDY: "-1.4em",
|
|
28
|
+
title: "text-display-sm font-semibold",
|
|
29
|
+
subtitle: "text-xs font-medium",
|
|
30
|
+
},
|
|
31
|
+
md: {
|
|
32
|
+
size: 24,
|
|
33
|
+
innerRadius: 120 - 12,
|
|
34
|
+
titleDY: "1em",
|
|
35
|
+
subtitleDY: "-1.5em",
|
|
36
|
+
title: "text-display-md font-semibold",
|
|
37
|
+
subtitle: "text-sm font-medium",
|
|
38
|
+
},
|
|
39
|
+
lg: {
|
|
40
|
+
size: 28,
|
|
41
|
+
innerRadius: 140 - 14,
|
|
42
|
+
titleDY: "1em",
|
|
43
|
+
subtitleDY: "-2.1em",
|
|
44
|
+
title: "text-display-lg font-semibold",
|
|
45
|
+
subtitle: "text-sm font-medium",
|
|
46
|
+
},
|
|
47
|
+
// collapse-end
|
|
48
|
+
};
|
|
49
|
+
return (_jsx("div", { className: "h-100 w-full", children: _jsx(ResponsiveContainer, { children: _jsxs(RadialBarChart, { data: progressCircleData, accessibilityLayer: true, innerRadius: sizes[size].innerRadius, barSize: sizes[size].size,
|
|
50
|
+
// This is needed to start the chart at the top and go clockwise
|
|
51
|
+
startAngle: 90, endAngle: 360 + 90, children: [_jsx(PolarAngleAxis, { tick: false, type: "number", domain: [0, 1000], reversed: true }), _jsx(RadialBar, { isAnimationActive: false, dataKey: "value", fill: "currentColor", cornerRadius: 99, background: {
|
|
52
|
+
className: "fill-gray-light_hover",
|
|
53
|
+
} }), (title || subtitle) && (_jsxs("text", { x: "50%", y: "50%", textAnchor: "middle", dominantBaseline: "middle", children: [subtitle && (_jsx("tspan", { x: "50%", dy: title ? sizes[size].subtitleDY : "1%", className: cx("text-muted fill-current", sizes[size].subtitle), children: subtitle })), title && (_jsx("tspan", { x: "50%", dy: subtitle ? sizes[size].titleDY : "1%", className: cx("text-heading fill-current", sizes[size].title), children: title }))] }))] }) }) }));
|
|
54
|
+
};
|
|
55
|
+
export const ProgressCircleXs = () => _jsx(ProgressCircle, { size: "xs", title: "40%", subtitle: "Active users" });
|
|
56
|
+
export const ProgressCircleSm = () => _jsx(ProgressCircle, { title: "40%", subtitle: "Active users" });
|
|
57
|
+
export const ProgressCircleMd = () => _jsx(ProgressCircle, { size: "md", title: "40%", subtitle: "Active users" });
|
|
58
|
+
export const ProgressCircleLg = () => _jsx(ProgressCircle, { size: "lg", title: "40%", subtitle: "Active users" });
|
|
59
|
+
export const ProgressCircleXsOnlyTitle = () => _jsx(ProgressCircle, { size: "xs", title: "40%" });
|
|
60
|
+
export const ProgressCircleSmOnlyTitle = () => _jsx(ProgressCircle, { size: "sm", title: "40%" });
|
|
61
|
+
export const ProgressCircleMdOnlyTitle = () => _jsx(ProgressCircle, { size: "md", title: "40%" });
|
|
62
|
+
export const ProgressCircleLgOnlyTitle = () => _jsx(ProgressCircle, { size: "lg", title: "40%" });
|
|
63
|
+
//# sourceMappingURL=progress-circles.demo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-circles.demo.js","sourceRoot":"","sources":["../../src/components/progress-circles.demo.tsx"],"names":[],"mappings":"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"}
|