@localstack/appinspector-ui 1.0.140 → 1.0.142
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 +842 -913
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +565 -636
- package/dist/index.js.map +1 -1
- package/package.json +13 -4
package/dist/index.js
CHANGED
|
@@ -2421,7 +2421,7 @@ var init_event_streams = __esm({
|
|
|
2421
2421
|
});
|
|
2422
2422
|
|
|
2423
2423
|
// src/pages/spans-list-page.tsx
|
|
2424
|
-
import { Box as
|
|
2424
|
+
import { Box as Box19 } from "@mui/material";
|
|
2425
2425
|
import { useCallback as useCallback11, useEffect as useEffect22, useRef as useRef16, useState as useState18 } from "react";
|
|
2426
2426
|
|
|
2427
2427
|
// src/api/errors.ts
|
|
@@ -2583,12 +2583,12 @@ var EmulatorVersionBanner = ({
|
|
|
2583
2583
|
};
|
|
2584
2584
|
|
|
2585
2585
|
// src/components/spans-list/spans-list.tsx
|
|
2586
|
-
import { Alert as Alert2, Box as
|
|
2586
|
+
import { Alert as Alert2, Box as Box5, Button as Button3 } from "@mui/material";
|
|
2587
2587
|
|
|
2588
2588
|
// src/components/spans-list/spans-data-grid.tsx
|
|
2589
2589
|
import { DeleteForeverOutlined } from "@mui/icons-material";
|
|
2590
2590
|
import {
|
|
2591
|
-
Box as
|
|
2591
|
+
Box as Box4,
|
|
2592
2592
|
Button as Button2,
|
|
2593
2593
|
CircularProgress,
|
|
2594
2594
|
FormControlLabel,
|
|
@@ -13061,7 +13061,7 @@ var motion = /* @__PURE__ */ createMotionProxy(function(Component, config) {
|
|
|
13061
13061
|
});
|
|
13062
13062
|
|
|
13063
13063
|
// src/components/spans-list/spans-data-grid.tsx
|
|
13064
|
-
import { memo as
|
|
13064
|
+
import { memo as memo8, useCallback as useCallback2, useEffect as useEffect11, useLayoutEffect as useLayoutEffect3, useMemo as useMemo4, useRef as useRef6 } from "react";
|
|
13065
13065
|
|
|
13066
13066
|
// src/components/cells/responsive-timestamp-cell.tsx
|
|
13067
13067
|
import { memo as memo3 } from "react";
|
|
@@ -13072,8 +13072,8 @@ var ResponsiveTimestampCell = memo3(({ date }) => {
|
|
|
13072
13072
|
});
|
|
13073
13073
|
|
|
13074
13074
|
// src/components/cells/service-cell.tsx
|
|
13075
|
-
import { Box
|
|
13076
|
-
import { memo as
|
|
13075
|
+
import { Box, Stack, Typography, useTheme } from "@mui/material";
|
|
13076
|
+
import { memo as memo7 } from "react";
|
|
13077
13077
|
|
|
13078
13078
|
// src/utils/service-display-name.ts
|
|
13079
13079
|
var SERVICE_DISPLAY_NAME = {
|
|
@@ -15133,125 +15133,54 @@ var AwsServiceIcon = memo6(({ hideTooltip, service, size = "medium", title }) =>
|
|
|
15133
15133
|
);
|
|
15134
15134
|
});
|
|
15135
15135
|
|
|
15136
|
-
// src/components/cells/
|
|
15137
|
-
import {
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
15142
|
-
|
|
15143
|
-
height = "24px",
|
|
15144
|
-
outlineColor,
|
|
15145
|
-
outlineWidth = "1px",
|
|
15146
|
-
paddingBottom,
|
|
15147
|
-
paddingTop
|
|
15136
|
+
// src/components/cells/service-cell.tsx
|
|
15137
|
+
import { jsx as jsx123, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
15138
|
+
var ServiceCell = memo7(({
|
|
15139
|
+
resource,
|
|
15140
|
+
selected,
|
|
15141
|
+
service,
|
|
15142
|
+
showIcon = true
|
|
15148
15143
|
}) => {
|
|
15149
|
-
|
|
15144
|
+
const theme = useTheme();
|
|
15145
|
+
return /* @__PURE__ */ jsx123(Box, { sx: { ml: -1, width: "100%" }, children: /* @__PURE__ */ jsxs118(
|
|
15150
15146
|
Box,
|
|
15151
15147
|
{
|
|
15152
15148
|
sx: {
|
|
15153
15149
|
alignItems: "center",
|
|
15154
|
-
|
|
15155
|
-
borderRadius: "16px",
|
|
15150
|
+
borderRadius: 1,
|
|
15156
15151
|
display: "inline-flex",
|
|
15157
|
-
|
|
15152
|
+
gap: "8px",
|
|
15158
15153
|
maxWidth: "100%",
|
|
15159
|
-
|
|
15160
|
-
|
|
15161
|
-
|
|
15162
|
-
|
|
15163
|
-
...paddingBottom && { paddingBottom },
|
|
15164
|
-
overflow: "hidden"
|
|
15154
|
+
outline: selected ? `2px solid ${theme.palette.primary.main}` : "none",
|
|
15155
|
+
overflow: "hidden",
|
|
15156
|
+
px: "8px",
|
|
15157
|
+
py: "4px"
|
|
15165
15158
|
},
|
|
15166
|
-
children
|
|
15167
|
-
|
|
15168
|
-
|
|
15169
|
-
})
|
|
15170
|
-
|
|
15171
|
-
|
|
15172
|
-
|
|
15173
|
-
|
|
15174
|
-
|
|
15175
|
-
|
|
15176
|
-
|
|
15177
|
-
|
|
15178
|
-
|
|
15179
|
-
width = "32px"
|
|
15180
|
-
}) => {
|
|
15181
|
-
const theme = useTheme();
|
|
15182
|
-
const outlineColor = selected ? theme.palette.primary.light : theme.palette.text.secondary;
|
|
15183
|
-
const outlineWidth = selected ? "2px" : void 0;
|
|
15184
|
-
return /* @__PURE__ */ jsx124(Box2, { sx: { width: "100%" }, children: /* @__PURE__ */ jsxs118(PillCell, { height, outlineColor, outlineWidth, children: [
|
|
15185
|
-
showIcon ? /* @__PURE__ */ jsxs118(Fragment2, { children: [
|
|
15186
|
-
/* @__PURE__ */ jsx124(
|
|
15187
|
-
Box2,
|
|
15188
|
-
{
|
|
15189
|
-
sx: {
|
|
15190
|
-
alignItems: "center",
|
|
15191
|
-
display: "flex",
|
|
15192
|
-
flexShrink: 0,
|
|
15193
|
-
height,
|
|
15194
|
-
justifyContent: "center",
|
|
15195
|
-
overflow: "hidden",
|
|
15196
|
-
padding: 0,
|
|
15197
|
-
width
|
|
15198
|
-
},
|
|
15199
|
-
children: /* @__PURE__ */ jsx124(AwsServiceIcon, { hideTooltip: true, service, size: "large" })
|
|
15200
|
-
}
|
|
15201
|
-
),
|
|
15202
|
-
/* @__PURE__ */ jsx124(Divider, { orientation: "vertical" })
|
|
15203
|
-
] }) : void 0,
|
|
15204
|
-
/* @__PURE__ */ jsx124(
|
|
15205
|
-
Typography,
|
|
15206
|
-
{
|
|
15207
|
-
sx: {
|
|
15208
|
-
flexShrink: 1,
|
|
15209
|
-
fontWeight: "bold",
|
|
15210
|
-
minWidth: 0,
|
|
15211
|
-
overflow: "hidden",
|
|
15212
|
-
padding: "1px 8px",
|
|
15213
|
-
textOverflow: "ellipsis",
|
|
15214
|
-
whiteSpace: "nowrap",
|
|
15215
|
-
...showIcon ? {} : {
|
|
15216
|
-
borderBottomLeftRadius: "15px",
|
|
15217
|
-
borderTopLeftRadius: "15px",
|
|
15218
|
-
...!resource && {
|
|
15219
|
-
borderBottomRightRadius: "15px",
|
|
15220
|
-
borderTopRightRadius: "15px"
|
|
15159
|
+
children: [
|
|
15160
|
+
showIcon && /* @__PURE__ */ jsx123(Box, { sx: { borderRadius: "4px", flexShrink: 0, lineHeight: 0, overflow: "hidden" }, children: /* @__PURE__ */ jsx123(AwsServiceIcon, { hideTooltip: true, service, size: "medium" }) }),
|
|
15161
|
+
/* @__PURE__ */ jsxs118(Stack, { sx: { minWidth: 0 }, children: [
|
|
15162
|
+
/* @__PURE__ */ jsx123(Typography, { noWrap: true, sx: { fontWeight: 700, lineHeight: 1.25 }, variant: "body2", children: getServiceDisplayName(service) }),
|
|
15163
|
+
resource ? /* @__PURE__ */ jsx123(
|
|
15164
|
+
Typography,
|
|
15165
|
+
{
|
|
15166
|
+
color: "text.secondary",
|
|
15167
|
+
"data-testid": SERVICE_NODE_SERVICE_NAME_TEST_ID,
|
|
15168
|
+
noWrap: true,
|
|
15169
|
+
sx: { lineHeight: 1.2 },
|
|
15170
|
+
variant: "caption",
|
|
15171
|
+
children: resource
|
|
15221
15172
|
}
|
|
15222
|
-
|
|
15223
|
-
}
|
|
15224
|
-
|
|
15225
|
-
|
|
15226
|
-
|
|
15227
|
-
),
|
|
15228
|
-
resource ? /* @__PURE__ */ jsxs118(Fragment2, { children: [
|
|
15229
|
-
/* @__PURE__ */ jsx124(Box2, { sx: { height: "100%", paddingY: 0.5 }, children: /* @__PURE__ */ jsx124(Divider, { orientation: "vertical" }) }),
|
|
15230
|
-
/* @__PURE__ */ jsx124(
|
|
15231
|
-
Typography,
|
|
15232
|
-
{
|
|
15233
|
-
"data-testid": SERVICE_NODE_SERVICE_NAME_TEST_ID,
|
|
15234
|
-
sx: {
|
|
15235
|
-
borderBottomRightRadius: "15px",
|
|
15236
|
-
borderTopRightRadius: "15px",
|
|
15237
|
-
color: "text.secondary",
|
|
15238
|
-
overflow: "hidden",
|
|
15239
|
-
padding: "1px 8px",
|
|
15240
|
-
textOverflow: "ellipsis",
|
|
15241
|
-
whiteSpace: "nowrap"
|
|
15242
|
-
},
|
|
15243
|
-
variant: "caption",
|
|
15244
|
-
children: resource
|
|
15245
|
-
}
|
|
15246
|
-
)
|
|
15247
|
-
] }) : void 0
|
|
15248
|
-
] }) });
|
|
15173
|
+
) : void 0
|
|
15174
|
+
] })
|
|
15175
|
+
]
|
|
15176
|
+
}
|
|
15177
|
+
) });
|
|
15249
15178
|
});
|
|
15250
15179
|
ServiceCell.displayName = "ServiceCell";
|
|
15251
15180
|
|
|
15252
15181
|
// src/components/cells/status-cell.tsx
|
|
15253
15182
|
import { Cancel, Error as Error2, GppBad } from "@mui/icons-material";
|
|
15254
|
-
import { Box as
|
|
15183
|
+
import { Box as Box2, Divider, Tooltip as Tooltip2, Typography as Typography2 } from "@mui/material";
|
|
15255
15184
|
|
|
15256
15185
|
// src/types/error-levels.ts
|
|
15257
15186
|
var ErrorLevel = {
|
|
@@ -15356,20 +15285,20 @@ function parseIAMEvent(payloadString) {
|
|
|
15356
15285
|
}
|
|
15357
15286
|
|
|
15358
15287
|
// src/components/cells/status-cell.tsx
|
|
15359
|
-
import { Fragment as
|
|
15288
|
+
import { Fragment as Fragment2, jsx as jsx124, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
15360
15289
|
var StatusIcon = ({ errorLevel, spanStatusCode }) => {
|
|
15361
15290
|
switch (errorLevel) {
|
|
15362
15291
|
case ErrorLevel.ERROR: {
|
|
15363
|
-
return /* @__PURE__ */
|
|
15292
|
+
return /* @__PURE__ */ jsx124(Cancel, { sx: { color: "red" } });
|
|
15364
15293
|
}
|
|
15365
15294
|
case ErrorLevel.IAM_PERMISSION: {
|
|
15366
|
-
return /* @__PURE__ */
|
|
15295
|
+
return /* @__PURE__ */ jsx124(GppBad, { sx: { color: spanStatusCode === 2 ? "red" : "warning.main" } });
|
|
15367
15296
|
}
|
|
15368
15297
|
case ErrorLevel.WARNING: {
|
|
15369
|
-
return /* @__PURE__ */
|
|
15298
|
+
return /* @__PURE__ */ jsx124(Error2, { sx: { color: "orange" } });
|
|
15370
15299
|
}
|
|
15371
15300
|
default: {
|
|
15372
|
-
return /* @__PURE__ */
|
|
15301
|
+
return /* @__PURE__ */ jsx124(Fragment2, {});
|
|
15373
15302
|
}
|
|
15374
15303
|
}
|
|
15375
15304
|
};
|
|
@@ -15401,30 +15330,30 @@ var buildTooltipContent = (span) => {
|
|
|
15401
15330
|
}
|
|
15402
15331
|
const spanStatusLabel = SPAN_STATUS_LABELS[span.status_code] ?? `Unknown (${span.status_code.toString()})`;
|
|
15403
15332
|
const iamDenials = span.events.filter((event) => event.event_type?.toLowerCase().includes("iam") && typeof event.attributes?.payload === "string").map((event) => parseIAMEvent(event.attributes.payload)).filter((parsed) => parsed?.permission === "explicitly_denied" || parsed?.permission === "implicitly_denied").filter(Boolean);
|
|
15404
|
-
return /* @__PURE__ */ jsxs119(
|
|
15333
|
+
return /* @__PURE__ */ jsxs119(Box2, { children: [
|
|
15405
15334
|
/* @__PURE__ */ jsxs119(Typography2, { color: "inherit", display: "block", fontWeight: "bold", variant: "caption", children: [
|
|
15406
15335
|
"Status: ",
|
|
15407
15336
|
spanStatusLabel
|
|
15408
15337
|
] }),
|
|
15409
|
-
messages.map((message, index) => /* @__PURE__ */
|
|
15410
|
-
iamDenials.length > 0 && /* @__PURE__ */ jsxs119(
|
|
15411
|
-
/* @__PURE__ */
|
|
15412
|
-
/* @__PURE__ */
|
|
15413
|
-
iamDenials.map((denial, index) => denial !== void 0 && /* @__PURE__ */
|
|
15338
|
+
messages.map((message, index) => /* @__PURE__ */ jsx124(Typography2, { color: "inherit", display: "block", variant: "caption", children: message }, index)),
|
|
15339
|
+
iamDenials.length > 0 && /* @__PURE__ */ jsxs119(Fragment2, { children: [
|
|
15340
|
+
/* @__PURE__ */ jsx124(Divider, { sx: { borderColor: "rgba(255,255,255,0.2)", my: 0.5 } }),
|
|
15341
|
+
/* @__PURE__ */ jsx124(Typography2, { color: "inherit", display: "block", fontWeight: "bold", variant: "caption", children: "Permissions" }),
|
|
15342
|
+
iamDenials.map((denial, index) => denial !== void 0 && /* @__PURE__ */ jsx124(Typography2, { color: "inherit", display: "block", variant: "caption", children: `${formatPermissionStatus(denial.permission)}: ${denial.service}.${denial.operation}` }, index))
|
|
15414
15343
|
] })
|
|
15415
15344
|
] });
|
|
15416
15345
|
};
|
|
15417
15346
|
var StatusIconWithTooltip = ({ span }) => {
|
|
15418
15347
|
const errorLevel = calculateHighestErrorLevel(span);
|
|
15419
|
-
if (errorLevel !== ErrorLevel.ERROR && errorLevel !== ErrorLevel.IAM_PERMISSION) return /* @__PURE__ */
|
|
15420
|
-
return /* @__PURE__ */
|
|
15348
|
+
if (errorLevel !== ErrorLevel.ERROR && errorLevel !== ErrorLevel.IAM_PERMISSION) return /* @__PURE__ */ jsx124(Fragment2, {});
|
|
15349
|
+
return /* @__PURE__ */ jsx124(Tooltip2, { title: buildTooltipContent(span), children: /* @__PURE__ */ jsx124(Box2, { sx: { alignItems: "center", cursor: "default", display: "flex" }, children: /* @__PURE__ */ jsx124(StatusIcon, { errorLevel, spanStatusCode: span.status_code }) }) });
|
|
15421
15350
|
};
|
|
15422
15351
|
|
|
15423
15352
|
// src/components/spans-list/span-count-badge.tsx
|
|
15424
15353
|
import { InfoOutlined, WarningAmberOutlined } from "@mui/icons-material";
|
|
15425
|
-
import { Box as
|
|
15354
|
+
import { Box as Box3, Button, Divider as Divider2, IconButton, Popover, Skeleton, Tooltip as Tooltip3, Typography as Typography3 } from "@mui/material";
|
|
15426
15355
|
import { useState as useState4 } from "react";
|
|
15427
|
-
import { Fragment as
|
|
15356
|
+
import { Fragment as Fragment3, jsx as jsx125, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
15428
15357
|
var resolveBindingLimit = (systemLimit, licenseLimit) => {
|
|
15429
15358
|
const numericLimits = [systemLimit, licenseLimit].filter((l2) => typeof l2 === "number");
|
|
15430
15359
|
if (numericLimits.length > 0) return Math.min(...numericLimits);
|
|
@@ -15437,28 +15366,28 @@ var fmtLimit = (value) => {
|
|
|
15437
15366
|
if (value === "unlimited") return "Unlimited";
|
|
15438
15367
|
return fmt(value);
|
|
15439
15368
|
};
|
|
15440
|
-
var StatRow = ({ label, value }) => /* @__PURE__ */ jsxs120(
|
|
15441
|
-
/* @__PURE__ */
|
|
15442
|
-
/* @__PURE__ */
|
|
15369
|
+
var StatRow = ({ label, value }) => /* @__PURE__ */ jsxs120(Box3, { sx: { alignItems: "baseline", display: "flex", justifyContent: "space-between", minWidth: 220 }, children: [
|
|
15370
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", sx: { mr: 4 }, variant: "caption", children: label }),
|
|
15371
|
+
/* @__PURE__ */ jsx125(Typography3, { fontWeight: 600, variant: "body2", children: fmtLimit(value) })
|
|
15443
15372
|
] });
|
|
15444
15373
|
var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) => {
|
|
15445
15374
|
const [anchorElement, setAnchorElement] = useState4();
|
|
15446
15375
|
const bindingLimit = resolveBindingLimit(systemLimit, licenseLimit);
|
|
15447
15376
|
if (totalCount === void 0 && bindingLimit === void 0) {
|
|
15448
|
-
return /* @__PURE__ */
|
|
15377
|
+
return /* @__PURE__ */ jsx125(Fragment3, {});
|
|
15449
15378
|
}
|
|
15450
15379
|
if (visibleCount !== void 0) totalCount = Math.max(totalCount ?? 0, visibleCount);
|
|
15451
15380
|
const isLoading = totalCount === void 0;
|
|
15452
15381
|
const isOpen = anchorElement !== void 0;
|
|
15453
15382
|
const systemLimitReached = typeof systemLimit === "number" && totalCount !== void 0 && totalCount >= systemLimit;
|
|
15454
15383
|
const licenseLimitReached = typeof licenseLimit === "number" && totalCount !== void 0 && totalCount >= licenseLimit;
|
|
15455
|
-
return /* @__PURE__ */ jsxs120(
|
|
15456
|
-
isLoading ? /* @__PURE__ */
|
|
15457
|
-
/* @__PURE__ */
|
|
15458
|
-
/* @__PURE__ */
|
|
15459
|
-
/* @__PURE__ */
|
|
15384
|
+
return /* @__PURE__ */ jsxs120(Box3, { sx: { alignItems: "center", display: "flex", gap: 0.25 }, children: [
|
|
15385
|
+
isLoading ? /* @__PURE__ */ jsx125(Skeleton, { sx: { minWidth: 120 } }) : /* @__PURE__ */ jsxs120(Box3, { sx: { alignItems: "baseline", display: "flex", gap: 0.5 }, children: [
|
|
15386
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", variant: "caption", children: "Showing" }),
|
|
15387
|
+
/* @__PURE__ */ jsx125(Typography3, { variant: "body2", children: visibleCount === void 0 ? "\u2014" : fmt(visibleCount) }),
|
|
15388
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", variant: "caption", children: `of ${totalCount === void 0 ? "-" : fmt(totalCount)} operations` })
|
|
15460
15389
|
] }),
|
|
15461
|
-
/* @__PURE__ */
|
|
15390
|
+
/* @__PURE__ */ jsx125(Tooltip3, { title: "Operation count details", children: /* @__PURE__ */ jsx125(
|
|
15462
15391
|
IconButton,
|
|
15463
15392
|
{
|
|
15464
15393
|
"aria-describedby": isOpen ? "operation-count-popover" : void 0,
|
|
@@ -15467,10 +15396,10 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
15467
15396
|
},
|
|
15468
15397
|
size: "small",
|
|
15469
15398
|
sx: { color: systemLimitReached || licenseLimitReached ? "warning.main" : "text.disabled" },
|
|
15470
|
-
children: systemLimitReached || licenseLimitReached ? /* @__PURE__ */
|
|
15399
|
+
children: systemLimitReached || licenseLimitReached ? /* @__PURE__ */ jsx125(WarningAmberOutlined, { sx: { fontSize: 14 } }) : /* @__PURE__ */ jsx125(InfoOutlined, { sx: { fontSize: 14 } })
|
|
15471
15400
|
}
|
|
15472
15401
|
) }),
|
|
15473
|
-
/* @__PURE__ */
|
|
15402
|
+
/* @__PURE__ */ jsx125(
|
|
15474
15403
|
Popover,
|
|
15475
15404
|
{
|
|
15476
15405
|
anchorEl: anchorElement,
|
|
@@ -15481,54 +15410,54 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
15481
15410
|
},
|
|
15482
15411
|
open: isOpen,
|
|
15483
15412
|
transformOrigin: { horizontal: "right", vertical: "top" },
|
|
15484
|
-
children: /* @__PURE__ */ jsxs120(
|
|
15485
|
-
/* @__PURE__ */
|
|
15486
|
-
/* @__PURE__ */
|
|
15487
|
-
/* @__PURE__ */ jsxs120(
|
|
15488
|
-
/* @__PURE__ */
|
|
15413
|
+
children: /* @__PURE__ */ jsxs120(Box3, { sx: { minWidth: 240, p: 2 }, children: [
|
|
15414
|
+
/* @__PURE__ */ jsx125(Typography3, { fontWeight: 700, variant: "body2", children: "Storage" }),
|
|
15415
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", sx: { mt: 0.25 }, variant: "caption", children: "How many operations are currently stored." }),
|
|
15416
|
+
/* @__PURE__ */ jsxs120(Box3, { sx: { display: "flex", flexDirection: "column", gap: 0.75, mt: 1.5 }, children: [
|
|
15417
|
+
/* @__PURE__ */ jsx125(
|
|
15489
15418
|
StatRow,
|
|
15490
15419
|
{
|
|
15491
|
-
label: /* @__PURE__ */
|
|
15420
|
+
label: /* @__PURE__ */ jsx125(Tooltip3, { placement: "left", title: "The number of operations currently loaded in the UI.", children: /* @__PURE__ */ jsx125(Box3, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "Currently visible" }) }),
|
|
15492
15421
|
value: visibleCount
|
|
15493
15422
|
}
|
|
15494
15423
|
),
|
|
15495
|
-
/* @__PURE__ */
|
|
15424
|
+
/* @__PURE__ */ jsx125(
|
|
15496
15425
|
StatRow,
|
|
15497
15426
|
{
|
|
15498
|
-
label: /* @__PURE__ */
|
|
15427
|
+
label: /* @__PURE__ */ jsx125(Tooltip3, { placement: "left", title: "The total number of operations stored on the server.", children: /* @__PURE__ */ jsx125(Box3, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "Total stored" }) }),
|
|
15499
15428
|
value: totalCount
|
|
15500
15429
|
}
|
|
15501
15430
|
)
|
|
15502
15431
|
] }),
|
|
15503
|
-
(systemLimitReached || licenseLimit !== void 0 && licenseLimit !== "unlimited") && /* @__PURE__ */ jsxs120(
|
|
15504
|
-
/* @__PURE__ */
|
|
15505
|
-
/* @__PURE__ */
|
|
15506
|
-
/* @__PURE__ */
|
|
15507
|
-
/* @__PURE__ */ jsxs120(
|
|
15508
|
-
licenseLimit !== void 0 && licenseLimit !== "unlimited" && /* @__PURE__ */
|
|
15432
|
+
(systemLimitReached || licenseLimit !== void 0 && licenseLimit !== "unlimited") && /* @__PURE__ */ jsxs120(Fragment3, { children: [
|
|
15433
|
+
/* @__PURE__ */ jsx125(Divider2, { sx: { my: 1.5 } }),
|
|
15434
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", fontWeight: 600, variant: "caption", children: "Limits" }),
|
|
15435
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "text.secondary", sx: { display: "block", mb: 1.5, mt: 0.25 }, variant: "caption", children: "Limits restrict the total number of operations that can be stored." }),
|
|
15436
|
+
/* @__PURE__ */ jsxs120(Box3, { sx: { display: "flex", flexDirection: "column", gap: 0.75 }, children: [
|
|
15437
|
+
licenseLimit !== void 0 && licenseLimit !== "unlimited" && /* @__PURE__ */ jsx125(
|
|
15509
15438
|
StatRow,
|
|
15510
15439
|
{
|
|
15511
|
-
label: /* @__PURE__ */
|
|
15440
|
+
label: /* @__PURE__ */ jsx125(Tooltip3, { placement: "left", title: "The maximum number of operations allowed by your current license.", children: /* @__PURE__ */ jsx125(Box3, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "License limit" }) }),
|
|
15512
15441
|
value: licenseLimit
|
|
15513
15442
|
}
|
|
15514
15443
|
),
|
|
15515
|
-
systemLimitReached && /* @__PURE__ */
|
|
15444
|
+
systemLimitReached && /* @__PURE__ */ jsx125(
|
|
15516
15445
|
StatRow,
|
|
15517
15446
|
{
|
|
15518
|
-
label: /* @__PURE__ */
|
|
15447
|
+
label: /* @__PURE__ */ jsx125(Tooltip3, { placement: "left", title: "The maximum number of operations that can be stored in the system.", children: /* @__PURE__ */ jsx125(Box3, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "System limit" }) }),
|
|
15519
15448
|
value: systemLimit
|
|
15520
15449
|
}
|
|
15521
15450
|
)
|
|
15522
15451
|
] })
|
|
15523
15452
|
] }),
|
|
15524
|
-
(systemLimitReached || licenseLimitReached) && /* @__PURE__ */ jsxs120(
|
|
15525
|
-
licenseLimitReached && /* @__PURE__ */ jsxs120(
|
|
15526
|
-
/* @__PURE__ */ jsxs120(
|
|
15527
|
-
/* @__PURE__ */
|
|
15528
|
-
/* @__PURE__ */
|
|
15453
|
+
(systemLimitReached || licenseLimitReached) && /* @__PURE__ */ jsxs120(Box3, { sx: { display: "flex", flexDirection: "column", gap: 1, mt: 1.5 }, children: [
|
|
15454
|
+
licenseLimitReached && /* @__PURE__ */ jsxs120(Box3, { sx: { backgroundColor: "warning.main", borderRadius: 1, p: 1.5 }, children: [
|
|
15455
|
+
/* @__PURE__ */ jsxs120(Box3, { sx: { alignItems: "flex-start", display: "flex", gap: 0.75, mb: 0.75 }, children: [
|
|
15456
|
+
/* @__PURE__ */ jsx125(WarningAmberOutlined, { sx: { color: "warning.contrastText", fontSize: 14, mt: "1px" } }),
|
|
15457
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "warning.contrastText", fontWeight: 600, variant: "caption", children: "License limit reached" })
|
|
15529
15458
|
] }),
|
|
15530
|
-
/* @__PURE__ */
|
|
15531
|
-
/* @__PURE__ */
|
|
15459
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "warning.contrastText", sx: { display: "block", mb: 1 }, variant: "caption", children: "Newer operations are being dropped. Upgrade your license to increase the retention limit." }),
|
|
15460
|
+
/* @__PURE__ */ jsx125(
|
|
15532
15461
|
Button,
|
|
15533
15462
|
{
|
|
15534
15463
|
color: "inherit",
|
|
@@ -15541,9 +15470,9 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
15541
15470
|
}
|
|
15542
15471
|
)
|
|
15543
15472
|
] }),
|
|
15544
|
-
systemLimitReached && !licenseLimitReached && /* @__PURE__ */ jsxs120(
|
|
15545
|
-
/* @__PURE__ */
|
|
15546
|
-
/* @__PURE__ */
|
|
15473
|
+
systemLimitReached && !licenseLimitReached && /* @__PURE__ */ jsxs120(Box3, { sx: { alignItems: "flex-start", display: "flex", gap: 0.75 }, children: [
|
|
15474
|
+
/* @__PURE__ */ jsx125(WarningAmberOutlined, { color: "warning", sx: { fontSize: 14, mt: "1px" } }),
|
|
15475
|
+
/* @__PURE__ */ jsx125(Typography3, { color: "warning.main", variant: "caption", children: "System limit reached \u2014 newer operations are being dropped." })
|
|
15547
15476
|
] })
|
|
15548
15477
|
] })
|
|
15549
15478
|
] })
|
|
@@ -15553,7 +15482,7 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
15553
15482
|
};
|
|
15554
15483
|
|
|
15555
15484
|
// src/components/spans-list/spans-data-grid.tsx
|
|
15556
|
-
import { Fragment as
|
|
15485
|
+
import { Fragment as Fragment4, jsx as jsx126, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
15557
15486
|
var columnHelper = createColumnHelper();
|
|
15558
15487
|
var newSpanBackgroundColor = {
|
|
15559
15488
|
dark: { from: "rgba(136, 123, 2, 1)", to: "rgba(136, 123, 2, 0)" },
|
|
@@ -15563,12 +15492,12 @@ var LABEL_BEGINNING_OF_STREAM = "This is the beginning of the stream";
|
|
|
15563
15492
|
var LABEL_END_OF_STREAM = "This is the end of the stream";
|
|
15564
15493
|
var LABEL_NO_SPANS = "There are no operations";
|
|
15565
15494
|
var STICK_TO_EDGE_THRESHOLD_PX = 4;
|
|
15566
|
-
var StreamBoundaryRow = ({ colSpan, label }) => /* @__PURE__ */
|
|
15567
|
-
var LoadingRow = ({ colSpan }) => /* @__PURE__ */
|
|
15568
|
-
var SpansDataGridRow =
|
|
15495
|
+
var StreamBoundaryRow = ({ colSpan, label }) => /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan, sx: { fontStyle: "italic", textAlign: "center" }, children: /* @__PURE__ */ jsx126("span", { children: label }) }) });
|
|
15496
|
+
var LoadingRow = ({ colSpan }) => /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan, sx: { textAlign: "center" }, children: /* @__PURE__ */ jsx126(CircularProgress, { size: 24, sx: { m: 2 } }) }) });
|
|
15497
|
+
var SpansDataGridRow = memo8(
|
|
15569
15498
|
({ isNew, onSpanClick, row }) => {
|
|
15570
15499
|
const theme = useTheme2();
|
|
15571
|
-
return /* @__PURE__ */
|
|
15500
|
+
return /* @__PURE__ */ jsx126(
|
|
15572
15501
|
TableRow,
|
|
15573
15502
|
{
|
|
15574
15503
|
animate: {
|
|
@@ -15587,16 +15516,16 @@ var SpansDataGridRow = memo9(
|
|
|
15587
15516
|
transition: "background-color 1200ms ease-in"
|
|
15588
15517
|
},
|
|
15589
15518
|
children: row.getVisibleCells().map((cell) => {
|
|
15590
|
-
return /* @__PURE__ */
|
|
15519
|
+
return /* @__PURE__ */ jsx126(
|
|
15591
15520
|
TableCell,
|
|
15592
15521
|
{
|
|
15593
15522
|
sx: {
|
|
15594
|
-
height:
|
|
15523
|
+
height: 48,
|
|
15595
15524
|
maxWidth: `${cell.column.getSize().toString()}px`,
|
|
15596
15525
|
minWidth: `${cell.column.getSize().toString()}px`
|
|
15597
15526
|
},
|
|
15598
|
-
children: /* @__PURE__ */
|
|
15599
|
-
|
|
15527
|
+
children: /* @__PURE__ */ jsx126(
|
|
15528
|
+
Box4,
|
|
15600
15529
|
{
|
|
15601
15530
|
sx: {
|
|
15602
15531
|
"alignItems": "center",
|
|
@@ -15608,7 +15537,7 @@ var SpansDataGridRow = memo9(
|
|
|
15608
15537
|
},
|
|
15609
15538
|
"width": "100%"
|
|
15610
15539
|
},
|
|
15611
|
-
children: /* @__PURE__ */
|
|
15540
|
+
children: /* @__PURE__ */ jsx126(Box4, { sx: { px: 1, width: "100%" }, children: flexRender(cell.column.columnDef.cell, cell.getContext()) })
|
|
15612
15541
|
}
|
|
15613
15542
|
)
|
|
15614
15543
|
},
|
|
@@ -15641,8 +15570,8 @@ var SpansDataGrid = ({
|
|
|
15641
15570
|
}) => {
|
|
15642
15571
|
const columns = useMemo4(() => [
|
|
15643
15572
|
columnHelper.accessor("startTime", {
|
|
15644
|
-
cell: (props) => /* @__PURE__ */
|
|
15645
|
-
header: () => /* @__PURE__ */
|
|
15573
|
+
cell: (props) => /* @__PURE__ */ jsx126(ResponsiveTimestampCell, { date: props.getValue() }),
|
|
15574
|
+
header: () => /* @__PURE__ */ jsx126(
|
|
15646
15575
|
TableSortLabel,
|
|
15647
15576
|
{
|
|
15648
15577
|
active: true,
|
|
@@ -15659,23 +15588,23 @@ var SpansDataGrid = ({
|
|
|
15659
15588
|
columnHelper.display({
|
|
15660
15589
|
cell: (props) => {
|
|
15661
15590
|
if (!props.row.original.parent_service_name || !props.row.original.parent_resource_name) {
|
|
15662
|
-
return /* @__PURE__ */
|
|
15591
|
+
return /* @__PURE__ */ jsx126(Typography4, { sx: { fontStyle: "italic" }, variant: "body2", children: "External producer" });
|
|
15663
15592
|
}
|
|
15664
|
-
return /* @__PURE__ */
|
|
15593
|
+
return /* @__PURE__ */ jsx126(ServiceCell, { resource: props.row.original.parent_resource_name, service: props.row.original.parent_service_name });
|
|
15665
15594
|
},
|
|
15666
15595
|
header: "Producer",
|
|
15667
15596
|
id: "producer",
|
|
15668
15597
|
size: 180
|
|
15669
15598
|
}),
|
|
15670
15599
|
columnHelper.accessor("operation_name", {
|
|
15671
|
-
cell: (props) => /* @__PURE__ */
|
|
15672
|
-
|
|
15600
|
+
cell: (props) => /* @__PURE__ */ jsx126(
|
|
15601
|
+
Box4,
|
|
15673
15602
|
{
|
|
15674
15603
|
sx: {
|
|
15675
15604
|
overflow: "hidden",
|
|
15676
15605
|
textOverflow: "ellipsis"
|
|
15677
15606
|
},
|
|
15678
|
-
children: /* @__PURE__ */
|
|
15607
|
+
children: /* @__PURE__ */ jsx126("span", { title: props.getValue(), children: props.getValue() })
|
|
15679
15608
|
}
|
|
15680
15609
|
),
|
|
15681
15610
|
header: "Action",
|
|
@@ -15684,7 +15613,7 @@ var SpansDataGrid = ({
|
|
|
15684
15613
|
}),
|
|
15685
15614
|
columnHelper.display({
|
|
15686
15615
|
cell: (props) => {
|
|
15687
|
-
return /* @__PURE__ */
|
|
15616
|
+
return /* @__PURE__ */ jsx126(ServiceCell, { resource: props.row.original.resource_name, service: props.row.original.service_name });
|
|
15688
15617
|
},
|
|
15689
15618
|
header: "Consumer",
|
|
15690
15619
|
id: "consumer",
|
|
@@ -15692,9 +15621,9 @@ var SpansDataGrid = ({
|
|
|
15692
15621
|
}),
|
|
15693
15622
|
columnHelper.display({
|
|
15694
15623
|
cell: (props) => {
|
|
15695
|
-
return /* @__PURE__ */ jsxs121(
|
|
15696
|
-
/* @__PURE__ */
|
|
15697
|
-
/* @__PURE__ */
|
|
15624
|
+
return /* @__PURE__ */ jsxs121(Box4, { sx: { alignItems: "center", display: "flex", gap: 0.5, justifyContent: "flex-end" }, children: [
|
|
15625
|
+
/* @__PURE__ */ jsx126(StatusIconWithTooltip, { span: props.row.original }),
|
|
15626
|
+
/* @__PURE__ */ jsx126(
|
|
15698
15627
|
Button2,
|
|
15699
15628
|
{
|
|
15700
15629
|
"data-testid": VIEW_SPAN_DETAILS_TEST_ID,
|
|
@@ -15770,47 +15699,47 @@ var SpansDataGrid = ({
|
|
|
15770
15699
|
if (!element || !isAtLiveEdgeRef.current) return;
|
|
15771
15700
|
element.scrollTop = element.scrollHeight;
|
|
15772
15701
|
}, [order2, spans?.length, lastSpanId]);
|
|
15773
|
-
return /* @__PURE__ */ jsxs121(
|
|
15774
|
-
/* @__PURE__ */
|
|
15775
|
-
/* @__PURE__ */
|
|
15776
|
-
errorCount !== void 0 && errorCount > 0 && /* @__PURE__ */ jsxs121(
|
|
15777
|
-
/* @__PURE__ */
|
|
15778
|
-
/* @__PURE__ */
|
|
15779
|
-
|
|
15702
|
+
return /* @__PURE__ */ jsxs121(Fragment4, { children: [
|
|
15703
|
+
/* @__PURE__ */ jsx126(Grid, { item: true, xs: 12, children: /* @__PURE__ */ jsxs121(Box4, { sx: { alignItems: "center", display: "flex", gap: "0.5rem" }, children: [
|
|
15704
|
+
/* @__PURE__ */ jsx126(SpanCountBadge, { licenseLimit, systemLimit, totalCount, visibleCount: spans?.length }),
|
|
15705
|
+
errorCount !== void 0 && errorCount > 0 && /* @__PURE__ */ jsxs121(Fragment4, { children: [
|
|
15706
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
|
|
15707
|
+
/* @__PURE__ */ jsx126(Tooltip4, { title: "Number of errors detected across all operations", children: /* @__PURE__ */ jsxs121(
|
|
15708
|
+
Box4,
|
|
15780
15709
|
{
|
|
15781
15710
|
"data-testid": ERROR_COUNT_TEST_ID,
|
|
15782
15711
|
sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "error.main", cursor: "help", display: "flex", gap: 0.5, mb: "-1px" },
|
|
15783
15712
|
children: [
|
|
15784
|
-
/* @__PURE__ */
|
|
15785
|
-
/* @__PURE__ */
|
|
15713
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "error", variant: "body2", children: errorCount.toLocaleString() }),
|
|
15714
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "error", variant: "caption", children: errorCount === 1 ? "error" : "errors" })
|
|
15786
15715
|
]
|
|
15787
15716
|
}
|
|
15788
15717
|
) })
|
|
15789
15718
|
] }),
|
|
15790
|
-
warningCount !== void 0 && warningCount > 0 && /* @__PURE__ */ jsxs121(
|
|
15791
|
-
/* @__PURE__ */
|
|
15792
|
-
/* @__PURE__ */
|
|
15793
|
-
|
|
15719
|
+
warningCount !== void 0 && warningCount > 0 && /* @__PURE__ */ jsxs121(Fragment4, { children: [
|
|
15720
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
|
|
15721
|
+
/* @__PURE__ */ jsx126(Tooltip4, { title: "Number of warnings detected across all operations", children: /* @__PURE__ */ jsxs121(
|
|
15722
|
+
Box4,
|
|
15794
15723
|
{
|
|
15795
15724
|
"data-testid": WARNING_COUNT_TEST_ID,
|
|
15796
15725
|
sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "warning.main", cursor: "help", display: "flex", gap: 0.5, mb: "-1px" },
|
|
15797
15726
|
children: [
|
|
15798
|
-
/* @__PURE__ */
|
|
15799
|
-
/* @__PURE__ */
|
|
15727
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "warning.main", variant: "body2", children: warningCount.toLocaleString() }),
|
|
15728
|
+
/* @__PURE__ */ jsx126(Typography4, { color: "warning.main", variant: "caption", children: warningCount === 1 ? "warning" : "warnings" })
|
|
15800
15729
|
]
|
|
15801
15730
|
}
|
|
15802
15731
|
) })
|
|
15803
15732
|
] }),
|
|
15804
|
-
/* @__PURE__ */
|
|
15805
|
-
/* @__PURE__ */
|
|
15733
|
+
/* @__PURE__ */ jsx126(Box4, { sx: { flexGrow: 1 } }),
|
|
15734
|
+
/* @__PURE__ */ jsx126(
|
|
15806
15735
|
FormControlLabel,
|
|
15807
15736
|
{
|
|
15808
|
-
control: /* @__PURE__ */
|
|
15737
|
+
control: /* @__PURE__ */ jsx126(
|
|
15809
15738
|
Button2,
|
|
15810
15739
|
{
|
|
15811
15740
|
"data-testid": CLEAR_SPANS_TEST_ID,
|
|
15812
15741
|
onClick: onClearSpans,
|
|
15813
|
-
startIcon: /* @__PURE__ */
|
|
15742
|
+
startIcon: /* @__PURE__ */ jsx126(DeleteForeverOutlined, {}),
|
|
15814
15743
|
children: "Clear Operations"
|
|
15815
15744
|
}
|
|
15816
15745
|
),
|
|
@@ -15820,7 +15749,7 @@ var SpansDataGrid = ({
|
|
|
15820
15749
|
}
|
|
15821
15750
|
)
|
|
15822
15751
|
] }) }),
|
|
15823
|
-
/* @__PURE__ */
|
|
15752
|
+
/* @__PURE__ */ jsx126(Paper, { sx: { flexGrow: 1, overflow: "hidden", position: "relative", width: "100%" }, children: /* @__PURE__ */ jsx126(
|
|
15824
15753
|
TableContainer,
|
|
15825
15754
|
{
|
|
15826
15755
|
onScroll: handleScroll,
|
|
@@ -15845,8 +15774,8 @@ var SpansDataGrid = ({
|
|
|
15845
15774
|
"th+th": { pl: "8px !important" }
|
|
15846
15775
|
},
|
|
15847
15776
|
children: [
|
|
15848
|
-
/* @__PURE__ */
|
|
15849
|
-
return /* @__PURE__ */
|
|
15777
|
+
/* @__PURE__ */ jsx126(TableHead, { children: table.getHeaderGroups().map((headerGroup) => {
|
|
15778
|
+
return /* @__PURE__ */ jsx126(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx126(
|
|
15850
15779
|
TableCell,
|
|
15851
15780
|
{
|
|
15852
15781
|
colSpan: header.colSpan,
|
|
@@ -15862,33 +15791,33 @@ var SpansDataGrid = ({
|
|
|
15862
15791
|
)) }, headerGroup.id);
|
|
15863
15792
|
}) }),
|
|
15864
15793
|
/* @__PURE__ */ jsxs121(TableBody, { children: [
|
|
15865
|
-
(spans === void 0 || clearingSpans) && /* @__PURE__ */
|
|
15866
|
-
!clearingSpans && spans?.length === 0 && /* @__PURE__ */
|
|
15867
|
-
!clearingSpans && order2 === "newest_first" && /* @__PURE__ */ jsxs121(
|
|
15868
|
-
hasRows && hasMoreForward && fetchingForward && /* @__PURE__ */
|
|
15869
|
-
hasRows && !hasMoreForward && /* @__PURE__ */
|
|
15870
|
-
hasRows && paddingTop > 0 && /* @__PURE__ */
|
|
15794
|
+
(spans === void 0 || clearingSpans) && /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan: columnCount, sx: { fontStyle: "italic", textAlign: "center" }, children: /* @__PURE__ */ jsx126(CircularProgress, { size: 48, sx: { m: 4 } }) }) }),
|
|
15795
|
+
!clearingSpans && spans?.length === 0 && /* @__PURE__ */ jsx126(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_NO_SPANS }),
|
|
15796
|
+
!clearingSpans && order2 === "newest_first" && /* @__PURE__ */ jsxs121(Fragment4, { children: [
|
|
15797
|
+
hasRows && hasMoreForward && fetchingForward && /* @__PURE__ */ jsx126(LoadingRow, { colSpan: columnCount }),
|
|
15798
|
+
hasRows && !hasMoreForward && /* @__PURE__ */ jsx126(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_END_OF_STREAM }),
|
|
15799
|
+
hasRows && paddingTop > 0 && /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan: columnCount, sx: { border: 0, height: paddingTop, p: 0 } }) }),
|
|
15871
15800
|
hasRows && virtualItems.map((virtualItem) => {
|
|
15872
15801
|
const row = displayRows[virtualItem.index];
|
|
15873
15802
|
const isNew = !(seenSpanIdsRef.current?.has(row.original.span_id) ?? false);
|
|
15874
|
-
return /* @__PURE__ */
|
|
15803
|
+
return /* @__PURE__ */ jsx126(SpansDataGridRow, { isNew, onSpanClick, row }, row.original.span_id);
|
|
15875
15804
|
}),
|
|
15876
|
-
hasRows && paddingBottom > 0 && /* @__PURE__ */
|
|
15877
|
-
hasRows && hasMoreBackward && fetchingBackward && /* @__PURE__ */
|
|
15878
|
-
hasRows && !hasMoreBackward && /* @__PURE__ */
|
|
15805
|
+
hasRows && paddingBottom > 0 && /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan: columnCount, sx: { border: 0, height: paddingBottom, p: 0 } }) }),
|
|
15806
|
+
hasRows && hasMoreBackward && fetchingBackward && /* @__PURE__ */ jsx126(LoadingRow, { colSpan: columnCount }),
|
|
15807
|
+
hasRows && !hasMoreBackward && /* @__PURE__ */ jsx126(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_BEGINNING_OF_STREAM })
|
|
15879
15808
|
] }),
|
|
15880
|
-
!clearingSpans && order2 === "oldest_first" && /* @__PURE__ */ jsxs121(
|
|
15881
|
-
hasRows && !hasMoreBackward && /* @__PURE__ */
|
|
15882
|
-
hasRows && hasMoreBackward && fetchingBackward && /* @__PURE__ */
|
|
15883
|
-
hasRows && paddingTop > 0 && /* @__PURE__ */
|
|
15809
|
+
!clearingSpans && order2 === "oldest_first" && /* @__PURE__ */ jsxs121(Fragment4, { children: [
|
|
15810
|
+
hasRows && !hasMoreBackward && /* @__PURE__ */ jsx126(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_BEGINNING_OF_STREAM }),
|
|
15811
|
+
hasRows && hasMoreBackward && fetchingBackward && /* @__PURE__ */ jsx126(LoadingRow, { colSpan: columnCount }),
|
|
15812
|
+
hasRows && paddingTop > 0 && /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan: columnCount, sx: { border: 0, height: paddingTop, p: 0 } }) }),
|
|
15884
15813
|
hasRows && virtualItems.map((virtualItem) => {
|
|
15885
15814
|
const row = displayRows[virtualItem.index];
|
|
15886
15815
|
const isNew = !(seenSpanIdsRef.current?.has(row.original.span_id) ?? false);
|
|
15887
|
-
return /* @__PURE__ */
|
|
15816
|
+
return /* @__PURE__ */ jsx126(SpansDataGridRow, { isNew, onSpanClick, row }, row.original.span_id);
|
|
15888
15817
|
}),
|
|
15889
|
-
hasRows && paddingBottom > 0 && /* @__PURE__ */
|
|
15890
|
-
hasRows && hasMoreForward && fetchingForward && /* @__PURE__ */
|
|
15891
|
-
hasRows && !hasMoreForward && /* @__PURE__ */
|
|
15818
|
+
hasRows && paddingBottom > 0 && /* @__PURE__ */ jsx126(TableRow, { children: /* @__PURE__ */ jsx126(TableCell, { colSpan: columnCount, sx: { border: 0, height: paddingBottom, p: 0 } }) }),
|
|
15819
|
+
hasRows && hasMoreForward && fetchingForward && /* @__PURE__ */ jsx126(LoadingRow, { colSpan: columnCount }),
|
|
15820
|
+
hasRows && !hasMoreForward && /* @__PURE__ */ jsx126(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_END_OF_STREAM })
|
|
15892
15821
|
] })
|
|
15893
15822
|
] })
|
|
15894
15823
|
]
|
|
@@ -15900,13 +15829,13 @@ var SpansDataGrid = ({
|
|
|
15900
15829
|
};
|
|
15901
15830
|
|
|
15902
15831
|
// src/components/spans-list/spans-list.tsx
|
|
15903
|
-
import { jsx as
|
|
15832
|
+
import { jsx as jsx127, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
15904
15833
|
var SpansList = (props) => {
|
|
15905
|
-
return /* @__PURE__ */ jsxs122(
|
|
15834
|
+
return /* @__PURE__ */ jsxs122(Box5, { "data-testid": SPANS_DATA_GRID_TEST_ID, sx: { display: "flex", flexDirection: "column", flexGrow: 1, gap: 2, width: "100%" }, children: [
|
|
15906
15835
|
props.fetchError && /* @__PURE__ */ jsxs122(
|
|
15907
15836
|
Alert2,
|
|
15908
15837
|
{
|
|
15909
|
-
action: /* @__PURE__ */
|
|
15838
|
+
action: /* @__PURE__ */ jsx127(Button3, { onClick: props.onFetchForward, children: "Retry" }),
|
|
15910
15839
|
severity: "error",
|
|
15911
15840
|
children: [
|
|
15912
15841
|
"Unexpected error:",
|
|
@@ -15915,7 +15844,7 @@ var SpansList = (props) => {
|
|
|
15915
15844
|
]
|
|
15916
15845
|
}
|
|
15917
15846
|
),
|
|
15918
|
-
/* @__PURE__ */
|
|
15847
|
+
/* @__PURE__ */ jsx127(
|
|
15919
15848
|
SpansDataGrid,
|
|
15920
15849
|
{
|
|
15921
15850
|
clearingSpans: props.clearingSpans,
|
|
@@ -15940,9 +15869,9 @@ var SpansList = (props) => {
|
|
|
15940
15869
|
|
|
15941
15870
|
// src/components/status-message/status-message.tsx
|
|
15942
15871
|
import { ErrorOutline, InfoOutlined as InfoOutlined2 } from "@mui/icons-material";
|
|
15943
|
-
import { Alert as Alert3, AlertTitle, Box as
|
|
15872
|
+
import { Alert as Alert3, AlertTitle, Box as Box6, Button as Button4, CircularProgress as CircularProgress2, Link, Typography as Typography5 } from "@mui/material";
|
|
15944
15873
|
import { useState as useState5 } from "react";
|
|
15945
|
-
import { Fragment as
|
|
15874
|
+
import { Fragment as Fragment5, jsx as jsx128, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
15946
15875
|
var StatusMessage = ({
|
|
15947
15876
|
localstackVersion,
|
|
15948
15877
|
onEnable,
|
|
@@ -15964,8 +15893,8 @@ var StatusMessage = ({
|
|
|
15964
15893
|
}
|
|
15965
15894
|
};
|
|
15966
15895
|
if (phase === "CHECKING_STATUS" || phase === "CONNECTING_WS") {
|
|
15967
|
-
return /* @__PURE__ */
|
|
15968
|
-
|
|
15896
|
+
return /* @__PURE__ */ jsx128(
|
|
15897
|
+
Box6,
|
|
15969
15898
|
{
|
|
15970
15899
|
sx: {
|
|
15971
15900
|
alignItems: "center",
|
|
@@ -15975,13 +15904,13 @@ var StatusMessage = ({
|
|
|
15975
15904
|
justifyContent: "center",
|
|
15976
15905
|
p: 4
|
|
15977
15906
|
},
|
|
15978
|
-
children: /* @__PURE__ */
|
|
15907
|
+
children: /* @__PURE__ */ jsx128(CircularProgress2, { size: 32 })
|
|
15979
15908
|
}
|
|
15980
15909
|
);
|
|
15981
15910
|
}
|
|
15982
15911
|
if (phase === "INCOMPATIBLE") {
|
|
15983
|
-
return /* @__PURE__ */
|
|
15984
|
-
|
|
15912
|
+
return /* @__PURE__ */ jsx128(
|
|
15913
|
+
Box6,
|
|
15985
15914
|
{
|
|
15986
15915
|
sx: {
|
|
15987
15916
|
alignItems: "center",
|
|
@@ -15994,15 +15923,15 @@ var StatusMessage = ({
|
|
|
15994
15923
|
children: /* @__PURE__ */ jsxs123(
|
|
15995
15924
|
Alert3,
|
|
15996
15925
|
{
|
|
15997
|
-
icon: /* @__PURE__ */
|
|
15926
|
+
icon: /* @__PURE__ */ jsx128(ErrorOutline, { fontSize: "large" }),
|
|
15998
15927
|
severity: "error",
|
|
15999
15928
|
sx: { maxWidth: 600, width: "100%" },
|
|
16000
15929
|
children: [
|
|
16001
|
-
/* @__PURE__ */
|
|
16002
|
-
/* @__PURE__ */
|
|
16003
|
-
/* @__PURE__ */
|
|
16004
|
-
/* @__PURE__ */
|
|
16005
|
-
|
|
15930
|
+
/* @__PURE__ */ jsx128(AlertTitle, { sx: { fontWeight: "bold" }, children: "App Inspector Not Available" }),
|
|
15931
|
+
/* @__PURE__ */ jsx128(Typography5, { sx: { mb: 2 }, variant: "body2", children: localstackVersion === void 0 ? `App Inspector requires LocalStack ${MINIMUM_EMULATOR_VERSION} or later. Please update LocalStack.` : `App Inspector requires LocalStack ${MINIMUM_EMULATOR_VERSION} or later. You are running version ${localstackVersion}. Please update LocalStack.` }),
|
|
15932
|
+
/* @__PURE__ */ jsx128(Typography5, { sx: { mb: 1 }, variant: "body2", children: /* @__PURE__ */ jsx128("strong", { children: "Update LocalStack:" }) }),
|
|
15933
|
+
/* @__PURE__ */ jsx128(
|
|
15934
|
+
Box6,
|
|
16006
15935
|
{
|
|
16007
15936
|
component: "pre",
|
|
16008
15937
|
sx: {
|
|
@@ -16014,7 +15943,7 @@ var StatusMessage = ({
|
|
|
16014
15943
|
children: "localstack update docker-images"
|
|
16015
15944
|
}
|
|
16016
15945
|
),
|
|
16017
|
-
onRetry && /* @__PURE__ */
|
|
15946
|
+
onRetry && /* @__PURE__ */ jsx128(Box6, { sx: { display: "flex", gap: 1, mt: 2 }, children: /* @__PURE__ */ jsx128(
|
|
16018
15947
|
Button4,
|
|
16019
15948
|
{
|
|
16020
15949
|
"aria-label": "Check App Inspector status again",
|
|
@@ -16030,8 +15959,8 @@ var StatusMessage = ({
|
|
|
16030
15959
|
);
|
|
16031
15960
|
}
|
|
16032
15961
|
if (phase === "UNREACHABLE") {
|
|
16033
|
-
return /* @__PURE__ */
|
|
16034
|
-
|
|
15962
|
+
return /* @__PURE__ */ jsx128(
|
|
15963
|
+
Box6,
|
|
16035
15964
|
{
|
|
16036
15965
|
sx: {
|
|
16037
15966
|
alignItems: "center",
|
|
@@ -16044,14 +15973,14 @@ var StatusMessage = ({
|
|
|
16044
15973
|
children: /* @__PURE__ */ jsxs123(
|
|
16045
15974
|
Alert3,
|
|
16046
15975
|
{
|
|
16047
|
-
icon: /* @__PURE__ */
|
|
15976
|
+
icon: /* @__PURE__ */ jsx128(ErrorOutline, { fontSize: "large" }),
|
|
16048
15977
|
severity: "error",
|
|
16049
15978
|
sx: { maxWidth: 600, width: "100%" },
|
|
16050
15979
|
children: [
|
|
16051
|
-
/* @__PURE__ */
|
|
15980
|
+
/* @__PURE__ */ jsx128(AlertTitle, { sx: { fontWeight: "bold" }, children: "Connection Error" }),
|
|
16052
15981
|
/* @__PURE__ */ jsxs123(Typography5, { sx: { mb: 2 }, variant: "body2", children: [
|
|
16053
15982
|
"Failed to connect to LocalStack. Ensure ",
|
|
16054
|
-
/* @__PURE__ */
|
|
15983
|
+
/* @__PURE__ */ jsx128(
|
|
16055
15984
|
Link,
|
|
16056
15985
|
{
|
|
16057
15986
|
href: "https://docs.localstack.cloud/aws/getting-started/installation/",
|
|
@@ -16062,9 +15991,9 @@ var StatusMessage = ({
|
|
|
16062
15991
|
),
|
|
16063
15992
|
" is running and accessible."
|
|
16064
15993
|
] }),
|
|
16065
|
-
/* @__PURE__ */
|
|
16066
|
-
/* @__PURE__ */
|
|
16067
|
-
|
|
15994
|
+
/* @__PURE__ */ jsx128(Typography5, { sx: { mb: 1 }, variant: "body2", children: /* @__PURE__ */ jsx128("strong", { children: "Start LocalStack:" }) }),
|
|
15995
|
+
/* @__PURE__ */ jsx128(
|
|
15996
|
+
Box6,
|
|
16068
15997
|
{
|
|
16069
15998
|
component: "pre",
|
|
16070
15999
|
sx: {
|
|
@@ -16076,7 +16005,7 @@ var StatusMessage = ({
|
|
|
16076
16005
|
children: "localstack start"
|
|
16077
16006
|
}
|
|
16078
16007
|
),
|
|
16079
|
-
onRetry && /* @__PURE__ */
|
|
16008
|
+
onRetry && /* @__PURE__ */ jsx128(Box6, { sx: { display: "flex", justifyContent: "flex-start", mt: 2 }, children: /* @__PURE__ */ jsx128(
|
|
16080
16009
|
Button4,
|
|
16081
16010
|
{
|
|
16082
16011
|
"aria-label": "Retry connection to LocalStack",
|
|
@@ -16092,8 +16021,8 @@ var StatusMessage = ({
|
|
|
16092
16021
|
);
|
|
16093
16022
|
}
|
|
16094
16023
|
if (phase === "DISABLED") {
|
|
16095
|
-
return /* @__PURE__ */
|
|
16096
|
-
|
|
16024
|
+
return /* @__PURE__ */ jsx128(
|
|
16025
|
+
Box6,
|
|
16097
16026
|
{
|
|
16098
16027
|
sx: {
|
|
16099
16028
|
alignItems: "center",
|
|
@@ -16106,13 +16035,13 @@ var StatusMessage = ({
|
|
|
16106
16035
|
children: /* @__PURE__ */ jsxs123(
|
|
16107
16036
|
Alert3,
|
|
16108
16037
|
{
|
|
16109
|
-
icon: /* @__PURE__ */
|
|
16038
|
+
icon: /* @__PURE__ */ jsx128(InfoOutlined2, { fontSize: "large" }),
|
|
16110
16039
|
severity: "warning",
|
|
16111
16040
|
sx: { maxWidth: 600, width: "100%" },
|
|
16112
16041
|
children: [
|
|
16113
|
-
/* @__PURE__ */
|
|
16114
|
-
/* @__PURE__ */
|
|
16115
|
-
/* @__PURE__ */
|
|
16042
|
+
/* @__PURE__ */ jsx128(AlertTitle, { sx: { fontWeight: "bold" }, children: "App Inspector Is Not Enabled" }),
|
|
16043
|
+
/* @__PURE__ */ jsx128(Typography5, { sx: { mb: 2 }, variant: "body2", children: "App Inspector is not currently enabled in LocalStack. You can enable it now, or at startup." }),
|
|
16044
|
+
/* @__PURE__ */ jsx128(Box6, { sx: { display: "flex", gap: 1, mb: 2 }, children: onEnable && /* @__PURE__ */ jsx128(
|
|
16116
16045
|
Button4,
|
|
16117
16046
|
{
|
|
16118
16047
|
"aria-label": "Enable App Inspector Now",
|
|
@@ -16120,14 +16049,14 @@ var StatusMessage = ({
|
|
|
16120
16049
|
onClick: () => {
|
|
16121
16050
|
void handleEnable();
|
|
16122
16051
|
},
|
|
16123
|
-
startIcon: enabling ? /* @__PURE__ */
|
|
16052
|
+
startIcon: enabling ? /* @__PURE__ */ jsx128(CircularProgress2, { size: 16 }) : void 0,
|
|
16124
16053
|
variant: "contained",
|
|
16125
16054
|
children: "Enable App Inspector Now"
|
|
16126
16055
|
}
|
|
16127
16056
|
) }),
|
|
16128
|
-
/* @__PURE__ */
|
|
16129
|
-
/* @__PURE__ */
|
|
16130
|
-
|
|
16057
|
+
/* @__PURE__ */ jsx128(Typography5, { sx: { mb: 1 }, variant: "body2", children: "If you'd prefer to automatically enable App Inspector at start up, use:" }),
|
|
16058
|
+
/* @__PURE__ */ jsx128(
|
|
16059
|
+
Box6,
|
|
16131
16060
|
{
|
|
16132
16061
|
component: "pre",
|
|
16133
16062
|
sx: {
|
|
@@ -16139,14 +16068,14 @@ var StatusMessage = ({
|
|
|
16139
16068
|
children: "LOCALSTACK_APP_INSPECTOR=1 localstack start"
|
|
16140
16069
|
}
|
|
16141
16070
|
),
|
|
16142
|
-
Boolean(enableError) && /* @__PURE__ */
|
|
16071
|
+
Boolean(enableError) && /* @__PURE__ */ jsx128(Typography5, { color: "error", sx: { mt: 1 }, variant: "body2", children: enableError })
|
|
16143
16072
|
]
|
|
16144
16073
|
}
|
|
16145
16074
|
)
|
|
16146
16075
|
}
|
|
16147
16076
|
);
|
|
16148
16077
|
}
|
|
16149
|
-
return /* @__PURE__ */
|
|
16078
|
+
return /* @__PURE__ */ jsx128(Fragment5, {});
|
|
16150
16079
|
};
|
|
16151
16080
|
|
|
16152
16081
|
// src/hooks/status-provider.tsx
|
|
@@ -16235,11 +16164,11 @@ function useConnectionStateMachine() {
|
|
|
16235
16164
|
}
|
|
16236
16165
|
|
|
16237
16166
|
// src/hooks/status-provider.tsx
|
|
16238
|
-
import { jsx as
|
|
16167
|
+
import { jsx as jsx129 } from "react/jsx-runtime";
|
|
16239
16168
|
var AppInspectorStatusContext = createContext8(void 0);
|
|
16240
16169
|
var StatusProvider = ({ children }) => {
|
|
16241
16170
|
const value = useConnectionStateMachine();
|
|
16242
|
-
return /* @__PURE__ */
|
|
16171
|
+
return /* @__PURE__ */ jsx129(AppInspectorStatusContext.Provider, { value, children });
|
|
16243
16172
|
};
|
|
16244
16173
|
var useAppInspectorStatus = () => {
|
|
16245
16174
|
const value = useContext14(AppInspectorStatusContext);
|
|
@@ -18658,7 +18587,7 @@ var useAppInspectorOpenAnalytics = () => {
|
|
|
18658
18587
|
};
|
|
18659
18588
|
|
|
18660
18589
|
// src/context.tsx
|
|
18661
|
-
import { Fragment as
|
|
18590
|
+
import { Fragment as Fragment6, jsx as jsx130 } from "react/jsx-runtime";
|
|
18662
18591
|
var AppInspectorContext = createContext9(void 0);
|
|
18663
18592
|
var useAppInspector = () => {
|
|
18664
18593
|
const context = useContext15(AppInspectorContext);
|
|
@@ -18669,7 +18598,7 @@ var useAppInspector = () => {
|
|
|
18669
18598
|
};
|
|
18670
18599
|
var AppInspectorAnalyticsBoundary = ({ children }) => {
|
|
18671
18600
|
useAppInspectorOpenAnalytics();
|
|
18672
|
-
return /* @__PURE__ */
|
|
18601
|
+
return /* @__PURE__ */ jsx130(Fragment6, { children });
|
|
18673
18602
|
};
|
|
18674
18603
|
var AppInspectorContextProvider = (props) => {
|
|
18675
18604
|
const api = useMemo5(
|
|
@@ -18702,7 +18631,7 @@ var AppInspectorContextProvider = (props) => {
|
|
|
18702
18631
|
}),
|
|
18703
18632
|
[deploymentContainer, props.headerHeight, props.linkComponent, props.localstackEndpoint, resolveLink]
|
|
18704
18633
|
);
|
|
18705
|
-
return /* @__PURE__ */
|
|
18634
|
+
return /* @__PURE__ */ jsx130(ApiProvider, { api, children: /* @__PURE__ */ jsx130(StatusProvider, { children: /* @__PURE__ */ jsx130(AppInspectorContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx130(AppInspectorAnalyticsBoundary, { children: props.children }) }) }) });
|
|
18706
18635
|
};
|
|
18707
18636
|
|
|
18708
18637
|
// src/hooks/use-spans-ws.tsx
|
|
@@ -18909,14 +18838,14 @@ var useSpans = () => {
|
|
|
18909
18838
|
|
|
18910
18839
|
// src/pages/trace-graph-page.tsx
|
|
18911
18840
|
import { ArrowBack } from "@mui/icons-material";
|
|
18912
|
-
import { Box as
|
|
18841
|
+
import { Box as Box18, Button as Button6, Drawer, Paper as Paper3 } from "@mui/material";
|
|
18913
18842
|
import { styled } from "@mui/material/styles";
|
|
18914
18843
|
import { ReactFlowProvider } from "@xyflow/react";
|
|
18915
18844
|
import { useCallback as useCallback10, useEffect as useEffect21, useRef as useRef15, useState as useState17 } from "react";
|
|
18916
18845
|
|
|
18917
18846
|
// src/components/event-details/event-details.tsx
|
|
18918
18847
|
import { Close as Close2 } from "@mui/icons-material";
|
|
18919
|
-
import { Alert as Alert4, Box as
|
|
18848
|
+
import { Alert as Alert4, Box as Box15, Chip as Chip3, Divider as Divider3, FormControlLabel as FormControlLabel2, IconButton as IconButton4, Stack as Stack4, Switch, Typography as Typography11 } from "@mui/material";
|
|
18920
18849
|
import { useMemo as useMemo10, useState as useState15 } from "react";
|
|
18921
18850
|
|
|
18922
18851
|
// src/utils/event-utils.ts
|
|
@@ -19031,7 +18960,7 @@ var getEventGroupsByType = (events) => {
|
|
|
19031
18960
|
import { Check, ContentCopy } from "@mui/icons-material";
|
|
19032
18961
|
import { IconButton as IconButton2, Tooltip as Tooltip5 } from "@mui/material";
|
|
19033
18962
|
import { useCallback as useCallback8, useState as useState10 } from "react";
|
|
19034
|
-
import { jsx as
|
|
18963
|
+
import { jsx as jsx131 } from "react/jsx-runtime";
|
|
19035
18964
|
var CopyButton = ({ value }) => {
|
|
19036
18965
|
const [copied, setCopied] = useState10(false);
|
|
19037
18966
|
const handleCopy = useCallback8(() => {
|
|
@@ -19043,83 +18972,83 @@ var CopyButton = ({ value }) => {
|
|
|
19043
18972
|
}, 1500);
|
|
19044
18973
|
});
|
|
19045
18974
|
}, [value]);
|
|
19046
|
-
return /* @__PURE__ */
|
|
18975
|
+
return /* @__PURE__ */ jsx131(Tooltip5, { title: copied ? "Copied!" : "Copy", children: /* @__PURE__ */ jsx131(
|
|
19047
18976
|
IconButton2,
|
|
19048
18977
|
{
|
|
19049
18978
|
className: "copy-btn",
|
|
19050
18979
|
onClick: handleCopy,
|
|
19051
18980
|
size: "small",
|
|
19052
18981
|
sx: { ml: 0.5, opacity: copied ? 1 : 0, p: 0.25, transition: "opacity 0.15s" },
|
|
19053
|
-
children: copied ? /* @__PURE__ */
|
|
18982
|
+
children: copied ? /* @__PURE__ */ jsx131(Check, { sx: { fontSize: 14 } }) : /* @__PURE__ */ jsx131(ContentCopy, { sx: { fontSize: 14 } })
|
|
19054
18983
|
}
|
|
19055
18984
|
) });
|
|
19056
18985
|
};
|
|
19057
18986
|
|
|
19058
18987
|
// src/components/event-details/event-detail.tsx
|
|
19059
18988
|
import { KeyboardArrowDown, KeyboardArrowRight } from "@mui/icons-material";
|
|
19060
|
-
import { Box as
|
|
18989
|
+
import { Box as Box12, IconButton as IconButton3, Typography as Typography8 } from "@mui/material";
|
|
19061
18990
|
import { useEffect as useEffect18, useMemo as useMemo8, useRef as useRef12, useState as useState12 } from "react";
|
|
19062
18991
|
|
|
19063
18992
|
// src/components/status-icon.tsx
|
|
19064
18993
|
import { Cancel as Cancel2, CheckCircle, Error as Error3, Info, RemoveCircle } from "@mui/icons-material";
|
|
19065
|
-
import { Box as
|
|
19066
|
-
import { jsx as
|
|
18994
|
+
import { Box as Box7 } from "@mui/material";
|
|
18995
|
+
import { jsx as jsx132 } from "react/jsx-runtime";
|
|
19067
18996
|
var StatusIcon2 = ({ errorLevel }) => {
|
|
19068
18997
|
switch (errorLevel) {
|
|
19069
18998
|
case EventLevel.LevelError: {
|
|
19070
|
-
return /* @__PURE__ */
|
|
18999
|
+
return /* @__PURE__ */ jsx132(Cancel2, { sx: { color: "red" } });
|
|
19071
19000
|
}
|
|
19072
19001
|
case EventLevel.LevelInfo: {
|
|
19073
|
-
return /* @__PURE__ */
|
|
19002
|
+
return /* @__PURE__ */ jsx132(Info, { sx: { color: "gray" } });
|
|
19074
19003
|
}
|
|
19075
19004
|
case EventLevel.LevelPermission: {
|
|
19076
|
-
return /* @__PURE__ */
|
|
19005
|
+
return /* @__PURE__ */ jsx132(RemoveCircle, { sx: { color: "blue" } });
|
|
19077
19006
|
}
|
|
19078
19007
|
case EventLevel.LevelWarning: {
|
|
19079
|
-
return /* @__PURE__ */
|
|
19008
|
+
return /* @__PURE__ */ jsx132(Error3, { sx: { color: "orange" } });
|
|
19080
19009
|
}
|
|
19081
19010
|
default: {
|
|
19082
|
-
return /* @__PURE__ */
|
|
19011
|
+
return /* @__PURE__ */ jsx132(CheckCircle, { sx: { color: "lightgray" } });
|
|
19083
19012
|
}
|
|
19084
19013
|
}
|
|
19085
19014
|
};
|
|
19086
19015
|
|
|
19087
19016
|
// src/components/event-details/iam-event-detail.tsx
|
|
19088
19017
|
import { CheckCircle as CheckCircle2, Error as ErrorIcon, Warning } from "@mui/icons-material";
|
|
19089
|
-
import { Box as
|
|
19090
|
-
import { jsx as
|
|
19091
|
-
var DetailRow = ({ content, label }) => /* @__PURE__ */ jsxs124(
|
|
19092
|
-
/* @__PURE__ */
|
|
19093
|
-
/* @__PURE__ */
|
|
19018
|
+
import { Box as Box8, Chip, Typography as Typography6 } from "@mui/material";
|
|
19019
|
+
import { jsx as jsx133, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
19020
|
+
var DetailRow = ({ content, label }) => /* @__PURE__ */ jsxs124(Box8, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
19021
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
19022
|
+
/* @__PURE__ */ jsx133(Box8, { children: typeof content === "string" ? /* @__PURE__ */ jsx133(Typography6, { sx: { color: "text.primary", wordBreak: "break-word" }, variant: "caption", children: content }) : content })
|
|
19094
19023
|
] });
|
|
19095
19024
|
var PermissionIcon = ({ status }) => {
|
|
19096
19025
|
switch (status) {
|
|
19097
19026
|
case "explicitly_allowed":
|
|
19098
19027
|
case "implicitly_allowed": {
|
|
19099
|
-
return /* @__PURE__ */
|
|
19028
|
+
return /* @__PURE__ */ jsx133(CheckCircle2, { sx: { color: "success.main", fontSize: "1rem" } });
|
|
19100
19029
|
}
|
|
19101
19030
|
case "explicitly_denied": {
|
|
19102
|
-
return /* @__PURE__ */
|
|
19031
|
+
return /* @__PURE__ */ jsx133(ErrorIcon, { sx: { color: "error.main", fontSize: "1rem" } });
|
|
19103
19032
|
}
|
|
19104
19033
|
case "implicitly_denied": {
|
|
19105
|
-
return /* @__PURE__ */
|
|
19034
|
+
return /* @__PURE__ */ jsx133(Warning, { sx: { color: "warning.main", fontSize: "1rem" } });
|
|
19106
19035
|
}
|
|
19107
19036
|
}
|
|
19108
19037
|
};
|
|
19109
19038
|
var IAMEventDetail = ({ event }) => {
|
|
19110
19039
|
const payloadString = event.attributes?.payload;
|
|
19111
19040
|
if (!payloadString) {
|
|
19112
|
-
return /* @__PURE__ */
|
|
19041
|
+
return /* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", variant: "caption", children: "No IAM policy evaluation data available" });
|
|
19113
19042
|
}
|
|
19114
19043
|
const parsedIAM = parseIAMEvent(payloadString);
|
|
19115
19044
|
if (!parsedIAM) {
|
|
19116
|
-
return /* @__PURE__ */
|
|
19045
|
+
return /* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", variant: "caption", children: "Failed to parse IAM event data" });
|
|
19117
19046
|
}
|
|
19118
|
-
return /* @__PURE__ */ jsxs124(
|
|
19119
|
-
/* @__PURE__ */
|
|
19047
|
+
return /* @__PURE__ */ jsxs124(Box8, { children: [
|
|
19048
|
+
/* @__PURE__ */ jsx133(Box8, { sx: { mb: 1.5 }, children: /* @__PURE__ */ jsx133(
|
|
19120
19049
|
Chip,
|
|
19121
19050
|
{
|
|
19122
|
-
icon: /* @__PURE__ */
|
|
19051
|
+
icon: /* @__PURE__ */ jsx133(PermissionIcon, { status: parsedIAM.permission }),
|
|
19123
19052
|
label: formatPermissionStatus(parsedIAM.permission),
|
|
19124
19053
|
size: "small",
|
|
19125
19054
|
sx: {
|
|
@@ -19129,36 +19058,36 @@ var IAMEventDetail = ({ event }) => {
|
|
|
19129
19058
|
variant: "outlined"
|
|
19130
19059
|
}
|
|
19131
19060
|
) }),
|
|
19132
|
-
/* @__PURE__ */
|
|
19133
|
-
/* @__PURE__ */
|
|
19134
|
-
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */
|
|
19061
|
+
/* @__PURE__ */ jsx133(DetailRow, { content: `${parsedIAM.service}:${parsedIAM.operation}`, label: "Operation" }),
|
|
19062
|
+
/* @__PURE__ */ jsx133(DetailRow, { content: parsedIAM.principal, label: "Principal" }),
|
|
19063
|
+
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ jsx133(
|
|
19135
19064
|
DetailRow,
|
|
19136
19065
|
{
|
|
19137
|
-
content: /* @__PURE__ */
|
|
19066
|
+
content: /* @__PURE__ */ jsx133(Box8, { children: parsedIAM.details.actions.map((action) => /* @__PURE__ */ jsx133(Typography6, { sx: { color: "text.primary", display: "block" }, variant: "caption", children: action }, action)) }),
|
|
19138
19067
|
label: "Actions"
|
|
19139
19068
|
}
|
|
19140
19069
|
),
|
|
19141
|
-
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */
|
|
19070
|
+
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ jsx133(
|
|
19142
19071
|
DetailRow,
|
|
19143
19072
|
{
|
|
19144
|
-
content: /* @__PURE__ */
|
|
19073
|
+
content: /* @__PURE__ */ jsx133(Box8, { children: parsedIAM.details.resources.map((resource) => /* @__PURE__ */ jsx133(Typography6, { sx: { color: "text.primary", display: "block", wordBreak: "break-all" }, variant: "caption", children: resource }, resource)) }),
|
|
19145
19074
|
label: "Resources"
|
|
19146
19075
|
}
|
|
19147
19076
|
),
|
|
19148
|
-
(parsedIAM.details.explicitAllows !== void 0 || parsedIAM.details.explicitDenies !== void 0 || parsedIAM.details.implicitDenies !== void 0) && /* @__PURE__ */ jsxs124(
|
|
19149
|
-
/* @__PURE__ */
|
|
19150
|
-
/* @__PURE__ */ jsxs124(
|
|
19151
|
-
parsedIAM.details.explicitAllows !== void 0 && /* @__PURE__ */ jsxs124(
|
|
19152
|
-
/* @__PURE__ */
|
|
19153
|
-
/* @__PURE__ */
|
|
19077
|
+
(parsedIAM.details.explicitAllows !== void 0 || parsedIAM.details.explicitDenies !== void 0 || parsedIAM.details.implicitDenies !== void 0) && /* @__PURE__ */ jsxs124(Box8, { sx: { mt: 1.5 }, children: [
|
|
19078
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", sx: { display: "block", fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Policy Evaluation" }),
|
|
19079
|
+
/* @__PURE__ */ jsxs124(Box8, { sx: { display: "grid", gap: 1, gridTemplateColumns: "repeat(3, 1fr)" }, children: [
|
|
19080
|
+
parsedIAM.details.explicitAllows !== void 0 && /* @__PURE__ */ jsxs124(Box8, { sx: { textAlign: "center" }, children: [
|
|
19081
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "success.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitAllows }),
|
|
19082
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", variant: "caption", children: "Explicit Allows" })
|
|
19154
19083
|
] }),
|
|
19155
|
-
parsedIAM.details.explicitDenies !== void 0 && /* @__PURE__ */ jsxs124(
|
|
19156
|
-
/* @__PURE__ */
|
|
19157
|
-
/* @__PURE__ */
|
|
19084
|
+
parsedIAM.details.explicitDenies !== void 0 && /* @__PURE__ */ jsxs124(Box8, { sx: { textAlign: "center" }, children: [
|
|
19085
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "error.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitDenies }),
|
|
19086
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", variant: "caption", children: "Explicit Denies" })
|
|
19158
19087
|
] }),
|
|
19159
|
-
parsedIAM.details.implicitDenies !== void 0 && /* @__PURE__ */ jsxs124(
|
|
19160
|
-
/* @__PURE__ */
|
|
19161
|
-
/* @__PURE__ */
|
|
19088
|
+
parsedIAM.details.implicitDenies !== void 0 && /* @__PURE__ */ jsxs124(Box8, { sx: { textAlign: "center" }, children: [
|
|
19089
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "warning.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.implicitDenies }),
|
|
19090
|
+
/* @__PURE__ */ jsx133(Typography6, { color: "text.secondary", variant: "caption", children: "Implicit Denies" })
|
|
19162
19091
|
] })
|
|
19163
19092
|
] })
|
|
19164
19093
|
] })
|
|
@@ -19166,9 +19095,9 @@ var IAMEventDetail = ({ event }) => {
|
|
|
19166
19095
|
};
|
|
19167
19096
|
|
|
19168
19097
|
// src/components/event-details/iam-permission-detail.tsx
|
|
19169
|
-
import { Box as
|
|
19098
|
+
import { Box as Box9, Chip as Chip2, Stack as Stack2, Typography as Typography7 } from "@mui/material";
|
|
19170
19099
|
import { useMemo as useMemo6 } from "react";
|
|
19171
|
-
import { jsx as
|
|
19100
|
+
import { jsx as jsx134, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
19172
19101
|
var getChipColor = (isAllowed, spanStatusCode) => {
|
|
19173
19102
|
if (isAllowed) return "success.main";
|
|
19174
19103
|
if (spanStatusCode === 2) return "error.main";
|
|
@@ -19188,43 +19117,43 @@ var IAMPermissionItem = ({ event, spanStatusCode }) => {
|
|
|
19188
19117
|
const { parsedIAM } = parsedData;
|
|
19189
19118
|
const isAllowed = parsedIAM.permission === "explicitly_allowed" || parsedIAM.permission === "implicitly_allowed";
|
|
19190
19119
|
const chipColors = { backgroundColor: getChipColor(isAllowed, spanStatusCode), color: "white" };
|
|
19191
|
-
return /* @__PURE__ */ jsxs125(
|
|
19192
|
-
/* @__PURE__ */
|
|
19193
|
-
/* @__PURE__ */ jsxs125(
|
|
19194
|
-
/* @__PURE__ */ jsxs125(
|
|
19195
|
-
/* @__PURE__ */
|
|
19196
|
-
/* @__PURE__ */ jsxs125(
|
|
19197
|
-
/* @__PURE__ */
|
|
19198
|
-
/* @__PURE__ */
|
|
19120
|
+
return /* @__PURE__ */ jsxs125(Box9, { sx: { mb: 0.5 }, children: [
|
|
19121
|
+
/* @__PURE__ */ jsx134(Box9, { sx: { alignItems: "center", display: "flex", gap: 1, mb: 0.5 }, children: /* @__PURE__ */ jsx134(Chip2, { label: formatPermissionStatus(parsedIAM.permission), size: "small", sx: { ...chipColors, fontWeight: 500 } }) }),
|
|
19122
|
+
/* @__PURE__ */ jsxs125(Stack2, { spacing: 1, children: [
|
|
19123
|
+
/* @__PURE__ */ jsxs125(Box9, { "data-testid": EVENT_DETAILS_IAM_PRINCIPAL_TEST_ID, children: [
|
|
19124
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Principal" }),
|
|
19125
|
+
/* @__PURE__ */ jsxs125(Stack2, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
19126
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { wordBreak: "break-all" }, variant: "body2", children: parsedIAM.principal }),
|
|
19127
|
+
/* @__PURE__ */ jsx134(CopyButton, { value: parsedIAM.principal })
|
|
19199
19128
|
] })
|
|
19200
19129
|
] }),
|
|
19201
|
-
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ jsxs125(
|
|
19202
|
-
/* @__PURE__ */
|
|
19203
|
-
parsedIAM.details.actions.map((action) => /* @__PURE__ */ jsxs125(
|
|
19204
|
-
/* @__PURE__ */
|
|
19205
|
-
/* @__PURE__ */
|
|
19130
|
+
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ jsxs125(Box9, { "data-testid": EVENT_DETAILS_IAM_ACTIONS_TEST_ID, children: [
|
|
19131
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Actions" }),
|
|
19132
|
+
parsedIAM.details.actions.map((action) => /* @__PURE__ */ jsxs125(Stack2, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
19133
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { display: "block" }, variant: "body2", children: action }),
|
|
19134
|
+
/* @__PURE__ */ jsx134(CopyButton, { value: action })
|
|
19206
19135
|
] }, action))
|
|
19207
19136
|
] }),
|
|
19208
|
-
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ jsxs125(
|
|
19209
|
-
/* @__PURE__ */
|
|
19210
|
-
parsedIAM.details.resources.map((resource) => /* @__PURE__ */ jsxs125(
|
|
19211
|
-
/* @__PURE__ */
|
|
19212
|
-
/* @__PURE__ */
|
|
19137
|
+
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ jsxs125(Box9, { "data-testid": EVENT_DETAILS_IAM_RESOURCES_TEST_ID, children: [
|
|
19138
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { display: "block", fontWeight: 600 }, variant: "caption", children: "Resources" }),
|
|
19139
|
+
parsedIAM.details.resources.map((resource) => /* @__PURE__ */ jsxs125(Stack2, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
19140
|
+
/* @__PURE__ */ jsx134(Typography7, { sx: { display: "block", wordBreak: "break-all" }, variant: "body2", children: resource }),
|
|
19141
|
+
/* @__PURE__ */ jsx134(CopyButton, { value: resource })
|
|
19213
19142
|
] }, resource))
|
|
19214
19143
|
] })
|
|
19215
19144
|
] })
|
|
19216
19145
|
] });
|
|
19217
19146
|
};
|
|
19218
|
-
var IAMPermissionDetail = ({ events, spanStatusCode }) => /* @__PURE__ */
|
|
19147
|
+
var IAMPermissionDetail = ({ events, spanStatusCode }) => /* @__PURE__ */ jsx134(Box9, { children: events.map((event) => /* @__PURE__ */ jsx134(IAMPermissionItem, { event, spanStatusCode }, `${event.span_id}-${event.event_id}`)) });
|
|
19219
19148
|
|
|
19220
19149
|
// src/components/event-details/payload-viewer.tsx
|
|
19221
|
-
import { Box as
|
|
19150
|
+
import { Box as Box11, useTheme as useTheme3 } from "@mui/material";
|
|
19222
19151
|
|
|
19223
19152
|
// node_modules/.pnpm/@textea+json-viewer@3.5.0_@emotion+react@11.14.0_@types+react@17.0.91_react@17.0.2__@em_040507e953752247cb848fd3f764690c/node_modules/@textea/json-viewer/dist/index.mjs
|
|
19224
19153
|
var import_copy_to_clipboard = __toESM(require_copy_to_clipboard(), 1);
|
|
19225
|
-
import { jsx as
|
|
19226
|
-
import { Box as
|
|
19227
|
-
import { createContext as createContext10, useContext as useContext16, useState as useState11, useRef as useRef11, useCallback as useCallback9, useMemo as useMemo7, useEffect as useEffect17, memo as
|
|
19154
|
+
import { jsx as jsx135, jsxs as jsxs126, Fragment as Fragment7 } from "react/jsx-runtime";
|
|
19155
|
+
import { Box as Box10, InputBase, NoSsr, SvgIcon, createTheme, ThemeProvider, Paper as Paper2 } from "@mui/material";
|
|
19156
|
+
import { createContext as createContext10, useContext as useContext16, useState as useState11, useRef as useRef11, useCallback as useCallback9, useMemo as useMemo7, useEffect as useEffect17, memo as memo9 } from "react";
|
|
19228
19157
|
import { create, useStore, createStore } from "zustand";
|
|
19229
19158
|
function r(e2) {
|
|
19230
19159
|
var t, f2, n = "";
|
|
@@ -19577,7 +19506,7 @@ function useInspect(path, value, nestedIndex) {
|
|
|
19577
19506
|
setInspect
|
|
19578
19507
|
];
|
|
19579
19508
|
}
|
|
19580
|
-
var DataBox = (props) => /* @__PURE__ */
|
|
19509
|
+
var DataBox = (props) => /* @__PURE__ */ jsx135(Box10, {
|
|
19581
19510
|
component: "div",
|
|
19582
19511
|
...props,
|
|
19583
19512
|
sx: {
|
|
@@ -19588,7 +19517,7 @@ var DataBox = (props) => /* @__PURE__ */ jsx136(Box11, {
|
|
|
19588
19517
|
var DataTypeLabel = (param) => {
|
|
19589
19518
|
let { dataType, enable = true } = param;
|
|
19590
19519
|
if (!enable) return null;
|
|
19591
|
-
return /* @__PURE__ */
|
|
19520
|
+
return /* @__PURE__ */ jsx135(DataBox, {
|
|
19592
19521
|
className: "data-type-label",
|
|
19593
19522
|
sx: {
|
|
19594
19523
|
mx: 0.5,
|
|
@@ -19601,7 +19530,7 @@ var DataTypeLabel = (param) => {
|
|
|
19601
19530
|
};
|
|
19602
19531
|
function defineEasyType(param) {
|
|
19603
19532
|
let { is, serialize, deserialize, type, colorKey, displayTypeLabel = true, Renderer } = param;
|
|
19604
|
-
const Render = /* @__PURE__ */
|
|
19533
|
+
const Render = /* @__PURE__ */ memo9(Renderer);
|
|
19605
19534
|
const EasyType = (props) => {
|
|
19606
19535
|
const storeDisplayDataTypes = useJsonViewerStore((store) => store.displayDataTypes);
|
|
19607
19536
|
const color2 = useJsonViewerStore((store) => store.colorspace[colorKey]);
|
|
@@ -19612,12 +19541,12 @@ function defineEasyType(param) {
|
|
|
19612
19541
|
color: color2
|
|
19613
19542
|
},
|
|
19614
19543
|
children: [
|
|
19615
|
-
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */
|
|
19544
|
+
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */ jsx135(DataTypeLabel, {
|
|
19616
19545
|
dataType: type
|
|
19617
19546
|
}),
|
|
19618
|
-
/* @__PURE__ */
|
|
19547
|
+
/* @__PURE__ */ jsx135(DataBox, {
|
|
19619
19548
|
className: "".concat(type, "-value"),
|
|
19620
|
-
children: /* @__PURE__ */
|
|
19549
|
+
children: /* @__PURE__ */ jsx135(Render, {
|
|
19621
19550
|
path: props.path,
|
|
19622
19551
|
inspect: props.inspect,
|
|
19623
19552
|
setInspect: props.setInspect,
|
|
@@ -19657,7 +19586,7 @@ function defineEasyType(param) {
|
|
|
19657
19586
|
}, [
|
|
19658
19587
|
setValue
|
|
19659
19588
|
]);
|
|
19660
|
-
return /* @__PURE__ */
|
|
19589
|
+
return /* @__PURE__ */ jsx135(InputBase, {
|
|
19661
19590
|
autoFocus: true,
|
|
19662
19591
|
value,
|
|
19663
19592
|
onChange: handleChange,
|
|
@@ -19697,7 +19626,7 @@ var booleanType = defineEasyType({
|
|
|
19697
19626
|
},
|
|
19698
19627
|
Renderer: (param) => {
|
|
19699
19628
|
let { value } = param;
|
|
19700
|
-
return /* @__PURE__ */
|
|
19629
|
+
return /* @__PURE__ */ jsx135(Fragment7, {
|
|
19701
19630
|
children: value ? "true" : "false"
|
|
19702
19631
|
});
|
|
19703
19632
|
}
|
|
@@ -19716,7 +19645,7 @@ var dateType = defineEasyType({
|
|
|
19716
19645
|
colorKey: "base0D",
|
|
19717
19646
|
Renderer: (param) => {
|
|
19718
19647
|
let { value } = param;
|
|
19719
|
-
return /* @__PURE__ */
|
|
19648
|
+
return /* @__PURE__ */ jsx135(Fragment7, {
|
|
19720
19649
|
children: value.toLocaleTimeString("en-us", displayOptions)
|
|
19721
19650
|
});
|
|
19722
19651
|
}
|
|
@@ -19747,10 +19676,10 @@ var rb = "}";
|
|
|
19747
19676
|
var PreFunctionType = (props) => {
|
|
19748
19677
|
return /* @__PURE__ */ jsxs126(NoSsr, {
|
|
19749
19678
|
children: [
|
|
19750
|
-
/* @__PURE__ */
|
|
19679
|
+
/* @__PURE__ */ jsx135(DataTypeLabel, {
|
|
19751
19680
|
dataType: "function"
|
|
19752
19681
|
}),
|
|
19753
|
-
/* @__PURE__ */ jsxs126(
|
|
19682
|
+
/* @__PURE__ */ jsxs126(Box10, {
|
|
19754
19683
|
component: "span",
|
|
19755
19684
|
className: "data-function-start",
|
|
19756
19685
|
sx: {
|
|
@@ -19766,8 +19695,8 @@ var PreFunctionType = (props) => {
|
|
|
19766
19695
|
});
|
|
19767
19696
|
};
|
|
19768
19697
|
var PostFunctionType = () => {
|
|
19769
|
-
return /* @__PURE__ */
|
|
19770
|
-
children: /* @__PURE__ */
|
|
19698
|
+
return /* @__PURE__ */ jsx135(NoSsr, {
|
|
19699
|
+
children: /* @__PURE__ */ jsx135(Box10, {
|
|
19771
19700
|
component: "span",
|
|
19772
19701
|
className: "data-function-end",
|
|
19773
19702
|
children: rb
|
|
@@ -19776,15 +19705,15 @@ var PostFunctionType = () => {
|
|
|
19776
19705
|
};
|
|
19777
19706
|
var FunctionType = (props) => {
|
|
19778
19707
|
const functionColor = useJsonViewerStore((store) => store.colorspace.base05);
|
|
19779
|
-
return /* @__PURE__ */
|
|
19780
|
-
children: /* @__PURE__ */
|
|
19708
|
+
return /* @__PURE__ */ jsx135(NoSsr, {
|
|
19709
|
+
children: /* @__PURE__ */ jsx135(Box10, {
|
|
19781
19710
|
className: "data-function",
|
|
19782
19711
|
sx: {
|
|
19783
19712
|
display: props.inspect ? "block" : "inline-block",
|
|
19784
19713
|
pl: props.inspect ? 2 : 0,
|
|
19785
19714
|
color: functionColor
|
|
19786
19715
|
},
|
|
19787
|
-
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */
|
|
19716
|
+
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */ jsx135(Box10, {
|
|
19788
19717
|
component: "span",
|
|
19789
19718
|
className: "data-function-body",
|
|
19790
19719
|
onClick: () => props.setInspect(true),
|
|
@@ -19812,7 +19741,7 @@ var nullType = defineEasyType({
|
|
|
19812
19741
|
displayTypeLabel: false,
|
|
19813
19742
|
Renderer: () => {
|
|
19814
19743
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19815
|
-
return /* @__PURE__ */
|
|
19744
|
+
return /* @__PURE__ */ jsx135(Box10, {
|
|
19816
19745
|
sx: {
|
|
19817
19746
|
fontSize: "0.8rem",
|
|
19818
19747
|
backgroundColor,
|
|
@@ -19835,7 +19764,7 @@ var nanType = defineEasyType({
|
|
|
19835
19764
|
deserialize: (value) => parseFloat(value),
|
|
19836
19765
|
Renderer: () => {
|
|
19837
19766
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19838
|
-
return /* @__PURE__ */
|
|
19767
|
+
return /* @__PURE__ */ jsx135(Box10, {
|
|
19839
19768
|
sx: {
|
|
19840
19769
|
backgroundColor,
|
|
19841
19770
|
fontSize: "0.8rem",
|
|
@@ -19855,7 +19784,7 @@ var floatType = defineEasyType({
|
|
|
19855
19784
|
deserialize: (value) => parseFloat(value),
|
|
19856
19785
|
Renderer: (param) => {
|
|
19857
19786
|
let { value } = param;
|
|
19858
|
-
return /* @__PURE__ */
|
|
19787
|
+
return /* @__PURE__ */ jsx135(Fragment7, {
|
|
19859
19788
|
children: value
|
|
19860
19789
|
});
|
|
19861
19790
|
}
|
|
@@ -19869,7 +19798,7 @@ var intType = defineEasyType({
|
|
|
19869
19798
|
deserialize: (value) => parseFloat(value),
|
|
19870
19799
|
Renderer: (param) => {
|
|
19871
19800
|
let { value } = param;
|
|
19872
|
-
return /* @__PURE__ */
|
|
19801
|
+
return /* @__PURE__ */ jsx135(Fragment7, {
|
|
19873
19802
|
children: value
|
|
19874
19803
|
});
|
|
19875
19804
|
}
|
|
@@ -19882,16 +19811,16 @@ var bigIntType = defineEasyType({
|
|
|
19882
19811
|
deserialize: (value) => BigInt(value.replace(/\D/g, "")),
|
|
19883
19812
|
Renderer: (param) => {
|
|
19884
19813
|
let { value } = param;
|
|
19885
|
-
return /* @__PURE__ */
|
|
19814
|
+
return /* @__PURE__ */ jsx135(Fragment7, {
|
|
19886
19815
|
children: "".concat(value, "n")
|
|
19887
19816
|
});
|
|
19888
19817
|
}
|
|
19889
19818
|
});
|
|
19890
19819
|
var BaseIcon = (param) => {
|
|
19891
19820
|
let { d: d2, ...props } = param;
|
|
19892
|
-
return /* @__PURE__ */
|
|
19821
|
+
return /* @__PURE__ */ jsx135(SvgIcon, {
|
|
19893
19822
|
...props,
|
|
19894
|
-
children: /* @__PURE__ */
|
|
19823
|
+
children: /* @__PURE__ */ jsx135("path", {
|
|
19895
19824
|
d: d2
|
|
19896
19825
|
})
|
|
19897
19826
|
});
|
|
@@ -19906,55 +19835,55 @@ var Edit = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.3
|
|
|
19906
19835
|
var ExpandMore = "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z";
|
|
19907
19836
|
var Delete = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5l-1-1h-5l-1 1H5v2h14V4z";
|
|
19908
19837
|
var AddBoxIcon = (props) => {
|
|
19909
|
-
return /* @__PURE__ */
|
|
19838
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19910
19839
|
d: AddBox,
|
|
19911
19840
|
...props
|
|
19912
19841
|
});
|
|
19913
19842
|
};
|
|
19914
19843
|
var CheckIcon = (props) => {
|
|
19915
|
-
return /* @__PURE__ */
|
|
19844
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19916
19845
|
d: Check2,
|
|
19917
19846
|
...props
|
|
19918
19847
|
});
|
|
19919
19848
|
};
|
|
19920
19849
|
var ChevronRightIcon = (props) => {
|
|
19921
|
-
return /* @__PURE__ */
|
|
19850
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19922
19851
|
d: ChevronRight,
|
|
19923
19852
|
...props
|
|
19924
19853
|
});
|
|
19925
19854
|
};
|
|
19926
19855
|
var CircularArrowsIcon = (props) => {
|
|
19927
|
-
return /* @__PURE__ */
|
|
19856
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19928
19857
|
d: CircularArrows,
|
|
19929
19858
|
...props
|
|
19930
19859
|
});
|
|
19931
19860
|
};
|
|
19932
19861
|
var CloseIcon = (props) => {
|
|
19933
|
-
return /* @__PURE__ */
|
|
19862
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19934
19863
|
d: Close,
|
|
19935
19864
|
...props
|
|
19936
19865
|
});
|
|
19937
19866
|
};
|
|
19938
19867
|
var ContentCopyIcon = (props) => {
|
|
19939
|
-
return /* @__PURE__ */
|
|
19868
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19940
19869
|
d: ContentCopy2,
|
|
19941
19870
|
...props
|
|
19942
19871
|
});
|
|
19943
19872
|
};
|
|
19944
19873
|
var EditIcon = (props) => {
|
|
19945
|
-
return /* @__PURE__ */
|
|
19874
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19946
19875
|
d: Edit,
|
|
19947
19876
|
...props
|
|
19948
19877
|
});
|
|
19949
19878
|
};
|
|
19950
19879
|
var ExpandMoreIcon = (props) => {
|
|
19951
|
-
return /* @__PURE__ */
|
|
19880
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19952
19881
|
d: ExpandMore,
|
|
19953
19882
|
...props
|
|
19954
19883
|
});
|
|
19955
19884
|
};
|
|
19956
19885
|
var DeleteIcon = (props) => {
|
|
19957
|
-
return /* @__PURE__ */
|
|
19886
|
+
return /* @__PURE__ */ jsx135(BaseIcon, {
|
|
19958
19887
|
d: Delete,
|
|
19959
19888
|
...props
|
|
19960
19889
|
});
|
|
@@ -19993,7 +19922,7 @@ var PreObjectType = (props) => {
|
|
|
19993
19922
|
props.value
|
|
19994
19923
|
]);
|
|
19995
19924
|
const isTrap = useIsCycleReference(props.path, props.value);
|
|
19996
|
-
return /* @__PURE__ */ jsxs126(
|
|
19925
|
+
return /* @__PURE__ */ jsxs126(Box10, {
|
|
19997
19926
|
component: "span",
|
|
19998
19927
|
className: "data-object-start",
|
|
19999
19928
|
sx: {
|
|
@@ -20001,7 +19930,7 @@ var PreObjectType = (props) => {
|
|
|
20001
19930
|
},
|
|
20002
19931
|
children: [
|
|
20003
19932
|
isArrayLike ? arrayLb : objectLb,
|
|
20004
|
-
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */
|
|
19933
|
+
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */ jsx135(Box10, {
|
|
20005
19934
|
component: "span",
|
|
20006
19935
|
sx: {
|
|
20007
19936
|
pl: 0.5,
|
|
@@ -20011,16 +19940,16 @@ var PreObjectType = (props) => {
|
|
|
20011
19940
|
},
|
|
20012
19941
|
children: sizeOfValue
|
|
20013
19942
|
}),
|
|
20014
|
-
isTrap && !props.inspect && /* @__PURE__ */ jsxs126(
|
|
19943
|
+
isTrap && !props.inspect && /* @__PURE__ */ jsxs126(Fragment7, {
|
|
20015
19944
|
children: [
|
|
20016
|
-
/* @__PURE__ */
|
|
19945
|
+
/* @__PURE__ */ jsx135(CircularArrowsIcon, {
|
|
20017
19946
|
sx: {
|
|
20018
19947
|
fontSize: 12,
|
|
20019
19948
|
color: textColor,
|
|
20020
19949
|
mx: 0.5
|
|
20021
19950
|
}
|
|
20022
19951
|
}),
|
|
20023
|
-
/* @__PURE__ */
|
|
19952
|
+
/* @__PURE__ */ jsx135(DataBox, {
|
|
20024
19953
|
sx: {
|
|
20025
19954
|
cursor: "pointer",
|
|
20026
19955
|
userSelect: "none"
|
|
@@ -20050,7 +19979,7 @@ var PostObjectType = (props) => {
|
|
|
20050
19979
|
props.path,
|
|
20051
19980
|
props.value
|
|
20052
19981
|
]);
|
|
20053
|
-
return /* @__PURE__ */ jsxs126(
|
|
19982
|
+
return /* @__PURE__ */ jsxs126(Box10, {
|
|
20054
19983
|
component: "span",
|
|
20055
19984
|
className: "data-object-end",
|
|
20056
19985
|
sx: {
|
|
@@ -20061,7 +19990,7 @@ var PostObjectType = (props) => {
|
|
|
20061
19990
|
},
|
|
20062
19991
|
children: [
|
|
20063
19992
|
isArrayLike ? arrayRb : objectRb,
|
|
20064
|
-
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */
|
|
19993
|
+
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */ jsx135(Box10, {
|
|
20065
19994
|
component: "span",
|
|
20066
19995
|
sx: {
|
|
20067
19996
|
pl: 0.5,
|
|
@@ -20101,7 +20030,7 @@ var ObjectType = (props) => {
|
|
|
20101
20030
|
...props.path,
|
|
20102
20031
|
key
|
|
20103
20032
|
];
|
|
20104
|
-
elements3.push(/* @__PURE__ */
|
|
20033
|
+
elements3.push(/* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20105
20034
|
path,
|
|
20106
20035
|
value: value2,
|
|
20107
20036
|
prevValue: props.prevValue instanceof Map ? props.prevValue.get(k2) : void 0,
|
|
@@ -20117,7 +20046,7 @@ var ObjectType = (props) => {
|
|
|
20117
20046
|
while (true) {
|
|
20118
20047
|
const nextResult = iterator2.next();
|
|
20119
20048
|
var _nextResult_done;
|
|
20120
|
-
elements3.push(/* @__PURE__ */
|
|
20049
|
+
elements3.push(/* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20121
20050
|
path: [
|
|
20122
20051
|
...props.path,
|
|
20123
20052
|
"iterator:".concat(count2)
|
|
@@ -20145,7 +20074,7 @@ var ObjectType = (props) => {
|
|
|
20145
20074
|
...props.path,
|
|
20146
20075
|
index
|
|
20147
20076
|
];
|
|
20148
|
-
return /* @__PURE__ */
|
|
20077
|
+
return /* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20149
20078
|
path,
|
|
20150
20079
|
value: value2,
|
|
20151
20080
|
prevValue: Array.isArray(props.prevValue) ? props.prevValue[index] : void 0,
|
|
@@ -20177,7 +20106,7 @@ var ObjectType = (props) => {
|
|
|
20177
20106
|
const prevElements = Array.isArray(props.prevValue) ? segmentArray(props.prevValue, groupArraysAfterLength) : void 0;
|
|
20178
20107
|
const elementsLastIndex = elements3.length - 1;
|
|
20179
20108
|
return elements3.map((list, index) => {
|
|
20180
|
-
return /* @__PURE__ */
|
|
20109
|
+
return /* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20181
20110
|
path: props.path,
|
|
20182
20111
|
value: list,
|
|
20183
20112
|
nestedIndex: index,
|
|
@@ -20204,7 +20133,7 @@ var ObjectType = (props) => {
|
|
|
20204
20133
|
...props.path,
|
|
20205
20134
|
key
|
|
20206
20135
|
];
|
|
20207
|
-
return /* @__PURE__ */
|
|
20136
|
+
return /* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20208
20137
|
path,
|
|
20209
20138
|
value: value2,
|
|
20210
20139
|
prevValue: (_props_prevValue = props.prevValue) === null || _props_prevValue === void 0 ? void 0 : _props_prevValue[key],
|
|
@@ -20251,7 +20180,7 @@ var ObjectType = (props) => {
|
|
|
20251
20180
|
if (isEmptyValue) {
|
|
20252
20181
|
return null;
|
|
20253
20182
|
}
|
|
20254
|
-
return /* @__PURE__ */
|
|
20183
|
+
return /* @__PURE__ */ jsx135(Box10, {
|
|
20255
20184
|
className: "data-object",
|
|
20256
20185
|
sx: {
|
|
20257
20186
|
display: props.inspect ? "block" : "inline-block",
|
|
@@ -20260,7 +20189,7 @@ var ObjectType = (props) => {
|
|
|
20260
20189
|
color: keyColor,
|
|
20261
20190
|
borderLeft: props.inspect ? "1px solid ".concat(borderColor) : "none"
|
|
20262
20191
|
},
|
|
20263
|
-
children: props.inspect ? elements : !isTrap && /* @__PURE__ */
|
|
20192
|
+
children: props.inspect ? elements : !isTrap && /* @__PURE__ */ jsx135(Box10, {
|
|
20264
20193
|
component: "span",
|
|
20265
20194
|
className: "data-object-body",
|
|
20266
20195
|
onClick: () => props.setInspect(true),
|
|
@@ -20292,7 +20221,7 @@ var stringType = defineEasyType({
|
|
|
20292
20221
|
const collapseStringsAfterLength = useJsonViewerStore((store) => store.collapseStringsAfterLength);
|
|
20293
20222
|
const value = showRest ? props.value : props.value.slice(0, collapseStringsAfterLength);
|
|
20294
20223
|
const hasRest = props.value.length > collapseStringsAfterLength;
|
|
20295
|
-
return /* @__PURE__ */ jsxs126(
|
|
20224
|
+
return /* @__PURE__ */ jsxs126(Box10, {
|
|
20296
20225
|
component: "span",
|
|
20297
20226
|
sx: {
|
|
20298
20227
|
overflowWrap: "anywhere",
|
|
@@ -20310,7 +20239,7 @@ var stringType = defineEasyType({
|
|
|
20310
20239
|
children: [
|
|
20311
20240
|
'"',
|
|
20312
20241
|
value,
|
|
20313
|
-
hasRest && !showRest && /* @__PURE__ */
|
|
20242
|
+
hasRest && !showRest && /* @__PURE__ */ jsx135(Box10, {
|
|
20314
20243
|
component: "span",
|
|
20315
20244
|
sx: {
|
|
20316
20245
|
padding: 0.5
|
|
@@ -20329,7 +20258,7 @@ var undefinedType = defineEasyType({
|
|
|
20329
20258
|
displayTypeLabel: false,
|
|
20330
20259
|
Renderer: () => {
|
|
20331
20260
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
20332
|
-
return /* @__PURE__ */
|
|
20261
|
+
return /* @__PURE__ */ jsx135(Box10, {
|
|
20333
20262
|
sx: {
|
|
20334
20263
|
fontSize: "0.7rem",
|
|
20335
20264
|
backgroundColor,
|
|
@@ -20345,17 +20274,17 @@ function memorizeDataType(dataType) {
|
|
|
20345
20274
|
var _prevProps_path, _nextProps_path;
|
|
20346
20275
|
return Object.is(prevProps.value, nextProps.value) && prevProps.inspect && nextProps.inspect && ((_prevProps_path = prevProps.path) === null || _prevProps_path === void 0 ? void 0 : _prevProps_path.join(".")) === ((_nextProps_path = nextProps.path) === null || _nextProps_path === void 0 ? void 0 : _nextProps_path.join("."));
|
|
20347
20276
|
}
|
|
20348
|
-
dataType.Component = /* @__PURE__ */
|
|
20277
|
+
dataType.Component = /* @__PURE__ */ memo9(dataType.Component, compare);
|
|
20349
20278
|
if (dataType.Editor) {
|
|
20350
|
-
dataType.Editor = /* @__PURE__ */
|
|
20279
|
+
dataType.Editor = /* @__PURE__ */ memo9(dataType.Editor, function compare2(prevProps, nextProps) {
|
|
20351
20280
|
return Object.is(prevProps.value, nextProps.value);
|
|
20352
20281
|
});
|
|
20353
20282
|
}
|
|
20354
20283
|
if (dataType.PreComponent) {
|
|
20355
|
-
dataType.PreComponent = /* @__PURE__ */
|
|
20284
|
+
dataType.PreComponent = /* @__PURE__ */ memo9(dataType.PreComponent, compare);
|
|
20356
20285
|
}
|
|
20357
20286
|
if (dataType.PostComponent) {
|
|
20358
|
-
dataType.PostComponent = /* @__PURE__ */
|
|
20287
|
+
dataType.PostComponent = /* @__PURE__ */ memo9(dataType.PostComponent, compare);
|
|
20359
20288
|
}
|
|
20360
20289
|
return dataType;
|
|
20361
20290
|
}
|
|
@@ -20410,7 +20339,7 @@ function useTypeComponents(value, path) {
|
|
|
20410
20339
|
registry
|
|
20411
20340
|
]);
|
|
20412
20341
|
}
|
|
20413
|
-
var IconBox = (props) => /* @__PURE__ */
|
|
20342
|
+
var IconBox = (props) => /* @__PURE__ */ jsx135(Box10, {
|
|
20414
20343
|
component: "span",
|
|
20415
20344
|
...props,
|
|
20416
20345
|
sx: {
|
|
@@ -20596,18 +20525,18 @@ var DataKeyPair = (props) => {
|
|
|
20596
20525
|
]);
|
|
20597
20526
|
const actionIcons = useMemo7(() => {
|
|
20598
20527
|
if (editing) {
|
|
20599
|
-
return /* @__PURE__ */ jsxs126(
|
|
20528
|
+
return /* @__PURE__ */ jsxs126(Fragment7, {
|
|
20600
20529
|
children: [
|
|
20601
|
-
/* @__PURE__ */
|
|
20602
|
-
children: /* @__PURE__ */
|
|
20530
|
+
/* @__PURE__ */ jsx135(IconBox, {
|
|
20531
|
+
children: /* @__PURE__ */ jsx135(CloseIcon, {
|
|
20603
20532
|
sx: {
|
|
20604
20533
|
fontSize: ".8rem"
|
|
20605
20534
|
},
|
|
20606
20535
|
onClick: abortEditing
|
|
20607
20536
|
})
|
|
20608
20537
|
}),
|
|
20609
|
-
/* @__PURE__ */
|
|
20610
|
-
children: /* @__PURE__ */
|
|
20538
|
+
/* @__PURE__ */ jsx135(IconBox, {
|
|
20539
|
+
children: /* @__PURE__ */ jsx135(CheckIcon, {
|
|
20611
20540
|
sx: {
|
|
20612
20541
|
fontSize: ".8rem"
|
|
20613
20542
|
},
|
|
@@ -20617,9 +20546,9 @@ var DataKeyPair = (props) => {
|
|
|
20617
20546
|
]
|
|
20618
20547
|
});
|
|
20619
20548
|
}
|
|
20620
|
-
return /* @__PURE__ */ jsxs126(
|
|
20549
|
+
return /* @__PURE__ */ jsxs126(Fragment7, {
|
|
20621
20550
|
children: [
|
|
20622
|
-
enableClipboard && /* @__PURE__ */
|
|
20551
|
+
enableClipboard && /* @__PURE__ */ jsx135(IconBox, {
|
|
20623
20552
|
onClick: (event) => {
|
|
20624
20553
|
event.preventDefault();
|
|
20625
20554
|
try {
|
|
@@ -20628,41 +20557,41 @@ var DataKeyPair = (props) => {
|
|
|
20628
20557
|
console.error(e2);
|
|
20629
20558
|
}
|
|
20630
20559
|
},
|
|
20631
|
-
children: copied ? /* @__PURE__ */
|
|
20560
|
+
children: copied ? /* @__PURE__ */ jsx135(CheckIcon, {
|
|
20632
20561
|
sx: {
|
|
20633
20562
|
fontSize: ".8rem"
|
|
20634
20563
|
}
|
|
20635
|
-
}) : /* @__PURE__ */
|
|
20564
|
+
}) : /* @__PURE__ */ jsx135(ContentCopyIcon, {
|
|
20636
20565
|
sx: {
|
|
20637
20566
|
fontSize: ".8rem"
|
|
20638
20567
|
}
|
|
20639
20568
|
})
|
|
20640
20569
|
}),
|
|
20641
|
-
Editor && editable && serialize && deserialize && /* @__PURE__ */
|
|
20570
|
+
Editor && editable && serialize && deserialize && /* @__PURE__ */ jsx135(IconBox, {
|
|
20642
20571
|
onClick: startEditing,
|
|
20643
|
-
children: /* @__PURE__ */
|
|
20572
|
+
children: /* @__PURE__ */ jsx135(EditIcon, {
|
|
20644
20573
|
sx: {
|
|
20645
20574
|
fontSize: ".8rem"
|
|
20646
20575
|
}
|
|
20647
20576
|
})
|
|
20648
20577
|
}),
|
|
20649
|
-
enableAdd && /* @__PURE__ */
|
|
20578
|
+
enableAdd && /* @__PURE__ */ jsx135(IconBox, {
|
|
20650
20579
|
onClick: (event) => {
|
|
20651
20580
|
event.preventDefault();
|
|
20652
20581
|
onAdd === null || onAdd === void 0 ? void 0 : onAdd(path);
|
|
20653
20582
|
},
|
|
20654
|
-
children: /* @__PURE__ */
|
|
20583
|
+
children: /* @__PURE__ */ jsx135(AddBoxIcon, {
|
|
20655
20584
|
sx: {
|
|
20656
20585
|
fontSize: ".8rem"
|
|
20657
20586
|
}
|
|
20658
20587
|
})
|
|
20659
20588
|
}),
|
|
20660
|
-
enableDelete && /* @__PURE__ */
|
|
20589
|
+
enableDelete && /* @__PURE__ */ jsx135(IconBox, {
|
|
20661
20590
|
onClick: (event) => {
|
|
20662
20591
|
event.preventDefault();
|
|
20663
20592
|
onDelete === null || onDelete === void 0 ? void 0 : onDelete(path, value);
|
|
20664
20593
|
},
|
|
20665
|
-
children: /* @__PURE__ */
|
|
20594
|
+
children: /* @__PURE__ */ jsx135(DeleteIcon, {
|
|
20666
20595
|
sx: {
|
|
20667
20596
|
fontSize: ".9rem"
|
|
20668
20597
|
}
|
|
@@ -20710,7 +20639,7 @@ var DataKeyPair = (props) => {
|
|
|
20710
20639
|
prevValue,
|
|
20711
20640
|
nestedIndex
|
|
20712
20641
|
]);
|
|
20713
|
-
return /* @__PURE__ */ jsxs126(
|
|
20642
|
+
return /* @__PURE__ */ jsxs126(Box10, {
|
|
20714
20643
|
className: "data-key-pair",
|
|
20715
20644
|
"data-testid": "data-key-pair" + path.join("."),
|
|
20716
20645
|
sx: {
|
|
@@ -20743,7 +20672,7 @@ var DataKeyPair = (props) => {
|
|
|
20743
20672
|
setInspect
|
|
20744
20673
|
]),
|
|
20745
20674
|
children: [
|
|
20746
|
-
expandable ? inspect ? /* @__PURE__ */
|
|
20675
|
+
expandable ? inspect ? /* @__PURE__ */ jsx135(ExpandMoreIcon, {
|
|
20747
20676
|
className: "data-key-toggle-expanded",
|
|
20748
20677
|
sx: {
|
|
20749
20678
|
fontSize: ".8rem",
|
|
@@ -20751,7 +20680,7 @@ var DataKeyPair = (props) => {
|
|
|
20751
20680
|
cursor: "pointer"
|
|
20752
20681
|
}
|
|
20753
20682
|
}
|
|
20754
|
-
}) : /* @__PURE__ */
|
|
20683
|
+
}) : /* @__PURE__ */ jsx135(ChevronRightIcon, {
|
|
20755
20684
|
className: "data-key-toggle-collapsed",
|
|
20756
20685
|
sx: {
|
|
20757
20686
|
fontSize: ".8rem",
|
|
@@ -20760,44 +20689,44 @@ var DataKeyPair = (props) => {
|
|
|
20760
20689
|
}
|
|
20761
20690
|
}
|
|
20762
20691
|
}) : null,
|
|
20763
|
-
/* @__PURE__ */
|
|
20692
|
+
/* @__PURE__ */ jsx135(Box10, {
|
|
20764
20693
|
ref: highlightContainer,
|
|
20765
20694
|
className: "data-key-key",
|
|
20766
20695
|
component: "span",
|
|
20767
|
-
children: isRoot && depth === 0 ? rootName !== false ? quotesOnKeys ? /* @__PURE__ */ jsxs126(
|
|
20696
|
+
children: isRoot && depth === 0 ? rootName !== false ? quotesOnKeys ? /* @__PURE__ */ jsxs126(Fragment7, {
|
|
20768
20697
|
children: [
|
|
20769
20698
|
'"',
|
|
20770
20699
|
rootName,
|
|
20771
20700
|
'"'
|
|
20772
20701
|
]
|
|
20773
|
-
}) : /* @__PURE__ */
|
|
20702
|
+
}) : /* @__PURE__ */ jsx135(Fragment7, {
|
|
20774
20703
|
children: rootName
|
|
20775
|
-
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */
|
|
20704
|
+
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */ jsx135(KeyRenderer, {
|
|
20776
20705
|
...downstreamProps
|
|
20777
|
-
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */
|
|
20706
|
+
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */ jsx135(Box10, {
|
|
20778
20707
|
component: "span",
|
|
20779
20708
|
style: {
|
|
20780
20709
|
color: numberKeyColor,
|
|
20781
20710
|
userSelect: isNumberKey ? "none" : "auto"
|
|
20782
20711
|
},
|
|
20783
20712
|
children: key
|
|
20784
|
-
}) : quotesOnKeys ? /* @__PURE__ */ jsxs126(
|
|
20713
|
+
}) : quotesOnKeys ? /* @__PURE__ */ jsxs126(Fragment7, {
|
|
20785
20714
|
children: [
|
|
20786
20715
|
'"',
|
|
20787
20716
|
key,
|
|
20788
20717
|
'"'
|
|
20789
20718
|
]
|
|
20790
|
-
}) : /* @__PURE__ */
|
|
20719
|
+
}) : /* @__PURE__ */ jsx135(Fragment7, {
|
|
20791
20720
|
children: key
|
|
20792
20721
|
}))
|
|
20793
20722
|
}),
|
|
20794
|
-
isRoot ? rootName !== false && /* @__PURE__ */
|
|
20723
|
+
isRoot ? rootName !== false && /* @__PURE__ */ jsx135(DataBox, {
|
|
20795
20724
|
className: "data-key-colon",
|
|
20796
20725
|
sx: {
|
|
20797
20726
|
mr: 0.5
|
|
20798
20727
|
},
|
|
20799
20728
|
children: ":"
|
|
20800
|
-
}) : nestedIndex === void 0 && /* @__PURE__ */
|
|
20729
|
+
}) : nestedIndex === void 0 && /* @__PURE__ */ jsx135(DataBox, {
|
|
20801
20730
|
className: "data-key-colon",
|
|
20802
20731
|
sx: {
|
|
20803
20732
|
mr: 0.5,
|
|
@@ -20808,29 +20737,29 @@ var DataKeyPair = (props) => {
|
|
|
20808
20737
|
},
|
|
20809
20738
|
children: ":"
|
|
20810
20739
|
}),
|
|
20811
|
-
PreComponent && /* @__PURE__ */
|
|
20740
|
+
PreComponent && /* @__PURE__ */ jsx135(PreComponent, {
|
|
20812
20741
|
...downstreamProps
|
|
20813
20742
|
}),
|
|
20814
20743
|
isHover && expandable && inspect && actionIcons
|
|
20815
20744
|
]
|
|
20816
20745
|
}),
|
|
20817
|
-
editing && editable ? Editor && /* @__PURE__ */
|
|
20746
|
+
editing && editable ? Editor && /* @__PURE__ */ jsx135(Editor, {
|
|
20818
20747
|
path,
|
|
20819
20748
|
value: tempValue,
|
|
20820
20749
|
setValue: setTempValue,
|
|
20821
20750
|
abortEditing,
|
|
20822
20751
|
commitEditing
|
|
20823
|
-
}) : Component ? /* @__PURE__ */
|
|
20752
|
+
}) : Component ? /* @__PURE__ */ jsx135(Component, {
|
|
20824
20753
|
...downstreamProps
|
|
20825
|
-
}) : /* @__PURE__ */
|
|
20754
|
+
}) : /* @__PURE__ */ jsx135(Box10, {
|
|
20826
20755
|
component: "span",
|
|
20827
20756
|
className: "data-value-fallback",
|
|
20828
20757
|
children: "fallback: ".concat(value)
|
|
20829
20758
|
}),
|
|
20830
|
-
PostComponent && /* @__PURE__ */
|
|
20759
|
+
PostComponent && /* @__PURE__ */ jsx135(PostComponent, {
|
|
20831
20760
|
...downstreamProps
|
|
20832
20761
|
}),
|
|
20833
|
-
!last && displayComma && /* @__PURE__ */
|
|
20762
|
+
!last && displayComma && /* @__PURE__ */ jsx135(DataBox, {
|
|
20834
20763
|
children: ","
|
|
20835
20764
|
}),
|
|
20836
20765
|
isHover && expandable && !inspect && actionIcons,
|
|
@@ -20950,7 +20879,7 @@ var JsonViewerInner = (props) => {
|
|
|
20950
20879
|
const onMouseLeave = useCallback9(() => setHover(null), [
|
|
20951
20880
|
setHover
|
|
20952
20881
|
]);
|
|
20953
|
-
return /* @__PURE__ */
|
|
20882
|
+
return /* @__PURE__ */ jsx135(Paper2, {
|
|
20954
20883
|
elevation: 0,
|
|
20955
20884
|
className: clsx(themeCls, props.className),
|
|
20956
20885
|
style: props.style,
|
|
@@ -20961,7 +20890,7 @@ var JsonViewerInner = (props) => {
|
|
|
20961
20890
|
...props.sx
|
|
20962
20891
|
},
|
|
20963
20892
|
onMouseLeave,
|
|
20964
|
-
children: /* @__PURE__ */
|
|
20893
|
+
children: /* @__PURE__ */ jsx135(DataKeyPair, {
|
|
20965
20894
|
value,
|
|
20966
20895
|
prevValue,
|
|
20967
20896
|
path: emptyPath,
|
|
@@ -21013,13 +20942,13 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
21013
20942
|
};
|
|
21014
20943
|
const jsonViewerStore = useMemo7(() => createJsonViewerStore(props), []);
|
|
21015
20944
|
const typeRegistryStore = useMemo7(() => createTypeRegistryStore(), []);
|
|
21016
|
-
return /* @__PURE__ */
|
|
20945
|
+
return /* @__PURE__ */ jsx135(ThemeProvider, {
|
|
21017
20946
|
theme,
|
|
21018
|
-
children: /* @__PURE__ */
|
|
20947
|
+
children: /* @__PURE__ */ jsx135(TypeRegistryStoreContext.Provider, {
|
|
21019
20948
|
value: typeRegistryStore,
|
|
21020
|
-
children: /* @__PURE__ */
|
|
20949
|
+
children: /* @__PURE__ */ jsx135(JsonViewerStoreContext.Provider, {
|
|
21021
20950
|
value: jsonViewerStore,
|
|
21022
|
-
children: /* @__PURE__ */
|
|
20951
|
+
children: /* @__PURE__ */ jsx135(JsonViewerInner, {
|
|
21023
20952
|
...mixedProps
|
|
21024
20953
|
})
|
|
21025
20954
|
})
|
|
@@ -21028,8 +20957,8 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
21028
20957
|
};
|
|
21029
20958
|
|
|
21030
20959
|
// src/components/event-details/payload-viewer.tsx
|
|
21031
|
-
import { memo as
|
|
21032
|
-
import { jsx as
|
|
20960
|
+
import { memo as memo10 } from "react";
|
|
20961
|
+
import { jsx as jsx136 } from "react/jsx-runtime";
|
|
21033
20962
|
function tryParseJson(value) {
|
|
21034
20963
|
if (typeof value !== "string") {
|
|
21035
20964
|
return value;
|
|
@@ -21040,9 +20969,9 @@ function tryParseJson(value) {
|
|
|
21040
20969
|
return value;
|
|
21041
20970
|
}
|
|
21042
20971
|
}
|
|
21043
|
-
var PayloadViewer =
|
|
20972
|
+
var PayloadViewer = memo10(({ sx, testId, value }) => {
|
|
21044
20973
|
const theme = useTheme3();
|
|
21045
|
-
return /* @__PURE__ */
|
|
20974
|
+
return /* @__PURE__ */ jsx136(Box11, { "data-testid": testId, sx: { backgroundColor: "background.default", borderRadius: 1, fontSize: 12, overflow: "auto", p: 1, ...sx }, children: /* @__PURE__ */ jsx136(
|
|
21046
20975
|
JsonViewer,
|
|
21047
20976
|
{
|
|
21048
20977
|
displayDataTypes: false,
|
|
@@ -21056,10 +20985,10 @@ var PayloadViewer = memo11(({ sx, testId, value }) => {
|
|
|
21056
20985
|
});
|
|
21057
20986
|
|
|
21058
20987
|
// src/components/event-details/event-detail.tsx
|
|
21059
|
-
import { Fragment as
|
|
21060
|
-
var DetailRow2 = ({ content, label }) => /* @__PURE__ */ jsxs127(
|
|
21061
|
-
/* @__PURE__ */
|
|
21062
|
-
/* @__PURE__ */
|
|
20988
|
+
import { Fragment as Fragment8, jsx as jsx137, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
20989
|
+
var DetailRow2 = ({ content, label }) => /* @__PURE__ */ jsxs127(Box12, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
20990
|
+
/* @__PURE__ */ jsx137(Typography8, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
20991
|
+
/* @__PURE__ */ jsx137(Box12, { children: typeof content === "string" ? /* @__PURE__ */ jsx137(Typography8, { sx: { color: "text.primary", whiteSpace: "pre-wrap" }, variant: "caption", children: content }) : content })
|
|
21063
20992
|
] });
|
|
21064
20993
|
var EventMessage = ({ event }) => {
|
|
21065
20994
|
const [isOpen, setIsOpen] = useState12(false);
|
|
@@ -21091,9 +21020,9 @@ var EventMessage = ({ event }) => {
|
|
|
21091
21020
|
() => isOverflowing || hasAdditionalContent,
|
|
21092
21021
|
[isOverflowing, hasAdditionalContent]
|
|
21093
21022
|
);
|
|
21094
|
-
return /* @__PURE__ */ jsxs127(
|
|
21095
|
-
/* @__PURE__ */ jsxs127(
|
|
21096
|
-
Boolean(shouldShowToggle) && /* @__PURE__ */
|
|
21023
|
+
return /* @__PURE__ */ jsxs127(Box12, { sx: { display: "flex", flexDirection: "column" }, children: [
|
|
21024
|
+
/* @__PURE__ */ jsxs127(Box12, { sx: { alignItems: "center", display: "flex" }, children: [
|
|
21025
|
+
Boolean(shouldShowToggle) && /* @__PURE__ */ jsx137(
|
|
21097
21026
|
IconButton3,
|
|
21098
21027
|
{
|
|
21099
21028
|
onClick: () => {
|
|
@@ -21101,10 +21030,10 @@ var EventMessage = ({ event }) => {
|
|
|
21101
21030
|
},
|
|
21102
21031
|
size: "small",
|
|
21103
21032
|
sx: { mr: 1, p: 0 },
|
|
21104
|
-
children: isOpen ? /* @__PURE__ */
|
|
21033
|
+
children: isOpen ? /* @__PURE__ */ jsx137(KeyboardArrowDown, { sx: { fontSize: 16 } }) : /* @__PURE__ */ jsx137(KeyboardArrowRight, { sx: { fontSize: 16 } })
|
|
21105
21034
|
}
|
|
21106
21035
|
),
|
|
21107
|
-
/* @__PURE__ */
|
|
21036
|
+
/* @__PURE__ */ jsx137(
|
|
21108
21037
|
Typography8,
|
|
21109
21038
|
{
|
|
21110
21039
|
ref: textReference,
|
|
@@ -21122,12 +21051,12 @@ var EventMessage = ({ event }) => {
|
|
|
21122
21051
|
}
|
|
21123
21052
|
)
|
|
21124
21053
|
] }),
|
|
21125
|
-
isOpen && /* @__PURE__ */
|
|
21126
|
-
Boolean(parsedMessage.message) && /* @__PURE__ */
|
|
21127
|
-
Boolean(parsedMessage.details) && /* @__PURE__ */
|
|
21054
|
+
isOpen && /* @__PURE__ */ jsx137(Box12, { sx: { borderColor: "divider", borderLeft: "2px solid", ml: 1, mt: 0.5, pl: 1.5, py: 0.5 }, children: isIAMPolicyEvent ? /* @__PURE__ */ jsx137(IAMEventDetail, { event }) : /* @__PURE__ */ jsxs127(Fragment8, { children: [
|
|
21055
|
+
Boolean(parsedMessage.message) && /* @__PURE__ */ jsx137(DetailRow2, { content: parsedMessage.message, label: "Message" }),
|
|
21056
|
+
Boolean(parsedMessage.details) && /* @__PURE__ */ jsx137(
|
|
21128
21057
|
DetailRow2,
|
|
21129
21058
|
{
|
|
21130
|
-
content: /* @__PURE__ */
|
|
21059
|
+
content: /* @__PURE__ */ jsx137(PayloadViewer, { sx: { px: 0 }, value: tryParseJson(parsedMessage.details) }),
|
|
21131
21060
|
label: "Details"
|
|
21132
21061
|
}
|
|
21133
21062
|
)
|
|
@@ -21160,15 +21089,15 @@ var EventDetail = ({
|
|
|
21160
21089
|
type
|
|
21161
21090
|
}) => {
|
|
21162
21091
|
if (type === "permission") {
|
|
21163
|
-
return /* @__PURE__ */
|
|
21092
|
+
return /* @__PURE__ */ jsx137(IAMPermissionDetail, { events, spanStatusCode });
|
|
21164
21093
|
}
|
|
21165
21094
|
const eventLevel = getEventLevelFromGroup(type);
|
|
21166
|
-
return /* @__PURE__ */ jsxs127(
|
|
21167
|
-
/* @__PURE__ */ jsxs127(
|
|
21168
|
-
/* @__PURE__ */
|
|
21169
|
-
/* @__PURE__ */
|
|
21095
|
+
return /* @__PURE__ */ jsxs127(Box12, { children: [
|
|
21096
|
+
/* @__PURE__ */ jsxs127(Box12, { sx: { alignItems: "center", display: "flex", mb: 0.5 }, children: [
|
|
21097
|
+
/* @__PURE__ */ jsx137(StatusIcon2, { errorLevel: eventLevel }),
|
|
21098
|
+
/* @__PURE__ */ jsx137(Typography8, { color: "text.secondary", sx: { fontWeight: 600, ml: 0.5 }, variant: "caption", children: displayText })
|
|
21170
21099
|
] }),
|
|
21171
|
-
/* @__PURE__ */
|
|
21100
|
+
/* @__PURE__ */ jsx137(Box12, { children: events.map((event) => /* @__PURE__ */ jsx137(Box12, { sx: { maxWidth: "100%", mb: 0.5 }, children: /* @__PURE__ */ jsx137(EventMessage, { event }) }, `${event.span_id}-${event.event_id}`)) })
|
|
21172
21101
|
] });
|
|
21173
21102
|
};
|
|
21174
21103
|
|
|
@@ -31125,9 +31054,9 @@ var QueryStatus = {
|
|
|
31125
31054
|
};
|
|
31126
31055
|
|
|
31127
31056
|
// src/components/event-details/lambda-invoke-logs-section.tsx
|
|
31128
|
-
import { Box as
|
|
31057
|
+
import { Box as Box13, CircularProgress as CircularProgress3, Stack as Stack3, Typography as Typography9 } from "@mui/material";
|
|
31129
31058
|
import { useEffect as useEffect19, useMemo as useMemo9, useRef as useRef13, useState as useState13 } from "react";
|
|
31130
|
-
import { jsx as
|
|
31059
|
+
import { jsx as jsx138, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
31131
31060
|
var POLL_INTERVAL_MS2 = 1e3;
|
|
31132
31061
|
async function pollQueryResults(client, queryId) {
|
|
31133
31062
|
return client.send(new GetQueryResultsCommand({ queryId }));
|
|
@@ -31217,30 +31146,30 @@ function useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, en
|
|
|
31217
31146
|
var LambdaInvokeLogsSection = ({ endTimeNano, functionName: functionName2, region, requestId, startTimeNano }) => {
|
|
31218
31147
|
const { error, loading, logs } = useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, endTimeNano);
|
|
31219
31148
|
if (loading) {
|
|
31220
|
-
return /* @__PURE__ */ jsxs128(
|
|
31221
|
-
/* @__PURE__ */
|
|
31222
|
-
/* @__PURE__ */
|
|
31149
|
+
return /* @__PURE__ */ jsxs128(Stack3, { alignItems: "center", direction: "row", spacing: 1, children: [
|
|
31150
|
+
/* @__PURE__ */ jsx138(CircularProgress3, { size: 14 }),
|
|
31151
|
+
/* @__PURE__ */ jsx138(Typography9, { color: "text.secondary", variant: "body2", children: "Loading logs\u2026" })
|
|
31223
31152
|
] });
|
|
31224
31153
|
}
|
|
31225
31154
|
if (error !== void 0) {
|
|
31226
|
-
return /* @__PURE__ */
|
|
31155
|
+
return /* @__PURE__ */ jsx138(Typography9, { color: "error", variant: "body2", children: error.message });
|
|
31227
31156
|
}
|
|
31228
31157
|
if (logs.length === 0) {
|
|
31229
|
-
return /* @__PURE__ */
|
|
31158
|
+
return /* @__PURE__ */ jsx138(Typography9, { color: "text.secondary", variant: "body2", children: "No logs found for this invocation." });
|
|
31230
31159
|
}
|
|
31231
|
-
return /* @__PURE__ */
|
|
31160
|
+
return /* @__PURE__ */ jsx138(Box13, { sx: { backgroundColor: (theme) => theme.palette.background.default, borderRadius: 1, p: 1 }, children: /* @__PURE__ */ jsx138("pre", { style: { margin: 0, overflow: "auto" }, children: logs.map((log) => /* @__PURE__ */ jsx138(Typography9, { variant: "body2", children: `[${log.timestamp}] ${log.message}` }, log.ptr)) }) });
|
|
31232
31161
|
};
|
|
31233
31162
|
|
|
31234
31163
|
// src/components/event-details/toggle-section.tsx
|
|
31235
31164
|
import { KeyboardArrowDown as KeyboardArrowDown2, KeyboardArrowRight as KeyboardArrowRight2 } from "@mui/icons-material";
|
|
31236
|
-
import { Box as
|
|
31165
|
+
import { Box as Box14, Typography as Typography10 } from "@mui/material";
|
|
31237
31166
|
import { useState as useState14 } from "react";
|
|
31238
|
-
import { jsx as
|
|
31167
|
+
import { jsx as jsx139, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
31239
31168
|
var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
31240
31169
|
const [isOpen, setIsOpen] = useState14(initialOpen);
|
|
31241
|
-
return /* @__PURE__ */ jsxs129(
|
|
31170
|
+
return /* @__PURE__ */ jsxs129(Box14, { sx: { mt: 4 }, children: [
|
|
31242
31171
|
/* @__PURE__ */ jsxs129(
|
|
31243
|
-
|
|
31172
|
+
Box14,
|
|
31244
31173
|
{
|
|
31245
31174
|
onClick: () => {
|
|
31246
31175
|
setIsOpen(!isOpen);
|
|
@@ -31254,7 +31183,7 @@ var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
|
31254
31183
|
},
|
|
31255
31184
|
children: [
|
|
31256
31185
|
/* @__PURE__ */ jsxs129(
|
|
31257
|
-
|
|
31186
|
+
Box14,
|
|
31258
31187
|
{
|
|
31259
31188
|
role: "button",
|
|
31260
31189
|
sx: {
|
|
@@ -31263,23 +31192,23 @@ var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
|
31263
31192
|
gap: 1
|
|
31264
31193
|
},
|
|
31265
31194
|
children: [
|
|
31266
|
-
/* @__PURE__ */
|
|
31267
|
-
isOpen ? /* @__PURE__ */
|
|
31195
|
+
/* @__PURE__ */ jsx139(Typography10, { sx: { fontWeight: 600 }, variant: "subtitle2", children: headline }),
|
|
31196
|
+
isOpen ? /* @__PURE__ */ jsx139(KeyboardArrowDown2, { sx: { color: "text.secondary", height: 20, width: 20 } }) : /* @__PURE__ */ jsx139(KeyboardArrowRight2, { sx: { color: "text.secondary", height: 20, width: 20 } })
|
|
31268
31197
|
]
|
|
31269
31198
|
}
|
|
31270
31199
|
),
|
|
31271
|
-
action !== false && /* @__PURE__ */
|
|
31200
|
+
action !== false && /* @__PURE__ */ jsx139(Box14, { onClick: (event) => {
|
|
31272
31201
|
event.stopPropagation();
|
|
31273
31202
|
}, children: action })
|
|
31274
31203
|
]
|
|
31275
31204
|
}
|
|
31276
31205
|
),
|
|
31277
|
-
isOpen && /* @__PURE__ */
|
|
31206
|
+
isOpen && /* @__PURE__ */ jsx139(Box14, { children })
|
|
31278
31207
|
] });
|
|
31279
31208
|
};
|
|
31280
31209
|
|
|
31281
31210
|
// src/components/event-details/event-details.tsx
|
|
31282
|
-
import { Fragment as
|
|
31211
|
+
import { Fragment as Fragment9, jsx as jsx140, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
31283
31212
|
var checkIsLambdaInvoke = (span) => {
|
|
31284
31213
|
if (span.service_name !== "lambda") {
|
|
31285
31214
|
return false;
|
|
@@ -31300,7 +31229,7 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
31300
31229
|
);
|
|
31301
31230
|
const [parseNestedJson, setParseNestedJson] = useState15(true);
|
|
31302
31231
|
if (!selectedEvent) {
|
|
31303
|
-
return /* @__PURE__ */
|
|
31232
|
+
return /* @__PURE__ */ jsx140(Box15, { sx: { p: 3, textAlign: "center" }, children: /* @__PURE__ */ jsx140(Typography11, { color: "text.secondary", variant: "body2", children: "Select an operation to view graph" }) });
|
|
31304
31233
|
}
|
|
31305
31234
|
const isLambdaInvoke = checkIsLambdaInvoke(selectedEvent);
|
|
31306
31235
|
const isSqsSendMessage = checkIsSqsSendMessage(selectedEvent);
|
|
@@ -31326,9 +31255,9 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
31326
31255
|
const exceptionPayload = tryParseJson(selectedEvent.attributes?.["localstack.aws.service.exception"]);
|
|
31327
31256
|
const hasPayloads = requestPayload !== void 0 || responsePayload !== void 0 || exceptionPayload !== void 0 || isResponseSuppressed;
|
|
31328
31257
|
const duration = selectedEvent.end_time_unix_nano ? ((BigInt(selectedEvent.end_time_unix_nano) - BigInt(selectedEvent.start_time_unix_nano)) / BigInt("1000000")).toString() : void 0;
|
|
31329
|
-
return /* @__PURE__ */ jsxs130(
|
|
31258
|
+
return /* @__PURE__ */ jsxs130(Box15, { "data-testid": EVENT_DETAILS_TEST_ID, sx: { display: "flex", flexDirection: "column", height: "100%" }, children: [
|
|
31330
31259
|
/* @__PURE__ */ jsxs130(
|
|
31331
|
-
|
|
31260
|
+
Box15,
|
|
31332
31261
|
{
|
|
31333
31262
|
sx: {
|
|
31334
31263
|
alignItems: "center",
|
|
@@ -31340,90 +31269,90 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
31340
31269
|
py: 1
|
|
31341
31270
|
},
|
|
31342
31271
|
children: [
|
|
31343
|
-
/* @__PURE__ */
|
|
31344
|
-
onClose && /* @__PURE__ */
|
|
31272
|
+
/* @__PURE__ */ jsx140(Box15, { children: /* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "h6", children: "Operation Details" }) }),
|
|
31273
|
+
onClose && /* @__PURE__ */ jsx140(IconButton4, { "data-testid": EVENT_DETAILS_CLOSE_BUTTON_TEST_ID, onClick: onClose, size: "small", children: /* @__PURE__ */ jsx140(Close2, {}) })
|
|
31345
31274
|
]
|
|
31346
31275
|
}
|
|
31347
31276
|
),
|
|
31348
|
-
/* @__PURE__ */
|
|
31349
|
-
/* @__PURE__ */
|
|
31350
|
-
/* @__PURE__ */ jsxs130(
|
|
31351
|
-
/* @__PURE__ */ jsxs130(
|
|
31352
|
-
/* @__PURE__ */
|
|
31353
|
-
/* @__PURE__ */ jsxs130(
|
|
31354
|
-
/* @__PURE__ */
|
|
31355
|
-
/* @__PURE__ */
|
|
31277
|
+
/* @__PURE__ */ jsx140(Box15, { sx: { flexGrow: 1, overflow: "auto", p: 2 }, children: /* @__PURE__ */ jsxs130(Stack4, { spacing: 2, children: [
|
|
31278
|
+
/* @__PURE__ */ jsx140(ToggleSection, { headline: "Basic Information", children: /* @__PURE__ */ jsxs130(Stack4, { "data-testid": EVENT_DETAILS_SECTION_BASIC_INFORMATION_TEST_ID, spacing: 1, children: [
|
|
31279
|
+
/* @__PURE__ */ jsxs130(Box15, { sx: { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
31280
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31281
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Service" }),
|
|
31282
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31283
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_SERVICE_NAME_TEST_ID, variant: "body2", children: getServiceDisplayName(selectedEvent.service_name) }),
|
|
31284
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: getServiceDisplayName(selectedEvent.service_name) })
|
|
31356
31285
|
] })
|
|
31357
31286
|
] }),
|
|
31358
|
-
/* @__PURE__ */ jsxs130(
|
|
31359
|
-
/* @__PURE__ */
|
|
31360
|
-
/* @__PURE__ */ jsxs130(
|
|
31361
|
-
/* @__PURE__ */
|
|
31362
|
-
/* @__PURE__ */
|
|
31287
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31288
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Action" }),
|
|
31289
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31290
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_OPERATION_NAME_TEST_ID, variant: "body2", children: selectedEvent.operation_name }),
|
|
31291
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.operation_name })
|
|
31363
31292
|
] })
|
|
31364
31293
|
] })
|
|
31365
31294
|
] }),
|
|
31366
|
-
/* @__PURE__ */ jsxs130(
|
|
31367
|
-
/* @__PURE__ */ jsxs130(
|
|
31368
|
-
/* @__PURE__ */
|
|
31369
|
-
/* @__PURE__ */ jsxs130(
|
|
31370
|
-
/* @__PURE__ */
|
|
31371
|
-
/* @__PURE__ */
|
|
31295
|
+
/* @__PURE__ */ jsxs130(Box15, { sx: cfnResourceType ? { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" } : void 0, children: [
|
|
31296
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31297
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource" }),
|
|
31298
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", "data-testid": EVENT_DETAILS_RESOURCE_NAME_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31299
|
+
/* @__PURE__ */ jsx140(Typography11, { variant: "body2", children: selectedEvent.resource_name }),
|
|
31300
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.resource_name })
|
|
31372
31301
|
] })
|
|
31373
31302
|
] }),
|
|
31374
|
-
Boolean(cfnResourceType) && /* @__PURE__ */ jsxs130(
|
|
31375
|
-
/* @__PURE__ */
|
|
31376
|
-
/* @__PURE__ */ jsxs130(
|
|
31377
|
-
/* @__PURE__ */
|
|
31378
|
-
/* @__PURE__ */
|
|
31303
|
+
Boolean(cfnResourceType) && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31304
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource Type" }),
|
|
31305
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31306
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_CFN_RESOURCE_TYPE_TEST_ID, variant: "body2", children: cfnResourceType }),
|
|
31307
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: cfnResourceType })
|
|
31379
31308
|
] })
|
|
31380
31309
|
] })
|
|
31381
31310
|
] }),
|
|
31382
|
-
Boolean(resourceArn) && /* @__PURE__ */ jsxs130(
|
|
31383
|
-
/* @__PURE__ */
|
|
31384
|
-
/* @__PURE__ */ jsxs130(
|
|
31385
|
-
/* @__PURE__ */
|
|
31386
|
-
/* @__PURE__ */
|
|
31311
|
+
Boolean(resourceArn) && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31312
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource ARN" }),
|
|
31313
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", "data-testid": EVENT_DETAILS_RESOURCE_ARN_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31314
|
+
/* @__PURE__ */ jsx140(Typography11, { variant: "body2", children: resourceArn }),
|
|
31315
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: resourceArn })
|
|
31387
31316
|
] })
|
|
31388
31317
|
] }),
|
|
31389
|
-
/* @__PURE__ */ jsxs130(
|
|
31390
|
-
/* @__PURE__ */ jsxs130(
|
|
31391
|
-
/* @__PURE__ */
|
|
31392
|
-
/* @__PURE__ */ jsxs130(
|
|
31393
|
-
/* @__PURE__ */
|
|
31394
|
-
/* @__PURE__ */
|
|
31318
|
+
/* @__PURE__ */ jsxs130(Box15, { sx: { display: "grid", gap: 1, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
31319
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31320
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Account" }),
|
|
31321
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31322
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_ACCOUNT_TEST_ID, variant: "body2", children: selectedEvent.account_id }),
|
|
31323
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.account_id })
|
|
31395
31324
|
] })
|
|
31396
31325
|
] }),
|
|
31397
|
-
/* @__PURE__ */ jsxs130(
|
|
31398
|
-
/* @__PURE__ */
|
|
31399
|
-
/* @__PURE__ */ jsxs130(
|
|
31400
|
-
/* @__PURE__ */
|
|
31401
|
-
/* @__PURE__ */
|
|
31326
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31327
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Region" }),
|
|
31328
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31329
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_REGION_TEST_ID, variant: "body2", children: selectedEvent.region }),
|
|
31330
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.region })
|
|
31402
31331
|
] })
|
|
31403
31332
|
] })
|
|
31404
31333
|
] }),
|
|
31405
|
-
/* @__PURE__ */ jsxs130(
|
|
31406
|
-
/* @__PURE__ */ jsxs130(
|
|
31407
|
-
/* @__PURE__ */
|
|
31408
|
-
/* @__PURE__ */ jsxs130(
|
|
31409
|
-
/* @__PURE__ */
|
|
31410
|
-
/* @__PURE__ */
|
|
31334
|
+
/* @__PURE__ */ jsxs130(Box15, { sx: { display: "grid", gap: 1, gridTemplateColumns: duration === void 0 ? "1fr" : "1.3fr 1fr" }, children: [
|
|
31335
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31336
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Start Time" }),
|
|
31337
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", "data-testid": EVENT_DETAILS_START_TIME_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31338
|
+
/* @__PURE__ */ jsx140(Typography11, { variant: "body2", children: /* @__PURE__ */ jsx140(ResponsiveTimestampCell, { date: unixNanoToDate(selectedEvent.start_time_unix_nano) }) }),
|
|
31339
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString() })
|
|
31411
31340
|
] })
|
|
31412
31341
|
] }),
|
|
31413
|
-
duration !== void 0 && /* @__PURE__ */ jsxs130(
|
|
31414
|
-
/* @__PURE__ */
|
|
31415
|
-
/* @__PURE__ */ jsxs130(
|
|
31342
|
+
duration !== void 0 && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31343
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Duration" }),
|
|
31344
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", "data-testid": EVENT_DETAILS_DURATION_TEST_ID, direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31416
31345
|
/* @__PURE__ */ jsxs130(Typography11, { variant: "body2", children: [
|
|
31417
31346
|
duration,
|
|
31418
31347
|
"ms"
|
|
31419
31348
|
] }),
|
|
31420
|
-
/* @__PURE__ */
|
|
31349
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: `${duration}ms` })
|
|
31421
31350
|
] })
|
|
31422
31351
|
] })
|
|
31423
31352
|
] }),
|
|
31424
|
-
/* @__PURE__ */ jsxs130(
|
|
31425
|
-
/* @__PURE__ */
|
|
31426
|
-
/* @__PURE__ */
|
|
31353
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31354
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Status" }),
|
|
31355
|
+
/* @__PURE__ */ jsx140(Stack4, { alignItems: "center", direction: "row", flexWrap: "wrap", gap: 1, sx: { mb: eventGroups.errors || eventGroups.warnings ? 1 : 0 }, children: /* @__PURE__ */ jsx140(
|
|
31427
31356
|
Chip3,
|
|
31428
31357
|
{
|
|
31429
31358
|
color: selectedEvent.status_code === 2 ? "error" : selectedEvent.status_code === 1 ? "success" : "default",
|
|
@@ -31434,50 +31363,50 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
31434
31363
|
) })
|
|
31435
31364
|
] })
|
|
31436
31365
|
] }) }),
|
|
31437
|
-
/* @__PURE__ */
|
|
31366
|
+
/* @__PURE__ */ jsx140(Divider3, {}),
|
|
31438
31367
|
/* @__PURE__ */ jsxs130(ToggleSection, { headline: "Permissions", children: [
|
|
31439
|
-
selectedEvent.iam_errors_suppressed && /* @__PURE__ */
|
|
31440
|
-
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */
|
|
31441
|
-
eventGroups.permissions && /* @__PURE__ */
|
|
31442
|
-
eventGroups.errors && /* @__PURE__ */
|
|
31443
|
-
eventGroups.warnings && /* @__PURE__ */
|
|
31368
|
+
selectedEvent.iam_errors_suppressed && /* @__PURE__ */ jsx140(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" }),
|
|
31369
|
+
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */ jsx140(Typography11, { color: "text.secondary", variant: "body2", children: "There is no permission information available." }),
|
|
31370
|
+
eventGroups.permissions && /* @__PURE__ */ jsx140(EventDetail, { displayText: "Permissions", events: eventGroups.permissions, spanStatusCode: selectedEvent.status_code, type: "permission" }),
|
|
31371
|
+
eventGroups.errors && /* @__PURE__ */ jsx140(EventDetail, { displayText: "Error", events: eventGroups.errors, type: "error" }),
|
|
31372
|
+
eventGroups.warnings && /* @__PURE__ */ jsx140(EventDetail, { displayText: "Warning", events: eventGroups.warnings, type: "warning" })
|
|
31444
31373
|
] }),
|
|
31445
|
-
hasPayloads && /* @__PURE__ */ jsxs130(
|
|
31446
|
-
/* @__PURE__ */
|
|
31447
|
-
/* @__PURE__ */
|
|
31374
|
+
hasPayloads && /* @__PURE__ */ jsxs130(Fragment9, { children: [
|
|
31375
|
+
/* @__PURE__ */ jsx140(Divider3, {}),
|
|
31376
|
+
/* @__PURE__ */ jsx140(
|
|
31448
31377
|
ToggleSection,
|
|
31449
31378
|
{
|
|
31450
|
-
action: /* @__PURE__ */
|
|
31379
|
+
action: /* @__PURE__ */ jsx140(
|
|
31451
31380
|
FormControlLabel2,
|
|
31452
31381
|
{
|
|
31453
|
-
control: /* @__PURE__ */
|
|
31382
|
+
control: /* @__PURE__ */ jsx140(Switch, { checked: !parseNestedJson, onChange: (event) => {
|
|
31454
31383
|
setParseNestedJson(!event.target.checked);
|
|
31455
31384
|
}, size: "small" }),
|
|
31456
|
-
label: /* @__PURE__ */
|
|
31385
|
+
label: /* @__PURE__ */ jsx140(Typography11, { variant: "caption", children: "View raw data" }),
|
|
31457
31386
|
sx: { mr: 0 }
|
|
31458
31387
|
}
|
|
31459
31388
|
),
|
|
31460
31389
|
headline: "Payloads",
|
|
31461
|
-
children: /* @__PURE__ */ jsxs130(
|
|
31462
|
-
requestPayload !== void 0 && /* @__PURE__ */ jsxs130(
|
|
31463
|
-
/* @__PURE__ */
|
|
31464
|
-
/* @__PURE__ */
|
|
31390
|
+
children: /* @__PURE__ */ jsxs130(Stack4, { spacing: 2, children: [
|
|
31391
|
+
requestPayload !== void 0 && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31392
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Request" }),
|
|
31393
|
+
/* @__PURE__ */ jsx140(PayloadViewer, { testId: EVENT_DETAILS_REQUEST_PAYLOAD, value: requestPayload })
|
|
31465
31394
|
] }),
|
|
31466
|
-
(responsePayload !== void 0 || isResponseSuppressed) && /* @__PURE__ */ jsxs130(
|
|
31467
|
-
/* @__PURE__ */
|
|
31468
|
-
isResponseSuppressed ? /* @__PURE__ */
|
|
31395
|
+
(responsePayload !== void 0 || isResponseSuppressed) && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31396
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Response" }),
|
|
31397
|
+
isResponseSuppressed ? /* @__PURE__ */ jsx140(Box15, { sx: { py: 1 }, children: /* @__PURE__ */ jsx140(Alert4, { severity: "warning", sx: { mb: 1 }, children: "Response payload is available \u2014 upgrade your license to view" }) }) : /* @__PURE__ */ jsx140(PayloadViewer, { testId: EVENT_DETAILS_RESPONSE_PAYLOAD_TEST_ID, value: responsePayload })
|
|
31469
31398
|
] }),
|
|
31470
|
-
exceptionPayload !== void 0 && /* @__PURE__ */ jsxs130(
|
|
31471
|
-
/* @__PURE__ */
|
|
31472
|
-
/* @__PURE__ */
|
|
31399
|
+
exceptionPayload !== void 0 && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31400
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Exception" }),
|
|
31401
|
+
/* @__PURE__ */ jsx140(PayloadViewer, { testId: EVENT_DETAILS_EXCEPTION_PAYLOAD_TEST_ID, value: exceptionPayload })
|
|
31473
31402
|
] })
|
|
31474
31403
|
] })
|
|
31475
31404
|
}
|
|
31476
31405
|
)
|
|
31477
31406
|
] }),
|
|
31478
|
-
isLambdaInvoke && requestId !== void 0 && /* @__PURE__ */ jsxs130(
|
|
31479
|
-
/* @__PURE__ */
|
|
31480
|
-
/* @__PURE__ */
|
|
31407
|
+
isLambdaInvoke && requestId !== void 0 && /* @__PURE__ */ jsxs130(Fragment9, { children: [
|
|
31408
|
+
/* @__PURE__ */ jsx140(Divider3, {}),
|
|
31409
|
+
/* @__PURE__ */ jsx140(ToggleSection, { headline: "Lambda Logs", children: /* @__PURE__ */ jsx140(
|
|
31481
31410
|
LambdaInvokeLogsSection,
|
|
31482
31411
|
{
|
|
31483
31412
|
endTimeNano: selectedEvent.end_time_unix_nano ?? selectedEvent.start_time_unix_nano,
|
|
@@ -31488,30 +31417,30 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
31488
31417
|
}
|
|
31489
31418
|
) })
|
|
31490
31419
|
] }),
|
|
31491
|
-
/* @__PURE__ */
|
|
31492
|
-
/* @__PURE__ */
|
|
31493
|
-
/* @__PURE__ */ jsxs130(
|
|
31494
|
-
/* @__PURE__ */
|
|
31495
|
-
/* @__PURE__ */ jsxs130(
|
|
31496
|
-
/* @__PURE__ */
|
|
31497
|
-
/* @__PURE__ */
|
|
31420
|
+
/* @__PURE__ */ jsx140(Divider3, {}),
|
|
31421
|
+
/* @__PURE__ */ jsx140(ToggleSection, { headline: "Advanced Information", initialOpen: false, children: /* @__PURE__ */ jsxs130(Stack4, { spacing: 1, children: [
|
|
31422
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31423
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Span ID" }),
|
|
31424
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31425
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_SPAN_ID_TEST_ID, variant: "body2", children: selectedEvent.span_id }),
|
|
31426
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.span_id })
|
|
31498
31427
|
] })
|
|
31499
31428
|
] }),
|
|
31500
|
-
/* @__PURE__ */ jsxs130(
|
|
31501
|
-
/* @__PURE__ */
|
|
31502
|
-
/* @__PURE__ */ jsxs130(
|
|
31503
|
-
/* @__PURE__ */
|
|
31504
|
-
/* @__PURE__ */
|
|
31429
|
+
/* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31430
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Trace ID" }),
|
|
31431
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31432
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_TRACE_ID_TEST_ID, variant: "body2", children: selectedEvent.trace_id }),
|
|
31433
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: selectedEvent.trace_id })
|
|
31505
31434
|
] })
|
|
31506
31435
|
] }),
|
|
31507
|
-
requestId !== void 0 && /* @__PURE__ */ jsxs130(
|
|
31508
|
-
/* @__PURE__ */
|
|
31509
|
-
/* @__PURE__ */ jsxs130(
|
|
31510
|
-
/* @__PURE__ */
|
|
31511
|
-
/* @__PURE__ */
|
|
31436
|
+
requestId !== void 0 && /* @__PURE__ */ jsxs130(Box15, { children: [
|
|
31437
|
+
/* @__PURE__ */ jsx140(Typography11, { sx: { fontWeight: 600 }, variant: "caption", children: "Request ID" }),
|
|
31438
|
+
/* @__PURE__ */ jsxs130(Stack4, { alignItems: "center", direction: "row", sx: { "&:hover .copy-btn": { opacity: 1 } }, children: [
|
|
31439
|
+
/* @__PURE__ */ jsx140(Typography11, { "data-testid": EVENT_DETAILS_REQUEST_ID_TEST_ID, variant: "body2", children: requestId }),
|
|
31440
|
+
/* @__PURE__ */ jsx140(CopyButton, { value: requestId })
|
|
31512
31441
|
] })
|
|
31513
31442
|
] }),
|
|
31514
|
-
eventGroups.info && /* @__PURE__ */
|
|
31443
|
+
eventGroups.info && /* @__PURE__ */ jsx140(EventDetail, { displayText: "Info", events: eventGroups.info, type: "info" })
|
|
31515
31444
|
] }) })
|
|
31516
31445
|
] }) })
|
|
31517
31446
|
] });
|
|
@@ -31525,12 +31454,12 @@ import { useEffect as useEffect20 } from "react";
|
|
|
31525
31454
|
|
|
31526
31455
|
// src/components/trace-graph/service-node.tsx
|
|
31527
31456
|
import { Cancel as Cancel3, GppBad as GppBad2 } from "@mui/icons-material";
|
|
31528
|
-
import { Box as
|
|
31457
|
+
import { Box as Box16, Divider as Divider4, Stack as Stack5, Tooltip as Tooltip6, Typography as Typography12, useTheme as useTheme4 } from "@mui/material";
|
|
31529
31458
|
import { Handle, Position } from "@xyflow/react";
|
|
31530
31459
|
import "@xyflow/react/dist/style.css";
|
|
31531
31460
|
import "react";
|
|
31532
|
-
import { memo as
|
|
31533
|
-
import { Fragment as
|
|
31461
|
+
import { memo as memo11, useMemo as useMemo11, useRef as useRef14, useState as useState16 } from "react";
|
|
31462
|
+
import { Fragment as Fragment10, jsx as jsx141, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
31534
31463
|
var handleStyle = {
|
|
31535
31464
|
backgroundColor: "white",
|
|
31536
31465
|
borderColor: "lightgray",
|
|
@@ -31538,19 +31467,19 @@ var handleStyle = {
|
|
|
31538
31467
|
};
|
|
31539
31468
|
var NodeContent = ({ event, expanded, hasPermissionEvents, isError, isWarning }) => {
|
|
31540
31469
|
const theme = useTheme4();
|
|
31541
|
-
return /* @__PURE__ */ jsxs131(
|
|
31542
|
-
/* @__PURE__ */
|
|
31543
|
-
/* @__PURE__ */
|
|
31470
|
+
return /* @__PURE__ */ jsxs131(Fragment10, { children: [
|
|
31471
|
+
/* @__PURE__ */ jsx141(Handle, { position: Position.Left, style: handleStyle, type: "target" }),
|
|
31472
|
+
/* @__PURE__ */ jsx141(Handle, { position: Position.Right, style: handleStyle, type: "source" }),
|
|
31544
31473
|
/* @__PURE__ */ jsxs131(
|
|
31545
|
-
|
|
31474
|
+
Stack5,
|
|
31546
31475
|
{
|
|
31547
31476
|
alignItems: "center",
|
|
31548
31477
|
direction: "row",
|
|
31549
31478
|
sx: { gap: "8px", pb: "2px", pt: "6px", px: "8px" },
|
|
31550
31479
|
children: [
|
|
31551
|
-
/* @__PURE__ */
|
|
31552
|
-
/* @__PURE__ */ jsxs131(
|
|
31553
|
-
/* @__PURE__ */
|
|
31480
|
+
/* @__PURE__ */ jsx141(Box16, { sx: { borderRadius: "4px", flexShrink: 0, lineHeight: 0, overflow: "hidden" }, children: /* @__PURE__ */ jsx141(AwsServiceIcon, { hideTooltip: true, service: event.service_name, size: "medium" }) }),
|
|
31481
|
+
/* @__PURE__ */ jsxs131(Stack5, { sx: expanded ? void 0 : { minWidth: 0 }, children: [
|
|
31482
|
+
/* @__PURE__ */ jsx141(
|
|
31554
31483
|
Typography12,
|
|
31555
31484
|
{
|
|
31556
31485
|
noWrap: !expanded,
|
|
@@ -31559,7 +31488,7 @@ var NodeContent = ({ event, expanded, hasPermissionEvents, isError, isWarning })
|
|
|
31559
31488
|
children: getServiceDisplayName(event.service_name)
|
|
31560
31489
|
}
|
|
31561
31490
|
),
|
|
31562
|
-
event.resource_name != "" && /* @__PURE__ */
|
|
31491
|
+
event.resource_name != "" && /* @__PURE__ */ jsx141(
|
|
31563
31492
|
Typography12,
|
|
31564
31493
|
{
|
|
31565
31494
|
color: "text.secondary",
|
|
@@ -31573,16 +31502,16 @@ var NodeContent = ({ event, expanded, hasPermissionEvents, isError, isWarning })
|
|
|
31573
31502
|
]
|
|
31574
31503
|
}
|
|
31575
31504
|
),
|
|
31576
|
-
/* @__PURE__ */
|
|
31505
|
+
/* @__PURE__ */ jsx141(Divider4, { sx: { ml: "38px", mr: "8px", my: "5px" } }),
|
|
31577
31506
|
/* @__PURE__ */ jsxs131(
|
|
31578
|
-
|
|
31507
|
+
Stack5,
|
|
31579
31508
|
{
|
|
31580
31509
|
alignItems: "center",
|
|
31581
31510
|
direction: "row",
|
|
31582
31511
|
sx: expanded ? { pb: "5px", pr: "8px", pt: "1px" } : { minWidth: 0, pb: "5px", pr: "8px", pt: "1px" },
|
|
31583
31512
|
children: [
|
|
31584
31513
|
/* @__PURE__ */ jsxs131(
|
|
31585
|
-
|
|
31514
|
+
Box16,
|
|
31586
31515
|
{
|
|
31587
31516
|
sx: {
|
|
31588
31517
|
alignItems: "center",
|
|
@@ -31592,12 +31521,12 @@ var NodeContent = ({ event, expanded, hasPermissionEvents, isError, isWarning })
|
|
|
31592
31521
|
width: "38px"
|
|
31593
31522
|
},
|
|
31594
31523
|
children: [
|
|
31595
|
-
(isError || isWarning) && hasPermissionEvents && /* @__PURE__ */
|
|
31596
|
-
isError && !hasPermissionEvents && /* @__PURE__ */
|
|
31524
|
+
(isError || isWarning) && hasPermissionEvents && /* @__PURE__ */ jsx141(Tooltip6, { arrow: true, title: "Permission denied", children: /* @__PURE__ */ jsx141(GppBad2, { sx: { color: isError ? theme.palette.error.main : theme.palette.warning.main, fontSize: "16px" } }) }),
|
|
31525
|
+
isError && !hasPermissionEvents && /* @__PURE__ */ jsx141(Tooltip6, { arrow: true, title: "Error", children: /* @__PURE__ */ jsx141(Cancel3, { sx: { color: theme.palette.error.main, fontSize: "16px" } }) })
|
|
31597
31526
|
]
|
|
31598
31527
|
}
|
|
31599
31528
|
),
|
|
31600
|
-
/* @__PURE__ */
|
|
31529
|
+
/* @__PURE__ */ jsx141(
|
|
31601
31530
|
Typography12,
|
|
31602
31531
|
{
|
|
31603
31532
|
"data-testid": SERVICE_NODE_OPERATION_NAME_TEST_ID,
|
|
@@ -31612,7 +31541,7 @@ var NodeContent = ({ event, expanded, hasPermissionEvents, isError, isWarning })
|
|
|
31612
31541
|
)
|
|
31613
31542
|
] });
|
|
31614
31543
|
};
|
|
31615
|
-
var ServiceNode =
|
|
31544
|
+
var ServiceNode = memo11(({ data, selected }) => {
|
|
31616
31545
|
const theme = useTheme4();
|
|
31617
31546
|
const [isHovered, setIsHovered] = useState16(false);
|
|
31618
31547
|
const nodeRef = useRef14(null);
|
|
@@ -31647,7 +31576,7 @@ var ServiceNode = memo12(({ data, selected }) => {
|
|
|
31647
31576
|
if (xyNode) xyNode.style.zIndex = "";
|
|
31648
31577
|
};
|
|
31649
31578
|
return /* @__PURE__ */ jsxs131(
|
|
31650
|
-
|
|
31579
|
+
Box16,
|
|
31651
31580
|
{
|
|
31652
31581
|
"data-testid": SERVICE_NODE_TEST_ID,
|
|
31653
31582
|
onMouseEnter: handleMouseEnter,
|
|
@@ -31657,8 +31586,8 @@ var ServiceNode = memo12(({ data, selected }) => {
|
|
|
31657
31586
|
sx: { display: "inline-block", position: "relative" },
|
|
31658
31587
|
tabIndex: 0,
|
|
31659
31588
|
children: [
|
|
31660
|
-
/* @__PURE__ */
|
|
31661
|
-
|
|
31589
|
+
/* @__PURE__ */ jsx141(
|
|
31590
|
+
Box16,
|
|
31662
31591
|
{
|
|
31663
31592
|
sx: {
|
|
31664
31593
|
...sharedBoxSx,
|
|
@@ -31666,11 +31595,11 @@ var ServiceNode = memo12(({ data, selected }) => {
|
|
|
31666
31595
|
maxWidth: 220,
|
|
31667
31596
|
overflow: "hidden"
|
|
31668
31597
|
},
|
|
31669
|
-
children: /* @__PURE__ */
|
|
31598
|
+
children: /* @__PURE__ */ jsx141(NodeContent, { ...contentProps, expanded: false })
|
|
31670
31599
|
}
|
|
31671
31600
|
),
|
|
31672
|
-
/* @__PURE__ */
|
|
31673
|
-
|
|
31601
|
+
/* @__PURE__ */ jsx141(
|
|
31602
|
+
Box16,
|
|
31674
31603
|
{
|
|
31675
31604
|
onMouseLeave: handleMouseLeave,
|
|
31676
31605
|
sx: {
|
|
@@ -31684,7 +31613,7 @@ var ServiceNode = memo12(({ data, selected }) => {
|
|
|
31684
31613
|
width: "max-content",
|
|
31685
31614
|
zIndex: 10
|
|
31686
31615
|
},
|
|
31687
|
-
children: /* @__PURE__ */
|
|
31616
|
+
children: /* @__PURE__ */ jsx141(NodeContent, { ...contentProps, expanded: true })
|
|
31688
31617
|
}
|
|
31689
31618
|
)
|
|
31690
31619
|
]
|
|
@@ -31779,17 +31708,17 @@ var getLayoutedNodesAndEdges = (inputNodes, inputEdges) => {
|
|
|
31779
31708
|
|
|
31780
31709
|
// src/components/trace-graph/xyflow/controls.tsx
|
|
31781
31710
|
import { Add, FitScreen, Remove } from "@mui/icons-material";
|
|
31782
|
-
import { Box as
|
|
31711
|
+
import { Box as Box17, IconButton as IconButton5 } from "@mui/material";
|
|
31783
31712
|
import { useReactFlow, useStore as useStore2 } from "@xyflow/react";
|
|
31784
|
-
import { memo as
|
|
31713
|
+
import { memo as memo12 } from "react";
|
|
31785
31714
|
import { shallow } from "zustand/shallow";
|
|
31786
|
-
import { jsx as
|
|
31715
|
+
import { jsx as jsx142, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
31787
31716
|
var selector = (s) => ({
|
|
31788
31717
|
isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,
|
|
31789
31718
|
maxZoomReached: s.transform[2] >= s.maxZoom,
|
|
31790
31719
|
minZoomReached: s.transform[2] <= s.minZoom
|
|
31791
31720
|
});
|
|
31792
|
-
var Controls =
|
|
31721
|
+
var Controls = memo12(() => {
|
|
31793
31722
|
const { maxZoomReached, minZoomReached } = useStore2(selector, shallow);
|
|
31794
31723
|
const { fitView, zoomIn, zoomOut } = useReactFlow();
|
|
31795
31724
|
const onZoomInHandler = () => {
|
|
@@ -31802,7 +31731,7 @@ var Controls = memo13(() => {
|
|
|
31802
31731
|
void fitView();
|
|
31803
31732
|
};
|
|
31804
31733
|
return /* @__PURE__ */ jsxs132(
|
|
31805
|
-
|
|
31734
|
+
Box17,
|
|
31806
31735
|
{
|
|
31807
31736
|
sx: {
|
|
31808
31737
|
bottom: 0,
|
|
@@ -31815,33 +31744,33 @@ var Controls = memo13(() => {
|
|
|
31815
31744
|
zIndex: 5
|
|
31816
31745
|
},
|
|
31817
31746
|
children: [
|
|
31818
|
-
/* @__PURE__ */
|
|
31747
|
+
/* @__PURE__ */ jsx142(
|
|
31819
31748
|
IconButton5,
|
|
31820
31749
|
{
|
|
31821
31750
|
className: "react-flow__controls-zoomin",
|
|
31822
31751
|
disabled: maxZoomReached,
|
|
31823
31752
|
onClick: onZoomInHandler,
|
|
31824
31753
|
size: "small",
|
|
31825
|
-
children: /* @__PURE__ */
|
|
31754
|
+
children: /* @__PURE__ */ jsx142(Add, {})
|
|
31826
31755
|
}
|
|
31827
31756
|
),
|
|
31828
|
-
/* @__PURE__ */
|
|
31757
|
+
/* @__PURE__ */ jsx142(
|
|
31829
31758
|
IconButton5,
|
|
31830
31759
|
{
|
|
31831
31760
|
className: "react-flow__controls-zoomout",
|
|
31832
31761
|
disabled: minZoomReached,
|
|
31833
31762
|
onClick: onZoomOutHandler,
|
|
31834
31763
|
size: "small",
|
|
31835
|
-
children: /* @__PURE__ */
|
|
31764
|
+
children: /* @__PURE__ */ jsx142(Remove, {})
|
|
31836
31765
|
}
|
|
31837
31766
|
),
|
|
31838
|
-
/* @__PURE__ */
|
|
31767
|
+
/* @__PURE__ */ jsx142(
|
|
31839
31768
|
IconButton5,
|
|
31840
31769
|
{
|
|
31841
31770
|
className: "react-flow__controls-fitview",
|
|
31842
31771
|
onClick: onFitViewHandler,
|
|
31843
31772
|
size: "small",
|
|
31844
|
-
children: /* @__PURE__ */
|
|
31773
|
+
children: /* @__PURE__ */ jsx142(FitScreen, {})
|
|
31845
31774
|
}
|
|
31846
31775
|
)
|
|
31847
31776
|
]
|
|
@@ -31850,7 +31779,7 @@ var Controls = memo13(() => {
|
|
|
31850
31779
|
});
|
|
31851
31780
|
|
|
31852
31781
|
// src/components/trace-graph/trace-graph.tsx
|
|
31853
|
-
import { Fragment as
|
|
31782
|
+
import { Fragment as Fragment11, jsx as jsx143, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
31854
31783
|
var nodeTypes = {
|
|
31855
31784
|
service: ServiceNode
|
|
31856
31785
|
};
|
|
@@ -31917,11 +31846,11 @@ var TraceGraph = ({
|
|
|
31917
31846
|
setEdges(layoutedEdges);
|
|
31918
31847
|
}, [spans.data, initialFocusEventId, setNodes, setEdges]);
|
|
31919
31848
|
const theme = useTheme5();
|
|
31920
|
-
return /* @__PURE__ */ jsxs133(
|
|
31849
|
+
return /* @__PURE__ */ jsxs133(Fragment11, { children: [
|
|
31921
31850
|
spans.error && /* @__PURE__ */ jsxs133(
|
|
31922
31851
|
Alert5,
|
|
31923
31852
|
{
|
|
31924
|
-
action: /* @__PURE__ */
|
|
31853
|
+
action: /* @__PURE__ */ jsx143(Button5, { onClick: () => {
|
|
31925
31854
|
onRefresh();
|
|
31926
31855
|
}, children: "Retry" }),
|
|
31927
31856
|
severity: "error",
|
|
@@ -31950,8 +31879,8 @@ var TraceGraph = ({
|
|
|
31950
31879
|
onNodesChange,
|
|
31951
31880
|
selectNodesOnDrag: false,
|
|
31952
31881
|
children: [
|
|
31953
|
-
/* @__PURE__ */
|
|
31954
|
-
/* @__PURE__ */
|
|
31882
|
+
/* @__PURE__ */ jsx143(Controls, {}),
|
|
31883
|
+
/* @__PURE__ */ jsx143(
|
|
31955
31884
|
Background,
|
|
31956
31885
|
{
|
|
31957
31886
|
bgColor: theme.palette.background.default,
|
|
@@ -31965,7 +31894,7 @@ var TraceGraph = ({
|
|
|
31965
31894
|
};
|
|
31966
31895
|
|
|
31967
31896
|
// src/pages/trace-graph-page.tsx
|
|
31968
|
-
import { jsx as
|
|
31897
|
+
import { jsx as jsx144, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
31969
31898
|
var DRAWER_WIDTH = "35%";
|
|
31970
31899
|
var Main = styled("main", { shouldForwardProp: (property) => property !== "open" })(({ open, theme }) => ({
|
|
31971
31900
|
flexGrow: 1,
|
|
@@ -32009,7 +31938,7 @@ var TraceGraphView = ({
|
|
|
32009
31938
|
spans,
|
|
32010
31939
|
traceId
|
|
32011
31940
|
}) => /* @__PURE__ */ jsxs134(
|
|
32012
|
-
|
|
31941
|
+
Box18,
|
|
32013
31942
|
{
|
|
32014
31943
|
"data-testid": TRACE_GRAPH_PAGE_TEST_ID,
|
|
32015
31944
|
sx: {
|
|
@@ -32021,11 +31950,11 @@ var TraceGraphView = ({
|
|
|
32021
31950
|
overflow: "hidden"
|
|
32022
31951
|
},
|
|
32023
31952
|
children: [
|
|
32024
|
-
/* @__PURE__ */ jsxs134(
|
|
32025
|
-
/* @__PURE__ */
|
|
31953
|
+
/* @__PURE__ */ jsxs134(Box18, { sx: { display: "flex", width: "100%" }, children: [
|
|
31954
|
+
/* @__PURE__ */ jsx144(Button6, { onClick: () => {
|
|
32026
31955
|
navigateToSpansList();
|
|
32027
|
-
}, startIcon: /* @__PURE__ */
|
|
32028
|
-
/* @__PURE__ */
|
|
31956
|
+
}, startIcon: /* @__PURE__ */ jsx144(ArrowBack, {}), children: "Go back" }),
|
|
31957
|
+
/* @__PURE__ */ jsx144(Box18, { sx: { flexGrow: 1 } })
|
|
32029
31958
|
] }),
|
|
32030
31959
|
/* @__PURE__ */ jsxs134(
|
|
32031
31960
|
Paper3,
|
|
@@ -32038,14 +31967,14 @@ var TraceGraphView = ({
|
|
|
32038
31967
|
width: "100%"
|
|
32039
31968
|
},
|
|
32040
31969
|
children: [
|
|
32041
|
-
/* @__PURE__ */
|
|
32042
|
-
|
|
31970
|
+
/* @__PURE__ */ jsx144(Main, { open, children: /* @__PURE__ */ jsx144(
|
|
31971
|
+
Box18,
|
|
32043
31972
|
{
|
|
32044
31973
|
sx: {
|
|
32045
31974
|
height: "100%",
|
|
32046
31975
|
overflow: "auto"
|
|
32047
31976
|
},
|
|
32048
|
-
children: traceId !== void 0 && /* @__PURE__ */
|
|
31977
|
+
children: traceId !== void 0 && /* @__PURE__ */ jsx144(ReactFlowProvider, { children: /* @__PURE__ */ jsx144(
|
|
32049
31978
|
TraceGraph,
|
|
32050
31979
|
{
|
|
32051
31980
|
initialFocusEventId: spanId,
|
|
@@ -32062,7 +31991,7 @@ var TraceGraphView = ({
|
|
|
32062
31991
|
) })
|
|
32063
31992
|
}
|
|
32064
31993
|
) }),
|
|
32065
|
-
/* @__PURE__ */
|
|
31994
|
+
/* @__PURE__ */ jsx144(StyledDrawer, { anchor: "right", headerHeight, open, variant: "persistent", children: /* @__PURE__ */ jsx144(EventDetails, { onClose: handleClose, selectedEvent }) })
|
|
32066
31995
|
]
|
|
32067
31996
|
}
|
|
32068
31997
|
)
|
|
@@ -32142,7 +32071,7 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
32142
32071
|
const navigateToSpansList = useCallback10(() => {
|
|
32143
32072
|
onClose?.();
|
|
32144
32073
|
}, [onClose]);
|
|
32145
|
-
return /* @__PURE__ */
|
|
32074
|
+
return /* @__PURE__ */ jsx144(
|
|
32146
32075
|
TraceGraphView,
|
|
32147
32076
|
{
|
|
32148
32077
|
fetchError,
|
|
@@ -32164,7 +32093,7 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
32164
32093
|
};
|
|
32165
32094
|
|
|
32166
32095
|
// src/pages/spans-list-page.tsx
|
|
32167
|
-
import { Fragment as
|
|
32096
|
+
import { Fragment as Fragment12, jsx as jsx145, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
32168
32097
|
var SpansListPage = () => {
|
|
32169
32098
|
const api = useAppInspectorApi();
|
|
32170
32099
|
const {
|
|
@@ -32231,10 +32160,10 @@ var SpansListPage = () => {
|
|
|
32231
32160
|
switch (phase) {
|
|
32232
32161
|
case "CHECKING_STATUS":
|
|
32233
32162
|
case "CONNECTING_WS": {
|
|
32234
|
-
return /* @__PURE__ */
|
|
32163
|
+
return /* @__PURE__ */ jsx145(StatusMessage, { phase });
|
|
32235
32164
|
}
|
|
32236
32165
|
case "DISABLED": {
|
|
32237
|
-
return /* @__PURE__ */
|
|
32166
|
+
return /* @__PURE__ */ jsx145(
|
|
32238
32167
|
StatusMessage,
|
|
32239
32168
|
{
|
|
32240
32169
|
onEnable: handleEnable,
|
|
@@ -32243,7 +32172,7 @@ var SpansListPage = () => {
|
|
|
32243
32172
|
);
|
|
32244
32173
|
}
|
|
32245
32174
|
case "INCOMPATIBLE": {
|
|
32246
|
-
return /* @__PURE__ */
|
|
32175
|
+
return /* @__PURE__ */ jsx145(
|
|
32247
32176
|
StatusMessage,
|
|
32248
32177
|
{
|
|
32249
32178
|
localstackVersion,
|
|
@@ -32256,7 +32185,7 @@ var SpansListPage = () => {
|
|
|
32256
32185
|
break;
|
|
32257
32186
|
}
|
|
32258
32187
|
case "UNREACHABLE": {
|
|
32259
|
-
return /* @__PURE__ */
|
|
32188
|
+
return /* @__PURE__ */ jsx145(
|
|
32260
32189
|
StatusMessage,
|
|
32261
32190
|
{
|
|
32262
32191
|
onRetry: handleRetry,
|
|
@@ -32265,9 +32194,9 @@ var SpansListPage = () => {
|
|
|
32265
32194
|
);
|
|
32266
32195
|
}
|
|
32267
32196
|
}
|
|
32268
|
-
return /* @__PURE__ */ jsxs135(
|
|
32197
|
+
return /* @__PURE__ */ jsxs135(Fragment12, { children: [
|
|
32269
32198
|
/* @__PURE__ */ jsxs135(
|
|
32270
|
-
|
|
32199
|
+
Box19,
|
|
32271
32200
|
{
|
|
32272
32201
|
"data-testid": SPANS_LIST_PAGE_TEST_ID,
|
|
32273
32202
|
sx: {
|
|
@@ -32282,7 +32211,7 @@ var SpansListPage = () => {
|
|
|
32282
32211
|
width: "100%"
|
|
32283
32212
|
},
|
|
32284
32213
|
children: [
|
|
32285
|
-
/* @__PURE__ */
|
|
32214
|
+
/* @__PURE__ */ jsx145(
|
|
32286
32215
|
EmulatorVersionBanner,
|
|
32287
32216
|
{
|
|
32288
32217
|
compatibility: bannerDismissed && versionCompatibility === "warning" ? "ok" : versionCompatibility,
|
|
@@ -32292,7 +32221,7 @@ var SpansListPage = () => {
|
|
|
32292
32221
|
} : void 0
|
|
32293
32222
|
}
|
|
32294
32223
|
),
|
|
32295
|
-
/* @__PURE__ */
|
|
32224
|
+
/* @__PURE__ */ jsx145(
|
|
32296
32225
|
SpansList,
|
|
32297
32226
|
{
|
|
32298
32227
|
clearingSpans,
|
|
@@ -32317,7 +32246,7 @@ var SpansListPage = () => {
|
|
|
32317
32246
|
]
|
|
32318
32247
|
}
|
|
32319
32248
|
),
|
|
32320
|
-
selectedTraceId !== void 0 && /* @__PURE__ */
|
|
32249
|
+
selectedTraceId !== void 0 && /* @__PURE__ */ jsx145(TraceGraphPage, { onClose: () => {
|
|
32321
32250
|
setSelectedTraceId(void 0);
|
|
32322
32251
|
}, spanId: selectedSpanId, traceId: selectedTraceId })
|
|
32323
32252
|
] });
|