@carto/ps-react-ui 4.4.2 → 4.4.3

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.
Files changed (65) hide show
  1. package/dist/download-config-Dqu78h2a.js +57 -0
  2. package/dist/download-config-Dqu78h2a.js.map +1 -0
  3. package/dist/formatter-B9Bxn1k7.js +6 -0
  4. package/dist/formatter-B9Bxn1k7.js.map +1 -0
  5. package/dist/styles-Y8q7Jff3.js +118 -0
  6. package/dist/styles-Y8q7Jff3.js.map +1 -0
  7. package/dist/types/widgets/actions/brush-toggle/types.d.ts +8 -2
  8. package/dist/types/widgets/category/components/category-row-multi.d.ts +2 -1
  9. package/dist/types/widgets/category/components/category-row-single.d.ts +2 -1
  10. package/dist/types/widgets/category/types.d.ts +1 -0
  11. package/dist/types/widgets/echart/types.d.ts +2 -0
  12. package/dist/types/widgets/histogram/config.d.ts +15 -3
  13. package/dist/types/widgets/histogram/index.d.ts +2 -1
  14. package/dist/types/widgets/histogram/types.d.ts +6 -3
  15. package/dist/types/widgets/stores/types.d.ts +2 -0
  16. package/dist/types/widgets/utils/chart-config/index.d.ts +1 -1
  17. package/dist/types/widgets/utils/chart-config/option-builders.d.ts +13 -8
  18. package/dist/types/widgets/utils/formatter.d.ts +1 -0
  19. package/dist/types/widgets/utils/index.d.ts +1 -1
  20. package/dist/widgets/actions.js +455 -439
  21. package/dist/widgets/actions.js.map +1 -1
  22. package/dist/widgets/bar.js +52 -46
  23. package/dist/widgets/bar.js.map +1 -1
  24. package/dist/widgets/category.js +206 -197
  25. package/dist/widgets/category.js.map +1 -1
  26. package/dist/widgets/formula.js +1 -1
  27. package/dist/widgets/histogram.js +119 -79
  28. package/dist/widgets/histogram.js.map +1 -1
  29. package/dist/widgets/pie.js +110 -98
  30. package/dist/widgets/pie.js.map +1 -1
  31. package/dist/widgets/range.js +1 -1
  32. package/dist/widgets/scatterplot.js +49 -43
  33. package/dist/widgets/scatterplot.js.map +1 -1
  34. package/dist/widgets/spread.js +1 -1
  35. package/dist/widgets/timeseries.js +51 -45
  36. package/dist/widgets/timeseries.js.map +1 -1
  37. package/dist/widgets/toolbar-actions.js +101 -6693
  38. package/dist/widgets/toolbar-actions.js.map +1 -1
  39. package/dist/widgets/utils.js +16 -14
  40. package/dist/widgets/utils.js.map +1 -1
  41. package/package.json +5 -4
  42. package/src/widgets/README.md +3 -3
  43. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +42 -47
  44. package/src/widgets/actions/brush-toggle/types.ts +8 -2
  45. package/src/widgets/bar/config.ts +22 -14
  46. package/src/widgets/category/category-ui.tsx +9 -1
  47. package/src/widgets/category/components/category-row-multi.tsx +6 -2
  48. package/src/widgets/category/components/category-row-single.tsx +5 -1
  49. package/src/widgets/category/types.ts +1 -0
  50. package/src/widgets/echart/types.ts +2 -0
  51. package/src/widgets/histogram/config.ts +101 -20
  52. package/src/widgets/histogram/index.ts +6 -1
  53. package/src/widgets/histogram/types.ts +9 -3
  54. package/src/widgets/pie/config.ts +17 -5
  55. package/src/widgets/scatterplot/config.ts +8 -3
  56. package/src/widgets/stores/types.ts +2 -0
  57. package/src/widgets/timeseries/config.ts +21 -13
  58. package/src/widgets/utils/chart-config/index.ts +1 -1
  59. package/src/widgets/utils/chart-config/option-builders.ts +22 -12
  60. package/src/widgets/utils/formatter.ts +2 -1
  61. package/src/widgets/utils/index.ts +1 -1
  62. package/dist/formatter-B1Xh8XDH.js +0 -5
  63. package/dist/formatter-B1Xh8XDH.js.map +0 -1
  64. package/dist/styles-C_8vOEep.js +0 -167
  65. package/dist/styles-C_8vOEep.js.map +0 -1
@@ -1,48 +1,54 @@
1
- import { jsxs as h, jsx as c } from "react/jsx-runtime";
2
- import { c as I } from "react/compiler-runtime";
1
+ import { jsxs as x, jsx as p } from "react/jsx-runtime";
2
+ import { c as C } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
5
  import "../widget-store-CzDt8oSK.js";
6
6
  import "zustand/shallow";
7
- import { g as C } from "../options-D9wflre6.js";
7
+ import { g as L } from "../options-D9wflre6.js";
8
8
  import { m as N } from "../utils-BOhInag6.js";
9
- import { g as j, h as y, i as L, n as b, d as v, e as _, j as A, c as O } from "../styles-C_8vOEep.js";
10
- import { Box as m, Skeleton as u } from "@mui/material";
11
- const K = j(A);
12
- function Q(e) {
9
+ import { c as j, f as A } from "../download-config-Dqu78h2a.js";
10
+ import { g as b, h as O, n as v, d as S, e as _, c as T } from "../styles-Y8q7Jff3.js";
11
+ import { Box as h, Skeleton as f } from "@mui/material";
12
+ const Y = j(A);
13
+ function F(e) {
13
14
  return {
14
15
  type: "pie",
15
- option: N(C(e), T(e)),
16
- formatter: e.formatter
16
+ option: N(L(e), z(e)),
17
+ formatter: e.formatter,
18
+ labelFormatter: e.labelFormatter
17
19
  };
18
20
  }
19
- function T({
21
+ function z({
20
22
  data: e = [],
21
- theme: t,
22
- formatter: o
23
+ theme: n,
24
+ formatter: r,
25
+ labelFormatter: o
23
26
  }) {
24
27
  if ((e?.length ?? 0) > 1) {
25
28
  let i = 0, l = 1;
26
29
  return {
27
- legend: _(!0),
30
+ legend: _({
31
+ hasLegend: !0,
32
+ labelFormatter: o
33
+ }),
28
34
  grid: {
29
- ...v(!0, t),
30
- right: parseInt(t.spacing(4))
35
+ ...S(!0, n),
36
+ right: parseInt(n.spacing(4))
31
37
  },
32
38
  xAxis: {
33
39
  type: "value",
34
- min: (n) => (i = n.min < 0 ? b(n.min) : 0, i),
35
- max: (n) => (l = n.max <= 0 ? 1 : b(n.max), l),
40
+ min: (t) => (i = t.min < 0 ? v(t.min) : 0, i),
41
+ max: (t) => (l = t.max <= 0 ? 1 : v(t.max), l),
36
42
  axisLabel: {
37
- fontSize: t.typography.overlineDelicate.fontSize,
38
- fontFamily: t.typography.overlineDelicate.fontFamily,
39
- margin: parseInt(t.spacing(1)),
43
+ fontSize: n.typography.overlineDelicate.fontSize,
44
+ fontFamily: n.typography.overlineDelicate.fontFamily,
45
+ margin: parseInt(n.spacing(1)),
40
46
  show: !0,
41
47
  showMaxLabel: !0,
42
48
  showMinLabel: !0,
43
49
  verticalAlign: "bottom",
44
50
  inside: !0,
45
- formatter: (n) => n !== l && n !== i || n === 0 ? "" : o ? o(n) : String(n)
51
+ formatter: (t) => t !== l && t !== i || t === 0 ? "" : r ? r(t) : String(t)
46
52
  },
47
53
  axisLine: {
48
54
  show: !1
@@ -53,7 +59,7 @@ function T({
53
59
  splitLine: {
54
60
  show: !0,
55
61
  lineStyle: {
56
- color: t.palette.black[4]
62
+ color: n.palette.black[4]
57
63
  }
58
64
  }
59
65
  },
@@ -66,23 +72,26 @@ function T({
66
72
  show: !1
67
73
  },
68
74
  axisLabel: {
69
- padding: [parseInt(t.spacing(0.5)), 0, 0, 0]
75
+ padding: [parseInt(n.spacing(0.5)), 0, 0, 0],
76
+ ...o && {
77
+ formatter: (t) => String(o(t))
78
+ }
70
79
  }
71
80
  },
72
81
  tooltip: {
73
- position: L(t),
74
- formatter: y((n) => {
75
- const r = n.value, p = n.dimensionNames?.[n.encode?.x?.at(0) ?? 1], a = r[p ?? ""], g = typeof a == "number" && o ? o(a) : a ?? "", d = typeof n.marker == "string" ? n.marker : "", k = n.seriesName ? `${n.seriesName}: ` : "";
82
+ position: O(n),
83
+ formatter: b((t) => {
84
+ const s = t.value, u = t.dimensionNames?.[t.encode?.x?.at(0) ?? 1], a = s[u ?? ""], d = typeof a == "number" && r ? r(a) : a ?? "", m = typeof t.marker == "string" ? t.marker : "", I = t.seriesName ? `${t.seriesName}: ` : "";
76
85
  return {
77
- name: n.name ?? "",
78
- seriesName: k,
79
- marker: d,
80
- value: g
86
+ name: o ? String(o(t.name ?? "")) : t.name ?? "",
87
+ seriesName: I,
88
+ marker: m,
89
+ value: d
81
90
  };
82
91
  })
83
92
  },
84
- series: e.map((n, r) => ({
85
- datasetIndex: r,
93
+ series: e.map((t, s) => ({
94
+ datasetIndex: s,
86
95
  type: "bar",
87
96
  barMaxWidth: 100,
88
97
  emphasis: {
@@ -91,11 +100,14 @@ function T({
91
100
  }))
92
101
  };
93
102
  }
94
- const s = !0;
103
+ const c = !0;
95
104
  return {
96
- legend: _(s),
105
+ legend: _({
106
+ hasLegend: c,
107
+ labelFormatter: o
108
+ }),
97
109
  grid: {
98
- ...v(s, t),
110
+ ...S(c, n),
99
111
  left: 0,
100
112
  top: 0,
101
113
  right: 0
@@ -108,17 +120,17 @@ function T({
108
120
  },
109
121
  tooltip: {
110
122
  trigger: "item",
111
- formatter: y((i) => {
112
- const l = i.value && typeof i.value == "object" && !Array.isArray(i.value) ? Object.values(i.value) : [], n = i.encode?.value?.at(0), r = l[n ?? 0], p = typeof r == "number" && o ? o(r) : r ?? "", a = typeof i.marker == "string" ? i.marker : "", g = i.seriesName ? `${i.seriesName}: ` : "", d = i.name ?? "";
123
+ formatter: b((i) => {
124
+ const l = i.value && typeof i.value == "object" && !Array.isArray(i.value) ? Object.values(i.value) : [], t = i.encode?.value?.at(0), s = l[t ?? 0], u = typeof s == "number" && r ? r(s) : s ?? "", a = typeof i.marker == "string" ? i.marker : "", d = i.seriesName ? `${i.seriesName}: ` : "", m = o ? String(o(i.name ?? "")) : i.name ?? "";
113
125
  return {
114
- name: g,
115
- seriesName: d,
126
+ name: d,
127
+ seriesName: m,
116
128
  marker: a,
117
- value: p
129
+ value: u
118
130
  };
119
131
  })
120
132
  },
121
- color: Object.values(t.palette.qualitative.bold),
133
+ color: Object.values(n.palette.qualitative.bold),
122
134
  series: e.map((i, l) => ({
123
135
  datasetIndex: l,
124
136
  type: "pie",
@@ -126,20 +138,20 @@ function T({
126
138
  radius: ["74%", "90%"],
127
139
  avoidLabelOverlap: !0,
128
140
  selectedOffset: 0,
129
- bottom: parseInt(t.spacing(4)),
141
+ bottom: parseInt(n.spacing(4)),
130
142
  label: {
131
143
  show: !0,
132
144
  position: "center",
133
- formatter: (n) => {
145
+ formatter: (t) => {
134
146
  const {
135
- name: r
136
- } = n, p = n.encode?.value?.[0];
137
- if (p === void 0)
147
+ name: s
148
+ } = t, u = t.encode?.value?.[0];
149
+ if (u === void 0)
138
150
  return "";
139
- const a = Object.values(n.data ?? {}).at(p);
140
- return `{c|${typeof a == "number" && o ? o(a) : a ?? ""}}
151
+ const a = Object.values(t.data ?? {}).at(u), d = typeof a == "number" && r ? r(a) : a ?? "", m = o ? String(o(s ?? "")) : s ?? "";
152
+ return `{c|${d}}
141
153
 
142
- {b|${r}}`;
154
+ {b|${m}}`;
143
155
  },
144
156
  rich: {
145
157
  b: {
@@ -158,96 +170,96 @@ function T({
158
170
  disabled: !0
159
171
  },
160
172
  itemStyle: {
161
- borderColor: t.palette.background.paper,
173
+ borderColor: n.palette.background.paper,
162
174
  borderWidth: 1
163
175
  }
164
176
  }))
165
177
  };
166
178
  }
167
- const z = {
179
+ const $ = {
168
180
  skeleton: {
169
- graph: O.graph
181
+ graph: T.graph
170
182
  }
171
- }, w = 32, x = 294 - w, S = x - w;
172
- function X() {
173
- const e = I(5);
174
- let t, o;
175
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = {
183
+ }, k = 32, y = 294 - k, w = y - k;
184
+ function ee() {
185
+ const e = C(5);
186
+ let n, r;
187
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (n = {
176
188
  display: "flex",
177
189
  alignItems: "center",
178
190
  justifyContent: "center",
179
191
  position: "relative"
180
- }, o = /* @__PURE__ */ c(u, { variant: "circular", width: x, height: x }), e[0] = t, e[1] = o) : (t = e[0], o = e[1]);
181
- let f;
182
- e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ c(u, { sx: {
192
+ }, r = /* @__PURE__ */ p(f, { variant: "circular", width: y, height: y }), e[0] = n, e[1] = r) : (n = e[0], r = e[1]);
193
+ let o;
194
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ p(f, { sx: {
183
195
  position: "absolute",
184
196
  zIndex: 1
185
- }, variant: "circular", width: S, height: S }), e[2] = f) : f = e[2];
186
- let s;
187
- e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ h(m, { sx: t, children: [
197
+ }, variant: "circular", width: w, height: w }), e[2] = o) : o = e[2];
198
+ let g;
199
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ x(h, { sx: n, children: [
200
+ r,
188
201
  o,
189
- f,
190
- /* @__PURE__ */ h(m, { sx: {
202
+ /* @__PURE__ */ x(h, { sx: {
191
203
  position: "absolute",
192
204
  zIndex: 2,
193
205
  display: "flex",
194
206
  flexDirection: "column",
195
207
  alignItems: "center",
196
208
  justifyContent: "center",
197
- gap: M
209
+ gap: V
198
210
  }, children: [
199
- /* @__PURE__ */ c(u, { height: 24, width: 72 }),
200
- /* @__PURE__ */ c(u, { height: 8, width: 48 })
211
+ /* @__PURE__ */ p(f, { height: 24, width: 72 }),
212
+ /* @__PURE__ */ p(f, { height: 8, width: 48 })
201
213
  ] })
202
- ] }), e[3] = s) : s = e[3];
203
- let i;
204
- return e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ h(m, { sx: z.skeleton.graph.container, children: [
205
- s,
206
- /* @__PURE__ */ c(m, { sx: {
214
+ ] }), e[3] = g) : g = e[3];
215
+ let c;
216
+ return e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c = /* @__PURE__ */ x(h, { sx: $.skeleton.graph.container, children: [
217
+ g,
218
+ /* @__PURE__ */ p(h, { sx: {
207
219
  display: "flex",
208
220
  alignItems: "center",
209
- gap: F,
210
- height: E
211
- }, children: Array(2).fill(0).map($) })
212
- ] }), e[4] = i) : i = e[4], i;
221
+ gap: W,
222
+ height: M
223
+ }, children: Array(2).fill(0).map(D) })
224
+ ] }), e[4] = c) : c = e[4], c;
213
225
  }
214
- function $(e, t) {
215
- return /* @__PURE__ */ h(m, { sx: {
226
+ function D(e, n) {
227
+ return /* @__PURE__ */ x(h, { sx: {
216
228
  display: "flex",
217
229
  alignItems: "center",
218
- gap: D
230
+ gap: E
219
231
  }, children: [
220
- /* @__PURE__ */ c(u, { variant: "circular", width: 8, height: 8 }),
221
- /* @__PURE__ */ c(u, { width: 48, height: 8 })
222
- ] }, `skeleton-${t}`);
232
+ /* @__PURE__ */ p(f, { variant: "circular", width: 8, height: 8 }),
233
+ /* @__PURE__ */ p(f, { width: 48, height: 8 })
234
+ ] }, `skeleton-${n}`);
223
235
  }
224
- function D(e) {
236
+ function E(e) {
225
237
  const {
226
- spacing: t
238
+ spacing: n
227
239
  } = e;
228
- return t(1.5);
240
+ return n(1.5);
229
241
  }
230
- function E(e) {
242
+ function M(e) {
231
243
  const {
232
- spacing: t
244
+ spacing: n
233
245
  } = e;
234
- return t(5);
246
+ return n(5);
235
247
  }
236
- function F(e) {
248
+ function W(e) {
237
249
  const {
238
- spacing: t
250
+ spacing: n
239
251
  } = e;
240
- return t(2);
252
+ return n(2);
241
253
  }
242
- function M(e) {
254
+ function V(e) {
243
255
  const {
244
- spacing: t
256
+ spacing: n
245
257
  } = e;
246
- return t(1);
258
+ return n(1);
247
259
  }
248
260
  export {
249
- X as PieSkeleton,
250
- Q as pieConfig,
251
- K as pieDownloadConfig
261
+ ee as PieSkeleton,
262
+ F as pieConfig,
263
+ Y as pieDownloadConfig
252
264
  };
253
265
  //# sourceMappingURL=pie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pie.js","sources":["../../src/widgets/pie/config.ts","../../src/widgets/pie/style.ts","../../src/widgets/pie/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { PieConfig, PieWidgetConfig, PieWidgetData } from './types'\nimport {\n buildGridConfig,\n buildLegendConfig,\n flattenObjectArrayToCSV,\n createTooltipPositioner,\n createTooltipFormatter,\n createChartDownloadConfig,\n niceNum,\n} from '../utils/chart-config'\n\nexport const pieDownloadConfig = createChartDownloadConfig<PieWidgetData>(\n flattenObjectArrayToCSV,\n)\n\n/**\n * Generates ECharts configuration for pie and donut chart widgets. Falls back to a horizontal bar layout when multiple data series are provided.\n *\n * @param props - Pie chart configuration including data and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function pieConfig(props: PieConfig): PieWidgetConfig {\n return {\n type: 'pie',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: PieConfig): EchartOptionsProps {\n const multiSeries = (data?.length ?? 0) > 1\n\n if (multiSeries) {\n let niceMin = 0\n let niceMax = 1\n\n return {\n legend: buildLegendConfig(true),\n grid: {\n ...buildGridConfig(true, theme),\n right: parseInt(theme.spacing(4)),\n },\n xAxis: {\n type: 'value',\n min: (extent: { min: number }) => {\n niceMin = extent.min < 0 ? niceNum(extent.min) : 0\n return niceMin\n },\n max: (extent: { min: number; max: number }) => {\n niceMax = extent.max <= 0 ? 1 : niceNum(extent.max)\n return niceMax\n },\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 inside: true,\n formatter: (value: number) => {\n if (value !== niceMax && value !== niceMin) return ''\n if (value === 0) return ''\n return formatter ? formatter(value) : String(value)\n },\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 yAxis: {\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 },\n },\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?.x?.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 }\n }\n\n const hasLegend = true\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...buildGridConfig(hasLegend, theme),\n left: 0,\n top: 0,\n right: 0,\n },\n xAxis: {\n show: false,\n },\n yAxis: {\n show: false,\n },\n tooltip: {\n trigger: 'item',\n formatter: createTooltipFormatter((item) => {\n const value =\n item.value &&\n typeof item.value === 'object' &&\n !Array.isArray(item.value)\n ? (Object.values(item.value) as (string | number)[])\n : []\n const index = item.encode?.value?.at(0)\n const _value = value[index ?? 0]\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 {\n name: seriesName,\n seriesName: name,\n marker,\n value: formattedValue,\n }\n }),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'pie',\n colorBy: 'data',\n radius: ['74%', '90%'],\n avoidLabelOverlap: true,\n selectedOffset: 0,\n bottom: parseInt(theme.spacing(4)),\n\n label: {\n show: true,\n position: 'center',\n formatter: (params) => {\n const { name } = params\n const encodeIndex = params.encode?.value?.[0]\n if (encodeIndex === undefined) {\n return ''\n }\n\n const value = Object.values(params.data ?? {}).at(encodeIndex) as\n | number\n | string\n\n const formattedValue =\n typeof value === 'number' && formatter\n ? formatter(value)\n : (value ?? '')\n\n const nameFormatted = name\n\n return `{c|${formattedValue}}\\n\\n{b|${nameFormatted}}`\n },\n rich: {\n b: {\n fontSize: 16,\n fontWeight: 'normal',\n lineHeight: 20,\n },\n c: {\n fontSize: 28,\n fontWeight: 'bold',\n lineHeight: 27,\n },\n },\n },\n emphasis: {\n disabled: true,\n },\n itemStyle: {\n borderColor: theme.palette.background.paper,\n borderWidth: 1,\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../utils/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\nconst GUTTER = 32\nconst SIZE = 294 - GUTTER\nconst INNER_SIZE = SIZE - GUTTER\n\nexport function PieSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <Skeleton variant='circular' width={SIZE} height={SIZE} />\n <Skeleton\n sx={{\n position: 'absolute',\n zIndex: 1,\n }}\n variant='circular'\n width={INNER_SIZE}\n height={INNER_SIZE}\n />\n <Box\n sx={{\n position: 'absolute',\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: ({ spacing }) => spacing(1),\n }}\n >\n <Skeleton height={24} width={72} />\n <Skeleton height={8} width={48} />\n </Box>\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={`skeleton-${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":["pieDownloadConfig","createChartDownloadConfig","flattenObjectArrayToCSV","pieConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","formatter","data","theme","length","niceMin","niceMax","legend","buildLegendConfig","grid","buildGridConfig","right","parseInt","spacing","xAxis","min","extent","niceNum","max","axisLabel","fontSize","typography","overlineDelicate","fontFamily","margin","show","showMaxLabel","showMinLabel","verticalAlign","inside","value","String","axisLine","axisTick","splitLine","lineStyle","color","palette","black","yAxis","padding","tooltip","position","createTooltipPositioner","createTooltipFormatter","item","index","dimensionNames","encode","x","at","_value","formattedValue","marker","seriesName","name","series","map","_","datasetIndex","barMaxWidth","emphasis","focus","hasLegend","left","top","trigger","Array","isArray","Object","values","qualitative","bold","colorBy","radius","avoidLabelOverlap","selectedOffset","bottom","label","params","encodeIndex","undefined","rich","b","fontWeight","lineHeight","c","disabled","itemStyle","borderColor","background","paper","borderWidth","styles","skeleton","graph","baseSkeletonStyles","GUTTER","SIZE","INNER_SIZE","PieSkeleton","$","_c","t0","t1","Symbol","for","display","alignItems","justifyContent","Skeleton","t2","jsx","zIndex","t3","Box","jsxs","flexDirection","gap","_temp","t4","container","_temp2","height","_temp3","fill","_temp5","i","_temp4","spacing_2","spacing_1","spacing_0"],"mappings":"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"}
1
+ {"version":3,"file":"pie.js","sources":["../../src/widgets/pie/config.ts","../../src/widgets/pie/style.ts","../../src/widgets/pie/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { PieConfig, PieWidgetConfig, PieWidgetData } from './types'\nimport {\n buildGridConfig,\n buildLegendConfig,\n flattenObjectArrayToCSV,\n createTooltipPositioner,\n createTooltipFormatter,\n createChartDownloadConfig,\n niceNum,\n} from '../utils/chart-config'\n\nexport const pieDownloadConfig = createChartDownloadConfig<PieWidgetData>(\n flattenObjectArrayToCSV,\n)\n\n/**\n * Generates ECharts configuration for pie and donut chart widgets. Falls back to a horizontal bar layout when multiple data series are provided.\n *\n * @param props - Pie chart configuration including data and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function pieConfig(props: PieConfig): PieWidgetConfig {\n return {\n type: 'pie',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n labelFormatter: props.labelFormatter,\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n labelFormatter,\n}: PieConfig): EchartOptionsProps {\n const multiSeries = (data?.length ?? 0) > 1\n\n if (multiSeries) {\n let niceMin = 0\n let niceMax = 1\n\n return {\n legend: buildLegendConfig({ hasLegend: true, labelFormatter }),\n grid: {\n ...buildGridConfig(true, theme),\n right: parseInt(theme.spacing(4)),\n },\n xAxis: {\n type: 'value',\n min: (extent: { min: number }) => {\n niceMin = extent.min < 0 ? niceNum(extent.min) : 0\n return niceMin\n },\n max: (extent: { min: number; max: number }) => {\n niceMax = extent.max <= 0 ? 1 : niceNum(extent.max)\n return niceMax\n },\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 inside: true,\n formatter: (value: number) => {\n if (value !== niceMax && value !== niceMin) return ''\n if (value === 0) return ''\n return formatter ? formatter(value) : String(value)\n },\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 yAxis: {\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 ...(labelFormatter && {\n formatter: (value: string | number) =>\n String(labelFormatter(value)),\n }),\n },\n },\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?.x?.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 = labelFormatter\n ? String(labelFormatter(item.name ?? ''))\n : (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 }\n }\n\n const hasLegend = true\n\n return {\n legend: buildLegendConfig({ hasLegend, labelFormatter }),\n grid: {\n ...buildGridConfig(hasLegend, theme),\n left: 0,\n top: 0,\n right: 0,\n },\n xAxis: {\n show: false,\n },\n yAxis: {\n show: false,\n },\n tooltip: {\n trigger: 'item',\n formatter: createTooltipFormatter((item) => {\n const value =\n item.value &&\n typeof item.value === 'object' &&\n !Array.isArray(item.value)\n ? (Object.values(item.value) as (string | number)[])\n : []\n const index = item.encode?.value?.at(0)\n const _value = value[index ?? 0]\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 = labelFormatter\n ? String(labelFormatter(item.name ?? ''))\n : (item.name ?? '')\n\n return {\n name: seriesName,\n seriesName: name,\n marker,\n value: formattedValue,\n }\n }),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'pie',\n colorBy: 'data',\n radius: ['74%', '90%'],\n avoidLabelOverlap: true,\n selectedOffset: 0,\n bottom: parseInt(theme.spacing(4)),\n\n label: {\n show: true,\n position: 'center',\n formatter: (params) => {\n const { name } = params\n const encodeIndex = params.encode?.value?.[0]\n if (encodeIndex === undefined) {\n return ''\n }\n\n const value = Object.values(params.data ?? {}).at(encodeIndex) as\n | number\n | string\n\n const formattedValue =\n typeof value === 'number' && formatter\n ? formatter(value)\n : (value ?? '')\n\n const nameFormatted = labelFormatter\n ? String(labelFormatter(name ?? ''))\n : (name ?? '')\n\n return `{c|${formattedValue}}\\n\\n{b|${nameFormatted}}`\n },\n rich: {\n b: {\n fontSize: 16,\n fontWeight: 'normal',\n lineHeight: 20,\n },\n c: {\n fontSize: 28,\n fontWeight: 'bold',\n lineHeight: 27,\n },\n },\n },\n emphasis: {\n disabled: true,\n },\n itemStyle: {\n borderColor: theme.palette.background.paper,\n borderWidth: 1,\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../utils/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\nconst GUTTER = 32\nconst SIZE = 294 - GUTTER\nconst INNER_SIZE = SIZE - GUTTER\n\nexport function PieSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <Skeleton variant='circular' width={SIZE} height={SIZE} />\n <Skeleton\n sx={{\n position: 'absolute',\n zIndex: 1,\n }}\n variant='circular'\n width={INNER_SIZE}\n height={INNER_SIZE}\n />\n <Box\n sx={{\n position: 'absolute',\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: ({ spacing }) => spacing(1),\n }}\n >\n <Skeleton height={24} width={72} />\n <Skeleton height={8} width={48} />\n </Box>\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={`skeleton-${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":["pieDownloadConfig","createChartDownloadConfig","flattenObjectArrayToCSV","pieConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","formatter","labelFormatter","data","theme","length","niceMin","niceMax","legend","buildLegendConfig","hasLegend","grid","buildGridConfig","right","parseInt","spacing","xAxis","min","extent","niceNum","max","axisLabel","fontSize","typography","overlineDelicate","fontFamily","margin","show","showMaxLabel","showMinLabel","verticalAlign","inside","value","String","axisLine","axisTick","splitLine","lineStyle","color","palette","black","yAxis","padding","tooltip","position","createTooltipPositioner","createTooltipFormatter","item","index","dimensionNames","encode","x","at","_value","formattedValue","marker","seriesName","name","series","map","_","datasetIndex","barMaxWidth","emphasis","focus","left","top","trigger","Array","isArray","Object","values","qualitative","bold","colorBy","radius","avoidLabelOverlap","selectedOffset","bottom","label","params","encodeIndex","undefined","nameFormatted","rich","b","fontWeight","lineHeight","c","disabled","itemStyle","borderColor","background","paper","borderWidth","styles","skeleton","graph","baseSkeletonStyles","GUTTER","SIZE","INNER_SIZE","PieSkeleton","$","_c","t0","t1","Symbol","for","display","alignItems","justifyContent","Skeleton","t2","jsx","zIndex","t3","Box","jsxs","flexDirection","gap","_temp","t4","container","_temp2","height","_temp3","fill","_temp5","i","_temp4","spacing_2","spacing_1","spacing_0"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { Box as E, Slider as te, TextField as ne, Skeleton as H } from "@mui/mat
5
5
  import { useState as X } from "react";
6
6
  import { u as $ } from "../widget-store-CzDt8oSK.js";
7
7
  import { useShallow as J } from "zustand/shallow";
8
- import { d as ie } from "../formatter-B1Xh8XDH.js";
8
+ import { d as ie } from "../formatter-B9Bxn1k7.js";
9
9
  const v = {
10
10
  rangeItem: {
11
11
  display: "flex",
@@ -1,27 +1,30 @@
1
- import { jsxs as f, jsx as n } from "react/jsx-runtime";
1
+ import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
2
  import { c as h } from "react/compiler-runtime";
3
3
  import "react";
4
4
  import "echarts";
5
5
  import "../widget-store-CzDt8oSK.js";
6
6
  import "zustand/shallow";
7
- import { g as x } from "../options-D9wflre6.js";
8
- import { m as b } from "../utils-BOhInag6.js";
9
- import { g as v, h as S, b as k, e as w, s as L, c as I } from "../styles-C_8vOEep.js";
10
- import { Box as s, Skeleton as p } from "@mui/material";
11
- const P = v(L);
12
- function R(e) {
7
+ import { g as b } from "../options-D9wflre6.js";
8
+ import { m as S } from "../utils-BOhInag6.js";
9
+ import { c as v, s as k } from "../download-config-Dqu78h2a.js";
10
+ import { g as w, b as L, a as I, e as _, c as A } from "../styles-Y8q7Jff3.js";
11
+ import { Box as p, Skeleton as c } from "@mui/material";
12
+ const X = v(k);
13
+ function Y(e) {
13
14
  return {
14
15
  type: "scatterplot",
15
- option: b(x(e), _(e)),
16
- formatter: e.formatter
16
+ option: S(b(e), C(e)),
17
+ formatter: e.formatter,
18
+ labelFormatter: e.labelFormatter
17
19
  };
18
20
  }
19
- function _({
21
+ function C({
20
22
  data: e = [],
21
23
  theme: t,
22
- formatter: o
24
+ formatter: o,
25
+ labelFormatter: n
23
26
  }) {
24
- const i = e.length > 1, g = {
27
+ const l = e.length > 1, m = {
25
28
  type: "value",
26
29
  axisLine: {
27
30
  show: !1
@@ -44,7 +47,7 @@ function _({
44
47
  color: t.palette.black[4]
45
48
  }
46
49
  }
47
- }, m = {
50
+ }, u = {
48
51
  type: "value",
49
52
  axisLabel: {
50
53
  fontSize: t.typography.overlineDelicate.fontSize,
@@ -72,43 +75,46 @@ function _({
72
75
  }
73
76
  };
74
77
  return {
75
- legend: w(i),
78
+ legend: _({
79
+ hasLegend: l,
80
+ labelFormatter: n
81
+ }),
76
82
  grid: {
77
- ...!i && {
83
+ ...!l && {
78
84
  bottom: parseInt(t.spacing(1))
79
85
  },
80
- ...i && {
86
+ ...l && {
81
87
  bottom: parseInt(t.spacing(10))
82
88
  }
83
89
  },
84
- xAxis: g,
85
- yAxis: k(m, o),
90
+ xAxis: I(m, n),
91
+ yAxis: L(u, o),
86
92
  tooltip: {
87
93
  trigger: "item",
88
94
  // position: createTooltipPositioner(theme),
89
- formatter: S((a) => {
90
- const l = a.value, u = a.encode?.y?.at(0), r = l[u ?? ""], y = typeof r == "number" && o ? o(r) : r ?? "", d = typeof a.marker == "string" ? a.marker : "";
95
+ formatter: w((a) => {
96
+ const r = a.value, y = a.encode?.y?.at(0), s = r[y ?? ""], d = typeof s == "number" && o ? o(s) : s ?? "", x = typeof a.marker == "string" ? a.marker : "";
91
97
  return {
92
- name: a.seriesName ?? "",
98
+ name: n ? String(n(a.seriesName ?? "")) : a.seriesName ?? "",
93
99
  seriesName: "",
94
- marker: d,
95
- value: y
100
+ marker: x,
101
+ value: d
96
102
  };
97
103
  })
98
104
  },
99
105
  color: Object.values(t.palette.qualitative.bold),
100
- series: e.map((a, l) => ({
101
- datasetIndex: l,
106
+ series: e.map((a, r) => ({
107
+ datasetIndex: r,
102
108
  type: "scatter",
103
109
  symbolSize: 8
104
110
  }))
105
111
  };
106
112
  }
107
- const c = {
113
+ const f = {
108
114
  skeleton: {
109
115
  graph: {
110
116
  container: {
111
- ...I.graph.container,
117
+ ...A.graph.container,
112
118
  position: "relative"
113
119
  }
114
120
  },
@@ -125,7 +131,7 @@ const c = {
125
131
  bottom: 0
126
132
  }
127
133
  }
128
- }, C = [{
134
+ }, D = [{
129
135
  left: "20%",
130
136
  top: "62%"
131
137
  }, {
@@ -171,34 +177,34 @@ const c = {
171
177
  left: "40%",
172
178
  top: "40%"
173
179
  }];
174
- function W() {
180
+ function G() {
175
181
  const e = h(2);
176
182
  let t;
177
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = C.map(T), e[0] = t) : t = e[0];
183
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = D.map(z), e[0] = t) : t = e[0];
178
184
  let o;
179
- return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ f(s, { sx: c.skeleton.graph.container, children: [
185
+ return e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ g(p, { sx: f.skeleton.graph.container, children: [
180
186
  t,
181
- /* @__PURE__ */ n(s, { sx: c.skeleton.legend, children: Array(2).fill(0).map(A) })
187
+ /* @__PURE__ */ i(p, { sx: f.skeleton.legend, children: Array(2).fill(0).map(T) })
182
188
  ] }), e[1] = o) : o = e[1], o;
183
189
  }
184
- function A(e, t) {
185
- return /* @__PURE__ */ f(s, { sx: {
190
+ function T(e, t) {
191
+ return /* @__PURE__ */ g(p, { sx: {
186
192
  display: "flex",
187
193
  alignItems: "center",
188
- gap: D
194
+ gap: F
189
195
  }, children: [
190
- /* @__PURE__ */ n(p, { variant: "circular", width: 8, height: 8 }),
191
- /* @__PURE__ */ n(p, { width: 48, height: 8 })
196
+ /* @__PURE__ */ i(c, { variant: "circular", width: 8, height: 8 }),
197
+ /* @__PURE__ */ i(c, { width: 48, height: 8 })
192
198
  ] }, `skeleton-${t}`);
193
199
  }
194
- function D(e) {
200
+ function F(e) {
195
201
  const {
196
202
  spacing: t
197
203
  } = e;
198
204
  return t(1.5);
199
205
  }
200
- function T(e, t) {
201
- return /* @__PURE__ */ n(p, { variant: "circular", width: 12, height: 12, sx: {
206
+ function z(e, t) {
207
+ return /* @__PURE__ */ i(c, { variant: "circular", width: 12, height: 12, sx: {
202
208
  position: "absolute",
203
209
  top: e.top,
204
210
  left: e.left,
@@ -206,8 +212,8 @@ function T(e, t) {
206
212
  } }, `skeleton-point-${t}`);
207
213
  }
208
214
  export {
209
- W as ScatterplotSkeleton,
210
- R as scatterplotConfig,
211
- P as scatterplotDownloadConfig
215
+ G as ScatterplotSkeleton,
216
+ Y as scatterplotConfig,
217
+ X as scatterplotDownloadConfig
212
218
  };
213
219
  //# sourceMappingURL=scatterplot.js.map