@hybridcore/ui 1.6.20 → 1.6.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/CATALOG.md +1 -0
- package/dist/components/button/index.js +10 -7
- package/dist/components/charts/chart-wrapper/index.js +34 -32
- package/dist/components/charts/column-line-mix/logic.js +27 -27
- package/dist/components/charts/histogram/index.js +11 -0
- package/dist/components/charts/histogram/logic.js +133 -0
- package/dist/components/charts/histogram/styled.js +12 -0
- package/dist/components/charts/line/logic.js +48 -48
- package/dist/components/charts/logaritmic-scale/logic.js +33 -33
- package/dist/components/charts/multiple-value-axes/logic.js +70 -70
- package/dist/components/charts/xy-chart/logic.js +9 -1
- package/dist/components/metric-card/index.js +68 -58
- package/dist/components/metric-card/styled.js +79 -60
- package/dist/components/status-indicator/index.js +25 -25
- package/dist/components/status-indicator/styled.js +77 -41
- package/dist/main.d.ts +49 -1
- package/dist/main.js +158 -156
- package/package.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { styled as
|
|
2
|
-
import { Widget as
|
|
3
|
-
import { variantColor as
|
|
1
|
+
import { styled as t, alpha as g, Stack as C, Typography as l } from "@mui/material";
|
|
2
|
+
import { Widget as f } from "../widget/styled.js";
|
|
3
|
+
import { variantColor as s, resolvePaletteColor as d, trendColor as u } from "./helpers.js";
|
|
4
4
|
const e = {
|
|
5
5
|
shouldForwardProp: (o) => o !== "ownerState"
|
|
6
|
-
},
|
|
6
|
+
}, M = t(f.Root, {
|
|
7
7
|
name: "HCMetricCard",
|
|
8
8
|
slot: "Root",
|
|
9
9
|
...e
|
|
10
|
-
})(({ theme: o, ownerState:
|
|
11
|
-
const
|
|
12
|
-
let
|
|
13
|
-
return
|
|
10
|
+
})(({ theme: o, ownerState: i }) => {
|
|
11
|
+
const n = s(o, i.variant), a = i.layout === "panel";
|
|
12
|
+
let r;
|
|
13
|
+
return n ? r = g(n, 0.05) : a && (r = o.palette.background.default), {
|
|
14
14
|
position: "relative",
|
|
15
15
|
overflow: "hidden",
|
|
16
16
|
padding: o.spacing(1.5, 2),
|
|
17
|
-
...
|
|
17
|
+
...r && { backgroundColor: r },
|
|
18
18
|
[o.breakpoints.down("md")]: {
|
|
19
19
|
padding: o.spacing(1.5)
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
}),
|
|
22
|
+
}), w = t(C, {
|
|
23
23
|
name: "HCMetricCard",
|
|
24
24
|
slot: "Content"
|
|
25
25
|
})(() => ({
|
|
@@ -27,64 +27,79 @@ const e = {
|
|
|
27
27
|
width: "100%",
|
|
28
28
|
minWidth: 0,
|
|
29
29
|
zIndex: 1
|
|
30
|
-
})),
|
|
30
|
+
})), m = t(l, {
|
|
31
31
|
name: "HCMetricCard",
|
|
32
32
|
slot: "Label"
|
|
33
33
|
})(({ theme: o }) => ({
|
|
34
34
|
color: o.palette.text.secondary,
|
|
35
35
|
marginBottom: o.spacing(0.5),
|
|
36
|
-
fontWeight: 500
|
|
37
|
-
|
|
36
|
+
fontWeight: 500,
|
|
37
|
+
// Widgets live in a resizable grid with no character limit — clip to one line
|
|
38
|
+
// so a long label never wraps into a messy multi-row block. Full text on hover.
|
|
39
|
+
whiteSpace: "nowrap",
|
|
40
|
+
overflow: "hidden",
|
|
41
|
+
textOverflow: "ellipsis",
|
|
42
|
+
maxWidth: "100%",
|
|
43
|
+
minWidth: 0
|
|
44
|
+
})), y = t(l, {
|
|
38
45
|
name: "HCMetricCard",
|
|
39
46
|
slot: "Value",
|
|
40
47
|
...e
|
|
41
|
-
})(({ theme: o, ownerState:
|
|
42
|
-
const
|
|
48
|
+
})(({ theme: o, ownerState: i }) => {
|
|
49
|
+
const n = d(o, i.calculatedValueColor), a = d(o, i.calculatedValueBg);
|
|
43
50
|
return {
|
|
44
|
-
color:
|
|
51
|
+
color: n ?? s(o, i.variant) ?? o.palette.text.primary,
|
|
45
52
|
fontWeight: 500,
|
|
46
53
|
marginBottom: o.spacing(0.5),
|
|
47
54
|
whiteSpace: "nowrap",
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
overflow: "hidden",
|
|
56
|
+
textOverflow: "ellipsis",
|
|
57
|
+
maxWidth: "100%",
|
|
58
|
+
minWidth: 0,
|
|
59
|
+
...a && {
|
|
60
|
+
backgroundColor: a,
|
|
50
61
|
borderRadius: o.shape.borderRadius,
|
|
51
62
|
padding: o.spacing(0, 0.75)
|
|
52
63
|
},
|
|
53
64
|
[o.breakpoints.down("md")]: { fontSize: "1.35rem" },
|
|
54
65
|
[o.breakpoints.up("md")]: { fontSize: "2rem" }
|
|
55
66
|
};
|
|
56
|
-
}),
|
|
67
|
+
}), W = t(l, {
|
|
57
68
|
name: "HCMetricCard",
|
|
58
69
|
slot: "SecondValue",
|
|
59
70
|
...e
|
|
60
|
-
})(({ theme: o, ownerState:
|
|
61
|
-
const
|
|
71
|
+
})(({ theme: o, ownerState: i }) => {
|
|
72
|
+
const n = d(o, i.calculatedSecondValueColor), a = d(o, i.calculatedSecondValueBg);
|
|
62
73
|
return {
|
|
63
|
-
color:
|
|
74
|
+
color: n ?? o.palette.text.secondary,
|
|
64
75
|
fontWeight: 400,
|
|
65
76
|
whiteSpace: "nowrap",
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
overflow: "hidden",
|
|
78
|
+
textOverflow: "ellipsis",
|
|
79
|
+
maxWidth: "100%",
|
|
80
|
+
minWidth: 0,
|
|
81
|
+
...a && {
|
|
82
|
+
backgroundColor: a,
|
|
68
83
|
borderRadius: o.shape.borderRadius,
|
|
69
84
|
padding: o.spacing(0, 0.75)
|
|
70
85
|
},
|
|
71
86
|
[o.breakpoints.down("md")]: { fontSize: "0.95rem" },
|
|
72
87
|
[o.breakpoints.up("md")]: { fontSize: "1.25rem" }
|
|
73
88
|
};
|
|
74
|
-
}),
|
|
89
|
+
}), S = t("div", {
|
|
75
90
|
name: "HCMetricCard",
|
|
76
91
|
slot: "TrendContainer",
|
|
77
92
|
...e
|
|
78
|
-
})(({ theme: o, ownerState:
|
|
79
|
-
const
|
|
93
|
+
})(({ theme: o, ownerState: i }) => {
|
|
94
|
+
const n = u(o, i.calculatedTrend), a = i.layout === "panel";
|
|
80
95
|
return {
|
|
81
96
|
display: "inline-flex",
|
|
82
97
|
alignItems: "center",
|
|
83
98
|
gap: o.spacing(0.5),
|
|
84
99
|
fontWeight: 500,
|
|
85
|
-
color:
|
|
86
|
-
...
|
|
87
|
-
backgroundColor: g(
|
|
100
|
+
color: n,
|
|
101
|
+
...a ? {
|
|
102
|
+
backgroundColor: g(n, 0.14),
|
|
88
103
|
borderRadius: 999,
|
|
89
104
|
padding: o.spacing(0.25, 1),
|
|
90
105
|
fontSize: "0.8125rem",
|
|
@@ -97,45 +112,49 @@ const e = {
|
|
|
97
112
|
}
|
|
98
113
|
}
|
|
99
114
|
};
|
|
100
|
-
}),
|
|
115
|
+
}), h = t(l, {
|
|
101
116
|
name: "HCMetricCard",
|
|
102
117
|
slot: "Description"
|
|
103
118
|
})(({ theme: o }) => ({
|
|
104
119
|
color: o.palette.text.secondary,
|
|
105
|
-
display: "block",
|
|
106
120
|
position: "relative",
|
|
107
|
-
zIndex: 1
|
|
108
|
-
|
|
121
|
+
zIndex: 1,
|
|
122
|
+
whiteSpace: "nowrap",
|
|
123
|
+
overflow: "hidden",
|
|
124
|
+
textOverflow: "ellipsis",
|
|
125
|
+
maxWidth: "100%",
|
|
126
|
+
minWidth: 0
|
|
127
|
+
})), k = t("div", {
|
|
109
128
|
name: "HCMetricCard",
|
|
110
129
|
slot: "Icon",
|
|
111
130
|
...e
|
|
112
|
-
})(({ theme: o, ownerState:
|
|
131
|
+
})(({ theme: o, ownerState: i }) => ({
|
|
113
132
|
display: "flex",
|
|
114
133
|
alignItems: "center",
|
|
115
134
|
justifyContent: "center",
|
|
116
|
-
color:
|
|
117
|
-
marginRight:
|
|
118
|
-
marginLeft:
|
|
135
|
+
color: s(o, i.variant) ?? o.palette.text.secondary,
|
|
136
|
+
marginRight: i.iconPosition === "left" ? o.spacing(2) : 0,
|
|
137
|
+
marginLeft: i.iconPosition === "right" ? o.spacing(2) : 0,
|
|
119
138
|
[o.breakpoints.down("sm")]: {
|
|
120
139
|
position: "absolute",
|
|
121
140
|
top: o.spacing(2),
|
|
122
141
|
left: o.spacing(2),
|
|
123
142
|
margin: 0
|
|
124
143
|
}
|
|
125
|
-
})),
|
|
144
|
+
})), H = t("div", {
|
|
126
145
|
name: "HCMetricCard",
|
|
127
146
|
slot: "CornerIcon",
|
|
128
147
|
...e
|
|
129
|
-
})(({ theme: o, ownerState:
|
|
130
|
-
var
|
|
131
|
-
const
|
|
132
|
-
return a
|
|
148
|
+
})(({ theme: o, ownerState: i }) => {
|
|
149
|
+
var c, p;
|
|
150
|
+
const n = {}, a = (c = i.iconPosition) != null && c.startsWith("top") ? "top" : "bottom", r = (p = i.iconPosition) != null && p.endsWith("left") ? "left" : "right";
|
|
151
|
+
return n[a] = o.spacing(2), n[r] = o.spacing(2), {
|
|
133
152
|
position: "absolute",
|
|
134
|
-
...
|
|
135
|
-
color:
|
|
153
|
+
...n,
|
|
154
|
+
color: s(o, i.variant) ?? o.palette.text.secondary,
|
|
136
155
|
zIndex: 2
|
|
137
156
|
};
|
|
138
|
-
}),
|
|
157
|
+
}), I = t("div", {
|
|
139
158
|
name: "HCMetricCard",
|
|
140
159
|
slot: "Chart"
|
|
141
160
|
})(({ theme: o }) => ({
|
|
@@ -148,7 +167,7 @@ const e = {
|
|
|
148
167
|
alignItems: "flex-end",
|
|
149
168
|
overflow: "hidden",
|
|
150
169
|
borderRadius: o.shape.borderRadius
|
|
151
|
-
})),
|
|
170
|
+
})), R = t("div", {
|
|
152
171
|
name: "HCMetricCard",
|
|
153
172
|
slot: "Panel"
|
|
154
173
|
})(({ theme: o }) => ({
|
|
@@ -165,7 +184,7 @@ const e = {
|
|
|
165
184
|
backgroundColor: o.palette.background.paper,
|
|
166
185
|
boxShadow: o.shadows[1],
|
|
167
186
|
overflow: "hidden"
|
|
168
|
-
})),
|
|
187
|
+
})), z = t("div", {
|
|
169
188
|
name: "HCMetricCard",
|
|
170
189
|
slot: "SideChart"
|
|
171
190
|
})(() => ({
|
|
@@ -178,16 +197,16 @@ const e = {
|
|
|
178
197
|
alignItems: "flex-end"
|
|
179
198
|
}));
|
|
180
199
|
export {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
I as MetricCardChartContainer,
|
|
201
|
+
w as MetricCardContent,
|
|
202
|
+
H as MetricCardCornerIconContainer,
|
|
203
|
+
h as MetricCardDescription,
|
|
204
|
+
k as MetricCardIconContainer,
|
|
205
|
+
m as MetricCardLabel,
|
|
206
|
+
R as MetricCardPanel,
|
|
207
|
+
M as MetricCardRoot,
|
|
208
|
+
W as MetricCardSecondValue,
|
|
209
|
+
z as MetricCardSideChart,
|
|
210
|
+
S as MetricCardTrendContainer,
|
|
211
|
+
y as MetricCardValue
|
|
193
212
|
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { Stack as x, Skeleton as d } from "@mui/material";
|
|
1
|
+
import { jsx as t, jsxs as r, Fragment as m } from "react/jsx-runtime";
|
|
2
|
+
import { Stack as x, Skeleton as d, Tooltip as e } from "@mui/material";
|
|
3
3
|
import { useStatusIndicatorLogic as v } from "./logic.js";
|
|
4
|
-
import { StatusIndicatorRoot as o, StatusIndicatorCaption as
|
|
5
|
-
const
|
|
6
|
-
const { state:
|
|
4
|
+
import { StatusIndicatorRoot as o, StatusIndicatorCaption as g, StatusIndicatorDescription as f, StatusIndicatorIconContainer as u, StatusIndicatorContent as w, StatusIndicatorLabel as I, StatusIndicatorValue as S, StatusIndicatorBadge as L, StatusIndicatorBadgeLabel as y } from "./styled.js";
|
|
5
|
+
const B = (i) => {
|
|
6
|
+
const { state: b } = v(i), { ownerState: n, variant: l, activeLabel: a, Icon: c } = b;
|
|
7
7
|
if (i.loading)
|
|
8
|
-
return /* @__PURE__ */ t(o, { ownerState: n, sx: i.sx, children: /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ t(o, { ownerState: n, sx: i.sx, children: /* @__PURE__ */ r(
|
|
9
9
|
x,
|
|
10
10
|
{
|
|
11
11
|
spacing: 1,
|
|
12
|
-
alignItems:
|
|
12
|
+
alignItems: l === "prominent" ? "center" : "flex-start",
|
|
13
13
|
children: [
|
|
14
14
|
/* @__PURE__ */ t(d, { variant: "text", width: "50%" }),
|
|
15
15
|
/* @__PURE__ */ t(d, { variant: "circular", width: 40, height: 40 }),
|
|
@@ -17,28 +17,28 @@ const j = (i) => {
|
|
|
17
17
|
]
|
|
18
18
|
}
|
|
19
19
|
) });
|
|
20
|
-
const
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
i.label && /* @__PURE__ */ t(
|
|
25
|
-
/* @__PURE__ */ t(
|
|
26
|
-
|
|
20
|
+
const h = i.caption && /* @__PURE__ */ t(e, { title: i.caption, children: /* @__PURE__ */ t(g, { variant: "caption", children: i.caption }) }), s = i.description && /* @__PURE__ */ t(e, { title: i.description, children: /* @__PURE__ */ t(f, { variant: "body2", children: i.description }) });
|
|
21
|
+
return l === "split" ? /* @__PURE__ */ r(o, { ownerState: n, sx: i.sx, children: [
|
|
22
|
+
c && /* @__PURE__ */ t(u, { ownerState: n, children: /* @__PURE__ */ t(c, { size: 28 }) }),
|
|
23
|
+
/* @__PURE__ */ r(w, { children: [
|
|
24
|
+
i.label && /* @__PURE__ */ t(e, { title: i.label, children: /* @__PURE__ */ t(I, { variant: "body2", children: i.label }) }),
|
|
25
|
+
/* @__PURE__ */ t(e, { title: a, children: /* @__PURE__ */ t(S, { variant: "h5", ownerState: n, children: a }) }),
|
|
26
|
+
h,
|
|
27
27
|
s
|
|
28
28
|
] })
|
|
29
|
-
] }) : /* @__PURE__ */
|
|
30
|
-
i.label && /* @__PURE__ */ t(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/* @__PURE__ */ t(
|
|
34
|
-
] }) : /* @__PURE__ */ e(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
] }),
|
|
38
|
-
|
|
29
|
+
] }) : /* @__PURE__ */ r(o, { ownerState: n, sx: i.sx, children: [
|
|
30
|
+
i.label && /* @__PURE__ */ t(e, { title: i.label, children: /* @__PURE__ */ t(I, { variant: "body2", children: i.label }) }),
|
|
31
|
+
l === "prominent" ? /* @__PURE__ */ r(m, { children: [
|
|
32
|
+
c && /* @__PURE__ */ t(u, { ownerState: n, children: /* @__PURE__ */ t(c, { size: 48 }) }),
|
|
33
|
+
/* @__PURE__ */ t(e, { title: a, children: /* @__PURE__ */ t(S, { variant: "h4", ownerState: n, children: a }) })
|
|
34
|
+
] }) : /* @__PURE__ */ t(e, { title: a, children: /* @__PURE__ */ r(L, { ownerState: n, children: [
|
|
35
|
+
c && /* @__PURE__ */ t(c, { size: 18 }),
|
|
36
|
+
/* @__PURE__ */ t(y, { children: a })
|
|
37
|
+
] }) }),
|
|
38
|
+
h,
|
|
39
39
|
s
|
|
40
40
|
] });
|
|
41
41
|
};
|
|
42
42
|
export {
|
|
43
|
-
|
|
43
|
+
B as StatusIndicator
|
|
44
44
|
};
|
|
@@ -1,65 +1,72 @@
|
|
|
1
|
-
import { styled as
|
|
2
|
-
import { resolvePaletteColor as
|
|
3
|
-
import { Widget as
|
|
4
|
-
const
|
|
1
|
+
import { styled as n, Typography as r, alpha as s } from "@mui/material";
|
|
2
|
+
import { resolvePaletteColor as a } from "../metric-card/helpers.js";
|
|
3
|
+
import { Widget as c } from "../widget/styled.js";
|
|
4
|
+
const l = {
|
|
5
5
|
shouldForwardProp: (t) => t !== "ownerState"
|
|
6
|
-
},
|
|
6
|
+
}, g = n(c.Root, {
|
|
7
7
|
name: "HCStatusIndicator",
|
|
8
8
|
slot: "Root",
|
|
9
|
-
...
|
|
9
|
+
...l
|
|
10
10
|
})(({ theme: t, ownerState: o }) => {
|
|
11
|
-
const
|
|
11
|
+
const e = {
|
|
12
12
|
padding: t.spacing(2),
|
|
13
13
|
display: "flex",
|
|
14
14
|
gap: t.spacing(0.5)
|
|
15
15
|
};
|
|
16
16
|
return o.variant === "prominent" ? {
|
|
17
|
-
...
|
|
17
|
+
...e,
|
|
18
18
|
flexDirection: "column",
|
|
19
19
|
alignItems: "center",
|
|
20
20
|
justifyContent: "center",
|
|
21
21
|
textAlign: "center"
|
|
22
22
|
} : o.variant === "split" ? {
|
|
23
|
-
...
|
|
23
|
+
...e,
|
|
24
24
|
flexDirection: "row",
|
|
25
25
|
alignItems: "center",
|
|
26
26
|
gap: t.spacing(2)
|
|
27
27
|
} : {
|
|
28
|
-
...
|
|
28
|
+
...e,
|
|
29
29
|
flexDirection: "column",
|
|
30
30
|
alignItems: "flex-start",
|
|
31
31
|
justifyContent: "center"
|
|
32
32
|
};
|
|
33
|
-
}),
|
|
33
|
+
}), x = n(r, {
|
|
34
34
|
name: "HCStatusIndicator",
|
|
35
35
|
slot: "Label"
|
|
36
36
|
})(({ theme: t }) => ({
|
|
37
37
|
color: t.palette.text.secondary,
|
|
38
|
-
fontWeight: 500
|
|
39
|
-
|
|
38
|
+
fontWeight: 500,
|
|
39
|
+
// Widgets live in a resizable grid with no character limit — clip to one line
|
|
40
|
+
// so long text never overflows or wraps into a messy block. Full text on hover.
|
|
41
|
+
whiteSpace: "nowrap",
|
|
42
|
+
overflow: "hidden",
|
|
43
|
+
textOverflow: "ellipsis",
|
|
44
|
+
maxWidth: "100%",
|
|
45
|
+
minWidth: 0
|
|
46
|
+
})), m = n("div", {
|
|
40
47
|
name: "HCStatusIndicator",
|
|
41
48
|
slot: "IconContainer",
|
|
42
|
-
...
|
|
49
|
+
...l
|
|
43
50
|
})(({ theme: t, ownerState: o }) => {
|
|
44
|
-
const
|
|
51
|
+
const e = a(t, o.resolvedColor) ?? t.palette.text.primary, i = {
|
|
45
52
|
display: "flex",
|
|
46
53
|
alignItems: "center",
|
|
47
54
|
justifyContent: "center",
|
|
48
|
-
color:
|
|
55
|
+
color: e
|
|
49
56
|
};
|
|
50
57
|
if (o.variant === "split") {
|
|
51
|
-
const
|
|
58
|
+
const d = a(t, o.resolvedBackgroundColor) ?? s(e, 0.12);
|
|
52
59
|
return {
|
|
53
|
-
...
|
|
60
|
+
...i,
|
|
54
61
|
flexShrink: 0,
|
|
55
62
|
width: 56,
|
|
56
63
|
height: 56,
|
|
57
64
|
borderRadius: t.shape.borderRadius * 2,
|
|
58
|
-
backgroundColor:
|
|
65
|
+
backgroundColor: d
|
|
59
66
|
};
|
|
60
67
|
}
|
|
61
|
-
return
|
|
62
|
-
}),
|
|
68
|
+
return i;
|
|
69
|
+
}), C = n("div", {
|
|
63
70
|
name: "HCStatusIndicator",
|
|
64
71
|
slot: "Content"
|
|
65
72
|
})(() => ({
|
|
@@ -67,48 +74,77 @@ const s = {
|
|
|
67
74
|
flexDirection: "column",
|
|
68
75
|
minWidth: 0,
|
|
69
76
|
flex: 1
|
|
70
|
-
})),
|
|
77
|
+
})), h = n(r, {
|
|
71
78
|
name: "HCStatusIndicator",
|
|
72
79
|
slot: "Value",
|
|
73
|
-
...
|
|
80
|
+
...l
|
|
74
81
|
})(({ theme: t, ownerState: o }) => ({
|
|
75
82
|
fontWeight: 600,
|
|
76
83
|
lineHeight: 1.2,
|
|
77
|
-
color:
|
|
78
|
-
|
|
84
|
+
color: a(t, o.resolvedColor) ?? t.palette.text.primary,
|
|
85
|
+
whiteSpace: "nowrap",
|
|
86
|
+
overflow: "hidden",
|
|
87
|
+
textOverflow: "ellipsis",
|
|
88
|
+
maxWidth: "100%",
|
|
89
|
+
minWidth: 0
|
|
90
|
+
})), I = n("div", {
|
|
79
91
|
name: "HCStatusIndicator",
|
|
80
92
|
slot: "Badge",
|
|
81
|
-
...
|
|
93
|
+
...l
|
|
82
94
|
})(({ theme: t, ownerState: o }) => {
|
|
83
|
-
const
|
|
95
|
+
const e = a(t, o.resolvedColor) ?? t.palette.text.primary, i = a(t, o.resolvedBackgroundColor) ?? s(e, 0.12);
|
|
84
96
|
return {
|
|
85
97
|
display: "inline-flex",
|
|
86
98
|
alignItems: "center",
|
|
87
99
|
gap: t.spacing(0.75),
|
|
88
100
|
padding: t.spacing(0.5, 1.25),
|
|
89
101
|
borderRadius: 999,
|
|
90
|
-
backgroundColor:
|
|
91
|
-
color:
|
|
92
|
-
fontWeight: 600
|
|
102
|
+
backgroundColor: i,
|
|
103
|
+
color: e,
|
|
104
|
+
fontWeight: 600,
|
|
105
|
+
maxWidth: "100%",
|
|
106
|
+
overflow: "hidden",
|
|
107
|
+
// The icon must never shrink; only the label text ellipsizes.
|
|
108
|
+
"& > svg": { flexShrink: 0 }
|
|
93
109
|
};
|
|
94
|
-
}),
|
|
110
|
+
}), v = n("span", {
|
|
111
|
+
name: "HCStatusIndicator",
|
|
112
|
+
slot: "BadgeLabel"
|
|
113
|
+
})(() => ({
|
|
114
|
+
flex: "0 1 auto",
|
|
115
|
+
minWidth: 0,
|
|
116
|
+
overflow: "hidden",
|
|
117
|
+
textOverflow: "ellipsis",
|
|
118
|
+
whiteSpace: "nowrap"
|
|
119
|
+
})), S = n(r, {
|
|
95
120
|
name: "HCStatusIndicator",
|
|
96
121
|
slot: "Caption"
|
|
97
122
|
})(({ theme: t }) => ({
|
|
98
|
-
color: t.palette.text.secondary
|
|
99
|
-
|
|
123
|
+
color: t.palette.text.secondary,
|
|
124
|
+
whiteSpace: "nowrap",
|
|
125
|
+
overflow: "hidden",
|
|
126
|
+
textOverflow: "ellipsis",
|
|
127
|
+
maxWidth: "100%",
|
|
128
|
+
minWidth: 0
|
|
129
|
+
})), w = n(r, {
|
|
100
130
|
name: "HCStatusIndicator",
|
|
101
131
|
slot: "Description"
|
|
102
132
|
})(({ theme: t }) => ({
|
|
103
|
-
color: t.palette.text.secondary
|
|
133
|
+
color: t.palette.text.secondary,
|
|
134
|
+
whiteSpace: "nowrap",
|
|
135
|
+
overflow: "hidden",
|
|
136
|
+
textOverflow: "ellipsis",
|
|
137
|
+
maxWidth: "100%",
|
|
138
|
+
minWidth: 0
|
|
104
139
|
}));
|
|
105
140
|
export {
|
|
106
|
-
|
|
141
|
+
I as StatusIndicatorBadge,
|
|
142
|
+
v as StatusIndicatorBadgeLabel,
|
|
107
143
|
S as StatusIndicatorCaption,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
144
|
+
C as StatusIndicatorContent,
|
|
145
|
+
w as StatusIndicatorDescription,
|
|
146
|
+
m as StatusIndicatorIconContainer,
|
|
147
|
+
x as StatusIndicatorLabel,
|
|
148
|
+
g as StatusIndicatorRoot,
|
|
149
|
+
h as StatusIndicatorValue
|
|
114
150
|
};
|
package/dist/main.d.ts
CHANGED
|
@@ -97,7 +97,7 @@ export declare interface BaseInterval {
|
|
|
97
97
|
count: number;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
export declare const Button: (props: ButtonProps) =>
|
|
100
|
+
export declare const Button: (props: ButtonProps & default_2.RefAttributes<HTMLButtonElement>) => default_2.ReactNode | null;
|
|
101
101
|
|
|
102
102
|
export declare type ButtonComponentOverride<Theme = unknown> = {
|
|
103
103
|
defaultProps?: Partial<ButtonProps>;
|
|
@@ -232,6 +232,7 @@ export declare interface ChartDimension {
|
|
|
232
232
|
|
|
233
233
|
export declare type ChartNameType =
|
|
234
234
|
| "HeatLegend"
|
|
235
|
+
| "Histogram"
|
|
235
236
|
| "XYChart"
|
|
236
237
|
| "XYChartHorizontal"
|
|
237
238
|
| "MultipleValueAxes"
|
|
@@ -955,6 +956,36 @@ export declare interface HighlightLineChartProps {
|
|
|
955
956
|
sx?: SxProps<Theme>;
|
|
956
957
|
}
|
|
957
958
|
|
|
959
|
+
export declare const Histogram: (inProps: HistogramProps) => JSX_2.Element;
|
|
960
|
+
|
|
961
|
+
export declare type HistogramComponentOverride<Theme = unknown> = {
|
|
962
|
+
defaultProps?: Partial<HistogramProps>;
|
|
963
|
+
styleOverrides?: ComponentsOverrides_2<Theme>["HCHistogram"];
|
|
964
|
+
};
|
|
965
|
+
|
|
966
|
+
export declare type HistogramProps = ChartProps & {
|
|
967
|
+
/**
|
|
968
|
+
* Explicit bin width, in dimension units. When omitted, the width is inferred
|
|
969
|
+
* from the smallest positive gap between adjacent bin starts — correct for
|
|
970
|
+
* uniformly pre-binned data (e.g. 250-wide buckets). Set this when bins are
|
|
971
|
+
* non-uniform, or when a single bin makes the gap impossible to infer.
|
|
972
|
+
*/
|
|
973
|
+
binWidth?: number;
|
|
974
|
+
/**
|
|
975
|
+
* Fractional gap between adjacent bars, `0`–`1`. `0` (default) makes bars
|
|
976
|
+
* touch edge-to-edge — the defining histogram look. Raise it toward a spaced
|
|
977
|
+
* bar chart if a visual separation is wanted.
|
|
978
|
+
*/
|
|
979
|
+
barGap?: number;
|
|
980
|
+
/**
|
|
981
|
+
* Draw the frequency (Y) axis on a logarithmic scale. Useful when one bin
|
|
982
|
+
* dwarfs the rest (e.g. a large zero/overflow bucket) and a linear axis would
|
|
983
|
+
* flatten every other bar. Zero-count bins are treated as the axis floor, so
|
|
984
|
+
* they simply render as no bar. Default `false` (linear, zero-baselined).
|
|
985
|
+
*/
|
|
986
|
+
logarithmic?: boolean;
|
|
987
|
+
};
|
|
988
|
+
|
|
958
989
|
/**
|
|
959
990
|
* Turn a raw field key into a human label: snake_case / kebab-case / camelCase
|
|
960
991
|
* → Title Case (e.g. "total_revenue" / "totalRevenue" → "Total Revenue"). Used
|
|
@@ -2690,6 +2721,22 @@ declare module "@mui/material/styles" {
|
|
|
2690
2721
|
|
|
2691
2722
|
|
|
2692
2723
|
|
|
2724
|
+
declare module "@mui/material/styles" {
|
|
2725
|
+
interface ComponentNameToClassKey {
|
|
2726
|
+
HCHistogram: "root";
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
interface ComponentsPropsList {
|
|
2730
|
+
HCHistogram: Partial<HistogramProps>;
|
|
2731
|
+
}
|
|
2732
|
+
|
|
2733
|
+
interface Components<Theme = unknown> {
|
|
2734
|
+
HCHistogram?: HistogramComponentOverride<Theme>;
|
|
2735
|
+
}
|
|
2736
|
+
}
|
|
2737
|
+
|
|
2738
|
+
|
|
2739
|
+
|
|
2693
2740
|
declare module "@mui/material/styles" {
|
|
2694
2741
|
interface ComponentNameToClassKey {
|
|
2695
2742
|
HCLineChart: "root";
|
|
@@ -3649,6 +3696,7 @@ declare module "@mui/material/styles" {
|
|
|
3649
3696
|
| "content"
|
|
3650
3697
|
| "value"
|
|
3651
3698
|
| "badge"
|
|
3699
|
+
| "badgeLabel"
|
|
3652
3700
|
| "caption"
|
|
3653
3701
|
| "description";
|
|
3654
3702
|
}
|