elseware-ui 3.1.0 → 3.2.0
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/LICENSE +20 -20
- package/dist/index.css +194 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +95 -2
- package/dist/index.d.ts +95 -2
- package/dist/index.js +458 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +449 -18
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.js.map +1 -1
- package/dist/index.native.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ var ReactWorldFlags = require('react-world-flags');
|
|
|
18
18
|
var emojiFlags = require('emoji-flags');
|
|
19
19
|
var reactSimpleMaps = require('react-simple-maps');
|
|
20
20
|
var index_js$5 = require('react-icons/bi/index.js');
|
|
21
|
+
var fi = require('react-icons/fi');
|
|
21
22
|
var CodeMirror = require('@uiw/react-codemirror');
|
|
22
23
|
var langMarkdown = require('@codemirror/lang-markdown');
|
|
23
24
|
var themeOneDark = require('@codemirror/theme-one-dark');
|
|
@@ -4728,7 +4729,7 @@ var init_python = __esm({
|
|
|
4728
4729
|
});
|
|
4729
4730
|
|
|
4730
4731
|
// node_modules/refractor/lang/jsx.js
|
|
4731
|
-
function
|
|
4732
|
+
function jsx227(Prism2) {
|
|
4732
4733
|
Prism2.register(javascript);
|
|
4733
4734
|
Prism2.register(markup);
|
|
4734
4735
|
(function(Prism3) {
|
|
@@ -4861,14 +4862,14 @@ var init_jsx = __esm({
|
|
|
4861
4862
|
"node_modules/refractor/lang/jsx.js"() {
|
|
4862
4863
|
init_javascript();
|
|
4863
4864
|
init_markup();
|
|
4864
|
-
|
|
4865
|
-
|
|
4865
|
+
jsx227.displayName = "jsx";
|
|
4866
|
+
jsx227.aliases = [];
|
|
4866
4867
|
}
|
|
4867
4868
|
});
|
|
4868
4869
|
|
|
4869
4870
|
// node_modules/refractor/lang/tsx.js
|
|
4870
4871
|
function tsx(Prism2) {
|
|
4871
|
-
Prism2.register(
|
|
4872
|
+
Prism2.register(jsx227);
|
|
4872
4873
|
Prism2.register(typescript);
|
|
4873
4874
|
(function(Prism3) {
|
|
4874
4875
|
var typescript2 = Prism3.util.clone(Prism3.languages.typescript);
|
|
@@ -6183,7 +6184,7 @@ var cardHoverBorderVariants = {
|
|
|
6183
6184
|
["dark" /* dark */]: "hover:border-eui-dark-500"
|
|
6184
6185
|
};
|
|
6185
6186
|
var cardBgVariants = {
|
|
6186
|
-
["default" /* default */]: "bg-white/
|
|
6187
|
+
["default" /* default */]: "bg-white/[0.03]",
|
|
6187
6188
|
["primary" /* primary */]: "bg-eui-primary-500/10",
|
|
6188
6189
|
["secondary" /* secondary */]: "bg-eui-secondary-500/10",
|
|
6189
6190
|
["success" /* success */]: "bg-eui-success-500/10",
|
|
@@ -10217,6 +10218,7 @@ var Link = ({
|
|
|
10217
10218
|
target = "self",
|
|
10218
10219
|
variant = "info",
|
|
10219
10220
|
decoration = "underline",
|
|
10221
|
+
rel,
|
|
10220
10222
|
bold,
|
|
10221
10223
|
italic,
|
|
10222
10224
|
styles,
|
|
@@ -10233,6 +10235,7 @@ var Link = ({
|
|
|
10233
10235
|
{
|
|
10234
10236
|
href: href || "#",
|
|
10235
10237
|
target: targets[target],
|
|
10238
|
+
rel,
|
|
10236
10239
|
onClick: handleClick,
|
|
10237
10240
|
className: classNames67__default.default({
|
|
10238
10241
|
[`${textVariants[variant]}`]: variant,
|
|
@@ -13790,13 +13793,13 @@ function Card({
|
|
|
13790
13793
|
// default behavior
|
|
13791
13794
|
}) {
|
|
13792
13795
|
const eui = useEUIConfig();
|
|
13793
|
-
const resolvedShape = shape ?? eui?.config?.global?.shape ?? "
|
|
13796
|
+
const resolvedShape = shape ?? eui?.config?.global?.shape ?? "roundedSquare";
|
|
13794
13797
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13795
13798
|
"div",
|
|
13796
13799
|
{
|
|
13797
13800
|
className: cn(
|
|
13798
13801
|
// Base
|
|
13799
|
-
"relative border backdrop-blur-md transition-all duration-300
|
|
13802
|
+
"relative overflow-hidden border p-4 backdrop-blur-md transition-all duration-300",
|
|
13800
13803
|
// Shape
|
|
13801
13804
|
shapes[resolvedShape],
|
|
13802
13805
|
// Background
|
|
@@ -32729,6 +32732,430 @@ function StarRatingDistribution({
|
|
|
32729
32732
|
);
|
|
32730
32733
|
}
|
|
32731
32734
|
var StarRatingDistribution_default = StarRatingDistribution;
|
|
32735
|
+
var HEALTHY_STATUSES = /* @__PURE__ */ new Set([
|
|
32736
|
+
"ok",
|
|
32737
|
+
"up",
|
|
32738
|
+
"online",
|
|
32739
|
+
"healthy",
|
|
32740
|
+
"success",
|
|
32741
|
+
"operational"
|
|
32742
|
+
]);
|
|
32743
|
+
var UNHEALTHY_STATUSES = /* @__PURE__ */ new Set([
|
|
32744
|
+
"down",
|
|
32745
|
+
"offline",
|
|
32746
|
+
"unhealthy",
|
|
32747
|
+
"error",
|
|
32748
|
+
"failed",
|
|
32749
|
+
"failure",
|
|
32750
|
+
"unavailable"
|
|
32751
|
+
]);
|
|
32752
|
+
var isRecord2 = (value) => {
|
|
32753
|
+
return typeof value === "object" && value !== null;
|
|
32754
|
+
};
|
|
32755
|
+
var getField = (value, key) => {
|
|
32756
|
+
if (!isRecord2(value)) {
|
|
32757
|
+
return void 0;
|
|
32758
|
+
}
|
|
32759
|
+
return value[key];
|
|
32760
|
+
};
|
|
32761
|
+
var getStringField = (value, keys2) => {
|
|
32762
|
+
for (const key of keys2) {
|
|
32763
|
+
const field = getField(value, key);
|
|
32764
|
+
if (typeof field === "string" && field.trim()) {
|
|
32765
|
+
return field.trim();
|
|
32766
|
+
}
|
|
32767
|
+
}
|
|
32768
|
+
return "";
|
|
32769
|
+
};
|
|
32770
|
+
var getBooleanField = (value, keys2) => {
|
|
32771
|
+
for (const key of keys2) {
|
|
32772
|
+
const field = getField(value, key);
|
|
32773
|
+
if (typeof field === "boolean") {
|
|
32774
|
+
return field;
|
|
32775
|
+
}
|
|
32776
|
+
}
|
|
32777
|
+
return null;
|
|
32778
|
+
};
|
|
32779
|
+
var getSystemHealthPayload = (data) => {
|
|
32780
|
+
const nestedData = getField(data, "data");
|
|
32781
|
+
return nestedData ?? data ?? null;
|
|
32782
|
+
};
|
|
32783
|
+
var getSystemHealthErrorMessage = (error) => {
|
|
32784
|
+
const nestedData = getField(error, "data");
|
|
32785
|
+
return getStringField(nestedData, ["message", "error"]) || getStringField(error, ["message", "error", "statusText"]) || "Health endpoint did not respond.";
|
|
32786
|
+
};
|
|
32787
|
+
var getSystemHealthHttpStatus = (error) => {
|
|
32788
|
+
const status = getField(error, "status");
|
|
32789
|
+
if (typeof status === "string" || typeof status === "number") {
|
|
32790
|
+
return status;
|
|
32791
|
+
}
|
|
32792
|
+
return "Network error";
|
|
32793
|
+
};
|
|
32794
|
+
var getSystemHealthStatusText = (data) => {
|
|
32795
|
+
const payload = getSystemHealthPayload(data);
|
|
32796
|
+
return (getStringField(payload, ["status", "state", "health"]) || getStringField(data, ["status", "state", "health"])).toLowerCase();
|
|
32797
|
+
};
|
|
32798
|
+
var normalizeSystemHealthState = (status) => {
|
|
32799
|
+
if (!status) {
|
|
32800
|
+
return null;
|
|
32801
|
+
}
|
|
32802
|
+
const normalizedStatus = status.toLowerCase();
|
|
32803
|
+
if (HEALTHY_STATUSES.has(normalizedStatus)) {
|
|
32804
|
+
return "operational";
|
|
32805
|
+
}
|
|
32806
|
+
if (UNHEALTHY_STATUSES.has(normalizedStatus)) {
|
|
32807
|
+
return "unavailable";
|
|
32808
|
+
}
|
|
32809
|
+
if (normalizedStatus === "checking" || normalizedStatus === "loading") {
|
|
32810
|
+
return "checking";
|
|
32811
|
+
}
|
|
32812
|
+
if (normalizedStatus === "reachable") {
|
|
32813
|
+
return "reachable";
|
|
32814
|
+
}
|
|
32815
|
+
return null;
|
|
32816
|
+
};
|
|
32817
|
+
var resolveSystemHealthState = ({
|
|
32818
|
+
data,
|
|
32819
|
+
status,
|
|
32820
|
+
isError,
|
|
32821
|
+
isLoading,
|
|
32822
|
+
isFetching
|
|
32823
|
+
}) => {
|
|
32824
|
+
if (isLoading || isFetching) {
|
|
32825
|
+
return "checking";
|
|
32826
|
+
}
|
|
32827
|
+
if (isError) {
|
|
32828
|
+
return "unavailable";
|
|
32829
|
+
}
|
|
32830
|
+
const normalizedStatus = normalizeSystemHealthState(status) ?? normalizeSystemHealthState(getSystemHealthStatusText(data));
|
|
32831
|
+
if (normalizedStatus) {
|
|
32832
|
+
return normalizedStatus;
|
|
32833
|
+
}
|
|
32834
|
+
const payload = getSystemHealthPayload(data);
|
|
32835
|
+
const healthy = getBooleanField(payload, ["ok", "healthy", "success"]) ?? getBooleanField(data, ["ok", "healthy", "success"]);
|
|
32836
|
+
if (healthy === true) {
|
|
32837
|
+
return "operational";
|
|
32838
|
+
}
|
|
32839
|
+
if (healthy === false) {
|
|
32840
|
+
return "unavailable";
|
|
32841
|
+
}
|
|
32842
|
+
return "reachable";
|
|
32843
|
+
};
|
|
32844
|
+
var resolveSystemHealthView = (input) => {
|
|
32845
|
+
const state = resolveSystemHealthState(input);
|
|
32846
|
+
const viewMap = {
|
|
32847
|
+
checking: {
|
|
32848
|
+
state: "checking",
|
|
32849
|
+
label: "Checking",
|
|
32850
|
+
description: "Request in flight",
|
|
32851
|
+
variant: "info",
|
|
32852
|
+
icon: fi.FiActivity,
|
|
32853
|
+
dotClassName: "bg-eui-info-300",
|
|
32854
|
+
panelClassName: "text-eui-info-200 bg-eui-info-500/10 border-eui-info-400/30"
|
|
32855
|
+
},
|
|
32856
|
+
operational: {
|
|
32857
|
+
state: "operational",
|
|
32858
|
+
label: "Operational",
|
|
32859
|
+
description: "Health endpoint is reporting normally",
|
|
32860
|
+
variant: "success",
|
|
32861
|
+
icon: fi.FiCheckCircle,
|
|
32862
|
+
dotClassName: "bg-eui-success-300",
|
|
32863
|
+
panelClassName: "text-eui-success-200 bg-eui-success-500/10 border-eui-success-400/30"
|
|
32864
|
+
},
|
|
32865
|
+
reachable: {
|
|
32866
|
+
state: "reachable",
|
|
32867
|
+
label: "Reachable",
|
|
32868
|
+
description: getSystemHealthStatusText(input.data) || "Response received",
|
|
32869
|
+
variant: "warning",
|
|
32870
|
+
icon: fi.FiActivity,
|
|
32871
|
+
dotClassName: "bg-eui-warning-300",
|
|
32872
|
+
panelClassName: "text-eui-warning-100 bg-eui-warning-500/10 border-eui-warning-300/30"
|
|
32873
|
+
},
|
|
32874
|
+
unavailable: {
|
|
32875
|
+
state: "unavailable",
|
|
32876
|
+
label: "Unavailable",
|
|
32877
|
+
description: getSystemHealthErrorMessage(input.error),
|
|
32878
|
+
variant: "danger",
|
|
32879
|
+
icon: fi.FiAlertTriangle,
|
|
32880
|
+
dotClassName: "bg-eui-danger-300",
|
|
32881
|
+
panelClassName: "text-eui-danger-200 bg-eui-danger-500/10 border-eui-danger-400/30"
|
|
32882
|
+
}
|
|
32883
|
+
};
|
|
32884
|
+
const view = viewMap[state];
|
|
32885
|
+
return {
|
|
32886
|
+
...view,
|
|
32887
|
+
label: input.statusLabel ?? view.label,
|
|
32888
|
+
description: input.statusDescription ?? view.description
|
|
32889
|
+
};
|
|
32890
|
+
};
|
|
32891
|
+
var formatSystemHealthTimestamp = (value) => {
|
|
32892
|
+
if (!value) {
|
|
32893
|
+
return "Pending";
|
|
32894
|
+
}
|
|
32895
|
+
if (typeof value === "string") {
|
|
32896
|
+
return value;
|
|
32897
|
+
}
|
|
32898
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
32899
|
+
if (Number.isNaN(date.getTime())) {
|
|
32900
|
+
return "Pending";
|
|
32901
|
+
}
|
|
32902
|
+
return date.toLocaleString();
|
|
32903
|
+
};
|
|
32904
|
+
var stringifySystemHealthPayload = (value, emptyText = "No response payload yet.") => {
|
|
32905
|
+
if (value === null || value === void 0) {
|
|
32906
|
+
return emptyText;
|
|
32907
|
+
}
|
|
32908
|
+
if (typeof value === "string") {
|
|
32909
|
+
return value;
|
|
32910
|
+
}
|
|
32911
|
+
if (value instanceof Error) {
|
|
32912
|
+
return JSON.stringify(
|
|
32913
|
+
{
|
|
32914
|
+
name: value.name,
|
|
32915
|
+
message: value.message,
|
|
32916
|
+
stack: value.stack
|
|
32917
|
+
},
|
|
32918
|
+
null,
|
|
32919
|
+
2
|
|
32920
|
+
);
|
|
32921
|
+
}
|
|
32922
|
+
try {
|
|
32923
|
+
return JSON.stringify(value, null, 2);
|
|
32924
|
+
} catch {
|
|
32925
|
+
return String(value);
|
|
32926
|
+
}
|
|
32927
|
+
};
|
|
32928
|
+
function MetricItem({ icon, label, value }) {
|
|
32929
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent_default, { className: "p-0", children: [
|
|
32930
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs uppercase tracking-wide text-slate-400", children: [
|
|
32931
|
+
icon ? React26.createElement(icon, {
|
|
32932
|
+
className: "text-eui-success-300"
|
|
32933
|
+
}) : null,
|
|
32934
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
|
|
32935
|
+
] }),
|
|
32936
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 break-words text-sm font-medium text-slate-100", children: value ?? "Not available" })
|
|
32937
|
+
] }) });
|
|
32938
|
+
}
|
|
32939
|
+
function ConnectionItem({ label, value }) {
|
|
32940
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
32941
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-slate-500", children: label }),
|
|
32942
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-1 break-words font-medium text-slate-100", children: value ?? "Not available" })
|
|
32943
|
+
] });
|
|
32944
|
+
}
|
|
32945
|
+
function SystemHealthStatus({
|
|
32946
|
+
eyebrow = "System",
|
|
32947
|
+
title = "System Health",
|
|
32948
|
+
description,
|
|
32949
|
+
data,
|
|
32950
|
+
error,
|
|
32951
|
+
response,
|
|
32952
|
+
status,
|
|
32953
|
+
statusLabel,
|
|
32954
|
+
statusDescription,
|
|
32955
|
+
isError = false,
|
|
32956
|
+
isLoading = false,
|
|
32957
|
+
isFetching = false,
|
|
32958
|
+
serverLabel = "Server",
|
|
32959
|
+
serverUrl,
|
|
32960
|
+
endpointLabel = "Endpoint",
|
|
32961
|
+
endpointPath = "/api/v1/system/health",
|
|
32962
|
+
endpointUrl,
|
|
32963
|
+
environmentLabel = "Environment",
|
|
32964
|
+
environment,
|
|
32965
|
+
lastCheckedLabel = "Last Checked",
|
|
32966
|
+
lastCheckedAt,
|
|
32967
|
+
responseTitle = "Response",
|
|
32968
|
+
responseDescription,
|
|
32969
|
+
emptyResponseText = "No response payload yet.",
|
|
32970
|
+
connectionTitle = "Connection",
|
|
32971
|
+
httpStateLabel = "HTTP state",
|
|
32972
|
+
httpState,
|
|
32973
|
+
pollingLabel = "Polling",
|
|
32974
|
+
pollingValue,
|
|
32975
|
+
clientLabel = "Client",
|
|
32976
|
+
clientName,
|
|
32977
|
+
metrics,
|
|
32978
|
+
connectionItems,
|
|
32979
|
+
refreshLabel = "Refresh health status",
|
|
32980
|
+
onRefresh,
|
|
32981
|
+
contentClassName,
|
|
32982
|
+
heroClassName,
|
|
32983
|
+
metricsClassName,
|
|
32984
|
+
responseClassName,
|
|
32985
|
+
connectionClassName,
|
|
32986
|
+
className,
|
|
32987
|
+
...rest
|
|
32988
|
+
}) {
|
|
32989
|
+
const view = resolveSystemHealthView({
|
|
32990
|
+
data,
|
|
32991
|
+
error,
|
|
32992
|
+
status,
|
|
32993
|
+
statusLabel,
|
|
32994
|
+
statusDescription,
|
|
32995
|
+
isError,
|
|
32996
|
+
isLoading,
|
|
32997
|
+
isFetching
|
|
32998
|
+
});
|
|
32999
|
+
const StatusIcon = view.icon;
|
|
33000
|
+
const responsePayload = response ?? (isError ? error : getSystemHealthPayload(data));
|
|
33001
|
+
const responseText = stringifySystemHealthPayload(
|
|
33002
|
+
responsePayload,
|
|
33003
|
+
emptyResponseText
|
|
33004
|
+
);
|
|
33005
|
+
const defaultMetrics = [
|
|
33006
|
+
{
|
|
33007
|
+
id: "server",
|
|
33008
|
+
icon: fi.FiServer,
|
|
33009
|
+
label: serverLabel,
|
|
33010
|
+
value: serverUrl
|
|
33011
|
+
},
|
|
33012
|
+
{
|
|
33013
|
+
id: "endpoint",
|
|
33014
|
+
icon: fi.FiDatabase,
|
|
33015
|
+
label: endpointLabel,
|
|
33016
|
+
value: endpointUrl ?? endpointPath
|
|
33017
|
+
},
|
|
33018
|
+
{
|
|
33019
|
+
id: "last-checked",
|
|
33020
|
+
icon: fi.FiClock,
|
|
33021
|
+
label: lastCheckedLabel,
|
|
33022
|
+
value: formatSystemHealthTimestamp(lastCheckedAt)
|
|
33023
|
+
},
|
|
33024
|
+
{
|
|
33025
|
+
id: "environment",
|
|
33026
|
+
icon: fi.FiActivity,
|
|
33027
|
+
label: environmentLabel,
|
|
33028
|
+
value: environment
|
|
33029
|
+
}
|
|
33030
|
+
];
|
|
33031
|
+
const defaultConnectionItems = [
|
|
33032
|
+
{
|
|
33033
|
+
id: "http-state",
|
|
33034
|
+
label: httpStateLabel,
|
|
33035
|
+
value: httpState ?? (isError ? getSystemHealthHttpStatus(error) : "Connected")
|
|
33036
|
+
},
|
|
33037
|
+
{
|
|
33038
|
+
id: "polling",
|
|
33039
|
+
label: pollingLabel,
|
|
33040
|
+
value: pollingValue
|
|
33041
|
+
},
|
|
33042
|
+
{
|
|
33043
|
+
id: "client",
|
|
33044
|
+
label: clientLabel,
|
|
33045
|
+
value: clientName
|
|
33046
|
+
}
|
|
33047
|
+
];
|
|
33048
|
+
const visibleMetrics = metrics ?? defaultMetrics;
|
|
33049
|
+
const visibleConnectionItems = connectionItems ?? defaultConnectionItems;
|
|
33050
|
+
const currentResponseDescription = responseDescription ?? (isError ? "Request error" : "Latest payload");
|
|
33051
|
+
const heroDescription = description ?? `Live status from ${endpointPath}`;
|
|
33052
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33053
|
+
"section",
|
|
33054
|
+
{
|
|
33055
|
+
...rest,
|
|
33056
|
+
className: cn("min-h-screen bg-[#05070b] text-slate-100", className),
|
|
33057
|
+
children: [
|
|
33058
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33059
|
+
"section",
|
|
33060
|
+
{
|
|
33061
|
+
className: cn(
|
|
33062
|
+
"border-b border-white/10",
|
|
33063
|
+
"bg-[radial-gradient(circle_at_top_left,rgba(22,163,74,0.22),transparent_32%),linear-gradient(135deg,rgba(15,23,42,0.96),rgba(2,6,23,0.98))]",
|
|
33064
|
+
heroClassName
|
|
33065
|
+
),
|
|
33066
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex w-full max-w-6xl flex-col gap-8 px-5 py-14 sm:px-8 lg:flex-row lg:items-end lg:justify-between lg:py-20", children: [
|
|
33067
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
|
|
33068
|
+
eyebrow ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold uppercase tracking-wide text-eui-success-300", children: eyebrow }) : null,
|
|
33069
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mt-4 text-4xl font-semibold leading-tight text-white sm:text-5xl", children: title }) : null,
|
|
33070
|
+
heroDescription ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-5 max-w-2xl text-base leading-7 text-slate-300", children: heroDescription }) : null
|
|
33071
|
+
] }),
|
|
33072
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card_default, { styles: cn("px-5 py-4", view.panelClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent_default, { className: "p-0", children: [
|
|
33073
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
33074
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33075
|
+
"span",
|
|
33076
|
+
{
|
|
33077
|
+
className: cn("h-2.5 w-2.5 rounded-full", view.dotClassName)
|
|
33078
|
+
}
|
|
33079
|
+
),
|
|
33080
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusIcon, { className: "text-xl" }),
|
|
33081
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33082
|
+
Chip,
|
|
33083
|
+
{
|
|
33084
|
+
label: view.label,
|
|
33085
|
+
variant: view.variant,
|
|
33086
|
+
appearance: "ghost",
|
|
33087
|
+
shape: "roundedSquare"
|
|
33088
|
+
}
|
|
33089
|
+
)
|
|
33090
|
+
] }),
|
|
33091
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 max-w-xs text-sm opacity-80", children: view.description })
|
|
33092
|
+
] }) })
|
|
33093
|
+
] })
|
|
33094
|
+
}
|
|
33095
|
+
),
|
|
33096
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33097
|
+
"section",
|
|
33098
|
+
{
|
|
33099
|
+
className: cn(
|
|
33100
|
+
"mx-auto w-full max-w-6xl px-5 py-10 sm:px-8",
|
|
33101
|
+
contentClassName
|
|
33102
|
+
),
|
|
33103
|
+
children: [
|
|
33104
|
+
visibleMetrics.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33105
|
+
"div",
|
|
33106
|
+
{
|
|
33107
|
+
className: cn(
|
|
33108
|
+
"grid gap-4 md:grid-cols-2 xl:grid-cols-4",
|
|
33109
|
+
metricsClassName
|
|
33110
|
+
),
|
|
33111
|
+
children: visibleMetrics.map((metric, index3) => /* @__PURE__ */ jsxRuntime.jsx(MetricItem, { ...metric }, metric.id ?? index3))
|
|
33112
|
+
}
|
|
33113
|
+
) : null,
|
|
33114
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 grid gap-6 lg:grid-cols-[minmax(0,1fr)_320px]", children: [
|
|
33115
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card_default, { styles: cn("bg-slate-950/70 p-0", responseClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent_default, { className: "p-0", children: [
|
|
33116
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4 border-b border-white/10 px-5 py-4", children: [
|
|
33117
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
33118
|
+
responseTitle ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold text-white", children: responseTitle }) : null,
|
|
33119
|
+
currentResponseDescription ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-slate-400", children: currentResponseDescription }) : null
|
|
33120
|
+
] }),
|
|
33121
|
+
onRefresh ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33122
|
+
Button_web_default,
|
|
33123
|
+
{
|
|
33124
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33125
|
+
fi.FiRefreshCw,
|
|
33126
|
+
{
|
|
33127
|
+
className: isFetching ? "animate-spin" : ""
|
|
33128
|
+
}
|
|
33129
|
+
),
|
|
33130
|
+
mode: "outlined",
|
|
33131
|
+
variant: "success",
|
|
33132
|
+
shape: "roundedSquare",
|
|
33133
|
+
size: "md",
|
|
33134
|
+
disabled: isFetching,
|
|
33135
|
+
onPress: () => {
|
|
33136
|
+
void onRefresh();
|
|
33137
|
+
},
|
|
33138
|
+
accessibilityLabel: refreshLabel,
|
|
33139
|
+
className: "h-10 w-10",
|
|
33140
|
+
contentClassName: "text-eui-success-200"
|
|
33141
|
+
}
|
|
33142
|
+
) : null
|
|
33143
|
+
] }),
|
|
33144
|
+
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "max-h-[420px] overflow-auto whitespace-pre-wrap break-words p-5 text-sm leading-6 text-slate-300", children: responseText })
|
|
33145
|
+
] }) }),
|
|
33146
|
+
/* @__PURE__ */ jsxRuntime.jsx(Card_default, { styles: cn("p-5", connectionClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent_default, { className: "p-0", children: [
|
|
33147
|
+
connectionTitle ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg font-semibold text-white", children: connectionTitle }) : null,
|
|
33148
|
+
visibleConnectionItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "mt-5 space-y-4 text-sm", children: visibleConnectionItems.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(ConnectionItem, { ...item }, item.id ?? index3)) }) : null
|
|
33149
|
+
] }) })
|
|
33150
|
+
] })
|
|
33151
|
+
]
|
|
33152
|
+
}
|
|
33153
|
+
)
|
|
33154
|
+
]
|
|
33155
|
+
}
|
|
33156
|
+
);
|
|
33157
|
+
}
|
|
33158
|
+
var SystemHealthStatus_default = SystemHealthStatus;
|
|
32732
33159
|
function WorldMapCountryTable({
|
|
32733
33160
|
title = "Country Breakdown",
|
|
32734
33161
|
data
|
|
@@ -32889,13 +33316,14 @@ function FooterDescription({
|
|
|
32889
33316
|
}
|
|
32890
33317
|
function FooterSocial({ item, className }) {
|
|
32891
33318
|
const { name: name2, href, icon, external = true, onClick } = item;
|
|
33319
|
+
const target = item.target ?? (external ? "blank" : void 0);
|
|
32892
33320
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32893
33321
|
"a",
|
|
32894
33322
|
{
|
|
32895
33323
|
href,
|
|
32896
33324
|
onClick,
|
|
32897
|
-
target:
|
|
32898
|
-
rel:
|
|
33325
|
+
target: target ? `_${target}` : void 0,
|
|
33326
|
+
rel: target === "blank" ? "noopener noreferrer" : void 0,
|
|
32899
33327
|
"aria-label": name2,
|
|
32900
33328
|
title: name2,
|
|
32901
33329
|
className: cn(
|
|
@@ -32929,7 +33357,9 @@ function FooterSocials({
|
|
|
32929
33357
|
}
|
|
32930
33358
|
function FooterLink({ item, navigate, className }) {
|
|
32931
33359
|
const { label, to, icon, description, badge, external, onClick } = item;
|
|
32932
|
-
const
|
|
33360
|
+
const target = item.target ?? (external ? "blank" : "self");
|
|
33361
|
+
const isSelfTarget = target === "self";
|
|
33362
|
+
const useJsNav = Boolean(onClick) || Boolean(navigate) && Boolean(to) && isSelfTarget;
|
|
32933
33363
|
const handleClick = () => {
|
|
32934
33364
|
if (onClick) {
|
|
32935
33365
|
onClick();
|
|
@@ -32941,7 +33371,8 @@ function FooterLink({ item, navigate, className }) {
|
|
|
32941
33371
|
Link,
|
|
32942
33372
|
{
|
|
32943
33373
|
href: to || "#",
|
|
32944
|
-
target
|
|
33374
|
+
target,
|
|
33375
|
+
rel: target === "blank" ? "noopener noreferrer" : void 0,
|
|
32945
33376
|
variant: "default",
|
|
32946
33377
|
decoration: "noUnderline",
|
|
32947
33378
|
onClick: useJsNav ? handleClick : void 0,
|
|
@@ -35722,11 +36153,11 @@ function addChildren(props, children3) {
|
|
|
35722
36153
|
}
|
|
35723
36154
|
}
|
|
35724
36155
|
}
|
|
35725
|
-
function productionCreate(_2,
|
|
36156
|
+
function productionCreate(_2, jsx266, jsxs131) {
|
|
35726
36157
|
return create3;
|
|
35727
36158
|
function create3(_3, type2, props, key) {
|
|
35728
36159
|
const isStaticChildren = Array.isArray(props.children);
|
|
35729
|
-
const fn = isStaticChildren ?
|
|
36160
|
+
const fn = isStaticChildren ? jsxs131 : jsx266;
|
|
35730
36161
|
return key ? fn(type2, props, key) : fn(type2, props);
|
|
35731
36162
|
}
|
|
35732
36163
|
}
|
|
@@ -55947,7 +56378,7 @@ function createChildren2(stylesheet, useInlineStyles) {
|
|
|
55947
56378
|
return function(children3) {
|
|
55948
56379
|
childrenCount += 1;
|
|
55949
56380
|
return children3.map(function(child, i) {
|
|
55950
|
-
return
|
|
56381
|
+
return createElement3({
|
|
55951
56382
|
node: child,
|
|
55952
56383
|
stylesheet,
|
|
55953
56384
|
useInlineStyles,
|
|
@@ -55956,7 +56387,7 @@ function createChildren2(stylesheet, useInlineStyles) {
|
|
|
55956
56387
|
});
|
|
55957
56388
|
};
|
|
55958
56389
|
}
|
|
55959
|
-
function
|
|
56390
|
+
function createElement3(_ref) {
|
|
55960
56391
|
var node2 = _ref.node, stylesheet = _ref.stylesheet, _ref$style = _ref.style, style2 = _ref$style === void 0 ? {} : _ref$style, useInlineStyles = _ref.useInlineStyles, key = _ref.key;
|
|
55961
56392
|
var properties2 = node2.properties, type2 = node2.type, TagName = node2.tagName, value = node2.value;
|
|
55962
56393
|
if (type2 === "text") {
|
|
@@ -56215,7 +56646,7 @@ function processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlin
|
|
|
56215
56646
|
function defaultRenderer(_ref5) {
|
|
56216
56647
|
var rows = _ref5.rows, stylesheet = _ref5.stylesheet, useInlineStyles = _ref5.useInlineStyles;
|
|
56217
56648
|
return rows.map(function(node2, i) {
|
|
56218
|
-
return
|
|
56649
|
+
return createElement3({
|
|
56219
56650
|
node: node2,
|
|
56220
56651
|
stylesheet,
|
|
56221
56652
|
useInlineStyles,
|
|
@@ -56645,7 +57076,7 @@ var json_default = json;
|
|
|
56645
57076
|
|
|
56646
57077
|
// node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
|
|
56647
57078
|
init_jsx();
|
|
56648
|
-
var jsx_default =
|
|
57079
|
+
var jsx_default = jsx227;
|
|
56649
57080
|
|
|
56650
57081
|
// node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
|
|
56651
57082
|
init_markup();
|
|
@@ -59629,6 +60060,7 @@ exports.StarRatingInput = StarRatingInput_default;
|
|
|
59629
60060
|
exports.StatPlot = StatPlot;
|
|
59630
60061
|
exports.StaticChartDataSource = StaticChartDataSource;
|
|
59631
60062
|
exports.Switch = Switch_default;
|
|
60063
|
+
exports.SystemHealthStatus = SystemHealthStatus_default;
|
|
59632
60064
|
exports.TNContext = TNContext;
|
|
59633
60065
|
exports.TNDropdown = TNDropdown;
|
|
59634
60066
|
exports.TNDropdownGroup = TNDropdownGroup;
|
|
@@ -59710,6 +60142,7 @@ exports.formatChartValue = formatChartValue;
|
|
|
59710
60142
|
exports.formatCommentDate = formatCommentDate;
|
|
59711
60143
|
exports.formatConfigError = formatConfigError;
|
|
59712
60144
|
exports.formatReviewDate = formatReviewDate;
|
|
60145
|
+
exports.formatSystemHealthTimestamp = formatSystemHealthTimestamp;
|
|
59713
60146
|
exports.generateHeadingNumbers = generateHeadingNumbers;
|
|
59714
60147
|
exports.getAllowedOrigins = getAllowedOrigins;
|
|
59715
60148
|
exports.getBrowserHref = getBrowserHref;
|
|
@@ -59728,6 +60161,10 @@ exports.getNowISOString = getNowISOString;
|
|
|
59728
60161
|
exports.getOptimisticDislikeState = getOptimisticDislikeState;
|
|
59729
60162
|
exports.getOptimisticLikeState = getOptimisticLikeState;
|
|
59730
60163
|
exports.getSafeRedirect = getSafeRedirect;
|
|
60164
|
+
exports.getSystemHealthErrorMessage = getSystemHealthErrorMessage;
|
|
60165
|
+
exports.getSystemHealthHttpStatus = getSystemHealthHttpStatus;
|
|
60166
|
+
exports.getSystemHealthPayload = getSystemHealthPayload;
|
|
60167
|
+
exports.getSystemHealthStatusText = getSystemHealthStatusText;
|
|
59731
60168
|
exports.getViewport = getViewport;
|
|
59732
60169
|
exports.hasReviewReply = hasReviewReply;
|
|
59733
60170
|
exports.incrementReplyCount = incrementReplyCount;
|
|
@@ -59742,6 +60179,7 @@ exports.normalizeMarkdown = normalizeMarkdown;
|
|
|
59742
60179
|
exports.normalizeReview = normalizeReview;
|
|
59743
60180
|
exports.normalizeReviewAuthor = normalizeReviewAuthor;
|
|
59744
60181
|
exports.normalizeReviewReply = normalizeReviewReply;
|
|
60182
|
+
exports.normalizeSystemHealthState = normalizeSystemHealthState;
|
|
59745
60183
|
exports.parseJson = parseJson;
|
|
59746
60184
|
exports.parseJsonRecord = parseJsonRecord;
|
|
59747
60185
|
exports.parseUrlMap = parseUrlMap;
|
|
@@ -59760,6 +60198,8 @@ exports.replaceReviewReply = replaceReviewReply;
|
|
|
59760
60198
|
exports.resolveAppearanceStyles = resolveAppearanceStyles;
|
|
59761
60199
|
exports.resolveChartColor = resolveChartColor;
|
|
59762
60200
|
exports.resolveChartColors = resolveChartColors;
|
|
60201
|
+
exports.resolveSystemHealthState = resolveSystemHealthState;
|
|
60202
|
+
exports.resolveSystemHealthView = resolveSystemHealthView;
|
|
59763
60203
|
exports.resolveWithGlobal = resolveWithGlobal;
|
|
59764
60204
|
exports.safeReadStorage = safeReadStorage;
|
|
59765
60205
|
exports.safeRemoveStorage = safeRemoveStorage;
|
|
@@ -59767,6 +60207,7 @@ exports.safeWriteStorage = safeWriteStorage;
|
|
|
59767
60207
|
exports.sanitizeHeading = sanitizeHeading;
|
|
59768
60208
|
exports.sendToast = sendToast;
|
|
59769
60209
|
exports.slugify = slugify;
|
|
60210
|
+
exports.stringifySystemHealthPayload = stringifySystemHealthPayload;
|
|
59770
60211
|
exports.toConfiguratorError = toConfiguratorError;
|
|
59771
60212
|
exports.updateComment = updateComment;
|
|
59772
60213
|
exports.updateReplyCacheComment = updateReplyCacheComment;
|