@carto/ps-react-ui 4.4.0 → 4.4.2
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/components.js.map +1 -1
- package/dist/error-CEkRPccv.js.map +1 -1
- package/dist/exports-Cr43OCul.js.map +1 -1
- package/dist/formatter-B1Xh8XDH.js +5 -0
- package/dist/formatter-B1Xh8XDH.js.map +1 -0
- package/dist/lasso-tool-BYbxrJ-7.js.map +1 -1
- package/dist/note-t51drNe0.js.map +1 -1
- package/dist/options-D9wflre6.js.map +1 -1
- package/dist/row-DTCV0Ocm.js.map +1 -1
- package/dist/series-CYNOu2Ju.js.map +1 -1
- package/dist/smart-tooltip-D4vwQpFf.js.map +1 -1
- package/dist/styles-C_8vOEep.js +167 -0
- package/dist/styles-C_8vOEep.js.map +1 -0
- package/dist/tooltip-BDnrRKrp.js.map +1 -1
- package/dist/types/components/basemaps/basemaps.d.ts +20 -0
- package/dist/types/components/geolocation-controls/geolocation-controls.d.ts +11 -0
- package/dist/types/components/lasso-tool/lasso-tool-inline.d.ts +17 -0
- package/dist/types/components/lasso-tool/lasso-tool.d.ts +21 -0
- package/dist/types/components/list-data/list-data.d.ts +16 -0
- package/dist/types/components/measurement-tools/measurement-tools.d.ts +20 -0
- package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +17 -0
- package/dist/types/components/tooltip/tooltip.d.ts +13 -0
- package/dist/types/components/zoom-controls/zoom-controls.d.ts +16 -0
- package/dist/types/hooks/use-widget-ref.d.ts +4 -4
- package/dist/types/widgets/actions/download/download.d.ts +11 -0
- package/dist/types/widgets/actions/download/exports.d.ts +15 -0
- package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +13 -0
- package/dist/types/widgets/actions/index.d.ts +1 -1
- package/dist/types/widgets/actions/relative-data/relative-data.d.ts +1 -0
- package/dist/types/widgets/bar/config.d.ts +8 -4
- package/dist/types/widgets/category/category-ui.d.ts +3 -0
- package/dist/types/widgets/category/components/category-bar.d.ts +3 -0
- package/dist/types/widgets/category/components/category-legend.d.ts +3 -0
- package/dist/types/widgets/category/components/category-row-multi.d.ts +3 -0
- package/dist/types/widgets/category/components/category-row-other.d.ts +3 -0
- package/dist/types/widgets/category/components/category-row-single.d.ts +3 -0
- package/dist/types/widgets/category/config.d.ts +11 -0
- package/dist/types/widgets/echart/echart-ui.d.ts +7 -0
- package/dist/types/widgets/echart/echart.d.ts +6 -0
- package/dist/types/widgets/echart/options.d.ts +7 -0
- package/dist/types/widgets/echart/types.d.ts +1 -0
- package/dist/types/widgets/echart/utils.d.ts +42 -1
- package/dist/types/widgets/error/error.d.ts +10 -0
- package/dist/types/widgets/formula/components/item.d.ts +3 -0
- package/dist/types/widgets/formula/components/prefix.d.ts +3 -0
- package/dist/types/widgets/formula/components/row.d.ts +3 -0
- package/dist/types/widgets/formula/components/series.d.ts +3 -0
- package/dist/types/widgets/formula/components/suffix.d.ts +3 -0
- package/dist/types/widgets/formula/components/value.d.ts +3 -0
- package/dist/types/widgets/formula/config.d.ts +11 -0
- package/dist/types/widgets/formula/formula-ui.d.ts +3 -0
- package/dist/types/widgets/histogram/config.d.ts +8 -4
- package/dist/types/widgets/loader/loader.d.ts +22 -0
- package/dist/types/widgets/loader/utils.d.ts +26 -3
- package/dist/types/widgets/markdown/config.d.ts +10 -0
- package/dist/types/widgets/markdown/markdown-ui.d.ts +7 -0
- package/dist/types/widgets/markdown/markdown.d.ts +3 -0
- package/dist/types/widgets/note/note.d.ts +10 -0
- package/dist/types/widgets/pie/config.d.ts +8 -4
- package/dist/types/widgets/range/components/range-item.d.ts +3 -0
- package/dist/types/widgets/range/config.d.ts +5 -0
- package/dist/types/widgets/range/range-ui.d.ts +3 -0
- package/dist/types/widgets/scatterplot/config.d.ts +7 -3
- package/dist/types/widgets/selection-summary/selection-summary.d.ts +11 -0
- package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +10 -0
- package/dist/types/widgets/spread/components/max-value.d.ts +3 -0
- package/dist/types/widgets/spread/components/min-value.d.ts +3 -0
- package/dist/types/widgets/spread/components/separator.d.ts +3 -0
- package/dist/types/widgets/spread/config.d.ts +11 -0
- package/dist/types/widgets/spread/spread-ui.d.ts +3 -0
- package/dist/types/widgets/subheader/subheader.d.ts +11 -0
- package/dist/types/widgets/table/config.d.ts +8 -3
- package/dist/types/widgets/table/hooks/use-pagination.d.ts +11 -3
- package/dist/types/widgets/table/hooks/use-selection.d.ts +11 -2
- package/dist/types/widgets/table/hooks/use-sort.d.ts +11 -3
- package/dist/types/widgets/timeseries/config.d.ts +8 -4
- package/dist/types/widgets/utils/chart-config/download-config.d.ts +3 -0
- package/dist/types/widgets/{_shared → utils}/chart-config/index.d.ts +2 -0
- package/dist/types/widgets/{_shared → utils}/chart-config/option-builders.d.ts +1 -1
- package/dist/types/widgets/utils/formatter.d.ts +1 -0
- package/dist/types/widgets/utils/index.d.ts +7 -0
- package/dist/types/widgets/wrapper/components/actions.d.ts +3 -0
- package/dist/types/widgets/wrapper/components/options.d.ts +3 -0
- package/dist/types/widgets/wrapper/components/title.d.ts +3 -0
- package/dist/types/widgets/wrapper/wrapper-ui.d.ts +14 -0
- package/dist/types/widgets/wrapper/wrapper.d.ts +14 -0
- package/dist/use-widget-ref-wtFLDFCD.js.map +1 -1
- package/dist/{utils-Cx3gYUcL.js → utils-BOhInag6.js} +67 -48
- package/dist/utils-BOhInag6.js.map +1 -0
- package/dist/widgets/actions.js +651 -628
- package/dist/widgets/actions.js.map +1 -1
- package/dist/widgets/bar.js +66 -86
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +21 -21
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +1 -1
- package/dist/widgets/echart.js.map +1 -1
- package/dist/widgets/formula.js +54 -54
- package/dist/widgets/formula.js.map +1 -1
- package/dist/widgets/histogram.js +45 -65
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js.map +1 -1
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/pie.js +122 -99
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +23 -22
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +39 -59
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/selection-summary.js.map +1 -1
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +40 -41
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/subheader.js.map +1 -1
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +39 -59
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/utils.js +31 -0
- package/dist/widgets/utils.js.map +1 -0
- package/dist/widgets/wrapper.js.map +1 -1
- package/package.json +5 -1
- package/src/components/basemaps/basemaps.tsx +20 -0
- package/src/components/geolocation-controls/geolocation-controls.tsx +11 -0
- package/src/components/lasso-tool/lasso-tool-inline.tsx +17 -0
- package/src/components/lasso-tool/lasso-tool.tsx +21 -0
- package/src/components/list-data/list-data.tsx +16 -0
- package/src/components/measurement-tools/measurement-tools.tsx +20 -0
- package/src/components/smart-tooltip/smart-tooltip.tsx +17 -0
- package/src/components/tooltip/tooltip.tsx +13 -0
- package/src/components/zoom-controls/zoom-controls.tsx +16 -0
- package/src/hooks/use-widget-ref.ts +4 -4
- package/src/widgets/README.md +10 -10
- package/src/widgets/actions/download/download.tsx +11 -0
- package/src/widgets/actions/download/exports.tsx +15 -0
- package/src/widgets/actions/fullscreen/fullscreen.tsx +13 -0
- package/src/widgets/actions/index.ts +1 -0
- package/src/widgets/actions/relative-data/relative-data.test.tsx +62 -1
- package/src/widgets/actions/relative-data/relative-data.tsx +62 -39
- package/src/widgets/bar/config.ts +12 -20
- package/src/widgets/bar/style.ts +1 -1
- package/src/widgets/category/category-ui.tsx +4 -2
- package/src/widgets/category/components/category-bar.tsx +3 -0
- package/src/widgets/category/components/category-legend.tsx +3 -0
- package/src/widgets/category/components/category-row-multi.tsx +3 -0
- package/src/widgets/category/components/category-row-other.tsx +3 -0
- package/src/widgets/category/components/category-row-single.tsx +3 -0
- package/src/widgets/category/config.ts +11 -0
- package/src/widgets/echart/echart-ui.tsx +7 -0
- package/src/widgets/echart/echart.tsx +6 -0
- package/src/widgets/echart/options.ts +7 -0
- package/src/widgets/echart/types.ts +1 -0
- package/src/widgets/echart/utils.ts +74 -6
- package/src/widgets/error/error.tsx +10 -0
- package/src/widgets/formula/components/item.tsx +3 -0
- package/src/widgets/formula/components/prefix.tsx +3 -0
- package/src/widgets/formula/components/row.tsx +3 -0
- package/src/widgets/formula/components/series.tsx +3 -0
- package/src/widgets/formula/components/suffix.tsx +3 -0
- package/src/widgets/formula/components/value.tsx +4 -2
- package/src/widgets/formula/config.ts +11 -0
- package/src/widgets/formula/formula-ui.tsx +3 -0
- package/src/widgets/histogram/config.ts +11 -20
- package/src/widgets/histogram/style.ts +1 -1
- package/src/widgets/loader/loader.tsx +22 -0
- package/src/widgets/loader/utils.ts +26 -3
- package/src/widgets/markdown/config.ts +10 -0
- package/src/widgets/markdown/markdown-ui.tsx +7 -0
- package/src/widgets/markdown/markdown.tsx +3 -0
- package/src/widgets/note/note.tsx +10 -0
- package/src/widgets/pie/config.ts +85 -30
- package/src/widgets/pie/style.ts +1 -1
- package/src/widgets/range/components/range-item.tsx +5 -2
- package/src/widgets/range/config.ts +5 -0
- package/src/widgets/range/range-ui.tsx +3 -0
- package/src/widgets/scatterplot/config.ts +11 -20
- package/src/widgets/scatterplot/style.ts +1 -1
- package/src/widgets/selection-summary/selection-summary.tsx +11 -0
- package/src/widgets/skeleton-loader/skeleton-loader.tsx +10 -0
- package/src/widgets/spread/components/max-value.tsx +4 -2
- package/src/widgets/spread/components/min-value.tsx +4 -2
- package/src/widgets/spread/components/separator.tsx +3 -0
- package/src/widgets/spread/config.ts +11 -0
- package/src/widgets/spread/spread-ui.tsx +3 -0
- package/src/widgets/subheader/subheader.tsx +11 -0
- package/src/widgets/table/config.ts +8 -3
- package/src/widgets/table/hooks/use-pagination.ts +11 -3
- package/src/widgets/table/hooks/use-selection.ts +11 -2
- package/src/widgets/table/hooks/use-sort.ts +11 -3
- package/src/widgets/timeseries/config.ts +11 -20
- package/src/widgets/timeseries/style.ts +1 -1
- package/src/widgets/utils/chart-config/download-config.ts +22 -0
- package/src/widgets/{_shared → utils}/chart-config/index.ts +4 -0
- package/src/widgets/{_shared → utils}/chart-config/option-builders.ts +1 -1
- package/src/widgets/utils/formatter.ts +1 -0
- package/src/widgets/utils/index.ts +26 -0
- package/src/widgets/wrapper/components/actions.tsx +3 -0
- package/src/widgets/wrapper/components/options.tsx +3 -0
- package/src/widgets/wrapper/components/title.tsx +3 -0
- package/src/widgets/wrapper/wrapper-ui.tsx +14 -0
- package/src/widgets/wrapper/wrapper.tsx +14 -0
- package/dist/styles-CAroD5Rc.js +0 -123
- package/dist/styles-CAroD5Rc.js.map +0 -1
- package/dist/utils-Cx3gYUcL.js.map +0 -1
- /package/dist/types/widgets/{_shared → utils}/chart-config/config-factory.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/chart-config/csv-modifiers.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/chart-config/option-builders.test.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/skeleton/index.d.ts +0 -0
- /package/dist/types/widgets/{_shared → utils}/skeleton/styles.d.ts +0 -0
- /package/src/widgets/{_shared → utils}/chart-config/config-factory.ts +0 -0
- /package/src/widgets/{_shared → utils}/chart-config/csv-modifiers.ts +0 -0
- /package/src/widgets/{_shared → utils}/chart-config/option-builders.test.ts +0 -0
- /package/src/widgets/{_shared → utils}/skeleton/index.ts +0 -0
- /package/src/widgets/{_shared → utils}/skeleton/styles.ts +0 -0
|
@@ -1,87 +1,106 @@
|
|
|
1
1
|
import { d } from "./cjs-D4KH3azB.js";
|
|
2
2
|
const m = "stacked";
|
|
3
|
-
function
|
|
4
|
-
return d(o
|
|
5
|
-
customMerge: (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
return (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
function S(o, i, n) {
|
|
4
|
+
return d(o ?? {}, i ?? {}, {
|
|
5
|
+
customMerge: (r) => {
|
|
6
|
+
const l = n?.(r);
|
|
7
|
+
if (l) return l;
|
|
8
|
+
if (r === "color")
|
|
9
|
+
return (t, e) => e;
|
|
10
|
+
if (r === "axisLabel")
|
|
11
|
+
return (t, e) => {
|
|
12
|
+
const g = {
|
|
13
|
+
...t,
|
|
14
|
+
...e
|
|
15
|
+
};
|
|
16
|
+
if (typeof t?.formatter == "function" && typeof e?.formatter == "function") {
|
|
17
|
+
const a = t.formatter, c = e.formatter;
|
|
18
|
+
g.formatter = (I) => a(I) === "" ? "" : c(I);
|
|
19
|
+
}
|
|
20
|
+
return g;
|
|
21
|
+
};
|
|
22
|
+
if (r === "series")
|
|
23
|
+
return (t, e) => {
|
|
24
|
+
const g = Math.max(t?.length ?? 0, e?.length ?? 0);
|
|
25
|
+
return Array.from({
|
|
26
|
+
length: g
|
|
27
|
+
}, (a, c) => {
|
|
28
|
+
const I = t?.[c] ?? {}, s = e?.[c] ?? {};
|
|
29
|
+
return d(I, s);
|
|
30
|
+
});
|
|
31
|
+
};
|
|
13
32
|
}
|
|
14
33
|
});
|
|
15
34
|
}
|
|
16
35
|
function p({
|
|
17
36
|
start: o,
|
|
18
|
-
end:
|
|
37
|
+
end: i
|
|
19
38
|
} = {
|
|
20
39
|
start: 0,
|
|
21
40
|
end: 100
|
|
22
41
|
}, {
|
|
23
|
-
inside:
|
|
24
|
-
xSlider:
|
|
25
|
-
ySlider:
|
|
26
|
-
showSliders:
|
|
27
|
-
xAxisLabelFormatter:
|
|
42
|
+
inside: n = !0,
|
|
43
|
+
xSlider: r = !0,
|
|
44
|
+
ySlider: l = !1,
|
|
45
|
+
showSliders: t = !0,
|
|
46
|
+
xAxisLabelFormatter: e,
|
|
28
47
|
bottomOffset: g = 0
|
|
29
|
-
} = {},
|
|
30
|
-
const
|
|
48
|
+
} = {}, a) {
|
|
49
|
+
const I = a ? y(a) : {};
|
|
31
50
|
return {
|
|
32
|
-
dataZoom: [
|
|
51
|
+
dataZoom: [n && {
|
|
33
52
|
throttle: 0,
|
|
34
53
|
type: "inside",
|
|
35
|
-
xAxisIndex:
|
|
36
|
-
yAxisIndex:
|
|
54
|
+
xAxisIndex: r ? [0] : [],
|
|
55
|
+
yAxisIndex: l ? [0] : [],
|
|
37
56
|
show: !0,
|
|
38
57
|
zoomLock: !1,
|
|
39
58
|
start: o,
|
|
40
|
-
end:
|
|
41
|
-
},
|
|
59
|
+
end: i
|
|
60
|
+
}, n && l && {
|
|
42
61
|
throttle: 0,
|
|
43
62
|
type: "inside",
|
|
44
63
|
show: !0,
|
|
45
64
|
zoomLock: !1,
|
|
46
65
|
start: o,
|
|
47
|
-
end:
|
|
66
|
+
end: i,
|
|
48
67
|
orientation: "vertical"
|
|
49
|
-
},
|
|
68
|
+
}, r && {
|
|
50
69
|
throttle: 0,
|
|
51
70
|
type: "slider",
|
|
52
71
|
xAxisIndex: [0],
|
|
53
72
|
bottom: g,
|
|
54
|
-
height: parseInt(
|
|
55
|
-
show:
|
|
73
|
+
height: parseInt(a?.spacing?.(4) ?? "32"),
|
|
74
|
+
show: t,
|
|
56
75
|
zoomLock: !1,
|
|
57
76
|
start: o,
|
|
58
|
-
end:
|
|
59
|
-
labelFormatter:
|
|
77
|
+
end: i,
|
|
78
|
+
labelFormatter: e,
|
|
60
79
|
showDetail: !1,
|
|
61
|
-
...
|
|
80
|
+
...I,
|
|
62
81
|
brushSelect: !1,
|
|
63
82
|
moveHandleSize: 8,
|
|
64
83
|
handleSize: "100%",
|
|
65
84
|
handleIcon: "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4="
|
|
66
|
-
},
|
|
85
|
+
}, l && {
|
|
67
86
|
throttle: 0,
|
|
68
87
|
type: "slider",
|
|
69
|
-
left: parseInt(
|
|
70
|
-
width: parseInt(
|
|
88
|
+
left: parseInt(a?.spacing?.(6) ?? "48"),
|
|
89
|
+
width: parseInt(a?.spacing?.(4) ?? "32"),
|
|
71
90
|
yAxisIndex: [0],
|
|
72
|
-
show:
|
|
91
|
+
show: t,
|
|
73
92
|
zoomLock: !1,
|
|
74
93
|
start: o,
|
|
75
|
-
end:
|
|
76
|
-
...
|
|
94
|
+
end: i,
|
|
95
|
+
...I,
|
|
77
96
|
brushSelect: !1,
|
|
78
97
|
moveHandleSize: 8,
|
|
79
98
|
handleSize: "100%",
|
|
80
99
|
handleIcon: "image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDM2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iOCIgaGVpZ2h0PSIxOCIgcng9IjQiIHRyYW5zZm9ybT0icm90YXRlKC05MCAwLjUgMC41KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDEzIDYpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09InJvdGF0ZSgtOTAgMTcgNikiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKC05MCAyMSA2KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4="
|
|
81
|
-
}].filter((
|
|
100
|
+
}].filter((s) => !!s)
|
|
82
101
|
};
|
|
83
102
|
}
|
|
84
|
-
function
|
|
103
|
+
function y(o) {
|
|
85
104
|
return {
|
|
86
105
|
fillerColor: "rgba(53, 139, 231, 0.25)",
|
|
87
106
|
borderColor: "rgba(53, 139, 231, 0.3)",
|
|
@@ -122,30 +141,30 @@ function s(o) {
|
|
|
122
141
|
}
|
|
123
142
|
};
|
|
124
143
|
}
|
|
125
|
-
function
|
|
144
|
+
function b({
|
|
126
145
|
brushType: o = "lineX",
|
|
127
|
-
brushMode:
|
|
128
|
-
xAxisIndex:
|
|
146
|
+
brushMode: i = "single",
|
|
147
|
+
xAxisIndex: n = 0
|
|
129
148
|
} = {}) {
|
|
130
149
|
return {
|
|
131
150
|
brush: {
|
|
132
151
|
toolbox: ["lineX", "clear"],
|
|
133
152
|
brushType: o,
|
|
134
|
-
brushMode:
|
|
135
|
-
xAxisIndex:
|
|
153
|
+
brushMode: i,
|
|
154
|
+
xAxisIndex: n
|
|
136
155
|
}
|
|
137
156
|
};
|
|
138
157
|
}
|
|
139
|
-
function
|
|
158
|
+
function u(o = m) {
|
|
140
159
|
return {
|
|
141
160
|
stack: o
|
|
142
161
|
};
|
|
143
162
|
}
|
|
144
163
|
export {
|
|
145
164
|
m as D,
|
|
146
|
-
|
|
165
|
+
u as a,
|
|
147
166
|
p as b,
|
|
148
|
-
|
|
149
|
-
|
|
167
|
+
b as g,
|
|
168
|
+
S as m
|
|
150
169
|
};
|
|
151
|
-
//# sourceMappingURL=utils-
|
|
170
|
+
//# sourceMappingURL=utils-BOhInag6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-BOhInag6.js","sources":["../src/widgets/echart/const.ts","../src/widgets/echart/utils.ts"],"sourcesContent":["export const DEFAULT_STACK_GROUP = 'stacked'\n","import deepmerge from 'deepmerge'\nimport type { EchartOptionsProps } from './types'\nimport type { Theme } from '@mui/material'\nimport { DEFAULT_STACK_GROUP } from './const'\n\n/**\n * Deep-merges two ECharts option objects with smart handling for `color`, `axisLabel`, and `series` keys.\n *\n * @param optionA - Base ECharts options.\n * @param optionB - Override ECharts options to merge on top.\n * @param customMergeFn - Optional function returning a custom merge strategy per key.\n * @returns The merged ECharts options object.\n *\n * @remarks\n * - `color` arrays are replaced entirely (not concatenated).\n * - `axisLabel` formatters are composed so the base formatter can suppress values by returning `''`.\n * - `series` arrays are merged element-by-element rather than concatenated.\n *\n * @example\n * ```tsx\n * const option = mergeEchartWidgetConfig(props.option, {\n * series: [{ barWidth: '60%', itemStyle: { borderRadius: [4, 4, 0, 0] } }],\n * tooltip: { trigger: 'axis' },\n * })\n * ```\n */\nexport function mergeEchartWidgetConfig<T extends EchartOptionsProps>(\n optionA: T | undefined,\n optionB: T | undefined,\n customMergeFn?: (\n key: string,\n ) => ((a: unknown, b: unknown) => unknown) | undefined,\n): T {\n return deepmerge(optionA ?? {}, optionB ?? {}, {\n customMerge: (key) => {\n const externalMerge = customMergeFn?.(key)\n if (externalMerge) return externalMerge\n\n if (key === 'color') {\n return (_, b: T['color']) => b\n }\n if (key === 'axisLabel') {\n return (\n a: Record<string, unknown> | undefined,\n b: Record<string, unknown> | undefined,\n ) => {\n const merged = { ...a, ...b }\n if (\n typeof a?.formatter === 'function' &&\n typeof b?.formatter === 'function'\n ) {\n const baseFormatter = a.formatter as (value: unknown) => unknown\n const customFormatter = b.formatter as (value: unknown) => unknown\n merged.formatter = (value: unknown) => {\n const baseResult = baseFormatter(value)\n if (baseResult === '') return ''\n return customFormatter(value)\n }\n }\n return merged\n }\n }\n if (key === 'series') {\n return (a: T['series'][], b: T['series'][]) => {\n const maxLength = Math.max(a?.length ?? 0, b?.length ?? 0)\n return Array.from({ length: maxLength }, (_, index) => {\n const aItem = a?.[index] ?? {}\n const bItem = b?.[index] ?? {}\n return deepmerge(aItem, bItem as object)\n })\n }\n }\n },\n }) as T\n}\n\n/**\n * Generates ECharts `dataZoom` configuration for interactive zoom and pan on chart axes.\n *\n * @param range - Initial visible range as `{ start, end }` percentages (0-100). Defaults to full range.\n * @param options - Zoom behavior options including axis sliders, inside zoom, and formatter.\n * @param theme - Optional MUI theme for styled slider handles and backgrounds.\n * @returns An object containing the `dataZoom` array configuration.\n */\nexport function getEChartZoomConfig(\n { start, end }: { start: number; end: number } = { start: 0, end: 100 },\n {\n inside = true,\n xSlider = true,\n ySlider = false,\n showSliders = true,\n xAxisLabelFormatter,\n bottomOffset = 0,\n } = {} as {\n inside?: boolean\n xSlider?: boolean\n ySlider?: boolean\n showSliders?: boolean\n xAxisLabelFormatter?: (value: number) => string\n bottomOffset?: number\n },\n theme?: Theme,\n) {\n const zoom = true\n const sliderStyles = theme ? getEChartZoomSliderStyles(theme) : {}\n\n return {\n dataZoom: [\n inside && {\n throttle: 0,\n type: 'inside',\n xAxisIndex: xSlider ? [0] : [],\n yAxisIndex: ySlider ? [0] : [],\n show: zoom,\n zoomLock: !zoom,\n start,\n end,\n },\n inside &&\n ySlider && {\n throttle: 0,\n type: 'inside',\n show: zoom,\n zoomLock: !zoom,\n start,\n end,\n orientation: 'vertical',\n },\n xSlider && {\n throttle: 0,\n type: 'slider',\n xAxisIndex: [0],\n bottom: bottomOffset,\n height: parseInt(theme?.spacing?.(4) ?? '32'),\n show: zoom && showSliders,\n zoomLock: !zoom,\n start,\n end,\n labelFormatter: xAxisLabelFormatter,\n showDetail: false,\n ...sliderStyles,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n handleIcon:\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDkgMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iLTAuNSIgd2lkdGg9IjgiIGhlaWdodD0iMTgiIHJ4PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMyAyMykiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDMgMTkpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAzIDE1KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=',\n },\n ySlider && {\n throttle: 0,\n type: 'slider',\n left: parseInt(theme?.spacing?.(6) ?? '48'),\n width: parseInt(theme?.spacing?.(4) ?? '32'),\n yAxisIndex: [0],\n show: zoom && showSliders,\n zoomLock: !zoom,\n start,\n end,\n ...sliderStyles,\n brushSelect: false,\n moveHandleSize: 8,\n handleSize: '100%',\n handleIcon:\n 'image://data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDM2IDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgeT0iMC41IiB3aWR0aD0iOCIgaGVpZ2h0PSIxOCIgcng9IjQiIHRyYW5zZm9ybT0icm90YXRlKC05MCAwLjUgMC41KSIgZmlsbD0id2hpdGUiIHN0cm9rZT0iIzM1OEJFNyIvPgo8cmVjdCB3aWR0aD0iMyIgaGVpZ2h0PSIyIiByeD0iMSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDEzIDYpIiBmaWxsPSIjMzU4QkU3Ii8+CjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHJ4PSIxIiB0cmFuc2Zvcm09InJvdGF0ZSgtOTAgMTcgNikiIGZpbGw9IiMzNThCRTciLz4KPHJlY3Qgd2lkdGg9IjMiIGhlaWdodD0iMiIgcng9IjEiIHRyYW5zZm9ybT0icm90YXRlKC05MCAyMSA2KSIgZmlsbD0iIzM1OEJFNyIvPgo8L3N2Zz4=',\n },\n ].filter((d) => !!d),\n }\n}\n\nfunction getEChartZoomSliderStyles(theme: Theme) {\n return {\n fillerColor: 'rgba(53, 139, 231, 0.25)',\n borderColor: 'rgba(53, 139, 231, 0.3)',\n borderWidth: 0.5,\n backgroundColor: 'transparent',\n borderRadius: 4,\n dataBackground: {\n lineStyle: {\n opacity: 0,\n },\n areaStyle: {\n opacity: 1,\n color: theme.palette.secondary.main,\n },\n },\n selectedDataBackground: {\n lineStyle: {\n opacity: 0,\n },\n areaStyle: {\n opacity: 1,\n color: theme.palette.secondary.main,\n },\n },\n handleStyle: {\n color: theme.palette.common.white,\n borderColor: 'rgba(3, 111, 226, 0.08)',\n borderWidth: 1,\n shadowBlur: 3,\n shadowColor: 'rgba(0, 0, 0, 0.1)',\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n },\n textStyle: {\n color: theme.palette.black[60],\n fontSize: parseInt(theme.typography.overlineDelicate.fontSize as string),\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n },\n } as const\n}\n\n/**\n * Generates ECharts `brush` configuration for interactive data selection on charts.\n *\n * @param options - Brush options including type, mode, and target axis index.\n * @returns An object containing the `brush` configuration.\n */\nexport function getEChartBrushConfig(\n { brushType = 'lineX', brushMode = 'single', xAxisIndex = 0 } = {} as {\n brushType?: string\n brushMode?: string\n xAxisIndex?: number\n throttleType?: string\n throttleDelay?: number\n },\n) {\n return {\n brush: {\n toolbox: ['lineX', 'clear'],\n brushType,\n brushMode,\n xAxisIndex,\n },\n }\n}\n\n/**\n * Returns an ECharts `stack` configuration to group series into a stacked layout.\n *\n * @param stackGroup - The stack group identifier. Defaults to the library's default group.\n * @returns An object with the `stack` property set to the group name.\n */\nexport function getEChartStackConfig(stackGroup: string = DEFAULT_STACK_GROUP) {\n return { stack: stackGroup }\n}\n"],"names":["DEFAULT_STACK_GROUP","mergeEchartWidgetConfig","optionA","optionB","customMergeFn","deepmerge","customMerge","key","externalMerge","_","b","a","merged","formatter","baseFormatter","customFormatter","value","maxLength","Math","max","length","Array","from","index","aItem","bItem","getEChartZoomConfig","start","end","inside","xSlider","ySlider","showSliders","xAxisLabelFormatter","bottomOffset","theme","sliderStyles","getEChartZoomSliderStyles","dataZoom","throttle","type","xAxisIndex","yAxisIndex","show","zoom","zoomLock","orientation","bottom","height","parseInt","spacing","labelFormatter","showDetail","brushSelect","moveHandleSize","handleSize","handleIcon","left","width","filter","d","fillerColor","borderColor","borderWidth","backgroundColor","borderRadius","dataBackground","lineStyle","opacity","areaStyle","color","palette","secondary","main","selectedDataBackground","handleStyle","common","white","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","textStyle","black","fontSize","typography","overlineDelicate","fontFamily","getEChartBrushConfig","brushType","brushMode","brush","toolbox","getEChartStackConfig","stackGroup","stack"],"mappings":"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"}
|