@carto/ps-react-ui 5.0.0-widgets.12 → 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/{cjs-D9ro6BXv.js → cjs-D4KH3azB.js} +2 -2
- package/dist/{cjs-D9ro6BXv.js.map → cjs-D4KH3azB.js.map} +1 -1
- package/dist/components.js +26 -26
- package/dist/components.js.map +1 -1
- package/dist/{lasso-tool-CYn3ivf-.js → lasso-tool-BwRzEW7k.js} +10 -10
- package/dist/{lasso-tool-CYn3ivf-.js.map → lasso-tool-BwRzEW7k.js.map} +1 -1
- package/dist/{note-Clng2ej6.js → note-t51drNe0.js} +3 -3
- package/dist/{note-Clng2ej6.js.map → note-t51drNe0.js.map} +1 -1
- package/dist/{series-Do02NQUF.js → series-D3Pc-kYX.js} +2 -2
- package/dist/{series-Do02NQUF.js.map → series-D3Pc-kYX.js.map} +1 -1
- 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/{utils-Dv5Z47UQ.js → utils-D3-eQyDR.js} +2 -2
- package/dist/{utils-Dv5Z47UQ.js.map → utils-D3-eQyDR.js.map} +1 -1
- package/dist/widgets/actions.js +556 -531
- package/dist/widgets/actions.js.map +1 -1
- package/dist/widgets/bar.js +86 -91
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +6 -6
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +3 -3
- package/dist/widgets/echart.js.map +1 -1
- package/dist/widgets/formula.js +4 -4
- package/dist/widgets/formula.js.map +1 -1
- package/dist/widgets/histogram.js +108 -98
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +1 -1
- package/dist/widgets/markdown.js +5 -5
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/note.js +1 -1
- package/dist/widgets/pie.js +84 -71
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +6 -6
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +106 -96
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/spread.js +4 -4
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/table.js +8 -8
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +79 -67
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/toolbar-actions.js +1866 -1465
- package/dist/widgets/toolbar-actions.js.map +1 -1
- package/dist/widgets/wrapper.js +7 -7
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets.js +1 -1
- package/package.json +4 -4
- package/dist/styles-dOu_pRNb.js +0 -77
- package/dist/styles-dOu_pRNb.js.map +0 -1
|
@@ -1,124 +1,134 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { c as
|
|
1
|
+
import { jsxs as g, jsx as i } 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 } from "../utils-
|
|
9
|
-
import { s as
|
|
10
|
-
import { Box as
|
|
7
|
+
import { g as w } from "../options-D9wflre6.js";
|
|
8
|
+
import { m as S } from "../utils-D3-eQyDR.js";
|
|
9
|
+
import { s as v, c as k, b as L, e as I, g as _ } from "../styles-CCZnY17y.js";
|
|
10
|
+
import { Box as s, Skeleton as p } from "@mui/material";
|
|
11
11
|
import "@mui/icons-material";
|
|
12
12
|
import "react-markdown";
|
|
13
|
-
import { d as
|
|
14
|
-
import "../lasso-tool-
|
|
15
|
-
import "../cjs-
|
|
13
|
+
import { d as c, a as f } from "../exports-Cr43OCul.js";
|
|
14
|
+
import "../lasso-tool-BwRzEW7k.js";
|
|
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 U({
|
|
20
20
|
refUI: e
|
|
21
21
|
}) {
|
|
22
22
|
return [{
|
|
23
|
-
...
|
|
24
|
-
modifier: () =>
|
|
23
|
+
...c,
|
|
24
|
+
modifier: () => c.modifier(e)
|
|
25
25
|
}, {
|
|
26
|
-
...
|
|
26
|
+
...f,
|
|
27
27
|
modifier: async (t) => {
|
|
28
|
-
const o =
|
|
29
|
-
return
|
|
28
|
+
const o = v(t);
|
|
29
|
+
return f.modifier(o);
|
|
30
30
|
}
|
|
31
31
|
}];
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function X(e) {
|
|
34
34
|
return {
|
|
35
35
|
type: "scatterplot",
|
|
36
|
-
option:
|
|
36
|
+
option: S(w(e), T(e))
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function T({
|
|
40
40
|
data: e = [],
|
|
41
|
-
theme: t
|
|
41
|
+
theme: t,
|
|
42
|
+
formatter: o
|
|
42
43
|
}) {
|
|
43
|
-
const
|
|
44
|
+
const n = e.length > 1, u = {
|
|
45
|
+
type: "value",
|
|
46
|
+
axisLine: {
|
|
47
|
+
show: !1
|
|
48
|
+
},
|
|
49
|
+
axisTick: {
|
|
50
|
+
show: !1
|
|
51
|
+
},
|
|
52
|
+
axisLabel: {
|
|
53
|
+
fontSize: t.typography.overlineDelicate.fontSize,
|
|
54
|
+
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
55
|
+
showMinLabel: !0,
|
|
56
|
+
showMaxLabel: !0,
|
|
57
|
+
hideOverlap: !0,
|
|
58
|
+
padding: [parseInt(t.spacing(0.5)), parseInt(t.spacing(0.5)), 0, parseInt(t.spacing(0.5))],
|
|
59
|
+
color: t.palette.black[60]
|
|
60
|
+
},
|
|
61
|
+
splitLine: {
|
|
62
|
+
show: !0,
|
|
63
|
+
lineStyle: {
|
|
64
|
+
color: t.palette.black[4]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}, d = {
|
|
68
|
+
type: "value",
|
|
69
|
+
axisLabel: {
|
|
70
|
+
fontSize: t.typography.overlineDelicate.fontSize,
|
|
71
|
+
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
72
|
+
inside: !1,
|
|
73
|
+
padding: [0, 0, parseInt(t.spacing(1.25)), parseInt(t.spacing(3.25))],
|
|
74
|
+
margin: 0,
|
|
75
|
+
show: !0,
|
|
76
|
+
showMaxLabel: !0,
|
|
77
|
+
showMinLabel: !1,
|
|
78
|
+
align: "right",
|
|
79
|
+
verticalAlign: "bottom"
|
|
80
|
+
},
|
|
81
|
+
axisLine: {
|
|
82
|
+
show: !1
|
|
83
|
+
},
|
|
84
|
+
axisTick: {
|
|
85
|
+
show: !1
|
|
86
|
+
},
|
|
87
|
+
splitLine: {
|
|
88
|
+
show: !0,
|
|
89
|
+
lineStyle: {
|
|
90
|
+
color: t.palette.black[4]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
44
94
|
return {
|
|
45
|
-
legend:
|
|
95
|
+
legend: I(n),
|
|
46
96
|
grid: {
|
|
47
|
-
...!
|
|
97
|
+
...!n && {
|
|
48
98
|
bottom: parseInt(t.spacing(1))
|
|
49
99
|
},
|
|
50
|
-
...
|
|
100
|
+
...n && {
|
|
51
101
|
bottom: parseInt(t.spacing(10))
|
|
52
102
|
}
|
|
53
103
|
},
|
|
54
|
-
xAxis:
|
|
55
|
-
|
|
56
|
-
axisLine: {
|
|
57
|
-
show: !1
|
|
58
|
-
},
|
|
59
|
-
axisTick: {
|
|
60
|
-
show: !1
|
|
61
|
-
},
|
|
62
|
-
axisLabel: {
|
|
63
|
-
fontSize: t.typography.overlineDelicate.fontSize,
|
|
64
|
-
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
65
|
-
showMinLabel: !0,
|
|
66
|
-
showMaxLabel: !0,
|
|
67
|
-
hideOverlap: !0,
|
|
68
|
-
padding: [parseInt(t.spacing(0.5)), parseInt(t.spacing(0.5)), 0, parseInt(t.spacing(0.5))],
|
|
69
|
-
color: t.palette.black[60]
|
|
70
|
-
},
|
|
71
|
-
splitLine: {
|
|
72
|
-
show: !0,
|
|
73
|
-
lineStyle: {
|
|
74
|
-
color: t.palette.black[4]
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
yAxis: {
|
|
79
|
-
type: "value",
|
|
80
|
-
axisLabel: {
|
|
81
|
-
fontSize: t.typography.overlineDelicate.fontSize,
|
|
82
|
-
fontFamily: t.typography.overlineDelicate.fontFamily,
|
|
83
|
-
inside: !1,
|
|
84
|
-
padding: [0, 0, parseInt(t.spacing(1.25)), parseInt(t.spacing(3.25))],
|
|
85
|
-
margin: 0,
|
|
86
|
-
show: !0,
|
|
87
|
-
showMaxLabel: !0,
|
|
88
|
-
showMinLabel: !1,
|
|
89
|
-
align: "right",
|
|
90
|
-
verticalAlign: "bottom"
|
|
91
|
-
},
|
|
92
|
-
axisLine: {
|
|
93
|
-
show: !1
|
|
94
|
-
},
|
|
95
|
-
axisTick: {
|
|
96
|
-
show: !1
|
|
97
|
-
},
|
|
98
|
-
splitLine: {
|
|
99
|
-
show: !0,
|
|
100
|
-
lineStyle: {
|
|
101
|
-
color: t.palette.black[4]
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
},
|
|
104
|
+
xAxis: u,
|
|
105
|
+
yAxis: L(d, o),
|
|
105
106
|
tooltip: {
|
|
106
|
-
trigger: "item"
|
|
107
|
+
trigger: "item",
|
|
107
108
|
// position: createTooltipPositioner(theme),
|
|
109
|
+
formatter: k((a) => {
|
|
110
|
+
const r = a.value, y = a.encode?.y?.at(0), l = r[y ?? ""], h = typeof l == "number" && o ? o(l) : l ?? "", x = typeof a.marker == "string" ? a.marker : "";
|
|
111
|
+
return {
|
|
112
|
+
name: a.seriesName ?? "",
|
|
113
|
+
seriesName: "",
|
|
114
|
+
marker: x,
|
|
115
|
+
value: h
|
|
116
|
+
};
|
|
117
|
+
})
|
|
108
118
|
},
|
|
109
119
|
color: Object.values(t.palette.qualitative.bold),
|
|
110
|
-
series: e.map((
|
|
111
|
-
datasetIndex:
|
|
120
|
+
series: e.map((a, r) => ({
|
|
121
|
+
datasetIndex: r,
|
|
112
122
|
type: "scatter",
|
|
113
123
|
symbolSize: 8
|
|
114
124
|
}))
|
|
115
125
|
};
|
|
116
126
|
}
|
|
117
|
-
const
|
|
127
|
+
const m = {
|
|
118
128
|
skeleton: {
|
|
119
129
|
graph: {
|
|
120
130
|
container: {
|
|
121
|
-
...
|
|
131
|
+
..._.graph.container,
|
|
122
132
|
position: "relative"
|
|
123
133
|
}
|
|
124
134
|
},
|
|
@@ -135,7 +145,7 @@ const s = {
|
|
|
135
145
|
bottom: 0
|
|
136
146
|
}
|
|
137
147
|
}
|
|
138
|
-
},
|
|
148
|
+
}, C = [{
|
|
139
149
|
left: "20%",
|
|
140
150
|
top: "62%"
|
|
141
151
|
}, {
|
|
@@ -181,34 +191,34 @@ const s = {
|
|
|
181
191
|
left: "40%",
|
|
182
192
|
top: "40%"
|
|
183
193
|
}];
|
|
184
|
-
function
|
|
185
|
-
const e =
|
|
194
|
+
function Z() {
|
|
195
|
+
const e = b(2);
|
|
186
196
|
let t;
|
|
187
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (t =
|
|
197
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = C.map(F), e[0] = t) : t = e[0];
|
|
188
198
|
let o;
|
|
189
|
-
return e[1] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */
|
|
199
|
+
return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ g(s, { sx: m.skeleton.graph.container, children: [
|
|
190
200
|
t,
|
|
191
|
-
/* @__PURE__ */ i(
|
|
201
|
+
/* @__PURE__ */ i(s, { sx: m.skeleton.legend, children: Array(2).fill(0).map(A) })
|
|
192
202
|
] }), e[1] = o) : o = e[1], o;
|
|
193
203
|
}
|
|
194
|
-
function
|
|
195
|
-
return /* @__PURE__ */
|
|
204
|
+
function A(e, t) {
|
|
205
|
+
return /* @__PURE__ */ g(s, { sx: {
|
|
196
206
|
display: "flex",
|
|
197
207
|
alignItems: "center",
|
|
198
|
-
gap:
|
|
208
|
+
gap: D
|
|
199
209
|
}, children: [
|
|
200
|
-
/* @__PURE__ */ i(
|
|
201
|
-
/* @__PURE__ */ i(
|
|
210
|
+
/* @__PURE__ */ i(p, { variant: "circular", width: 8, height: 8 }),
|
|
211
|
+
/* @__PURE__ */ i(p, { width: 48, height: 8 })
|
|
202
212
|
] }, t);
|
|
203
213
|
}
|
|
204
|
-
function
|
|
214
|
+
function D(e) {
|
|
205
215
|
const {
|
|
206
216
|
spacing: t
|
|
207
217
|
} = e;
|
|
208
218
|
return t(1.5);
|
|
209
219
|
}
|
|
210
|
-
function
|
|
211
|
-
return /* @__PURE__ */ i(
|
|
220
|
+
function F(e, t) {
|
|
221
|
+
return /* @__PURE__ */ i(p, { variant: "circular", width: 12, height: 12, sx: {
|
|
212
222
|
position: "absolute",
|
|
213
223
|
top: e.top,
|
|
214
224
|
left: e.left,
|
|
@@ -216,8 +226,8 @@ function S(e, t) {
|
|
|
216
226
|
} }, t);
|
|
217
227
|
}
|
|
218
228
|
export {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
229
|
+
Z as ScatterplotSkeleton,
|
|
230
|
+
X as scatterplotConfig,
|
|
231
|
+
U as scatterplotDownloadConfig
|
|
222
232
|
};
|
|
223
233
|
//# sourceMappingURL=scatterplot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatterplot.js","sources":["../../src/widgets/scatterplot/config.ts","../../src/widgets/scatterplot/style.ts","../../src/widgets/scatterplot/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n ScatterplotConfig,\n ScatterplotWidgetConfig,\n ScatterplotWidgetData,\n} from './types'\nimport {\n scatterplotDataToCSV,\n buildLegendConfig,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\n\nexport function scatterplotDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<ScatterplotWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = scatterplotDataToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis: {\n type: 'value',\n axisLine: { show: false },\n axisTick: { 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 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 splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n inside: false,\n padding: [\n 0,\n 0,\n parseInt(theme.spacing(1.25)),\n parseInt(theme.spacing(3.25)),\n ],\n margin: 0,\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n verticalAlign: 'bottom',\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'scatter',\n symbolSize: 8,\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: {\n container: {\n ...baseSkeletonStyles.graph.container,\n position: 'relative',\n },\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n position: 'absolute',\n bottom: 0,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst SCATTER_POINTS = [\n { left: '20%', top: '62%' },\n { left: '26%', top: '70%' },\n { left: '29%', top: '73%' },\n { left: '38%', top: '63%' },\n { left: '41%', top: '68%' },\n { left: '47%', top: '62%' },\n { left: '53%', top: '49%' },\n { left: '56%', top: '55%' },\n { left: '65%', top: '37%' },\n { left: '68%', top: '43%' },\n { left: '77%', top: '59%' },\n { left: '25%', top: '30%' },\n { left: '60%', top: '70%' },\n { left: '10%', top: '55%' },\n { left: '40%', top: '40%' },\n]\n\nexport function ScatterplotSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={index}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\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":["scatterplotDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","hasLegend","length","legend","buildLegendConfig","grid","bottom","parseInt","spacing","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","tooltip","trigger","Object","values","qualitative","bold","series","map","_","index","datasetIndex","symbolSize","styles","skeleton","graph","container","baseSkeletonStyles","position","display","alignItems","gap","height","SCATTER_POINTS","left","top","ScatterplotSkeleton","$","_c","t0","Symbol","for","_temp","t1","Box","jsx","Array","fill","_temp3","i","jsxs","_temp2","Skeleton","point","transform"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scatterplot.js","sources":["../../src/widgets/scatterplot/config.ts","../../src/widgets/scatterplot/style.ts","../../src/widgets/scatterplot/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n ScatterplotConfig,\n ScatterplotWidgetConfig,\n ScatterplotWidgetData,\n} from './types'\nimport {\n scatterplotDataToCSV,\n buildLegendConfig,\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 scatterplotDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<ScatterplotWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = scatterplotDataToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n\n const xAxis = {\n type: 'value' as const,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\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 splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n }\n\n const yAxis = {\n type: 'value' as const,\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n inside: false,\n padding: [\n 0,\n 0,\n parseInt(theme.spacing(1.25)),\n parseInt(theme.spacing(3.25)),\n ],\n margin: 0,\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n verticalAlign: 'bottom',\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n }\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis,\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.encode?.y?.at(0)\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const name = item.seriesName ?? ''\n\n return { name, seriesName: '', marker, value: formattedValue }\n }),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'scatter',\n symbolSize: 8,\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: {\n container: {\n ...baseSkeletonStyles.graph.container,\n position: 'relative',\n },\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n position: 'absolute',\n bottom: 0,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst SCATTER_POINTS = [\n { left: '20%', top: '62%' },\n { left: '26%', top: '70%' },\n { left: '29%', top: '73%' },\n { left: '38%', top: '63%' },\n { left: '41%', top: '68%' },\n { left: '47%', top: '62%' },\n { left: '53%', top: '49%' },\n { left: '56%', top: '55%' },\n { left: '65%', top: '37%' },\n { left: '68%', top: '43%' },\n { left: '77%', top: '59%' },\n { left: '25%', top: '30%' },\n { left: '60%', top: '70%' },\n { left: '10%', top: '55%' },\n { left: '40%', top: '40%' },\n]\n\nexport function ScatterplotSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={index}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\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":["scatterplotDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","formatter","hasLegend","length","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","parseInt","spacing","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","legend","buildLegendConfig","grid","bottom","applyYAxisFormatter","tooltip","trigger","createTooltipFormatter","item","value","index","encode","y","at","_value","formattedValue","marker","name","seriesName","Object","values","qualitative","bold","series","map","_","datasetIndex","symbolSize","styles","skeleton","graph","container","baseSkeletonStyles","position","display","alignItems","gap","height","SCATTER_POINTS","left","top","ScatterplotSkeleton","$","_c","t0","Symbol","for","_temp","t1","Box","jsx","Array","fill","_temp3","i","jsxs","_temp2","Skeleton","point","transform"],"mappings":"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"}
|
package/dist/widgets/spread.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as f, jsxs as W, Fragment as v } from "react/jsx-runtime";
|
|
2
2
|
import { c as h } from "react/compiler-runtime";
|
|
3
|
-
import { I as w, S as M, P as k, a as C } from "../series-
|
|
3
|
+
import { I as w, S as M, P as k, a as C } from "../series-D3Pc-kYX.js";
|
|
4
4
|
import { u as y } from "../widget-store-CB6Trp_0.js";
|
|
5
5
|
import { useShallow as P } from "zustand/shallow";
|
|
6
6
|
import { Box as T, Skeleton as F } from "@mui/material";
|
|
@@ -9,8 +9,8 @@ import "@mui/icons-material";
|
|
|
9
9
|
import { useRef as V, useEffect as _ } from "react";
|
|
10
10
|
import "react-markdown";
|
|
11
11
|
import "html2canvas";
|
|
12
|
-
import "../lasso-tool-
|
|
13
|
-
import "../cjs-
|
|
12
|
+
import "../lasso-tool-BwRzEW7k.js";
|
|
13
|
+
import "../cjs-D4KH3azB.js";
|
|
14
14
|
import "@dnd-kit/core";
|
|
15
15
|
import "@dnd-kit/sortable";
|
|
16
16
|
import "@dnd-kit/utilities";
|
|
@@ -129,7 +129,7 @@ const G = {
|
|
|
129
129
|
function nt() {
|
|
130
130
|
const e = h(1);
|
|
131
131
|
let t;
|
|
132
|
-
return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ f(T, { sx: G.row, "aria-label": "Spread skeleton", children: /* @__PURE__ */ f(F, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
|
|
132
|
+
return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ f(T, { sx: G.row, "aria-label": "Spread skeleton", children: /* @__PURE__ */ f(F, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
|
|
133
133
|
}
|
|
134
134
|
function lt({
|
|
135
135
|
refUI: e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spread.js","sources":["../../src/widgets/spread/components/separator.tsx","../../src/widgets/spread/components/min-value.tsx","../../src/widgets/spread/components/max-value.tsx","../../src/widgets/spread/spread-ui.tsx","../../src/widgets/spread/style.ts","../../src/widgets/spread/skeleton.tsx","../../src/widgets/spread/config.ts"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n min: widget?.data[index]?.min,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n max: widget?.data[index]?.max,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\nimport { useEffect, useRef } from 'react'\nimport { useWidgetStore } from '../stores'\nimport { Box } from '@mui/material'\n\nexport function SpreadUI(props: SpreadUIProps) {\n const ref = useRef<HTMLElement | null>(null)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n useEffect(() => {\n if (ref.current) {\n setWidget(props.id, { refUI: ref })\n }\n }, [props.id, setWidget])\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(0.25),\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function SpreadSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\nimport type { SeriesConfig } from '../formula/types'\n\nexport interface SpreadConfigProps {\n formatter?: (value: number) => string\n series?: SeriesConfig[]\n}\n\nexport function spreadDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<SpreadWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = data.map((item) => [item.min, item.max])\n\n return downloadToCSV.modifier([['Min', 'Max'], ...rows])\n },\n },\n ]\n}\n\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","defaultFormatter","value","toString","MinValue","id","t1","index","undefined","t2","state","widget","getWidget","min","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","MaxValue","max","SpreadUI","ref","useRef","setWidget","_temp","current","refUI","useEffect","jsxs","Fragment","Series","Prefix","Suffix","Box","Row","store","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","downloadToPNG","modifier","downloadToCSV","rows","map","item","spreadConfig","series"],"mappings":";;;;;;;;;;;;;;;;;AAGO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,SAAAD,KACEG,IAAA,gBAAAC,EAACC,GAAA,EAAI,GAAKL,GAAO,UAAA,KAAC,GAAOC,OAAAD,GAAAC,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAAzBE;AAAyB;ACClC,MAAMG,IAAmBA,CAACC,MAAkBA,EAAMC,SAAAA;AAE3C,SAAAC,EAAAN,GAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAAQ,GAAAV,GAAAW;AAAA,EAAAV,SAAAE,KAAkB;AAAA,IAAAO,IAAAA;AAAAA,IAAAE,OAAAD;AAAAA,IAAA,GAAAX;AAAAA,EAAAA,IAAAG,GAAuCF,OAAAE,GAAAF,OAAAS,GAAAT,OAAAD,GAAAC,OAAAU,MAAAD,IAAAT,EAAA,CAAA,GAAAD,IAAAC,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA;AAAjC,QAAAW,IAAAD,MAAAE,SAAA,IAAAF;AAAS,MAAAG;AAAA,EAAAb,EAAA,CAAA,MAAAS,KAAAT,SAAAW,KAMzBE,IAAAC,CAAAA,MAAA;AACT,UAAAC,IAAeD,EAAKE,UAA8BP,CAAE;AAAC,WAC9C;AAAA,MAAAQ,KACAF,GAAMG,KAAOP,CAAK,GAAMM;AAAAA,MAAAE,OACtBJ,GAAMG,KAAOP,CAAK,GAAQQ;AAAAA,MAAAC,WACtBL,GAAMK;AAAAA,IAAAA;AAAAA,EAClB,GACFpB,OAAAS,GAAAT,OAAAW,GAAAX,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAZH,QAAA;AAAA,IAAAiB,KAAAA;AAAAA,IAAAE,OAAAA;AAAAA,IAAAC,WAAAC;AAAAA,EAAAA,IAIIC,EACFC,EAAWV,CAOV,CACH,GAVEO,IAAAC,MAAAT,SAAAP,IAAAgB;AAA4B,MAAAG;AAAA,EAAAxB,SAAAmB,KAaLK,IAAA;AAAA,IAAAL,OAAAA;AAAAA,EAAAA,GAASnB,OAAAmB,GAAAnB,OAAAwB,KAAAA,IAAAxB,EAAA,CAAA;AACnB,QAAAyB,IAAAR,KAAA;AAAQ,MAAAS;AAAA,EAAA1B,EAAA,CAAA,MAAAoB,KAAApB,UAAAyB,KAAlBC,IAAAN,EAAUK,CAAQ,GAACzB,OAAAoB,GAAApB,QAAAyB,GAAAzB,QAAA0B,KAAAA,IAAA1B,EAAA,EAAA;AAAA,MAAA2B;AAAA,SAAA3B,EAAA,EAAA,MAAAD,KAAAC,UAAAwB,KAAAxB,EAAA,EAAA,MAAA0B,KADtBC,sBAACvB,GAAA,EAAsB,iBAAAoB,GAAS,GAAMzB,GACnC2B,UAAAA,GACH,GAAO1B,QAAAD,GAAAC,QAAAwB,GAAAxB,QAAA0B,GAAA1B,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GAFP2B;AAEO;ACrBX,MAAMtB,IAAmBA,CAACC,MAAkBA,EAAMC,SAAAA;AAE3C,SAAAqB,EAAA1B,GAAA;AAAA,QAAAF,IAAAC,EAAA,EAAA;AAAA,MAAAQ,GAAAV,GAAAW;AAAA,EAAAV,SAAAE,KAAkB;AAAA,IAAAO,IAAAA;AAAAA,IAAAE,OAAAD;AAAAA,IAAA,GAAAX;AAAAA,EAAAA,IAAAG,GAAuCF,OAAAE,GAAAF,OAAAS,GAAAT,OAAAD,GAAAC,OAAAU,MAAAD,IAAAT,EAAA,CAAA,GAAAD,IAAAC,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA;AAAjC,QAAAW,IAAAD,MAAAE,SAAA,IAAAF;AAAS,MAAAG;AAAA,EAAAb,EAAA,CAAA,MAAAS,KAAAT,SAAAW,KAMzBE,IAAAC,CAAAA,MAAA;AACT,UAAAC,IAAeD,EAAKE,UAA8BP,CAAE;AAAC,WAC9C;AAAA,MAAAoB,KACAd,GAAMG,KAAOP,CAAK,GAAMkB;AAAAA,MAAAV,OACtBJ,GAAMG,KAAOP,CAAK,GAAQQ;AAAAA,MAAAC,WACtBL,GAAMK;AAAAA,IAAAA;AAAAA,EAClB,GACFpB,OAAAS,GAAAT,OAAAW,GAAAX,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAZH,QAAA;AAAA,IAAA6B,KAAAA;AAAAA,IAAAV,OAAAA;AAAAA,IAAAC,WAAAC;AAAAA,EAAAA,IAIIC,EACFC,EAAWV,CAOV,CACH,GAVEO,IAAAC,MAAAT,SAAAP,IAAAgB;AAA4B,MAAAG;AAAA,EAAAxB,SAAAmB,KAaLK,IAAA;AAAA,IAAAL,OAAAA;AAAAA,EAAAA,GAASnB,OAAAmB,GAAAnB,OAAAwB,KAAAA,IAAAxB,EAAA,CAAA;AACnB,QAAAyB,IAAAI,KAAA;AAAQ,MAAAH;AAAA,EAAA1B,EAAA,CAAA,MAAAoB,KAAApB,UAAAyB,KAAlBC,IAAAN,EAAUK,CAAQ,GAACzB,OAAAoB,GAAApB,QAAAyB,GAAAzB,QAAA0B,KAAAA,IAAA1B,EAAA,EAAA;AAAA,MAAA2B;AAAA,SAAA3B,EAAA,EAAA,MAAAD,KAAAC,UAAAwB,KAAAxB,EAAA,EAAA,MAAA0B,KADtBC,sBAACvB,GAAA,EAAsB,iBAAAoB,GAAS,GAAMzB,GACnC2B,UAAAA,GACH,GAAO1B,QAAAD,GAAAC,QAAAwB,GAAAxB,QAAA0B,GAAA1B,QAAA2B,KAAAA,IAAA3B,EAAA,EAAA,GAFP2B;AAEO;AChBJ,SAAAG,GAAA/B,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GACL8B,IAAYC,EAA2B,IAAI,GAC3CC,IAAkBX,EAAeY,CAA0B;AAAC,MAAAhC,GAAAQ;AAAA,EAAAV,SAAAD,EAAAU,MAAAT,SAAAiC,KAElD/B,IAAAA,MAAA;AACR,IAAI6B,EAAGI,WACLF,EAAUlC,EAAKU,IAAK;AAAA,MAAA2B,OAASL;AAAAA,IAAAA,CAAK;AAAA,EACnC,GACArB,KAACX,EAAKU,IAAKwB,CAAS,GAACjC,EAAA,CAAA,IAAAD,EAAAU,IAAAT,OAAAiC,GAAAjC,OAAAE,GAAAF,OAAAU,MAAAR,IAAAF,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA,IAJxBqC,EAAUnC,GAIPQ,CAAqB;AAAC,MAAAG;AAAA,EAAAb,EAAA,CAAA,MAAAD,EAAAU,MAKlBI,IAAAQ,CAAAA,MAAA;AAAC,UAAA;AAAA,MAAAV,OAAAA;AAAAA,IAAAA,IAAAU;AAAS,WACT,gBAAAiB,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAApC,EAACqC,GAAA,EAAW,IAAAzC,EAAKU,IAAYE,OAAAA,GAAK;AAAA,MAClC,gBAAAR,EAACsC,GAAA,EAAW,IAAA1C,EAAKU,IAAYE,OAAAA,GAAK;AAAA,MAClC,gBAAAR,EAACK,GAAA,EAAa,IAAAT,EAAKU,IAAYE,OAAAA,GAAK;AAAA,wBACnCb,GAAA,EAAS;AAAA,MACV,gBAAAK,EAACyB,GAAA,EAAa,IAAA7B,EAAKU,IAAYE,OAAAA,GAAK;AAAA,MACpC,gBAAAR,EAACuC,GAAA,EAAW,IAAA3C,EAAKU,IAAYE,OAAAA,EAAAA;OAAS;AAAA,EACrC,GACJX,EAAA,CAAA,IAAAD,EAAAU,IAAAT,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAqB;AAAA,SAAArB,SAAAD,EAAAU,MAAAT,SAAAa,KAXLQ,IAAA,gBAAAlB,EAACwC,KAASZ,KAAAA,GACR,UAAA,gBAAA5B,EAACyC,KAAQ,IAAA7C,EAAKU,IACXI,UAAAA,EAAAA,CAUH,EAAA,CACF,GAAMb,EAAA,CAAA,IAAAD,EAAAU,IAAAT,OAAAa,GAAAb,OAAAqB,KAAAA,IAAArB,EAAA,CAAA,GAbNqB;AAaM;AAxBH,SAAAa,EAAAW,GAAA;AAAA,SAEuCA,EAAKZ;AAAU;ACVtD,MAAMa,IAAS;AAAA,EAWpBC,KAAK;AAAA,IACHC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,KAAKA,CAACC,MAAiBA,EAAMC,QAAQ,IAAI;AAAA,IACzC,SAAS;AAAA,MACPC,WAAWA,CAACF,MAAiBA,EAAMC,QAAQ,CAAC;AAAA,IAAA;AAAA,EAC9C;AAEJ;AClBO,SAAAE,KAAA;AAAA,QAAAtD,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,SAAAF,EAAA,CAAA,MAAAuD,OAAAC,IAAA,2BAAA,KAEHtD,IAAA,gBAAAC,EAACwC,GAAA,EAAQ,IAAAG,EAAMC,KAAiB,cAAA,mBAC9B,UAAA,gBAAA5C,EAACsD,GAAA,EAAgB,OAAA,KAAa,QAAA,IAAE,GAClC,GAAMzD,OAAAE,KAAAA,IAAAF,EAAA,CAAA,GAFNE;AAEM;ACGH,SAASwD,GAAqB;AAAA,EACnCtB,OAAAA;AACW,GAAqC;AAChD,SAAO,CACL;AAAA,IACE,GAAGuB;AAAAA,IACHC,UAAUA,MAAMD,EAAcC,SAASxB,CAAK;AAAA,EAAA,GAE9C;AAAA,IACE,GAAGyB;AAAAA,IACHD,UAAU,OAAO1C,MAAS;AACxB,YAAM4C,IAAO5C,EAAK6C,IAAKC,CAAAA,MAAS,CAACA,EAAK/C,KAAK+C,EAAKnC,GAAG,CAAC;AAEpD,aAAOgC,EAAcD,SAAS,CAAC,CAAC,OAAO,KAAK,GAAG,GAAGE,CAAI,CAAC;AAAA,IACzD;AAAA,EAAA,CACD;AAEL;AAEO,SAASG,KAAmC;AACjD,SAAO;AAAA,IACLC,QAAQ,CAAA;AAAA,EAAA;AAEZ;"}
|
|
1
|
+
{"version":3,"file":"spread.js","sources":["../../src/widgets/spread/components/separator.tsx","../../src/widgets/spread/components/min-value.tsx","../../src/widgets/spread/components/max-value.tsx","../../src/widgets/spread/spread-ui.tsx","../../src/widgets/spread/style.ts","../../src/widgets/spread/skeleton.tsx","../../src/widgets/spread/config.ts"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n min: widget?.data[index]?.min,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n max: widget?.data[index]?.max,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\nimport { useEffect, useRef } from 'react'\nimport { useWidgetStore } from '../stores'\nimport { Box } from '@mui/material'\n\nexport function SpreadUI(props: SpreadUIProps) {\n const ref = useRef<HTMLElement | null>(null)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n useEffect(() => {\n if (ref.current) {\n setWidget(props.id, { refUI: ref })\n }\n }, [props.id, setWidget])\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(0.25),\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function SpreadSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../loader/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\nimport type { SeriesConfig } from '../formula/types'\n\nexport interface SpreadConfigProps {\n formatter?: (value: number) => string\n series?: SeriesConfig[]\n}\n\nexport function spreadDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<SpreadWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = data.map((item) => [item.min, item.max])\n\n return downloadToCSV.modifier([['Min', 'Max'], ...rows])\n },\n },\n ]\n}\n\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","defaultFormatter","value","toString","MinValue","id","t1","index","undefined","t2","state","widget","getWidget","min","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","MaxValue","max","SpreadUI","ref","useRef","setWidget","_temp","current","refUI","useEffect","jsxs","Fragment","Series","Prefix","Suffix","Box","Row","store","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","downloadToPNG","modifier","downloadToCSV","rows","map","item","spreadConfig","series"],"mappings":"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"}
|
package/dist/widgets/table.js
CHANGED
|
@@ -11,8 +11,8 @@ import { u as D } from "../widget-store-CB6Trp_0.js";
|
|
|
11
11
|
import { useShallow as j } from "zustand/shallow";
|
|
12
12
|
import "@mui/icons-material";
|
|
13
13
|
import { d as K, a as H } from "../exports-Cr43OCul.js";
|
|
14
|
-
import "../lasso-tool-
|
|
15
|
-
import "../cjs-
|
|
14
|
+
import "../lasso-tool-BwRzEW7k.js";
|
|
15
|
+
import "../cjs-D4KH3azB.js";
|
|
16
16
|
import "@dnd-kit/core";
|
|
17
17
|
import "@dnd-kit/sortable";
|
|
18
18
|
import "@dnd-kit/utilities";
|
|
@@ -28,7 +28,7 @@ function he(n) {
|
|
|
28
28
|
} = n;
|
|
29
29
|
if (r) {
|
|
30
30
|
let g;
|
|
31
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (g = {
|
|
31
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = {
|
|
32
32
|
"aria-label": "select all rows"
|
|
33
33
|
}, e[0] = g) : g = e[0];
|
|
34
34
|
let p;
|
|
@@ -208,28 +208,28 @@ function ne(n) {
|
|
|
208
208
|
}, e[8] = l, e[9] = r, e[10] = g) : g = e[10];
|
|
209
209
|
const p = g;
|
|
210
210
|
let P;
|
|
211
|
-
e[11] === Symbol.for("react.memo_cache_sentinel") ? (P = {
|
|
211
|
+
e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (P = {
|
|
212
212
|
flexShrink: 0,
|
|
213
213
|
ml: 2.5
|
|
214
214
|
}, e[11] = P) : P = e[11];
|
|
215
215
|
const b = o === 0;
|
|
216
216
|
let y;
|
|
217
|
-
e[12] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ m(fe, {}), e[12] = y) : y = e[12];
|
|
217
|
+
e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ m(fe, {}), e[12] = y) : y = e[12];
|
|
218
218
|
let d;
|
|
219
219
|
e[13] !== a || e[14] !== b ? (d = /* @__PURE__ */ m(U, { onClick: a, disabled: b, "aria-label": "first page", children: y }), e[13] = a, e[14] = b, e[15] = d) : d = e[15];
|
|
220
220
|
const C = o === 0;
|
|
221
221
|
let $;
|
|
222
|
-
e[16] === Symbol.for("react.memo_cache_sentinel") ? ($ = /* @__PURE__ */ m(ue, {}), e[16] = $) : $ = e[16];
|
|
222
|
+
e[16] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? ($ = /* @__PURE__ */ m(ue, {}), e[16] = $) : $ = e[16];
|
|
223
223
|
let k;
|
|
224
224
|
e[17] !== f || e[18] !== C ? (k = /* @__PURE__ */ m(U, { onClick: f, disabled: C, "aria-label": "previous page", children: $ }), e[17] = f, e[18] = C, e[19] = k) : k = e[19];
|
|
225
225
|
const w = o >= l;
|
|
226
226
|
let A;
|
|
227
|
-
e[20] === Symbol.for("react.memo_cache_sentinel") ? (A = /* @__PURE__ */ m(ge, {}), e[20] = A) : A = e[20];
|
|
227
|
+
e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = /* @__PURE__ */ m(ge, {}), e[20] = A) : A = e[20];
|
|
228
228
|
let T;
|
|
229
229
|
e[21] !== h || e[22] !== w ? (T = /* @__PURE__ */ m(U, { onClick: h, disabled: w, "aria-label": "next page", children: A }), e[21] = h, e[22] = w, e[23] = T) : T = e[23];
|
|
230
230
|
const v = o >= l;
|
|
231
231
|
let S;
|
|
232
|
-
e[24] === Symbol.for("react.memo_cache_sentinel") ? (S = /* @__PURE__ */ m(de, {}), e[24] = S) : S = e[24];
|
|
232
|
+
e[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = /* @__PURE__ */ m(de, {}), e[24] = S) : S = e[24];
|
|
233
233
|
let x;
|
|
234
234
|
e[25] !== p || e[26] !== v ? (x = /* @__PURE__ */ m(U, { onClick: p, disabled: v, "aria-label": "last page", children: S }), e[25] = p, e[26] = v, e[27] = x) : x = e[27];
|
|
235
235
|
let _;
|