@carto/ps-react-ui 5.0.0-widgets.13 → 5.0.0-widgets.14
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/styles-CCZnY17y.js +117 -0
- package/dist/styles-CCZnY17y.js.map +1 -0
- package/dist/types/widgets/_shared/chart-config/index.d.ts +1 -1
- package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +51 -0
- package/dist/types/widgets/echart/types.d.ts +1 -0
- package/dist/types/widgets/stores/types.d.ts +4 -0
- package/dist/widgets/actions.js +551 -528
- package/dist/widgets/actions.js.map +1 -1
- package/dist/widgets/bar.js +84 -89
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/histogram.js +106 -96
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/pie.js +81 -68
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/scatterplot.js +104 -94
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/timeseries.js +77 -65
- package/dist/widgets/timeseries.js.map +1 -1
- package/package.json +1 -1
- package/dist/styles-dOu_pRNb.js +0 -77
- package/dist/styles-dOu_pRNb.js.map +0 -1
package/dist/widgets/bar.js
CHANGED
|
@@ -1,49 +1,75 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { c as
|
|
1
|
+
import { jsxs as p, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { c as b } from "react/compiler-runtime";
|
|
3
3
|
import "react";
|
|
4
4
|
import "echarts";
|
|
5
5
|
import "../widget-store-CB6Trp_0.js";
|
|
6
6
|
import "zustand/shallow";
|
|
7
|
-
import { g } from "../options-D9wflre6.js";
|
|
8
|
-
import { m as
|
|
9
|
-
import { f as
|
|
10
|
-
import { Box as
|
|
7
|
+
import { g as k } from "../options-D9wflre6.js";
|
|
8
|
+
import { m as w } from "../utils-D3-eQyDR.js";
|
|
9
|
+
import { f as v, c as _, a as S, b as L, d as C, e as A, g as T } from "../styles-CCZnY17y.js";
|
|
10
|
+
import { Box as s, Skeleton as o } from "@mui/material";
|
|
11
11
|
import "@mui/icons-material";
|
|
12
12
|
import "react-markdown";
|
|
13
|
-
import { d as
|
|
13
|
+
import { d as g, a as f } from "../exports-Cr43OCul.js";
|
|
14
14
|
import "../lasso-tool-BwRzEW7k.js";
|
|
15
15
|
import "../cjs-D4KH3azB.js";
|
|
16
16
|
import "@dnd-kit/core";
|
|
17
17
|
import "@dnd-kit/sortable";
|
|
18
18
|
import "@dnd-kit/utilities";
|
|
19
|
-
function
|
|
19
|
+
function Z({
|
|
20
20
|
refUI: e
|
|
21
21
|
}) {
|
|
22
22
|
return [{
|
|
23
|
-
...
|
|
24
|
-
modifier: () =>
|
|
23
|
+
...g,
|
|
24
|
+
modifier: () => g.modifier(e)
|
|
25
25
|
}, {
|
|
26
|
-
...
|
|
26
|
+
...f,
|
|
27
27
|
modifier: async (t) => {
|
|
28
|
-
const i =
|
|
29
|
-
return
|
|
28
|
+
const i = v(t);
|
|
29
|
+
return f.modifier(i);
|
|
30
30
|
}
|
|
31
31
|
}];
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function ee(e) {
|
|
34
34
|
return {
|
|
35
35
|
type: "bar",
|
|
36
|
-
option:
|
|
36
|
+
option: w(k(e), I(e))
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function I({
|
|
40
40
|
data: e = [],
|
|
41
|
-
theme: t
|
|
41
|
+
theme: t,
|
|
42
|
+
formatter: i
|
|
42
43
|
}) {
|
|
43
|
-
const
|
|
44
|
+
const m = (e?.length ?? 0) > 1, d = {
|
|
45
|
+
type: "value",
|
|
46
|
+
splitNumber: 1,
|
|
47
|
+
axisLabel: {
|
|
48
|
+
fontSize: t.typography.overlineDelicate.fontSize,
|
|
49
|
+
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
50
|
+
margin: parseInt(t.spacing(1)),
|
|
51
|
+
show: !0,
|
|
52
|
+
showMaxLabel: !0,
|
|
53
|
+
showMinLabel: !1,
|
|
54
|
+
verticalAlign: "bottom",
|
|
55
|
+
inside: !0
|
|
56
|
+
},
|
|
57
|
+
axisLine: {
|
|
58
|
+
show: !1
|
|
59
|
+
},
|
|
60
|
+
axisTick: {
|
|
61
|
+
show: !1
|
|
62
|
+
},
|
|
63
|
+
splitLine: {
|
|
64
|
+
show: !0,
|
|
65
|
+
lineStyle: {
|
|
66
|
+
color: t.palette.black[4]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
44
70
|
return {
|
|
45
|
-
legend:
|
|
46
|
-
grid:
|
|
71
|
+
legend: A(m),
|
|
72
|
+
grid: C(m, t),
|
|
47
73
|
xAxis: {
|
|
48
74
|
type: "category",
|
|
49
75
|
axisLine: {
|
|
@@ -57,57 +83,26 @@ function b({
|
|
|
57
83
|
margin: 0
|
|
58
84
|
}
|
|
59
85
|
},
|
|
60
|
-
yAxis:
|
|
61
|
-
type: "value",
|
|
62
|
-
splitNumber: 1,
|
|
63
|
-
axisLabel: {
|
|
64
|
-
fontSize: t.typography.overlineDelicate.fontSize,
|
|
65
|
-
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
66
|
-
margin: parseInt(t.spacing(1)),
|
|
67
|
-
show: !0,
|
|
68
|
-
showMaxLabel: !0,
|
|
69
|
-
showMinLabel: !0,
|
|
70
|
-
verticalAlign: "bottom"
|
|
71
|
-
},
|
|
72
|
-
axisLine: {
|
|
73
|
-
show: !1
|
|
74
|
-
},
|
|
75
|
-
axisTick: {
|
|
76
|
-
show: !1
|
|
77
|
-
},
|
|
78
|
-
splitLine: {
|
|
79
|
-
show: !0,
|
|
80
|
-
lineStyle: {
|
|
81
|
-
color: t.palette.black[4]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
},
|
|
86
|
+
yAxis: L(d, i),
|
|
85
87
|
tooltip: {
|
|
86
|
-
position:
|
|
88
|
+
position: S(t),
|
|
89
|
+
formatter: _((n) => {
|
|
90
|
+
const l = n.value, u = n.dimensionNames?.[n.encode?.y?.at(0) ?? 1], c = l[u ?? ""], h = typeof c == "number" && i ? i(c) : c ?? "", x = typeof n.marker == "string" ? n.marker : "", y = n.seriesName ? `${n.seriesName}: ` : "";
|
|
91
|
+
return {
|
|
92
|
+
name: n.name ?? "",
|
|
93
|
+
seriesName: y,
|
|
94
|
+
marker: x,
|
|
95
|
+
value: h
|
|
96
|
+
};
|
|
97
|
+
})
|
|
87
98
|
},
|
|
88
|
-
series: e.map((
|
|
89
|
-
datasetIndex:
|
|
99
|
+
series: e.map((n, l) => ({
|
|
100
|
+
datasetIndex: l,
|
|
90
101
|
type: "bar",
|
|
91
102
|
barMaxWidth: 100,
|
|
92
103
|
emphasis: {
|
|
93
104
|
focus: "series"
|
|
94
105
|
}
|
|
95
|
-
// itemStyle: {
|
|
96
|
-
// color(params) {
|
|
97
|
-
// const color =
|
|
98
|
-
// getColorBySchema({
|
|
99
|
-
// colorSchema: config?.colorSchema,
|
|
100
|
-
// value: params.value as ColorSchemaValue,
|
|
101
|
-
// }) ?? params.color!
|
|
102
|
-
// if (!selected?.length) {
|
|
103
|
-
// return color
|
|
104
|
-
// }
|
|
105
|
-
// if (selected.map(String).includes(params.name)) {
|
|
106
|
-
// return color
|
|
107
|
-
// }
|
|
108
|
-
// return theme.palette.black[25]
|
|
109
|
-
// },
|
|
110
|
-
// },
|
|
111
106
|
}))
|
|
112
107
|
};
|
|
113
108
|
}
|
|
@@ -125,7 +120,7 @@ const r = {
|
|
|
125
120
|
}
|
|
126
121
|
},
|
|
127
122
|
graph: {
|
|
128
|
-
...
|
|
123
|
+
...T.graph,
|
|
129
124
|
grid: {
|
|
130
125
|
display: "flex",
|
|
131
126
|
justifyContent: "space-between",
|
|
@@ -136,58 +131,58 @@ const r = {
|
|
|
136
131
|
}
|
|
137
132
|
}
|
|
138
133
|
};
|
|
139
|
-
function
|
|
140
|
-
const e =
|
|
134
|
+
function te() {
|
|
135
|
+
const e = b(2);
|
|
141
136
|
let t;
|
|
142
|
-
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ s
|
|
143
|
-
/* @__PURE__ */
|
|
144
|
-
/* @__PURE__ */
|
|
145
|
-
/* @__PURE__ */
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
-
/* @__PURE__ */
|
|
137
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ p(s, { sx: r.skeleton.graph.grid, children: [
|
|
138
|
+
/* @__PURE__ */ a(o, { sx: r.skeleton.item, variant: "rectangular", height: "20%" }),
|
|
139
|
+
/* @__PURE__ */ a(o, { sx: r.skeleton.item, variant: "rectangular", height: "40%" }),
|
|
140
|
+
/* @__PURE__ */ a(o, { sx: r.skeleton.item, variant: "rectangular", height: "60%" }),
|
|
141
|
+
/* @__PURE__ */ a(o, { sx: r.skeleton.item, variant: "rectangular", height: "20%" }),
|
|
142
|
+
/* @__PURE__ */ a(o, { sx: r.skeleton.item, variant: "rectangular", height: "80%" })
|
|
148
143
|
] }), e[0] = t) : t = e[0];
|
|
149
144
|
let i;
|
|
150
|
-
return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ s
|
|
145
|
+
return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ p(s, { sx: r.skeleton.graph.container, children: [
|
|
151
146
|
t,
|
|
152
|
-
/* @__PURE__ */
|
|
147
|
+
/* @__PURE__ */ a(s, { sx: {
|
|
153
148
|
display: "flex",
|
|
154
149
|
alignItems: "center",
|
|
155
|
-
gap:
|
|
156
|
-
height:
|
|
157
|
-
}, children: Array(2).fill(0).map(
|
|
150
|
+
gap: D,
|
|
151
|
+
height: F
|
|
152
|
+
}, children: Array(2).fill(0).map(N) })
|
|
158
153
|
] }), e[1] = i) : i = e[1], i;
|
|
159
154
|
}
|
|
160
|
-
function
|
|
161
|
-
return /* @__PURE__ */ s
|
|
155
|
+
function N(e, t) {
|
|
156
|
+
return /* @__PURE__ */ p(s, { sx: {
|
|
162
157
|
display: "flex",
|
|
163
158
|
alignItems: "center",
|
|
164
|
-
gap:
|
|
159
|
+
gap: j
|
|
165
160
|
}, children: [
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ a(o, { variant: "circular", width: 8, height: 8 }),
|
|
162
|
+
/* @__PURE__ */ a(o, { width: 48, height: 8 })
|
|
168
163
|
] }, t);
|
|
169
164
|
}
|
|
170
|
-
function
|
|
165
|
+
function j(e) {
|
|
171
166
|
const {
|
|
172
167
|
spacing: t
|
|
173
168
|
} = e;
|
|
174
169
|
return t(1.5);
|
|
175
170
|
}
|
|
176
|
-
function
|
|
171
|
+
function F(e) {
|
|
177
172
|
const {
|
|
178
173
|
spacing: t
|
|
179
174
|
} = e;
|
|
180
175
|
return t(5);
|
|
181
176
|
}
|
|
182
|
-
function
|
|
177
|
+
function D(e) {
|
|
183
178
|
const {
|
|
184
179
|
spacing: t
|
|
185
180
|
} = e;
|
|
186
181
|
return t(2);
|
|
187
182
|
}
|
|
188
183
|
export {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
184
|
+
te as BarSkeleton,
|
|
185
|
+
ee as barConfig,
|
|
186
|
+
Z as barDownloadConfig
|
|
192
187
|
};
|
|
193
188
|
//# sourceMappingURL=bar.js.map
|
package/dist/widgets/bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar.js","sources":["../../src/widgets/bar/config.ts","../../src/widgets/bar/style.ts","../../src/widgets/bar/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { BarConfig, BarWidgetConfig, BarWidgetData } from './types'\nimport {\n flattenObjectArrayToCSV,\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function barDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<BarWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function barConfig(props: BarConfig): BarWidgetConfig {\n return {\n type: 'bar',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({ data = [], theme }: BarConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n return {\n legend: buildLegendConfig(hasLegend),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n padding: [parseInt(theme.spacing(0.5)), 0, 0, 0],\n margin: 0,\n },\n },\n yAxis: {\n type: 'value',\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom',\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n tooltip: {\n position: createTooltipPositioner(theme),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barMaxWidth: 100,\n emphasis: {\n focus: 'series',\n },\n // itemStyle: {\n // color(params) {\n // const color =\n // getColorBySchema({\n // colorSchema: config?.colorSchema,\n // value: params.value as ColorSchemaValue,\n // }) ?? params.color!\n\n // if (!selected?.length) {\n // return color\n // }\n\n // if (selected.map(String).includes(params.name)) {\n // return color\n // }\n\n // return theme.palette.black[25]\n // },\n // },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n item: {\n flex: 1,\n maxWidth: ({ spacing }) => spacing(12),\n\n '& + &': {\n marginLeft: ({ spacing }) => spacing(1),\n },\n },\n graph: {\n ...baseSkeletonStyles.graph,\n grid: {\n display: 'flex',\n justifyContent: 'space-between',\n flex: '1 1 auto',\n alignItems: 'flex-end',\n width: '100%',\n },\n },\n mask: {\n gray: {\n backgroundColor: ({ palette }) => palette.grey[100],\n },\n white: {\n backgroundColor: ({ palette }) => palette.common.white,\n },\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function BarSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box sx={styles.skeleton.graph.grid}>\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='20%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='40%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='60%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='20%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='80%'\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n }}\n >\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["barDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","barConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","hasLegend","length","legend","buildLegendConfig","grid","buildGridConfig","xAxis","axisLine","show","axisTick","axisLabel","padding","parseInt","spacing","margin","yAxis","splitNumber","fontSize","typography","overlineDelicate","fontFamily","showMaxLabel","showMinLabel","verticalAlign","splitLine","lineStyle","color","palette","black","tooltip","position","createTooltipPositioner","series","map","_","index","datasetIndex","barMaxWidth","emphasis","focus","styles","skeleton","item","flex","maxWidth","marginLeft","graph","baseSkeletonStyles","display","justifyContent","alignItems","width","BarSkeleton","$","_c","t0","Symbol","for","Box","jsx","Skeleton","t1","container","gap","_temp","height","_temp2","Array","fill","_temp4","i","jsxs","_temp3","spacing_1","spacing_0"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bar.js","sources":["../../src/widgets/bar/config.ts","../../src/widgets/bar/style.ts","../../src/widgets/bar/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { BarConfig, BarWidgetConfig, BarWidgetData } from './types'\nimport {\n flattenObjectArrayToCSV,\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n createTooltipFormatter,\n applyYAxisFormatter,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function barDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<BarWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function barConfig(props: BarConfig): BarWidgetConfig {\n return {\n type: 'bar',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: BarConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n\n const yAxis = {\n type: 'value' as const,\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n verticalAlign: 'bottom' as const,\n inside: true,\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n }\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n padding: [parseInt(theme.spacing(0.5)), 0, 0, 0],\n margin: 0,\n },\n },\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.dimensionNames?.[item.encode?.y?.at(0) ?? 1]\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n const name = item.name ?? ''\n\n return { name, seriesName, marker, value: formattedValue }\n }),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barMaxWidth: 100,\n emphasis: {\n focus: 'series',\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n item: {\n flex: 1,\n maxWidth: ({ spacing }) => spacing(12),\n\n '& + &': {\n marginLeft: ({ spacing }) => spacing(1),\n },\n },\n graph: {\n ...baseSkeletonStyles.graph,\n grid: {\n display: 'flex',\n justifyContent: 'space-between',\n flex: '1 1 auto',\n alignItems: 'flex-end',\n width: '100%',\n },\n },\n mask: {\n gray: {\n backgroundColor: ({ palette }) => palette.grey[100],\n },\n white: {\n backgroundColor: ({ palette }) => palette.common.white,\n },\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function BarSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box sx={styles.skeleton.graph.grid}>\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='20%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='40%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='60%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='20%'\n />\n <Skeleton\n sx={styles.skeleton.item}\n variant='rectangular'\n height='80%'\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n }}\n >\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["barDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","barConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","formatter","hasLegend","length","yAxis","splitNumber","axisLabel","fontSize","typography","overlineDelicate","fontFamily","margin","parseInt","spacing","show","showMaxLabel","showMinLabel","verticalAlign","inside","axisLine","axisTick","splitLine","lineStyle","color","palette","black","legend","buildLegendConfig","grid","buildGridConfig","xAxis","padding","applyYAxisFormatter","tooltip","position","createTooltipPositioner","createTooltipFormatter","item","value","index","dimensionNames","encode","y","at","_value","formattedValue","marker","seriesName","name","series","map","_","datasetIndex","barMaxWidth","emphasis","focus","styles","skeleton","flex","maxWidth","marginLeft","graph","baseSkeletonStyles","display","justifyContent","alignItems","width","BarSkeleton","$","_c","t0","Symbol","for","Box","jsx","Skeleton","t1","container","gap","_temp","height","_temp2","Array","fill","_temp4","i","jsxs","_temp3","spacing_1","spacing_0"],"mappings":"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"}
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
1
|
+
import { jsx as a, jsxs as h } from "react/jsx-runtime";
|
|
2
|
+
import { c as x } from "react/compiler-runtime";
|
|
3
3
|
import "react";
|
|
4
4
|
import "echarts";
|
|
5
5
|
import "../widget-store-CB6Trp_0.js";
|
|
6
6
|
import "zustand/shallow";
|
|
7
|
-
import { g as
|
|
8
|
-
import { m as
|
|
9
|
-
import { f as
|
|
10
|
-
import { Box as
|
|
7
|
+
import { g as b } from "../options-D9wflre6.js";
|
|
8
|
+
import { m as w } from "../utils-D3-eQyDR.js";
|
|
9
|
+
import { f as _, c as L, a as S, b as k, d as v, e as C, g as A } from "../styles-CCZnY17y.js";
|
|
10
|
+
import { Box as l, Skeleton as m } from "@mui/material";
|
|
11
11
|
import "@mui/icons-material";
|
|
12
12
|
import "react-markdown";
|
|
13
|
-
import { d as
|
|
13
|
+
import { d as p, a as c } from "../exports-Cr43OCul.js";
|
|
14
14
|
import "../lasso-tool-BwRzEW7k.js";
|
|
15
15
|
import "../cjs-D4KH3azB.js";
|
|
16
16
|
import "@dnd-kit/core";
|
|
17
17
|
import "@dnd-kit/sortable";
|
|
18
18
|
import "@dnd-kit/utilities";
|
|
19
|
-
function
|
|
20
|
-
refUI:
|
|
19
|
+
function ee({
|
|
20
|
+
refUI: t
|
|
21
21
|
}) {
|
|
22
22
|
return [{
|
|
23
|
-
...
|
|
24
|
-
modifier: () =>
|
|
23
|
+
...p,
|
|
24
|
+
modifier: () => p.modifier(t)
|
|
25
25
|
}, {
|
|
26
|
-
...
|
|
27
|
-
modifier: async (
|
|
28
|
-
const
|
|
29
|
-
return
|
|
26
|
+
...c,
|
|
27
|
+
modifier: async (e) => {
|
|
28
|
+
const o = _(e);
|
|
29
|
+
return c.modifier(o);
|
|
30
30
|
}
|
|
31
31
|
}];
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function te(t) {
|
|
34
34
|
return {
|
|
35
35
|
type: "histogram",
|
|
36
|
-
option:
|
|
36
|
+
option: w(b(t), I(t))
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
data:
|
|
41
|
-
theme:
|
|
39
|
+
function I({
|
|
40
|
+
data: t = [],
|
|
41
|
+
theme: e,
|
|
42
|
+
formatter: o
|
|
42
43
|
}) {
|
|
43
|
-
const
|
|
44
|
+
const n = (t?.length ?? 0) > 1, f = {
|
|
45
|
+
type: "value",
|
|
46
|
+
showMaxLabel: !0,
|
|
47
|
+
showMinLabel: !0,
|
|
48
|
+
splitNumber: 1,
|
|
49
|
+
axisLabel: {
|
|
50
|
+
fontSize: e.typography.overlineDelicate.fontSize,
|
|
51
|
+
fontFamily: e.typography.overlineDelicate.fontFamily,
|
|
52
|
+
margin: parseInt(e.spacing(1)),
|
|
53
|
+
show: !0,
|
|
54
|
+
showMaxLabel: !0,
|
|
55
|
+
showMinLabel: !0,
|
|
56
|
+
verticalAlign: "bottom"
|
|
57
|
+
},
|
|
58
|
+
axisLine: {
|
|
59
|
+
show: !1
|
|
60
|
+
},
|
|
61
|
+
axisTick: {
|
|
62
|
+
show: !1
|
|
63
|
+
},
|
|
64
|
+
splitLine: {
|
|
65
|
+
show: !0,
|
|
66
|
+
lineStyle: {
|
|
67
|
+
color: e.palette.black[4]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
44
71
|
return {
|
|
45
|
-
legend:
|
|
46
|
-
grid:
|
|
72
|
+
legend: C(n),
|
|
73
|
+
grid: v(n, e),
|
|
47
74
|
xAxis: {
|
|
48
75
|
type: "category",
|
|
49
76
|
axisLine: {
|
|
50
77
|
show: !1
|
|
51
78
|
},
|
|
52
79
|
axisLabel: {
|
|
53
|
-
fontSize:
|
|
54
|
-
fontFamily:
|
|
80
|
+
fontSize: e.typography.overlineDelicate.fontSize,
|
|
81
|
+
fontFamily: e.typography.overlineDelicate.fontFamily,
|
|
55
82
|
showMinLabel: !0,
|
|
56
83
|
showMaxLabel: !0,
|
|
57
84
|
hideOverlap: !0,
|
|
58
85
|
margin: 0,
|
|
59
|
-
padding: [parseInt(
|
|
60
|
-
color:
|
|
61
|
-
},
|
|
62
|
-
axisTick: {
|
|
63
|
-
show: !1
|
|
64
|
-
},
|
|
65
|
-
splitLine: {
|
|
66
|
-
show: !0,
|
|
67
|
-
lineStyle: {
|
|
68
|
-
color: t.palette.black[4]
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
yAxis: {
|
|
73
|
-
type: "value",
|
|
74
|
-
showMaxLabel: !0,
|
|
75
|
-
showMinLabel: !0,
|
|
76
|
-
splitNumber: 1,
|
|
77
|
-
axisLabel: {
|
|
78
|
-
fontSize: t.typography.overlineDelicate.fontSize,
|
|
79
|
-
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
80
|
-
margin: parseInt(t.spacing(1)),
|
|
81
|
-
show: !0,
|
|
82
|
-
showMaxLabel: !0,
|
|
83
|
-
showMinLabel: !0,
|
|
84
|
-
verticalAlign: "bottom"
|
|
85
|
-
},
|
|
86
|
-
axisLine: {
|
|
87
|
-
show: !1
|
|
86
|
+
padding: [parseInt(e.spacing(0.5)), parseInt(e.spacing(0.5)), 0, parseInt(e.spacing(0.5))],
|
|
87
|
+
color: e.palette.black[60]
|
|
88
88
|
},
|
|
89
89
|
axisTick: {
|
|
90
90
|
show: !1
|
|
@@ -92,15 +92,25 @@ function x({
|
|
|
92
92
|
splitLine: {
|
|
93
93
|
show: !0,
|
|
94
94
|
lineStyle: {
|
|
95
|
-
color:
|
|
95
|
+
color: e.palette.black[4]
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
+
yAxis: k(f, o),
|
|
99
100
|
tooltip: {
|
|
100
|
-
position:
|
|
101
|
+
position: S(e),
|
|
102
|
+
formatter: L((i) => {
|
|
103
|
+
const r = i.value, g = i.dimensionNames?.[i.encode?.y?.at(0) ?? 1], s = r[g ?? ""], u = typeof s == "number" && o ? o(s) : s ?? "", y = typeof i.marker == "string" ? i.marker : "", d = i.seriesName ? `${i.seriesName}: ` : "";
|
|
104
|
+
return {
|
|
105
|
+
name: i.name ?? "",
|
|
106
|
+
seriesName: d,
|
|
107
|
+
marker: y,
|
|
108
|
+
value: u
|
|
109
|
+
};
|
|
110
|
+
})
|
|
101
111
|
},
|
|
102
|
-
series:
|
|
103
|
-
datasetIndex:
|
|
112
|
+
series: t.map((i, r) => ({
|
|
113
|
+
datasetIndex: r,
|
|
104
114
|
type: "bar",
|
|
105
115
|
barGap: "1%",
|
|
106
116
|
// No gap between bars in histogram
|
|
@@ -112,65 +122,65 @@ function x({
|
|
|
112
122
|
}))
|
|
113
123
|
};
|
|
114
124
|
}
|
|
115
|
-
const
|
|
125
|
+
const T = {
|
|
116
126
|
skeleton: {
|
|
117
|
-
graph:
|
|
127
|
+
graph: A.graph
|
|
118
128
|
}
|
|
119
129
|
};
|
|
120
|
-
function
|
|
121
|
-
const
|
|
122
|
-
let
|
|
123
|
-
|
|
130
|
+
function oe() {
|
|
131
|
+
const t = x(2);
|
|
132
|
+
let e;
|
|
133
|
+
t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ a(l, { sx: {
|
|
124
134
|
display: "flex",
|
|
125
135
|
alignItems: "flex-end",
|
|
126
136
|
justifyContent: "space-between",
|
|
127
|
-
gap:
|
|
128
|
-
height:
|
|
137
|
+
gap: D,
|
|
138
|
+
height: j,
|
|
129
139
|
width: "100%"
|
|
130
|
-
}, children: Array(8).fill(0).map(
|
|
131
|
-
let
|
|
132
|
-
return
|
|
133
|
-
|
|
134
|
-
/* @__PURE__ */
|
|
140
|
+
}, children: Array(8).fill(0).map(N) }), t[0] = e) : e = t[0];
|
|
141
|
+
let o;
|
|
142
|
+
return t[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ h(l, { sx: T.skeleton.graph.container, children: [
|
|
143
|
+
e,
|
|
144
|
+
/* @__PURE__ */ a(l, { sx: {
|
|
135
145
|
display: "flex",
|
|
136
146
|
alignItems: "center",
|
|
137
147
|
justifyContent: "space-between",
|
|
138
148
|
width: "100%",
|
|
139
|
-
mt:
|
|
140
|
-
}, children: Array(4).fill(0).map(
|
|
141
|
-
] }),
|
|
149
|
+
mt: M
|
|
150
|
+
}, children: Array(4).fill(0).map(F) })
|
|
151
|
+
] }), t[1] = o) : o = t[1], o;
|
|
142
152
|
}
|
|
143
|
-
function
|
|
144
|
-
return /* @__PURE__ */
|
|
153
|
+
function F(t, e) {
|
|
154
|
+
return /* @__PURE__ */ a(m, { width: 32, height: 8 }, e);
|
|
145
155
|
}
|
|
146
|
-
function
|
|
156
|
+
function M(t) {
|
|
147
157
|
const {
|
|
148
|
-
spacing:
|
|
149
|
-
} =
|
|
150
|
-
return
|
|
158
|
+
spacing: e
|
|
159
|
+
} = t;
|
|
160
|
+
return e(1);
|
|
151
161
|
}
|
|
152
|
-
function
|
|
153
|
-
const
|
|
154
|
-
return /* @__PURE__ */
|
|
162
|
+
function N(t, e) {
|
|
163
|
+
const n = `${[60, 80, 95, 85, 70, 55, 40, 30][e]}%`;
|
|
164
|
+
return /* @__PURE__ */ a(m, { variant: "rectangular", sx: {
|
|
155
165
|
flex: 1,
|
|
156
|
-
height:
|
|
157
|
-
} },
|
|
166
|
+
height: n
|
|
167
|
+
} }, e);
|
|
158
168
|
}
|
|
159
|
-
function
|
|
169
|
+
function j(t) {
|
|
160
170
|
const {
|
|
161
|
-
spacing:
|
|
162
|
-
} =
|
|
163
|
-
return
|
|
171
|
+
spacing: e
|
|
172
|
+
} = t;
|
|
173
|
+
return e(30);
|
|
164
174
|
}
|
|
165
|
-
function
|
|
175
|
+
function D(t) {
|
|
166
176
|
const {
|
|
167
|
-
spacing:
|
|
168
|
-
} =
|
|
169
|
-
return
|
|
177
|
+
spacing: e
|
|
178
|
+
} = t;
|
|
179
|
+
return e(0.5);
|
|
170
180
|
}
|
|
171
181
|
export {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
oe as HistogramSkeleton,
|
|
183
|
+
te as histogramConfig,
|
|
184
|
+
ee as histogramDownloadConfig
|
|
175
185
|
};
|
|
176
186
|
//# sourceMappingURL=histogram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"histogram.js","sources":["../../src/widgets/histogram/config.ts","../../src/widgets/histogram/style.ts","../../src/widgets/histogram/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n HistogramConfig,\n HistogramWidgetConfig,\n HistogramWidgetData,\n} from './types'\nimport {\n flattenObjectArrayToCSV,\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function histogramDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<HistogramWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\nexport function histogramConfig(props: HistogramConfig): HistogramWidgetConfig {\n return {\n type: 'histogram',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\nfunction getOption({ data = [], theme }: HistogramConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n return {\n legend: buildLegendConfig(hasLegend),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n margin: 0,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n yAxis: {\n type: 'value',\n showMaxLabel: true,\n showMinLabel: true,\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom',\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n tooltip: {\n position: createTooltipPositioner(theme),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barGap: '1%', // No gap between bars in histogram\n barCategoryGap: '1%', // No gap between categories in histogram\n emphasis: {\n focus: 'series',\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function HistogramSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={i}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n mt: ({ spacing }) => spacing(1),\n }}\n >\n {Array(4)\n .fill(0)\n .map((_, i) => (\n <Skeleton key={i} width={32} height={8} />\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["histogramDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","histogramConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","hasLegend","length","legend","buildLegendConfig","grid","buildGridConfig","xAxis","axisLine","show","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","margin","padding","parseInt","spacing","color","palette","black","axisTick","splitLine","lineStyle","yAxis","splitNumber","verticalAlign","tooltip","position","createTooltipPositioner","series","map","_","index","datasetIndex","barGap","barCategoryGap","emphasis","focus","styles","skeleton","graph","baseSkeletonStyles","HistogramSkeleton","$","_c","t0","Symbol","for","jsx","Box","display","alignItems","justifyContent","gap","_temp","height","_temp2","width","Array","fill","_temp3","t1","container","mt","_temp4","_temp5","__0","i_0","Skeleton","spacing_1","i","flex","spacing_0"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"histogram.js","sources":["../../src/widgets/histogram/config.ts","../../src/widgets/histogram/style.ts","../../src/widgets/histogram/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n HistogramConfig,\n HistogramWidgetConfig,\n HistogramWidgetData,\n} from './types'\nimport {\n flattenObjectArrayToCSV,\n buildLegendConfig,\n buildGridConfig,\n createTooltipPositioner,\n createTooltipFormatter,\n applyYAxisFormatter,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function histogramDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<HistogramWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\nexport function histogramConfig(props: HistogramConfig): HistogramWidgetConfig {\n return {\n type: 'histogram',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: HistogramConfig): EchartOptionsProps {\n const hasLegend = (data?.length ?? 0) > 1\n\n const yAxis = {\n type: 'value' as const,\n showMaxLabel: true,\n showMinLabel: true,\n splitNumber: 1,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n margin: parseInt(theme.spacing(1)),\n show: true,\n showMaxLabel: true,\n showMinLabel: true,\n verticalAlign: 'bottom' as const,\n },\n axisLine: {\n show: false,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n }\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: buildGridConfig(hasLegend, theme),\n xAxis: {\n type: 'category',\n axisLine: {\n show: false,\n },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n margin: 0,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: theme.palette.black[4],\n },\n },\n },\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.dimensionNames?.[item.encode?.y?.at(0) ?? 1]\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const seriesName = item.seriesName ? `${item.seriesName}: ` : ''\n const name = item.name ?? ''\n\n return { name, seriesName, marker, value: formattedValue }\n }),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barGap: '1%', // No gap between bars in histogram\n barCategoryGap: '1%', // No gap between categories in histogram\n emphasis: {\n focus: 'series',\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function HistogramSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n gap: ({ spacing }) => spacing(0.5),\n height: ({ spacing }) => spacing(30),\n width: '100%',\n }}\n >\n {Array(8)\n .fill(0)\n .map((_, i) => {\n // Create varying heights for histogram bars\n const heights = [60, 80, 95, 85, 70, 55, 40, 30]\n const height = `${heights[i]}%`\n return (\n <Skeleton\n key={i}\n variant='rectangular'\n sx={{\n flex: 1,\n height,\n }}\n />\n )\n })}\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n mt: ({ spacing }) => spacing(1),\n }}\n >\n {Array(4)\n .fill(0)\n .map((_, i) => (\n <Skeleton key={i} width={32} height={8} />\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["histogramDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","histogramConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","formatter","hasLegend","length","yAxis","showMaxLabel","showMinLabel","splitNumber","axisLabel","fontSize","typography","overlineDelicate","fontFamily","margin","parseInt","spacing","show","verticalAlign","axisLine","axisTick","splitLine","lineStyle","color","palette","black","legend","buildLegendConfig","grid","buildGridConfig","xAxis","hideOverlap","padding","applyYAxisFormatter","tooltip","position","createTooltipPositioner","createTooltipFormatter","item","value","index","dimensionNames","encode","y","at","_value","formattedValue","marker","seriesName","name","series","map","_","datasetIndex","barGap","barCategoryGap","emphasis","focus","styles","skeleton","graph","baseSkeletonStyles","HistogramSkeleton","$","_c","t0","Symbol","for","jsx","Box","display","alignItems","justifyContent","gap","_temp","height","_temp2","width","Array","fill","_temp3","t1","container","mt","_temp4","_temp5","__0","i_0","Skeleton","spacing_1","i","flex","spacing_0"],"mappings":"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"}
|