@serendie/ui
Version:
Adaptive UI component library as part of Serendie Design System by Mitsubishi Electric
128 lines (127 loc) • 4.4 kB
JavaScript
import { token as r } from "../../styled-system/tokens/index.js";
import n from "../../node_modules/@serendie/design-token/dist/tokens.js";
import { SerendieChartTheme as p } from "./SerendieChartTheme.js";
import { getContrastTextColor as i } from "../../utils/colors.js";
const c = (s, t) => {
const a = {
primary: [
r("colors.sd.system.color.chart.mark.primary.01"),
r("colors.sd.system.color.chart.mark.primary.02"),
r("colors.sd.system.color.chart.mark.primary.03"),
r("colors.sd.system.color.chart.mark.primary.04"),
r("colors.sd.system.color.chart.mark.primary.05"),
r("colors.sd.system.color.chart.mark.primary.06")
],
positive: [
r("colors.sd.system.color.chart.mark.positive.01"),
r("colors.sd.system.color.chart.mark.positive.02"),
r("colors.sd.system.color.chart.mark.positive.03"),
r("colors.sd.system.color.chart.mark.positive.04"),
r("colors.sd.system.color.chart.mark.positive.05"),
r("colors.sd.system.color.chart.mark.positive.06")
],
negative: [
r("colors.sd.system.color.chart.mark.negative.01"),
r("colors.sd.system.color.chart.mark.negative.02"),
r("colors.sd.system.color.chart.mark.negative.03"),
r("colors.sd.system.color.chart.mark.negative.04"),
r("colors.sd.system.color.chart.mark.negative.05"),
r("colors.sd.system.color.chart.mark.negative.06")
],
notice: [
r("colors.sd.system.color.chart.mark.notice.01"),
r("colors.sd.system.color.chart.mark.notice.02"),
r("colors.sd.system.color.chart.mark.notice.03"),
r("colors.sd.system.color.chart.mark.notice.04"),
r("colors.sd.system.color.chart.mark.notice.05"),
r("colors.sd.system.color.chart.mark.notice.06")
],
multi: [
r("colors.sd.system.color.chart.mark.multi.01"),
r("colors.sd.system.color.chart.mark.multi.02"),
r("colors.sd.system.color.chart.mark.multi.03"),
r("colors.sd.system.color.chart.mark.multi.04"),
r("colors.sd.system.color.chart.mark.multi.05"),
r("colors.sd.system.color.chart.mark.multi.06"),
r("colors.sd.system.color.chart.mark.multi.07"),
r("colors.sd.system.color.chart.mark.multi.08"),
r("colors.sd.system.color.chart.mark.multi.09"),
r("colors.sd.system.color.chart.mark.multi.10")
]
}[s];
return t ? a.slice(0, t) : a;
}, C = (s, t = 0) => c(s)[t] || c(s)[0], o = n.sd.system.dimension.spacing, h = {
top: parseInt(o.large, 10),
right: parseInt(o.large, 10),
bottom: parseInt(o.fourExtraLarge, 10),
left: parseInt(o.fiveExtraLarge, 10)
}, L = {
top: parseInt(o.small, 10),
right: parseInt(o.small, 10),
bottom: parseInt(o.twoExtraLarge, 10),
left: parseInt(o.threeExtraLarge, 10)
}, b = {
top: parseInt(o.large, 10),
right: parseInt(o.sixExtraLarge, 10),
bottom: parseInt(o.fourExtraLarge, 10),
left: parseInt(o.fiveExtraLarge, 10)
}, f = {
top: parseInt(o.extraLarge, 10),
right: parseInt(o.extraLarge, 10),
bottom: parseInt(o.fiveExtraLarge, 10),
left: parseInt(o.sixExtraLarge, 10)
}, l = (s, t = "primary") => {
const m = c(t), a = {
theme: p,
colors: m,
margin: h
};
return {
bar: {
...a,
padding: 0.3,
innerPadding: 1,
borderRadius: 0,
enableLabel: !0,
labelTextColor: (e) => i(e.color)
},
line: {
...a,
enablePoints: !0,
pointSize: 6,
pointBorderWidth: 2,
pointBorderColor: { from: "serieColor" },
enableGridX: !0,
enableGridY: !0
},
pie: {
...a,
innerRadius: 0.5,
padAngle: 0.7,
cornerRadius: 0,
activeOuterRadiusOffset: 8,
enableArcLabels: !0,
enableArcLinkLabels: !0,
arcLabelsTextColor: (e) => i(e.color),
arcLinkLabelsColor: r(
"colors.sd.system.color.chart.component.onChartSurface"
),
arcLinkLabelsThickness: 2,
arcLinkLabelsTextColor: r(
"colors.sd.system.color.chart.component.onChartSurface"
)
}
}[s];
}, v = (s = "primary") => l("bar", s), x = (s = "primary") => l("line", s), I = (s = "primary") => l("pie", s);
export {
L as compactChartMargin,
h as defaultChartMargin,
C as getChartColor,
c as getChartColors,
b as legendChartMargin,
f as spaciousChartMargin,
v as useBarChartProps,
l as useChartProps,
x as useLineChartProps,
I as usePieChartProps
};