@sentio/ui-dashboard 0.1.2 → 0.2.1
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 +158 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +1065 -14
- package/dist/index.d.ts +1065 -14
- package/dist/index.js +2309 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2322 -2
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +5 -3
package/dist/index.mjs
CHANGED
|
@@ -677,7 +677,7 @@ function FunctionInput({ value, onChange }) {
|
|
|
677
677
|
}
|
|
678
678
|
),
|
|
679
679
|
/* @__PURE__ */ jsxs3("div", { className: "inline-flex items-center", children: [
|
|
680
|
-
/* @__PURE__ */ jsx4("div", { className: "h-px w-2.5 self-center
|
|
680
|
+
/* @__PURE__ */ jsx4("div", { className: "bg-border-color h-px w-2.5 self-center" }),
|
|
681
681
|
/* @__PURE__ */ jsx4(Popover, { className: "relative", children: ({ open }) => /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
682
682
|
/* @__PURE__ */ jsxs3(
|
|
683
683
|
Popover.Button,
|
|
@@ -732,7 +732,7 @@ function Functions({
|
|
|
732
732
|
return /* @__PURE__ */ jsx4(Fragment2, { children: functions.map((f, fi) => {
|
|
733
733
|
const def = FunctionMap[f.name];
|
|
734
734
|
return /* @__PURE__ */ jsxs3("div", { className: "inline-flex items-center", children: [
|
|
735
|
-
/* @__PURE__ */ jsx4("div", { className: "h-px w-2.5 self-center
|
|
735
|
+
/* @__PURE__ */ jsx4("div", { className: "bg-border-color h-px w-2.5 self-center" }),
|
|
736
736
|
/* @__PURE__ */ jsxs3(
|
|
737
737
|
"div",
|
|
738
738
|
{
|
|
@@ -1001,20 +1001,2340 @@ function LabelsInput({
|
|
|
1001
1001
|
}
|
|
1002
1002
|
);
|
|
1003
1003
|
}
|
|
1004
|
+
|
|
1005
|
+
// src/charts/EchartsBase.tsx
|
|
1006
|
+
import {
|
|
1007
|
+
useEffect as useEffect5,
|
|
1008
|
+
useCallback as useCallback3,
|
|
1009
|
+
useState as useState6,
|
|
1010
|
+
useImperativeHandle,
|
|
1011
|
+
forwardRef,
|
|
1012
|
+
useRef as useRef3,
|
|
1013
|
+
useMemo as useMemo4
|
|
1014
|
+
} from "react";
|
|
1015
|
+
import { CanvasRenderer, SVGRenderer } from "echarts/renderers";
|
|
1016
|
+
import { init, use } from "echarts/core";
|
|
1017
|
+
import {
|
|
1018
|
+
LineChart,
|
|
1019
|
+
BarChart,
|
|
1020
|
+
PieChart,
|
|
1021
|
+
ScatterChart,
|
|
1022
|
+
SankeyChart
|
|
1023
|
+
} from "echarts/charts";
|
|
1024
|
+
import {
|
|
1025
|
+
LegendComponent,
|
|
1026
|
+
GridComponent,
|
|
1027
|
+
TooltipComponent,
|
|
1028
|
+
ToolboxComponent,
|
|
1029
|
+
TitleComponent,
|
|
1030
|
+
DataZoomComponent,
|
|
1031
|
+
BrushComponent,
|
|
1032
|
+
MarkLineComponent,
|
|
1033
|
+
MarkAreaComponent,
|
|
1034
|
+
GraphicComponent,
|
|
1035
|
+
VisualMapComponent
|
|
1036
|
+
} from "echarts/components";
|
|
1037
|
+
import { useResizeDetector } from "react-resize-detector";
|
|
1038
|
+
import { BarLoading } from "@sentio/ui-core";
|
|
1039
|
+
|
|
1040
|
+
// src/charts/ChartLegend.tsx
|
|
1041
|
+
import { useCallback, useEffect as useEffect3, useRef as useRef2, useState as useState4 } from "react";
|
|
1042
|
+
|
|
1043
|
+
// src/common/Tooltip.tsx
|
|
1044
|
+
import { useEffect as useEffect2 } from "react";
|
|
1045
|
+
import { useFloating as useFloating2, FloatingPortal, shift } from "@floating-ui/react";
|
|
1046
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
1047
|
+
function Tooltip({ referenceElement, text }) {
|
|
1048
|
+
const { x, y, refs, strategy } = useFloating2({
|
|
1049
|
+
placement: "bottom",
|
|
1050
|
+
middleware: [shift()]
|
|
1051
|
+
});
|
|
1052
|
+
useEffect2(() => {
|
|
1053
|
+
if (referenceElement) refs.setReference(referenceElement);
|
|
1054
|
+
}, [refs, referenceElement]);
|
|
1055
|
+
if (!referenceElement || !text) {
|
|
1056
|
+
return null;
|
|
1057
|
+
}
|
|
1058
|
+
return /* @__PURE__ */ jsx7(FloatingPortal, { children: /* @__PURE__ */ jsx7(
|
|
1059
|
+
"div",
|
|
1060
|
+
{
|
|
1061
|
+
ref: refs.setFloating,
|
|
1062
|
+
className: "z-tooltip pointer-events-none rounded-md bg-black/70 px-2 py-1 text-white backdrop-opacity-60",
|
|
1063
|
+
style: {
|
|
1064
|
+
position: strategy,
|
|
1065
|
+
top: y ?? 0,
|
|
1066
|
+
left: x ?? 0
|
|
1067
|
+
},
|
|
1068
|
+
children: text
|
|
1069
|
+
}
|
|
1070
|
+
) });
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
// src/charts/ChartLegend.tsx
|
|
1074
|
+
import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1075
|
+
var COLOR_UNSELECTED = "#dddddd";
|
|
1076
|
+
var ChartLegend = ({
|
|
1077
|
+
legend,
|
|
1078
|
+
legendSelected,
|
|
1079
|
+
returnedSeries,
|
|
1080
|
+
totalSeries,
|
|
1081
|
+
onRendered,
|
|
1082
|
+
chartHandle
|
|
1083
|
+
}) => {
|
|
1084
|
+
const rootRef = useRef2(null);
|
|
1085
|
+
const [tooltipText, setTooltipText] = useState4("");
|
|
1086
|
+
const [tooltipReferenceElement, setTooltipReferenceElement] = useState4();
|
|
1087
|
+
useEffect3(() => {
|
|
1088
|
+
if (!rootRef.current) {
|
|
1089
|
+
return;
|
|
1090
|
+
}
|
|
1091
|
+
const offsetHeight = rootRef?.current?.parentElement?.offsetHeight || 0;
|
|
1092
|
+
chartHandle?.resize({
|
|
1093
|
+
height: offsetHeight - rootRef.current.offsetHeight
|
|
1094
|
+
});
|
|
1095
|
+
onRendered(true);
|
|
1096
|
+
}, [chartHandle, onRendered]);
|
|
1097
|
+
const onToggleLegend = useCallback(
|
|
1098
|
+
(event, name, _seriesIndex) => {
|
|
1099
|
+
if (event.altKey) {
|
|
1100
|
+
legend.forEach((n) => {
|
|
1101
|
+
chartHandle?.toggleLegend(n, n === name);
|
|
1102
|
+
});
|
|
1103
|
+
return;
|
|
1104
|
+
}
|
|
1105
|
+
chartHandle?.toggleLegend(name);
|
|
1106
|
+
},
|
|
1107
|
+
[chartHandle, legendSelected]
|
|
1108
|
+
);
|
|
1109
|
+
const highlightSeries = useCallback(
|
|
1110
|
+
(index) => {
|
|
1111
|
+
chartHandle?.highlightSeries({ seriesIndex: index });
|
|
1112
|
+
},
|
|
1113
|
+
[chartHandle]
|
|
1114
|
+
);
|
|
1115
|
+
const unhighlightSeries = useCallback(() => {
|
|
1116
|
+
chartHandle?.highlightSeries(void 0);
|
|
1117
|
+
}, [chartHandle]);
|
|
1118
|
+
const onToggleAll = useCallback(
|
|
1119
|
+
(legend2, legendSelected2, chartHandle2) => {
|
|
1120
|
+
const allSelected = legend2.every((name) => legendSelected2[name]);
|
|
1121
|
+
legend2.forEach((name) => {
|
|
1122
|
+
chartHandle2?.toggleLegend(name, !allSelected);
|
|
1123
|
+
});
|
|
1124
|
+
},
|
|
1125
|
+
[legend, legendSelected, chartHandle]
|
|
1126
|
+
);
|
|
1127
|
+
const list = legend.map((name, index) => {
|
|
1128
|
+
const selected = legendSelected[name] || legendSelected[name] === void 0;
|
|
1129
|
+
return /* @__PURE__ */ jsxs5(
|
|
1130
|
+
"div",
|
|
1131
|
+
{
|
|
1132
|
+
className: "flex cursor-pointer items-center gap-0.5 whitespace-nowrap",
|
|
1133
|
+
"data-tip": name,
|
|
1134
|
+
onClick: (event) => onToggleLegend(event, name, index),
|
|
1135
|
+
onDoubleClick: (event) => {
|
|
1136
|
+
onToggleAll(legend, legendSelected, chartHandle);
|
|
1137
|
+
},
|
|
1138
|
+
onMouseEnter: (e) => {
|
|
1139
|
+
if (legendSelected[name] !== false) {
|
|
1140
|
+
highlightSeries(index);
|
|
1141
|
+
}
|
|
1142
|
+
setTooltipReferenceElement(e.currentTarget);
|
|
1143
|
+
setTooltipText(name);
|
|
1144
|
+
},
|
|
1145
|
+
onMouseLeave: () => {
|
|
1146
|
+
unhighlightSeries();
|
|
1147
|
+
setTooltipReferenceElement(void 0);
|
|
1148
|
+
setTooltipText("");
|
|
1149
|
+
},
|
|
1150
|
+
children: [
|
|
1151
|
+
/* @__PURE__ */ jsx8(
|
|
1152
|
+
"span",
|
|
1153
|
+
{
|
|
1154
|
+
className: "rounded-xs h-2.5 w-2.5",
|
|
1155
|
+
style: {
|
|
1156
|
+
backgroundColor: selected ? chartHandle?.getSeriesColor({ seriesName: name }) : COLOR_UNSELECTED
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
),
|
|
1160
|
+
/* @__PURE__ */ jsx8(
|
|
1161
|
+
"span",
|
|
1162
|
+
{
|
|
1163
|
+
className: "truncate text-xs",
|
|
1164
|
+
style: {
|
|
1165
|
+
maxWidth: "12em",
|
|
1166
|
+
color: selected ? void 0 : COLOR_UNSELECTED
|
|
1167
|
+
},
|
|
1168
|
+
children: name
|
|
1169
|
+
}
|
|
1170
|
+
)
|
|
1171
|
+
]
|
|
1172
|
+
},
|
|
1173
|
+
name + index
|
|
1174
|
+
);
|
|
1175
|
+
});
|
|
1176
|
+
return /* @__PURE__ */ jsxs5(
|
|
1177
|
+
"div",
|
|
1178
|
+
{
|
|
1179
|
+
ref: rootRef,
|
|
1180
|
+
className: "text-text-foreground-secondary flex max-h-10 flex-wrap gap-x-3 gap-y-1 overflow-y-auto px-2 text-[13px] leading-[18px]",
|
|
1181
|
+
children: [
|
|
1182
|
+
list,
|
|
1183
|
+
returnedSeries && totalSeries && returnedSeries < totalSeries ? /* @__PURE__ */ jsxs5("div", { className: "font-semibold", style: { color: "#6B7280" }, children: [
|
|
1184
|
+
"showing ",
|
|
1185
|
+
returnedSeries,
|
|
1186
|
+
" of ",
|
|
1187
|
+
totalSeries,
|
|
1188
|
+
" series"
|
|
1189
|
+
] }) : null,
|
|
1190
|
+
/* @__PURE__ */ jsx8(Tooltip, { referenceElement: tooltipReferenceElement, text: tooltipText })
|
|
1191
|
+
]
|
|
1192
|
+
}
|
|
1193
|
+
);
|
|
1194
|
+
};
|
|
1195
|
+
|
|
1196
|
+
// src/utils/is-mobile.ts
|
|
1197
|
+
function isMobile() {
|
|
1198
|
+
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
1199
|
+
navigator.userAgent
|
|
1200
|
+
);
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
// src/charts/theme/register.ts
|
|
1204
|
+
import { registerTheme } from "echarts/core";
|
|
1205
|
+
|
|
1206
|
+
// src/charts/theme/sentio-colors.ts
|
|
1207
|
+
var sentioColors = {
|
|
1208
|
+
light: {
|
|
1209
|
+
classic: [
|
|
1210
|
+
"#5470f0",
|
|
1211
|
+
"#47c9d9",
|
|
1212
|
+
"#de5f94",
|
|
1213
|
+
"#e4bc4f",
|
|
1214
|
+
"#4cb275",
|
|
1215
|
+
"#77aeef",
|
|
1216
|
+
"#9368dd",
|
|
1217
|
+
"#e46d6d",
|
|
1218
|
+
"#f1904e"
|
|
1219
|
+
],
|
|
1220
|
+
purple: [
|
|
1221
|
+
"#5b0fa6",
|
|
1222
|
+
"#6d11c9",
|
|
1223
|
+
"#8617e8",
|
|
1224
|
+
"#9b35e9",
|
|
1225
|
+
"#a855f7",
|
|
1226
|
+
"#b67af2",
|
|
1227
|
+
"#7a6bff",
|
|
1228
|
+
"#5b7cff",
|
|
1229
|
+
"#3e82f6"
|
|
1230
|
+
]
|
|
1231
|
+
},
|
|
1232
|
+
dark: {
|
|
1233
|
+
classic: [
|
|
1234
|
+
"#6c8aff",
|
|
1235
|
+
"#74dfe6",
|
|
1236
|
+
"#ff75b0",
|
|
1237
|
+
"#f1cf66",
|
|
1238
|
+
"#67c88f",
|
|
1239
|
+
"#95c6ff",
|
|
1240
|
+
"#b189ff",
|
|
1241
|
+
"#f28787",
|
|
1242
|
+
"#ffad67"
|
|
1243
|
+
],
|
|
1244
|
+
purple: [
|
|
1245
|
+
"#3f0a78",
|
|
1246
|
+
"#5310a0",
|
|
1247
|
+
"#6816c7",
|
|
1248
|
+
"#7c2ee6",
|
|
1249
|
+
"#9451f4",
|
|
1250
|
+
"#a874f8",
|
|
1251
|
+
"#6d63f6",
|
|
1252
|
+
"#5b7cff",
|
|
1253
|
+
"#4794ff"
|
|
1254
|
+
]
|
|
1255
|
+
}
|
|
1256
|
+
};
|
|
1257
|
+
|
|
1258
|
+
// src/charts/theme/sentio-theme.ts
|
|
1259
|
+
var sansFontFamily = 'ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif';
|
|
1260
|
+
var textSecondaryLight = "#625d75";
|
|
1261
|
+
var textSecondaryDark = "#b7b4c7";
|
|
1262
|
+
var sentioTheme = {
|
|
1263
|
+
color: sentioColors.light.classic,
|
|
1264
|
+
backgroundColor: "rgba(0,0,0,0)",
|
|
1265
|
+
textStyle: {
|
|
1266
|
+
fontSize: 11,
|
|
1267
|
+
fontFamily: sansFontFamily,
|
|
1268
|
+
color: textSecondaryLight
|
|
1269
|
+
},
|
|
1270
|
+
title: {
|
|
1271
|
+
textStyle: {
|
|
1272
|
+
color: textSecondaryLight
|
|
1273
|
+
},
|
|
1274
|
+
subtextStyle: {
|
|
1275
|
+
color: textSecondaryLight
|
|
1276
|
+
}
|
|
1277
|
+
},
|
|
1278
|
+
line: {
|
|
1279
|
+
itemStyle: {
|
|
1280
|
+
borderWidth: 1
|
|
1281
|
+
},
|
|
1282
|
+
lineStyle: {
|
|
1283
|
+
width: 2
|
|
1284
|
+
},
|
|
1285
|
+
symbolSize: 4,
|
|
1286
|
+
symbol: "emptyCircle",
|
|
1287
|
+
smooth: false
|
|
1288
|
+
},
|
|
1289
|
+
radar: {
|
|
1290
|
+
itemStyle: {
|
|
1291
|
+
borderWidth: 1
|
|
1292
|
+
},
|
|
1293
|
+
lineStyle: {
|
|
1294
|
+
width: 2
|
|
1295
|
+
},
|
|
1296
|
+
symbolSize: 4,
|
|
1297
|
+
symbol: "emptyCircle",
|
|
1298
|
+
smooth: false
|
|
1299
|
+
},
|
|
1300
|
+
bar: {
|
|
1301
|
+
itemStyle: {
|
|
1302
|
+
borderWidth: 0,
|
|
1303
|
+
borderColor: "#ccc"
|
|
1304
|
+
}
|
|
1305
|
+
},
|
|
1306
|
+
pie: {
|
|
1307
|
+
itemStyle: {
|
|
1308
|
+
borderWidth: 0,
|
|
1309
|
+
borderColor: "#ccc"
|
|
1310
|
+
},
|
|
1311
|
+
label: {
|
|
1312
|
+
textBorderWidth: 0,
|
|
1313
|
+
textBorderColor: "transparent"
|
|
1314
|
+
}
|
|
1315
|
+
},
|
|
1316
|
+
scatter: {
|
|
1317
|
+
itemStyle: {
|
|
1318
|
+
borderWidth: 0,
|
|
1319
|
+
borderColor: "#ccc"
|
|
1320
|
+
}
|
|
1321
|
+
},
|
|
1322
|
+
boxplot: {
|
|
1323
|
+
itemStyle: {
|
|
1324
|
+
borderWidth: 0,
|
|
1325
|
+
borderColor: "#ccc"
|
|
1326
|
+
}
|
|
1327
|
+
},
|
|
1328
|
+
parallel: {
|
|
1329
|
+
itemStyle: {
|
|
1330
|
+
borderWidth: 0,
|
|
1331
|
+
borderColor: "#ccc"
|
|
1332
|
+
}
|
|
1333
|
+
},
|
|
1334
|
+
sankey: {
|
|
1335
|
+
itemStyle: {
|
|
1336
|
+
borderWidth: 0,
|
|
1337
|
+
borderColor: "#ccc"
|
|
1338
|
+
}
|
|
1339
|
+
},
|
|
1340
|
+
funnel: {
|
|
1341
|
+
itemStyle: {
|
|
1342
|
+
borderWidth: 0,
|
|
1343
|
+
borderColor: "#ccc"
|
|
1344
|
+
}
|
|
1345
|
+
},
|
|
1346
|
+
gauge: {
|
|
1347
|
+
itemStyle: {
|
|
1348
|
+
borderWidth: 0,
|
|
1349
|
+
borderColor: "#ccc"
|
|
1350
|
+
}
|
|
1351
|
+
},
|
|
1352
|
+
candlestick: {
|
|
1353
|
+
itemStyle: {
|
|
1354
|
+
color: "#eb5454",
|
|
1355
|
+
color0: "#47b262",
|
|
1356
|
+
borderColor: "#eb5454",
|
|
1357
|
+
borderColor0: "#47b262",
|
|
1358
|
+
borderWidth: 1
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
graph: {
|
|
1362
|
+
itemStyle: {
|
|
1363
|
+
borderWidth: 0,
|
|
1364
|
+
borderColor: "#ccc"
|
|
1365
|
+
},
|
|
1366
|
+
lineStyle: {
|
|
1367
|
+
width: 1,
|
|
1368
|
+
color: "#aaaaaa"
|
|
1369
|
+
},
|
|
1370
|
+
symbolSize: 4,
|
|
1371
|
+
symbol: "emptyCircle",
|
|
1372
|
+
smooth: false,
|
|
1373
|
+
color: [
|
|
1374
|
+
"#2e71db",
|
|
1375
|
+
"#8dc869",
|
|
1376
|
+
"#ffdc2d",
|
|
1377
|
+
"#f05a4d",
|
|
1378
|
+
"#56bce5",
|
|
1379
|
+
"#73ba46",
|
|
1380
|
+
"#fe9f05",
|
|
1381
|
+
"#a452d7",
|
|
1382
|
+
"#a65a8b"
|
|
1383
|
+
],
|
|
1384
|
+
label: {
|
|
1385
|
+
color: "#ebeff3"
|
|
1386
|
+
}
|
|
1387
|
+
},
|
|
1388
|
+
map: {
|
|
1389
|
+
itemStyle: {
|
|
1390
|
+
areaColor: "#eee",
|
|
1391
|
+
borderColor: "#444",
|
|
1392
|
+
borderWidth: 0.5
|
|
1393
|
+
},
|
|
1394
|
+
label: {
|
|
1395
|
+
color: "#000"
|
|
1396
|
+
},
|
|
1397
|
+
emphasis: {
|
|
1398
|
+
itemStyle: {
|
|
1399
|
+
areaColor: "rgba(255,215,0,0.8)",
|
|
1400
|
+
borderColor: "#444",
|
|
1401
|
+
borderWidth: 1
|
|
1402
|
+
},
|
|
1403
|
+
label: {
|
|
1404
|
+
color: "rgb(100,0,0)"
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
},
|
|
1408
|
+
geo: {
|
|
1409
|
+
itemStyle: {
|
|
1410
|
+
areaColor: "#eee",
|
|
1411
|
+
borderColor: "#444",
|
|
1412
|
+
borderWidth: 0.5
|
|
1413
|
+
},
|
|
1414
|
+
label: {
|
|
1415
|
+
color: "#000"
|
|
1416
|
+
},
|
|
1417
|
+
emphasis: {
|
|
1418
|
+
itemStyle: {
|
|
1419
|
+
areaColor: "rgba(255,215,0,0.8)",
|
|
1420
|
+
borderColor: "#444",
|
|
1421
|
+
borderWidth: 1
|
|
1422
|
+
},
|
|
1423
|
+
label: {
|
|
1424
|
+
color: "rgb(100,0,0)"
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
},
|
|
1428
|
+
categoryAxis: {
|
|
1429
|
+
axisLine: {
|
|
1430
|
+
show: true,
|
|
1431
|
+
lineStyle: {
|
|
1432
|
+
// matches CSS --border-color in light mode (rgb(235,239,243))
|
|
1433
|
+
color: "#EBEFF3"
|
|
1434
|
+
}
|
|
1435
|
+
},
|
|
1436
|
+
axisTick: {
|
|
1437
|
+
show: true,
|
|
1438
|
+
lineStyle: {
|
|
1439
|
+
color: "#EBEFF3"
|
|
1440
|
+
}
|
|
1441
|
+
},
|
|
1442
|
+
axisLabel: {
|
|
1443
|
+
show: true,
|
|
1444
|
+
color: textSecondaryLight,
|
|
1445
|
+
fontWeight: "normal"
|
|
1446
|
+
},
|
|
1447
|
+
splitLine: {
|
|
1448
|
+
show: false,
|
|
1449
|
+
lineStyle: {
|
|
1450
|
+
color: ["#E0E6F1"]
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1453
|
+
splitArea: {
|
|
1454
|
+
show: false,
|
|
1455
|
+
areaStyle: {
|
|
1456
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1457
|
+
}
|
|
1458
|
+
}
|
|
1459
|
+
},
|
|
1460
|
+
valueAxis: {
|
|
1461
|
+
axisLine: {
|
|
1462
|
+
show: false,
|
|
1463
|
+
lineStyle: {
|
|
1464
|
+
color: textSecondaryLight
|
|
1465
|
+
}
|
|
1466
|
+
},
|
|
1467
|
+
axisTick: {
|
|
1468
|
+
show: false,
|
|
1469
|
+
lineStyle: {
|
|
1470
|
+
color: textSecondaryLight
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
axisLabel: {
|
|
1474
|
+
show: true,
|
|
1475
|
+
color: textSecondaryLight,
|
|
1476
|
+
fontWeight: "normal"
|
|
1477
|
+
},
|
|
1478
|
+
splitLine: {
|
|
1479
|
+
show: true,
|
|
1480
|
+
lineStyle: {
|
|
1481
|
+
color: "rgba(228, 232, 237, 0.3)"
|
|
1482
|
+
}
|
|
1483
|
+
},
|
|
1484
|
+
splitArea: {
|
|
1485
|
+
show: false,
|
|
1486
|
+
areaStyle: {
|
|
1487
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
},
|
|
1491
|
+
logAxis: {
|
|
1492
|
+
axisLine: {
|
|
1493
|
+
show: false,
|
|
1494
|
+
lineStyle: {
|
|
1495
|
+
color: textSecondaryLight
|
|
1496
|
+
}
|
|
1497
|
+
},
|
|
1498
|
+
axisTick: {
|
|
1499
|
+
show: false,
|
|
1500
|
+
lineStyle: {
|
|
1501
|
+
color: textSecondaryLight
|
|
1502
|
+
}
|
|
1503
|
+
},
|
|
1504
|
+
axisLabel: {
|
|
1505
|
+
show: true,
|
|
1506
|
+
color: textSecondaryLight
|
|
1507
|
+
},
|
|
1508
|
+
splitLine: {
|
|
1509
|
+
show: true,
|
|
1510
|
+
lineStyle: {
|
|
1511
|
+
color: "rgba(89, 93, 97, 0.8)"
|
|
1512
|
+
}
|
|
1513
|
+
},
|
|
1514
|
+
splitArea: {
|
|
1515
|
+
show: false,
|
|
1516
|
+
areaStyle: {
|
|
1517
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
},
|
|
1521
|
+
timeAxis: {
|
|
1522
|
+
axisLine: {
|
|
1523
|
+
show: true,
|
|
1524
|
+
lineStyle: {
|
|
1525
|
+
// matches CSS --border-color in light mode (rgb(235,239,243))
|
|
1526
|
+
color: "#EBEFF3"
|
|
1527
|
+
}
|
|
1528
|
+
},
|
|
1529
|
+
axisTick: {
|
|
1530
|
+
show: true,
|
|
1531
|
+
lineStyle: {
|
|
1532
|
+
color: "#EBEFF3"
|
|
1533
|
+
}
|
|
1534
|
+
},
|
|
1535
|
+
axisLabel: {
|
|
1536
|
+
show: true,
|
|
1537
|
+
color: textSecondaryLight
|
|
1538
|
+
},
|
|
1539
|
+
splitLine: {
|
|
1540
|
+
show: false,
|
|
1541
|
+
lineStyle: {
|
|
1542
|
+
color: ["#E0E6F1"]
|
|
1543
|
+
}
|
|
1544
|
+
},
|
|
1545
|
+
splitArea: {
|
|
1546
|
+
show: false,
|
|
1547
|
+
areaStyle: {
|
|
1548
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
toolbox: {
|
|
1553
|
+
iconStyle: {
|
|
1554
|
+
borderColor: "#999999"
|
|
1555
|
+
},
|
|
1556
|
+
emphasis: {
|
|
1557
|
+
iconStyle: {
|
|
1558
|
+
borderColor: "#666666"
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1561
|
+
},
|
|
1562
|
+
legend: {
|
|
1563
|
+
textStyle: {
|
|
1564
|
+
color: textSecondaryLight,
|
|
1565
|
+
fontSize: 10
|
|
1566
|
+
},
|
|
1567
|
+
pageIconColor: "#4E5969",
|
|
1568
|
+
pageIconInactiveColor: "#C9CDD4",
|
|
1569
|
+
pageTextStyle: {
|
|
1570
|
+
color: textSecondaryLight
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
tooltip: {
|
|
1574
|
+
axisPointer: {
|
|
1575
|
+
lineStyle: {
|
|
1576
|
+
color: "#e0e0e0",
|
|
1577
|
+
width: 1
|
|
1578
|
+
},
|
|
1579
|
+
crossStyle: {
|
|
1580
|
+
color: "#e0e0e0",
|
|
1581
|
+
width: 1
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
},
|
|
1585
|
+
timeline: {
|
|
1586
|
+
lineStyle: {
|
|
1587
|
+
color: "#dae1f5",
|
|
1588
|
+
width: 2
|
|
1589
|
+
},
|
|
1590
|
+
itemStyle: {
|
|
1591
|
+
color: "#a4b1d7",
|
|
1592
|
+
borderWidth: 1
|
|
1593
|
+
},
|
|
1594
|
+
controlStyle: {
|
|
1595
|
+
color: "#a4b1d7",
|
|
1596
|
+
borderColor: "#a4b1d7",
|
|
1597
|
+
borderWidth: 1
|
|
1598
|
+
},
|
|
1599
|
+
checkpointStyle: {
|
|
1600
|
+
color: "#316bf3",
|
|
1601
|
+
borderColor: "#ffffff"
|
|
1602
|
+
},
|
|
1603
|
+
label: {
|
|
1604
|
+
color: "#a4b1d7"
|
|
1605
|
+
},
|
|
1606
|
+
emphasis: {
|
|
1607
|
+
itemStyle: {
|
|
1608
|
+
color: "#ffffff"
|
|
1609
|
+
},
|
|
1610
|
+
controlStyle: {
|
|
1611
|
+
color: "#a4b1d7",
|
|
1612
|
+
borderColor: "#a4b1d7",
|
|
1613
|
+
borderWidth: 1
|
|
1614
|
+
},
|
|
1615
|
+
label: {
|
|
1616
|
+
color: "#a4b1d7"
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
},
|
|
1620
|
+
visualMap: {
|
|
1621
|
+
color: ["#bf444c", "#d88273", "#f6efa6"]
|
|
1622
|
+
},
|
|
1623
|
+
dataZoom: {
|
|
1624
|
+
handleSize: "undefined%",
|
|
1625
|
+
textStyle: {}
|
|
1626
|
+
},
|
|
1627
|
+
markPoint: {
|
|
1628
|
+
label: {
|
|
1629
|
+
color: "#ebeff3"
|
|
1630
|
+
},
|
|
1631
|
+
emphasis: {
|
|
1632
|
+
label: {
|
|
1633
|
+
color: "#ebeff3"
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
};
|
|
1638
|
+
var sentioThemeDark = {
|
|
1639
|
+
color: sentioColors.dark.classic,
|
|
1640
|
+
backgroundColor: "rgba(0,0,0,0)",
|
|
1641
|
+
textStyle: {
|
|
1642
|
+
fontSize: 11,
|
|
1643
|
+
fontFamily: sansFontFamily,
|
|
1644
|
+
textBorderWidth: 0,
|
|
1645
|
+
textBorderColor: "transparent",
|
|
1646
|
+
color: textSecondaryDark
|
|
1647
|
+
},
|
|
1648
|
+
title: {
|
|
1649
|
+
textStyle: {
|
|
1650
|
+
color: textSecondaryDark
|
|
1651
|
+
},
|
|
1652
|
+
subtextStyle: {
|
|
1653
|
+
color: textSecondaryDark
|
|
1654
|
+
}
|
|
1655
|
+
},
|
|
1656
|
+
line: {
|
|
1657
|
+
itemStyle: {
|
|
1658
|
+
borderWidth: 1
|
|
1659
|
+
},
|
|
1660
|
+
lineStyle: {
|
|
1661
|
+
width: 2
|
|
1662
|
+
},
|
|
1663
|
+
symbolSize: 4,
|
|
1664
|
+
symbol: "emptyCircle",
|
|
1665
|
+
smooth: false
|
|
1666
|
+
},
|
|
1667
|
+
radar: {
|
|
1668
|
+
itemStyle: {
|
|
1669
|
+
borderWidth: 1
|
|
1670
|
+
},
|
|
1671
|
+
lineStyle: {
|
|
1672
|
+
width: 2
|
|
1673
|
+
},
|
|
1674
|
+
symbolSize: 4,
|
|
1675
|
+
symbol: "emptyCircle",
|
|
1676
|
+
smooth: false
|
|
1677
|
+
},
|
|
1678
|
+
bar: {
|
|
1679
|
+
itemStyle: {
|
|
1680
|
+
borderWidth: 0,
|
|
1681
|
+
borderColor: "#ccc"
|
|
1682
|
+
}
|
|
1683
|
+
},
|
|
1684
|
+
pie: {
|
|
1685
|
+
itemStyle: {
|
|
1686
|
+
borderWidth: 0,
|
|
1687
|
+
borderColor: "transparent"
|
|
1688
|
+
},
|
|
1689
|
+
label: {
|
|
1690
|
+
textBorderWidth: 0,
|
|
1691
|
+
textBorderColor: "transparent",
|
|
1692
|
+
color: textSecondaryDark
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1695
|
+
scatter: {
|
|
1696
|
+
itemStyle: {
|
|
1697
|
+
borderWidth: 0,
|
|
1698
|
+
borderColor: "#ccc"
|
|
1699
|
+
}
|
|
1700
|
+
},
|
|
1701
|
+
boxplot: {
|
|
1702
|
+
itemStyle: {
|
|
1703
|
+
borderWidth: 0,
|
|
1704
|
+
borderColor: "#ccc"
|
|
1705
|
+
}
|
|
1706
|
+
},
|
|
1707
|
+
parallel: {
|
|
1708
|
+
itemStyle: {
|
|
1709
|
+
borderWidth: 0,
|
|
1710
|
+
borderColor: "#ccc"
|
|
1711
|
+
}
|
|
1712
|
+
},
|
|
1713
|
+
sankey: {
|
|
1714
|
+
itemStyle: {
|
|
1715
|
+
borderWidth: 0,
|
|
1716
|
+
borderColor: "#ccc"
|
|
1717
|
+
}
|
|
1718
|
+
},
|
|
1719
|
+
funnel: {
|
|
1720
|
+
itemStyle: {
|
|
1721
|
+
borderWidth: 0,
|
|
1722
|
+
borderColor: "#ccc"
|
|
1723
|
+
}
|
|
1724
|
+
},
|
|
1725
|
+
gauge: {
|
|
1726
|
+
itemStyle: {
|
|
1727
|
+
borderWidth: 0,
|
|
1728
|
+
borderColor: "#ccc"
|
|
1729
|
+
}
|
|
1730
|
+
},
|
|
1731
|
+
candlestick: {
|
|
1732
|
+
itemStyle: {
|
|
1733
|
+
color: "#eb5454",
|
|
1734
|
+
color0: "#47b262",
|
|
1735
|
+
borderColor: "#eb5454",
|
|
1736
|
+
borderColor0: "#47b262",
|
|
1737
|
+
borderWidth: 1
|
|
1738
|
+
}
|
|
1739
|
+
},
|
|
1740
|
+
graph: {
|
|
1741
|
+
itemStyle: {
|
|
1742
|
+
borderWidth: 0,
|
|
1743
|
+
borderColor: "#ccc"
|
|
1744
|
+
},
|
|
1745
|
+
lineStyle: {
|
|
1746
|
+
width: 1,
|
|
1747
|
+
color: "#aaaaaa"
|
|
1748
|
+
},
|
|
1749
|
+
symbolSize: 4,
|
|
1750
|
+
symbol: "emptyCircle",
|
|
1751
|
+
smooth: false,
|
|
1752
|
+
color: [
|
|
1753
|
+
"#2e71db",
|
|
1754
|
+
"#a8d58d",
|
|
1755
|
+
"#ffe355",
|
|
1756
|
+
"#f05a4d",
|
|
1757
|
+
"#56bce5",
|
|
1758
|
+
"#73ba46",
|
|
1759
|
+
"#ff9f05",
|
|
1760
|
+
"#ad56e2",
|
|
1761
|
+
"#e97ec2"
|
|
1762
|
+
],
|
|
1763
|
+
label: {
|
|
1764
|
+
color: "#ebeff3"
|
|
1765
|
+
}
|
|
1766
|
+
},
|
|
1767
|
+
map: {
|
|
1768
|
+
itemStyle: {
|
|
1769
|
+
areaColor: "#eee",
|
|
1770
|
+
borderColor: "#444",
|
|
1771
|
+
borderWidth: 0.5
|
|
1772
|
+
},
|
|
1773
|
+
label: {
|
|
1774
|
+
color: "#000"
|
|
1775
|
+
},
|
|
1776
|
+
emphasis: {
|
|
1777
|
+
itemStyle: {
|
|
1778
|
+
areaColor: "rgba(255,215,0,0.8)",
|
|
1779
|
+
borderColor: "#444",
|
|
1780
|
+
borderWidth: 1
|
|
1781
|
+
},
|
|
1782
|
+
label: {
|
|
1783
|
+
color: "rgb(100,0,0)"
|
|
1784
|
+
}
|
|
1785
|
+
}
|
|
1786
|
+
},
|
|
1787
|
+
geo: {
|
|
1788
|
+
itemStyle: {
|
|
1789
|
+
areaColor: "#eee",
|
|
1790
|
+
borderColor: "#444",
|
|
1791
|
+
borderWidth: 0.5
|
|
1792
|
+
},
|
|
1793
|
+
label: {
|
|
1794
|
+
color: "#000"
|
|
1795
|
+
},
|
|
1796
|
+
emphasis: {
|
|
1797
|
+
itemStyle: {
|
|
1798
|
+
areaColor: "rgba(255,215,0,0.8)",
|
|
1799
|
+
borderColor: "#444",
|
|
1800
|
+
borderWidth: 1
|
|
1801
|
+
},
|
|
1802
|
+
label: {
|
|
1803
|
+
color: "rgb(100,0,0)"
|
|
1804
|
+
}
|
|
1805
|
+
}
|
|
1806
|
+
},
|
|
1807
|
+
categoryAxis: {
|
|
1808
|
+
axisLine: {
|
|
1809
|
+
show: true,
|
|
1810
|
+
lineStyle: {
|
|
1811
|
+
// matches CSS --border-color in dark mode (gray-100 = rgb(66,66,72))
|
|
1812
|
+
color: "#424248"
|
|
1813
|
+
}
|
|
1814
|
+
},
|
|
1815
|
+
axisTick: {
|
|
1816
|
+
show: true,
|
|
1817
|
+
lineStyle: {
|
|
1818
|
+
color: "#424248"
|
|
1819
|
+
}
|
|
1820
|
+
},
|
|
1821
|
+
axisLabel: {
|
|
1822
|
+
show: true,
|
|
1823
|
+
color: textSecondaryDark,
|
|
1824
|
+
fontWeight: "normal"
|
|
1825
|
+
},
|
|
1826
|
+
splitLine: {
|
|
1827
|
+
show: false,
|
|
1828
|
+
lineStyle: {
|
|
1829
|
+
color: ["#E0E6F1"]
|
|
1830
|
+
}
|
|
1831
|
+
},
|
|
1832
|
+
splitArea: {
|
|
1833
|
+
show: false,
|
|
1834
|
+
areaStyle: {
|
|
1835
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
},
|
|
1839
|
+
valueAxis: {
|
|
1840
|
+
axisLine: {
|
|
1841
|
+
show: false,
|
|
1842
|
+
lineStyle: {
|
|
1843
|
+
color: textSecondaryDark
|
|
1844
|
+
}
|
|
1845
|
+
},
|
|
1846
|
+
axisTick: {
|
|
1847
|
+
show: false,
|
|
1848
|
+
lineStyle: {
|
|
1849
|
+
color: textSecondaryDark
|
|
1850
|
+
}
|
|
1851
|
+
},
|
|
1852
|
+
axisLabel: {
|
|
1853
|
+
show: true,
|
|
1854
|
+
color: textSecondaryDark
|
|
1855
|
+
},
|
|
1856
|
+
splitLine: {
|
|
1857
|
+
show: true,
|
|
1858
|
+
lineStyle: {
|
|
1859
|
+
// softer gridline on the new dark canvas — barely visible
|
|
1860
|
+
color: "rgba(255, 255, 255, 0.05)",
|
|
1861
|
+
width: 1,
|
|
1862
|
+
opacity: 0.4
|
|
1863
|
+
}
|
|
1864
|
+
},
|
|
1865
|
+
splitArea: {
|
|
1866
|
+
show: false,
|
|
1867
|
+
areaStyle: {
|
|
1868
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
},
|
|
1872
|
+
logAxis: {
|
|
1873
|
+
axisLine: {
|
|
1874
|
+
show: false,
|
|
1875
|
+
lineStyle: {
|
|
1876
|
+
color: textSecondaryDark
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
axisTick: {
|
|
1880
|
+
show: false,
|
|
1881
|
+
lineStyle: {
|
|
1882
|
+
color: textSecondaryDark
|
|
1883
|
+
}
|
|
1884
|
+
},
|
|
1885
|
+
axisLabel: {
|
|
1886
|
+
show: true,
|
|
1887
|
+
color: textSecondaryDark,
|
|
1888
|
+
fontWeight: "normal"
|
|
1889
|
+
},
|
|
1890
|
+
splitLine: {
|
|
1891
|
+
show: true,
|
|
1892
|
+
lineStyle: {
|
|
1893
|
+
// softer gridline on the new dark canvas
|
|
1894
|
+
color: ["rgba(255, 255, 255, 0.05)"],
|
|
1895
|
+
width: 1,
|
|
1896
|
+
opacity: 0.4
|
|
1897
|
+
}
|
|
1898
|
+
},
|
|
1899
|
+
splitArea: {
|
|
1900
|
+
show: false,
|
|
1901
|
+
areaStyle: {
|
|
1902
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1905
|
+
},
|
|
1906
|
+
timeAxis: {
|
|
1907
|
+
axisLine: {
|
|
1908
|
+
show: true,
|
|
1909
|
+
lineStyle: {
|
|
1910
|
+
// matches CSS --border-color in dark mode (gray-100 = rgb(66,66,72))
|
|
1911
|
+
color: "#424248"
|
|
1912
|
+
}
|
|
1913
|
+
},
|
|
1914
|
+
axisTick: {
|
|
1915
|
+
show: true,
|
|
1916
|
+
lineStyle: {
|
|
1917
|
+
color: "#424248"
|
|
1918
|
+
}
|
|
1919
|
+
},
|
|
1920
|
+
axisLabel: {
|
|
1921
|
+
show: true,
|
|
1922
|
+
color: textSecondaryDark
|
|
1923
|
+
},
|
|
1924
|
+
splitLine: {
|
|
1925
|
+
show: false,
|
|
1926
|
+
lineStyle: {
|
|
1927
|
+
color: ["#5d6165"]
|
|
1928
|
+
}
|
|
1929
|
+
},
|
|
1930
|
+
splitArea: {
|
|
1931
|
+
show: false,
|
|
1932
|
+
areaStyle: {
|
|
1933
|
+
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
1934
|
+
}
|
|
1935
|
+
}
|
|
1936
|
+
},
|
|
1937
|
+
toolbox: {
|
|
1938
|
+
iconStyle: {
|
|
1939
|
+
borderColor: "#999999"
|
|
1940
|
+
},
|
|
1941
|
+
emphasis: {
|
|
1942
|
+
iconStyle: {
|
|
1943
|
+
borderColor: "#666666"
|
|
1944
|
+
}
|
|
1945
|
+
}
|
|
1946
|
+
},
|
|
1947
|
+
legend: {
|
|
1948
|
+
textStyle: {
|
|
1949
|
+
color: textSecondaryDark
|
|
1950
|
+
},
|
|
1951
|
+
pageIconColor: "#909399",
|
|
1952
|
+
pageIconInactiveColor: "#606266",
|
|
1953
|
+
pageTextStyle: {
|
|
1954
|
+
color: textSecondaryDark
|
|
1955
|
+
}
|
|
1956
|
+
},
|
|
1957
|
+
tooltip: {
|
|
1958
|
+
axisPointer: {
|
|
1959
|
+
lineStyle: {
|
|
1960
|
+
color: "#e0e0e0",
|
|
1961
|
+
width: 1
|
|
1962
|
+
},
|
|
1963
|
+
crossStyle: {
|
|
1964
|
+
color: "#e0e0e0",
|
|
1965
|
+
width: 1
|
|
1966
|
+
}
|
|
1967
|
+
},
|
|
1968
|
+
backgroundColor: "#202020",
|
|
1969
|
+
textStyle: {
|
|
1970
|
+
color: textSecondaryDark
|
|
1971
|
+
}
|
|
1972
|
+
},
|
|
1973
|
+
timeline: {
|
|
1974
|
+
lineStyle: {
|
|
1975
|
+
color: "#dae1f5",
|
|
1976
|
+
width: 2
|
|
1977
|
+
},
|
|
1978
|
+
itemStyle: {
|
|
1979
|
+
color: "#a4b1d7",
|
|
1980
|
+
borderWidth: 1
|
|
1981
|
+
},
|
|
1982
|
+
controlStyle: {
|
|
1983
|
+
color: "#a4b1d7",
|
|
1984
|
+
borderColor: "#a4b1d7",
|
|
1985
|
+
borderWidth: 1
|
|
1986
|
+
},
|
|
1987
|
+
checkpointStyle: {
|
|
1988
|
+
color: "#316bf3",
|
|
1989
|
+
borderColor: "#ffffff"
|
|
1990
|
+
},
|
|
1991
|
+
label: {
|
|
1992
|
+
color: "#a4b1d7"
|
|
1993
|
+
},
|
|
1994
|
+
emphasis: {
|
|
1995
|
+
itemStyle: {
|
|
1996
|
+
color: "#ffffff"
|
|
1997
|
+
},
|
|
1998
|
+
controlStyle: {
|
|
1999
|
+
color: "#a4b1d7",
|
|
2000
|
+
borderColor: "#a4b1d7",
|
|
2001
|
+
borderWidth: 1
|
|
2002
|
+
},
|
|
2003
|
+
label: {
|
|
2004
|
+
color: "#a4b1d7"
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
visualMap: {
|
|
2009
|
+
color: ["#bf444c", "#d88273", "#f6efa6"]
|
|
2010
|
+
},
|
|
2011
|
+
dataZoom: {
|
|
2012
|
+
handleSize: "undefined%",
|
|
2013
|
+
textStyle: {}
|
|
2014
|
+
},
|
|
2015
|
+
markPoint: {
|
|
2016
|
+
label: {
|
|
2017
|
+
color: "#ebeff3"
|
|
2018
|
+
},
|
|
2019
|
+
emphasis: {
|
|
2020
|
+
label: {
|
|
2021
|
+
color: "#ebeff3"
|
|
2022
|
+
}
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
};
|
|
2026
|
+
|
|
2027
|
+
// src/charts/theme/register.ts
|
|
2028
|
+
var registered = false;
|
|
2029
|
+
function registerSentioTheme() {
|
|
2030
|
+
if (registered) return;
|
|
2031
|
+
registered = true;
|
|
2032
|
+
registerTheme("sentio", sentioTheme);
|
|
2033
|
+
registerTheme("sentio-dark", sentioThemeDark);
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
// src/utils/use-dark-mode.ts
|
|
2037
|
+
import { useCallback as useCallback2, useEffect as useEffect4, useState as useState5 } from "react";
|
|
2038
|
+
var DarkModeListener = class _DarkModeListener {
|
|
2039
|
+
constructor() {
|
|
2040
|
+
this.isDarkMode = false;
|
|
2041
|
+
this.listeners = [];
|
|
2042
|
+
this.init();
|
|
2043
|
+
}
|
|
2044
|
+
static get instance() {
|
|
2045
|
+
if (!this._instance) {
|
|
2046
|
+
this._instance = new _DarkModeListener();
|
|
2047
|
+
}
|
|
2048
|
+
return this._instance;
|
|
2049
|
+
}
|
|
2050
|
+
addListener(listener) {
|
|
2051
|
+
this.listeners.push(listener);
|
|
2052
|
+
}
|
|
2053
|
+
removeListener(listener) {
|
|
2054
|
+
this.listeners = this.listeners.filter((l) => l !== listener);
|
|
2055
|
+
}
|
|
2056
|
+
get darkMode() {
|
|
2057
|
+
return this.isDarkMode;
|
|
2058
|
+
}
|
|
2059
|
+
_sync(theme = "system") {
|
|
2060
|
+
let isDarkMode = false;
|
|
2061
|
+
if (theme === "system") {
|
|
2062
|
+
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
2063
|
+
isDarkMode = mediaQuery.matches;
|
|
2064
|
+
localStorage.setItem("theme", "system");
|
|
2065
|
+
} else if (theme === "light") {
|
|
2066
|
+
isDarkMode = false;
|
|
2067
|
+
localStorage.removeItem("theme");
|
|
2068
|
+
} else {
|
|
2069
|
+
isDarkMode = theme === "dark";
|
|
2070
|
+
localStorage.setItem("theme", "dark");
|
|
2071
|
+
}
|
|
2072
|
+
this.isDarkMode = isDarkMode;
|
|
2073
|
+
document.body.classList.remove("light", "dark");
|
|
2074
|
+
document.body.classList.add(isDarkMode ? "dark" : "light");
|
|
2075
|
+
this.listeners.forEach((listener) => listener(isDarkMode));
|
|
2076
|
+
}
|
|
2077
|
+
toggleDarkMode() {
|
|
2078
|
+
this.isDarkMode = document.body.classList.contains("dark");
|
|
2079
|
+
this._sync(this.isDarkMode ? "light" : "dark");
|
|
2080
|
+
}
|
|
2081
|
+
setDarkMode(value) {
|
|
2082
|
+
this._sync(value);
|
|
2083
|
+
}
|
|
2084
|
+
init() {
|
|
2085
|
+
this.isDarkMode = document.body.classList.contains("dark");
|
|
2086
|
+
const observer = new MutationObserver((mutationsList) => {
|
|
2087
|
+
for (const mutation of mutationsList) {
|
|
2088
|
+
if (mutation.type === "attributes" && mutation.attributeName === "class") {
|
|
2089
|
+
const isDarkMode = document.body.classList.contains("dark");
|
|
2090
|
+
if (this.isDarkMode !== isDarkMode) {
|
|
2091
|
+
this.isDarkMode = isDarkMode;
|
|
2092
|
+
this.listeners.forEach((listener) => listener(isDarkMode));
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
}
|
|
2096
|
+
});
|
|
2097
|
+
const config = {
|
|
2098
|
+
attributes: true,
|
|
2099
|
+
// Observe attribute changes
|
|
2100
|
+
attributeFilter: ["class"]
|
|
2101
|
+
// Only observe changes to the 'class' attribute
|
|
2102
|
+
};
|
|
2103
|
+
observer.observe(document.body, config);
|
|
2104
|
+
}
|
|
2105
|
+
};
|
|
2106
|
+
var useDarkMode = (defaultValue = false) => {
|
|
2107
|
+
const [isDarkMode, setIsDarkMode] = useState5(defaultValue);
|
|
2108
|
+
useEffect4(() => {
|
|
2109
|
+
const instance = DarkModeListener.instance;
|
|
2110
|
+
setIsDarkMode(instance.darkMode);
|
|
2111
|
+
instance.addListener(setIsDarkMode);
|
|
2112
|
+
}, []);
|
|
2113
|
+
return isDarkMode;
|
|
2114
|
+
};
|
|
2115
|
+
|
|
2116
|
+
// src/charts/EchartsBase.tsx
|
|
2117
|
+
import { Fragment as Fragment4, jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
2118
|
+
use([
|
|
2119
|
+
LegendComponent,
|
|
2120
|
+
PieChart,
|
|
2121
|
+
LineChart,
|
|
2122
|
+
ScatterChart,
|
|
2123
|
+
MarkLineComponent,
|
|
2124
|
+
MarkAreaComponent,
|
|
2125
|
+
BarChart,
|
|
2126
|
+
SankeyChart,
|
|
2127
|
+
GridComponent,
|
|
2128
|
+
TooltipComponent,
|
|
2129
|
+
BrushComponent,
|
|
2130
|
+
TitleComponent,
|
|
2131
|
+
ToolboxComponent,
|
|
2132
|
+
// A group of utility tools, which includes export, data view, dynamic type switching, data area zooming, and reset.
|
|
2133
|
+
DataZoomComponent,
|
|
2134
|
+
// Used in Line Graph Charts
|
|
2135
|
+
CanvasRenderer,
|
|
2136
|
+
// If you only need to use the canvas rendering mode, the bundle will not include the SVGRenderer module, which is not needed.
|
|
2137
|
+
GraphicComponent,
|
|
2138
|
+
SVGRenderer,
|
|
2139
|
+
VisualMapComponent
|
|
2140
|
+
]);
|
|
2141
|
+
registerSentioTheme();
|
|
2142
|
+
var ReactEChartsBaseComponent = ({
|
|
2143
|
+
group,
|
|
2144
|
+
option,
|
|
2145
|
+
style,
|
|
2146
|
+
settings,
|
|
2147
|
+
loading,
|
|
2148
|
+
theme: _theme,
|
|
2149
|
+
// minHeight,
|
|
2150
|
+
returnedSeries,
|
|
2151
|
+
totalSeries,
|
|
2152
|
+
onSelect,
|
|
2153
|
+
noLegend,
|
|
2154
|
+
onZoom,
|
|
2155
|
+
onClick,
|
|
2156
|
+
onSeriesEvent,
|
|
2157
|
+
onInitChart
|
|
2158
|
+
}, forwardedRef) => {
|
|
2159
|
+
const isDarkMode = useDarkMode();
|
|
2160
|
+
const theme = _theme || (isDarkMode ? "sentio-dark" : "sentio");
|
|
2161
|
+
const [legendSelected, setLegendSelected] = useState6(
|
|
2162
|
+
{}
|
|
2163
|
+
);
|
|
2164
|
+
const [chart, setChart] = useState6();
|
|
2165
|
+
const echartInstanceRef = useRef3();
|
|
2166
|
+
const [legendRendered, setLegendRendered] = useState6(false);
|
|
2167
|
+
const chartRender = "canvas";
|
|
2168
|
+
const frameRef = useRef3(null);
|
|
2169
|
+
const chartHandle = useMemo4(() => {
|
|
2170
|
+
return {
|
|
2171
|
+
getEChart: () => echartInstanceRef.current,
|
|
2172
|
+
highlightSeries(highlighted) {
|
|
2173
|
+
const chart2 = echartInstanceRef.current;
|
|
2174
|
+
if (chart2) {
|
|
2175
|
+
const { series: s } = chart2.getOption();
|
|
2176
|
+
const series = s;
|
|
2177
|
+
if (highlighted) {
|
|
2178
|
+
for (let i = 0; i < series.length; i++) {
|
|
2179
|
+
const s2 = series[i];
|
|
2180
|
+
if (s2.id == highlighted.seriesId || highlighted.seriesIndex == i) {
|
|
2181
|
+
s2.lineStyle = s2.lineStyle || {};
|
|
2182
|
+
s2.lineStyle.opacity = 1;
|
|
2183
|
+
} else {
|
|
2184
|
+
s2.lineStyle = s2.lineStyle || {};
|
|
2185
|
+
s2.lineStyle.opacity = 0.2;
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
} else {
|
|
2189
|
+
series.forEach((s2) => {
|
|
2190
|
+
s2.lineStyle = s2.lineStyle || {};
|
|
2191
|
+
s2.lineStyle.opacity = 1;
|
|
2192
|
+
});
|
|
2193
|
+
}
|
|
2194
|
+
chart2.setOption({ series });
|
|
2195
|
+
}
|
|
2196
|
+
},
|
|
2197
|
+
getSeriesColor(s) {
|
|
2198
|
+
const chart2 = echartInstanceRef.current;
|
|
2199
|
+
if (chart2) {
|
|
2200
|
+
try {
|
|
2201
|
+
const { series: optionSeries } = chart2.getOption();
|
|
2202
|
+
const seriesList = optionSeries || [];
|
|
2203
|
+
let resolvedIndex = s.seriesIndex;
|
|
2204
|
+
if ((resolvedIndex == null || resolvedIndex < 0) && s.seriesId) {
|
|
2205
|
+
resolvedIndex = seriesList.findIndex(
|
|
2206
|
+
(serie) => serie.id === s.seriesId
|
|
2207
|
+
);
|
|
2208
|
+
}
|
|
2209
|
+
if ((resolvedIndex == null || resolvedIndex < 0) && s.seriesName) {
|
|
2210
|
+
resolvedIndex = seriesList.findIndex(
|
|
2211
|
+
(serie) => serie.name === s.seriesName
|
|
2212
|
+
);
|
|
2213
|
+
}
|
|
2214
|
+
if (resolvedIndex != null && resolvedIndex >= 0 && resolvedIndex < seriesList.length) {
|
|
2215
|
+
return chart2.getVisual(
|
|
2216
|
+
{ seriesIndex: resolvedIndex },
|
|
2217
|
+
"color"
|
|
2218
|
+
);
|
|
2219
|
+
}
|
|
2220
|
+
return void 0;
|
|
2221
|
+
} catch (e) {
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
},
|
|
2225
|
+
getFrame() {
|
|
2226
|
+
return frameRef.current;
|
|
2227
|
+
},
|
|
2228
|
+
toggleLegend(name, selected) {
|
|
2229
|
+
const chart2 = echartInstanceRef.current;
|
|
2230
|
+
if (selected == null) {
|
|
2231
|
+
chart2?.dispatchAction({
|
|
2232
|
+
type: "legendToggleSelect",
|
|
2233
|
+
name
|
|
2234
|
+
});
|
|
2235
|
+
} else {
|
|
2236
|
+
chart2?.dispatchAction({
|
|
2237
|
+
type: selected ? "legendSelect" : "legendUnSelect",
|
|
2238
|
+
name
|
|
2239
|
+
});
|
|
2240
|
+
}
|
|
2241
|
+
},
|
|
2242
|
+
getSeries(seriesId) {
|
|
2243
|
+
const chart2 = echartInstanceRef.current;
|
|
2244
|
+
if (chart2) {
|
|
2245
|
+
const { series: s } = chart2.getOption();
|
|
2246
|
+
const series = s;
|
|
2247
|
+
return series?.find((s2) => s2.id == seriesId);
|
|
2248
|
+
}
|
|
2249
|
+
},
|
|
2250
|
+
resize: (size) => {
|
|
2251
|
+
const chart2 = echartInstanceRef.current;
|
|
2252
|
+
chart2?.resize(size);
|
|
2253
|
+
}
|
|
2254
|
+
};
|
|
2255
|
+
}, []);
|
|
2256
|
+
useImperativeHandle(forwardedRef, () => {
|
|
2257
|
+
return chartHandle;
|
|
2258
|
+
}, [chartHandle]);
|
|
2259
|
+
const onResize = useCallback3(({ width, height }) => {
|
|
2260
|
+
const chart2 = echartInstanceRef.current;
|
|
2261
|
+
chart2?.resize({
|
|
2262
|
+
width: width ?? void 0,
|
|
2263
|
+
height: height ?? void 0
|
|
2264
|
+
});
|
|
2265
|
+
}, []);
|
|
2266
|
+
const {
|
|
2267
|
+
// width,
|
|
2268
|
+
// height,
|
|
2269
|
+
ref: chartRef
|
|
2270
|
+
} = useResizeDetector({
|
|
2271
|
+
onResize,
|
|
2272
|
+
refreshMode: "throttle",
|
|
2273
|
+
refreshRate: 100
|
|
2274
|
+
});
|
|
2275
|
+
useEffect5(() => {
|
|
2276
|
+
let instance;
|
|
2277
|
+
const containerNode = frameRef.current?.querySelector(".echart-container");
|
|
2278
|
+
if (containerNode) {
|
|
2279
|
+
instance = init(containerNode, theme, {
|
|
2280
|
+
renderer: chartRender,
|
|
2281
|
+
locale: "EN"
|
|
2282
|
+
});
|
|
2283
|
+
echartInstanceRef.current = instance;
|
|
2284
|
+
setChart(instance);
|
|
2285
|
+
}
|
|
2286
|
+
return () => {
|
|
2287
|
+
echartInstanceRef.current = void 0;
|
|
2288
|
+
instance?.dispose();
|
|
2289
|
+
};
|
|
2290
|
+
}, [theme, chartRender]);
|
|
2291
|
+
useEffect5(() => {
|
|
2292
|
+
if (!chart || chart.isDisposed()) {
|
|
2293
|
+
return;
|
|
2294
|
+
}
|
|
2295
|
+
chart.on("legendselected", (event) => {
|
|
2296
|
+
setLegendSelected(event.selected);
|
|
2297
|
+
});
|
|
2298
|
+
chart.on("legendunselected", (event) => {
|
|
2299
|
+
setLegendSelected(event.selected);
|
|
2300
|
+
});
|
|
2301
|
+
chart.on("legendselectchanged", (event) => {
|
|
2302
|
+
setLegendSelected(event.selected);
|
|
2303
|
+
});
|
|
2304
|
+
chart.on("brushEnd", (params) => {
|
|
2305
|
+
const areas = params.areas[0];
|
|
2306
|
+
if (areas) {
|
|
2307
|
+
const start = areas.coordRange[0];
|
|
2308
|
+
const end = areas.coordRange[1];
|
|
2309
|
+
onSelect && onSelect(start, end);
|
|
2310
|
+
}
|
|
2311
|
+
});
|
|
2312
|
+
if (onZoom) {
|
|
2313
|
+
chart.on("dataZoom", (params) => {
|
|
2314
|
+
onZoom(params.start, params.end);
|
|
2315
|
+
});
|
|
2316
|
+
}
|
|
2317
|
+
return () => {
|
|
2318
|
+
if (chart.isDisposed()) return;
|
|
2319
|
+
chart.off("legendselectchanged");
|
|
2320
|
+
chart.off("brushEnd");
|
|
2321
|
+
chart.off("dataZoom");
|
|
2322
|
+
};
|
|
2323
|
+
}, [chart, onSelect, onZoom]);
|
|
2324
|
+
useEffect5(() => {
|
|
2325
|
+
if (!chart || chart.isDisposed() || !onClick) {
|
|
2326
|
+
return;
|
|
2327
|
+
}
|
|
2328
|
+
chart.getZr()?.on("click", (params) => {
|
|
2329
|
+
const pointInPixel = [params.offsetX, params.offsetY];
|
|
2330
|
+
const pointInGrid = chart.convertFromPixel("grid", pointInPixel);
|
|
2331
|
+
onClick(pointInGrid, params);
|
|
2332
|
+
});
|
|
2333
|
+
if (onSeriesEvent) {
|
|
2334
|
+
chart.on("click", "series", (params) => {
|
|
2335
|
+
onSeriesEvent?.("click", params);
|
|
2336
|
+
});
|
|
2337
|
+
chart.on("mouseover", "series", (params) => {
|
|
2338
|
+
onSeriesEvent?.("mouseover", params);
|
|
2339
|
+
});
|
|
2340
|
+
chart.on("mouseout", "series", (params) => {
|
|
2341
|
+
onSeriesEvent?.("mouseout", params);
|
|
2342
|
+
});
|
|
2343
|
+
}
|
|
2344
|
+
return () => {
|
|
2345
|
+
if (chart.isDisposed()) return;
|
|
2346
|
+
chart.getZr()?.off("click");
|
|
2347
|
+
if (onSeriesEvent) {
|
|
2348
|
+
chart.off("click");
|
|
2349
|
+
chart.off("mouseout");
|
|
2350
|
+
chart.off("mouseover");
|
|
2351
|
+
}
|
|
2352
|
+
};
|
|
2353
|
+
}, [chart, onClick, onSeriesEvent, onInitChart]);
|
|
2354
|
+
const processedOption = useMemo4(() => {
|
|
2355
|
+
if (!option) return option;
|
|
2356
|
+
const processedOpt = { ...option };
|
|
2357
|
+
const graphicElements = [];
|
|
2358
|
+
let hasYAxisName = false;
|
|
2359
|
+
let hasXAxisName = false;
|
|
2360
|
+
const textColor = isDarkMode ? "#A6A6A6" : "#6E7079";
|
|
2361
|
+
const createAxisNameElement = (name, isYAxis, axisIndex = 0) => {
|
|
2362
|
+
const baseStyle = {
|
|
2363
|
+
text: name,
|
|
2364
|
+
fontSize: 11,
|
|
2365
|
+
fontFamily: sansFontFamily,
|
|
2366
|
+
fontWeight: 600,
|
|
2367
|
+
fill: textColor,
|
|
2368
|
+
textAlign: "center",
|
|
2369
|
+
textVerticalAlign: "middle"
|
|
2370
|
+
};
|
|
2371
|
+
if (isYAxis) {
|
|
2372
|
+
return {
|
|
2373
|
+
type: "text",
|
|
2374
|
+
left: axisIndex === 0 ? 8 : "right",
|
|
2375
|
+
top: "middle",
|
|
2376
|
+
rotation: Math.PI / 2,
|
|
2377
|
+
style: baseStyle,
|
|
2378
|
+
z: 100,
|
|
2379
|
+
silent: true
|
|
2380
|
+
};
|
|
2381
|
+
} else {
|
|
2382
|
+
return {
|
|
2383
|
+
type: "text",
|
|
2384
|
+
left: "center",
|
|
2385
|
+
bottom: axisIndex === 0 ? 8 : "top",
|
|
2386
|
+
style: baseStyle,
|
|
2387
|
+
z: 100,
|
|
2388
|
+
silent: true
|
|
2389
|
+
};
|
|
2390
|
+
}
|
|
2391
|
+
};
|
|
2392
|
+
const processAxisName = (axisConfig, isYAxis, axisIndex = 0) => {
|
|
2393
|
+
if (axisConfig && typeof axisConfig === "object" && axisConfig.name) {
|
|
2394
|
+
if (isYAxis) {
|
|
2395
|
+
hasYAxisName = true;
|
|
2396
|
+
} else {
|
|
2397
|
+
hasXAxisName = true;
|
|
2398
|
+
}
|
|
2399
|
+
const { name, ...restAxis } = axisConfig;
|
|
2400
|
+
const graphicElement = createAxisNameElement(name, isYAxis, axisIndex);
|
|
2401
|
+
graphicElements.push(graphicElement);
|
|
2402
|
+
return restAxis;
|
|
2403
|
+
}
|
|
2404
|
+
return axisConfig;
|
|
2405
|
+
};
|
|
2406
|
+
const processAxisArray = (axisOption, isYAxis) => {
|
|
2407
|
+
if (!axisOption) return axisOption;
|
|
2408
|
+
if (Array.isArray(axisOption)) {
|
|
2409
|
+
return axisOption.map(
|
|
2410
|
+
(axis, index) => processAxisName(axis, isYAxis, index)
|
|
2411
|
+
);
|
|
2412
|
+
} else {
|
|
2413
|
+
return processAxisName(axisOption, isYAxis, 0);
|
|
2414
|
+
}
|
|
2415
|
+
};
|
|
2416
|
+
processedOpt.yAxis = processAxisArray(option.yAxis, true);
|
|
2417
|
+
processedOpt.xAxis = processAxisArray(option.xAxis, false);
|
|
2418
|
+
if (hasYAxisName || hasXAxisName) {
|
|
2419
|
+
const originalGrid = processedOpt.grid || {};
|
|
2420
|
+
const adjustGridSpacing = (gridItem) => ({
|
|
2421
|
+
...gridItem,
|
|
2422
|
+
left: hasYAxisName ? typeof gridItem.left === "number" ? gridItem.left + 20 : 32 : gridItem.left,
|
|
2423
|
+
bottom: hasXAxisName ? typeof gridItem.bottom === "number" ? gridItem.bottom + 20 : 28 : gridItem.bottom
|
|
2424
|
+
});
|
|
2425
|
+
processedOpt.grid = Array.isArray(originalGrid) ? originalGrid.map(adjustGridSpacing) : adjustGridSpacing(originalGrid);
|
|
2426
|
+
}
|
|
2427
|
+
if (graphicElements.length > 0) {
|
|
2428
|
+
const existingGraphic = processedOpt.graphic;
|
|
2429
|
+
if (existingGraphic) {
|
|
2430
|
+
processedOpt.graphic = Array.isArray(existingGraphic) ? [...existingGraphic, ...graphicElements] : [existingGraphic, ...graphicElements];
|
|
2431
|
+
} else {
|
|
2432
|
+
processedOpt.graphic = graphicElements;
|
|
2433
|
+
}
|
|
2434
|
+
}
|
|
2435
|
+
return processedOpt;
|
|
2436
|
+
}, [option, isDarkMode]);
|
|
2437
|
+
useEffect5(() => {
|
|
2438
|
+
if (!chart || chart.isDisposed()) {
|
|
2439
|
+
return;
|
|
2440
|
+
}
|
|
2441
|
+
try {
|
|
2442
|
+
chart.setOption(
|
|
2443
|
+
{
|
|
2444
|
+
...processedOption,
|
|
2445
|
+
legend: {
|
|
2446
|
+
...processedOption.legend,
|
|
2447
|
+
// Persist legend selected state between re-render.
|
|
2448
|
+
...legendSelected ? { selected: legendSelected } : {}
|
|
2449
|
+
}
|
|
2450
|
+
},
|
|
2451
|
+
{ ...settings, notMerge: true }
|
|
2452
|
+
);
|
|
2453
|
+
} catch (e) {
|
|
2454
|
+
console.error("echarts set option failed", e, processedOption);
|
|
2455
|
+
}
|
|
2456
|
+
onInitChart?.(chart);
|
|
2457
|
+
if (!isMobile()) {
|
|
2458
|
+
chart.dispatchAction({
|
|
2459
|
+
type: "brush",
|
|
2460
|
+
command: "clear",
|
|
2461
|
+
areas: []
|
|
2462
|
+
});
|
|
2463
|
+
chart.dispatchAction({
|
|
2464
|
+
type: "takeGlobalCursor",
|
|
2465
|
+
key: "brush",
|
|
2466
|
+
brushOption: {
|
|
2467
|
+
brushType: "lineX",
|
|
2468
|
+
brushMode: "single"
|
|
2469
|
+
}
|
|
2470
|
+
});
|
|
2471
|
+
}
|
|
2472
|
+
}, [
|
|
2473
|
+
chart,
|
|
2474
|
+
processedOption,
|
|
2475
|
+
settings,
|
|
2476
|
+
theme,
|
|
2477
|
+
onSelect,
|
|
2478
|
+
legendSelected,
|
|
2479
|
+
onInitChart
|
|
2480
|
+
]);
|
|
2481
|
+
useEffect5(() => {
|
|
2482
|
+
if (loading) {
|
|
2483
|
+
setLegendRendered(false);
|
|
2484
|
+
}
|
|
2485
|
+
}, [loading]);
|
|
2486
|
+
useEffect5(() => {
|
|
2487
|
+
if (chart && !chart.isDisposed()) {
|
|
2488
|
+
chart.group = group || "";
|
|
2489
|
+
}
|
|
2490
|
+
}, [chart, group]);
|
|
2491
|
+
const onMouseDown = useCallback3(
|
|
2492
|
+
(event) => {
|
|
2493
|
+
if (event.button !== 0 && chartRef.current) {
|
|
2494
|
+
chartRef.current.querySelector(chartRender)?.dispatchEvent(
|
|
2495
|
+
new MouseEvent("mouseup", event)
|
|
2496
|
+
);
|
|
2497
|
+
}
|
|
2498
|
+
},
|
|
2499
|
+
[chartRef, chartRender]
|
|
2500
|
+
);
|
|
2501
|
+
const legends = noLegend ? null : /* @__PURE__ */ jsx9(Fragment4, { children: chart && !loading && /* @__PURE__ */ jsx9(
|
|
2502
|
+
ChartLegend,
|
|
2503
|
+
{
|
|
2504
|
+
legend: option?.legend?.data || [],
|
|
2505
|
+
chartHandle,
|
|
2506
|
+
legendSelected,
|
|
2507
|
+
returnedSeries,
|
|
2508
|
+
totalSeries,
|
|
2509
|
+
onRendered: setLegendRendered
|
|
2510
|
+
}
|
|
2511
|
+
) });
|
|
2512
|
+
return /* @__PURE__ */ jsxs6(
|
|
2513
|
+
"div",
|
|
2514
|
+
{
|
|
2515
|
+
className: "relative mb-1 grid h-full",
|
|
2516
|
+
style: { gridTemplateRows: "1fr max-content", height: "270px", ...style },
|
|
2517
|
+
onMouseDown,
|
|
2518
|
+
ref: frameRef,
|
|
2519
|
+
children: [
|
|
2520
|
+
/* @__PURE__ */ jsx9(
|
|
2521
|
+
"div",
|
|
2522
|
+
{
|
|
2523
|
+
ref: chartRef,
|
|
2524
|
+
className: "echart-container min-h-0 w-full min-w-0"
|
|
2525
|
+
}
|
|
2526
|
+
),
|
|
2527
|
+
legends,
|
|
2528
|
+
loading && /* @__PURE__ */ jsx9(
|
|
2529
|
+
BarLoading,
|
|
2530
|
+
{
|
|
2531
|
+
className: "bg-default-bg absolute w-full",
|
|
2532
|
+
hint: "Loading",
|
|
2533
|
+
width: 100
|
|
2534
|
+
}
|
|
2535
|
+
)
|
|
2536
|
+
]
|
|
2537
|
+
}
|
|
2538
|
+
);
|
|
2539
|
+
};
|
|
2540
|
+
var ReactEChartsBase = forwardRef(ReactEChartsBaseComponent);
|
|
2541
|
+
|
|
2542
|
+
// src/charts/RefreshContext.tsx
|
|
2543
|
+
import { createContext as createContext2, useContext as useContext2 } from "react";
|
|
2544
|
+
import { Button as NewButton } from "@sentio/ui-core";
|
|
2545
|
+
import { IoMdRefresh } from "react-icons/io";
|
|
2546
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
2547
|
+
var RefreshContext = createContext2({});
|
|
2548
|
+
var RefreshButton = (props) => {
|
|
2549
|
+
const { refresh, isRefreshing } = useContext2(RefreshContext);
|
|
2550
|
+
if (!refresh) return null;
|
|
2551
|
+
return /* @__PURE__ */ jsx10("div", { className: "grid items-center justify-items-center", children: /* @__PURE__ */ jsx10(
|
|
2552
|
+
NewButton,
|
|
2553
|
+
{
|
|
2554
|
+
size: "sm",
|
|
2555
|
+
role: "text",
|
|
2556
|
+
onClick: (evt) => {
|
|
2557
|
+
evt.preventDefault();
|
|
2558
|
+
refresh();
|
|
2559
|
+
},
|
|
2560
|
+
processing: isRefreshing,
|
|
2561
|
+
icon: /* @__PURE__ */ jsx10(IoMdRefresh, {}),
|
|
2562
|
+
className: "text-text-foreground-secondary!",
|
|
2563
|
+
...props,
|
|
2564
|
+
children: "Retry"
|
|
2565
|
+
}
|
|
2566
|
+
) });
|
|
2567
|
+
};
|
|
2568
|
+
|
|
2569
|
+
// src/charts/options/LineControls.tsx
|
|
2570
|
+
import { produce as produce4 } from "immer";
|
|
2571
|
+
import {
|
|
2572
|
+
DisclosurePanel,
|
|
2573
|
+
NewButtonGroup as ButtonGroup,
|
|
2574
|
+
Checkbox
|
|
2575
|
+
} from "@sentio/ui-core";
|
|
2576
|
+
import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2577
|
+
var lineStyles = [
|
|
2578
|
+
{ label: "Solid", value: "Solid" },
|
|
2579
|
+
{ label: "Dotted", value: "Dotted" }
|
|
2580
|
+
];
|
|
2581
|
+
var LineControls = ({ config, defaultOpen, onChange }) => {
|
|
2582
|
+
const setStyle = (style) => {
|
|
2583
|
+
onChange(
|
|
2584
|
+
produce4(config || {}, (draft) => {
|
|
2585
|
+
draft.style = style;
|
|
2586
|
+
})
|
|
2587
|
+
);
|
|
2588
|
+
};
|
|
2589
|
+
const setSmooth = (smooth) => {
|
|
2590
|
+
onChange(
|
|
2591
|
+
produce4(config || {}, (draft) => {
|
|
2592
|
+
draft.smooth = smooth;
|
|
2593
|
+
})
|
|
2594
|
+
);
|
|
2595
|
+
};
|
|
2596
|
+
return /* @__PURE__ */ jsx11(
|
|
2597
|
+
DisclosurePanel,
|
|
2598
|
+
{
|
|
2599
|
+
title: "Line style",
|
|
2600
|
+
containerClassName: "w-full bg-default-bg",
|
|
2601
|
+
children: /* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-4", children: [
|
|
2602
|
+
/* @__PURE__ */ jsx11(
|
|
2603
|
+
ButtonGroup,
|
|
2604
|
+
{
|
|
2605
|
+
buttons: lineStyles,
|
|
2606
|
+
value: config?.style || "Solid",
|
|
2607
|
+
onChange: setStyle
|
|
2608
|
+
}
|
|
2609
|
+
),
|
|
2610
|
+
/* @__PURE__ */ jsx11(
|
|
2611
|
+
Checkbox,
|
|
2612
|
+
{
|
|
2613
|
+
label: "Smooth Curves",
|
|
2614
|
+
checked: config?.smooth,
|
|
2615
|
+
onChange: setSmooth
|
|
2616
|
+
}
|
|
2617
|
+
)
|
|
2618
|
+
] })
|
|
2619
|
+
}
|
|
2620
|
+
);
|
|
2621
|
+
};
|
|
2622
|
+
|
|
2623
|
+
// src/charts/options/LabelControls.tsx
|
|
2624
|
+
import { useEffect as useEffect6, useMemo as useMemo5 } from "react";
|
|
2625
|
+
import { produce as produce5 } from "immer";
|
|
2626
|
+
import { Button as NewButton2, DisclosurePanel as DisclosurePanel2, HelpIcon as HelpIcon2 } from "@sentio/ui-core";
|
|
2627
|
+
import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2628
|
+
var initialConfig = {
|
|
2629
|
+
columns: [],
|
|
2630
|
+
alias: ""
|
|
2631
|
+
};
|
|
2632
|
+
var LabelControls = ({ config, setConfig, defaultOpen }) => {
|
|
2633
|
+
useEffect6(() => {
|
|
2634
|
+
if (config?.columns && config.columns.length > 0 && !config.alias) {
|
|
2635
|
+
const aliasParts = [];
|
|
2636
|
+
config.columns.forEach((colConfig) => {
|
|
2637
|
+
if (!colConfig.name) return;
|
|
2638
|
+
if (colConfig.showLabel === false && colConfig.showValue === false) {
|
|
2639
|
+
} else if (colConfig.showValue === false) {
|
|
2640
|
+
aliasParts.push(colConfig.name);
|
|
2641
|
+
} else {
|
|
2642
|
+
aliasParts.push(`{{${colConfig.name}}}`);
|
|
2643
|
+
}
|
|
2644
|
+
});
|
|
2645
|
+
if (aliasParts.length > 0) {
|
|
2646
|
+
const migratedAlias = aliasParts.join(", ");
|
|
2647
|
+
setConfig(
|
|
2648
|
+
produce5(config, (draft) => {
|
|
2649
|
+
draft.alias = migratedAlias;
|
|
2650
|
+
draft.columns = [];
|
|
2651
|
+
})
|
|
2652
|
+
);
|
|
2653
|
+
}
|
|
2654
|
+
}
|
|
2655
|
+
}, [config, setConfig]);
|
|
2656
|
+
const onAliasChanged = (alias) => {
|
|
2657
|
+
setConfig(
|
|
2658
|
+
produce5(config ?? initialConfig, (draft) => {
|
|
2659
|
+
draft.alias = alias;
|
|
2660
|
+
})
|
|
2661
|
+
);
|
|
2662
|
+
};
|
|
2663
|
+
const _defaultOpen = useMemo5(() => {
|
|
2664
|
+
if (defaultOpen) {
|
|
2665
|
+
return true;
|
|
2666
|
+
}
|
|
2667
|
+
return config?.alias !== "" || config?.columns && config.columns.length > 0;
|
|
2668
|
+
}, [config, defaultOpen]);
|
|
2669
|
+
return /* @__PURE__ */ jsx12(
|
|
2670
|
+
DisclosurePanel2,
|
|
2671
|
+
{
|
|
2672
|
+
title: "Label Controls",
|
|
2673
|
+
defaultOpen: _defaultOpen,
|
|
2674
|
+
containerClassName: "w-full bg-default-bg",
|
|
2675
|
+
children: /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2", children: [
|
|
2676
|
+
/* @__PURE__ */ jsxs8("div", { className: "inline-flex h-8", children: [
|
|
2677
|
+
/* @__PURE__ */ jsxs8("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: [
|
|
2678
|
+
"Label Alias",
|
|
2679
|
+
/* @__PURE__ */ jsx12(
|
|
2680
|
+
HelpIcon2,
|
|
2681
|
+
{
|
|
2682
|
+
text: /* @__PURE__ */ jsxs8("div", { className: "text-icontent text-text-foreground", children: [
|
|
2683
|
+
/* @__PURE__ */ jsx12("div", { children: "Series name override or template." }),
|
|
2684
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
2685
|
+
"Ex.",
|
|
2686
|
+
" ",
|
|
2687
|
+
/* @__PURE__ */ jsx12("span", { className: "text-primary mx-1 font-semibold italic", children: "{{contract}}" }),
|
|
2688
|
+
" ",
|
|
2689
|
+
"will be replaced with the value of the contract label."
|
|
2690
|
+
] })
|
|
2691
|
+
] })
|
|
2692
|
+
}
|
|
2693
|
+
)
|
|
2694
|
+
] }),
|
|
2695
|
+
/* @__PURE__ */ jsx12(
|
|
2696
|
+
"input",
|
|
2697
|
+
{
|
|
2698
|
+
type: "text",
|
|
2699
|
+
value: config?.alias || "",
|
|
2700
|
+
onChange: (e) => onAliasChanged(e.target.value),
|
|
2701
|
+
placeholder: "Enter alias...",
|
|
2702
|
+
className: "focus:border-primary-500 sm:text-icontent border-main inline-flex w-64 items-center rounded-r-md border px-2"
|
|
2703
|
+
}
|
|
2704
|
+
)
|
|
2705
|
+
] }),
|
|
2706
|
+
/* @__PURE__ */ jsx12(
|
|
2707
|
+
NewButton2,
|
|
2708
|
+
{
|
|
2709
|
+
type: "button",
|
|
2710
|
+
role: "link",
|
|
2711
|
+
onClick: () => {
|
|
2712
|
+
setConfig(initialConfig);
|
|
2713
|
+
},
|
|
2714
|
+
children: "Reset"
|
|
2715
|
+
}
|
|
2716
|
+
)
|
|
2717
|
+
] })
|
|
2718
|
+
}
|
|
2719
|
+
);
|
|
2720
|
+
};
|
|
2721
|
+
|
|
2722
|
+
// src/charts/options/PieChartControls.tsx
|
|
2723
|
+
import { produce as produce6 } from "immer";
|
|
2724
|
+
import { defaults } from "lodash";
|
|
2725
|
+
import {
|
|
2726
|
+
Checkbox as Checkbox2,
|
|
2727
|
+
DisclosurePanel as DisclosurePanel3,
|
|
2728
|
+
NewButtonGroup as ButtonGroup2
|
|
2729
|
+
} from "@sentio/ui-core";
|
|
2730
|
+
import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2731
|
+
var defaultConfig = {
|
|
2732
|
+
pieType: "Pie",
|
|
2733
|
+
calculation: "LAST",
|
|
2734
|
+
showPercent: true,
|
|
2735
|
+
showValue: true,
|
|
2736
|
+
absValue: false
|
|
2737
|
+
};
|
|
2738
|
+
var CalculationItems = [
|
|
2739
|
+
{ label: "Last", value: "LAST" },
|
|
2740
|
+
{ label: "First", value: "FIRST" },
|
|
2741
|
+
{ label: "Total", value: "TOTAL" },
|
|
2742
|
+
{ label: "Mean", value: "MEAN" },
|
|
2743
|
+
{ label: "Max", value: "MAX" },
|
|
2744
|
+
{ label: "Min", value: "MIN" }
|
|
2745
|
+
];
|
|
2746
|
+
var PieTypeItems = [
|
|
2747
|
+
{ label: "Pie", value: "Pie" },
|
|
2748
|
+
{ label: "Donut", value: "Donut" }
|
|
2749
|
+
];
|
|
2750
|
+
function PieChartControls({ config, defaultOpen, onChange }) {
|
|
2751
|
+
config = defaults(config, defaultConfig);
|
|
2752
|
+
function onCalculationChange(cal) {
|
|
2753
|
+
config && onChange(produce6(config, (draft) => void (draft.calculation = cal)));
|
|
2754
|
+
}
|
|
2755
|
+
function onPieTypeChange(pieType) {
|
|
2756
|
+
config && onChange(produce6(config, (draft) => void (draft.pieType = pieType)));
|
|
2757
|
+
}
|
|
2758
|
+
function toggle(field, value) {
|
|
2759
|
+
config && onChange(
|
|
2760
|
+
produce6(config, (draft) => {
|
|
2761
|
+
draft[field] = value;
|
|
2762
|
+
})
|
|
2763
|
+
);
|
|
2764
|
+
}
|
|
2765
|
+
return /* @__PURE__ */ jsx13(
|
|
2766
|
+
DisclosurePanel3,
|
|
2767
|
+
{
|
|
2768
|
+
title: "Pie Chart Options",
|
|
2769
|
+
defaultOpen,
|
|
2770
|
+
containerClassName: "w-full bg-default-bg",
|
|
2771
|
+
children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-4", children: [
|
|
2772
|
+
/* @__PURE__ */ jsx13("div", { className: "shadow-xs flex rounded-md", children: /* @__PURE__ */ jsx13(
|
|
2773
|
+
ButtonGroup2,
|
|
2774
|
+
{
|
|
2775
|
+
small: true,
|
|
2776
|
+
buttons: PieTypeItems,
|
|
2777
|
+
value: config.pieType,
|
|
2778
|
+
onChange: onPieTypeChange
|
|
2779
|
+
}
|
|
2780
|
+
) }),
|
|
2781
|
+
/* @__PURE__ */ jsxs9("div", { className: "shadow-xs flex rounded-md", children: [
|
|
2782
|
+
/* @__PURE__ */ jsx13("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border bg-gray-50 px-3 ", children: "Calculation" }),
|
|
2783
|
+
/* @__PURE__ */ jsx13(
|
|
2784
|
+
"select",
|
|
2785
|
+
{
|
|
2786
|
+
value: config.calculation,
|
|
2787
|
+
className: "sm:text-ilabel text-text-foreground border-main inline-flex items-center rounded-r-md border border-l-0 pl-4 pr-7",
|
|
2788
|
+
onChange: (e) => onCalculationChange(e.target.value),
|
|
2789
|
+
children: CalculationItems.map((d) => {
|
|
2790
|
+
return /* @__PURE__ */ jsx13("option", { value: d.value, children: d.label }, d.value);
|
|
2791
|
+
})
|
|
2792
|
+
}
|
|
2793
|
+
)
|
|
2794
|
+
] }),
|
|
2795
|
+
/* @__PURE__ */ jsx13(
|
|
2796
|
+
Checkbox2,
|
|
2797
|
+
{
|
|
2798
|
+
checked: config?.showValue,
|
|
2799
|
+
onChange: (v) => toggle("showValue", v),
|
|
2800
|
+
label: "Show value",
|
|
2801
|
+
labelClassName: "whitespace-nowrap"
|
|
2802
|
+
}
|
|
2803
|
+
),
|
|
2804
|
+
/* @__PURE__ */ jsx13(
|
|
2805
|
+
Checkbox2,
|
|
2806
|
+
{
|
|
2807
|
+
checked: config?.showPercent,
|
|
2808
|
+
onChange: (v) => toggle("showPercent", v),
|
|
2809
|
+
label: "Show percent",
|
|
2810
|
+
labelClassName: "whitespace-nowrap"
|
|
2811
|
+
}
|
|
2812
|
+
),
|
|
2813
|
+
/* @__PURE__ */ jsx13(
|
|
2814
|
+
Checkbox2,
|
|
2815
|
+
{
|
|
2816
|
+
checked: config?.absValue,
|
|
2817
|
+
onChange: (v) => toggle("absValue", v),
|
|
2818
|
+
label: "Use absolute values",
|
|
2819
|
+
labelClassName: "whitespace-nowrap"
|
|
2820
|
+
}
|
|
2821
|
+
)
|
|
2822
|
+
] })
|
|
2823
|
+
}
|
|
2824
|
+
);
|
|
2825
|
+
}
|
|
2826
|
+
|
|
2827
|
+
// src/charts/options/BarGaugeControls.tsx
|
|
2828
|
+
import { produce as produce7 } from "immer";
|
|
2829
|
+
import { defaults as defaults2 } from "lodash";
|
|
2830
|
+
import { DisclosurePanel as DisclosurePanel4 } from "@sentio/ui-core";
|
|
2831
|
+
import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2832
|
+
var defaultConfig2 = {
|
|
2833
|
+
direction: "HORIZONTAL",
|
|
2834
|
+
calculation: "LAST",
|
|
2835
|
+
sort: {
|
|
2836
|
+
sortBy: "ByName",
|
|
2837
|
+
orderDesc: true
|
|
2838
|
+
}
|
|
2839
|
+
};
|
|
2840
|
+
var directionItems = [
|
|
2841
|
+
{ label: "Horizontal", value: "HORIZONTAL" },
|
|
2842
|
+
{ label: "Vertical", value: "VERTICAL" }
|
|
2843
|
+
];
|
|
2844
|
+
var CalculationItems2 = [
|
|
2845
|
+
{ label: "Last", value: "LAST" },
|
|
2846
|
+
{ label: "First", value: "FIRST" },
|
|
2847
|
+
{ label: "Total", value: "TOTAL" },
|
|
2848
|
+
{ label: "Mean", value: "MEAN" },
|
|
2849
|
+
{ label: "Max", value: "MAX" },
|
|
2850
|
+
{ label: "Min", value: "MIN" }
|
|
2851
|
+
];
|
|
2852
|
+
var sortByItems = [
|
|
2853
|
+
{ label: "Name", value: "ByName" },
|
|
2854
|
+
{ label: "Value", value: "ByValue" }
|
|
2855
|
+
];
|
|
2856
|
+
var orderItems = [
|
|
2857
|
+
{ label: "Ascendant", value: "false" },
|
|
2858
|
+
{ label: "Descendant", value: "true" }
|
|
2859
|
+
];
|
|
2860
|
+
function BarGaugeControls({ config, defaultOpen, onChange }) {
|
|
2861
|
+
config = defaults2(config, defaultConfig2);
|
|
2862
|
+
function onCalculationChange(cal) {
|
|
2863
|
+
config && onChange(produce7(config, (draft) => void (draft.calculation = cal)));
|
|
2864
|
+
}
|
|
2865
|
+
function onDirectionChange(dir) {
|
|
2866
|
+
config && onChange(produce7(config, (draft) => void (draft.direction = dir)));
|
|
2867
|
+
}
|
|
2868
|
+
function onOrderChange(orderDesc) {
|
|
2869
|
+
config && onChange(
|
|
2870
|
+
produce7(config, (draft) => {
|
|
2871
|
+
draft.sort = draft.sort || {};
|
|
2872
|
+
draft.sort.orderDesc = orderDesc;
|
|
2873
|
+
})
|
|
2874
|
+
);
|
|
2875
|
+
}
|
|
2876
|
+
function onSortByChange(sortBy2) {
|
|
2877
|
+
config && onChange(
|
|
2878
|
+
produce7(config, (draft) => {
|
|
2879
|
+
draft.sort = draft.sort || {};
|
|
2880
|
+
draft.sort.sortBy = sortBy2;
|
|
2881
|
+
})
|
|
2882
|
+
);
|
|
2883
|
+
}
|
|
2884
|
+
return /* @__PURE__ */ jsx14(
|
|
2885
|
+
DisclosurePanel4,
|
|
2886
|
+
{
|
|
2887
|
+
title: "Bar Gauge Options",
|
|
2888
|
+
defaultOpen,
|
|
2889
|
+
containerClassName: "w-full bg-default-bg",
|
|
2890
|
+
children: /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-4", children: [
|
|
2891
|
+
/* @__PURE__ */ jsxs10("div", { className: "shadow-xs flex rounded-md", children: [
|
|
2892
|
+
/* @__PURE__ */ jsx14("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border bg-gray-50 px-3 ", children: "Direction" }),
|
|
2893
|
+
/* @__PURE__ */ jsx14(
|
|
2894
|
+
"select",
|
|
2895
|
+
{
|
|
2896
|
+
value: config.direction,
|
|
2897
|
+
className: "sm:text-ilabel border-main text-text-foreground inline-flex items-center rounded-r-md border border-l-0 pl-4 pr-7",
|
|
2898
|
+
onChange: (e) => onDirectionChange(e.target.value),
|
|
2899
|
+
children: directionItems.map((d) => {
|
|
2900
|
+
return /* @__PURE__ */ jsx14("option", { value: d.value, children: d.label }, d.value);
|
|
2901
|
+
})
|
|
2902
|
+
}
|
|
2903
|
+
)
|
|
2904
|
+
] }),
|
|
2905
|
+
/* @__PURE__ */ jsxs10("div", { className: "shadow-xs flex rounded-md", children: [
|
|
2906
|
+
/* @__PURE__ */ jsx14("span", { className: "sm:text-ilabel border-main inline-flex items-center rounded-l-md border bg-gray-50 px-3 ", children: "Calculation" }),
|
|
2907
|
+
/* @__PURE__ */ jsx14(
|
|
2908
|
+
"select",
|
|
2909
|
+
{
|
|
2910
|
+
value: config.calculation,
|
|
2911
|
+
className: "sm:text-ilabel border-main text-text-foreground inline-flex items-center rounded-r-md border border-l-0 pl-4 pr-7",
|
|
2912
|
+
onChange: (e) => onCalculationChange(e.target.value),
|
|
2913
|
+
children: CalculationItems2.map((d) => {
|
|
2914
|
+
return /* @__PURE__ */ jsx14("option", { value: d.value, children: d.label }, d.value);
|
|
2915
|
+
})
|
|
2916
|
+
}
|
|
2917
|
+
)
|
|
2918
|
+
] }),
|
|
2919
|
+
/* @__PURE__ */ jsxs10("div", { className: "shadow-xs flex rounded-md", children: [
|
|
2920
|
+
/* @__PURE__ */ jsx14("span", { className: "sm:text-ilabel border-main inline-flex items-center whitespace-nowrap rounded-l-md border bg-gray-50 px-3", children: "Sort by" }),
|
|
2921
|
+
/* @__PURE__ */ jsx14(
|
|
2922
|
+
"select",
|
|
2923
|
+
{
|
|
2924
|
+
value: config?.sort?.sortBy,
|
|
2925
|
+
className: "sm:text-ilabel border-main text-text-foreground inline-flex items-center border border-l-0 pl-4 pr-7",
|
|
2926
|
+
onChange: (e) => onSortByChange(e.target.value),
|
|
2927
|
+
children: sortByItems.map((d) => {
|
|
2928
|
+
return /* @__PURE__ */ jsx14("option", { value: d.value, children: d.label }, d.value);
|
|
2929
|
+
})
|
|
2930
|
+
}
|
|
2931
|
+
),
|
|
2932
|
+
/* @__PURE__ */ jsx14(
|
|
2933
|
+
"select",
|
|
2934
|
+
{
|
|
2935
|
+
value: config?.sort?.orderDesc + "",
|
|
2936
|
+
className: "sm:text-ilabel border-main text-text-foreground inline-flex items-center rounded-r-md border border-l-0 pl-4 pr-7",
|
|
2937
|
+
onChange: (e) => onOrderChange(e.target.value === "true"),
|
|
2938
|
+
children: orderItems.map((d) => {
|
|
2939
|
+
return /* @__PURE__ */ jsx14("option", { value: d.value + "", children: d.label }, d.label);
|
|
2940
|
+
})
|
|
2941
|
+
}
|
|
2942
|
+
)
|
|
2943
|
+
] })
|
|
2944
|
+
] })
|
|
2945
|
+
}
|
|
2946
|
+
);
|
|
2947
|
+
}
|
|
2948
|
+
|
|
2949
|
+
// src/charts/icons/LineIcon.tsx
|
|
2950
|
+
import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2951
|
+
var SvgIcon = ({ className }) => /* @__PURE__ */ jsxs11(
|
|
2952
|
+
"svg",
|
|
2953
|
+
{
|
|
2954
|
+
width: "14",
|
|
2955
|
+
height: "14",
|
|
2956
|
+
viewBox: "0 0 14 14",
|
|
2957
|
+
fill: "none",
|
|
2958
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2959
|
+
className,
|
|
2960
|
+
children: [
|
|
2961
|
+
/* @__PURE__ */ jsx15("g", { clipPath: "url(#clip0_1774_9563)", children: /* @__PURE__ */ jsx15(
|
|
2962
|
+
"path",
|
|
2963
|
+
{
|
|
2964
|
+
d: "M12.6191 13.1249H1.35352C1.21672 13.1249 1.10049 13.0771 1.00483 12.9814C0.909161 12.8857 0.861328 12.7695 0.861328 12.6327V1.35352C0.861328 1.21672 0.909161 1.10049 1.00483 1.00483C1.10049 0.909161 1.21672 0.861328 1.35352 0.861328C1.49031 0.861328 1.60654 0.909161 1.7022 1.00483C1.79787 1.10049 1.8457 1.21672 1.8457 1.35352V12.1405H12.6191C12.7559 12.1405 12.8722 12.1883 12.9678 12.284C13.0635 12.3797 13.1113 12.4959 13.1113 12.6327C13.1113 12.7695 13.0635 12.8857 12.9678 12.9814C12.8722 13.0771 12.7559 13.1249 12.6191 13.1249ZM5.26345 10.1582C5.0902 10.1582 4.95341 10.0853 4.85308 9.93945L2.7067 6.52127C2.63379 6.40285 2.61104 6.27758 2.63845 6.14545C2.66587 6.01333 2.73645 5.91081 2.8502 5.83789C2.96395 5.76497 3.08704 5.74222 3.21945 5.76964C3.35187 5.79706 3.45439 5.86545 3.52702 5.97483L5.05827 8.46333L5.68739 6.04352C5.72385 5.89768 5.81047 5.79283 5.94727 5.72895L8.43576 4.52583C8.55418 4.47099 8.67274 4.45962 8.79145 4.4917C8.91016 4.52379 9.00583 4.59437 9.07845 4.70345L10.3227 6.72689L12.155 1.21702C12.2005 1.08927 12.2826 0.993599 12.4013 0.930016C12.52 0.866432 12.6431 0.857245 12.7705 0.902453C12.898 0.947661 12.9936 1.02977 13.0575 1.14877C13.1214 1.26777 13.1306 1.39085 13.0851 1.51802L10.9247 8.03939C10.8608 8.24006 10.724 8.35177 10.5143 8.37452C10.3046 8.39727 10.1451 8.32202 10.0357 8.14877L8.46333 5.60558L6.59039 6.50814L5.74252 9.78939C5.68768 9.9991 5.55556 10.1177 5.34614 10.1451C5.31872 10.1541 5.29131 10.1586 5.26389 10.1586L5.26345 10.1582Z",
|
|
2965
|
+
fill: "currentColor"
|
|
2966
|
+
}
|
|
2967
|
+
) }),
|
|
2968
|
+
/* @__PURE__ */ jsx15("defs", { children: /* @__PURE__ */ jsx15("clipPath", { id: "clip0_1774_9563", children: /* @__PURE__ */ jsx15("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
2969
|
+
]
|
|
2970
|
+
}
|
|
2971
|
+
);
|
|
2972
|
+
var LineIcon_default = SvgIcon;
|
|
2973
|
+
|
|
2974
|
+
// src/charts/icons/AreaIcon.tsx
|
|
2975
|
+
import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2976
|
+
var SvgIcon2 = ({ className }) => /* @__PURE__ */ jsxs12(
|
|
2977
|
+
"svg",
|
|
2978
|
+
{
|
|
2979
|
+
width: "14",
|
|
2980
|
+
height: "14",
|
|
2981
|
+
viewBox: "0 0 14 14",
|
|
2982
|
+
fill: "none",
|
|
2983
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2984
|
+
className,
|
|
2985
|
+
children: [
|
|
2986
|
+
/* @__PURE__ */ jsx16("g", { clipPath: "url(#clip0_1774_9545)", children: /* @__PURE__ */ jsx16(
|
|
2987
|
+
"path",
|
|
2988
|
+
{
|
|
2989
|
+
d: "M12.6193 13.1249H1.35364C1.21685 13.1249 1.10062 13.0771 1.00495 12.9814C0.909284 12.8857 0.86145 12.7695 0.86145 12.6327V1.35352C0.86145 1.21672 0.909284 1.10049 1.00495 1.00483C1.10062 0.909161 1.21685 0.861328 1.35364 0.861328C1.49043 0.861328 1.60666 0.909161 1.70233 1.00483C1.79799 1.10049 1.84583 1.21672 1.84583 1.35352V12.1405H12.6193C12.7561 12.1405 12.8723 12.1883 12.968 12.284C13.0636 12.3797 13.1115 12.4959 13.1115 12.6327C13.1115 12.7695 13.0636 12.8857 12.968 12.9814C12.8723 13.0771 12.7561 13.1249 12.6193 13.1249ZM2.62501 10.9374L4.22451 8.08008C4.26097 8.0162 4.31566 7.97289 4.38858 7.95014C4.46149 7.92739 4.53441 7.92972 4.60733 7.95714L6.12501 8.66808L7.73851 6.33008C7.83885 6.19329 7.96193 6.16135 8.10776 6.23427L9.61189 6.99989L11.7994 3.56814C11.8633 3.46781 11.9521 3.43368 12.0658 3.46577C12.1796 3.49785 12.2366 3.5731 12.2369 3.69152V10.8009C12.2369 10.9467 12.1845 11.072 12.0798 11.1767C11.9751 11.2814 11.8498 11.3338 11.704 11.3338H2.87176C2.77143 11.3338 2.69399 11.2905 2.63945 11.2038C2.58491 11.1172 2.58039 11.0284 2.62589 10.9374H2.62501Z",
|
|
2990
|
+
fill: "currentColor"
|
|
2991
|
+
}
|
|
2992
|
+
) }),
|
|
2993
|
+
/* @__PURE__ */ jsx16("defs", { children: /* @__PURE__ */ jsx16("clipPath", { id: "clip0_1774_9545", children: /* @__PURE__ */ jsx16("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
2994
|
+
]
|
|
2995
|
+
}
|
|
2996
|
+
);
|
|
2997
|
+
var AreaIcon_default = SvgIcon2;
|
|
2998
|
+
|
|
2999
|
+
// src/charts/icons/BarIcon.tsx
|
|
3000
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
3001
|
+
var SvgIcon3 = ({ className }) => /* @__PURE__ */ jsx17(
|
|
3002
|
+
"svg",
|
|
3003
|
+
{
|
|
3004
|
+
width: "14",
|
|
3005
|
+
height: "14",
|
|
3006
|
+
viewBox: "0 0 14 14",
|
|
3007
|
+
fill: "none",
|
|
3008
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3009
|
+
className,
|
|
3010
|
+
children: /* @__PURE__ */ jsx17(
|
|
3011
|
+
"path",
|
|
3012
|
+
{
|
|
3013
|
+
d: "M2.12791 1.5625V12.4375C2.12791 12.5938 2.07311 12.7267 1.96349 12.836C1.85387 12.9453 1.7207 13 1.56396 13C1.40722 13 1.27404 12.9453 1.16442 12.836C1.05481 12.7267 1 12.5938 1 12.4375V1.5625C1 1.40617 1.05481 1.27333 1.16442 1.164C1.27404 1.05467 1.40722 1 1.56396 1C1.7207 1 1.85387 1.05467 1.96349 1.164C2.07311 1.27333 2.12791 1.40617 2.12791 1.5625ZM1.56396 11.875H12.436C12.5928 11.875 12.726 11.9297 12.8356 12.039C12.9452 12.1483 13 12.2812 13 12.4375C13 12.5938 12.9452 12.7267 12.8356 12.836C12.726 12.9453 12.5928 13 12.436 13H1.56396C1.40722 13 1.27404 12.9453 1.16442 12.836C1.05481 12.7267 1 12.5938 1 12.4375C1 12.2812 1.05481 12.1483 1.16442 12.039C1.27404 11.9297 1.40722 11.875 1.56396 11.875ZM5.12014 4.578V10.375C5.12014 10.5313 5.06534 10.6642 4.95572 10.7735C4.8461 10.8828 4.71293 10.9375 4.55619 10.9375C4.39945 10.9375 4.26627 10.8828 4.15665 10.7735C4.04704 10.6642 3.99223 10.5313 3.99223 10.375V4.578C3.99223 4.42167 4.04704 4.28883 4.15665 4.1795C4.26627 4.07017 4.39945 4.0155 4.55619 4.0155C4.71293 4.0155 4.8461 4.07017 4.95572 4.1795C5.06534 4.28883 5.12014 4.42167 5.12014 4.578ZM11.1196 2.5465V10.3745C11.1196 10.5308 11.0648 10.6637 10.9552 10.773C10.8456 10.8823 10.7124 10.937 10.5557 10.937C10.3989 10.937 10.2658 10.8823 10.1562 10.773C10.0465 10.6637 9.99173 10.5308 9.99173 10.3745V2.5465C9.99173 2.39017 10.0465 2.25733 10.1562 2.148C10.2658 2.03867 10.3989 1.984 10.5557 1.984C10.7124 1.984 10.8456 2.03867 10.9552 2.148C11.0648 2.25733 11.1196 2.39017 11.1196 2.5465ZM8.11187 6.5465V10.3745C8.11187 10.5308 8.05706 10.6637 7.94745 10.773C7.83783 10.8823 7.70465 10.937 7.54792 10.937C7.39118 10.937 7.258 10.8823 7.14838 10.773C7.03877 10.6637 6.98396 10.5308 6.98396 10.3745V6.5465C6.98396 6.39017 7.03877 6.25733 7.14838 6.148C7.258 6.03867 7.39118 5.984 7.54792 5.984C7.69429 5.984 7.8248 6.03867 7.93943 6.148C8.05406 6.25733 8.11154 6.39017 8.11187 6.5465Z",
|
|
3014
|
+
fill: "currentColor"
|
|
3015
|
+
}
|
|
3016
|
+
)
|
|
3017
|
+
}
|
|
3018
|
+
);
|
|
3019
|
+
var BarIcon_default = SvgIcon3;
|
|
3020
|
+
|
|
3021
|
+
// src/charts/icons/BarGuageIcon.tsx
|
|
3022
|
+
import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
3023
|
+
var SvgIcon4 = ({ className }) => /* @__PURE__ */ jsxs13(
|
|
3024
|
+
"svg",
|
|
3025
|
+
{
|
|
3026
|
+
width: "14",
|
|
3027
|
+
height: "14",
|
|
3028
|
+
viewBox: "0 0 14 14",
|
|
3029
|
+
fill: "currentColor",
|
|
3030
|
+
className,
|
|
3031
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3032
|
+
children: [
|
|
3033
|
+
/* @__PURE__ */ jsx18(
|
|
3034
|
+
"path",
|
|
3035
|
+
{
|
|
3036
|
+
d: "M2.12791 1.5625V12.4375C2.12791 12.5938 2.07311 12.7267 1.96349 12.836C1.85387 12.9453 1.7207 13 1.56396 13C1.40722 13 1.27404 12.9453 1.16442 12.836C1.05481 12.7267 1 12.5938 1 12.4375V1.5625C1 1.40617 1.05481 1.27333 1.16442 1.164C1.27404 1.05467 1.40722 1 1.56396 1C1.7207 1 1.85387 1.05467 1.96349 1.164C2.07311 1.27333 2.12791 1.40617 2.12791 1.5625ZM1.56396 11.875H12.436C12.5928 11.875 12.726 11.9297 12.8356 12.039C12.9452 12.1483 13 12.2812 13 12.4375C13 12.5938 12.9452 12.7267 12.8356 12.836C12.726 12.9453 12.5928 13 12.436 13H1.56396C1.40722 13 1.27404 12.9453 1.16442 12.836C1.05481 12.7267 1 12.5938 1 12.4375C1 12.2812 1.05481 12.1483 1.16442 12.039C1.27404 11.9297 1.40722 11.875 1.56396 11.875Z",
|
|
3037
|
+
fill: "currentColor"
|
|
3038
|
+
}
|
|
3039
|
+
),
|
|
3040
|
+
/* @__PURE__ */ jsx18(
|
|
3041
|
+
"path",
|
|
3042
|
+
{
|
|
3043
|
+
d: "M3.64159 4.02495H9.43859C9.59493 4.02495 9.72776 3.97014 9.83709 3.86052C9.94643 3.75091 10.0011 3.61773 10.0011 3.46099C10.0011 3.30425 9.94643 3.17108 9.83709 3.06146C9.72776 2.95184 9.59493 2.89703 9.43859 2.89703L3.64159 2.89703C3.48526 2.89703 3.35243 2.95184 3.24309 3.06146C3.13376 3.17108 3.07909 3.30425 3.07909 3.46099C3.07909 3.61773 3.13376 3.75091 3.24309 3.86052C3.35243 3.97014 3.48526 4.02495 3.64159 4.02495Z",
|
|
3044
|
+
fill: "currentColor"
|
|
3045
|
+
}
|
|
3046
|
+
),
|
|
3047
|
+
/* @__PURE__ */ jsx18(
|
|
3048
|
+
"path",
|
|
3049
|
+
{
|
|
3050
|
+
d: "M3.64209 10.0244H11.4701C11.6264 10.0244 11.7593 9.96964 11.8686 9.86002C11.9779 9.7504 12.0326 9.61723 12.0326 9.46049C12.0326 9.30375 11.9779 9.17057 11.8686 9.06096C11.7593 8.95134 11.6264 8.89653 11.4701 8.89653H3.64209C3.48576 8.89653 3.35293 8.95134 3.24359 9.06096C3.13426 9.17057 3.07959 9.30375 3.07959 9.46049C3.07959 9.61723 3.13426 9.7504 3.24359 9.86002C3.35293 9.96964 3.48576 10.0244 3.64209 10.0244Z",
|
|
3051
|
+
fill: "currentColor"
|
|
3052
|
+
}
|
|
3053
|
+
),
|
|
3054
|
+
/* @__PURE__ */ jsx18(
|
|
3055
|
+
"path",
|
|
3056
|
+
{
|
|
3057
|
+
d: "M3.64209 7.01668L7.47009 7.01668C7.62643 7.01634 7.75926 6.95886 7.86859 6.84423C7.97793 6.7296 8.03259 6.5991 8.03259 6.45272C8.03259 6.29598 7.97793 6.1628 7.86859 6.05319C7.75926 5.94357 7.62643 5.88876 7.47009 5.88876H3.64209C3.48576 5.88876 3.35293 5.94357 3.24359 6.05319C3.13426 6.1628 3.07959 6.29598 3.07959 6.45272C3.07959 6.60946 3.13426 6.74263 3.24359 6.85225C3.35293 6.96187 3.48576 7.01668 3.64209 7.01668Z",
|
|
3058
|
+
fill: "currentColor"
|
|
3059
|
+
}
|
|
3060
|
+
)
|
|
3061
|
+
]
|
|
3062
|
+
}
|
|
3063
|
+
);
|
|
3064
|
+
var BarGuageIcon_default = SvgIcon4;
|
|
3065
|
+
|
|
3066
|
+
// src/charts/icons/PieIcon.tsx
|
|
3067
|
+
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3068
|
+
var SvgIcon5 = ({ className }) => /* @__PURE__ */ jsxs14(
|
|
3069
|
+
"svg",
|
|
3070
|
+
{
|
|
3071
|
+
width: "14",
|
|
3072
|
+
height: "14",
|
|
3073
|
+
viewBox: "0 0 14 14",
|
|
3074
|
+
fill: "none",
|
|
3075
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3076
|
+
className,
|
|
3077
|
+
children: [
|
|
3078
|
+
/* @__PURE__ */ jsxs14("g", { clipPath: "url(#clip0_28267_7202)", children: [
|
|
3079
|
+
/* @__PURE__ */ jsx19(
|
|
3080
|
+
"path",
|
|
3081
|
+
{
|
|
3082
|
+
d: "M5.83329 1.86662C4.92079 2.07816 4.08149 2.52998 3.40247 3.17523C2.72345 3.82048 2.22942 4.63564 1.97164 5.53618C1.71386 6.43671 1.70171 7.38982 1.93644 8.29663C2.17118 9.20345 2.64426 10.0309 3.30661 10.6933C3.96896 11.3556 4.79646 11.8287 5.70327 12.0635C6.61009 12.2982 7.56319 12.286 8.46373 12.0283C9.36426 11.7705 10.1794 11.2765 10.8247 10.5974C11.4699 9.91841 11.9217 9.07912 12.1333 8.16662C12.1333 8.01191 12.0718 7.86353 11.9624 7.75414C11.853 7.64474 11.7047 7.58328 11.55 7.58328H7.58329C7.27387 7.58328 6.97713 7.46037 6.75833 7.24157C6.53954 7.02278 6.41662 6.72604 6.41662 6.41662V2.33328C6.40938 2.26417 6.38848 2.19719 6.35515 2.13621C6.32182 2.07524 6.27671 2.02149 6.22245 1.97808C6.16819 1.93467 6.10585 1.90247 6.03905 1.88333C5.97224 1.8642 5.90231 1.85852 5.83329 1.86662Z",
|
|
3083
|
+
stroke: "currentColor",
|
|
3084
|
+
strokeWidth: "1.16667",
|
|
3085
|
+
strokeLinecap: "round",
|
|
3086
|
+
strokeLinejoin: "round"
|
|
3087
|
+
}
|
|
3088
|
+
),
|
|
3089
|
+
/* @__PURE__ */ jsx19(
|
|
3090
|
+
"path",
|
|
3091
|
+
{
|
|
3092
|
+
d: "M8.75 2.04175C9.49067 2.30255 10.1634 2.72617 10.7187 3.28142C11.2739 3.83668 11.6975 4.50941 11.9583 5.25008H9.33333C9.17862 5.25008 9.03025 5.18862 8.92085 5.07923C8.81146 4.96983 8.75 4.82146 8.75 4.66675V2.04175Z",
|
|
3093
|
+
stroke: "currentColor",
|
|
3094
|
+
strokeWidth: "1.16667",
|
|
3095
|
+
strokeLinecap: "round",
|
|
3096
|
+
strokeLinejoin: "round"
|
|
3097
|
+
}
|
|
3098
|
+
)
|
|
3099
|
+
] }),
|
|
3100
|
+
/* @__PURE__ */ jsx19("defs", { children: /* @__PURE__ */ jsx19("clipPath", { id: "clip0_28267_7202", children: /* @__PURE__ */ jsx19("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
3101
|
+
]
|
|
3102
|
+
}
|
|
3103
|
+
);
|
|
3104
|
+
var PieIcon_default = SvgIcon5;
|
|
3105
|
+
|
|
3106
|
+
// src/charts/icons/QueryValueIcon.tsx
|
|
3107
|
+
import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3108
|
+
var SvgIcon6 = ({ className }) => /* @__PURE__ */ jsxs15(
|
|
3109
|
+
"svg",
|
|
3110
|
+
{
|
|
3111
|
+
width: "14",
|
|
3112
|
+
height: "14",
|
|
3113
|
+
viewBox: "0 0 14 14",
|
|
3114
|
+
fill: "none",
|
|
3115
|
+
className,
|
|
3116
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3117
|
+
children: [
|
|
3118
|
+
/* @__PURE__ */ jsxs15("g", { clipPath: "url(#clip0_3670_4424)", children: [
|
|
3119
|
+
/* @__PURE__ */ jsx20(
|
|
3120
|
+
"path",
|
|
3121
|
+
{
|
|
3122
|
+
d: "M11.5 1.5H2.5C1.67157 1.5 1 2.11561 1 2.875V11.125C1 11.8844 1.67157 12.5 2.5 12.5H11.5C12.3284 12.5 13 11.8844 13 11.125V2.875C13 2.11561 12.3284 1.5 11.5 1.5Z",
|
|
3123
|
+
stroke: "currentColor",
|
|
3124
|
+
strokeWidth: "1.16667",
|
|
3125
|
+
strokeLinecap: "round",
|
|
3126
|
+
strokeLinejoin: "round"
|
|
3127
|
+
}
|
|
3128
|
+
),
|
|
3129
|
+
/* @__PURE__ */ jsx20(
|
|
3130
|
+
"path",
|
|
3131
|
+
{
|
|
3132
|
+
d: "M7.98188 5.77273H6.39097L5.75461 5.13636L6.39097 4.5H7.98188L8.61824 5.13636L7.98188 5.77273Z",
|
|
3133
|
+
fill: "currentColor"
|
|
3134
|
+
}
|
|
3135
|
+
),
|
|
3136
|
+
/* @__PURE__ */ jsx20(
|
|
3137
|
+
"path",
|
|
3138
|
+
{
|
|
3139
|
+
d: "M7.98188 11.5H6.39097L5.75461 10.8637L6.39097 10.2273H7.98188L8.61824 10.8637L7.98188 11.5Z",
|
|
3140
|
+
fill: "currentColor"
|
|
3141
|
+
}
|
|
3142
|
+
),
|
|
3143
|
+
/* @__PURE__ */ jsx20(
|
|
3144
|
+
"path",
|
|
3145
|
+
{
|
|
3146
|
+
d: "M8.30005 9.90907V6.09089L8.93641 5.45453L9.57278 6.09089V9.90907L8.93641 10.5454L8.30005 9.90907Z",
|
|
3147
|
+
fill: "currentColor"
|
|
3148
|
+
}
|
|
3149
|
+
),
|
|
3150
|
+
/* @__PURE__ */ jsx20(
|
|
3151
|
+
"path",
|
|
3152
|
+
{
|
|
3153
|
+
d: "M4.80005 9.90907V6.09089L5.43641 5.45453L6.07278 6.09089V9.90907L5.43641 10.5454L4.80005 9.90907Z",
|
|
3154
|
+
fill: "currentColor"
|
|
3155
|
+
}
|
|
3156
|
+
),
|
|
3157
|
+
/* @__PURE__ */ jsx20(
|
|
3158
|
+
"path",
|
|
3159
|
+
{
|
|
3160
|
+
d: "M1 3.5L13 3.5",
|
|
3161
|
+
stroke: "currentColor",
|
|
3162
|
+
strokeWidth: "1.16667",
|
|
3163
|
+
strokeLinecap: "round",
|
|
3164
|
+
strokeLinejoin: "round"
|
|
3165
|
+
}
|
|
3166
|
+
)
|
|
3167
|
+
] }),
|
|
3168
|
+
/* @__PURE__ */ jsx20("defs", { children: /* @__PURE__ */ jsx20("clipPath", { id: "clip0_3670_4424", children: /* @__PURE__ */ jsx20("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
3169
|
+
]
|
|
3170
|
+
}
|
|
3171
|
+
);
|
|
3172
|
+
var QueryValueIcon_default = SvgIcon6;
|
|
3173
|
+
|
|
3174
|
+
// src/charts/icons/ScatterIcon.tsx
|
|
3175
|
+
import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3176
|
+
var SvgIcon7 = ({ className }) => /* @__PURE__ */ jsxs16(
|
|
3177
|
+
"svg",
|
|
3178
|
+
{
|
|
3179
|
+
width: "14",
|
|
3180
|
+
height: "14",
|
|
3181
|
+
viewBox: "0 0 14 14",
|
|
3182
|
+
fill: "none",
|
|
3183
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3184
|
+
className,
|
|
3185
|
+
children: [
|
|
3186
|
+
/* @__PURE__ */ jsxs16("g", { clipPath: "url(#clip0_28248_7302)", children: [
|
|
3187
|
+
/* @__PURE__ */ jsx21(
|
|
3188
|
+
"path",
|
|
3189
|
+
{
|
|
3190
|
+
d: "M1.75 1.75V12.25H12.25",
|
|
3191
|
+
stroke: "currentColor",
|
|
3192
|
+
strokeWidth: "1.16667",
|
|
3193
|
+
strokeLinecap: "round",
|
|
3194
|
+
strokeLinejoin: "round"
|
|
3195
|
+
}
|
|
3196
|
+
),
|
|
3197
|
+
/* @__PURE__ */ jsx21(
|
|
3198
|
+
"path",
|
|
3199
|
+
{
|
|
3200
|
+
d: "M4.66663 8.75879V8.76754",
|
|
3201
|
+
stroke: "currentColor",
|
|
3202
|
+
strokeWidth: "1.16667",
|
|
3203
|
+
strokeLinecap: "round",
|
|
3204
|
+
strokeLinejoin: "round"
|
|
3205
|
+
}
|
|
3206
|
+
),
|
|
3207
|
+
/* @__PURE__ */ jsx21(
|
|
3208
|
+
"path",
|
|
3209
|
+
{
|
|
3210
|
+
d: "M9.33337 9.34204V9.35079",
|
|
3211
|
+
stroke: "currentColor",
|
|
3212
|
+
strokeWidth: "1.16667",
|
|
3213
|
+
strokeLinecap: "round",
|
|
3214
|
+
strokeLinejoin: "round"
|
|
3215
|
+
}
|
|
3216
|
+
),
|
|
3217
|
+
/* @__PURE__ */ jsx21(
|
|
3218
|
+
"path",
|
|
3219
|
+
{
|
|
3220
|
+
d: "M4.66663 4.10083V4.10958",
|
|
3221
|
+
stroke: "currentColor",
|
|
3222
|
+
strokeWidth: "1.16667",
|
|
3223
|
+
strokeLinecap: "round",
|
|
3224
|
+
strokeLinejoin: "round"
|
|
3225
|
+
}
|
|
3226
|
+
),
|
|
3227
|
+
/* @__PURE__ */ jsx21(
|
|
3228
|
+
"path",
|
|
3229
|
+
{
|
|
3230
|
+
d: "M7 6.43408V6.44283",
|
|
3231
|
+
stroke: "currentColor",
|
|
3232
|
+
strokeWidth: "1.16667",
|
|
3233
|
+
strokeLinecap: "round",
|
|
3234
|
+
strokeLinejoin: "round"
|
|
3235
|
+
}
|
|
3236
|
+
),
|
|
3237
|
+
/* @__PURE__ */ jsx21(
|
|
3238
|
+
"path",
|
|
3239
|
+
{
|
|
3240
|
+
d: "M11.0834 6.43408V6.44283",
|
|
3241
|
+
stroke: "currentColor",
|
|
3242
|
+
strokeWidth: "1.16667",
|
|
3243
|
+
strokeLinecap: "round",
|
|
3244
|
+
strokeLinejoin: "round"
|
|
3245
|
+
}
|
|
3246
|
+
)
|
|
3247
|
+
] }),
|
|
3248
|
+
/* @__PURE__ */ jsx21("defs", { children: /* @__PURE__ */ jsx21("clipPath", { id: "clip0_28248_7302", children: /* @__PURE__ */ jsx21("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
3249
|
+
]
|
|
3250
|
+
}
|
|
3251
|
+
);
|
|
3252
|
+
var ScatterIcon_default = SvgIcon7;
|
|
3253
|
+
|
|
3254
|
+
// src/charts/icons/TableIcon.tsx
|
|
3255
|
+
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3256
|
+
var SvgIcon8 = ({ className }) => /* @__PURE__ */ jsxs17(
|
|
3257
|
+
"svg",
|
|
3258
|
+
{
|
|
3259
|
+
width: "14",
|
|
3260
|
+
height: "14",
|
|
3261
|
+
viewBox: "0 0 14 14",
|
|
3262
|
+
fill: "none",
|
|
3263
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3264
|
+
className,
|
|
3265
|
+
children: [
|
|
3266
|
+
/* @__PURE__ */ jsxs17("g", { clipPath: "url(#clip0_3670_4416)", children: [
|
|
3267
|
+
/* @__PURE__ */ jsx22(
|
|
3268
|
+
"path",
|
|
3269
|
+
{
|
|
3270
|
+
d: "M11.5 2H2.5C1.67157 2 1 2.55964 1 3.25V10.75C1 11.4404 1.67157 12 2.5 12H11.5C12.3284 12 13 11.4404 13 10.75V3.25C13 2.55964 12.3284 2 11.5 2Z",
|
|
3271
|
+
stroke: "currentColor",
|
|
3272
|
+
strokeWidth: "1.16667",
|
|
3273
|
+
strokeLinecap: "round",
|
|
3274
|
+
strokeLinejoin: "round"
|
|
3275
|
+
}
|
|
3276
|
+
),
|
|
3277
|
+
/* @__PURE__ */ jsx22(
|
|
3278
|
+
"path",
|
|
3279
|
+
{
|
|
3280
|
+
d: "M1 5L13 5",
|
|
3281
|
+
stroke: "currentColor",
|
|
3282
|
+
strokeWidth: "1.16667",
|
|
3283
|
+
strokeLinecap: "round",
|
|
3284
|
+
strokeLinejoin: "round"
|
|
3285
|
+
}
|
|
3286
|
+
),
|
|
3287
|
+
/* @__PURE__ */ jsx22(
|
|
3288
|
+
"path",
|
|
3289
|
+
{
|
|
3290
|
+
d: "M6 2L6 12",
|
|
3291
|
+
stroke: "currentColor",
|
|
3292
|
+
strokeWidth: "1.16667",
|
|
3293
|
+
strokeLinecap: "round",
|
|
3294
|
+
strokeLinejoin: "round"
|
|
3295
|
+
}
|
|
3296
|
+
)
|
|
3297
|
+
] }),
|
|
3298
|
+
/* @__PURE__ */ jsx22("defs", { children: /* @__PURE__ */ jsx22("clipPath", { id: "clip0_3670_4416", children: /* @__PURE__ */ jsx22("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
3299
|
+
]
|
|
3300
|
+
}
|
|
3301
|
+
);
|
|
3302
|
+
var TableIcon_default = SvgIcon8;
|
|
1004
3303
|
export {
|
|
1005
3304
|
AggregateInput,
|
|
3305
|
+
AreaIcon_default as AreaIcon,
|
|
1006
3306
|
ArgumentInput,
|
|
1007
3307
|
ArgumentType,
|
|
3308
|
+
BarGaugeControls,
|
|
3309
|
+
BarGuageIcon_default as BarGuageIcon,
|
|
3310
|
+
BarIcon_default as BarIcon,
|
|
3311
|
+
ChartLegend,
|
|
1008
3312
|
EventsFunctionCategories,
|
|
1009
3313
|
EventsFunctionMap,
|
|
1010
3314
|
FunctionInput,
|
|
1011
3315
|
FunctionMap,
|
|
1012
3316
|
FunctionsCategories,
|
|
1013
3317
|
FunctionsPanel,
|
|
3318
|
+
LabelControls,
|
|
1014
3319
|
LabelSearchProvider,
|
|
1015
3320
|
LabelsInput,
|
|
3321
|
+
LineControls,
|
|
3322
|
+
LineIcon_default as LineIcon,
|
|
3323
|
+
PieChartControls,
|
|
3324
|
+
PieIcon_default as PieIcon,
|
|
3325
|
+
QueryValueIcon_default as QueryValueIcon,
|
|
3326
|
+
ReactEChartsBase,
|
|
3327
|
+
RefreshButton,
|
|
3328
|
+
RefreshContext,
|
|
3329
|
+
ScatterIcon_default as ScatterIcon,
|
|
1016
3330
|
SystemLabels,
|
|
3331
|
+
TableIcon_default as TableIcon,
|
|
3332
|
+
defaultConfig2 as defaultBarGaugeConfig,
|
|
3333
|
+
defaultConfig as defaultPieConfig,
|
|
1017
3334
|
isAggrOrRollupFunction,
|
|
3335
|
+
sentioColors,
|
|
3336
|
+
sentioTheme,
|
|
3337
|
+
sentioThemeDark,
|
|
1018
3338
|
sortMetricByName,
|
|
1019
3339
|
useLabelSearch,
|
|
1020
3340
|
useLabelSearchContext
|