@sentio/ui-dashboard 0.2.6 → 0.2.8
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/index.css +79 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +129 -37
- package/dist/index.d.ts +129 -37
- package/dist/index.js +988 -132
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +950 -98
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3667,6 +3667,252 @@ ${percent}%`;
|
|
|
3667
3667
|
);
|
|
3668
3668
|
PieChart2.displayName = "PieChart";
|
|
3669
3669
|
|
|
3670
|
+
// src/charts/BarGaugeChart.tsx
|
|
3671
|
+
import { forwardRef as forwardRef3, useEffect as useEffect7, useMemo as useMemo7, useState as useState9 } from "react";
|
|
3672
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
3673
|
+
var compareOption = { numeric: true };
|
|
3674
|
+
var BarGaugeChart = forwardRef3(
|
|
3675
|
+
(props, ref) => {
|
|
3676
|
+
const {
|
|
3677
|
+
series: input,
|
|
3678
|
+
legend,
|
|
3679
|
+
valueFormatter,
|
|
3680
|
+
config,
|
|
3681
|
+
title,
|
|
3682
|
+
minHeight,
|
|
3683
|
+
loading,
|
|
3684
|
+
style,
|
|
3685
|
+
onInitChart
|
|
3686
|
+
} = props;
|
|
3687
|
+
const [series, setSeries] = useState9([]);
|
|
3688
|
+
const [xAxis, setXAxis] = useState9();
|
|
3689
|
+
const [yAxis, setYAxis] = useState9();
|
|
3690
|
+
const isVertical = config?.barGauge?.direction === "VERTICAL";
|
|
3691
|
+
useEffect7(() => {
|
|
3692
|
+
const tmpData = input.map((s) => {
|
|
3693
|
+
const d = s.data && s.data[0];
|
|
3694
|
+
return { name: s.name, value: d && d[1] };
|
|
3695
|
+
});
|
|
3696
|
+
const sort = config?.barGauge?.sort;
|
|
3697
|
+
switch (sort?.sortBy) {
|
|
3698
|
+
case "ByName":
|
|
3699
|
+
tmpData.sort(
|
|
3700
|
+
(a, b) => sort.orderDesc ? b.name.localeCompare(a.name, void 0, compareOption) : a.name.localeCompare(b.name, void 0, compareOption)
|
|
3701
|
+
);
|
|
3702
|
+
break;
|
|
3703
|
+
case "ByValue":
|
|
3704
|
+
tmpData.sort(
|
|
3705
|
+
(a, b) => sort.orderDesc ? b.value - a.value : a.value - b.value
|
|
3706
|
+
);
|
|
3707
|
+
break;
|
|
3708
|
+
}
|
|
3709
|
+
const series2 = [
|
|
3710
|
+
{
|
|
3711
|
+
type: "bar",
|
|
3712
|
+
data: tmpData.map((d) => d.value),
|
|
3713
|
+
label: {
|
|
3714
|
+
show: config?.valueConfig ? config.valueConfig.showValueLabel : false,
|
|
3715
|
+
position: config?.barGauge?.direction == "VERTICAL" ? "top" : "right",
|
|
3716
|
+
formatter: ({ value }) => valueFormatter(value)
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
];
|
|
3720
|
+
const seriesAxis = {
|
|
3721
|
+
type: "category",
|
|
3722
|
+
data: tmpData.map((s) => s.name),
|
|
3723
|
+
axisLabel: config?.barGauge?.direction == "VERTICAL" ? { interval: 0, rotate: 30 } : {}
|
|
3724
|
+
};
|
|
3725
|
+
if (config?.xAxis?.name) {
|
|
3726
|
+
seriesAxis.name = config?.xAxis?.name;
|
|
3727
|
+
seriesAxis.nameLocation = "middle";
|
|
3728
|
+
seriesAxis.nameGap = isVertical ? 45 : 60;
|
|
3729
|
+
}
|
|
3730
|
+
const valueAxis = {
|
|
3731
|
+
type: "value",
|
|
3732
|
+
axisLabel: (
|
|
3733
|
+
// show dates on value-axis label is weird
|
|
3734
|
+
config?.valueConfig?.valueFormatter == "DateFormatter" ? void 0 : { formatter: (v) => valueFormatter(v) }
|
|
3735
|
+
)
|
|
3736
|
+
};
|
|
3737
|
+
let xAxis2, yAxis2;
|
|
3738
|
+
switch (config?.barGauge?.direction) {
|
|
3739
|
+
case "VERTICAL":
|
|
3740
|
+
xAxis2 = seriesAxis;
|
|
3741
|
+
yAxis2 = valueAxis;
|
|
3742
|
+
break;
|
|
3743
|
+
case "HORIZONTAL":
|
|
3744
|
+
default:
|
|
3745
|
+
xAxis2 = valueAxis;
|
|
3746
|
+
yAxis2 = seriesAxis;
|
|
3747
|
+
}
|
|
3748
|
+
setSeries(series2);
|
|
3749
|
+
setXAxis(xAxis2);
|
|
3750
|
+
setYAxis(yAxis2);
|
|
3751
|
+
}, [
|
|
3752
|
+
input,
|
|
3753
|
+
config?.barGauge?.calculation,
|
|
3754
|
+
config?.barGauge?.sort,
|
|
3755
|
+
config?.valueConfig?.showValueLabel,
|
|
3756
|
+
config?.xAxis?.name,
|
|
3757
|
+
isVertical,
|
|
3758
|
+
valueFormatter
|
|
3759
|
+
]);
|
|
3760
|
+
const dataZoom = useMemo7(() => {
|
|
3761
|
+
if (config?.barGauge?.direction == "HORIZONTAL") {
|
|
3762
|
+
return [
|
|
3763
|
+
{
|
|
3764
|
+
show: series[0]?.data.length > 15,
|
|
3765
|
+
type: "slider",
|
|
3766
|
+
yAxisIndex: 0,
|
|
3767
|
+
zoomLock: true,
|
|
3768
|
+
width: 8,
|
|
3769
|
+
right: 10,
|
|
3770
|
+
top: 5,
|
|
3771
|
+
bottom: 30,
|
|
3772
|
+
minValueSpan: 5,
|
|
3773
|
+
maxValueSpan: 15,
|
|
3774
|
+
orient: "vertical",
|
|
3775
|
+
handleSize: 0,
|
|
3776
|
+
showDetail: false,
|
|
3777
|
+
brushSelect: false,
|
|
3778
|
+
showDataShadow: false
|
|
3779
|
+
},
|
|
3780
|
+
{
|
|
3781
|
+
type: "inside",
|
|
3782
|
+
id: "insideY",
|
|
3783
|
+
yAxisIndex: 0,
|
|
3784
|
+
zoomOnMouseWheel: false,
|
|
3785
|
+
moveOnMouseMove: true,
|
|
3786
|
+
moveOnMouseWheel: true
|
|
3787
|
+
}
|
|
3788
|
+
];
|
|
3789
|
+
} else {
|
|
3790
|
+
return [
|
|
3791
|
+
{
|
|
3792
|
+
show: series[0]?.data.length > 25,
|
|
3793
|
+
type: "slider",
|
|
3794
|
+
xAxisIndex: 0,
|
|
3795
|
+
zoomLock: true,
|
|
3796
|
+
height: 8,
|
|
3797
|
+
bottom: 5,
|
|
3798
|
+
maxValueSpan: 25,
|
|
3799
|
+
minValueSpan: 10,
|
|
3800
|
+
handleSize: "0",
|
|
3801
|
+
showDetail: false,
|
|
3802
|
+
orient: "horizontal",
|
|
3803
|
+
brushSelect: false,
|
|
3804
|
+
showDataShadow: false
|
|
3805
|
+
},
|
|
3806
|
+
{
|
|
3807
|
+
type: "inside",
|
|
3808
|
+
id: "insideX",
|
|
3809
|
+
xAxisIndex: 0,
|
|
3810
|
+
zoomOnMouseWheel: false,
|
|
3811
|
+
moveOnMouseMove: true,
|
|
3812
|
+
moveOnMouseWheel: true
|
|
3813
|
+
}
|
|
3814
|
+
];
|
|
3815
|
+
}
|
|
3816
|
+
}, [config, series]);
|
|
3817
|
+
const options = {
|
|
3818
|
+
title: { text: title },
|
|
3819
|
+
grid: {
|
|
3820
|
+
top: title ? 48 : 16,
|
|
3821
|
+
right: 40,
|
|
3822
|
+
bottom: isVertical && config?.xAxis?.name ? 40 : 16,
|
|
3823
|
+
left: !isVertical && config?.xAxis?.name ? 40 : 16,
|
|
3824
|
+
containLabel: true
|
|
3825
|
+
},
|
|
3826
|
+
xAxis,
|
|
3827
|
+
legend: { data: legend, top: -1e4, left: -1e4 },
|
|
3828
|
+
toolbox: { show: false },
|
|
3829
|
+
yAxis,
|
|
3830
|
+
dataZoom,
|
|
3831
|
+
animation: false,
|
|
3832
|
+
series,
|
|
3833
|
+
tooltip: {
|
|
3834
|
+
trigger: "axis",
|
|
3835
|
+
confine: true,
|
|
3836
|
+
extraCssText: "max-width: 50%; max-height: 50vh; overflow-y: auto;"
|
|
3837
|
+
}
|
|
3838
|
+
};
|
|
3839
|
+
return /* @__PURE__ */ jsx23("div", { className: "h-full w-full", children: /* @__PURE__ */ jsx23(
|
|
3840
|
+
ReactEChartsBase,
|
|
3841
|
+
{
|
|
3842
|
+
ref,
|
|
3843
|
+
loading,
|
|
3844
|
+
option: options,
|
|
3845
|
+
minHeight,
|
|
3846
|
+
style,
|
|
3847
|
+
noLegend: true,
|
|
3848
|
+
onInitChart
|
|
3849
|
+
}
|
|
3850
|
+
) });
|
|
3851
|
+
}
|
|
3852
|
+
);
|
|
3853
|
+
BarGaugeChart.displayName = "BarGaugeChart";
|
|
3854
|
+
|
|
3855
|
+
// src/charts/QueryValueChart.tsx
|
|
3856
|
+
import { forwardRef as forwardRef4, useMemo as useMemo8 } from "react";
|
|
3857
|
+
import { useResizeDetector as useResizeDetector4 } from "react-resize-detector";
|
|
3858
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
3859
|
+
var QueryValueChart = forwardRef4(
|
|
3860
|
+
(props, ref) => {
|
|
3861
|
+
const {
|
|
3862
|
+
series,
|
|
3863
|
+
valueText,
|
|
3864
|
+
textColor,
|
|
3865
|
+
backgroundColor,
|
|
3866
|
+
minHeight,
|
|
3867
|
+
loading,
|
|
3868
|
+
style,
|
|
3869
|
+
onInitChart
|
|
3870
|
+
} = props;
|
|
3871
|
+
const { width, height, ref: ref2 } = useResizeDetector4();
|
|
3872
|
+
const fontSize = useMemo8(() => {
|
|
3873
|
+
return Math.min(
|
|
3874
|
+
(width || 0) / String(valueText).length,
|
|
3875
|
+
(height || 0) / 1.5
|
|
3876
|
+
);
|
|
3877
|
+
}, [width, height, valueText]);
|
|
3878
|
+
const options = {
|
|
3879
|
+
backgroundColor,
|
|
3880
|
+
grid: { top: 0, right: 0, bottom: 0, left: 0 },
|
|
3881
|
+
toolbox: { show: false },
|
|
3882
|
+
animation: false,
|
|
3883
|
+
series,
|
|
3884
|
+
xAxis: { type: "time", show: false },
|
|
3885
|
+
yAxis: { type: "value", show: false },
|
|
3886
|
+
legend: { show: false },
|
|
3887
|
+
graphic: {
|
|
3888
|
+
type: "text",
|
|
3889
|
+
z: 100,
|
|
3890
|
+
left: "center",
|
|
3891
|
+
top: "middle",
|
|
3892
|
+
style: {
|
|
3893
|
+
text: valueText,
|
|
3894
|
+
fontSize,
|
|
3895
|
+
stroke: textColor,
|
|
3896
|
+
fill: textColor
|
|
3897
|
+
}
|
|
3898
|
+
}
|
|
3899
|
+
};
|
|
3900
|
+
return /* @__PURE__ */ jsx24("div", { className: "h-full w-full", children: /* @__PURE__ */ jsx24("div", { className: "h-full w-full", ref: ref2, children: /* @__PURE__ */ jsx24(
|
|
3901
|
+
ReactEChartsBase,
|
|
3902
|
+
{
|
|
3903
|
+
ref,
|
|
3904
|
+
loading,
|
|
3905
|
+
option: options,
|
|
3906
|
+
minHeight,
|
|
3907
|
+
style,
|
|
3908
|
+
noLegend: true,
|
|
3909
|
+
onInitChart
|
|
3910
|
+
}
|
|
3911
|
+
) }) });
|
|
3912
|
+
}
|
|
3913
|
+
);
|
|
3914
|
+
QueryValueChart.displayName = "QueryValueChart";
|
|
3915
|
+
|
|
3670
3916
|
// src/charts/options/LineControls.tsx
|
|
3671
3917
|
import { produce as produce4 } from "immer";
|
|
3672
3918
|
import {
|
|
@@ -3674,7 +3920,7 @@ import {
|
|
|
3674
3920
|
NewButtonGroup as ButtonGroup2,
|
|
3675
3921
|
Checkbox
|
|
3676
3922
|
} from "@sentio/ui-core";
|
|
3677
|
-
import { jsx as
|
|
3923
|
+
import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3678
3924
|
var lineStyles = [
|
|
3679
3925
|
{ label: "Solid", value: "Solid" },
|
|
3680
3926
|
{ label: "Dotted", value: "Dotted" }
|
|
@@ -3694,13 +3940,13 @@ var LineControls = ({ config, defaultOpen, onChange }) => {
|
|
|
3694
3940
|
})
|
|
3695
3941
|
);
|
|
3696
3942
|
};
|
|
3697
|
-
return /* @__PURE__ */
|
|
3943
|
+
return /* @__PURE__ */ jsx25(
|
|
3698
3944
|
DisclosurePanel,
|
|
3699
3945
|
{
|
|
3700
3946
|
title: "Line style",
|
|
3701
3947
|
containerClassName: "w-full bg-default-bg",
|
|
3702
3948
|
children: /* @__PURE__ */ jsxs16("div", { className: "flex items-center gap-4", children: [
|
|
3703
|
-
/* @__PURE__ */
|
|
3949
|
+
/* @__PURE__ */ jsx25(
|
|
3704
3950
|
ButtonGroup2,
|
|
3705
3951
|
{
|
|
3706
3952
|
buttons: lineStyles,
|
|
@@ -3709,7 +3955,7 @@ var LineControls = ({ config, defaultOpen, onChange }) => {
|
|
|
3709
3955
|
small: true
|
|
3710
3956
|
}
|
|
3711
3957
|
),
|
|
3712
|
-
/* @__PURE__ */
|
|
3958
|
+
/* @__PURE__ */ jsx25(
|
|
3713
3959
|
Checkbox,
|
|
3714
3960
|
{
|
|
3715
3961
|
label: "Smooth Curves",
|
|
@@ -3723,16 +3969,16 @@ var LineControls = ({ config, defaultOpen, onChange }) => {
|
|
|
3723
3969
|
};
|
|
3724
3970
|
|
|
3725
3971
|
// src/charts/options/LabelControls.tsx
|
|
3726
|
-
import { useEffect as
|
|
3972
|
+
import { useEffect as useEffect8, useMemo as useMemo9 } from "react";
|
|
3727
3973
|
import { produce as produce5 } from "immer";
|
|
3728
3974
|
import { Button as NewButton2, DisclosurePanel as DisclosurePanel2, HelpIcon as HelpIcon2 } from "@sentio/ui-core";
|
|
3729
|
-
import { jsx as
|
|
3975
|
+
import { jsx as jsx26, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3730
3976
|
var initialConfig = {
|
|
3731
3977
|
columns: [],
|
|
3732
3978
|
alias: ""
|
|
3733
3979
|
};
|
|
3734
3980
|
var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
3735
|
-
|
|
3981
|
+
useEffect8(() => {
|
|
3736
3982
|
if (config?.columns && config.columns.length > 0 && !config.alias) {
|
|
3737
3983
|
const aliasParts = [];
|
|
3738
3984
|
config.columns.forEach((colConfig) => {
|
|
@@ -3762,13 +4008,13 @@ var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
|
3762
4008
|
})
|
|
3763
4009
|
);
|
|
3764
4010
|
};
|
|
3765
|
-
const _defaultOpen =
|
|
4011
|
+
const _defaultOpen = useMemo9(() => {
|
|
3766
4012
|
if (defaultOpen) {
|
|
3767
4013
|
return true;
|
|
3768
4014
|
}
|
|
3769
4015
|
return config?.alias !== "" || config?.columns && config.columns.length > 0;
|
|
3770
4016
|
}, [config, defaultOpen]);
|
|
3771
|
-
return /* @__PURE__ */
|
|
4017
|
+
return /* @__PURE__ */ jsx26(
|
|
3772
4018
|
DisclosurePanel2,
|
|
3773
4019
|
{
|
|
3774
4020
|
title: "Label Controls",
|
|
@@ -3778,15 +4024,15 @@ var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
|
3778
4024
|
/* @__PURE__ */ jsxs17("div", { className: "inline-flex h-8", children: [
|
|
3779
4025
|
/* @__PURE__ */ jsxs17("span", { className: "sm:text-icontent border-main inline-flex items-center rounded-l-md border border-r-0 bg-gray-50 px-2 font-medium", children: [
|
|
3780
4026
|
"Label Alias",
|
|
3781
|
-
/* @__PURE__ */
|
|
4027
|
+
/* @__PURE__ */ jsx26(
|
|
3782
4028
|
HelpIcon2,
|
|
3783
4029
|
{
|
|
3784
4030
|
text: /* @__PURE__ */ jsxs17("div", { className: "text-icontent text-text-foreground", children: [
|
|
3785
|
-
/* @__PURE__ */
|
|
4031
|
+
/* @__PURE__ */ jsx26("div", { children: "Series name override or template." }),
|
|
3786
4032
|
/* @__PURE__ */ jsxs17("div", { children: [
|
|
3787
4033
|
"Ex.",
|
|
3788
4034
|
" ",
|
|
3789
|
-
/* @__PURE__ */
|
|
4035
|
+
/* @__PURE__ */ jsx26("span", { className: "text-primary mx-1 font-semibold italic", children: "{{contract}}" }),
|
|
3790
4036
|
" ",
|
|
3791
4037
|
"will be replaced with the value of the contract label."
|
|
3792
4038
|
] })
|
|
@@ -3794,7 +4040,7 @@ var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
|
3794
4040
|
}
|
|
3795
4041
|
)
|
|
3796
4042
|
] }),
|
|
3797
|
-
/* @__PURE__ */
|
|
4043
|
+
/* @__PURE__ */ jsx26(
|
|
3798
4044
|
"input",
|
|
3799
4045
|
{
|
|
3800
4046
|
type: "text",
|
|
@@ -3805,7 +4051,7 @@ var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
|
3805
4051
|
}
|
|
3806
4052
|
)
|
|
3807
4053
|
] }),
|
|
3808
|
-
/* @__PURE__ */
|
|
4054
|
+
/* @__PURE__ */ jsx26(
|
|
3809
4055
|
NewButton2,
|
|
3810
4056
|
{
|
|
3811
4057
|
type: "button",
|
|
@@ -3829,7 +4075,7 @@ import {
|
|
|
3829
4075
|
DisclosurePanel as DisclosurePanel3,
|
|
3830
4076
|
NewButtonGroup as ButtonGroup3
|
|
3831
4077
|
} from "@sentio/ui-core";
|
|
3832
|
-
import { jsx as
|
|
4078
|
+
import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3833
4079
|
var defaultConfig = {
|
|
3834
4080
|
pieType: "Pie",
|
|
3835
4081
|
calculation: "LAST",
|
|
@@ -3864,14 +4110,14 @@ function PieChartControls({ config, defaultOpen, onChange }) {
|
|
|
3864
4110
|
})
|
|
3865
4111
|
);
|
|
3866
4112
|
}
|
|
3867
|
-
return /* @__PURE__ */
|
|
4113
|
+
return /* @__PURE__ */ jsx27(
|
|
3868
4114
|
DisclosurePanel3,
|
|
3869
4115
|
{
|
|
3870
4116
|
title: "Pie Chart Options",
|
|
3871
4117
|
defaultOpen,
|
|
3872
4118
|
containerClassName: "w-full bg-default-bg",
|
|
3873
4119
|
children: /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-4", children: [
|
|
3874
|
-
/* @__PURE__ */
|
|
4120
|
+
/* @__PURE__ */ jsx27("div", { className: "shadow-xs flex rounded-md", children: /* @__PURE__ */ jsx27(
|
|
3875
4121
|
ButtonGroup3,
|
|
3876
4122
|
{
|
|
3877
4123
|
small: true,
|
|
@@ -3881,20 +4127,20 @@ function PieChartControls({ config, defaultOpen, onChange }) {
|
|
|
3881
4127
|
}
|
|
3882
4128
|
) }),
|
|
3883
4129
|
/* @__PURE__ */ jsxs18("div", { className: "shadow-xs flex rounded-md", children: [
|
|
3884
|
-
/* @__PURE__ */
|
|
3885
|
-
/* @__PURE__ */
|
|
4130
|
+
/* @__PURE__ */ jsx27("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border border-r-0 bg-gray-50 px-3 ", children: "Calculation" }),
|
|
4131
|
+
/* @__PURE__ */ jsx27(
|
|
3886
4132
|
"select",
|
|
3887
4133
|
{
|
|
3888
4134
|
value: config.calculation,
|
|
3889
4135
|
className: "sm:text-ilabel text-text-foreground border-main hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 inline-flex items-center rounded-r-md border pl-4 pr-7",
|
|
3890
4136
|
onChange: (e) => onCalculationChange(e.target.value),
|
|
3891
4137
|
children: CalculationItems.map((d) => {
|
|
3892
|
-
return /* @__PURE__ */
|
|
4138
|
+
return /* @__PURE__ */ jsx27("option", { value: d.value, children: d.label }, d.value);
|
|
3893
4139
|
})
|
|
3894
4140
|
}
|
|
3895
4141
|
)
|
|
3896
4142
|
] }),
|
|
3897
|
-
/* @__PURE__ */
|
|
4143
|
+
/* @__PURE__ */ jsx27(
|
|
3898
4144
|
Checkbox2,
|
|
3899
4145
|
{
|
|
3900
4146
|
checked: config?.showValue,
|
|
@@ -3903,7 +4149,7 @@ function PieChartControls({ config, defaultOpen, onChange }) {
|
|
|
3903
4149
|
labelClassName: "whitespace-nowrap"
|
|
3904
4150
|
}
|
|
3905
4151
|
),
|
|
3906
|
-
/* @__PURE__ */
|
|
4152
|
+
/* @__PURE__ */ jsx27(
|
|
3907
4153
|
Checkbox2,
|
|
3908
4154
|
{
|
|
3909
4155
|
checked: config?.showPercent,
|
|
@@ -3912,7 +4158,7 @@ function PieChartControls({ config, defaultOpen, onChange }) {
|
|
|
3912
4158
|
labelClassName: "whitespace-nowrap"
|
|
3913
4159
|
}
|
|
3914
4160
|
),
|
|
3915
|
-
/* @__PURE__ */
|
|
4161
|
+
/* @__PURE__ */ jsx27(
|
|
3916
4162
|
Checkbox2,
|
|
3917
4163
|
{
|
|
3918
4164
|
checked: config?.absValue,
|
|
@@ -3930,7 +4176,7 @@ function PieChartControls({ config, defaultOpen, onChange }) {
|
|
|
3930
4176
|
import { produce as produce7 } from "immer";
|
|
3931
4177
|
import { defaults as defaults2 } from "lodash";
|
|
3932
4178
|
import { DisclosurePanel as DisclosurePanel4 } from "@sentio/ui-core";
|
|
3933
|
-
import { jsx as
|
|
4179
|
+
import { jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3934
4180
|
var defaultConfig2 = {
|
|
3935
4181
|
direction: "HORIZONTAL",
|
|
3936
4182
|
calculation: "LAST",
|
|
@@ -3983,7 +4229,7 @@ function BarGaugeControls({ config, defaultOpen, onChange }) {
|
|
|
3983
4229
|
})
|
|
3984
4230
|
);
|
|
3985
4231
|
}
|
|
3986
|
-
return /* @__PURE__ */
|
|
4232
|
+
return /* @__PURE__ */ jsx28(
|
|
3987
4233
|
DisclosurePanel4,
|
|
3988
4234
|
{
|
|
3989
4235
|
title: "Bar Gauge Options",
|
|
@@ -3991,54 +4237,54 @@ function BarGaugeControls({ config, defaultOpen, onChange }) {
|
|
|
3991
4237
|
containerClassName: "w-full bg-default-bg",
|
|
3992
4238
|
children: /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-4", children: [
|
|
3993
4239
|
/* @__PURE__ */ jsxs19("div", { className: "shadow-xs flex rounded-md", children: [
|
|
3994
|
-
/* @__PURE__ */
|
|
3995
|
-
/* @__PURE__ */
|
|
4240
|
+
/* @__PURE__ */ jsx28("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border border-r-0 bg-gray-50 px-3 ", children: "Direction" }),
|
|
4241
|
+
/* @__PURE__ */ jsx28(
|
|
3996
4242
|
"select",
|
|
3997
4243
|
{
|
|
3998
4244
|
value: config.direction,
|
|
3999
4245
|
className: "sm:text-ilabel border-main text-text-foreground hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 inline-flex items-center rounded-r-md border pl-4 pr-7",
|
|
4000
4246
|
onChange: (e) => onDirectionChange(e.target.value),
|
|
4001
4247
|
children: directionItems.map((d) => {
|
|
4002
|
-
return /* @__PURE__ */
|
|
4248
|
+
return /* @__PURE__ */ jsx28("option", { value: d.value, children: d.label }, d.value);
|
|
4003
4249
|
})
|
|
4004
4250
|
}
|
|
4005
4251
|
)
|
|
4006
4252
|
] }),
|
|
4007
4253
|
/* @__PURE__ */ jsxs19("div", { className: "shadow-xs flex rounded-md", children: [
|
|
4008
|
-
/* @__PURE__ */
|
|
4009
|
-
/* @__PURE__ */
|
|
4254
|
+
/* @__PURE__ */ jsx28("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border border-r-0 bg-gray-50 px-3 ", children: "Calculation" }),
|
|
4255
|
+
/* @__PURE__ */ jsx28(
|
|
4010
4256
|
"select",
|
|
4011
4257
|
{
|
|
4012
4258
|
value: config.calculation,
|
|
4013
4259
|
className: "sm:text-ilabel border-main text-text-foreground hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 inline-flex items-center rounded-r-md border pl-4 pr-7",
|
|
4014
4260
|
onChange: (e) => onCalculationChange(e.target.value),
|
|
4015
4261
|
children: CalculationItems2.map((d) => {
|
|
4016
|
-
return /* @__PURE__ */
|
|
4262
|
+
return /* @__PURE__ */ jsx28("option", { value: d.value, children: d.label }, d.value);
|
|
4017
4263
|
})
|
|
4018
4264
|
}
|
|
4019
4265
|
)
|
|
4020
4266
|
] }),
|
|
4021
4267
|
/* @__PURE__ */ jsxs19("div", { className: "shadow-xs flex rounded-md", children: [
|
|
4022
|
-
/* @__PURE__ */
|
|
4023
|
-
/* @__PURE__ */
|
|
4268
|
+
/* @__PURE__ */ jsx28("span", { className: "sm:text-ilabel border-main inline-flex items-center whitespace-nowrap rounded-l-md border border-r-0 bg-gray-50 px-3", children: "Sort by" }),
|
|
4269
|
+
/* @__PURE__ */ jsx28(
|
|
4024
4270
|
"select",
|
|
4025
4271
|
{
|
|
4026
4272
|
value: config?.sort?.sortBy,
|
|
4027
4273
|
className: "sm:text-ilabel border-main text-text-foreground hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 inline-flex items-center border pl-4 pr-7",
|
|
4028
4274
|
onChange: (e) => onSortByChange(e.target.value),
|
|
4029
4275
|
children: sortByItems.map((d) => {
|
|
4030
|
-
return /* @__PURE__ */
|
|
4276
|
+
return /* @__PURE__ */ jsx28("option", { value: d.value, children: d.label }, d.value);
|
|
4031
4277
|
})
|
|
4032
4278
|
}
|
|
4033
4279
|
),
|
|
4034
|
-
/* @__PURE__ */
|
|
4280
|
+
/* @__PURE__ */ jsx28(
|
|
4035
4281
|
"select",
|
|
4036
4282
|
{
|
|
4037
4283
|
value: config?.sort?.orderDesc + "",
|
|
4038
4284
|
className: "sm:text-ilabel border-main text-text-foreground hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 inline-flex items-center rounded-r-md border border-l-0 pl-4 pr-7",
|
|
4039
4285
|
onChange: (e) => onOrderChange(e.target.value === "true"),
|
|
4040
4286
|
children: orderItems.map((d) => {
|
|
4041
|
-
return /* @__PURE__ */
|
|
4287
|
+
return /* @__PURE__ */ jsx28("option", { value: d.value + "", children: d.label }, d.label);
|
|
4042
4288
|
})
|
|
4043
4289
|
}
|
|
4044
4290
|
)
|
|
@@ -4050,13 +4296,30 @@ function BarGaugeControls({ config, defaultOpen, onChange }) {
|
|
|
4050
4296
|
|
|
4051
4297
|
// src/charts/options/ValueOptions.tsx
|
|
4052
4298
|
import { produce as produce9 } from "immer";
|
|
4053
|
-
import { ComboInput, classNames as
|
|
4299
|
+
import { ComboInput, classNames as classNames9 } from "@sentio/ui-core";
|
|
4300
|
+
|
|
4301
|
+
// src/charts/options/controls-ui.tsx
|
|
4302
|
+
import { classNames as classNames7 } from "@sentio/ui-core";
|
|
4303
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
4304
|
+
var AddonLabel = ({
|
|
4305
|
+
className,
|
|
4306
|
+
children
|
|
4307
|
+
}) => /* @__PURE__ */ jsx29(
|
|
4308
|
+
"span",
|
|
4309
|
+
{
|
|
4310
|
+
className: classNames7(
|
|
4311
|
+
"sm:text-icontent border-main inline-flex items-center whitespace-nowrap bg-gray-50",
|
|
4312
|
+
className
|
|
4313
|
+
),
|
|
4314
|
+
children
|
|
4315
|
+
}
|
|
4316
|
+
);
|
|
4054
4317
|
|
|
4055
4318
|
// src/charts/options/ValueStringMapping.tsx
|
|
4056
4319
|
import { LuPlus, LuTrash2 } from "react-icons/lu";
|
|
4057
|
-
import { Button, classNames as
|
|
4320
|
+
import { Button, classNames as classNames8 } from "@sentio/ui-core";
|
|
4058
4321
|
import { produce as produce8 } from "immer";
|
|
4059
|
-
import { jsx as
|
|
4322
|
+
import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4060
4323
|
var operators = {
|
|
4061
4324
|
">": "greater than",
|
|
4062
4325
|
">=": "greater or equal",
|
|
@@ -4066,17 +4329,17 @@ var operators = {
|
|
|
4066
4329
|
"<=": "less or equal"
|
|
4067
4330
|
};
|
|
4068
4331
|
var renderTreeLine = (index, isLast) => {
|
|
4069
|
-
return /* @__PURE__ */
|
|
4070
|
-
/* @__PURE__ */
|
|
4332
|
+
return /* @__PURE__ */ jsx30("div", { className: "mr-2 flex h-12 w-3 flex-col items-center justify-center", children: /* @__PURE__ */ jsxs20("div", { className: "flex h-full w-full items-center", children: [
|
|
4333
|
+
/* @__PURE__ */ jsx30(
|
|
4071
4334
|
"div",
|
|
4072
4335
|
{
|
|
4073
|
-
className:
|
|
4336
|
+
className: classNames8(
|
|
4074
4337
|
"w-px bg-gray-300",
|
|
4075
4338
|
isLast ? "h-1/2 self-start" : index === 0 ? "h-full self-end" : "h-full"
|
|
4076
4339
|
)
|
|
4077
4340
|
}
|
|
4078
4341
|
),
|
|
4079
|
-
/* @__PURE__ */
|
|
4342
|
+
/* @__PURE__ */ jsx30("div", { className: "h-px w-3 bg-gray-300" })
|
|
4080
4343
|
] }) });
|
|
4081
4344
|
};
|
|
4082
4345
|
function ValueStringMapping({ rules, onChange }) {
|
|
@@ -4116,8 +4379,8 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4116
4379
|
className: "text-text-foreground flex h-10 items-center py-1",
|
|
4117
4380
|
children: [
|
|
4118
4381
|
renderTreeLine(index, isLast),
|
|
4119
|
-
/* @__PURE__ */
|
|
4120
|
-
/* @__PURE__ */
|
|
4382
|
+
/* @__PURE__ */ jsx30("span", { className: "sm:text-ilabel inline-flex h-full items-center pr-3 font-medium", children: "If value is" }),
|
|
4383
|
+
/* @__PURE__ */ jsx30(
|
|
4121
4384
|
"select",
|
|
4122
4385
|
{
|
|
4123
4386
|
value: rule.comparison,
|
|
@@ -4131,7 +4394,7 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4131
4394
|
})
|
|
4132
4395
|
}
|
|
4133
4396
|
),
|
|
4134
|
-
/* @__PURE__ */
|
|
4397
|
+
/* @__PURE__ */ jsx30(
|
|
4135
4398
|
"input",
|
|
4136
4399
|
{
|
|
4137
4400
|
type: "text",
|
|
@@ -4145,8 +4408,8 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4145
4408
|
}
|
|
4146
4409
|
}
|
|
4147
4410
|
),
|
|
4148
|
-
/* @__PURE__ */
|
|
4149
|
-
/* @__PURE__ */
|
|
4411
|
+
/* @__PURE__ */ jsx30("span", { className: "sm:text-ilabel inline-flex h-full items-center rounded-none px-3 font-medium", children: ", then show" }),
|
|
4412
|
+
/* @__PURE__ */ jsx30(
|
|
4150
4413
|
"input",
|
|
4151
4414
|
{
|
|
4152
4415
|
type: "text",
|
|
@@ -4160,14 +4423,14 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4160
4423
|
}
|
|
4161
4424
|
}
|
|
4162
4425
|
),
|
|
4163
|
-
/* @__PURE__ */
|
|
4426
|
+
/* @__PURE__ */ jsx30(
|
|
4164
4427
|
"button",
|
|
4165
4428
|
{
|
|
4166
4429
|
type: "button",
|
|
4167
4430
|
className: "mx-2",
|
|
4168
4431
|
"aria-label": "remove",
|
|
4169
4432
|
onClick: () => removeRule(index),
|
|
4170
|
-
children: /* @__PURE__ */
|
|
4433
|
+
children: /* @__PURE__ */ jsx30(
|
|
4171
4434
|
LuTrash2,
|
|
4172
4435
|
{
|
|
4173
4436
|
className: "icon text-text-foreground-disabled",
|
|
@@ -4190,7 +4453,7 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4190
4453
|
"aria-label": "remove",
|
|
4191
4454
|
onClick: addRule,
|
|
4192
4455
|
children: [
|
|
4193
|
-
/* @__PURE__ */
|
|
4456
|
+
/* @__PURE__ */ jsx30(LuPlus, { className: classNames8("h-4 w-4"), "aria-hidden": "true" }),
|
|
4194
4457
|
"Add Formatting Rule"
|
|
4195
4458
|
]
|
|
4196
4459
|
}
|
|
@@ -4199,7 +4462,7 @@ function ValueStringMapping({ rules, onChange }) {
|
|
|
4199
4462
|
}
|
|
4200
4463
|
|
|
4201
4464
|
// src/charts/options/ValueOptions.tsx
|
|
4202
|
-
import { Fragment as Fragment8, jsx as
|
|
4465
|
+
import { Fragment as Fragment8, jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
4203
4466
|
var ValueFormatters = [
|
|
4204
4467
|
{ label: "Number", value: "NumberFormatter" },
|
|
4205
4468
|
{ label: "Date", value: "DateFormatter" },
|
|
@@ -4225,19 +4488,10 @@ var CurrencySymbols = [
|
|
|
4225
4488
|
{ label: "BTC", value: "\u0243" },
|
|
4226
4489
|
{ label: "ETH", value: "\u039E" }
|
|
4227
4490
|
];
|
|
4228
|
-
var
|
|
4491
|
+
var AddonLabel2 = ({
|
|
4229
4492
|
className,
|
|
4230
4493
|
children
|
|
4231
|
-
}) => /* @__PURE__ */
|
|
4232
|
-
"span",
|
|
4233
|
-
{
|
|
4234
|
-
className: classNames8(
|
|
4235
|
-
"sm:text-ilabel border-main inline-flex items-center whitespace-nowrap bg-gray-50 px-3",
|
|
4236
|
-
className
|
|
4237
|
-
),
|
|
4238
|
-
children
|
|
4239
|
-
}
|
|
4240
|
-
);
|
|
4494
|
+
}) => /* @__PURE__ */ jsx31(AddonLabel, { className: classNames9("px-3", className), children });
|
|
4241
4495
|
var ValueOptions = ({
|
|
4242
4496
|
config,
|
|
4243
4497
|
onChange,
|
|
@@ -4305,8 +4559,8 @@ var ValueOptions = ({
|
|
|
4305
4559
|
switch (style) {
|
|
4306
4560
|
case "None":
|
|
4307
4561
|
return /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4308
|
-
/* @__PURE__ */
|
|
4309
|
-
/* @__PURE__ */
|
|
4562
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-l-0", children: "Fraction Digits" }),
|
|
4563
|
+
/* @__PURE__ */ jsx31(
|
|
4310
4564
|
"input",
|
|
4311
4565
|
{
|
|
4312
4566
|
disabled: true,
|
|
@@ -4318,8 +4572,8 @@ var ValueOptions = ({
|
|
|
4318
4572
|
case "Percent":
|
|
4319
4573
|
case "Standard":
|
|
4320
4574
|
return /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4321
|
-
/* @__PURE__ */
|
|
4322
|
-
/* @__PURE__ */
|
|
4575
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-x-0", children: "Fraction Digits" }),
|
|
4576
|
+
/* @__PURE__ */ jsx31(
|
|
4323
4577
|
"input",
|
|
4324
4578
|
{
|
|
4325
4579
|
type: "number",
|
|
@@ -4334,8 +4588,8 @@ var ValueOptions = ({
|
|
|
4334
4588
|
] });
|
|
4335
4589
|
case "Currency":
|
|
4336
4590
|
return /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4337
|
-
/* @__PURE__ */
|
|
4338
|
-
/* @__PURE__ */
|
|
4591
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-r-0", children: "Symbol" }),
|
|
4592
|
+
/* @__PURE__ */ jsx31("div", { className: "w-28 ", children: /* @__PURE__ */ jsx31(
|
|
4339
4593
|
ComboInput,
|
|
4340
4594
|
{
|
|
4341
4595
|
onChange: onChangeSymbol,
|
|
@@ -4348,8 +4602,8 @@ var ValueOptions = ({
|
|
|
4348
4602
|
value: config?.currencySymbol
|
|
4349
4603
|
}
|
|
4350
4604
|
) }),
|
|
4351
|
-
/* @__PURE__ */
|
|
4352
|
-
/* @__PURE__ */
|
|
4605
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border", children: "Precision" }),
|
|
4606
|
+
/* @__PURE__ */ jsx31(
|
|
4353
4607
|
"input",
|
|
4354
4608
|
{
|
|
4355
4609
|
type: "number",
|
|
@@ -4365,8 +4619,8 @@ var ValueOptions = ({
|
|
|
4365
4619
|
] });
|
|
4366
4620
|
default:
|
|
4367
4621
|
return /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4368
|
-
/* @__PURE__ */
|
|
4369
|
-
/* @__PURE__ */
|
|
4622
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-x-0", children: "Max significant digits" }),
|
|
4623
|
+
/* @__PURE__ */ jsx31(
|
|
4370
4624
|
"input",
|
|
4371
4625
|
{
|
|
4372
4626
|
type: "number",
|
|
@@ -4382,24 +4636,24 @@ var ValueOptions = ({
|
|
|
4382
4636
|
}
|
|
4383
4637
|
}
|
|
4384
4638
|
return /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4385
|
-
/* @__PURE__ */
|
|
4386
|
-
/* @__PURE__ */
|
|
4387
|
-
/* @__PURE__ */
|
|
4639
|
+
/* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsxs21("div", { className: "flex", children: [
|
|
4640
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "rounded-l-md border border-r-0", children: "Value formatter" }),
|
|
4641
|
+
/* @__PURE__ */ jsx31(
|
|
4388
4642
|
"select",
|
|
4389
4643
|
{
|
|
4390
4644
|
value: config.valueFormatter,
|
|
4391
|
-
className:
|
|
4645
|
+
className: classNames9(
|
|
4392
4646
|
"sm:text-ilabel border-main text-text-foreground hover:border-primary-600 inline-flex items-center border py-1.5 pl-4 pr-7 focus:ring-0",
|
|
4393
4647
|
config.valueFormatter == "StringFormatter" ? "rounded-r-md" : ""
|
|
4394
4648
|
),
|
|
4395
4649
|
onChange: (e) => onChangeFormatter(e.target.value),
|
|
4396
4650
|
children: formatters.map((d) => {
|
|
4397
|
-
return /* @__PURE__ */
|
|
4651
|
+
return /* @__PURE__ */ jsx31("option", { value: d.value, children: d.label }, d.value);
|
|
4398
4652
|
})
|
|
4399
4653
|
}
|
|
4400
4654
|
),
|
|
4401
4655
|
config.valueFormatter == "NumberFormatter" && /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4402
|
-
/* @__PURE__ */
|
|
4656
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-l-0 border-r-0", children: "Style" }),
|
|
4403
4657
|
/* @__PURE__ */ jsxs21(
|
|
4404
4658
|
"select",
|
|
4405
4659
|
{
|
|
@@ -4407,36 +4661,36 @@ var ValueOptions = ({
|
|
|
4407
4661
|
className: "sm:text-ilabel border-main text-text-foreground hover:border-primary-600 inline-flex items-center border py-1 pl-4 pr-7 focus:ring-0",
|
|
4408
4662
|
onChange: (e) => onStyleChange(e.target.value),
|
|
4409
4663
|
children: [
|
|
4410
|
-
/* @__PURE__ */
|
|
4411
|
-
/* @__PURE__ */
|
|
4412
|
-
/* @__PURE__ */
|
|
4413
|
-
/* @__PURE__ */
|
|
4414
|
-
/* @__PURE__ */
|
|
4415
|
-
/* @__PURE__ */
|
|
4664
|
+
/* @__PURE__ */ jsx31("option", { value: "None", children: "None" }),
|
|
4665
|
+
/* @__PURE__ */ jsx31("option", { value: "Compact", children: "Compact" }),
|
|
4666
|
+
/* @__PURE__ */ jsx31("option", { value: "Standard", children: "Standard" }),
|
|
4667
|
+
/* @__PURE__ */ jsx31("option", { value: "Scientific", children: "Scientific" }),
|
|
4668
|
+
/* @__PURE__ */ jsx31("option", { value: "Percent", children: "Percent" }),
|
|
4669
|
+
/* @__PURE__ */ jsx31("option", { value: "Currency", children: "Currency" })
|
|
4416
4670
|
]
|
|
4417
4671
|
}
|
|
4418
4672
|
),
|
|
4419
4673
|
config.style && numberAddons(config.style)
|
|
4420
4674
|
] }),
|
|
4421
4675
|
config.valueFormatter == "DateFormatter" && /* @__PURE__ */ jsxs21(Fragment8, { children: [
|
|
4422
|
-
/* @__PURE__ */
|
|
4423
|
-
/* @__PURE__ */
|
|
4676
|
+
/* @__PURE__ */ jsx31(AddonLabel2, { className: "border border-l-0", children: "Date format" }),
|
|
4677
|
+
/* @__PURE__ */ jsx31(
|
|
4424
4678
|
"select",
|
|
4425
4679
|
{
|
|
4426
4680
|
value: config.dateFormat,
|
|
4427
4681
|
className: "sm:text-ilabel border-main text-text-foreground inline-flex items-center rounded-r-md border border-l-0 py-1 pl-4 pr-7",
|
|
4428
4682
|
onChange: (e) => onChangeDateFormat(e.target.value),
|
|
4429
4683
|
children: dateFormats.map((d) => {
|
|
4430
|
-
return /* @__PURE__ */
|
|
4684
|
+
return /* @__PURE__ */ jsx31("option", { value: d.value, children: d.label }, d.value);
|
|
4431
4685
|
})
|
|
4432
4686
|
}
|
|
4433
4687
|
)
|
|
4434
4688
|
] })
|
|
4435
4689
|
] }) }),
|
|
4436
|
-
(showPrefix || showSuffix) && /* @__PURE__ */
|
|
4690
|
+
(showPrefix || showSuffix) && /* @__PURE__ */ jsx31("div", { children: /* @__PURE__ */ jsxs21("div", { className: "mt-2 flex items-center gap-4", children: [
|
|
4437
4691
|
showPrefix && /* @__PURE__ */ jsxs21("div", { className: "border-main hover:border-primary-600 focus-within:border-primary-600 focus-within:ring-3 focus-within:ring-primary-500/30 text-icontent inline-flex items-center rounded-md border", children: [
|
|
4438
|
-
/* @__PURE__ */
|
|
4439
|
-
/* @__PURE__ */
|
|
4692
|
+
/* @__PURE__ */ jsx31("div", { className: "h-7.5 leading-7.5 border-r px-3", children: "Prefix" }),
|
|
4693
|
+
/* @__PURE__ */ jsx31(
|
|
4440
4694
|
"input",
|
|
4441
4695
|
{
|
|
4442
4696
|
type: "text",
|
|
@@ -4448,8 +4702,8 @@ var ValueOptions = ({
|
|
|
4448
4702
|
)
|
|
4449
4703
|
] }),
|
|
4450
4704
|
showSuffix && /* @__PURE__ */ jsxs21("div", { className: "border-main hover:border-primary-600 focus-within:border-primary-600 focus-within:ring-3 focus-within:ring-primary-500/30 text-icontent inline-flex items-center rounded-md border", children: [
|
|
4451
|
-
/* @__PURE__ */
|
|
4452
|
-
/* @__PURE__ */
|
|
4705
|
+
/* @__PURE__ */ jsx31("div", { className: "h-7.5 leading-7.5 border-r px-3", children: "Suffix" }),
|
|
4706
|
+
/* @__PURE__ */ jsx31(
|
|
4453
4707
|
"input",
|
|
4454
4708
|
{
|
|
4455
4709
|
type: "text",
|
|
@@ -4461,7 +4715,7 @@ var ValueOptions = ({
|
|
|
4461
4715
|
)
|
|
4462
4716
|
] })
|
|
4463
4717
|
] }) }),
|
|
4464
|
-
config.valueFormatter == "StringFormatter" && /* @__PURE__ */
|
|
4718
|
+
config.valueFormatter == "StringFormatter" && /* @__PURE__ */ jsx31(
|
|
4465
4719
|
ValueStringMapping,
|
|
4466
4720
|
{
|
|
4467
4721
|
rules: config.mappingRules || [],
|
|
@@ -4475,7 +4729,7 @@ var ValueOptions = ({
|
|
|
4475
4729
|
import { defaults as defaults3 } from "lodash";
|
|
4476
4730
|
import { Checkbox as Checkbox3, DisclosurePanel as DisclosurePanel5 } from "@sentio/ui-core";
|
|
4477
4731
|
import { produce as produce10 } from "immer";
|
|
4478
|
-
import { jsx as
|
|
4732
|
+
import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4479
4733
|
var defaultConfig4 = {
|
|
4480
4734
|
valueFormatter: "NumberFormatter",
|
|
4481
4735
|
showValueLabel: false,
|
|
@@ -4509,7 +4763,7 @@ var ValueControls = ({
|
|
|
4509
4763
|
defaultOpen,
|
|
4510
4764
|
containerClassName: "w-full bg-default-bg",
|
|
4511
4765
|
children: [
|
|
4512
|
-
/* @__PURE__ */
|
|
4766
|
+
/* @__PURE__ */ jsx32(
|
|
4513
4767
|
ValueOptions,
|
|
4514
4768
|
{
|
|
4515
4769
|
onChange,
|
|
@@ -4520,7 +4774,7 @@ var ValueControls = ({
|
|
|
4520
4774
|
}
|
|
4521
4775
|
),
|
|
4522
4776
|
/* @__PURE__ */ jsxs22("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
4523
|
-
/* @__PURE__ */
|
|
4777
|
+
/* @__PURE__ */ jsx32(
|
|
4524
4778
|
Checkbox3,
|
|
4525
4779
|
{
|
|
4526
4780
|
checked: config?.showValueLabel,
|
|
@@ -4528,7 +4782,7 @@ var ValueControls = ({
|
|
|
4528
4782
|
label: "Show value label"
|
|
4529
4783
|
}
|
|
4530
4784
|
),
|
|
4531
|
-
/* @__PURE__ */
|
|
4785
|
+
/* @__PURE__ */ jsx32(
|
|
4532
4786
|
Checkbox3,
|
|
4533
4787
|
{
|
|
4534
4788
|
checked: config?.tooltipTotal,
|
|
@@ -4541,17 +4795,608 @@ var ValueControls = ({
|
|
|
4541
4795
|
}
|
|
4542
4796
|
);
|
|
4543
4797
|
};
|
|
4798
|
+
|
|
4799
|
+
// src/charts/options/YaxisControls.tsx
|
|
4800
|
+
import { defaults as defaults4 } from "lodash";
|
|
4801
|
+
import { Button as Button2, Checkbox as Checkbox4, DisclosurePanel as DisclosurePanel6 } from "@sentio/ui-core";
|
|
4802
|
+
import { Fragment as Fragment9, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4803
|
+
var initialConfig2 = {
|
|
4804
|
+
yAxis: {
|
|
4805
|
+
min: "",
|
|
4806
|
+
max: "",
|
|
4807
|
+
scale: true,
|
|
4808
|
+
stack: ""
|
|
4809
|
+
}
|
|
4810
|
+
};
|
|
4811
|
+
function YaxisControls({
|
|
4812
|
+
yAxis,
|
|
4813
|
+
setYAxis,
|
|
4814
|
+
defaultOpen,
|
|
4815
|
+
columnSelect,
|
|
4816
|
+
supportSetName = true,
|
|
4817
|
+
supportSetMinMax = true,
|
|
4818
|
+
supportStackSeries = true,
|
|
4819
|
+
supportAlwaysShowZero = true,
|
|
4820
|
+
supportReset = true,
|
|
4821
|
+
panelTitle = "Y-Axis Controls"
|
|
4822
|
+
}) {
|
|
4823
|
+
yAxis = defaults4(yAxis || {}, initialConfig2.yAxis);
|
|
4824
|
+
const onChangeInput = (field) => (event) => {
|
|
4825
|
+
const { value } = event.target;
|
|
4826
|
+
setYAxis({
|
|
4827
|
+
...yAxis,
|
|
4828
|
+
[field]: value || void 0,
|
|
4829
|
+
scale: field == "min" && value > "0" ? true : yAxis?.scale
|
|
4830
|
+
});
|
|
4831
|
+
};
|
|
4832
|
+
const onToggleZero = (checked) => {
|
|
4833
|
+
setYAxis({ ...yAxis, scale: !checked, min: checked ? "" : yAxis?.min });
|
|
4834
|
+
};
|
|
4835
|
+
const onClickResetYAxis = () => {
|
|
4836
|
+
setYAxis(initialConfig2.yAxis);
|
|
4837
|
+
};
|
|
4838
|
+
const onToggleStack = (checked) => {
|
|
4839
|
+
setYAxis({ ...yAxis, stacked: checked ? "samesign" : "" });
|
|
4840
|
+
};
|
|
4841
|
+
const minMaxLabelCls = "inline-flex items-center border border-r-0 sm:text-icontent border-main bg-gray-50 px-2 rounded-l-md";
|
|
4842
|
+
const minMaxInputCls = "border focus:border-primary-500 rounded-r-md sm:text-icontent border-main hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30";
|
|
4843
|
+
return /* @__PURE__ */ jsx33(
|
|
4844
|
+
DisclosurePanel6,
|
|
4845
|
+
{
|
|
4846
|
+
title: panelTitle,
|
|
4847
|
+
defaultOpen,
|
|
4848
|
+
containerClassName: "w-full bg-default-bg",
|
|
4849
|
+
children: /* @__PURE__ */ jsxs23("div", { className: "text-icontent flex flex-wrap gap-[10px]", children: [
|
|
4850
|
+
supportSetName && /* @__PURE__ */ jsxs23("label", { className: "inline-flex h-8", children: [
|
|
4851
|
+
/* @__PURE__ */ jsx33(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Name" }),
|
|
4852
|
+
/* @__PURE__ */ jsx33(
|
|
4853
|
+
"input",
|
|
4854
|
+
{
|
|
4855
|
+
type: "text",
|
|
4856
|
+
className: "focus:border-primary-500 sm:text-icontent border-main hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 w-40 rounded-r-md border",
|
|
4857
|
+
value: yAxis?.name,
|
|
4858
|
+
placeholder: "Axis Name",
|
|
4859
|
+
onChange: onChangeInput("name")
|
|
4860
|
+
}
|
|
4861
|
+
)
|
|
4862
|
+
] }),
|
|
4863
|
+
columnSelect && /* @__PURE__ */ jsxs23("span", { className: "inline-flex h-8", children: [
|
|
4864
|
+
/* @__PURE__ */ jsx33(AddonLabel, { className: "rounded-l-md border px-2", children: "Column" }),
|
|
4865
|
+
columnSelect
|
|
4866
|
+
] }),
|
|
4867
|
+
supportSetMinMax && /* @__PURE__ */ jsxs23(Fragment9, { children: [
|
|
4868
|
+
/* @__PURE__ */ jsxs23("label", { className: "inline-flex h-8", children: [
|
|
4869
|
+
/* @__PURE__ */ jsx33("span", { className: minMaxLabelCls, children: "Min" }),
|
|
4870
|
+
/* @__PURE__ */ jsx33(
|
|
4871
|
+
"input",
|
|
4872
|
+
{
|
|
4873
|
+
type: "text",
|
|
4874
|
+
className: minMaxInputCls,
|
|
4875
|
+
style: { width: "10em" },
|
|
4876
|
+
value: yAxis.min,
|
|
4877
|
+
placeholder: "Auto",
|
|
4878
|
+
onChange: onChangeInput("min")
|
|
4879
|
+
}
|
|
4880
|
+
)
|
|
4881
|
+
] }),
|
|
4882
|
+
/* @__PURE__ */ jsxs23("label", { className: "inline-flex h-8", children: [
|
|
4883
|
+
/* @__PURE__ */ jsx33("span", { className: minMaxLabelCls, children: "Max" }),
|
|
4884
|
+
/* @__PURE__ */ jsx33(
|
|
4885
|
+
"input",
|
|
4886
|
+
{
|
|
4887
|
+
type: "text",
|
|
4888
|
+
className: minMaxInputCls,
|
|
4889
|
+
style: { width: "10em" },
|
|
4890
|
+
value: yAxis.max,
|
|
4891
|
+
placeholder: "Auto",
|
|
4892
|
+
onChange: onChangeInput("max")
|
|
4893
|
+
}
|
|
4894
|
+
)
|
|
4895
|
+
] })
|
|
4896
|
+
] }),
|
|
4897
|
+
supportStackSeries && /* @__PURE__ */ jsx33(
|
|
4898
|
+
Checkbox4,
|
|
4899
|
+
{
|
|
4900
|
+
checked: !!yAxis?.stacked,
|
|
4901
|
+
onChange: onToggleStack,
|
|
4902
|
+
label: "Stack series"
|
|
4903
|
+
}
|
|
4904
|
+
),
|
|
4905
|
+
supportAlwaysShowZero && /* @__PURE__ */ jsx33(
|
|
4906
|
+
Checkbox4,
|
|
4907
|
+
{
|
|
4908
|
+
checked: !yAxis.scale,
|
|
4909
|
+
onChange: onToggleZero,
|
|
4910
|
+
label: "Always show zero"
|
|
4911
|
+
}
|
|
4912
|
+
),
|
|
4913
|
+
supportReset && /* @__PURE__ */ jsx33(Button2, { type: "button", role: "link", onClick: onClickResetYAxis, children: "Reset" })
|
|
4914
|
+
] })
|
|
4915
|
+
}
|
|
4916
|
+
);
|
|
4917
|
+
}
|
|
4918
|
+
|
|
4919
|
+
// src/charts/options/XaxisControls.tsx
|
|
4920
|
+
import {
|
|
4921
|
+
Button as Button3,
|
|
4922
|
+
DisclosurePanel as DisclosurePanel7,
|
|
4923
|
+
PopoverTooltip,
|
|
4924
|
+
Select
|
|
4925
|
+
} from "@sentio/ui-core";
|
|
4926
|
+
import { LuInfo } from "react-icons/lu";
|
|
4927
|
+
import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4928
|
+
var TypeSelect = Select;
|
|
4929
|
+
var SortSelect = Select;
|
|
4930
|
+
var OrderSelect = Select;
|
|
4931
|
+
var sortByItems2 = [
|
|
4932
|
+
{ label: "Name", value: "ByName" },
|
|
4933
|
+
{ label: "Value", value: "ByValue" }
|
|
4934
|
+
];
|
|
4935
|
+
var orderItems2 = [
|
|
4936
|
+
{ label: "Ascendant", value: false },
|
|
4937
|
+
{ label: "Descendant", value: true }
|
|
4938
|
+
];
|
|
4939
|
+
var XAxisControls = ({
|
|
4940
|
+
xAxis,
|
|
4941
|
+
setXAxis,
|
|
4942
|
+
defaultOpen,
|
|
4943
|
+
columnSelect,
|
|
4944
|
+
columnIsNonTime,
|
|
4945
|
+
panelTitle = "X-Axis Controls",
|
|
4946
|
+
supportName = true,
|
|
4947
|
+
supportSort,
|
|
4948
|
+
supportSetType
|
|
4949
|
+
}) => {
|
|
4950
|
+
const onChangeInput = (field) => (event) => {
|
|
4951
|
+
const { value } = event.target;
|
|
4952
|
+
setXAxis({ ...xAxis, [field]: value || void 0 });
|
|
4953
|
+
};
|
|
4954
|
+
const onClickResetXAxis = () => {
|
|
4955
|
+
setXAxis(void 0);
|
|
4956
|
+
};
|
|
4957
|
+
const isXAixsNoneTime = xAxis && xAxis.column && columnIsNonTime;
|
|
4958
|
+
return /* @__PURE__ */ jsx34(
|
|
4959
|
+
DisclosurePanel7,
|
|
4960
|
+
{
|
|
4961
|
+
title: panelTitle,
|
|
4962
|
+
defaultOpen,
|
|
4963
|
+
containerClassName: "w-full bg-default-bg",
|
|
4964
|
+
children: /* @__PURE__ */ jsxs24("div", { className: "text-icontent flex flex-wrap gap-[10px]", children: [
|
|
4965
|
+
supportName && /* @__PURE__ */ jsxs24("label", { className: "inline-flex h-8", children: [
|
|
4966
|
+
/* @__PURE__ */ jsx34(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Name" }),
|
|
4967
|
+
/* @__PURE__ */ jsx34(
|
|
4968
|
+
"input",
|
|
4969
|
+
{
|
|
4970
|
+
type: "text",
|
|
4971
|
+
className: "sm:text-icontent border-main hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 w-40 rounded-r-md",
|
|
4972
|
+
value: xAxis?.name,
|
|
4973
|
+
placeholder: "Axis Name",
|
|
4974
|
+
onChange: onChangeInput("name")
|
|
4975
|
+
}
|
|
4976
|
+
)
|
|
4977
|
+
] }),
|
|
4978
|
+
supportSetType && /* @__PURE__ */ jsxs24("span", { className: "inline-flex h-8", children: [
|
|
4979
|
+
/* @__PURE__ */ jsxs24("span", { className: "sm:text-icontent border-main inline-flex items-center rounded-l-md border border-r-0 bg-gray-50 px-2", children: [
|
|
4980
|
+
"X-Axis Type",
|
|
4981
|
+
" ",
|
|
4982
|
+
/* @__PURE__ */ jsx34(
|
|
4983
|
+
PopoverTooltip,
|
|
4984
|
+
{
|
|
4985
|
+
strategy: "fixed",
|
|
4986
|
+
hideArrow: true,
|
|
4987
|
+
placementOption: "bottom",
|
|
4988
|
+
text: /* @__PURE__ */ jsxs24("div", { className: "text-text-foreground max-w-[300px] p-2", children: [
|
|
4989
|
+
/* @__PURE__ */ jsx34("span", { className: "font-medium", children: "Discrete axis" }),
|
|
4990
|
+
" displays",
|
|
4991
|
+
" ",
|
|
4992
|
+
/* @__PURE__ */ jsx34("span", { className: "text-primary-600", children: "discrete values evenly" }),
|
|
4993
|
+
", while ",
|
|
4994
|
+
/* @__PURE__ */ jsx34("span", { className: "font-medium", children: "Continuous axis" }),
|
|
4995
|
+
" ",
|
|
4996
|
+
"shows",
|
|
4997
|
+
" ",
|
|
4998
|
+
/* @__PURE__ */ jsx34("span", { className: "text-primary-600", children: "continuous time series" }),
|
|
4999
|
+
" ",
|
|
5000
|
+
"and",
|
|
5001
|
+
" ",
|
|
5002
|
+
/* @__PURE__ */ jsx34("span", { className: "text-primary-600", children: "auto-fills missing time points" })
|
|
5003
|
+
] }),
|
|
5004
|
+
children: /* @__PURE__ */ jsx34(LuInfo, { className: "text-text-foreground-secondary h-4 w-4" })
|
|
5005
|
+
}
|
|
5006
|
+
)
|
|
5007
|
+
] }),
|
|
5008
|
+
/* @__PURE__ */ jsx34(
|
|
5009
|
+
TypeSelect,
|
|
5010
|
+
{
|
|
5011
|
+
className: "h-8 w-40",
|
|
5012
|
+
buttonClassName: "h-full border-main rounded-l-none items-center inline-flex items-center",
|
|
5013
|
+
value: xAxis?.type || "time",
|
|
5014
|
+
onChange: (val) => {
|
|
5015
|
+
setXAxis({ ...xAxis, type: val });
|
|
5016
|
+
},
|
|
5017
|
+
options: [
|
|
5018
|
+
{ label: "Continuous", value: "time" },
|
|
5019
|
+
{ label: "Discrete", value: "category" }
|
|
5020
|
+
]
|
|
5021
|
+
}
|
|
5022
|
+
)
|
|
5023
|
+
] }),
|
|
5024
|
+
columnSelect && /* @__PURE__ */ jsxs24("span", { className: "inline-flex h-8", children: [
|
|
5025
|
+
/* @__PURE__ */ jsx34(AddonLabel, { className: "rounded-l-md border px-2", children: "Column" }),
|
|
5026
|
+
columnSelect
|
|
5027
|
+
] }),
|
|
5028
|
+
supportSort && isXAixsNoneTime && /* @__PURE__ */ jsxs24("span", { className: "inline-flex h-8", children: [
|
|
5029
|
+
/* @__PURE__ */ jsx34(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Sort By" }),
|
|
5030
|
+
/* @__PURE__ */ jsx34(
|
|
5031
|
+
SortSelect,
|
|
5032
|
+
{
|
|
5033
|
+
className: "h-8 w-20 leading-8",
|
|
5034
|
+
buttonClassName: "h-full border-main rounded-none inline-flex items-center",
|
|
5035
|
+
options: sortByItems2,
|
|
5036
|
+
value: xAxis?.sort?.sortBy,
|
|
5037
|
+
onChange: (value) => {
|
|
5038
|
+
setXAxis({
|
|
5039
|
+
...xAxis,
|
|
5040
|
+
sort: { ...xAxis?.sort, sortBy: value }
|
|
5041
|
+
});
|
|
5042
|
+
},
|
|
5043
|
+
placeholder: "Sort By"
|
|
5044
|
+
}
|
|
5045
|
+
),
|
|
5046
|
+
/* @__PURE__ */ jsx34(
|
|
5047
|
+
OrderSelect,
|
|
5048
|
+
{
|
|
5049
|
+
className: "h-8 w-40 leading-8",
|
|
5050
|
+
buttonClassName: "h-full border-l-0 border-main rounded-l-none inline-flex items-center",
|
|
5051
|
+
options: orderItems2,
|
|
5052
|
+
value: xAxis?.sort?.orderDesc,
|
|
5053
|
+
onChange: (value) => {
|
|
5054
|
+
setXAxis({
|
|
5055
|
+
...xAxis,
|
|
5056
|
+
sort: { ...xAxis?.sort, orderDesc: value }
|
|
5057
|
+
});
|
|
5058
|
+
},
|
|
5059
|
+
placeholder: "Sort Order"
|
|
5060
|
+
}
|
|
5061
|
+
)
|
|
5062
|
+
] }),
|
|
5063
|
+
/* @__PURE__ */ jsx34(
|
|
5064
|
+
Button3,
|
|
5065
|
+
{
|
|
5066
|
+
type: "button",
|
|
5067
|
+
role: "link",
|
|
5068
|
+
onClick: onClickResetXAxis,
|
|
5069
|
+
className: "h-8",
|
|
5070
|
+
children: "Reset"
|
|
5071
|
+
}
|
|
5072
|
+
)
|
|
5073
|
+
] })
|
|
5074
|
+
}
|
|
5075
|
+
);
|
|
5076
|
+
};
|
|
5077
|
+
|
|
5078
|
+
// src/charts/options/MarkerControls.tsx
|
|
5079
|
+
import { produce as produce11 } from "immer";
|
|
5080
|
+
import { LuMinus, LuPlus as LuPlus2 } from "react-icons/lu";
|
|
5081
|
+
import { Button as Button4, DisclosurePanel as DisclosurePanel8 } from "@sentio/ui-core";
|
|
5082
|
+
import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5083
|
+
var labelCls = "inline-flex items-center border border-r-0 sm:text-icontent border-main bg-gray-50 px-2 rounded-l-md";
|
|
5084
|
+
var inputCls = "border focus:border-primary-500 rounded-r-md sm:text-icontent border-main w-28 hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30";
|
|
5085
|
+
function MarkerInput({
|
|
5086
|
+
marker,
|
|
5087
|
+
label,
|
|
5088
|
+
onChange,
|
|
5089
|
+
onRemove
|
|
5090
|
+
}) {
|
|
5091
|
+
const _onChange = (field, value) => {
|
|
5092
|
+
onChange(
|
|
5093
|
+
produce11(marker, (draft) => {
|
|
5094
|
+
;
|
|
5095
|
+
draft[field] = value;
|
|
5096
|
+
})
|
|
5097
|
+
);
|
|
5098
|
+
};
|
|
5099
|
+
return /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-[10px]", children: [
|
|
5100
|
+
/* @__PURE__ */ jsxs25("label", { className: "inline-flex h-8", children: [
|
|
5101
|
+
/* @__PURE__ */ jsxs25("span", { className: labelCls, children: [
|
|
5102
|
+
/* @__PURE__ */ jsx35("span", { className: "pr-2", children: label }),
|
|
5103
|
+
/* @__PURE__ */ jsxs25(
|
|
5104
|
+
"select",
|
|
5105
|
+
{
|
|
5106
|
+
className: "sm:text-ilabel border-main text-text-foreground inline-flex h-full items-center border border-b-0 border-t-0 bg-gray-50 p-0 pl-4 pr-7 focus:border-transparent focus:ring-inset",
|
|
5107
|
+
value: marker.type,
|
|
5108
|
+
onChange: (e) => _onChange("type", e.target.value),
|
|
5109
|
+
children: [
|
|
5110
|
+
/* @__PURE__ */ jsx35("option", { value: "LINE", children: "horizontal line" }),
|
|
5111
|
+
/* @__PURE__ */ jsx35("option", { value: "LINEX", children: "vertical line" })
|
|
5112
|
+
]
|
|
5113
|
+
}
|
|
5114
|
+
),
|
|
5115
|
+
/* @__PURE__ */ jsx35("span", { className: "pl-2", children: "at" })
|
|
5116
|
+
] }),
|
|
5117
|
+
marker.type === "LINEX" ? /* @__PURE__ */ jsx35(
|
|
5118
|
+
"input",
|
|
5119
|
+
{
|
|
5120
|
+
className: inputCls,
|
|
5121
|
+
type: "text",
|
|
5122
|
+
value: marker.valueX,
|
|
5123
|
+
placeholder: "YYYY-MM-DD",
|
|
5124
|
+
onChange: (e) => _onChange("valueX", e.target.value)
|
|
5125
|
+
}
|
|
5126
|
+
) : /* @__PURE__ */ jsx35(
|
|
5127
|
+
"input",
|
|
5128
|
+
{
|
|
5129
|
+
className: inputCls,
|
|
5130
|
+
type: "text",
|
|
5131
|
+
value: marker.value,
|
|
5132
|
+
onChange: (e) => _onChange("value", e.target.value)
|
|
5133
|
+
}
|
|
5134
|
+
)
|
|
5135
|
+
] }),
|
|
5136
|
+
/* @__PURE__ */ jsxs25("label", { className: "inline-flex h-8", children: [
|
|
5137
|
+
/* @__PURE__ */ jsx35("span", { className: labelCls, children: "Color" }),
|
|
5138
|
+
/* @__PURE__ */ jsxs25("div", { className: "relative", children: [
|
|
5139
|
+
/* @__PURE__ */ jsx35("div", { className: "absolute inset-0 flex w-8 items-center justify-center", children: /* @__PURE__ */ jsx35("div", { className: "h-4 w-4", style: { background: marker.color } }) }),
|
|
5140
|
+
/* @__PURE__ */ jsx35(
|
|
5141
|
+
"input",
|
|
5142
|
+
{
|
|
5143
|
+
className: inputCls + " pl-8",
|
|
5144
|
+
type: "text",
|
|
5145
|
+
value: marker.color,
|
|
5146
|
+
onChange: (e) => _onChange("color", e.target.value)
|
|
5147
|
+
}
|
|
5148
|
+
)
|
|
5149
|
+
] })
|
|
5150
|
+
] }),
|
|
5151
|
+
/* @__PURE__ */ jsxs25("label", { className: "inline-flex h-8", children: [
|
|
5152
|
+
/* @__PURE__ */ jsx35("span", { className: labelCls, children: "Label" }),
|
|
5153
|
+
/* @__PURE__ */ jsx35(
|
|
5154
|
+
"input",
|
|
5155
|
+
{
|
|
5156
|
+
className: inputCls,
|
|
5157
|
+
type: "text",
|
|
5158
|
+
value: marker.label,
|
|
5159
|
+
onChange: (e) => _onChange("label", e.target.value)
|
|
5160
|
+
}
|
|
5161
|
+
)
|
|
5162
|
+
] }),
|
|
5163
|
+
/* @__PURE__ */ jsx35(
|
|
5164
|
+
"button",
|
|
5165
|
+
{
|
|
5166
|
+
type: "button",
|
|
5167
|
+
className: "ml-2 flex h-4 w-4 cursor-pointer items-center justify-center rounded-full bg-gray-800 hover:bg-red-600",
|
|
5168
|
+
"aria-label": "Remove marker",
|
|
5169
|
+
onClick: onRemove,
|
|
5170
|
+
children: /* @__PURE__ */ jsx35(
|
|
5171
|
+
LuMinus,
|
|
5172
|
+
{
|
|
5173
|
+
className: "dark:text-default-bg h-3 w-3 text-white",
|
|
5174
|
+
"aria-hidden": "true"
|
|
5175
|
+
}
|
|
5176
|
+
)
|
|
5177
|
+
}
|
|
5178
|
+
)
|
|
5179
|
+
] });
|
|
5180
|
+
}
|
|
5181
|
+
var DEFAULT_MARKER = { value: 0, color: "#ff0000", label: "" };
|
|
5182
|
+
function MarkerControls({ markers, onChange }) {
|
|
5183
|
+
const _markers = markers?.length ? markers : [];
|
|
5184
|
+
const onAdd = () => {
|
|
5185
|
+
onChange(
|
|
5186
|
+
produce11(_markers, (draft) => {
|
|
5187
|
+
draft.push(DEFAULT_MARKER);
|
|
5188
|
+
})
|
|
5189
|
+
);
|
|
5190
|
+
};
|
|
5191
|
+
const onRemove = (index) => {
|
|
5192
|
+
onChange(
|
|
5193
|
+
produce11(_markers, (draft) => {
|
|
5194
|
+
draft.splice(index, 1);
|
|
5195
|
+
})
|
|
5196
|
+
);
|
|
5197
|
+
};
|
|
5198
|
+
const _onChange = (index, marker) => {
|
|
5199
|
+
onChange(
|
|
5200
|
+
produce11(_markers, (draft) => {
|
|
5201
|
+
draft[index] = marker;
|
|
5202
|
+
})
|
|
5203
|
+
);
|
|
5204
|
+
};
|
|
5205
|
+
return /* @__PURE__ */ jsx35(
|
|
5206
|
+
DisclosurePanel8,
|
|
5207
|
+
{
|
|
5208
|
+
title: "Markers",
|
|
5209
|
+
containerClassName: "w-full bg-default-bg",
|
|
5210
|
+
defaultOpen: true,
|
|
5211
|
+
children: /* @__PURE__ */ jsxs25("div", { className: "space-y-2", children: [
|
|
5212
|
+
_markers.map((marker, index) => /* @__PURE__ */ jsx35(
|
|
5213
|
+
MarkerInput,
|
|
5214
|
+
{
|
|
5215
|
+
marker,
|
|
5216
|
+
label: String.fromCharCode(65 + index % 26),
|
|
5217
|
+
onChange: (v) => _onChange(index, v),
|
|
5218
|
+
onRemove: () => onRemove(index)
|
|
5219
|
+
},
|
|
5220
|
+
index
|
|
5221
|
+
)),
|
|
5222
|
+
/* @__PURE__ */ jsx35("div", { children: /* @__PURE__ */ jsxs25(Button4, { type: "button", onClick: onAdd, children: [
|
|
5223
|
+
/* @__PURE__ */ jsx35(LuPlus2, { className: "h-4 w-4", "aria-hidden": "true" }),
|
|
5224
|
+
"Add Marker"
|
|
5225
|
+
] }) })
|
|
5226
|
+
] })
|
|
5227
|
+
}
|
|
5228
|
+
);
|
|
5229
|
+
}
|
|
5230
|
+
|
|
5231
|
+
// src/charts/options/DataControls.tsx
|
|
5232
|
+
import { produce as produce12 } from "immer";
|
|
5233
|
+
import { defaults as defaults5 } from "lodash";
|
|
5234
|
+
import { DisclosurePanel as DisclosurePanel9 } from "@sentio/ui-core";
|
|
5235
|
+
import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
5236
|
+
var defaultConfig5 = {
|
|
5237
|
+
seriesLimit: void 0
|
|
5238
|
+
};
|
|
5239
|
+
function DataControls({
|
|
5240
|
+
defaultOpen,
|
|
5241
|
+
onChange,
|
|
5242
|
+
chartConfig,
|
|
5243
|
+
defaultSeriesLimit = 20
|
|
5244
|
+
}) {
|
|
5245
|
+
const config = defaults5(chartConfig?.dataConfig, defaultConfig5);
|
|
5246
|
+
const currentSeriesLimit = config?.seriesLimit || chartConfig?.tableConfig?.rowLimit;
|
|
5247
|
+
function onSeriesLimitChange(e) {
|
|
5248
|
+
const value = parseInt(e.target.value);
|
|
5249
|
+
if (value > 1e3) {
|
|
5250
|
+
return;
|
|
5251
|
+
}
|
|
5252
|
+
config && onChange(
|
|
5253
|
+
produce12(config, (draft) => {
|
|
5254
|
+
draft.seriesLimit = value;
|
|
5255
|
+
})
|
|
5256
|
+
);
|
|
5257
|
+
}
|
|
5258
|
+
function onKeyDown(e) {
|
|
5259
|
+
if (!/[0-9]/.test(e.key) && !["Backspace", "Delete", "ArrowLeft", "ArrowRight", "Tab"].includes(e.key)) {
|
|
5260
|
+
e.preventDefault();
|
|
5261
|
+
}
|
|
5262
|
+
}
|
|
5263
|
+
return /* @__PURE__ */ jsx36(
|
|
5264
|
+
DisclosurePanel9,
|
|
5265
|
+
{
|
|
5266
|
+
title: "Data Options",
|
|
5267
|
+
defaultOpen,
|
|
5268
|
+
containerClassName: "w-full bg-default-bg",
|
|
5269
|
+
children: /* @__PURE__ */ jsxs26("div", { className: "flex h-8", children: [
|
|
5270
|
+
/* @__PURE__ */ jsx36(AddonLabel, { className: "rounded-l-md border border-r-0 px-3", children: "Max Series Limit" }),
|
|
5271
|
+
/* @__PURE__ */ jsx36(
|
|
5272
|
+
"input",
|
|
5273
|
+
{
|
|
5274
|
+
type: "number",
|
|
5275
|
+
max: 1e3,
|
|
5276
|
+
min: 20,
|
|
5277
|
+
className: "text-icontent border-main hover:border-primary-600 focus:ring-3 focus:ring-primary-600/30 focus:border-primary-600 mr-1 w-32 rounded-r-md",
|
|
5278
|
+
value: currentSeriesLimit ?? defaultSeriesLimit,
|
|
5279
|
+
onChange: onSeriesLimitChange,
|
|
5280
|
+
onKeyDown
|
|
5281
|
+
}
|
|
5282
|
+
)
|
|
5283
|
+
] })
|
|
5284
|
+
}
|
|
5285
|
+
);
|
|
5286
|
+
}
|
|
5287
|
+
|
|
5288
|
+
// src/charts/options/ScatterControls.tsx
|
|
5289
|
+
import { produce as produce13 } from "immer";
|
|
5290
|
+
import { defaults as defaults6 } from "lodash";
|
|
5291
|
+
import { useCallback as useCallback4 } from "react";
|
|
5292
|
+
import { DisclosurePanel as DisclosurePanel10 } from "@sentio/ui-core";
|
|
5293
|
+
import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5294
|
+
var defaultConfig6 = {
|
|
5295
|
+
minSize: 5,
|
|
5296
|
+
maxSize: 30
|
|
5297
|
+
};
|
|
5298
|
+
function ScatterControls({
|
|
5299
|
+
config,
|
|
5300
|
+
defaultOpen,
|
|
5301
|
+
onChange,
|
|
5302
|
+
columnSelect,
|
|
5303
|
+
colorPicker
|
|
5304
|
+
}) {
|
|
5305
|
+
config = defaults6(config, defaultConfig6);
|
|
5306
|
+
const onSymbolSizeColumnChange = useCallback4(
|
|
5307
|
+
(column) => {
|
|
5308
|
+
config && onChange(produce13(config, (draft) => void (draft.symbolSize = column)));
|
|
5309
|
+
},
|
|
5310
|
+
[config, onChange]
|
|
5311
|
+
);
|
|
5312
|
+
const onSymbolColorChange = useCallback4(
|
|
5313
|
+
(color) => {
|
|
5314
|
+
config && onChange(produce13(config, (draft) => void (draft.color = color)));
|
|
5315
|
+
},
|
|
5316
|
+
[config, onChange]
|
|
5317
|
+
);
|
|
5318
|
+
const onMinSizeChange = useCallback4(
|
|
5319
|
+
(event) => {
|
|
5320
|
+
const value = parseInt(event.target.value) || 5;
|
|
5321
|
+
config && onChange(produce13(config, (draft) => void (draft.minSize = value)));
|
|
5322
|
+
},
|
|
5323
|
+
[config, onChange]
|
|
5324
|
+
);
|
|
5325
|
+
const onMaxSizeChange = useCallback4(
|
|
5326
|
+
(event) => {
|
|
5327
|
+
const value = parseInt(event.target.value) || 50;
|
|
5328
|
+
config && onChange(produce13(config, (draft) => void (draft.maxSize = value)));
|
|
5329
|
+
},
|
|
5330
|
+
[config, onChange]
|
|
5331
|
+
);
|
|
5332
|
+
return /* @__PURE__ */ jsx37(
|
|
5333
|
+
DisclosurePanel10,
|
|
5334
|
+
{
|
|
5335
|
+
title: "Scatter Chart Options",
|
|
5336
|
+
defaultOpen,
|
|
5337
|
+
containerClassName: "w-full bg-default-bg",
|
|
5338
|
+
children: /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-4", children: [
|
|
5339
|
+
columnSelect && /* @__PURE__ */ jsxs27("div", { className: "inline-flex h-8", children: [
|
|
5340
|
+
/* @__PURE__ */ jsx37(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Size By Column" }),
|
|
5341
|
+
columnSelect({
|
|
5342
|
+
value: config.symbolSize,
|
|
5343
|
+
onChange: onSymbolSizeColumnChange
|
|
5344
|
+
})
|
|
5345
|
+
] }),
|
|
5346
|
+
colorPicker && /* @__PURE__ */ jsxs27("div", { className: "inline-flex h-8", children: [
|
|
5347
|
+
/* @__PURE__ */ jsx37(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Size Color Mapping" }),
|
|
5348
|
+
colorPicker({
|
|
5349
|
+
value: config.color,
|
|
5350
|
+
onChange: onSymbolColorChange
|
|
5351
|
+
})
|
|
5352
|
+
] }),
|
|
5353
|
+
/* @__PURE__ */ jsxs27("div", { className: "inline-flex h-8", children: [
|
|
5354
|
+
/* @__PURE__ */ jsx37(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Min Size" }),
|
|
5355
|
+
/* @__PURE__ */ jsx37(
|
|
5356
|
+
"input",
|
|
5357
|
+
{
|
|
5358
|
+
name: "minSize",
|
|
5359
|
+
type: "number",
|
|
5360
|
+
className: "focus:ring-primary-600/30 focus:border-primary-600 border-main text-icontent focus:ring-3 h-8 w-24 rounded-r-md border px-2",
|
|
5361
|
+
value: config.minSize || 5,
|
|
5362
|
+
onChange: onMinSizeChange,
|
|
5363
|
+
min: "1",
|
|
5364
|
+
max: "60"
|
|
5365
|
+
}
|
|
5366
|
+
)
|
|
5367
|
+
] }),
|
|
5368
|
+
/* @__PURE__ */ jsxs27("div", { className: "inline-flex h-8", children: [
|
|
5369
|
+
/* @__PURE__ */ jsx37(AddonLabel, { className: "rounded-l-md border border-r-0 px-2", children: "Max Size" }),
|
|
5370
|
+
/* @__PURE__ */ jsx37(
|
|
5371
|
+
"input",
|
|
5372
|
+
{
|
|
5373
|
+
name: "maxSize",
|
|
5374
|
+
type: "number",
|
|
5375
|
+
className: "focus:ring-primary-600/30 focus:border-primary-600 border-main focus:ring-3 h-8 w-24 rounded-r-md border px-2 text-sm",
|
|
5376
|
+
value: config.maxSize || 30,
|
|
5377
|
+
onChange: onMaxSizeChange,
|
|
5378
|
+
min: "1",
|
|
5379
|
+
max: "60"
|
|
5380
|
+
}
|
|
5381
|
+
)
|
|
5382
|
+
] })
|
|
5383
|
+
] })
|
|
5384
|
+
}
|
|
5385
|
+
);
|
|
5386
|
+
}
|
|
4544
5387
|
export {
|
|
4545
5388
|
AggregateInput,
|
|
4546
5389
|
AreaIcon_default as AreaIcon,
|
|
4547
5390
|
ArgumentInput,
|
|
4548
5391
|
ArgumentType,
|
|
5392
|
+
BarGaugeChart,
|
|
4549
5393
|
BarGaugeControls,
|
|
4550
5394
|
BarGuageIcon_default as BarGuageIcon,
|
|
4551
5395
|
BarIcon_default as BarIcon,
|
|
4552
5396
|
ChartLegend,
|
|
4553
5397
|
ChartTooltip,
|
|
4554
5398
|
ChartTypeButtonGroup,
|
|
5399
|
+
DataControls,
|
|
4555
5400
|
EventsFunctionCategories,
|
|
4556
5401
|
EventsFunctionMap,
|
|
4557
5402
|
FunctionInput,
|
|
@@ -4563,14 +5408,17 @@ export {
|
|
|
4563
5408
|
LabelsInput,
|
|
4564
5409
|
LineControls,
|
|
4565
5410
|
LineIcon_default as LineIcon,
|
|
5411
|
+
MarkerControls,
|
|
4566
5412
|
PieChart2 as PieChart,
|
|
4567
5413
|
PieChartControls,
|
|
4568
5414
|
PieIcon_default as PieIcon,
|
|
5415
|
+
QueryValueChart,
|
|
4569
5416
|
QueryValueIcon_default as QueryValueIcon,
|
|
4570
5417
|
ReactEChartsBase,
|
|
4571
5418
|
RefreshButton,
|
|
4572
5419
|
RefreshContext,
|
|
4573
5420
|
ScatterChartTooltip,
|
|
5421
|
+
ScatterControls,
|
|
4574
5422
|
ScatterIcon_default as ScatterIcon,
|
|
4575
5423
|
SystemLabels,
|
|
4576
5424
|
TableIcon_default as TableIcon,
|
|
@@ -4578,8 +5426,12 @@ export {
|
|
|
4578
5426
|
ValueFormatters,
|
|
4579
5427
|
ValueOptions,
|
|
4580
5428
|
ValueStringMapping,
|
|
5429
|
+
XAxisControls,
|
|
5430
|
+
YaxisControls,
|
|
4581
5431
|
defaultConfig2 as defaultBarGaugeConfig,
|
|
5432
|
+
defaultConfig5 as defaultDataConfig,
|
|
4582
5433
|
defaultConfig as defaultPieConfig,
|
|
5434
|
+
defaultConfig6 as defaultScatterConfig,
|
|
4583
5435
|
defaultConfig3 as defaultValueConfig,
|
|
4584
5436
|
defaultConfig4 as defaultValueControlsConfig,
|
|
4585
5437
|
isAggrOrRollupFunction,
|