@localstack/appinspector-ui 1.0.126 → 1.0.127
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.cjs +583 -511
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +375 -303
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2414,7 +2414,7 @@ var init_event_streams = __esm({
|
|
|
2414
2414
|
|
|
2415
2415
|
// src/pages/spans-list-page.tsx
|
|
2416
2416
|
import { Box as Box20 } from "@mui/material";
|
|
2417
|
-
import { useCallback as
|
|
2417
|
+
import { useCallback as useCallback13, useEffect as useEffect22, useRef as useRef18, useState as useState18 } from "react";
|
|
2418
2418
|
|
|
2419
2419
|
// src/api/errors.ts
|
|
2420
2420
|
var AppInspectorDisabledError = class extends Error {
|
|
@@ -18614,12 +18614,12 @@ import { ArrowBack } from "@mui/icons-material";
|
|
|
18614
18614
|
import { Box as Box19, Button as Button6, Drawer, Paper as Paper3 } from "@mui/material";
|
|
18615
18615
|
import { styled } from "@mui/material/styles";
|
|
18616
18616
|
import { ReactFlowProvider } from "@xyflow/react";
|
|
18617
|
-
import { useCallback as
|
|
18617
|
+
import { useCallback as useCallback12, useEffect as useEffect21, useRef as useRef17, useState as useState17 } from "react";
|
|
18618
18618
|
|
|
18619
18619
|
// src/components/event-details/event-details.tsx
|
|
18620
18620
|
import { Close as Close2 } from "@mui/icons-material";
|
|
18621
|
-
import { Alert as Alert4, Box as Box16, Chip as Chip3, Divider as Divider4, FormControlLabel as FormControlLabel2, IconButton as
|
|
18622
|
-
import { useMemo as useMemo12, useState as
|
|
18621
|
+
import { Alert as Alert4, Box as Box16, Chip as Chip3, Divider as Divider4, FormControlLabel as FormControlLabel2, IconButton as IconButton4, Stack as Stack3, Switch, Typography as Typography11 } from "@mui/material";
|
|
18622
|
+
import { useMemo as useMemo12, useState as useState16 } from "react";
|
|
18623
18623
|
|
|
18624
18624
|
// src/utils/event-utils.ts
|
|
18625
18625
|
var iamEventParser = (eventName, attributes) => {
|
|
@@ -18729,31 +18729,59 @@ var getEventGroupsByType = (events) => {
|
|
|
18729
18729
|
return groups;
|
|
18730
18730
|
};
|
|
18731
18731
|
|
|
18732
|
+
// src/components/event-details/copy-button.tsx
|
|
18733
|
+
import { Check, ContentCopy } from "@mui/icons-material";
|
|
18734
|
+
import { IconButton as IconButton2, Tooltip as Tooltip5 } from "@mui/material";
|
|
18735
|
+
import { useCallback as useCallback10, useState as useState11 } from "react";
|
|
18736
|
+
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
18737
|
+
var CopyButton = ({ value }) => {
|
|
18738
|
+
const [copied, setCopied] = useState11(false);
|
|
18739
|
+
const handleCopy = useCallback10(() => {
|
|
18740
|
+
const text2 = typeof value === "string" ? value : JSON.stringify(value, void 0, 2);
|
|
18741
|
+
void navigator.clipboard.writeText(text2).then(() => {
|
|
18742
|
+
setCopied(true);
|
|
18743
|
+
setTimeout(() => {
|
|
18744
|
+
setCopied(false);
|
|
18745
|
+
}, 1500);
|
|
18746
|
+
});
|
|
18747
|
+
}, [value]);
|
|
18748
|
+
return /* @__PURE__ */ jsx133(Tooltip5, { title: copied ? "Copied!" : "Copy", children: /* @__PURE__ */ jsx133(
|
|
18749
|
+
IconButton2,
|
|
18750
|
+
{
|
|
18751
|
+
className: "copy-btn",
|
|
18752
|
+
onClick: handleCopy,
|
|
18753
|
+
size: "small",
|
|
18754
|
+
sx: { ml: 0.5, opacity: copied ? 1 : 0, p: 0.25, transition: "opacity 0.15s" },
|
|
18755
|
+
children: copied ? /* @__PURE__ */ jsx133(Check, { sx: { fontSize: 14 } }) : /* @__PURE__ */ jsx133(ContentCopy, { sx: { fontSize: 14 } })
|
|
18756
|
+
}
|
|
18757
|
+
) });
|
|
18758
|
+
};
|
|
18759
|
+
|
|
18732
18760
|
// src/components/event-details/event-detail.tsx
|
|
18733
18761
|
import { KeyboardArrowDown, KeyboardArrowRight } from "@mui/icons-material";
|
|
18734
|
-
import { Box as Box13, IconButton as
|
|
18735
|
-
import { useEffect as useEffect18, useMemo as useMemo10, useRef as useRef15, useState as
|
|
18762
|
+
import { Box as Box13, IconButton as IconButton3, Typography as Typography8 } from "@mui/material";
|
|
18763
|
+
import { useEffect as useEffect18, useMemo as useMemo10, useRef as useRef15, useState as useState13 } from "react";
|
|
18736
18764
|
|
|
18737
18765
|
// src/components/status-icon.tsx
|
|
18738
18766
|
import { Cancel as Cancel2, CheckCircle, Error as Error3, Info, RemoveCircle } from "@mui/icons-material";
|
|
18739
18767
|
import { Box as Box8 } from "@mui/material";
|
|
18740
|
-
import { jsx as
|
|
18768
|
+
import { jsx as jsx134 } from "react/jsx-runtime";
|
|
18741
18769
|
var StatusIcon2 = ({ errorLevel }) => {
|
|
18742
18770
|
switch (errorLevel) {
|
|
18743
18771
|
case EventLevel.LevelError: {
|
|
18744
|
-
return /* @__PURE__ */
|
|
18772
|
+
return /* @__PURE__ */ jsx134(Cancel2, { sx: { color: "red" } });
|
|
18745
18773
|
}
|
|
18746
18774
|
case EventLevel.LevelInfo: {
|
|
18747
|
-
return /* @__PURE__ */
|
|
18775
|
+
return /* @__PURE__ */ jsx134(Info, { sx: { color: "gray" } });
|
|
18748
18776
|
}
|
|
18749
18777
|
case EventLevel.LevelPermission: {
|
|
18750
|
-
return /* @__PURE__ */
|
|
18778
|
+
return /* @__PURE__ */ jsx134(RemoveCircle, { sx: { color: "blue" } });
|
|
18751
18779
|
}
|
|
18752
18780
|
case EventLevel.LevelWarning: {
|
|
18753
|
-
return /* @__PURE__ */
|
|
18781
|
+
return /* @__PURE__ */ jsx134(Error3, { sx: { color: "orange" } });
|
|
18754
18782
|
}
|
|
18755
18783
|
default: {
|
|
18756
|
-
return /* @__PURE__ */
|
|
18784
|
+
return /* @__PURE__ */ jsx134(CheckCircle, { sx: { color: "lightgray" } });
|
|
18757
18785
|
}
|
|
18758
18786
|
}
|
|
18759
18787
|
};
|
|
@@ -18761,39 +18789,39 @@ var StatusIcon2 = ({ errorLevel }) => {
|
|
|
18761
18789
|
// src/components/event-details/iam-event-detail.tsx
|
|
18762
18790
|
import { CheckCircle as CheckCircle2, Error as ErrorIcon, Warning } from "@mui/icons-material";
|
|
18763
18791
|
import { Box as Box9, Chip, Typography as Typography6 } from "@mui/material";
|
|
18764
|
-
import { jsx as
|
|
18792
|
+
import { jsx as jsx135, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
18765
18793
|
var DetailRow = ({ content, label }) => /* @__PURE__ */ jsxs125(Box9, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
18766
|
-
/* @__PURE__ */
|
|
18767
|
-
/* @__PURE__ */
|
|
18794
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
18795
|
+
/* @__PURE__ */ jsx135(Box9, { children: typeof content === "string" ? /* @__PURE__ */ jsx135(Typography6, { sx: { color: "text.primary", wordBreak: "break-word" }, variant: "caption", children: content }) : content })
|
|
18768
18796
|
] });
|
|
18769
18797
|
var PermissionIcon = ({ status }) => {
|
|
18770
18798
|
switch (status) {
|
|
18771
18799
|
case "explicitly_allowed":
|
|
18772
18800
|
case "implicitly_allowed": {
|
|
18773
|
-
return /* @__PURE__ */
|
|
18801
|
+
return /* @__PURE__ */ jsx135(CheckCircle2, { sx: { color: "success.main", fontSize: "1rem" } });
|
|
18774
18802
|
}
|
|
18775
18803
|
case "explicitly_denied": {
|
|
18776
|
-
return /* @__PURE__ */
|
|
18804
|
+
return /* @__PURE__ */ jsx135(ErrorIcon, { sx: { color: "error.main", fontSize: "1rem" } });
|
|
18777
18805
|
}
|
|
18778
18806
|
case "implicitly_denied": {
|
|
18779
|
-
return /* @__PURE__ */
|
|
18807
|
+
return /* @__PURE__ */ jsx135(Warning, { sx: { color: "warning.main", fontSize: "1rem" } });
|
|
18780
18808
|
}
|
|
18781
18809
|
}
|
|
18782
18810
|
};
|
|
18783
18811
|
var IAMEventDetail = ({ event }) => {
|
|
18784
18812
|
const payloadString = event.attributes?.payload;
|
|
18785
18813
|
if (!payloadString) {
|
|
18786
|
-
return /* @__PURE__ */
|
|
18814
|
+
return /* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", variant: "caption", children: "No IAM policy evaluation data available" });
|
|
18787
18815
|
}
|
|
18788
18816
|
const parsedIAM = parseIAMEvent(payloadString);
|
|
18789
18817
|
if (!parsedIAM) {
|
|
18790
|
-
return /* @__PURE__ */
|
|
18818
|
+
return /* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", variant: "caption", children: "Failed to parse IAM event data" });
|
|
18791
18819
|
}
|
|
18792
18820
|
return /* @__PURE__ */ jsxs125(Box9, { children: [
|
|
18793
|
-
/* @__PURE__ */
|
|
18821
|
+
/* @__PURE__ */ jsx135(Box9, { sx: { mb: 1.5 }, children: /* @__PURE__ */ jsx135(
|
|
18794
18822
|
Chip,
|
|
18795
18823
|
{
|
|
18796
|
-
icon: /* @__PURE__ */
|
|
18824
|
+
icon: /* @__PURE__ */ jsx135(PermissionIcon, { status: parsedIAM.permission }),
|
|
18797
18825
|
label: formatPermissionStatus(parsedIAM.permission),
|
|
18798
18826
|
size: "small",
|
|
18799
18827
|
sx: {
|
|
@@ -18803,36 +18831,36 @@ var IAMEventDetail = ({ event }) => {
|
|
|
18803
18831
|
variant: "outlined"
|
|
18804
18832
|
}
|
|
18805
18833
|
) }),
|
|
18806
|
-
/* @__PURE__ */
|
|
18807
|
-
/* @__PURE__ */
|
|
18808
|
-
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */
|
|
18834
|
+
/* @__PURE__ */ jsx135(DetailRow, { content: `${parsedIAM.service}:${parsedIAM.operation}`, label: "Operation" }),
|
|
18835
|
+
/* @__PURE__ */ jsx135(DetailRow, { content: parsedIAM.principal, label: "Principal" }),
|
|
18836
|
+
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ jsx135(
|
|
18809
18837
|
DetailRow,
|
|
18810
18838
|
{
|
|
18811
|
-
content: /* @__PURE__ */
|
|
18839
|
+
content: /* @__PURE__ */ jsx135(Box9, { children: parsedIAM.details.actions.map((action) => /* @__PURE__ */ jsx135(Typography6, { sx: { color: "text.primary", display: "block" }, variant: "caption", children: action }, action)) }),
|
|
18812
18840
|
label: "Actions"
|
|
18813
18841
|
}
|
|
18814
18842
|
),
|
|
18815
|
-
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */
|
|
18843
|
+
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ jsx135(
|
|
18816
18844
|
DetailRow,
|
|
18817
18845
|
{
|
|
18818
|
-
content: /* @__PURE__ */
|
|
18846
|
+
content: /* @__PURE__ */ jsx135(Box9, { children: parsedIAM.details.resources.map((resource) => /* @__PURE__ */ jsx135(Typography6, { sx: { color: "text.primary", display: "block", wordBreak: "break-all" }, variant: "caption", children: resource }, resource)) }),
|
|
18819
18847
|
label: "Resources"
|
|
18820
18848
|
}
|
|
18821
18849
|
),
|
|
18822
18850
|
(parsedIAM.details.explicitAllows !== void 0 || parsedIAM.details.explicitDenies !== void 0 || parsedIAM.details.implicitDenies !== void 0) && /* @__PURE__ */ jsxs125(Box9, { sx: { mt: 1.5 }, children: [
|
|
18823
|
-
/* @__PURE__ */
|
|
18851
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", sx: { display: "block", fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Policy Evaluation" }),
|
|
18824
18852
|
/* @__PURE__ */ jsxs125(Box9, { sx: { display: "grid", gap: 1, gridTemplateColumns: "repeat(3, 1fr)" }, children: [
|
|
18825
18853
|
parsedIAM.details.explicitAllows !== void 0 && /* @__PURE__ */ jsxs125(Box9, { sx: { textAlign: "center" }, children: [
|
|
18826
|
-
/* @__PURE__ */
|
|
18827
|
-
/* @__PURE__ */
|
|
18854
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "success.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitAllows }),
|
|
18855
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", variant: "caption", children: "Explicit Allows" })
|
|
18828
18856
|
] }),
|
|
18829
18857
|
parsedIAM.details.explicitDenies !== void 0 && /* @__PURE__ */ jsxs125(Box9, { sx: { textAlign: "center" }, children: [
|
|
18830
|
-
/* @__PURE__ */
|
|
18831
|
-
/* @__PURE__ */
|
|
18858
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "error.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitDenies }),
|
|
18859
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", variant: "caption", children: "Explicit Denies" })
|
|
18832
18860
|
] }),
|
|
18833
18861
|
parsedIAM.details.implicitDenies !== void 0 && /* @__PURE__ */ jsxs125(Box9, { sx: { textAlign: "center" }, children: [
|
|
18834
|
-
/* @__PURE__ */
|
|
18835
|
-
/* @__PURE__ */
|
|
18862
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "warning.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.implicitDenies }),
|
|
18863
|
+
/* @__PURE__ */ jsx135(Typography6, { color: "text.secondary", variant: "caption", children: "Implicit Denies" })
|
|
18836
18864
|
] })
|
|
18837
18865
|
] })
|
|
18838
18866
|
] })
|
|
@@ -18842,16 +18870,12 @@ var IAMEventDetail = ({ event }) => {
|
|
|
18842
18870
|
// src/components/event-details/iam-permission-detail.tsx
|
|
18843
18871
|
import { Box as Box10, Chip as Chip2, Stack, Typography as Typography7 } from "@mui/material";
|
|
18844
18872
|
import { useMemo as useMemo8 } from "react";
|
|
18845
|
-
import { jsx as
|
|
18873
|
+
import { jsx as jsx136, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
18846
18874
|
var getChipColor = (isAllowed, spanStatusCode) => {
|
|
18847
18875
|
if (isAllowed) return "success.main";
|
|
18848
18876
|
if (spanStatusCode === 2) return "error.main";
|
|
18849
18877
|
return "warning.main";
|
|
18850
18878
|
};
|
|
18851
|
-
var LabelValue = ({ label, value }) => /* @__PURE__ */ jsxs126(Box10, { children: [
|
|
18852
|
-
/* @__PURE__ */ jsx135(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: label }),
|
|
18853
|
-
/* @__PURE__ */ jsx135(Typography7, { sx: { wordBreak: "break-all" }, variant: "body2", children: value })
|
|
18854
|
-
] });
|
|
18855
18879
|
var IAMPermissionItem = ({ event, spanStatusCode }) => {
|
|
18856
18880
|
const parsedData = useMemo8(() => {
|
|
18857
18881
|
const payloadString = event.attributes?.payload;
|
|
@@ -18867,30 +18891,42 @@ var IAMPermissionItem = ({ event, spanStatusCode }) => {
|
|
|
18867
18891
|
const isAllowed = parsedIAM.permission === "explicitly_allowed" || parsedIAM.permission === "implicitly_allowed";
|
|
18868
18892
|
const chipColors = { backgroundColor: getChipColor(isAllowed, spanStatusCode), color: "white" };
|
|
18869
18893
|
return /* @__PURE__ */ jsxs126(Box10, { sx: { mb: 0.5 }, children: [
|
|
18870
|
-
/* @__PURE__ */
|
|
18894
|
+
/* @__PURE__ */ jsx136(Box10, { sx: { alignItems: "center", display: "flex", gap: 1, mb: 0.5 }, children: /* @__PURE__ */ jsx136(Chip2, { label: formatPermissionStatus(parsedIAM.permission), size: "small", sx: { ...chipColors, fontWeight: 500 } }) }),
|
|
18871
18895
|
/* @__PURE__ */ jsxs126(Stack, { spacing: 1, children: [
|
|
18872
|
-
/* @__PURE__ */
|
|
18896
|
+
/* @__PURE__ */ jsxs126(Box10, { "data-testid": EVENT_DETAILS_IAM_PRINCIPAL_TEST_ID, children: [
|
|
18897
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Principal" }),
|
|
18898
|
+
/* @__PURE__ */ jsxs126(Stack, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
18899
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { wordBreak: "break-all" }, variant: "body2", children: parsedIAM.principal }),
|
|
18900
|
+
/* @__PURE__ */ jsx136(CopyButton, { value: parsedIAM.principal })
|
|
18901
|
+
] })
|
|
18902
|
+
] }),
|
|
18873
18903
|
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ jsxs126(Box10, { "data-testid": EVENT_DETAILS_IAM_ACTIONS_TEST_ID, children: [
|
|
18874
|
-
/* @__PURE__ */
|
|
18875
|
-
parsedIAM.details.actions.map((action) => /* @__PURE__ */
|
|
18904
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Actions" }),
|
|
18905
|
+
parsedIAM.details.actions.map((action) => /* @__PURE__ */ jsxs126(Stack, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
18906
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { display: "block" }, variant: "body2", children: action }),
|
|
18907
|
+
/* @__PURE__ */ jsx136(CopyButton, { value: action })
|
|
18908
|
+
] }, action))
|
|
18876
18909
|
] }),
|
|
18877
18910
|
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ jsxs126(Box10, { "data-testid": EVENT_DETAILS_IAM_RESOURCES_TEST_ID, children: [
|
|
18878
|
-
/* @__PURE__ */
|
|
18879
|
-
parsedIAM.details.resources.map((resource) => /* @__PURE__ */
|
|
18911
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Resources" }),
|
|
18912
|
+
parsedIAM.details.resources.map((resource) => /* @__PURE__ */ jsxs126(Stack, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
18913
|
+
/* @__PURE__ */ jsx136(Typography7, { sx: { display: "block", wordBreak: "break-all" }, variant: "body2", children: resource }),
|
|
18914
|
+
/* @__PURE__ */ jsx136(CopyButton, { value: resource })
|
|
18915
|
+
] }, resource))
|
|
18880
18916
|
] })
|
|
18881
18917
|
] })
|
|
18882
18918
|
] });
|
|
18883
18919
|
};
|
|
18884
|
-
var IAMPermissionDetail = ({ events, spanStatusCode }) => /* @__PURE__ */
|
|
18920
|
+
var IAMPermissionDetail = ({ events, spanStatusCode }) => /* @__PURE__ */ jsx136(Box10, { children: events.map((event) => /* @__PURE__ */ jsx136(IAMPermissionItem, { event, spanStatusCode }, `${event.span_id}-${event.event_id}`)) });
|
|
18885
18921
|
|
|
18886
18922
|
// src/components/event-details/payload-viewer.tsx
|
|
18887
18923
|
import { Box as Box12, useTheme as useTheme3 } from "@mui/material";
|
|
18888
18924
|
|
|
18889
18925
|
// node_modules/@textea/json-viewer/dist/index.mjs
|
|
18890
18926
|
var import_copy_to_clipboard = __toESM(require_copy_to_clipboard(), 1);
|
|
18891
|
-
import { jsx as
|
|
18927
|
+
import { jsx as jsx137, jsxs as jsxs127, Fragment as Fragment9 } from "react/jsx-runtime";
|
|
18892
18928
|
import { Box as Box11, InputBase, NoSsr, SvgIcon, createTheme, ThemeProvider, Paper as Paper2 } from "@mui/material";
|
|
18893
|
-
import { createContext as createContext10, useContext as useContext17, useState as
|
|
18929
|
+
import { createContext as createContext10, useContext as useContext17, useState as useState12, useRef as useRef14, useCallback as useCallback11, useMemo as useMemo9, useEffect as useEffect17, memo as memo9 } from "react";
|
|
18894
18930
|
import { create, useStore, createStore } from "zustand";
|
|
18895
18931
|
function r(e2) {
|
|
18896
18932
|
var t2, f2, n2 = "";
|
|
@@ -19134,9 +19170,9 @@ async function copyString(value) {
|
|
|
19134
19170
|
}
|
|
19135
19171
|
function useClipboard() {
|
|
19136
19172
|
let { timeout = 2e3 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
19137
|
-
const [copied, setCopied] =
|
|
19173
|
+
const [copied, setCopied] = useState12(false);
|
|
19138
19174
|
const copyTimeout = useRef14(null);
|
|
19139
|
-
const handleCopyResult =
|
|
19175
|
+
const handleCopyResult = useCallback11((value) => {
|
|
19140
19176
|
const current = copyTimeout.current;
|
|
19141
19177
|
if (current) {
|
|
19142
19178
|
window.clearTimeout(current);
|
|
@@ -19147,7 +19183,7 @@ function useClipboard() {
|
|
|
19147
19183
|
timeout
|
|
19148
19184
|
]);
|
|
19149
19185
|
const onCopy = useJsonViewerStore((store) => store.onCopy);
|
|
19150
|
-
const copy =
|
|
19186
|
+
const copy = useCallback11(async (path, value) => {
|
|
19151
19187
|
if (typeof onCopy === "function") {
|
|
19152
19188
|
try {
|
|
19153
19189
|
await onCopy(path, value, copyString);
|
|
@@ -19168,7 +19204,7 @@ function useClipboard() {
|
|
|
19168
19204
|
handleCopyResult,
|
|
19169
19205
|
onCopy
|
|
19170
19206
|
]);
|
|
19171
|
-
const reset =
|
|
19207
|
+
const reset = useCallback11(() => {
|
|
19172
19208
|
setCopied(false);
|
|
19173
19209
|
if (copyTimeout.current) {
|
|
19174
19210
|
clearTimeout(copyTimeout.current);
|
|
@@ -19217,7 +19253,7 @@ function useInspect(path, value, nestedIndex) {
|
|
|
19217
19253
|
value,
|
|
19218
19254
|
setInspectCache
|
|
19219
19255
|
]);
|
|
19220
|
-
const [inspect, set] =
|
|
19256
|
+
const [inspect, set] = useState12(() => {
|
|
19221
19257
|
const shouldInspect = getInspectCache(path, nestedIndex);
|
|
19222
19258
|
if (shouldInspect !== void 0) {
|
|
19223
19259
|
return shouldInspect;
|
|
@@ -19227,7 +19263,7 @@ function useInspect(path, value, nestedIndex) {
|
|
|
19227
19263
|
}
|
|
19228
19264
|
return isTrap ? false : typeof defaultInspectControl === "function" ? defaultInspectControl(path, value) : depth < defaultInspectDepth;
|
|
19229
19265
|
});
|
|
19230
|
-
const setInspect =
|
|
19266
|
+
const setInspect = useCallback11((apply) => {
|
|
19231
19267
|
set((oldState) => {
|
|
19232
19268
|
const newState = typeof apply === "boolean" ? apply : apply(oldState);
|
|
19233
19269
|
setInspectCache(path, newState, nestedIndex);
|
|
@@ -19243,7 +19279,7 @@ function useInspect(path, value, nestedIndex) {
|
|
|
19243
19279
|
setInspect
|
|
19244
19280
|
];
|
|
19245
19281
|
}
|
|
19246
|
-
var DataBox = (props) => /* @__PURE__ */
|
|
19282
|
+
var DataBox = (props) => /* @__PURE__ */ jsx137(Box11, {
|
|
19247
19283
|
component: "div",
|
|
19248
19284
|
...props,
|
|
19249
19285
|
sx: {
|
|
@@ -19254,7 +19290,7 @@ var DataBox = (props) => /* @__PURE__ */ jsx136(Box11, {
|
|
|
19254
19290
|
var DataTypeLabel = (param) => {
|
|
19255
19291
|
let { dataType, enable = true } = param;
|
|
19256
19292
|
if (!enable) return null;
|
|
19257
|
-
return /* @__PURE__ */
|
|
19293
|
+
return /* @__PURE__ */ jsx137(DataBox, {
|
|
19258
19294
|
className: "data-type-label",
|
|
19259
19295
|
sx: {
|
|
19260
19296
|
mx: 0.5,
|
|
@@ -19278,12 +19314,12 @@ function defineEasyType(param) {
|
|
|
19278
19314
|
color: color2
|
|
19279
19315
|
},
|
|
19280
19316
|
children: [
|
|
19281
|
-
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */
|
|
19317
|
+
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */ jsx137(DataTypeLabel, {
|
|
19282
19318
|
dataType: type
|
|
19283
19319
|
}),
|
|
19284
|
-
/* @__PURE__ */
|
|
19320
|
+
/* @__PURE__ */ jsx137(DataBox, {
|
|
19285
19321
|
className: "".concat(type, "-value"),
|
|
19286
|
-
children: /* @__PURE__ */
|
|
19322
|
+
children: /* @__PURE__ */ jsx137(Render, {
|
|
19287
19323
|
path: props.path,
|
|
19288
19324
|
inspect: props.inspect,
|
|
19289
19325
|
setInspect: props.setInspect,
|
|
@@ -19304,7 +19340,7 @@ function defineEasyType(param) {
|
|
|
19304
19340
|
const EasyTypeEditor = (param2) => {
|
|
19305
19341
|
let { value, setValue, abortEditing, commitEditing } = param2;
|
|
19306
19342
|
const color2 = useJsonViewerStore((store) => store.colorspace[colorKey]);
|
|
19307
|
-
const handleKeyDown =
|
|
19343
|
+
const handleKeyDown = useCallback11((event) => {
|
|
19308
19344
|
if (event.key === "Enter") {
|
|
19309
19345
|
event.preventDefault();
|
|
19310
19346
|
commitEditing(value);
|
|
@@ -19318,12 +19354,12 @@ function defineEasyType(param) {
|
|
|
19318
19354
|
commitEditing,
|
|
19319
19355
|
value
|
|
19320
19356
|
]);
|
|
19321
|
-
const handleChange =
|
|
19357
|
+
const handleChange = useCallback11((event) => {
|
|
19322
19358
|
setValue(event.target.value);
|
|
19323
19359
|
}, [
|
|
19324
19360
|
setValue
|
|
19325
19361
|
]);
|
|
19326
|
-
return /* @__PURE__ */
|
|
19362
|
+
return /* @__PURE__ */ jsx137(InputBase, {
|
|
19327
19363
|
autoFocus: true,
|
|
19328
19364
|
value,
|
|
19329
19365
|
onChange: handleChange,
|
|
@@ -19363,7 +19399,7 @@ var booleanType = defineEasyType({
|
|
|
19363
19399
|
},
|
|
19364
19400
|
Renderer: (param) => {
|
|
19365
19401
|
let { value } = param;
|
|
19366
|
-
return /* @__PURE__ */
|
|
19402
|
+
return /* @__PURE__ */ jsx137(Fragment9, {
|
|
19367
19403
|
children: value ? "true" : "false"
|
|
19368
19404
|
});
|
|
19369
19405
|
}
|
|
@@ -19382,7 +19418,7 @@ var dateType = defineEasyType({
|
|
|
19382
19418
|
colorKey: "base0D",
|
|
19383
19419
|
Renderer: (param) => {
|
|
19384
19420
|
let { value } = param;
|
|
19385
|
-
return /* @__PURE__ */
|
|
19421
|
+
return /* @__PURE__ */ jsx137(Fragment9, {
|
|
19386
19422
|
children: value.toLocaleTimeString("en-us", displayOptions)
|
|
19387
19423
|
});
|
|
19388
19424
|
}
|
|
@@ -19413,7 +19449,7 @@ var rb = "}";
|
|
|
19413
19449
|
var PreFunctionType = (props) => {
|
|
19414
19450
|
return /* @__PURE__ */ jsxs127(NoSsr, {
|
|
19415
19451
|
children: [
|
|
19416
|
-
/* @__PURE__ */
|
|
19452
|
+
/* @__PURE__ */ jsx137(DataTypeLabel, {
|
|
19417
19453
|
dataType: "function"
|
|
19418
19454
|
}),
|
|
19419
19455
|
/* @__PURE__ */ jsxs127(Box11, {
|
|
@@ -19432,8 +19468,8 @@ var PreFunctionType = (props) => {
|
|
|
19432
19468
|
});
|
|
19433
19469
|
};
|
|
19434
19470
|
var PostFunctionType = () => {
|
|
19435
|
-
return /* @__PURE__ */
|
|
19436
|
-
children: /* @__PURE__ */
|
|
19471
|
+
return /* @__PURE__ */ jsx137(NoSsr, {
|
|
19472
|
+
children: /* @__PURE__ */ jsx137(Box11, {
|
|
19437
19473
|
component: "span",
|
|
19438
19474
|
className: "data-function-end",
|
|
19439
19475
|
children: rb
|
|
@@ -19442,15 +19478,15 @@ var PostFunctionType = () => {
|
|
|
19442
19478
|
};
|
|
19443
19479
|
var FunctionType = (props) => {
|
|
19444
19480
|
const functionColor = useJsonViewerStore((store) => store.colorspace.base05);
|
|
19445
|
-
return /* @__PURE__ */
|
|
19446
|
-
children: /* @__PURE__ */
|
|
19481
|
+
return /* @__PURE__ */ jsx137(NoSsr, {
|
|
19482
|
+
children: /* @__PURE__ */ jsx137(Box11, {
|
|
19447
19483
|
className: "data-function",
|
|
19448
19484
|
sx: {
|
|
19449
19485
|
display: props.inspect ? "block" : "inline-block",
|
|
19450
19486
|
pl: props.inspect ? 2 : 0,
|
|
19451
19487
|
color: functionColor
|
|
19452
19488
|
},
|
|
19453
|
-
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */
|
|
19489
|
+
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */ jsx137(Box11, {
|
|
19454
19490
|
component: "span",
|
|
19455
19491
|
className: "data-function-body",
|
|
19456
19492
|
onClick: () => props.setInspect(true),
|
|
@@ -19478,7 +19514,7 @@ var nullType = defineEasyType({
|
|
|
19478
19514
|
displayTypeLabel: false,
|
|
19479
19515
|
Renderer: () => {
|
|
19480
19516
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19481
|
-
return /* @__PURE__ */
|
|
19517
|
+
return /* @__PURE__ */ jsx137(Box11, {
|
|
19482
19518
|
sx: {
|
|
19483
19519
|
fontSize: "0.8rem",
|
|
19484
19520
|
backgroundColor,
|
|
@@ -19501,7 +19537,7 @@ var nanType = defineEasyType({
|
|
|
19501
19537
|
deserialize: (value) => parseFloat(value),
|
|
19502
19538
|
Renderer: () => {
|
|
19503
19539
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19504
|
-
return /* @__PURE__ */
|
|
19540
|
+
return /* @__PURE__ */ jsx137(Box11, {
|
|
19505
19541
|
sx: {
|
|
19506
19542
|
backgroundColor,
|
|
19507
19543
|
fontSize: "0.8rem",
|
|
@@ -19521,7 +19557,7 @@ var floatType = defineEasyType({
|
|
|
19521
19557
|
deserialize: (value) => parseFloat(value),
|
|
19522
19558
|
Renderer: (param) => {
|
|
19523
19559
|
let { value } = param;
|
|
19524
|
-
return /* @__PURE__ */
|
|
19560
|
+
return /* @__PURE__ */ jsx137(Fragment9, {
|
|
19525
19561
|
children: value
|
|
19526
19562
|
});
|
|
19527
19563
|
}
|
|
@@ -19535,7 +19571,7 @@ var intType = defineEasyType({
|
|
|
19535
19571
|
deserialize: (value) => parseFloat(value),
|
|
19536
19572
|
Renderer: (param) => {
|
|
19537
19573
|
let { value } = param;
|
|
19538
|
-
return /* @__PURE__ */
|
|
19574
|
+
return /* @__PURE__ */ jsx137(Fragment9, {
|
|
19539
19575
|
children: value
|
|
19540
19576
|
});
|
|
19541
19577
|
}
|
|
@@ -19548,79 +19584,79 @@ var bigIntType = defineEasyType({
|
|
|
19548
19584
|
deserialize: (value) => BigInt(value.replace(/\D/g, "")),
|
|
19549
19585
|
Renderer: (param) => {
|
|
19550
19586
|
let { value } = param;
|
|
19551
|
-
return /* @__PURE__ */
|
|
19587
|
+
return /* @__PURE__ */ jsx137(Fragment9, {
|
|
19552
19588
|
children: "".concat(value, "n")
|
|
19553
19589
|
});
|
|
19554
19590
|
}
|
|
19555
19591
|
});
|
|
19556
19592
|
var BaseIcon = (param) => {
|
|
19557
19593
|
let { d: d2, ...props } = param;
|
|
19558
|
-
return /* @__PURE__ */
|
|
19594
|
+
return /* @__PURE__ */ jsx137(SvgIcon, {
|
|
19559
19595
|
...props,
|
|
19560
|
-
children: /* @__PURE__ */
|
|
19596
|
+
children: /* @__PURE__ */ jsx137("path", {
|
|
19561
19597
|
d: d2
|
|
19562
19598
|
})
|
|
19563
19599
|
});
|
|
19564
19600
|
};
|
|
19565
19601
|
var AddBox = "M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H5V5h14zm-8-2h2v-4h4v-2h-4V7h-2v4H7v2h4z";
|
|
19566
|
-
var
|
|
19602
|
+
var Check2 = "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z";
|
|
19567
19603
|
var ChevronRight = "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z";
|
|
19568
19604
|
var CircularArrows = "M 12 2 C 10.615 1.998 9.214625 2.2867656 7.890625 2.8847656 L 8.9003906 4.6328125 C 9.9043906 4.2098125 10.957 3.998 12 4 C 15.080783 4 17.738521 5.7633175 19.074219 8.3222656 L 17.125 9 L 21.25 11 L 22.875 7 L 20.998047 7.6523438 C 19.377701 4.3110398 15.95585 2 12 2 z M 6.5097656 4.4882812 L 2.2324219 5.0820312 L 3.734375 6.3808594 C 1.6515335 9.4550558 1.3615962 13.574578 3.3398438 17 C 4.0308437 18.201 4.9801562 19.268234 6.1601562 20.115234 L 7.1699219 18.367188 C 6.3019219 17.710187 5.5922656 16.904 5.0722656 16 C 3.5320014 13.332354 3.729203 10.148679 5.2773438 7.7128906 L 6.8398438 9.0625 L 6.5097656 4.4882812 z M 19.929688 13 C 19.794687 14.08 19.450734 15.098 18.927734 16 C 17.386985 18.668487 14.531361 20.090637 11.646484 19.966797 L 12.035156 17.9375 L 8.2402344 20.511719 L 10.892578 23.917969 L 11.265625 21.966797 C 14.968963 22.233766 18.681899 20.426323 20.660156 17 C 21.355156 15.801 21.805219 14.445 21.949219 13 L 19.929688 13 z";
|
|
19569
19605
|
var Close = "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z";
|
|
19570
|
-
var
|
|
19606
|
+
var ContentCopy2 = "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z";
|
|
19571
19607
|
var Edit = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z";
|
|
19572
19608
|
var ExpandMore = "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z";
|
|
19573
19609
|
var Delete = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5l-1-1h-5l-1 1H5v2h14V4z";
|
|
19574
19610
|
var AddBoxIcon = (props) => {
|
|
19575
|
-
return /* @__PURE__ */
|
|
19611
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19576
19612
|
d: AddBox,
|
|
19577
19613
|
...props
|
|
19578
19614
|
});
|
|
19579
19615
|
};
|
|
19580
19616
|
var CheckIcon = (props) => {
|
|
19581
|
-
return /* @__PURE__ */
|
|
19582
|
-
d:
|
|
19617
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19618
|
+
d: Check2,
|
|
19583
19619
|
...props
|
|
19584
19620
|
});
|
|
19585
19621
|
};
|
|
19586
19622
|
var ChevronRightIcon = (props) => {
|
|
19587
|
-
return /* @__PURE__ */
|
|
19623
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19588
19624
|
d: ChevronRight,
|
|
19589
19625
|
...props
|
|
19590
19626
|
});
|
|
19591
19627
|
};
|
|
19592
19628
|
var CircularArrowsIcon = (props) => {
|
|
19593
|
-
return /* @__PURE__ */
|
|
19629
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19594
19630
|
d: CircularArrows,
|
|
19595
19631
|
...props
|
|
19596
19632
|
});
|
|
19597
19633
|
};
|
|
19598
19634
|
var CloseIcon = (props) => {
|
|
19599
|
-
return /* @__PURE__ */
|
|
19635
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19600
19636
|
d: Close,
|
|
19601
19637
|
...props
|
|
19602
19638
|
});
|
|
19603
19639
|
};
|
|
19604
19640
|
var ContentCopyIcon = (props) => {
|
|
19605
|
-
return /* @__PURE__ */
|
|
19606
|
-
d:
|
|
19641
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19642
|
+
d: ContentCopy2,
|
|
19607
19643
|
...props
|
|
19608
19644
|
});
|
|
19609
19645
|
};
|
|
19610
19646
|
var EditIcon = (props) => {
|
|
19611
|
-
return /* @__PURE__ */
|
|
19647
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19612
19648
|
d: Edit,
|
|
19613
19649
|
...props
|
|
19614
19650
|
});
|
|
19615
19651
|
};
|
|
19616
19652
|
var ExpandMoreIcon = (props) => {
|
|
19617
|
-
return /* @__PURE__ */
|
|
19653
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19618
19654
|
d: ExpandMore,
|
|
19619
19655
|
...props
|
|
19620
19656
|
});
|
|
19621
19657
|
};
|
|
19622
19658
|
var DeleteIcon = (props) => {
|
|
19623
|
-
return /* @__PURE__ */
|
|
19659
|
+
return /* @__PURE__ */ jsx137(BaseIcon, {
|
|
19624
19660
|
d: Delete,
|
|
19625
19661
|
...props
|
|
19626
19662
|
});
|
|
@@ -19667,7 +19703,7 @@ var PreObjectType = (props) => {
|
|
|
19667
19703
|
},
|
|
19668
19704
|
children: [
|
|
19669
19705
|
isArrayLike ? arrayLb : objectLb,
|
|
19670
|
-
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */
|
|
19706
|
+
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */ jsx137(Box11, {
|
|
19671
19707
|
component: "span",
|
|
19672
19708
|
sx: {
|
|
19673
19709
|
pl: 0.5,
|
|
@@ -19679,14 +19715,14 @@ var PreObjectType = (props) => {
|
|
|
19679
19715
|
}),
|
|
19680
19716
|
isTrap && !props.inspect && /* @__PURE__ */ jsxs127(Fragment9, {
|
|
19681
19717
|
children: [
|
|
19682
|
-
/* @__PURE__ */
|
|
19718
|
+
/* @__PURE__ */ jsx137(CircularArrowsIcon, {
|
|
19683
19719
|
sx: {
|
|
19684
19720
|
fontSize: 12,
|
|
19685
19721
|
color: textColor,
|
|
19686
19722
|
mx: 0.5
|
|
19687
19723
|
}
|
|
19688
19724
|
}),
|
|
19689
|
-
/* @__PURE__ */
|
|
19725
|
+
/* @__PURE__ */ jsx137(DataBox, {
|
|
19690
19726
|
sx: {
|
|
19691
19727
|
cursor: "pointer",
|
|
19692
19728
|
userSelect: "none"
|
|
@@ -19727,7 +19763,7 @@ var PostObjectType = (props) => {
|
|
|
19727
19763
|
},
|
|
19728
19764
|
children: [
|
|
19729
19765
|
isArrayLike ? arrayRb : objectRb,
|
|
19730
|
-
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */
|
|
19766
|
+
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */ jsx137(Box11, {
|
|
19731
19767
|
component: "span",
|
|
19732
19768
|
sx: {
|
|
19733
19769
|
pl: 0.5,
|
|
@@ -19748,7 +19784,7 @@ var ObjectType = (props) => {
|
|
|
19748
19784
|
const borderColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19749
19785
|
const groupArraysAfterLength = useJsonViewerStore((store) => store.groupArraysAfterLength);
|
|
19750
19786
|
const isTrap = useIsCycleReference(props.path, props.value);
|
|
19751
|
-
const [displayLength, setDisplayLength] =
|
|
19787
|
+
const [displayLength, setDisplayLength] = useState12(useJsonViewerStore((store) => store.maxDisplayLength));
|
|
19752
19788
|
const objectSortKeys = useJsonViewerStore((store) => store.objectSortKeys);
|
|
19753
19789
|
const elements = useMemo9(() => {
|
|
19754
19790
|
if (!props.inspect) {
|
|
@@ -19767,7 +19803,7 @@ var ObjectType = (props) => {
|
|
|
19767
19803
|
...props.path,
|
|
19768
19804
|
key
|
|
19769
19805
|
];
|
|
19770
|
-
elements3.push(/* @__PURE__ */
|
|
19806
|
+
elements3.push(/* @__PURE__ */ jsx137(DataKeyPair, {
|
|
19771
19807
|
path,
|
|
19772
19808
|
value: value2,
|
|
19773
19809
|
prevValue: props.prevValue instanceof Map ? props.prevValue.get(k2) : void 0,
|
|
@@ -19783,7 +19819,7 @@ var ObjectType = (props) => {
|
|
|
19783
19819
|
while (true) {
|
|
19784
19820
|
const nextResult = iterator2.next();
|
|
19785
19821
|
var _nextResult_done;
|
|
19786
|
-
elements3.push(/* @__PURE__ */
|
|
19822
|
+
elements3.push(/* @__PURE__ */ jsx137(DataKeyPair, {
|
|
19787
19823
|
path: [
|
|
19788
19824
|
...props.path,
|
|
19789
19825
|
"iterator:".concat(count2)
|
|
@@ -19811,7 +19847,7 @@ var ObjectType = (props) => {
|
|
|
19811
19847
|
...props.path,
|
|
19812
19848
|
index
|
|
19813
19849
|
];
|
|
19814
|
-
return /* @__PURE__ */
|
|
19850
|
+
return /* @__PURE__ */ jsx137(DataKeyPair, {
|
|
19815
19851
|
path,
|
|
19816
19852
|
value: value2,
|
|
19817
19853
|
prevValue: Array.isArray(props.prevValue) ? props.prevValue[index] : void 0,
|
|
@@ -19843,7 +19879,7 @@ var ObjectType = (props) => {
|
|
|
19843
19879
|
const prevElements = Array.isArray(props.prevValue) ? segmentArray(props.prevValue, groupArraysAfterLength) : void 0;
|
|
19844
19880
|
const elementsLastIndex = elements3.length - 1;
|
|
19845
19881
|
return elements3.map((list, index) => {
|
|
19846
|
-
return /* @__PURE__ */
|
|
19882
|
+
return /* @__PURE__ */ jsx137(DataKeyPair, {
|
|
19847
19883
|
path: props.path,
|
|
19848
19884
|
value: list,
|
|
19849
19885
|
nestedIndex: index,
|
|
@@ -19870,7 +19906,7 @@ var ObjectType = (props) => {
|
|
|
19870
19906
|
...props.path,
|
|
19871
19907
|
key
|
|
19872
19908
|
];
|
|
19873
|
-
return /* @__PURE__ */
|
|
19909
|
+
return /* @__PURE__ */ jsx137(DataKeyPair, {
|
|
19874
19910
|
path,
|
|
19875
19911
|
value: value2,
|
|
19876
19912
|
prevValue: (_props_prevValue = props.prevValue) === null || _props_prevValue === void 0 ? void 0 : _props_prevValue[key],
|
|
@@ -19917,7 +19953,7 @@ var ObjectType = (props) => {
|
|
|
19917
19953
|
if (isEmptyValue) {
|
|
19918
19954
|
return null;
|
|
19919
19955
|
}
|
|
19920
|
-
return /* @__PURE__ */
|
|
19956
|
+
return /* @__PURE__ */ jsx137(Box11, {
|
|
19921
19957
|
className: "data-object",
|
|
19922
19958
|
sx: {
|
|
19923
19959
|
display: props.inspect ? "block" : "inline-block",
|
|
@@ -19926,7 +19962,7 @@ var ObjectType = (props) => {
|
|
|
19926
19962
|
color: keyColor,
|
|
19927
19963
|
borderLeft: props.inspect ? "1px solid ".concat(borderColor) : "none"
|
|
19928
19964
|
},
|
|
19929
|
-
children: props.inspect ? elements : !isTrap && /* @__PURE__ */
|
|
19965
|
+
children: props.inspect ? elements : !isTrap && /* @__PURE__ */ jsx137(Box11, {
|
|
19930
19966
|
component: "span",
|
|
19931
19967
|
className: "data-object-body",
|
|
19932
19968
|
onClick: () => props.setInspect(true),
|
|
@@ -19954,7 +19990,7 @@ var stringType = defineEasyType({
|
|
|
19954
19990
|
serialize: (value) => value,
|
|
19955
19991
|
deserialize: (value) => value,
|
|
19956
19992
|
Renderer: (props) => {
|
|
19957
|
-
const [showRest, setShowRest] =
|
|
19993
|
+
const [showRest, setShowRest] = useState12(false);
|
|
19958
19994
|
const collapseStringsAfterLength = useJsonViewerStore((store) => store.collapseStringsAfterLength);
|
|
19959
19995
|
const value = showRest ? props.value : props.value.slice(0, collapseStringsAfterLength);
|
|
19960
19996
|
const hasRest = props.value.length > collapseStringsAfterLength;
|
|
@@ -19976,7 +20012,7 @@ var stringType = defineEasyType({
|
|
|
19976
20012
|
children: [
|
|
19977
20013
|
'"',
|
|
19978
20014
|
value,
|
|
19979
|
-
hasRest && !showRest && /* @__PURE__ */
|
|
20015
|
+
hasRest && !showRest && /* @__PURE__ */ jsx137(Box11, {
|
|
19980
20016
|
component: "span",
|
|
19981
20017
|
sx: {
|
|
19982
20018
|
padding: 0.5
|
|
@@ -19995,7 +20031,7 @@ var undefinedType = defineEasyType({
|
|
|
19995
20031
|
displayTypeLabel: false,
|
|
19996
20032
|
Renderer: () => {
|
|
19997
20033
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19998
|
-
return /* @__PURE__ */
|
|
20034
|
+
return /* @__PURE__ */ jsx137(Box11, {
|
|
19999
20035
|
sx: {
|
|
20000
20036
|
fontSize: "0.7rem",
|
|
20001
20037
|
backgroundColor,
|
|
@@ -20076,7 +20112,7 @@ function useTypeComponents(value, path) {
|
|
|
20076
20112
|
registry
|
|
20077
20113
|
]);
|
|
20078
20114
|
}
|
|
20079
|
-
var IconBox = (props) => /* @__PURE__ */
|
|
20115
|
+
var IconBox = (props) => /* @__PURE__ */ jsx137(Box11, {
|
|
20080
20116
|
component: "span",
|
|
20081
20117
|
...props,
|
|
20082
20118
|
sx: {
|
|
@@ -20108,7 +20144,7 @@ var DataKeyPair = (props) => {
|
|
|
20108
20144
|
storeEditable,
|
|
20109
20145
|
value
|
|
20110
20146
|
]);
|
|
20111
|
-
const [tempValue, setTempValue] =
|
|
20147
|
+
const [tempValue, setTempValue] = useState12("");
|
|
20112
20148
|
const depth = path.length;
|
|
20113
20149
|
const key = path[depth - 1];
|
|
20114
20150
|
const hoverPath = useJsonViewerStore((store) => store.hoverPath);
|
|
@@ -20122,7 +20158,7 @@ var DataKeyPair = (props) => {
|
|
|
20122
20158
|
const setHover = useJsonViewerStore((store) => store.setHover);
|
|
20123
20159
|
const root = useJsonViewerStore((store) => store.value);
|
|
20124
20160
|
const [inspect, setInspect] = useInspect(path, value, nestedIndex);
|
|
20125
|
-
const [editing, setEditing] =
|
|
20161
|
+
const [editing, setEditing] = useState12(false);
|
|
20126
20162
|
const onChange = useJsonViewerStore((store) => store.onChange);
|
|
20127
20163
|
const keyColor = useTextColor();
|
|
20128
20164
|
const numberKeyColor = useJsonViewerStore((store) => store.colorspace.base0C);
|
|
@@ -20231,7 +20267,7 @@ var DataKeyPair = (props) => {
|
|
|
20231
20267
|
prevValue,
|
|
20232
20268
|
value
|
|
20233
20269
|
]);
|
|
20234
|
-
const startEditing =
|
|
20270
|
+
const startEditing = useCallback11((event) => {
|
|
20235
20271
|
event.preventDefault();
|
|
20236
20272
|
if (serialize) setTempValue(serialize(value));
|
|
20237
20273
|
setEditing(true);
|
|
@@ -20239,14 +20275,14 @@ var DataKeyPair = (props) => {
|
|
|
20239
20275
|
serialize,
|
|
20240
20276
|
value
|
|
20241
20277
|
]);
|
|
20242
|
-
const abortEditing =
|
|
20278
|
+
const abortEditing = useCallback11(() => {
|
|
20243
20279
|
setEditing(false);
|
|
20244
20280
|
setTempValue("");
|
|
20245
20281
|
}, [
|
|
20246
20282
|
setEditing,
|
|
20247
20283
|
setTempValue
|
|
20248
20284
|
]);
|
|
20249
|
-
const commitEditing =
|
|
20285
|
+
const commitEditing = useCallback11((newValue) => {
|
|
20250
20286
|
setEditing(false);
|
|
20251
20287
|
if (!deserialize) return;
|
|
20252
20288
|
try {
|
|
@@ -20264,16 +20300,16 @@ var DataKeyPair = (props) => {
|
|
|
20264
20300
|
if (editing) {
|
|
20265
20301
|
return /* @__PURE__ */ jsxs127(Fragment9, {
|
|
20266
20302
|
children: [
|
|
20267
|
-
/* @__PURE__ */
|
|
20268
|
-
children: /* @__PURE__ */
|
|
20303
|
+
/* @__PURE__ */ jsx137(IconBox, {
|
|
20304
|
+
children: /* @__PURE__ */ jsx137(CloseIcon, {
|
|
20269
20305
|
sx: {
|
|
20270
20306
|
fontSize: ".8rem"
|
|
20271
20307
|
},
|
|
20272
20308
|
onClick: abortEditing
|
|
20273
20309
|
})
|
|
20274
20310
|
}),
|
|
20275
|
-
/* @__PURE__ */
|
|
20276
|
-
children: /* @__PURE__ */
|
|
20311
|
+
/* @__PURE__ */ jsx137(IconBox, {
|
|
20312
|
+
children: /* @__PURE__ */ jsx137(CheckIcon, {
|
|
20277
20313
|
sx: {
|
|
20278
20314
|
fontSize: ".8rem"
|
|
20279
20315
|
},
|
|
@@ -20285,7 +20321,7 @@ var DataKeyPair = (props) => {
|
|
|
20285
20321
|
}
|
|
20286
20322
|
return /* @__PURE__ */ jsxs127(Fragment9, {
|
|
20287
20323
|
children: [
|
|
20288
|
-
enableClipboard && /* @__PURE__ */
|
|
20324
|
+
enableClipboard && /* @__PURE__ */ jsx137(IconBox, {
|
|
20289
20325
|
onClick: (event) => {
|
|
20290
20326
|
event.preventDefault();
|
|
20291
20327
|
try {
|
|
@@ -20294,41 +20330,41 @@ var DataKeyPair = (props) => {
|
|
|
20294
20330
|
console.error(e2);
|
|
20295
20331
|
}
|
|
20296
20332
|
},
|
|
20297
|
-
children: copied ? /* @__PURE__ */
|
|
20333
|
+
children: copied ? /* @__PURE__ */ jsx137(CheckIcon, {
|
|
20298
20334
|
sx: {
|
|
20299
20335
|
fontSize: ".8rem"
|
|
20300
20336
|
}
|
|
20301
|
-
}) : /* @__PURE__ */
|
|
20337
|
+
}) : /* @__PURE__ */ jsx137(ContentCopyIcon, {
|
|
20302
20338
|
sx: {
|
|
20303
20339
|
fontSize: ".8rem"
|
|
20304
20340
|
}
|
|
20305
20341
|
})
|
|
20306
20342
|
}),
|
|
20307
|
-
Editor && editable && serialize && deserialize && /* @__PURE__ */
|
|
20343
|
+
Editor && editable && serialize && deserialize && /* @__PURE__ */ jsx137(IconBox, {
|
|
20308
20344
|
onClick: startEditing,
|
|
20309
|
-
children: /* @__PURE__ */
|
|
20345
|
+
children: /* @__PURE__ */ jsx137(EditIcon, {
|
|
20310
20346
|
sx: {
|
|
20311
20347
|
fontSize: ".8rem"
|
|
20312
20348
|
}
|
|
20313
20349
|
})
|
|
20314
20350
|
}),
|
|
20315
|
-
enableAdd && /* @__PURE__ */
|
|
20351
|
+
enableAdd && /* @__PURE__ */ jsx137(IconBox, {
|
|
20316
20352
|
onClick: (event) => {
|
|
20317
20353
|
event.preventDefault();
|
|
20318
20354
|
onAdd === null || onAdd === void 0 ? void 0 : onAdd(path);
|
|
20319
20355
|
},
|
|
20320
|
-
children: /* @__PURE__ */
|
|
20356
|
+
children: /* @__PURE__ */ jsx137(AddBoxIcon, {
|
|
20321
20357
|
sx: {
|
|
20322
20358
|
fontSize: ".8rem"
|
|
20323
20359
|
}
|
|
20324
20360
|
})
|
|
20325
20361
|
}),
|
|
20326
|
-
enableDelete && /* @__PURE__ */
|
|
20362
|
+
enableDelete && /* @__PURE__ */ jsx137(IconBox, {
|
|
20327
20363
|
onClick: (event) => {
|
|
20328
20364
|
event.preventDefault();
|
|
20329
20365
|
onDelete === null || onDelete === void 0 ? void 0 : onDelete(path, value);
|
|
20330
20366
|
},
|
|
20331
|
-
children: /* @__PURE__ */
|
|
20367
|
+
children: /* @__PURE__ */ jsx137(DeleteIcon, {
|
|
20332
20368
|
sx: {
|
|
20333
20369
|
fontSize: ".9rem"
|
|
20334
20370
|
}
|
|
@@ -20382,7 +20418,7 @@ var DataKeyPair = (props) => {
|
|
|
20382
20418
|
sx: {
|
|
20383
20419
|
userSelect: "text"
|
|
20384
20420
|
},
|
|
20385
|
-
onMouseEnter:
|
|
20421
|
+
onMouseEnter: useCallback11(() => setHover(path, nestedIndex), [
|
|
20386
20422
|
setHover,
|
|
20387
20423
|
path,
|
|
20388
20424
|
nestedIndex
|
|
@@ -20397,7 +20433,7 @@ var DataKeyPair = (props) => {
|
|
|
20397
20433
|
letterSpacing: 0.5,
|
|
20398
20434
|
opacity: 0.8
|
|
20399
20435
|
},
|
|
20400
|
-
onClick:
|
|
20436
|
+
onClick: useCallback11((event) => {
|
|
20401
20437
|
if (event.isDefaultPrevented()) {
|
|
20402
20438
|
return;
|
|
20403
20439
|
}
|
|
@@ -20409,7 +20445,7 @@ var DataKeyPair = (props) => {
|
|
|
20409
20445
|
setInspect
|
|
20410
20446
|
]),
|
|
20411
20447
|
children: [
|
|
20412
|
-
expandable ? inspect ? /* @__PURE__ */
|
|
20448
|
+
expandable ? inspect ? /* @__PURE__ */ jsx137(ExpandMoreIcon, {
|
|
20413
20449
|
className: "data-key-toggle-expanded",
|
|
20414
20450
|
sx: {
|
|
20415
20451
|
fontSize: ".8rem",
|
|
@@ -20417,7 +20453,7 @@ var DataKeyPair = (props) => {
|
|
|
20417
20453
|
cursor: "pointer"
|
|
20418
20454
|
}
|
|
20419
20455
|
}
|
|
20420
|
-
}) : /* @__PURE__ */
|
|
20456
|
+
}) : /* @__PURE__ */ jsx137(ChevronRightIcon, {
|
|
20421
20457
|
className: "data-key-toggle-collapsed",
|
|
20422
20458
|
sx: {
|
|
20423
20459
|
fontSize: ".8rem",
|
|
@@ -20426,7 +20462,7 @@ var DataKeyPair = (props) => {
|
|
|
20426
20462
|
}
|
|
20427
20463
|
}
|
|
20428
20464
|
}) : null,
|
|
20429
|
-
/* @__PURE__ */
|
|
20465
|
+
/* @__PURE__ */ jsx137(Box11, {
|
|
20430
20466
|
ref: highlightContainer,
|
|
20431
20467
|
className: "data-key-key",
|
|
20432
20468
|
component: "span",
|
|
@@ -20436,11 +20472,11 @@ var DataKeyPair = (props) => {
|
|
|
20436
20472
|
rootName,
|
|
20437
20473
|
'"'
|
|
20438
20474
|
]
|
|
20439
|
-
}) : /* @__PURE__ */
|
|
20475
|
+
}) : /* @__PURE__ */ jsx137(Fragment9, {
|
|
20440
20476
|
children: rootName
|
|
20441
|
-
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */
|
|
20477
|
+
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */ jsx137(KeyRenderer, {
|
|
20442
20478
|
...downstreamProps
|
|
20443
|
-
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */
|
|
20479
|
+
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */ jsx137(Box11, {
|
|
20444
20480
|
component: "span",
|
|
20445
20481
|
style: {
|
|
20446
20482
|
color: numberKeyColor,
|
|
@@ -20453,17 +20489,17 @@ var DataKeyPair = (props) => {
|
|
|
20453
20489
|
key,
|
|
20454
20490
|
'"'
|
|
20455
20491
|
]
|
|
20456
|
-
}) : /* @__PURE__ */
|
|
20492
|
+
}) : /* @__PURE__ */ jsx137(Fragment9, {
|
|
20457
20493
|
children: key
|
|
20458
20494
|
}))
|
|
20459
20495
|
}),
|
|
20460
|
-
isRoot ? rootName !== false && /* @__PURE__ */
|
|
20496
|
+
isRoot ? rootName !== false && /* @__PURE__ */ jsx137(DataBox, {
|
|
20461
20497
|
className: "data-key-colon",
|
|
20462
20498
|
sx: {
|
|
20463
20499
|
mr: 0.5
|
|
20464
20500
|
},
|
|
20465
20501
|
children: ":"
|
|
20466
|
-
}) : nestedIndex === void 0 && /* @__PURE__ */
|
|
20502
|
+
}) : nestedIndex === void 0 && /* @__PURE__ */ jsx137(DataBox, {
|
|
20467
20503
|
className: "data-key-colon",
|
|
20468
20504
|
sx: {
|
|
20469
20505
|
mr: 0.5,
|
|
@@ -20474,29 +20510,29 @@ var DataKeyPair = (props) => {
|
|
|
20474
20510
|
},
|
|
20475
20511
|
children: ":"
|
|
20476
20512
|
}),
|
|
20477
|
-
PreComponent && /* @__PURE__ */
|
|
20513
|
+
PreComponent && /* @__PURE__ */ jsx137(PreComponent, {
|
|
20478
20514
|
...downstreamProps
|
|
20479
20515
|
}),
|
|
20480
20516
|
isHover && expandable && inspect && actionIcons
|
|
20481
20517
|
]
|
|
20482
20518
|
}),
|
|
20483
|
-
editing && editable ? Editor && /* @__PURE__ */
|
|
20519
|
+
editing && editable ? Editor && /* @__PURE__ */ jsx137(Editor, {
|
|
20484
20520
|
path,
|
|
20485
20521
|
value: tempValue,
|
|
20486
20522
|
setValue: setTempValue,
|
|
20487
20523
|
abortEditing,
|
|
20488
20524
|
commitEditing
|
|
20489
|
-
}) : Component ? /* @__PURE__ */
|
|
20525
|
+
}) : Component ? /* @__PURE__ */ jsx137(Component, {
|
|
20490
20526
|
...downstreamProps
|
|
20491
|
-
}) : /* @__PURE__ */
|
|
20527
|
+
}) : /* @__PURE__ */ jsx137(Box11, {
|
|
20492
20528
|
component: "span",
|
|
20493
20529
|
className: "data-value-fallback",
|
|
20494
20530
|
children: "fallback: ".concat(value)
|
|
20495
20531
|
}),
|
|
20496
|
-
PostComponent && /* @__PURE__ */
|
|
20532
|
+
PostComponent && /* @__PURE__ */ jsx137(PostComponent, {
|
|
20497
20533
|
...downstreamProps
|
|
20498
20534
|
}),
|
|
20499
|
-
!last && displayComma && /* @__PURE__ */
|
|
20535
|
+
!last && displayComma && /* @__PURE__ */ jsx137(DataBox, {
|
|
20500
20536
|
children: ","
|
|
20501
20537
|
}),
|
|
20502
20538
|
isHover && expandable && !inspect && actionIcons,
|
|
@@ -20507,7 +20543,7 @@ var DataKeyPair = (props) => {
|
|
|
20507
20543
|
};
|
|
20508
20544
|
var query = "(prefers-color-scheme: dark)";
|
|
20509
20545
|
function useThemeDetector() {
|
|
20510
|
-
const [isDark, setIsDark] =
|
|
20546
|
+
const [isDark, setIsDark] = useState12(false);
|
|
20511
20547
|
useEffect17(() => {
|
|
20512
20548
|
const listener = (e2) => setIsDark(e2.matches);
|
|
20513
20549
|
setIsDark(window.matchMedia(query).matches);
|
|
@@ -20613,10 +20649,10 @@ var JsonViewerInner = (props) => {
|
|
|
20613
20649
|
const prevValue = useJsonViewerStore((store) => store.prevValue);
|
|
20614
20650
|
const emptyPath = useMemo9(() => [], []);
|
|
20615
20651
|
const setHover = useJsonViewerStore((store) => store.setHover);
|
|
20616
|
-
const onMouseLeave =
|
|
20652
|
+
const onMouseLeave = useCallback11(() => setHover(null), [
|
|
20617
20653
|
setHover
|
|
20618
20654
|
]);
|
|
20619
|
-
return /* @__PURE__ */
|
|
20655
|
+
return /* @__PURE__ */ jsx137(Paper2, {
|
|
20620
20656
|
elevation: 0,
|
|
20621
20657
|
className: clsx(themeCls, props.className),
|
|
20622
20658
|
style: props.style,
|
|
@@ -20627,7 +20663,7 @@ var JsonViewerInner = (props) => {
|
|
|
20627
20663
|
...props.sx
|
|
20628
20664
|
},
|
|
20629
20665
|
onMouseLeave,
|
|
20630
|
-
children: /* @__PURE__ */
|
|
20666
|
+
children: /* @__PURE__ */ jsx137(DataKeyPair, {
|
|
20631
20667
|
value,
|
|
20632
20668
|
prevValue,
|
|
20633
20669
|
path: emptyPath,
|
|
@@ -20679,13 +20715,13 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
20679
20715
|
};
|
|
20680
20716
|
const jsonViewerStore = useMemo9(() => createJsonViewerStore(props), []);
|
|
20681
20717
|
const typeRegistryStore = useMemo9(() => createTypeRegistryStore(), []);
|
|
20682
|
-
return /* @__PURE__ */
|
|
20718
|
+
return /* @__PURE__ */ jsx137(ThemeProvider, {
|
|
20683
20719
|
theme,
|
|
20684
|
-
children: /* @__PURE__ */
|
|
20720
|
+
children: /* @__PURE__ */ jsx137(TypeRegistryStoreContext.Provider, {
|
|
20685
20721
|
value: typeRegistryStore,
|
|
20686
|
-
children: /* @__PURE__ */
|
|
20722
|
+
children: /* @__PURE__ */ jsx137(JsonViewerStoreContext.Provider, {
|
|
20687
20723
|
value: jsonViewerStore,
|
|
20688
|
-
children: /* @__PURE__ */
|
|
20724
|
+
children: /* @__PURE__ */ jsx137(JsonViewerInner, {
|
|
20689
20725
|
...mixedProps
|
|
20690
20726
|
})
|
|
20691
20727
|
})
|
|
@@ -20695,7 +20731,7 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
20695
20731
|
|
|
20696
20732
|
// src/components/event-details/payload-viewer.tsx
|
|
20697
20733
|
import { memo as memo10 } from "react";
|
|
20698
|
-
import { jsx as
|
|
20734
|
+
import { jsx as jsx138 } from "react/jsx-runtime";
|
|
20699
20735
|
function tryParseJson(value) {
|
|
20700
20736
|
if (typeof value !== "string") {
|
|
20701
20737
|
return value;
|
|
@@ -20708,12 +20744,12 @@ function tryParseJson(value) {
|
|
|
20708
20744
|
}
|
|
20709
20745
|
var PayloadViewer = memo10(({ sx, testId, value }) => {
|
|
20710
20746
|
const theme = useTheme3();
|
|
20711
|
-
return /* @__PURE__ */
|
|
20747
|
+
return /* @__PURE__ */ jsx138(Box12, { "data-testid": testId, sx: { backgroundColor: "background.default", borderRadius: 1, fontSize: 12, overflow: "auto", p: 1, ...sx }, children: /* @__PURE__ */ jsx138(
|
|
20712
20748
|
JsonViewer,
|
|
20713
20749
|
{
|
|
20714
20750
|
displayDataTypes: false,
|
|
20715
20751
|
displaySize: false,
|
|
20716
|
-
enableClipboard:
|
|
20752
|
+
enableClipboard: true,
|
|
20717
20753
|
rootName: false,
|
|
20718
20754
|
theme: theme.palette.mode,
|
|
20719
20755
|
value
|
|
@@ -20722,14 +20758,14 @@ var PayloadViewer = memo10(({ sx, testId, value }) => {
|
|
|
20722
20758
|
});
|
|
20723
20759
|
|
|
20724
20760
|
// src/components/event-details/event-detail.tsx
|
|
20725
|
-
import { Fragment as Fragment10, jsx as
|
|
20761
|
+
import { Fragment as Fragment10, jsx as jsx139, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
20726
20762
|
var DetailRow2 = ({ content, label }) => /* @__PURE__ */ jsxs128(Box13, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
20727
|
-
/* @__PURE__ */
|
|
20728
|
-
/* @__PURE__ */
|
|
20763
|
+
/* @__PURE__ */ jsx139(Typography8, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
20764
|
+
/* @__PURE__ */ jsx139(Box13, { children: typeof content === "string" ? /* @__PURE__ */ jsx139(Typography8, { sx: { color: "text.primary", whiteSpace: "pre-wrap" }, variant: "caption", children: content }) : content })
|
|
20729
20765
|
] });
|
|
20730
20766
|
var EventMessage = ({ event }) => {
|
|
20731
|
-
const [isOpen, setIsOpen] =
|
|
20732
|
-
const [isOverflowing, setIsOverflowing] =
|
|
20767
|
+
const [isOpen, setIsOpen] = useState13(false);
|
|
20768
|
+
const [isOverflowing, setIsOverflowing] = useState13(false);
|
|
20733
20769
|
const textReference = useRef15(null);
|
|
20734
20770
|
const parsedMessage = useMemo10(() => parseEventMessage(event), [event]);
|
|
20735
20771
|
const isIAMPolicyEvent = useMemo10(
|
|
@@ -20759,18 +20795,18 @@ var EventMessage = ({ event }) => {
|
|
|
20759
20795
|
);
|
|
20760
20796
|
return /* @__PURE__ */ jsxs128(Box13, { sx: { display: "flex", flexDirection: "column" }, children: [
|
|
20761
20797
|
/* @__PURE__ */ jsxs128(Box13, { sx: { alignItems: "center", display: "flex" }, children: [
|
|
20762
|
-
Boolean(shouldShowToggle) && /* @__PURE__ */
|
|
20763
|
-
|
|
20798
|
+
Boolean(shouldShowToggle) && /* @__PURE__ */ jsx139(
|
|
20799
|
+
IconButton3,
|
|
20764
20800
|
{
|
|
20765
20801
|
onClick: () => {
|
|
20766
20802
|
setIsOpen(!isOpen);
|
|
20767
20803
|
},
|
|
20768
20804
|
size: "small",
|
|
20769
20805
|
sx: { mr: 1, p: 0 },
|
|
20770
|
-
children: isOpen ? /* @__PURE__ */
|
|
20806
|
+
children: isOpen ? /* @__PURE__ */ jsx139(KeyboardArrowDown, { sx: { fontSize: 16 } }) : /* @__PURE__ */ jsx139(KeyboardArrowRight, { sx: { fontSize: 16 } })
|
|
20771
20807
|
}
|
|
20772
20808
|
),
|
|
20773
|
-
/* @__PURE__ */
|
|
20809
|
+
/* @__PURE__ */ jsx139(
|
|
20774
20810
|
Typography8,
|
|
20775
20811
|
{
|
|
20776
20812
|
ref: textReference,
|
|
@@ -20788,12 +20824,12 @@ var EventMessage = ({ event }) => {
|
|
|
20788
20824
|
}
|
|
20789
20825
|
)
|
|
20790
20826
|
] }),
|
|
20791
|
-
isOpen && /* @__PURE__ */
|
|
20792
|
-
Boolean(parsedMessage.message) && /* @__PURE__ */
|
|
20793
|
-
Boolean(parsedMessage.details) && /* @__PURE__ */
|
|
20827
|
+
isOpen && /* @__PURE__ */ jsx139(Box13, { sx: { borderColor: "divider", borderLeft: "2px solid", ml: 1, mt: 0.5, pl: 1.5, py: 0.5 }, children: isIAMPolicyEvent ? /* @__PURE__ */ jsx139(IAMEventDetail, { event }) : /* @__PURE__ */ jsxs128(Fragment10, { children: [
|
|
20828
|
+
Boolean(parsedMessage.message) && /* @__PURE__ */ jsx139(DetailRow2, { content: parsedMessage.message, label: "Message" }),
|
|
20829
|
+
Boolean(parsedMessage.details) && /* @__PURE__ */ jsx139(
|
|
20794
20830
|
DetailRow2,
|
|
20795
20831
|
{
|
|
20796
|
-
content: /* @__PURE__ */
|
|
20832
|
+
content: /* @__PURE__ */ jsx139(PayloadViewer, { sx: { px: 0 }, value: tryParseJson(parsedMessage.details) }),
|
|
20797
20833
|
label: "Details"
|
|
20798
20834
|
}
|
|
20799
20835
|
)
|
|
@@ -20826,15 +20862,15 @@ var EventDetail = ({
|
|
|
20826
20862
|
type
|
|
20827
20863
|
}) => {
|
|
20828
20864
|
if (type === "permission") {
|
|
20829
|
-
return /* @__PURE__ */
|
|
20865
|
+
return /* @__PURE__ */ jsx139(IAMPermissionDetail, { events, spanStatusCode });
|
|
20830
20866
|
}
|
|
20831
20867
|
const eventLevel = getEventLevelFromGroup(type);
|
|
20832
20868
|
return /* @__PURE__ */ jsxs128(Box13, { children: [
|
|
20833
20869
|
/* @__PURE__ */ jsxs128(Box13, { sx: { alignItems: "center", display: "flex", mb: 0.5 }, children: [
|
|
20834
|
-
/* @__PURE__ */
|
|
20835
|
-
/* @__PURE__ */
|
|
20870
|
+
/* @__PURE__ */ jsx139(StatusIcon2, { errorLevel: eventLevel }),
|
|
20871
|
+
/* @__PURE__ */ jsx139(Typography8, { color: "text.secondary", sx: { fontWeight: 600, ml: 0.5 }, variant: "caption", children: displayText })
|
|
20836
20872
|
] }),
|
|
20837
|
-
/* @__PURE__ */
|
|
20873
|
+
/* @__PURE__ */ jsx139(Box13, { children: events.map((event) => /* @__PURE__ */ jsx139(Box13, { sx: { maxWidth: "100%", mb: 0.5 }, children: /* @__PURE__ */ jsx139(EventMessage, { event }) }, `${event.span_id}-${event.event_id}`)) })
|
|
20838
20874
|
] });
|
|
20839
20875
|
};
|
|
20840
20876
|
|
|
@@ -30526,8 +30562,8 @@ var QueryStatus = {
|
|
|
30526
30562
|
|
|
30527
30563
|
// src/components/event-details/lambda-invoke-logs-section.tsx
|
|
30528
30564
|
import { Box as Box14, CircularProgress as CircularProgress3, Stack as Stack2, Typography as Typography9 } from "@mui/material";
|
|
30529
|
-
import { useEffect as useEffect19, useMemo as useMemo11, useRef as useRef16, useState as
|
|
30530
|
-
import { jsx as
|
|
30565
|
+
import { useEffect as useEffect19, useMemo as useMemo11, useRef as useRef16, useState as useState14 } from "react";
|
|
30566
|
+
import { jsx as jsx140, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
30531
30567
|
var POLL_INTERVAL_MS = 1e3;
|
|
30532
30568
|
async function pollQueryResults(client, queryId) {
|
|
30533
30569
|
return client.send(new GetQueryResultsCommand({ queryId }));
|
|
@@ -30555,9 +30591,9 @@ function useCloudWatchLogsClient(region) {
|
|
|
30555
30591
|
return client;
|
|
30556
30592
|
}
|
|
30557
30593
|
function useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, endTimeNano) {
|
|
30558
|
-
const [loading, setLoading] =
|
|
30559
|
-
const [logs, setLogs] =
|
|
30560
|
-
const [error, setError] =
|
|
30594
|
+
const [loading, setLoading] = useState14(true);
|
|
30595
|
+
const [logs, setLogs] = useState14([]);
|
|
30596
|
+
const [error, setError] = useState14();
|
|
30561
30597
|
const pollTimerRef = useRef16(null);
|
|
30562
30598
|
const cloudWatchLogs = useCloudWatchLogsClient(region);
|
|
30563
30599
|
useEffect19(() => {
|
|
@@ -30618,26 +30654,26 @@ var LambdaInvokeLogsSection = ({ endTimeNano, functionName: functionName2, regio
|
|
|
30618
30654
|
const { error, loading, logs } = useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, endTimeNano);
|
|
30619
30655
|
if (loading) {
|
|
30620
30656
|
return /* @__PURE__ */ jsxs129(Stack2, { alignItems: "center", direction: "row", spacing: 1, children: [
|
|
30621
|
-
/* @__PURE__ */
|
|
30622
|
-
/* @__PURE__ */
|
|
30657
|
+
/* @__PURE__ */ jsx140(CircularProgress3, { size: 14 }),
|
|
30658
|
+
/* @__PURE__ */ jsx140(Typography9, { color: "text.secondary", variant: "body2", children: "Loading logs\u2026" })
|
|
30623
30659
|
] });
|
|
30624
30660
|
}
|
|
30625
30661
|
if (error !== void 0) {
|
|
30626
|
-
return /* @__PURE__ */
|
|
30662
|
+
return /* @__PURE__ */ jsx140(Typography9, { color: "error", variant: "body2", children: error.message });
|
|
30627
30663
|
}
|
|
30628
30664
|
if (logs.length === 0) {
|
|
30629
|
-
return /* @__PURE__ */
|
|
30665
|
+
return /* @__PURE__ */ jsx140(Typography9, { color: "text.secondary", variant: "body2", children: "No logs found for this invocation." });
|
|
30630
30666
|
}
|
|
30631
|
-
return /* @__PURE__ */
|
|
30667
|
+
return /* @__PURE__ */ jsx140(Box14, { sx: { backgroundColor: (theme) => theme.palette.background.default, borderRadius: 1, p: 1 }, children: /* @__PURE__ */ jsx140("pre", { style: { margin: 0, overflow: "auto" }, children: logs.map((log) => /* @__PURE__ */ jsx140(Typography9, { variant: "body2", children: `[${log.timestamp}] ${log.message}` }, log.ptr)) }) });
|
|
30632
30668
|
};
|
|
30633
30669
|
|
|
30634
30670
|
// src/components/event-details/toggle-section.tsx
|
|
30635
30671
|
import { KeyboardArrowDown as KeyboardArrowDown2, KeyboardArrowRight as KeyboardArrowRight2 } from "@mui/icons-material";
|
|
30636
30672
|
import { Box as Box15, Typography as Typography10 } from "@mui/material";
|
|
30637
|
-
import { useState as
|
|
30638
|
-
import { jsx as
|
|
30673
|
+
import { useState as useState15 } from "react";
|
|
30674
|
+
import { jsx as jsx141, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
30639
30675
|
var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
30640
|
-
const [isOpen, setIsOpen] =
|
|
30676
|
+
const [isOpen, setIsOpen] = useState15(initialOpen);
|
|
30641
30677
|
return /* @__PURE__ */ jsxs130(Box15, { sx: { mt: 4 }, children: [
|
|
30642
30678
|
/* @__PURE__ */ jsxs130(
|
|
30643
30679
|
Box15,
|
|
@@ -30663,23 +30699,23 @@ var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
|
30663
30699
|
gap: 1
|
|
30664
30700
|
},
|
|
30665
30701
|
children: [
|
|
30666
|
-
/* @__PURE__ */
|
|
30667
|
-
isOpen ? /* @__PURE__ */
|
|
30702
|
+
/* @__PURE__ */ jsx141(Typography10, { sx: { fontWeight: 600 }, variant: "subtitle2", children: headline }),
|
|
30703
|
+
isOpen ? /* @__PURE__ */ jsx141(KeyboardArrowDown2, { sx: { color: "text.secondary", height: 20, width: 20 } }) : /* @__PURE__ */ jsx141(KeyboardArrowRight2, { sx: { color: "text.secondary", height: 20, width: 20 } })
|
|
30668
30704
|
]
|
|
30669
30705
|
}
|
|
30670
30706
|
),
|
|
30671
|
-
action !== false && /* @__PURE__ */
|
|
30707
|
+
action !== false && /* @__PURE__ */ jsx141(Box15, { onClick: (event) => {
|
|
30672
30708
|
event.stopPropagation();
|
|
30673
30709
|
}, children: action })
|
|
30674
30710
|
]
|
|
30675
30711
|
}
|
|
30676
30712
|
),
|
|
30677
|
-
isOpen && /* @__PURE__ */
|
|
30713
|
+
isOpen && /* @__PURE__ */ jsx141(Box15, { children })
|
|
30678
30714
|
] });
|
|
30679
30715
|
};
|
|
30680
30716
|
|
|
30681
30717
|
// src/components/event-details/event-details.tsx
|
|
30682
|
-
import { Fragment as Fragment11, jsx as
|
|
30718
|
+
import { Fragment as Fragment11, jsx as jsx142, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
30683
30719
|
var checkIsLambdaInvoke = (span) => {
|
|
30684
30720
|
if (span.service_name !== "lambda") {
|
|
30685
30721
|
return false;
|
|
@@ -30698,9 +30734,9 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30698
30734
|
() => getEventGroupsByType(selectedEvent?.events ?? []),
|
|
30699
30735
|
[selectedEvent?.events]
|
|
30700
30736
|
);
|
|
30701
|
-
const [parseNestedJson, setParseNestedJson] =
|
|
30737
|
+
const [parseNestedJson, setParseNestedJson] = useState16(true);
|
|
30702
30738
|
if (!selectedEvent) {
|
|
30703
|
-
return /* @__PURE__ */
|
|
30739
|
+
return /* @__PURE__ */ jsx142(Box16, { sx: { p: 3, textAlign: "center" }, children: /* @__PURE__ */ jsx142(Typography11, { color: "text.secondary", variant: "body2", children: "Select an operation to view graph" }) });
|
|
30704
30740
|
}
|
|
30705
30741
|
const isLambdaInvoke = checkIsLambdaInvoke(selectedEvent);
|
|
30706
30742
|
const isSqsSendMessage = checkIsSqsSendMessage(selectedEvent);
|
|
@@ -30737,63 +30773,90 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30737
30773
|
py: 1
|
|
30738
30774
|
},
|
|
30739
30775
|
children: [
|
|
30740
|
-
/* @__PURE__ */
|
|
30741
|
-
onClose && /* @__PURE__ */
|
|
30776
|
+
/* @__PURE__ */ jsx142(Box16, { children: /* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "h6", children: "Operation Details" }) }),
|
|
30777
|
+
onClose && /* @__PURE__ */ jsx142(IconButton4, { "data-testid": EVENT_DETAILS_CLOSE_BUTTON_TEST_ID, onClick: onClose, size: "small", children: /* @__PURE__ */ jsx142(Close2, {}) })
|
|
30742
30778
|
]
|
|
30743
30779
|
}
|
|
30744
30780
|
),
|
|
30745
|
-
/* @__PURE__ */
|
|
30746
|
-
/* @__PURE__ */
|
|
30781
|
+
/* @__PURE__ */ jsx142(Box16, { sx: { flexGrow: 1, overflow: "auto", p: 2 }, children: /* @__PURE__ */ jsxs131(Stack3, { spacing: 2, children: [
|
|
30782
|
+
/* @__PURE__ */ jsx142(ToggleSection, { headline: "Basic Information", children: /* @__PURE__ */ jsxs131(Stack3, { "data-testid": EVENT_DETAILS_SECTION_BASIC_INFORMATION_TEST_ID, spacing: 1, children: [
|
|
30747
30783
|
/* @__PURE__ */ jsxs131(Box16, { sx: { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
30748
30784
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30749
|
-
/* @__PURE__ */
|
|
30750
|
-
/* @__PURE__ */
|
|
30785
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Service" }),
|
|
30786
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30787
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_SERVICE_NAME_TEST_ID, variant: "body2", children: getServiceDisplayName(selectedEvent.service_name) }),
|
|
30788
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: getServiceDisplayName(selectedEvent.service_name) })
|
|
30789
|
+
] })
|
|
30751
30790
|
] }),
|
|
30752
30791
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30753
|
-
/* @__PURE__ */
|
|
30754
|
-
/* @__PURE__ */
|
|
30792
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Action" }),
|
|
30793
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30794
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_OPERATION_NAME_TEST_ID, variant: "body2", children: selectedEvent.operation_name }),
|
|
30795
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.operation_name })
|
|
30796
|
+
] })
|
|
30755
30797
|
] })
|
|
30756
30798
|
] }),
|
|
30757
30799
|
/* @__PURE__ */ jsxs131(Box16, { sx: cfnResourceType ? { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" } : void 0, children: [
|
|
30758
30800
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30759
|
-
/* @__PURE__ */
|
|
30760
|
-
/* @__PURE__ */
|
|
30801
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource" }),
|
|
30802
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", "data-testid": EVENT_DETAILS_RESOURCE_NAME_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30803
|
+
/* @__PURE__ */ jsx142(Typography11, { variant: "body2", children: selectedEvent.resource_name }),
|
|
30804
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.resource_name })
|
|
30805
|
+
] })
|
|
30761
30806
|
] }),
|
|
30762
30807
|
Boolean(cfnResourceType) && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30763
|
-
/* @__PURE__ */
|
|
30764
|
-
/* @__PURE__ */
|
|
30808
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource Type" }),
|
|
30809
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30810
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_CFN_RESOURCE_TYPE_TEST_ID, variant: "body2", children: cfnResourceType }),
|
|
30811
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: cfnResourceType })
|
|
30812
|
+
] })
|
|
30765
30813
|
] })
|
|
30766
30814
|
] }),
|
|
30767
30815
|
Boolean(resourceArn) && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30768
|
-
/* @__PURE__ */
|
|
30769
|
-
/* @__PURE__ */
|
|
30816
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource ARN" }),
|
|
30817
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", "data-testid": EVENT_DETAILS_RESOURCE_ARN_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30818
|
+
/* @__PURE__ */ jsx142(Typography11, { variant: "body2", children: resourceArn }),
|
|
30819
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: resourceArn })
|
|
30820
|
+
] })
|
|
30770
30821
|
] }),
|
|
30771
30822
|
/* @__PURE__ */ jsxs131(Box16, { sx: { display: "grid", gap: 1, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
30772
30823
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30773
|
-
/* @__PURE__ */
|
|
30774
|
-
/* @__PURE__ */
|
|
30824
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Account" }),
|
|
30825
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30826
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_ACCOUNT_TEST_ID, variant: "body2", children: selectedEvent.account_id }),
|
|
30827
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.account_id })
|
|
30828
|
+
] })
|
|
30775
30829
|
] }),
|
|
30776
30830
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30777
|
-
/* @__PURE__ */
|
|
30778
|
-
/* @__PURE__ */
|
|
30831
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Region" }),
|
|
30832
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30833
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_REGION_TEST_ID, variant: "body2", children: selectedEvent.region }),
|
|
30834
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.region })
|
|
30835
|
+
] })
|
|
30779
30836
|
] })
|
|
30780
30837
|
] }),
|
|
30781
30838
|
/* @__PURE__ */ jsxs131(Box16, { sx: { display: "grid", gap: 1, gridTemplateColumns: duration === void 0 ? "1fr" : "1.3fr 1fr" }, children: [
|
|
30782
30839
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30783
|
-
/* @__PURE__ */
|
|
30784
|
-
/* @__PURE__ */
|
|
30840
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Start Time" }),
|
|
30841
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", "data-testid": EVENT_DETAILS_START_TIME_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30842
|
+
/* @__PURE__ */ jsx142(Typography11, { variant: "body2", children: unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString() }),
|
|
30843
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString() })
|
|
30844
|
+
] })
|
|
30785
30845
|
] }),
|
|
30786
30846
|
duration !== void 0 && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30787
|
-
/* @__PURE__ */
|
|
30788
|
-
/* @__PURE__ */ jsxs131(
|
|
30789
|
-
|
|
30790
|
-
|
|
30847
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Duration" }),
|
|
30848
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", "data-testid": EVENT_DETAILS_DURATION_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30849
|
+
/* @__PURE__ */ jsxs131(Typography11, { variant: "body2", children: [
|
|
30850
|
+
duration,
|
|
30851
|
+
"ms"
|
|
30852
|
+
] }),
|
|
30853
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: `${duration}ms` })
|
|
30791
30854
|
] })
|
|
30792
30855
|
] })
|
|
30793
30856
|
] }),
|
|
30794
30857
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30795
|
-
/* @__PURE__ */
|
|
30796
|
-
/* @__PURE__ */
|
|
30858
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Status" }),
|
|
30859
|
+
/* @__PURE__ */ jsx142(Stack3, { alignItems: "center", direction: "row", flexWrap: "wrap", gap: 1, sx: { mb: eventGroups.errors || eventGroups.warnings ? 1 : 0 }, children: /* @__PURE__ */ jsx142(
|
|
30797
30860
|
Chip3,
|
|
30798
30861
|
{
|
|
30799
30862
|
color: selectedEvent.status_code === 2 ? "error" : selectedEvent.status_code === 1 ? "success" : "default",
|
|
@@ -30804,50 +30867,50 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30804
30867
|
) })
|
|
30805
30868
|
] })
|
|
30806
30869
|
] }) }),
|
|
30807
|
-
/* @__PURE__ */
|
|
30870
|
+
/* @__PURE__ */ jsx142(Divider4, {}),
|
|
30808
30871
|
/* @__PURE__ */ jsxs131(ToggleSection, { headline: "Permissions", children: [
|
|
30809
|
-
selectedEvent.iam_errors_suppressed && /* @__PURE__ */
|
|
30810
|
-
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */
|
|
30811
|
-
eventGroups.permissions && /* @__PURE__ */
|
|
30812
|
-
eventGroups.errors && /* @__PURE__ */
|
|
30813
|
-
eventGroups.warnings && /* @__PURE__ */
|
|
30872
|
+
selectedEvent.iam_errors_suppressed && /* @__PURE__ */ jsx142(Alert4, { "data-testid": EVENT_DETAILS_IAM_ERRORS_SUPPRESSED_TEST_ID, severity: "warning", sx: { mb: 1 }, children: "IAM errors are suppressed \u2014 upgrade your license to view" }),
|
|
30873
|
+
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */ jsx142(Typography11, { color: "text.secondary", variant: "body2", children: "There is no permission information available." }),
|
|
30874
|
+
eventGroups.permissions && /* @__PURE__ */ jsx142(EventDetail, { displayText: "Permissions", events: eventGroups.permissions, spanStatusCode: selectedEvent.status_code, type: "permission" }),
|
|
30875
|
+
eventGroups.errors && /* @__PURE__ */ jsx142(EventDetail, { displayText: "Error", events: eventGroups.errors, type: "error" }),
|
|
30876
|
+
eventGroups.warnings && /* @__PURE__ */ jsx142(EventDetail, { displayText: "Warning", events: eventGroups.warnings, type: "warning" })
|
|
30814
30877
|
] }),
|
|
30815
30878
|
hasPayloads && /* @__PURE__ */ jsxs131(Fragment11, { children: [
|
|
30816
|
-
/* @__PURE__ */
|
|
30817
|
-
/* @__PURE__ */
|
|
30879
|
+
/* @__PURE__ */ jsx142(Divider4, {}),
|
|
30880
|
+
/* @__PURE__ */ jsx142(
|
|
30818
30881
|
ToggleSection,
|
|
30819
30882
|
{
|
|
30820
|
-
action: /* @__PURE__ */
|
|
30883
|
+
action: /* @__PURE__ */ jsx142(
|
|
30821
30884
|
FormControlLabel2,
|
|
30822
30885
|
{
|
|
30823
|
-
control: /* @__PURE__ */
|
|
30886
|
+
control: /* @__PURE__ */ jsx142(Switch, { checked: !parseNestedJson, onChange: (event) => {
|
|
30824
30887
|
setParseNestedJson(!event.target.checked);
|
|
30825
30888
|
}, size: "small" }),
|
|
30826
|
-
label: /* @__PURE__ */
|
|
30889
|
+
label: /* @__PURE__ */ jsx142(Typography11, { variant: "caption", children: "View raw data" }),
|
|
30827
30890
|
sx: { mr: 0 }
|
|
30828
30891
|
}
|
|
30829
30892
|
),
|
|
30830
30893
|
headline: "Payloads",
|
|
30831
30894
|
children: /* @__PURE__ */ jsxs131(Stack3, { spacing: 2, children: [
|
|
30832
30895
|
requestPayload !== void 0 && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30833
|
-
/* @__PURE__ */
|
|
30834
|
-
/* @__PURE__ */
|
|
30896
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Request" }),
|
|
30897
|
+
/* @__PURE__ */ jsx142(PayloadViewer, { testId: EVENT_DETAILS_REQUEST_PAYLOAD, value: requestPayload })
|
|
30835
30898
|
] }),
|
|
30836
30899
|
(responsePayload !== void 0 || isResponseSuppressed) && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30837
|
-
/* @__PURE__ */
|
|
30838
|
-
isResponseSuppressed ? /* @__PURE__ */
|
|
30900
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Response" }),
|
|
30901
|
+
isResponseSuppressed ? /* @__PURE__ */ jsx142(Box16, { sx: { py: 1 }, children: /* @__PURE__ */ jsx142(Alert4, { severity: "warning", sx: { mb: 1 }, children: "Response payload is available \u2014 upgrade your license to view" }) }) : /* @__PURE__ */ jsx142(PayloadViewer, { testId: EVENT_DETAILS_RESPONSE_PAYLOAD_TEST_ID, value: responsePayload })
|
|
30839
30902
|
] }),
|
|
30840
30903
|
exceptionPayload !== void 0 && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30841
|
-
/* @__PURE__ */
|
|
30842
|
-
/* @__PURE__ */
|
|
30904
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Exception" }),
|
|
30905
|
+
/* @__PURE__ */ jsx142(PayloadViewer, { testId: EVENT_DETAILS_EXCEPTION_PAYLOAD_TEST_ID, value: exceptionPayload })
|
|
30843
30906
|
] })
|
|
30844
30907
|
] })
|
|
30845
30908
|
}
|
|
30846
30909
|
)
|
|
30847
30910
|
] }),
|
|
30848
30911
|
isLambdaInvoke && requestId !== void 0 && /* @__PURE__ */ jsxs131(Fragment11, { children: [
|
|
30849
|
-
/* @__PURE__ */
|
|
30850
|
-
/* @__PURE__ */
|
|
30912
|
+
/* @__PURE__ */ jsx142(Divider4, {}),
|
|
30913
|
+
/* @__PURE__ */ jsx142(ToggleSection, { headline: "Lambda Logs", children: /* @__PURE__ */ jsx142(
|
|
30851
30914
|
LambdaInvokeLogsSection,
|
|
30852
30915
|
{
|
|
30853
30916
|
endTimeNano: selectedEvent.end_time_unix_nano ?? selectedEvent.start_time_unix_nano,
|
|
@@ -30858,21 +30921,30 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30858
30921
|
}
|
|
30859
30922
|
) })
|
|
30860
30923
|
] }),
|
|
30861
|
-
/* @__PURE__ */
|
|
30862
|
-
/* @__PURE__ */
|
|
30924
|
+
/* @__PURE__ */ jsx142(Divider4, {}),
|
|
30925
|
+
/* @__PURE__ */ jsx142(ToggleSection, { headline: "Advanced Information", initialOpen: false, children: /* @__PURE__ */ jsxs131(Stack3, { spacing: 1, children: [
|
|
30863
30926
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30864
|
-
/* @__PURE__ */
|
|
30865
|
-
/* @__PURE__ */
|
|
30927
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Span ID" }),
|
|
30928
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30929
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_SPAN_ID_TEST_ID, variant: "body2", children: selectedEvent.span_id }),
|
|
30930
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.span_id })
|
|
30931
|
+
] })
|
|
30866
30932
|
] }),
|
|
30867
30933
|
/* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30868
|
-
/* @__PURE__ */
|
|
30869
|
-
/* @__PURE__ */
|
|
30934
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Trace ID" }),
|
|
30935
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30936
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_TRACE_ID_TEST_ID, variant: "body2", children: selectedEvent.trace_id }),
|
|
30937
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: selectedEvent.trace_id })
|
|
30938
|
+
] })
|
|
30870
30939
|
] }),
|
|
30871
30940
|
requestId !== void 0 && /* @__PURE__ */ jsxs131(Box16, { children: [
|
|
30872
|
-
/* @__PURE__ */
|
|
30873
|
-
/* @__PURE__ */
|
|
30941
|
+
/* @__PURE__ */ jsx142(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Request ID" }),
|
|
30942
|
+
/* @__PURE__ */ jsxs131(Stack3, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
30943
|
+
/* @__PURE__ */ jsx142(Typography11, { "data-testid": EVENT_DETAILS_REQUEST_ID_TEST_ID, variant: "body2", children: requestId }),
|
|
30944
|
+
/* @__PURE__ */ jsx142(CopyButton, { value: requestId })
|
|
30945
|
+
] })
|
|
30874
30946
|
] }),
|
|
30875
|
-
eventGroups.info && /* @__PURE__ */
|
|
30947
|
+
eventGroups.info && /* @__PURE__ */ jsx142(EventDetail, { displayText: "Info", events: eventGroups.info, type: "info" })
|
|
30876
30948
|
] }) })
|
|
30877
30949
|
] }) })
|
|
30878
30950
|
] });
|
|
@@ -30886,11 +30958,11 @@ import { useEffect as useEffect20 } from "react";
|
|
|
30886
30958
|
|
|
30887
30959
|
// src/components/trace-graph/service-node.tsx
|
|
30888
30960
|
import { Cancel as Cancel3, GppBad as GppBad2 } from "@mui/icons-material";
|
|
30889
|
-
import { Box as Box17, Divider as Divider5, Stack as Stack4, Tooltip as
|
|
30961
|
+
import { Box as Box17, Divider as Divider5, Stack as Stack4, Tooltip as Tooltip6, Typography as Typography12, useTheme as useTheme4 } from "@mui/material";
|
|
30890
30962
|
import "@xyflow/react/dist/style.css";
|
|
30891
30963
|
import { Handle, Position } from "@xyflow/react";
|
|
30892
30964
|
import { memo as memo11, useMemo as useMemo13 } from "react";
|
|
30893
|
-
import { jsx as
|
|
30965
|
+
import { jsx as jsx143, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
30894
30966
|
var handleStyle = {
|
|
30895
30967
|
backgroundColor: "white",
|
|
30896
30968
|
borderColor: "lightgray",
|
|
@@ -30930,8 +31002,8 @@ var ServiceNode = memo11(({ data, selected }) => {
|
|
|
30930
31002
|
},
|
|
30931
31003
|
tabIndex: 0,
|
|
30932
31004
|
children: [
|
|
30933
|
-
/* @__PURE__ */
|
|
30934
|
-
/* @__PURE__ */
|
|
31005
|
+
/* @__PURE__ */ jsx143(Handle, { position: Position.Left, style: handleStyle, type: "target" }),
|
|
31006
|
+
/* @__PURE__ */ jsx143(Handle, { position: Position.Right, style: handleStyle, type: "source" }),
|
|
30935
31007
|
/* @__PURE__ */ jsxs132(
|
|
30936
31008
|
Stack4,
|
|
30937
31009
|
{
|
|
@@ -30939,9 +31011,9 @@ var ServiceNode = memo11(({ data, selected }) => {
|
|
|
30939
31011
|
direction: "row",
|
|
30940
31012
|
sx: { gap: "8px", pb: "2px", pt: "6px", px: "8px" },
|
|
30941
31013
|
children: [
|
|
30942
|
-
/* @__PURE__ */
|
|
31014
|
+
/* @__PURE__ */ jsx143(Box17, { sx: { borderRadius: "4px", flexShrink: 0, lineHeight: 0, overflow: "hidden" }, children: /* @__PURE__ */ jsx143(AwsServiceIcon, { hideTooltip: true, service: data.event.service_name, size: "medium" }) }),
|
|
30943
31015
|
/* @__PURE__ */ jsxs132(Stack4, { sx: { minWidth: 0 }, children: [
|
|
30944
|
-
/* @__PURE__ */
|
|
31016
|
+
/* @__PURE__ */ jsx143(
|
|
30945
31017
|
Typography12,
|
|
30946
31018
|
{
|
|
30947
31019
|
noWrap: true,
|
|
@@ -30950,7 +31022,7 @@ var ServiceNode = memo11(({ data, selected }) => {
|
|
|
30950
31022
|
children: getServiceDisplayName(data.event.service_name)
|
|
30951
31023
|
}
|
|
30952
31024
|
),
|
|
30953
|
-
data.event.resource_name != "" && /* @__PURE__ */
|
|
31025
|
+
data.event.resource_name != "" && /* @__PURE__ */ jsx143(
|
|
30954
31026
|
Typography12,
|
|
30955
31027
|
{
|
|
30956
31028
|
color: "text.secondary",
|
|
@@ -30964,7 +31036,7 @@ var ServiceNode = memo11(({ data, selected }) => {
|
|
|
30964
31036
|
]
|
|
30965
31037
|
}
|
|
30966
31038
|
),
|
|
30967
|
-
/* @__PURE__ */
|
|
31039
|
+
/* @__PURE__ */ jsx143(Divider5, { sx: { ml: "38px", mr: "8px", my: "5px" } }),
|
|
30968
31040
|
/* @__PURE__ */ jsxs132(
|
|
30969
31041
|
Stack4,
|
|
30970
31042
|
{
|
|
@@ -30983,12 +31055,12 @@ var ServiceNode = memo11(({ data, selected }) => {
|
|
|
30983
31055
|
width: "38px"
|
|
30984
31056
|
},
|
|
30985
31057
|
children: [
|
|
30986
|
-
(isError || isWarning) && hasPermissionEvents && /* @__PURE__ */
|
|
30987
|
-
isError && !hasPermissionEvents && /* @__PURE__ */
|
|
31058
|
+
(isError || isWarning) && hasPermissionEvents && /* @__PURE__ */ jsx143(Tooltip6, { arrow: true, title: "Permission denied", children: /* @__PURE__ */ jsx143(GppBad2, { sx: { color: isError ? theme.palette.error.main : theme.palette.warning.main, fontSize: "16px" } }) }),
|
|
31059
|
+
isError && !hasPermissionEvents && /* @__PURE__ */ jsx143(Tooltip6, { arrow: true, title: "Error", children: /* @__PURE__ */ jsx143(Cancel3, { sx: { color: theme.palette.error.main, fontSize: "16px" } }) })
|
|
30988
31060
|
]
|
|
30989
31061
|
}
|
|
30990
31062
|
),
|
|
30991
|
-
/* @__PURE__ */
|
|
31063
|
+
/* @__PURE__ */ jsx143(
|
|
30992
31064
|
Typography12,
|
|
30993
31065
|
{
|
|
30994
31066
|
"data-testid": SERVICE_NODE_OPERATION_NAME_TEST_ID,
|
|
@@ -31062,11 +31134,11 @@ var getLayoutedNodesAndEdges = (inputNodes, inputEdges) => {
|
|
|
31062
31134
|
|
|
31063
31135
|
// src/components/trace-graph/xyflow/controls.tsx
|
|
31064
31136
|
import { Add, FitScreen, Remove } from "@mui/icons-material";
|
|
31065
|
-
import { Box as Box18, IconButton as
|
|
31137
|
+
import { Box as Box18, IconButton as IconButton5 } from "@mui/material";
|
|
31066
31138
|
import { useReactFlow, useStore as useStore2 } from "@xyflow/react";
|
|
31067
31139
|
import { memo as memo12 } from "react";
|
|
31068
31140
|
import { shallow } from "zustand/shallow";
|
|
31069
|
-
import { jsx as
|
|
31141
|
+
import { jsx as jsx144, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
31070
31142
|
var selector = (s2) => ({
|
|
31071
31143
|
isInteractive: s2.nodesDraggable || s2.nodesConnectable || s2.elementsSelectable,
|
|
31072
31144
|
maxZoomReached: s2.transform[2] >= s2.maxZoom,
|
|
@@ -31098,33 +31170,33 @@ var Controls = memo12(() => {
|
|
|
31098
31170
|
zIndex: 5
|
|
31099
31171
|
},
|
|
31100
31172
|
children: [
|
|
31101
|
-
/* @__PURE__ */
|
|
31102
|
-
|
|
31173
|
+
/* @__PURE__ */ jsx144(
|
|
31174
|
+
IconButton5,
|
|
31103
31175
|
{
|
|
31104
31176
|
className: "react-flow__controls-zoomin",
|
|
31105
31177
|
disabled: maxZoomReached,
|
|
31106
31178
|
onClick: onZoomInHandler,
|
|
31107
31179
|
size: "small",
|
|
31108
|
-
children: /* @__PURE__ */
|
|
31180
|
+
children: /* @__PURE__ */ jsx144(Add, {})
|
|
31109
31181
|
}
|
|
31110
31182
|
),
|
|
31111
|
-
/* @__PURE__ */
|
|
31112
|
-
|
|
31183
|
+
/* @__PURE__ */ jsx144(
|
|
31184
|
+
IconButton5,
|
|
31113
31185
|
{
|
|
31114
31186
|
className: "react-flow__controls-zoomout",
|
|
31115
31187
|
disabled: minZoomReached,
|
|
31116
31188
|
onClick: onZoomOutHandler,
|
|
31117
31189
|
size: "small",
|
|
31118
|
-
children: /* @__PURE__ */
|
|
31190
|
+
children: /* @__PURE__ */ jsx144(Remove, {})
|
|
31119
31191
|
}
|
|
31120
31192
|
),
|
|
31121
|
-
/* @__PURE__ */
|
|
31122
|
-
|
|
31193
|
+
/* @__PURE__ */ jsx144(
|
|
31194
|
+
IconButton5,
|
|
31123
31195
|
{
|
|
31124
31196
|
className: "react-flow__controls-fitview",
|
|
31125
31197
|
onClick: onFitViewHandler,
|
|
31126
31198
|
size: "small",
|
|
31127
|
-
children: /* @__PURE__ */
|
|
31199
|
+
children: /* @__PURE__ */ jsx144(FitScreen, {})
|
|
31128
31200
|
}
|
|
31129
31201
|
)
|
|
31130
31202
|
]
|
|
@@ -31133,7 +31205,7 @@ var Controls = memo12(() => {
|
|
|
31133
31205
|
});
|
|
31134
31206
|
|
|
31135
31207
|
// src/components/trace-graph/trace-graph.tsx
|
|
31136
|
-
import { Fragment as Fragment12, jsx as
|
|
31208
|
+
import { Fragment as Fragment12, jsx as jsx145, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
31137
31209
|
var nodeTypes = {
|
|
31138
31210
|
service: ServiceNode
|
|
31139
31211
|
};
|
|
@@ -31200,7 +31272,7 @@ var TraceGraph = ({
|
|
|
31200
31272
|
spans.error && /* @__PURE__ */ jsxs134(
|
|
31201
31273
|
Alert5,
|
|
31202
31274
|
{
|
|
31203
|
-
action: /* @__PURE__ */
|
|
31275
|
+
action: /* @__PURE__ */ jsx145(Button5, { onClick: () => {
|
|
31204
31276
|
onRefresh();
|
|
31205
31277
|
}, children: "Retry" }),
|
|
31206
31278
|
severity: "error",
|
|
@@ -31229,8 +31301,8 @@ var TraceGraph = ({
|
|
|
31229
31301
|
onNodesChange,
|
|
31230
31302
|
selectNodesOnDrag: false,
|
|
31231
31303
|
children: [
|
|
31232
|
-
/* @__PURE__ */
|
|
31233
|
-
/* @__PURE__ */
|
|
31304
|
+
/* @__PURE__ */ jsx145(Controls, {}),
|
|
31305
|
+
/* @__PURE__ */ jsx145(
|
|
31234
31306
|
Background,
|
|
31235
31307
|
{
|
|
31236
31308
|
bgColor: theme.palette.background.default,
|
|
@@ -31244,7 +31316,7 @@ var TraceGraph = ({
|
|
|
31244
31316
|
};
|
|
31245
31317
|
|
|
31246
31318
|
// src/pages/trace-graph-page.tsx
|
|
31247
|
-
import { Fragment as Fragment13, jsx as
|
|
31319
|
+
import { Fragment as Fragment13, jsx as jsx146, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
31248
31320
|
var HEADER_HEIGHT = 56;
|
|
31249
31321
|
var DRAWER_WIDTH = "35%";
|
|
31250
31322
|
var Main = styled("main", { shouldForwardProp: (property) => property !== "open" })(({ open, theme }) => ({
|
|
@@ -31307,12 +31379,12 @@ var TraceGraphView = ({
|
|
|
31307
31379
|
},
|
|
31308
31380
|
children: [
|
|
31309
31381
|
/* @__PURE__ */ jsxs135(Box19, { sx: { display: "flex", width: "100%" }, children: [
|
|
31310
|
-
/* @__PURE__ */
|
|
31382
|
+
/* @__PURE__ */ jsx146(Button6, { onClick: () => {
|
|
31311
31383
|
navigateToSpansList();
|
|
31312
|
-
}, startIcon: /* @__PURE__ */
|
|
31313
|
-
/* @__PURE__ */
|
|
31384
|
+
}, startIcon: /* @__PURE__ */ jsx146(ArrowBack, {}), children: "Go back" }),
|
|
31385
|
+
/* @__PURE__ */ jsx146(Box19, { sx: { flexGrow: 1 } })
|
|
31314
31386
|
] }),
|
|
31315
|
-
/* @__PURE__ */
|
|
31387
|
+
/* @__PURE__ */ jsx146(
|
|
31316
31388
|
Paper3,
|
|
31317
31389
|
{
|
|
31318
31390
|
sx: {
|
|
@@ -31322,7 +31394,7 @@ var TraceGraphView = ({
|
|
|
31322
31394
|
position: "relative",
|
|
31323
31395
|
width: "100%"
|
|
31324
31396
|
},
|
|
31325
|
-
children: shouldShowStatusMessage ? /* @__PURE__ */
|
|
31397
|
+
children: shouldShowStatusMessage ? /* @__PURE__ */ jsx146(
|
|
31326
31398
|
StatusMessage,
|
|
31327
31399
|
{
|
|
31328
31400
|
error: statusError,
|
|
@@ -31331,14 +31403,14 @@ var TraceGraphView = ({
|
|
|
31331
31403
|
status
|
|
31332
31404
|
}
|
|
31333
31405
|
) : /* @__PURE__ */ jsxs135(Fragment13, { children: [
|
|
31334
|
-
/* @__PURE__ */
|
|
31406
|
+
/* @__PURE__ */ jsx146(Main, { open, children: /* @__PURE__ */ jsx146(
|
|
31335
31407
|
Box19,
|
|
31336
31408
|
{
|
|
31337
31409
|
sx: {
|
|
31338
31410
|
height: "100%",
|
|
31339
31411
|
overflow: "auto"
|
|
31340
31412
|
},
|
|
31341
|
-
children: traceId !== void 0 && /* @__PURE__ */
|
|
31413
|
+
children: traceId !== void 0 && /* @__PURE__ */ jsx146(ReactFlowProvider, { children: /* @__PURE__ */ jsx146(
|
|
31342
31414
|
TraceGraph,
|
|
31343
31415
|
{
|
|
31344
31416
|
initialFocusEventId: spanId,
|
|
@@ -31355,7 +31427,7 @@ var TraceGraphView = ({
|
|
|
31355
31427
|
) })
|
|
31356
31428
|
}
|
|
31357
31429
|
) }),
|
|
31358
|
-
/* @__PURE__ */
|
|
31430
|
+
/* @__PURE__ */ jsx146(StyledDrawer, { anchor: "right", open, variant: "persistent", children: /* @__PURE__ */ jsx146(EventDetails, { onClose: handleClose, selectedEvent }) })
|
|
31359
31431
|
] })
|
|
31360
31432
|
}
|
|
31361
31433
|
)
|
|
@@ -31399,10 +31471,10 @@ async function fetchConnectedTraces(api, traceIds, allSpans = /* @__PURE__ */ ne
|
|
|
31399
31471
|
}
|
|
31400
31472
|
var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
31401
31473
|
const api = useAppInspectorApi();
|
|
31402
|
-
const [spans, setSpans] =
|
|
31403
|
-
const [loading, setLoading] =
|
|
31404
|
-
const [fetchError, setFetchError] =
|
|
31405
|
-
const fetchSpans =
|
|
31474
|
+
const [spans, setSpans] = useState17();
|
|
31475
|
+
const [loading, setLoading] = useState17(false);
|
|
31476
|
+
const [fetchError, setFetchError] = useState17();
|
|
31477
|
+
const fetchSpans = useCallback12(async () => {
|
|
31406
31478
|
setLoading(true);
|
|
31407
31479
|
try {
|
|
31408
31480
|
const spans2 = await fetchConnectedTraces(api, [traceId]);
|
|
@@ -31418,8 +31490,8 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
31418
31490
|
useEffect21(() => {
|
|
31419
31491
|
void fetchSpans();
|
|
31420
31492
|
}, [fetchSpans]);
|
|
31421
|
-
const [open, setOpen] =
|
|
31422
|
-
const [selectedEvent, setSelectedEvent] =
|
|
31493
|
+
const [open, setOpen] = useState17(true);
|
|
31494
|
+
const [selectedEvent, setSelectedEvent] = useState17(() => spans?.find((span) => span.span_id === spanId));
|
|
31423
31495
|
const spansReference = useRef17();
|
|
31424
31496
|
useEffect21(() => {
|
|
31425
31497
|
if (!spansReference.current && spans) {
|
|
@@ -31433,22 +31505,22 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
31433
31505
|
reportDisabled();
|
|
31434
31506
|
}
|
|
31435
31507
|
}, [fetchError, reportDisabled]);
|
|
31436
|
-
const handleEnable =
|
|
31508
|
+
const handleEnable = useCallback12(async () => {
|
|
31437
31509
|
await api.setStatus({ status: "ENABLED" });
|
|
31438
31510
|
void checkStatus();
|
|
31439
31511
|
}, [api, checkStatus]);
|
|
31440
|
-
const handleEventSelect =
|
|
31512
|
+
const handleEventSelect = useCallback12((spanId2) => {
|
|
31441
31513
|
const span = spans?.find((s2) => s2.span_id === spanId2);
|
|
31442
31514
|
setSelectedEvent(span);
|
|
31443
31515
|
setOpen(true);
|
|
31444
31516
|
}, [spans]);
|
|
31445
|
-
const handleRetry =
|
|
31517
|
+
const handleRetry = useCallback12(() => {
|
|
31446
31518
|
void checkStatus();
|
|
31447
31519
|
}, [checkStatus]);
|
|
31448
|
-
const navigateToSpansList =
|
|
31520
|
+
const navigateToSpansList = useCallback12(() => {
|
|
31449
31521
|
onClose?.();
|
|
31450
31522
|
}, [onClose]);
|
|
31451
|
-
return /* @__PURE__ */
|
|
31523
|
+
return /* @__PURE__ */ jsx146(
|
|
31452
31524
|
TraceGraphView,
|
|
31453
31525
|
{
|
|
31454
31526
|
fetchError,
|
|
@@ -31473,7 +31545,7 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
31473
31545
|
};
|
|
31474
31546
|
|
|
31475
31547
|
// src/pages/spans-list-page.tsx
|
|
31476
|
-
import { Fragment as Fragment14, jsx as
|
|
31548
|
+
import { Fragment as Fragment14, jsx as jsx147, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
31477
31549
|
var SpansListPage = () => {
|
|
31478
31550
|
const api = useAppInspectorApi();
|
|
31479
31551
|
const {
|
|
@@ -31497,24 +31569,24 @@ var SpansListPage = () => {
|
|
|
31497
31569
|
warningCount
|
|
31498
31570
|
} = useSpans();
|
|
31499
31571
|
const { checking, checkStatus, status, statusError } = useAppInspectorStatus();
|
|
31500
|
-
const clearSpansSync =
|
|
31572
|
+
const clearSpansSync = useCallback13(() => {
|
|
31501
31573
|
void clearSpans();
|
|
31502
31574
|
}, [clearSpans]);
|
|
31503
31575
|
const localstackVersion = status?.localstackVersion ?? (statusError instanceof AppInspectorNotFoundError ? statusError.localstackVersion : void 0);
|
|
31504
31576
|
const versionCompatibility = checkEmulatorVersion(localstackVersion);
|
|
31505
|
-
const [bannerDismissed, setBannerDismissed] =
|
|
31577
|
+
const [bannerDismissed, setBannerDismissed] = useState18(false);
|
|
31506
31578
|
const [order2, setOrder] = useLocalStorage("spans-order", "oldest_first");
|
|
31507
|
-
const [selectedTraceId, setSelectedTraceId] =
|
|
31508
|
-
const [selectedSpanId, setSelectedSpanId] =
|
|
31509
|
-
const navigateToSpan =
|
|
31579
|
+
const [selectedTraceId, setSelectedTraceId] = useState18();
|
|
31580
|
+
const [selectedSpanId, setSelectedSpanId] = useState18();
|
|
31581
|
+
const navigateToSpan = useCallback13((span) => {
|
|
31510
31582
|
setSelectedTraceId(span.trace_id);
|
|
31511
31583
|
setSelectedSpanId(span.span_id);
|
|
31512
31584
|
}, []);
|
|
31513
|
-
const handleRetry =
|
|
31585
|
+
const handleRetry = useCallback13(() => {
|
|
31514
31586
|
void checkStatus();
|
|
31515
31587
|
fetchForward();
|
|
31516
31588
|
}, [checkStatus, fetchForward]);
|
|
31517
|
-
const handleEnable =
|
|
31589
|
+
const handleEnable = useCallback13(async () => {
|
|
31518
31590
|
await api.setStatus({ status: "ENABLED" });
|
|
31519
31591
|
clearFetchError();
|
|
31520
31592
|
void checkStatus();
|
|
@@ -31542,7 +31614,7 @@ var SpansListPage = () => {
|
|
|
31542
31614
|
}, [fetchingForward, fetchForward]);
|
|
31543
31615
|
const shouldShowStatusMessage = Boolean(statusError) || status?.status === "DISABLED";
|
|
31544
31616
|
if (versionCompatibility === "below-minimum") {
|
|
31545
|
-
return /* @__PURE__ */
|
|
31617
|
+
return /* @__PURE__ */ jsx147(
|
|
31546
31618
|
StatusMessage,
|
|
31547
31619
|
{
|
|
31548
31620
|
localstackVersion,
|
|
@@ -31551,7 +31623,7 @@ var SpansListPage = () => {
|
|
|
31551
31623
|
);
|
|
31552
31624
|
}
|
|
31553
31625
|
if (shouldShowStatusMessage) {
|
|
31554
|
-
return /* @__PURE__ */
|
|
31626
|
+
return /* @__PURE__ */ jsx147(
|
|
31555
31627
|
StatusMessage,
|
|
31556
31628
|
{
|
|
31557
31629
|
error: statusError,
|
|
@@ -31579,7 +31651,7 @@ var SpansListPage = () => {
|
|
|
31579
31651
|
width: "100%"
|
|
31580
31652
|
},
|
|
31581
31653
|
children: [
|
|
31582
|
-
!checking && /* @__PURE__ */
|
|
31654
|
+
!checking && /* @__PURE__ */ jsx147(
|
|
31583
31655
|
EmulatorVersionBanner,
|
|
31584
31656
|
{
|
|
31585
31657
|
compatibility: bannerDismissed && versionCompatibility === "warning" ? "ok" : versionCompatibility,
|
|
@@ -31589,7 +31661,7 @@ var SpansListPage = () => {
|
|
|
31589
31661
|
} : void 0
|
|
31590
31662
|
}
|
|
31591
31663
|
),
|
|
31592
|
-
/* @__PURE__ */
|
|
31664
|
+
/* @__PURE__ */ jsx147(
|
|
31593
31665
|
SpansList,
|
|
31594
31666
|
{
|
|
31595
31667
|
clearingSpans,
|
|
@@ -31617,7 +31689,7 @@ var SpansListPage = () => {
|
|
|
31617
31689
|
]
|
|
31618
31690
|
}
|
|
31619
31691
|
),
|
|
31620
|
-
selectedTraceId !== void 0 && /* @__PURE__ */
|
|
31692
|
+
selectedTraceId !== void 0 && /* @__PURE__ */ jsx147(TraceGraphPage, { onClose: () => {
|
|
31621
31693
|
setSelectedTraceId(void 0);
|
|
31622
31694
|
}, spanId: selectedSpanId, traceId: selectedTraceId })
|
|
31623
31695
|
] });
|