ml-uikit 1.1.6 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/date-range-picker.d.ts +3 -0
- package/dist/components/ui/date-range-picker.d.ts.map +1 -1
- package/dist/components/ui/password-input.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts.map +1 -0
- package/dist/components/ui/searchable-dropdown.d.ts +22 -0
- package/dist/components/ui/searchable-dropdown.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +5 -1
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs11.js.map +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs15.js.map +1 -1
- package/dist/index.cjs16.js +4 -4
- package/dist/index.cjs16.js.map +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs17.js.map +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs19.js.map +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs20.js.map +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs21.js.map +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs22.js.map +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs23.js.map +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs24.js.map +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs25.js.map +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs26.js.map +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs27.js.map +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs29.js.map +1 -1
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs30.js.map +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs31.js.map +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs32.js.map +1 -1
- package/dist/index.cjs33.js +1 -1
- package/dist/index.cjs33.js.map +1 -1
- package/dist/index.cjs34.js +1 -1
- package/dist/index.cjs34.js.map +1 -1
- package/dist/index.cjs35.js +1 -1
- package/dist/index.cjs35.js.map +1 -1
- package/dist/index.cjs36.js +1 -1
- package/dist/index.cjs36.js.map +1 -1
- package/dist/index.cjs37.js +1 -1
- package/dist/index.cjs37.js.map +1 -1
- package/dist/index.cjs38.js +1 -1
- package/dist/index.cjs38.js.map +1 -1
- package/dist/index.cjs39.js +1 -1
- package/dist/index.cjs39.js.map +1 -1
- package/dist/index.cjs4.js +1 -1
- package/dist/index.cjs4.js.map +1 -1
- package/dist/index.cjs40.js +1 -1
- package/dist/index.cjs40.js.map +1 -1
- package/dist/index.cjs41.js +1 -1
- package/dist/index.cjs41.js.map +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs42.js.map +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs43.js.map +1 -1
- package/dist/index.cjs44.js +1 -1
- package/dist/index.cjs44.js.map +1 -1
- package/dist/index.cjs45.js +1 -1
- package/dist/index.cjs45.js.map +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs47.js.map +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs48.js.map +1 -1
- package/dist/index.cjs49.js +1 -1
- package/dist/index.cjs49.js.map +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs50.js.map +1 -1
- package/dist/index.cjs51.js +1 -1
- package/dist/index.cjs51.js.map +1 -1
- package/dist/index.cjs52.js +1 -1
- package/dist/index.cjs52.js.map +1 -1
- package/dist/index.cjs53.js +1 -1
- package/dist/index.cjs53.js.map +1 -1
- package/dist/index.cjs54.js +1 -1
- package/dist/index.cjs54.js.map +1 -1
- package/dist/index.cjs55.js +1 -1
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs57.js.map +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs58.js.map +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs60.js.map +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +2 -0
- package/dist/index.cjs63.js.map +1 -0
- package/dist/index.cjs64.js +2 -0
- package/dist/index.cjs64.js.map +1 -0
- package/dist/index.cjs65.js +2 -0
- package/dist/index.cjs65.js.map +1 -0
- package/dist/index.cjs66.js +2 -0
- package/dist/index.cjs66.js.map +1 -0
- package/dist/index.cjs67.js +2 -0
- package/dist/index.cjs67.js.map +1 -0
- package/dist/index.cjs68.js +7 -0
- package/dist/index.cjs68.js.map +1 -0
- package/dist/index.cjs69.js +2 -0
- package/dist/index.cjs69.js.map +1 -0
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs70.js +2 -0
- package/dist/index.cjs70.js.map +1 -0
- package/dist/index.cjs71.js +2 -0
- package/dist/index.cjs71.js.map +1 -0
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +271 -258
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +22 -21
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es11.js +14 -13
- package/dist/index.es11.js.map +1 -1
- package/dist/index.es12.js +31 -31
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es13.js +39 -38
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es14.js +34 -33
- package/dist/index.es14.js.map +1 -1
- package/dist/index.es15.js +107 -102
- package/dist/index.es15.js.map +1 -1
- package/dist/index.es16.js +155 -140
- package/dist/index.es16.js.map +1 -1
- package/dist/index.es17.js +21 -18
- package/dist/index.es17.js.map +1 -1
- package/dist/index.es19.js +63 -59
- package/dist/index.es19.js.map +1 -1
- package/dist/index.es2.js +10 -6
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es20.js +85 -78
- package/dist/index.es20.js.map +1 -1
- package/dist/index.es21.js +68 -59
- package/dist/index.es21.js.map +1 -1
- package/dist/index.es22.js +68 -62
- package/dist/index.es22.js.map +1 -1
- package/dist/index.es23.js +83 -76
- package/dist/index.es23.js.map +1 -1
- package/dist/index.es24.js +178 -94
- package/dist/index.es24.js.map +1 -1
- package/dist/index.es25.js +57 -164
- package/dist/index.es25.js.map +1 -1
- package/dist/index.es26.js +198 -77
- package/dist/index.es26.js.map +1 -1
- package/dist/index.es27.js +90 -20
- package/dist/index.es27.js.map +1 -1
- package/dist/index.es28.js +21 -22
- package/dist/index.es28.js.map +1 -1
- package/dist/index.es29.js +19 -339
- package/dist/index.es29.js.map +1 -1
- package/dist/index.es3.js +35 -32
- package/dist/index.es3.js.map +1 -1
- package/dist/index.es30.js +38 -148
- package/dist/index.es30.js.map +1 -1
- package/dist/index.es31.js +377 -42
- package/dist/index.es31.js.map +1 -1
- package/dist/index.es32.js +146 -172
- package/dist/index.es32.js.map +1 -1
- package/dist/index.es33.js +46 -253
- package/dist/index.es33.js.map +1 -1
- package/dist/index.es34.js +195 -180
- package/dist/index.es34.js.map +1 -1
- package/dist/index.es35.js +253 -29
- package/dist/index.es35.js.map +1 -1
- package/dist/index.es36.js +183 -14
- package/dist/index.es36.js.map +1 -1
- package/dist/index.es37.js +29 -93
- package/dist/index.es37.js.map +1 -1
- package/dist/index.es38.js +13 -187
- package/dist/index.es38.js.map +1 -1
- package/dist/index.es39.js +93 -96
- package/dist/index.es39.js.map +1 -1
- package/dist/index.es4.js +38 -32
- package/dist/index.es4.js.map +1 -1
- package/dist/index.es40.js +182 -80
- package/dist/index.es40.js.map +1 -1
- package/dist/index.es41.js +98 -17
- package/dist/index.es41.js.map +1 -1
- package/dist/index.es42.js +101 -21
- package/dist/index.es42.js.map +1 -1
- package/dist/index.es43.js +20 -28
- package/dist/index.es43.js.map +1 -1
- package/dist/index.es44.js +19 -28
- package/dist/index.es44.js.map +1 -1
- package/dist/index.es45.js +25 -176
- package/dist/index.es45.js.map +1 -1
- package/dist/index.es46.js +36 -21
- package/dist/index.es46.js.map +1 -1
- package/dist/index.es47.js +171 -78
- package/dist/index.es47.js.map +1 -1
- package/dist/index.es48.js +17 -551
- package/dist/index.es48.js.map +1 -1
- package/dist/index.es49.js +106 -13
- package/dist/index.es49.js.map +1 -1
- package/dist/index.es5.js +71 -67
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es50.js +559 -35
- package/dist/index.es50.js.map +1 -1
- package/dist/index.es51.js +12 -19
- package/dist/index.es51.js.map +1 -1
- package/dist/index.es52.js +47 -12
- package/dist/index.es52.js.map +1 -1
- package/dist/index.es53.js +21 -25
- package/dist/index.es53.js.map +1 -1
- package/dist/index.es54.js +14 -217
- package/dist/index.es54.js.map +1 -1
- package/dist/index.es55.js +23 -44
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es56.js +237 -13
- package/dist/index.es56.js.map +1 -1
- package/dist/index.es57.js +44 -28
- package/dist/index.es57.js.map +1 -1
- package/dist/index.es58.js +17 -36
- package/dist/index.es58.js.map +1 -1
- package/dist/index.es59.js +33 -18
- package/dist/index.es59.js.map +1 -1
- package/dist/index.es60.js +39 -6
- package/dist/index.es60.js.map +1 -1
- package/dist/index.es61.js +21 -267
- package/dist/index.es61.js.map +1 -1
- package/dist/index.es62.js +3 -6268
- package/dist/index.es62.js.map +1 -1
- package/dist/index.es63.js +9 -0
- package/dist/index.es63.js.map +1 -0
- package/dist/index.es64.js +270 -0
- package/dist/index.es64.js.map +1 -0
- package/dist/index.es65.js +11 -0
- package/dist/index.es65.js.map +1 -0
- package/dist/index.es66.js +5 -0
- package/dist/index.es66.js.map +1 -0
- package/dist/index.es67.js +27 -0
- package/dist/index.es67.js.map +1 -0
- package/dist/index.es68.js +237 -0
- package/dist/index.es68.js.map +1 -0
- package/dist/index.es69.js +5 -0
- package/dist/index.es69.js.map +1 -0
- package/dist/index.es7.js +25 -24
- package/dist/index.es7.js.map +1 -1
- package/dist/index.es70.js +5 -0
- package/dist/index.es70.js.map +1 -0
- package/dist/index.es71.js +6271 -0
- package/dist/index.es71.js.map +1 -0
- package/dist/index.es8.js +43 -41
- package/dist/index.es8.js.map +1 -1
- package/dist/index.es9.js +51 -48
- package/dist/index.es9.js.map +1 -1
- package/dist/style.css +199 -49
- package/package.json +1 -1
package/dist/index.es16.js
CHANGED
|
@@ -1,45 +1,48 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { j as r } from "./index.es62.js";
|
|
2
|
+
import * as f from "react";
|
|
2
3
|
import * as C from "recharts";
|
|
3
|
-
import { cn as i } from "./index.
|
|
4
|
-
const
|
|
5
|
-
function
|
|
6
|
-
const
|
|
7
|
-
if (!
|
|
4
|
+
import { cn as i } from "./index.es63.js";
|
|
5
|
+
const R = { light: "", dark: ".dark" }, k = f.createContext(null);
|
|
6
|
+
function y() {
|
|
7
|
+
const a = f.useContext(k);
|
|
8
|
+
if (!a)
|
|
8
9
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
9
|
-
return
|
|
10
|
+
return a;
|
|
10
11
|
}
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
return /* @__PURE__ */
|
|
12
|
+
const T = f.forwardRef(({ id: a, className: e, children: o, config: t, ...c }, d) => {
|
|
13
|
+
const l = f.useId(), s = `chart-${a || l.replace(/:/g, "")}`;
|
|
14
|
+
return /* @__PURE__ */ r.jsx(k.Provider, { value: { config: t }, children: /* @__PURE__ */ r.jsxs(
|
|
14
15
|
"div",
|
|
15
16
|
{
|
|
16
|
-
"data-chart":
|
|
17
|
-
ref:
|
|
17
|
+
"data-chart": s,
|
|
18
|
+
ref: d,
|
|
18
19
|
className: i(
|
|
19
20
|
"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",
|
|
20
|
-
|
|
21
|
+
e
|
|
21
22
|
),
|
|
22
|
-
...
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
...c,
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ r.jsx(P, { id: s, config: t }),
|
|
26
|
+
/* @__PURE__ */ r.jsx(C.ResponsiveContainer, { children: o })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
) });
|
|
27
30
|
});
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const o = Object.entries(
|
|
31
|
-
([,
|
|
31
|
+
T.displayName = "Chart";
|
|
32
|
+
const P = ({ id: a, config: e }) => {
|
|
33
|
+
const o = Object.entries(e).filter(
|
|
34
|
+
([, t]) => t.theme || t.color
|
|
32
35
|
);
|
|
33
|
-
return o.length ? /* @__PURE__ */
|
|
36
|
+
return o.length ? /* @__PURE__ */ r.jsx(
|
|
34
37
|
"style",
|
|
35
38
|
{
|
|
36
39
|
dangerouslySetInnerHTML: {
|
|
37
|
-
__html: Object.entries(
|
|
38
|
-
([
|
|
39
|
-
${
|
|
40
|
-
${o.map(([
|
|
41
|
-
const
|
|
42
|
-
return
|
|
40
|
+
__html: Object.entries(R).map(
|
|
41
|
+
([t, c]) => `
|
|
42
|
+
${c} [data-chart=${a}] {
|
|
43
|
+
${o.map(([d, l]) => {
|
|
44
|
+
const s = l.theme?.[t] || l.color;
|
|
45
|
+
return s ? ` --color-${d}: ${s};` : null;
|
|
43
46
|
}).join(`
|
|
44
47
|
`)}
|
|
45
48
|
}
|
|
@@ -49,146 +52,158 @@ ${o.map(([u, c]) => {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
) : null;
|
|
52
|
-
},
|
|
55
|
+
}, M = C.Tooltip, E = f.forwardRef(
|
|
53
56
|
({
|
|
54
|
-
active:
|
|
55
|
-
payload:
|
|
57
|
+
active: a,
|
|
58
|
+
payload: e,
|
|
56
59
|
className: o,
|
|
57
|
-
indicator:
|
|
58
|
-
hideLabel:
|
|
59
|
-
hideIndicator:
|
|
60
|
-
label:
|
|
61
|
-
labelFormatter:
|
|
62
|
-
labelClassName:
|
|
63
|
-
formatter:
|
|
64
|
-
color:
|
|
65
|
-
nameKey:
|
|
60
|
+
indicator: t = "dot",
|
|
61
|
+
hideLabel: c = !1,
|
|
62
|
+
hideIndicator: d = !1,
|
|
63
|
+
label: l,
|
|
64
|
+
labelFormatter: s,
|
|
65
|
+
labelClassName: g,
|
|
66
|
+
formatter: h,
|
|
67
|
+
color: N,
|
|
68
|
+
nameKey: $,
|
|
66
69
|
labelKey: p
|
|
67
|
-
},
|
|
68
|
-
const { config:
|
|
69
|
-
if (
|
|
70
|
+
}, L) => {
|
|
71
|
+
const { config: x } = y(), _ = f.useMemo(() => {
|
|
72
|
+
if (c || !e?.length)
|
|
70
73
|
return null;
|
|
71
|
-
const [n] =
|
|
72
|
-
return
|
|
74
|
+
const [n] = e, v = `${p || n?.dataKey || n?.name || "value"}`, j = b(x, n, v), u = !p && typeof l == "string" ? x[l]?.label || l : j?.label;
|
|
75
|
+
return s ? /* @__PURE__ */ r.jsx("div", { className: i("font-medium", g), children: s(u, e) }) : u ? /* @__PURE__ */ r.jsx("div", { className: i("font-medium", g), children: u }) : null;
|
|
73
76
|
}, [
|
|
74
|
-
c,
|
|
75
|
-
a,
|
|
76
|
-
t,
|
|
77
77
|
l,
|
|
78
|
-
|
|
78
|
+
s,
|
|
79
|
+
e,
|
|
80
|
+
c,
|
|
79
81
|
g,
|
|
82
|
+
x,
|
|
80
83
|
p
|
|
81
84
|
]);
|
|
82
|
-
if (!
|
|
85
|
+
if (!a || !e?.length)
|
|
83
86
|
return null;
|
|
84
|
-
const
|
|
85
|
-
return /* @__PURE__ */
|
|
87
|
+
const m = e.length === 1 && t !== "dot";
|
|
88
|
+
return /* @__PURE__ */ r.jsxs(
|
|
86
89
|
"div",
|
|
87
90
|
{
|
|
88
|
-
ref:
|
|
91
|
+
ref: L,
|
|
89
92
|
className: i(
|
|
90
93
|
"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
|
|
91
94
|
o
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
95
|
+
),
|
|
96
|
+
children: [
|
|
97
|
+
m ? null : _,
|
|
98
|
+
/* @__PURE__ */ r.jsx("div", { className: "grid gap-1.5", children: e.filter((n) => n.type !== "none").map((n, v) => {
|
|
99
|
+
const j = `${$ || n.name || n.dataKey || "value"}`, u = b(x, n, j), w = N || n.payload.fill || n.color;
|
|
100
|
+
return /* @__PURE__ */ r.jsx(
|
|
101
|
+
"div",
|
|
102
|
+
{
|
|
103
|
+
className: i(
|
|
104
|
+
"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
|
|
105
|
+
t === "dot" && "items-center"
|
|
106
|
+
),
|
|
107
|
+
children: h && n?.value !== void 0 && n.name ? h(n.value, n.name, n, v, n.payload) : /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
|
|
108
|
+
u?.icon ? /* @__PURE__ */ r.jsx(u.icon, {}) : !d && /* @__PURE__ */ r.jsx(
|
|
109
|
+
"div",
|
|
110
|
+
{
|
|
111
|
+
className: i(
|
|
112
|
+
"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",
|
|
113
|
+
{
|
|
114
|
+
"h-2.5 w-2.5": t === "dot",
|
|
115
|
+
"w-1": t === "line",
|
|
116
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": t === "dashed",
|
|
117
|
+
"my-0.5": m && t === "dashed"
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
style: {
|
|
121
|
+
"--color-bg": w,
|
|
122
|
+
"--color-border": w
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
),
|
|
126
|
+
/* @__PURE__ */ r.jsxs(
|
|
127
|
+
"div",
|
|
128
|
+
{
|
|
129
|
+
className: i(
|
|
130
|
+
"flex flex-1 justify-between leading-none",
|
|
131
|
+
m ? "items-end" : "items-center"
|
|
132
|
+
),
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ r.jsxs("div", { className: "grid gap-1.5", children: [
|
|
135
|
+
m ? _ : null,
|
|
136
|
+
/* @__PURE__ */ r.jsx("span", { className: "text-muted-foreground", children: u?.label || n.name })
|
|
137
|
+
] }),
|
|
138
|
+
n.value && /* @__PURE__ */ r.jsx("span", { className: "font-mono font-medium tabular-nums text-foreground", children: n.value.toLocaleString() })
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
] })
|
|
143
|
+
},
|
|
144
|
+
n.dataKey
|
|
145
|
+
);
|
|
146
|
+
}) })
|
|
147
|
+
]
|
|
148
|
+
}
|
|
136
149
|
);
|
|
137
150
|
}
|
|
138
151
|
);
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
({ className:
|
|
142
|
-
const { config:
|
|
143
|
-
return o?.length ? /* @__PURE__ */
|
|
152
|
+
E.displayName = "ChartTooltip";
|
|
153
|
+
const H = C.Legend, I = f.forwardRef(
|
|
154
|
+
({ className: a, hideIcon: e = !1, payload: o, verticalAlign: t = "bottom", nameKey: c }, d) => {
|
|
155
|
+
const { config: l } = y();
|
|
156
|
+
return o?.length ? /* @__PURE__ */ r.jsx(
|
|
144
157
|
"div",
|
|
145
158
|
{
|
|
146
|
-
ref:
|
|
159
|
+
ref: d,
|
|
147
160
|
className: i(
|
|
148
161
|
"flex items-center justify-center gap-4",
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
return /* @__PURE__ */ e.createElement(
|
|
156
|
-
"div",
|
|
157
|
-
{
|
|
158
|
-
key: a.value,
|
|
159
|
-
className: i(
|
|
160
|
-
"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
|
|
161
|
-
)
|
|
162
|
-
},
|
|
163
|
-
m?.icon && !t ? /* @__PURE__ */ e.createElement(m.icon, null) : /* @__PURE__ */ e.createElement(
|
|
162
|
+
t === "top" ? "pb-3" : "pt-3",
|
|
163
|
+
a
|
|
164
|
+
),
|
|
165
|
+
children: o.filter((s) => s.type !== "none").map((s) => {
|
|
166
|
+
const g = `${c || s.dataKey || "value"}`, h = b(l, s, g);
|
|
167
|
+
return /* @__PURE__ */ r.jsxs(
|
|
164
168
|
"div",
|
|
165
169
|
{
|
|
166
|
-
className:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
170
|
+
className: i(
|
|
171
|
+
"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
|
|
172
|
+
),
|
|
173
|
+
children: [
|
|
174
|
+
h?.icon && !e ? /* @__PURE__ */ r.jsx(h.icon, {}) : /* @__PURE__ */ r.jsx(
|
|
175
|
+
"div",
|
|
176
|
+
{
|
|
177
|
+
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
178
|
+
style: {
|
|
179
|
+
backgroundColor: s.color
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
),
|
|
183
|
+
h?.label
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
s.value
|
|
187
|
+
);
|
|
188
|
+
})
|
|
189
|
+
}
|
|
175
190
|
) : null;
|
|
176
191
|
}
|
|
177
192
|
);
|
|
178
|
-
|
|
179
|
-
function
|
|
180
|
-
if (typeof
|
|
193
|
+
I.displayName = "ChartLegend";
|
|
194
|
+
function b(a, e, o) {
|
|
195
|
+
if (typeof e != "object" || e === null)
|
|
181
196
|
return;
|
|
182
|
-
const
|
|
183
|
-
let
|
|
184
|
-
return o in
|
|
197
|
+
const t = "payload" in e && typeof e.payload == "object" && e.payload !== null ? e.payload : void 0;
|
|
198
|
+
let c = o;
|
|
199
|
+
return o in e && typeof e[o] == "string" ? c = e[o] : t && o in t && typeof t[o] == "string" && (c = t[o]), c in a ? a[c] : a[o];
|
|
185
200
|
}
|
|
186
201
|
export {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
202
|
+
T as ChartContainer,
|
|
203
|
+
H as ChartLegend,
|
|
204
|
+
I as ChartLegendContent,
|
|
205
|
+
P as ChartStyle,
|
|
206
|
+
M as ChartTooltip,
|
|
207
|
+
E as ChartTooltipContent
|
|
193
208
|
};
|
|
194
209
|
//# sourceMappingURL=index.es16.js.map
|
package/dist/index.es16.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es16.js","sources":["../src/components/ui/chart.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","cn","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es16.js","sources":["../src/components/ui/chart.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload\n .filter((item) => item.type !== \"none\")\n .map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
|
package/dist/index.es17.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { j as e } from "./index.es62.js";
|
|
2
|
+
import * as s from "react";
|
|
2
3
|
import * as t from "@radix-ui/react-checkbox";
|
|
3
|
-
import { Check as o, Minus as
|
|
4
|
-
import { cn as
|
|
5
|
-
const
|
|
4
|
+
import { Check as o, Minus as b } from "lucide-react";
|
|
5
|
+
import { cn as d } from "./index.es63.js";
|
|
6
|
+
const c = s.forwardRef(({ className: a, ...r }, i) => /* @__PURE__ */ e.jsx(
|
|
6
7
|
t.Root,
|
|
7
8
|
{
|
|
8
9
|
ref: i,
|
|
9
|
-
className:
|
|
10
|
+
className: d(
|
|
10
11
|
"grid place-content-center peer h-4 w-4 shrink-0 rounded-[4px] border border-[#e6e6e6] bg-white text-white transition-colors",
|
|
11
12
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#111111] focus-visible:ring-offset-2",
|
|
12
13
|
"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:border-[#e6e6e6] disabled:text-[#b3b3b3]",
|
|
@@ -14,21 +15,23 @@ const b = e.forwardRef(({ className: d, ...r }, i) => /* @__PURE__ */ e.createEl
|
|
|
14
15
|
"data-[state=indeterminate]:border-[#26453f] data-[state=indeterminate]:bg-[#26453f]",
|
|
15
16
|
"disabled:data-[state=checked]:border-[#bdbdbd] disabled:data-[state=checked]:bg-[#bdbdbd]",
|
|
16
17
|
"disabled:data-[state=indeterminate]:border-[#bdbdbd] disabled:data-[state=indeterminate]:bg-[#bdbdbd]",
|
|
17
|
-
|
|
18
|
+
a
|
|
18
19
|
),
|
|
19
|
-
...r
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
...r,
|
|
21
|
+
children: /* @__PURE__ */ e.jsxs(
|
|
22
|
+
t.Indicator,
|
|
23
|
+
{
|
|
24
|
+
className: d("group grid place-content-center text-current"),
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ e.jsx(o, { className: "hidden h-3.5 w-3.5 group-data-[state=checked]:block" }),
|
|
27
|
+
/* @__PURE__ */ e.jsx(b, { className: "hidden h-3.5 w-3.5 group-data-[state=indeterminate]:block" })
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
}
|
|
29
32
|
));
|
|
30
|
-
|
|
33
|
+
c.displayName = t.Root.displayName;
|
|
31
34
|
export {
|
|
32
|
-
|
|
35
|
+
c as Checkbox
|
|
33
36
|
};
|
|
34
37
|
//# sourceMappingURL=index.es17.js.map
|
package/dist/index.es17.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es17.js","sources":["../src/components/ui/checkbox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check, Minus } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"grid place-content-center peer h-4 w-4 shrink-0 rounded-[4px] border border-[#e6e6e6] bg-white text-white transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#111111] focus-visible:ring-offset-2\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:border-[#e6e6e6] disabled:text-[#b3b3b3]\",\n \"data-[state=checked]:border-[#26453f] data-[state=checked]:bg-[#26453f]\",\n \"data-[state=indeterminate]:border-[#26453f] data-[state=indeterminate]:bg-[#26453f]\",\n \"disabled:data-[state=checked]:border-[#bdbdbd] disabled:data-[state=checked]:bg-[#bdbdbd]\",\n \"disabled:data-[state=indeterminate]:border-[#bdbdbd] disabled:data-[state=indeterminate]:bg-[#bdbdbd]\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"group grid place-content-center text-current\")}\n >\n <Check className=\"hidden h-3.5 w-3.5 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-3.5 w-3.5 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n"],"names":["Checkbox","React","className","props","ref","CheckboxPrimitive","cn","Check","Minus"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es17.js","sources":["../src/components/ui/checkbox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check, Minus } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"grid place-content-center peer h-4 w-4 shrink-0 rounded-[4px] border border-[#e6e6e6] bg-white text-white transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#111111] focus-visible:ring-offset-2\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:border-[#e6e6e6] disabled:text-[#b3b3b3]\",\n \"data-[state=checked]:border-[#26453f] data-[state=checked]:bg-[#26453f]\",\n \"data-[state=indeterminate]:border-[#26453f] data-[state=indeterminate]:bg-[#26453f]\",\n \"disabled:data-[state=checked]:border-[#bdbdbd] disabled:data-[state=checked]:bg-[#bdbdbd]\",\n \"disabled:data-[state=indeterminate]:border-[#bdbdbd] disabled:data-[state=indeterminate]:bg-[#bdbdbd]\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"group grid place-content-center text-current\")}\n >\n <Check className=\"hidden h-3.5 w-3.5 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-3.5 w-3.5 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n"],"names":["Checkbox","React","className","props","ref","jsx","CheckboxPrimitive","cn","jsxs","Check","Minus"],"mappings":";;;;;AAMA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAACC,EAAkB;AAAA,EAAlB;AAAA,IACC,KAAAF;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IAEJ,UAAAK,gBAAAA,EAAAA;AAAAA,MAACF,EAAkB;AAAA,MAAlB;AAAA,QACC,WAAWC,EAAG,8CAA8C;AAAA,QAE5D,UAAA;AAAA,UAAAF,gBAAAA,EAAAA,IAACI,GAAA,EAAM,WAAU,sDAAA,CAAsD;AAAA,UACvEJ,gBAAAA,EAAAA,IAACK,GAAA,EAAM,WAAU,4DAAA,CAA4D;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/E;AACF,CACD;AACDV,EAAS,cAAcM,EAAkB,KAAK;"}
|