@zentauri-ui/zentauri-components 1.5.1 → 1.5.22
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/README.md +5 -5
- package/cli/registry.json +2 -0
- package/dist/charts/area.js +11 -10
- package/dist/charts/area.js.map +1 -1
- package/dist/charts/area.mjs +4 -3
- package/dist/charts/area.mjs.map +1 -1
- package/dist/charts/bar/Bar.d.ts.map +1 -1
- package/dist/charts/bar.js +11 -9
- package/dist/charts/bar.js.map +1 -1
- package/dist/charts/bar.mjs +5 -3
- package/dist/charts/bar.mjs.map +1 -1
- package/dist/charts/bubble.js +9 -8
- package/dist/charts/bubble.js.map +1 -1
- package/dist/charts/bubble.mjs +3 -2
- package/dist/charts/bubble.mjs.map +1 -1
- package/dist/charts/line.js +9 -8
- package/dist/charts/line.js.map +1 -1
- package/dist/charts/line.mjs +3 -2
- package/dist/charts/line.mjs.map +1 -1
- package/dist/charts/pie/Pie.d.ts +6 -0
- package/dist/charts/pie/Pie.d.ts.map +1 -0
- package/dist/charts/pie/index.d.ts +4 -0
- package/dist/charts/pie/index.d.ts.map +1 -0
- package/dist/charts/pie.js +107 -0
- package/dist/charts/pie.js.map +1 -0
- package/dist/charts/pie.mjs +94 -0
- package/dist/charts/pie.mjs.map +1 -0
- package/dist/charts/shared/colors.d.ts +4 -0
- package/dist/charts/shared/colors.d.ts.map +1 -1
- package/dist/charts/shared/types.d.ts +24 -1
- package/dist/charts/shared/types.d.ts.map +1 -1
- package/dist/charts/shared/variants.d.ts +25 -0
- package/dist/charts/shared/variants.d.ts.map +1 -1
- package/dist/{chunk-4E4XKJNR.js → chunk-MTJRPLMG.js} +47 -28
- package/dist/chunk-MTJRPLMG.js.map +1 -0
- package/dist/chunk-MWR5DIA5.mjs +21 -0
- package/dist/chunk-MWR5DIA5.mjs.map +1 -0
- package/dist/chunk-PVTTWOYV.js +24 -0
- package/dist/chunk-PVTTWOYV.js.map +1 -0
- package/dist/{chunk-7I44JVWY.mjs → chunk-SPX2QDIB.mjs} +48 -27
- package/dist/chunk-SPX2QDIB.mjs.map +1 -0
- package/package.json +1 -1
- package/src/charts/area/Area.tsx +1 -1
- package/src/charts/bar/Bar.tsx +1 -0
- package/src/charts/pie/Pie.tsx +103 -0
- package/src/charts/pie/index.ts +9 -0
- package/src/charts/shared/types.ts +27 -1
- package/src/charts/shared/variants.ts +45 -8
- package/dist/chunk-4E4XKJNR.js.map +0 -1
- package/dist/chunk-7I44JVWY.mjs.map +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PieChartProps } from "../shared/types";
|
|
2
|
+
export declare function PieChart<TDatum extends Record<string, number | string | null | undefined>>({ appearance, className, containerStyle, cornerRadius, data, dataKey, density, emptyState, height, label, labelLine, labelColor, nameKey, paddingAngle, showLegend, showTooltip, tooltipColor, stroke, fill, innerRadius, outerRadius, shape, style, ...props }: PieChartProps<TDatum>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace PieChart {
|
|
4
|
+
var displayName: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=Pie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqBrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CAyCvB;yBApEe,QAAQ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkMTJRPLMG_js = require('../chunk-MTJRPLMG.js');
|
|
5
|
+
require('../chunk-ZS5756ZC.js');
|
|
6
|
+
var recharts = require('recharts');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
var RADIAN = Math.PI / 180;
|
|
10
|
+
var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }) => {
|
|
11
|
+
if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const radius = innerRadius + (outerRadius - innerRadius) * 0.5;
|
|
15
|
+
const ncx = Number(cx);
|
|
16
|
+
const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
|
|
17
|
+
const ncy = Number(cy);
|
|
18
|
+
const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx("text", { x, y, fill, textAnchor: x > ncx ? "start" : "end", dominantBaseline: "central", children: `${((percent ?? 0) * 100).toFixed(0)}%` });
|
|
20
|
+
};
|
|
21
|
+
function PieChart({
|
|
22
|
+
appearance,
|
|
23
|
+
className,
|
|
24
|
+
containerStyle,
|
|
25
|
+
cornerRadius = 10,
|
|
26
|
+
data,
|
|
27
|
+
dataKey,
|
|
28
|
+
density,
|
|
29
|
+
emptyState = null,
|
|
30
|
+
height = 320,
|
|
31
|
+
label = false,
|
|
32
|
+
labelLine = false,
|
|
33
|
+
labelColor = "white",
|
|
34
|
+
nameKey,
|
|
35
|
+
paddingAngle = 2,
|
|
36
|
+
showLegend = true,
|
|
37
|
+
showTooltip = true,
|
|
38
|
+
tooltipColor = "#0f172a",
|
|
39
|
+
stroke = "#000000",
|
|
40
|
+
fill = "#0d3b66",
|
|
41
|
+
innerRadius,
|
|
42
|
+
outerRadius,
|
|
43
|
+
shape,
|
|
44
|
+
style,
|
|
45
|
+
...props
|
|
46
|
+
}) {
|
|
47
|
+
const hasData = data.length > 0;
|
|
48
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
49
|
+
chunkMTJRPLMG_js.ChartFrame,
|
|
50
|
+
{
|
|
51
|
+
appearance,
|
|
52
|
+
className,
|
|
53
|
+
containerStyle,
|
|
54
|
+
density,
|
|
55
|
+
emptyState,
|
|
56
|
+
hasData,
|
|
57
|
+
height,
|
|
58
|
+
style,
|
|
59
|
+
...props,
|
|
60
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { children: [
|
|
61
|
+
showTooltip ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
62
|
+
recharts.Tooltip,
|
|
63
|
+
{
|
|
64
|
+
contentStyle: { color: tooltipColor },
|
|
65
|
+
labelStyle: { color: tooltipColor },
|
|
66
|
+
itemStyle: { color: tooltipColor }
|
|
67
|
+
}
|
|
68
|
+
) : null,
|
|
69
|
+
showLegend ? /* @__PURE__ */ jsxRuntime.jsx(recharts.Legend, { color: "currentColor" }) : null,
|
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
recharts.Pie,
|
|
72
|
+
{
|
|
73
|
+
data,
|
|
74
|
+
dataKey: String(dataKey),
|
|
75
|
+
nameKey: String(nameKey),
|
|
76
|
+
innerRadius,
|
|
77
|
+
outerRadius,
|
|
78
|
+
paddingAngle,
|
|
79
|
+
cornerRadius,
|
|
80
|
+
labelLine,
|
|
81
|
+
label: label ? (props2) => renderCustomizedLabel({ ...props2, fill: labelColor }) : void 0,
|
|
82
|
+
stroke,
|
|
83
|
+
fill,
|
|
84
|
+
shape
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] })
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
PieChart.displayName = "PieChart";
|
|
92
|
+
|
|
93
|
+
Object.defineProperty(exports, "chartColorValues", {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
get: function () { return chunkMTJRPLMG_js.chartColorValues; }
|
|
96
|
+
});
|
|
97
|
+
Object.defineProperty(exports, "chartPalette", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function () { return chunkMTJRPLMG_js.chartPalette; }
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(exports, "chartVariants", {
|
|
102
|
+
enumerable: true,
|
|
103
|
+
get: function () { return chunkMTJRPLMG_js.chartVariants; }
|
|
104
|
+
});
|
|
105
|
+
exports.PieChart = PieChart;
|
|
106
|
+
//# sourceMappingURL=pie.js.map
|
|
107
|
+
//# sourceMappingURL=pie.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":"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","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text x={x} y={y} fill={fill} textAnchor={x > ncx ? 'start' : 'end'} dominantBaseline=\"central\">\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={label ? (props: PieLabelRenderProps) => renderCustomizedLabel({...props, fill: labelColor}) : undefined}\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ChartFrame } from '../chunk-SPX2QDIB.mjs';
|
|
3
|
+
export { chartColorValues, chartPalette, chartVariants } from '../chunk-SPX2QDIB.mjs';
|
|
4
|
+
import '../chunk-4D54YOL6.mjs';
|
|
5
|
+
import { PieChart as PieChart$1, Tooltip, Legend, Pie } from 'recharts';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var RADIAN = Math.PI / 180;
|
|
9
|
+
var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }) => {
|
|
10
|
+
if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const radius = innerRadius + (outerRadius - innerRadius) * 0.5;
|
|
14
|
+
const ncx = Number(cx);
|
|
15
|
+
const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
|
|
16
|
+
const ncy = Number(cy);
|
|
17
|
+
const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
|
|
18
|
+
return /* @__PURE__ */ jsx("text", { x, y, fill, textAnchor: x > ncx ? "start" : "end", dominantBaseline: "central", children: `${((percent ?? 0) * 100).toFixed(0)}%` });
|
|
19
|
+
};
|
|
20
|
+
function PieChart({
|
|
21
|
+
appearance,
|
|
22
|
+
className,
|
|
23
|
+
containerStyle,
|
|
24
|
+
cornerRadius = 10,
|
|
25
|
+
data,
|
|
26
|
+
dataKey,
|
|
27
|
+
density,
|
|
28
|
+
emptyState = null,
|
|
29
|
+
height = 320,
|
|
30
|
+
label = false,
|
|
31
|
+
labelLine = false,
|
|
32
|
+
labelColor = "white",
|
|
33
|
+
nameKey,
|
|
34
|
+
paddingAngle = 2,
|
|
35
|
+
showLegend = true,
|
|
36
|
+
showTooltip = true,
|
|
37
|
+
tooltipColor = "#0f172a",
|
|
38
|
+
stroke = "#000000",
|
|
39
|
+
fill = "#0d3b66",
|
|
40
|
+
innerRadius,
|
|
41
|
+
outerRadius,
|
|
42
|
+
shape,
|
|
43
|
+
style,
|
|
44
|
+
...props
|
|
45
|
+
}) {
|
|
46
|
+
const hasData = data.length > 0;
|
|
47
|
+
return /* @__PURE__ */ jsx(
|
|
48
|
+
ChartFrame,
|
|
49
|
+
{
|
|
50
|
+
appearance,
|
|
51
|
+
className,
|
|
52
|
+
containerStyle,
|
|
53
|
+
density,
|
|
54
|
+
emptyState,
|
|
55
|
+
hasData,
|
|
56
|
+
height,
|
|
57
|
+
style,
|
|
58
|
+
...props,
|
|
59
|
+
children: /* @__PURE__ */ jsxs(PieChart$1, { children: [
|
|
60
|
+
showTooltip ? /* @__PURE__ */ jsx(
|
|
61
|
+
Tooltip,
|
|
62
|
+
{
|
|
63
|
+
contentStyle: { color: tooltipColor },
|
|
64
|
+
labelStyle: { color: tooltipColor },
|
|
65
|
+
itemStyle: { color: tooltipColor }
|
|
66
|
+
}
|
|
67
|
+
) : null,
|
|
68
|
+
showLegend ? /* @__PURE__ */ jsx(Legend, { color: "currentColor" }) : null,
|
|
69
|
+
/* @__PURE__ */ jsx(
|
|
70
|
+
Pie,
|
|
71
|
+
{
|
|
72
|
+
data,
|
|
73
|
+
dataKey: String(dataKey),
|
|
74
|
+
nameKey: String(nameKey),
|
|
75
|
+
innerRadius,
|
|
76
|
+
outerRadius,
|
|
77
|
+
paddingAngle,
|
|
78
|
+
cornerRadius,
|
|
79
|
+
labelLine,
|
|
80
|
+
label: label ? (props2) => renderCustomizedLabel({ ...props2, fill: labelColor }) : void 0,
|
|
81
|
+
stroke,
|
|
82
|
+
fill,
|
|
83
|
+
shape
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
] })
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
PieChart.displayName = "PieChart";
|
|
91
|
+
|
|
92
|
+
export { PieChart };
|
|
93
|
+
//# sourceMappingURL=pie.mjs.map
|
|
94
|
+
//# sourceMappingURL=pie.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":";;;;;;AAaA,IAAM,MAAA,GAAS,KAAK,EAAA,GAAK,GAAA;AAEzB,IAAM,qBAAA,GAAwB,CAAC,EAAE,EAAA,EAAI,EAAA,EAAI,UAAU,WAAA,EAAa,WAAA,EAAa,OAAA,EAAS,IAAA,EAAK,KAA2B;AACpH,EAAA,IAAI,MAAM,IAAA,IAAQ,EAAA,IAAM,QAAQ,WAAA,IAAe,IAAA,IAAQ,eAAe,IAAA,EAAM;AAC1E,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,MAAA,GAAS,WAAA,GAAA,CAAe,WAAA,GAAc,WAAA,IAAe,GAAA;AAC3D,EAAA,MAAM,GAAA,GAAM,OAAO,EAAE,CAAA;AACrB,EAAA,MAAM,CAAA,GAAI,MAAM,MAAA,GAAS,IAAA,CAAK,IAAI,EAAE,QAAA,IAAY,KAAK,MAAM,CAAA;AAC3D,EAAA,MAAM,GAAA,GAAM,OAAO,EAAE,CAAA;AACrB,EAAA,MAAM,CAAA,GAAI,MAAM,MAAA,GAAS,IAAA,CAAK,IAAI,EAAE,QAAA,IAAY,KAAK,MAAM,CAAA;AAE3D,EAAA,2BACG,MAAA,EAAA,EAAK,CAAA,EAAM,GAAM,IAAA,EAAY,UAAA,EAAY,IAAI,GAAA,GAAM,OAAA,GAAU,OAAO,gBAAA,EAAiB,SAAA,EACnF,eAAK,OAAA,IAAW,CAAA,IAAK,KAAK,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,EACvC,CAAA;AAEJ,CAAA;AAEO,SAAS,QAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA,GAAe,EAAA;AAAA,EACf,IAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,KAAA,GAAQ,KAAA;AAAA,EACR,SAAA,GAAY,KAAA;AAAA,EACZ,UAAA,GAAa,OAAA;AAAA,EACb,OAAA;AAAA,EACA,YAAA,GAAe,CAAA;AAAA,EACf,UAAA,GAAa,IAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,MAAA,GAAS,SAAA;AAAA,EACT,IAAA,GAAO,SAAA;AAAA,EACP,WAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,MAAM,OAAA,GAAU,KAAK,MAAA,GAAS,CAAA;AAE9B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,+BAACA,UAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,WAAA,mBACC,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,SACnC,GACE,IAAA;AAAA,QACH,UAAA,mBAAa,GAAA,CAAC,MAAA,EAAA,EAAO,KAAA,EAAM,gBAAe,CAAA,GAAK,IAAA;AAAA,wBAChD,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,WAAA;AAAA,YACA,WAAA;AAAA,YACA,YAAA;AAAA,YACA,YAAA;AAAA,YACA,SAAA;AAAA,YACA,KAAA,EAAO,KAAA,GAAQ,CAACC,MAAAA,KAA+B,qBAAA,CAAsB,EAAC,GAAGA,MAAAA,EAAO,IAAA,EAAM,UAAA,EAAW,CAAA,GAAI,MAAA;AAAA,YACrG,MAAA;AAAA,YACA,IAAA;AAAA,YACA;AAAA;AAAA;AACF,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text x={x} y={y} fill={fill} textAnchor={x > ncx ? 'start' : 'end'} dominantBaseline=\"central\">\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={label ? (props: PieLabelRenderProps) => renderCustomizedLabel({...props, fill: labelColor}) : undefined}\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { ChartColor, ChartSeries } from "./types";
|
|
2
2
|
export declare function resolveColor(color: ChartColor | string | undefined, index: number): {
|
|
3
|
+
readonly stroke: "#0f172a";
|
|
4
|
+
readonly fill: "#0f172a";
|
|
5
|
+
readonly textColor: "#0f172a";
|
|
6
|
+
} | {
|
|
3
7
|
readonly stroke: "#0891b2";
|
|
4
8
|
readonly fill: "#67e8f9";
|
|
5
9
|
readonly textColor: "#0891b2";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,SAAO,UASf"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { VariantProps } from "class-variance-authority";
|
|
2
2
|
import type { CSSProperties, HTMLAttributes, ReactNode } from "react";
|
|
3
3
|
import type { chartPalette, chartVariants } from "./variants";
|
|
4
|
-
|
|
4
|
+
import { PieProps } from "recharts";
|
|
5
|
+
export type ChartType = "area" | "bar" | "bubble" | "line" | "pie";
|
|
5
6
|
export type ChartColor = keyof typeof chartPalette;
|
|
6
7
|
export type ChartDatum = Record<string, number | string | null | undefined>;
|
|
7
8
|
export type ChartMargin = {
|
|
@@ -16,6 +17,7 @@ export type ChartSeries = {
|
|
|
16
17
|
color?: ChartColor | string;
|
|
17
18
|
textColor?: string;
|
|
18
19
|
fill?: string;
|
|
20
|
+
stroke?: string;
|
|
19
21
|
stackId?: string;
|
|
20
22
|
zKey?: string;
|
|
21
23
|
};
|
|
@@ -40,4 +42,25 @@ export type AreaChartProps<TDatum extends ChartDatum = ChartDatum> = BaseChartPr
|
|
|
40
42
|
export type BarChartProps<TDatum extends ChartDatum = ChartDatum> = BaseChartProps<TDatum>;
|
|
41
43
|
export type LineChartProps<TDatum extends ChartDatum = ChartDatum> = BaseChartProps<TDatum>;
|
|
42
44
|
export type BubbleChartProps<TDatum extends ChartDatum = ChartDatum> = BaseChartProps<TDatum>;
|
|
45
|
+
export type PieChartProps<TDatum extends ChartDatum = ChartDatum> = ChartSharedStatic & Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
|
|
46
|
+
data: TDatum[];
|
|
47
|
+
dataKey: keyof TDatum & string;
|
|
48
|
+
nameKey: keyof TDatum & string;
|
|
49
|
+
height?: number;
|
|
50
|
+
showLegend?: boolean;
|
|
51
|
+
showTooltip?: boolean;
|
|
52
|
+
tooltipColor?: string;
|
|
53
|
+
emptyState?: ReactNode;
|
|
54
|
+
containerStyle?: CSSProperties;
|
|
55
|
+
paddingAngle?: PieProps["paddingAngle"];
|
|
56
|
+
cornerRadius?: PieProps["cornerRadius"];
|
|
57
|
+
label?: boolean;
|
|
58
|
+
labelLine?: boolean;
|
|
59
|
+
labelColor?: string;
|
|
60
|
+
stroke?: PieProps["stroke"];
|
|
61
|
+
fill?: PieProps["fill"];
|
|
62
|
+
innerRadius?: PieProps["innerRadius"];
|
|
63
|
+
outerRadius?: PieProps["outerRadius"];
|
|
64
|
+
shape?: PieProps["shape"];
|
|
65
|
+
};
|
|
43
66
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,31 @@ export declare const chartVariants: (props?: ({
|
|
|
3
3
|
density?: "compact" | "comfortable" | "spacious" | null | undefined;
|
|
4
4
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
5
|
export declare const chartPalette: {
|
|
6
|
+
readonly glass: {
|
|
7
|
+
readonly stroke: "#0f172a";
|
|
8
|
+
readonly fill: "#0f172a";
|
|
9
|
+
readonly textColor: "#0f172a";
|
|
10
|
+
};
|
|
11
|
+
readonly outline: {
|
|
12
|
+
readonly stroke: "#0f172a";
|
|
13
|
+
readonly fill: "#0f172a";
|
|
14
|
+
readonly textColor: "#0f172a";
|
|
15
|
+
};
|
|
16
|
+
readonly muted: {
|
|
17
|
+
readonly stroke: "#0f172a";
|
|
18
|
+
readonly fill: "#0f172a";
|
|
19
|
+
readonly textColor: "#0f172a";
|
|
20
|
+
};
|
|
21
|
+
readonly default: {
|
|
22
|
+
readonly stroke: "#0f172a";
|
|
23
|
+
readonly fill: "#0f172a";
|
|
24
|
+
readonly textColor: "#0f172a";
|
|
25
|
+
};
|
|
26
|
+
readonly sky: {
|
|
27
|
+
readonly stroke: "#0f172a";
|
|
28
|
+
readonly fill: "#0f172a";
|
|
29
|
+
readonly textColor: "#0f172a";
|
|
30
|
+
};
|
|
6
31
|
readonly cyan: {
|
|
7
32
|
readonly stroke: "#0891b2";
|
|
8
33
|
readonly fill: "#67e8f9";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;8EA4DzB,CAAC;AAEF,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/variants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;8EA4DzB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDf,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAgC,KAAK,CAChE,MAAM,OAAO,YAAY,CAC1B,CAAC"}
|
|
@@ -50,6 +50,11 @@ var chartVariants = classVarianceAuthority.cva(
|
|
|
50
50
|
}
|
|
51
51
|
);
|
|
52
52
|
var chartPalette = {
|
|
53
|
+
glass: { stroke: "#0f172a", fill: "#0f172a", textColor: "#0f172a" },
|
|
54
|
+
outline: { stroke: "#0f172a", fill: "#0f172a", textColor: "#0f172a" },
|
|
55
|
+
muted: { stroke: "#0f172a", fill: "#0f172a", textColor: "#0f172a" },
|
|
56
|
+
default: { stroke: "#0f172a", fill: "#0f172a", textColor: "#0f172a" },
|
|
57
|
+
sky: { stroke: "#0f172a", fill: "#0f172a", textColor: "#0f172a" },
|
|
53
58
|
cyan: { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
|
|
54
59
|
emerald: { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
|
|
55
60
|
violet: { stroke: "#7c3aed", fill: "#c4b5fd", textColor: "#7c3aed" },
|
|
@@ -59,14 +64,46 @@ var chartPalette = {
|
|
|
59
64
|
gray: { stroke: "#6b7280", fill: "#d1d5db", textColor: "#6b7280" },
|
|
60
65
|
white: { stroke: "#ffffff", fill: "#ffffff", textColor: "#ffffff" },
|
|
61
66
|
indigo: { stroke: "#6366f1", fill: "#c7d2fe", textColor: "#6366f1" },
|
|
62
|
-
"gradient-cyan-violet": {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"gradient-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
"gradient-cyan-violet": {
|
|
68
|
+
stroke: "#0891b2",
|
|
69
|
+
fill: "#67e8f9",
|
|
70
|
+
textColor: "#0891b2"
|
|
71
|
+
},
|
|
72
|
+
"gradient-emerald-violet": {
|
|
73
|
+
stroke: "#059669",
|
|
74
|
+
fill: "#6ee7b7",
|
|
75
|
+
textColor: "#059669"
|
|
76
|
+
},
|
|
77
|
+
"gradient-amber-rose": {
|
|
78
|
+
stroke: "#d97706",
|
|
79
|
+
fill: "#fcd34d",
|
|
80
|
+
textColor: "#d97706"
|
|
81
|
+
},
|
|
82
|
+
"gradient-slate-gray": {
|
|
83
|
+
stroke: "#475569",
|
|
84
|
+
fill: "#cbd5e1",
|
|
85
|
+
textColor: "#475569"
|
|
86
|
+
},
|
|
87
|
+
"gradient-indigo-purple": {
|
|
88
|
+
stroke: "#6366f1",
|
|
89
|
+
fill: "#c7d2fe",
|
|
90
|
+
textColor: "#6366f1"
|
|
91
|
+
},
|
|
92
|
+
"gradient-cyan-blue": {
|
|
93
|
+
stroke: "#0891b2",
|
|
94
|
+
fill: "#67e8f9",
|
|
95
|
+
textColor: "#0891b2"
|
|
96
|
+
},
|
|
97
|
+
"gradient-emerald-blue": {
|
|
98
|
+
stroke: "#059669",
|
|
99
|
+
fill: "#6ee7b7",
|
|
100
|
+
textColor: "#059669"
|
|
101
|
+
},
|
|
102
|
+
"gradient-amber-blue": {
|
|
103
|
+
stroke: "#d97706",
|
|
104
|
+
fill: "#fcd34d",
|
|
105
|
+
textColor: "#d97706"
|
|
106
|
+
}
|
|
70
107
|
};
|
|
71
108
|
var chartColorValues = Object.keys(chartPalette);
|
|
72
109
|
var CHART_ONLY_DIV_PROP_KEYS = /* @__PURE__ */ new Set([
|
|
@@ -166,29 +203,11 @@ function ChartDecorators({
|
|
|
166
203
|
] });
|
|
167
204
|
}
|
|
168
205
|
|
|
169
|
-
// src/charts/shared/colors.ts
|
|
170
|
-
function resolveColor(color, index) {
|
|
171
|
-
if (color && color in chartPalette) {
|
|
172
|
-
return chartPalette[color];
|
|
173
|
-
}
|
|
174
|
-
if (color) {
|
|
175
|
-
return { stroke: color, fill: color };
|
|
176
|
-
}
|
|
177
|
-
const paletteValues = Object.values(chartPalette);
|
|
178
|
-
return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;
|
|
179
|
-
}
|
|
180
|
-
function getSeriesFill(series, index, opacity = 0.18) {
|
|
181
|
-
const color = resolveColor(series.color, index);
|
|
182
|
-
return series.fill ?? `${color.fill}${Math.round(opacity * 255).toString(16).padStart(2, "0")}`;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
206
|
exports.ChartDecorators = ChartDecorators;
|
|
186
207
|
exports.ChartFrame = ChartFrame;
|
|
187
208
|
exports.chartColorValues = chartColorValues;
|
|
188
209
|
exports.chartPalette = chartPalette;
|
|
189
210
|
exports.chartVariants = chartVariants;
|
|
190
211
|
exports.defaultChartMargin = defaultChartMargin;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
//# sourceMappingURL=chunk-4E4XKJNR.js.map
|
|
194
|
-
//# sourceMappingURL=chunk-4E4XKJNR.js.map
|
|
212
|
+
//# sourceMappingURL=chunk-MTJRPLMG.js.map
|
|
213
|
+
//# sourceMappingURL=chunk-MTJRPLMG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx"],"names":["cva","jsx","cn","ResponsiveContainer","jsxs","Fragment","CartesianGrid","Tooltip","Legend"],"mappings":"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","file":"chunk-MTJRPLMG.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n glass: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n outline: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n muted: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n default: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n sky: { stroke: \"#0f172a\", fill: \"#0f172a\", textColor: \"#0f172a\" },\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": {\n stroke: \"#0891b2\",\n fill: \"#67e8f9\",\n textColor: \"#0891b2\",\n },\n \"gradient-emerald-violet\": {\n stroke: \"#059669\",\n fill: \"#6ee7b7\",\n textColor: \"#059669\",\n },\n \"gradient-amber-rose\": {\n stroke: \"#d97706\",\n fill: \"#fcd34d\",\n textColor: \"#d97706\",\n },\n \"gradient-slate-gray\": {\n stroke: \"#475569\",\n fill: \"#cbd5e1\",\n textColor: \"#475569\",\n },\n \"gradient-indigo-purple\": {\n stroke: \"#6366f1\",\n fill: \"#c7d2fe\",\n textColor: \"#6366f1\",\n },\n \"gradient-cyan-blue\": {\n stroke: \"#0891b2\",\n fill: \"#67e8f9\",\n textColor: \"#0891b2\",\n },\n \"gradient-emerald-blue\": {\n stroke: \"#059669\",\n fill: \"#6ee7b7\",\n textColor: \"#059669\",\n },\n \"gradient-amber-blue\": {\n stroke: \"#d97706\",\n fill: \"#fcd34d\",\n textColor: \"#d97706\",\n },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","import type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\n/** Chart-level props that may be forwarded from *Chart `...rest` and must not reach a DOM node. */\nconst CHART_ONLY_DIV_PROP_KEYS = new Set([\n \"data\",\n \"margin\",\n \"series\",\n \"showGrid\",\n \"showLegend\",\n \"showTooltip\",\n \"stacked\",\n \"strokeDasharray\",\n \"syncId\",\n \"tooltipColor\",\n \"xKey\",\n]);\n\nfunction filterDivProps(\n props: HTMLAttributes<HTMLDivElement>,\n): HTMLAttributes<HTMLDivElement> {\n const entries = Object.entries(props).filter(\n ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key),\n );\n return Object.fromEntries(entries) as HTMLAttributes<HTMLDivElement>;\n}\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n style,\n ...props\n}: ChartFrameProps) {\n const divProps = filterDivProps(props);\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { chartPalette } from './chunk-SPX2QDIB.mjs';
|
|
2
|
+
|
|
3
|
+
// src/charts/shared/colors.ts
|
|
4
|
+
function resolveColor(color, index) {
|
|
5
|
+
if (color && color in chartPalette) {
|
|
6
|
+
return chartPalette[color];
|
|
7
|
+
}
|
|
8
|
+
if (color) {
|
|
9
|
+
return { stroke: color, fill: color };
|
|
10
|
+
}
|
|
11
|
+
const paletteValues = Object.values(chartPalette);
|
|
12
|
+
return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;
|
|
13
|
+
}
|
|
14
|
+
function getSeriesFill(series, index, opacity = 0.18) {
|
|
15
|
+
const color = resolveColor(series.color, index);
|
|
16
|
+
return series.fill ?? `${color.fill}${Math.round(opacity * 255).toString(16).padStart(2, "0")}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { getSeriesFill, resolveColor };
|
|
20
|
+
//# sourceMappingURL=chunk-MWR5DIA5.mjs.map
|
|
21
|
+
//# sourceMappingURL=chunk-MWR5DIA5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/shared/colors.ts"],"names":[],"mappings":";;;AAGO,SAAS,YAAA,CACd,OACA,KAAA,EACA;AACA,EAAA,IAAI,KAAA,IAAS,SAAS,YAAA,EAAc;AAClC,IAAA,OAAO,aAAa,KAAmB,CAAA;AAAA,EACzC;AACA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACtC;AAEA,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA;AAChD,EAAA,OAAO,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,MAAM,KAAK,YAAA,CAAa,IAAA;AACrE;AAEO,SAAS,aAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,GAAU,IAAA,EACV;AACA,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,MAAA,CAAO,KAAA,EAAO,KAAK,CAAA;AAC9C,EAAA,OACE,OAAO,IAAA,IACP,CAAA,EAAG,KAAA,CAAM,IAAI,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,EACrC,QAAA,CAAS,EAAE,EACX,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEvB","file":"chunk-MWR5DIA5.mjs","sourcesContent":["import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkMTJRPLMG_js = require('./chunk-MTJRPLMG.js');
|
|
4
|
+
|
|
5
|
+
// src/charts/shared/colors.ts
|
|
6
|
+
function resolveColor(color, index) {
|
|
7
|
+
if (color && color in chunkMTJRPLMG_js.chartPalette) {
|
|
8
|
+
return chunkMTJRPLMG_js.chartPalette[color];
|
|
9
|
+
}
|
|
10
|
+
if (color) {
|
|
11
|
+
return { stroke: color, fill: color };
|
|
12
|
+
}
|
|
13
|
+
const paletteValues = Object.values(chunkMTJRPLMG_js.chartPalette);
|
|
14
|
+
return paletteValues[index % paletteValues.length] ?? chunkMTJRPLMG_js.chartPalette.cyan;
|
|
15
|
+
}
|
|
16
|
+
function getSeriesFill(series, index, opacity = 0.18) {
|
|
17
|
+
const color = resolveColor(series.color, index);
|
|
18
|
+
return series.fill ?? `${color.fill}${Math.round(opacity * 255).toString(16).padStart(2, "0")}`;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.getSeriesFill = getSeriesFill;
|
|
22
|
+
exports.resolveColor = resolveColor;
|
|
23
|
+
//# sourceMappingURL=chunk-PVTTWOYV.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-PVTTWOYV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/shared/colors.ts"],"names":["chartPalette"],"mappings":";;;;;AAGO,SAAS,YAAA,CACd,OACA,KAAA,EACA;AACA,EAAA,IAAI,KAAA,IAAS,SAASA,6BAAA,EAAc;AAClC,IAAA,OAAOA,8BAAa,KAAmB,CAAA;AAAA,EACzC;AACA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACtC;AAEA,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,MAAA,CAAOA,6BAAY,CAAA;AAChD,EAAA,OAAO,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,MAAM,KAAKA,6BAAA,CAAa,IAAA;AACrE;AAEO,SAAS,aAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,GAAU,IAAA,EACV;AACA,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,MAAA,CAAO,KAAA,EAAO,KAAK,CAAA;AAC9C,EAAA,OACE,OAAO,IAAA,IACP,CAAA,EAAG,KAAA,CAAM,IAAI,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,EACrC,QAAA,CAAS,EAAE,EACX,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEvB","file":"chunk-PVTTWOYV.js","sourcesContent":["import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
|