@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.
Files changed (50) hide show
  1. package/README.md +5 -5
  2. package/cli/registry.json +2 -0
  3. package/dist/charts/area.js +11 -10
  4. package/dist/charts/area.js.map +1 -1
  5. package/dist/charts/area.mjs +4 -3
  6. package/dist/charts/area.mjs.map +1 -1
  7. package/dist/charts/bar/Bar.d.ts.map +1 -1
  8. package/dist/charts/bar.js +11 -9
  9. package/dist/charts/bar.js.map +1 -1
  10. package/dist/charts/bar.mjs +5 -3
  11. package/dist/charts/bar.mjs.map +1 -1
  12. package/dist/charts/bubble.js +9 -8
  13. package/dist/charts/bubble.js.map +1 -1
  14. package/dist/charts/bubble.mjs +3 -2
  15. package/dist/charts/bubble.mjs.map +1 -1
  16. package/dist/charts/line.js +9 -8
  17. package/dist/charts/line.js.map +1 -1
  18. package/dist/charts/line.mjs +3 -2
  19. package/dist/charts/line.mjs.map +1 -1
  20. package/dist/charts/pie/Pie.d.ts +6 -0
  21. package/dist/charts/pie/Pie.d.ts.map +1 -0
  22. package/dist/charts/pie/index.d.ts +4 -0
  23. package/dist/charts/pie/index.d.ts.map +1 -0
  24. package/dist/charts/pie.js +107 -0
  25. package/dist/charts/pie.js.map +1 -0
  26. package/dist/charts/pie.mjs +94 -0
  27. package/dist/charts/pie.mjs.map +1 -0
  28. package/dist/charts/shared/colors.d.ts +4 -0
  29. package/dist/charts/shared/colors.d.ts.map +1 -1
  30. package/dist/charts/shared/types.d.ts +24 -1
  31. package/dist/charts/shared/types.d.ts.map +1 -1
  32. package/dist/charts/shared/variants.d.ts +25 -0
  33. package/dist/charts/shared/variants.d.ts.map +1 -1
  34. package/dist/{chunk-4E4XKJNR.js → chunk-MTJRPLMG.js} +47 -28
  35. package/dist/chunk-MTJRPLMG.js.map +1 -0
  36. package/dist/chunk-MWR5DIA5.mjs +21 -0
  37. package/dist/chunk-MWR5DIA5.mjs.map +1 -0
  38. package/dist/chunk-PVTTWOYV.js +24 -0
  39. package/dist/chunk-PVTTWOYV.js.map +1 -0
  40. package/dist/{chunk-7I44JVWY.mjs → chunk-SPX2QDIB.mjs} +48 -27
  41. package/dist/chunk-SPX2QDIB.mjs.map +1 -0
  42. package/package.json +1 -1
  43. package/src/charts/area/Area.tsx +1 -1
  44. package/src/charts/bar/Bar.tsx +1 -0
  45. package/src/charts/pie/Pie.tsx +103 -0
  46. package/src/charts/pie/index.ts +9 -0
  47. package/src/charts/shared/types.ts +27 -1
  48. package/src/charts/shared/variants.ts +45 -8
  49. package/dist/chunk-4E4XKJNR.js.map +0 -1
  50. 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,4 @@
1
+ export { PieChart } from "./Pie";
2
+ export type { PieChartProps } from "../shared/types";
3
+ export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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":"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","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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWd;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,SAAO,UASf"}
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
- export type ChartType = "area" | "bar" | "bubble" | "line";
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;AAE9D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnE,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAC/D,iBAAiB,GACf,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAC/D,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAC9D,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IAC/D,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU,IACjE,cAAc,CAAC,MAAM,CAAC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBf,CAAC;AAEX,eAAO,MAAM,gBAAgB,EAAgC,KAAK,CAChE,MAAM,OAAO,YAAY,CAC1B,CAAC"}
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": { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
63
- "gradient-emerald-violet": { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
64
- "gradient-amber-rose": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" },
65
- "gradient-slate-gray": { stroke: "#475569", fill: "#cbd5e1", textColor: "#475569" },
66
- "gradient-indigo-purple": { stroke: "#6366f1", fill: "#c7d2fe", textColor: "#6366f1" },
67
- "gradient-cyan-blue": { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
68
- "gradient-emerald-blue": { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
69
- "gradient-amber-blue": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" }
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
- exports.getSeriesFill = getSeriesFill;
192
- exports.resolveColor = resolveColor;
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"]}