@cere/cere-design-system 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +76 -0
  2. package/dist/buttons.d.mts +27 -22
  3. package/dist/buttons.d.ts +27 -22
  4. package/dist/buttons.js +5 -5
  5. package/dist/buttons.mjs +4 -4
  6. package/dist/charts.d.mts +1 -23
  7. package/dist/charts.d.ts +1 -23
  8. package/dist/charts.js +2 -9
  9. package/dist/charts.js.map +1 -1
  10. package/dist/charts.mjs +1 -8
  11. package/dist/{chunk-THQKYTQE.js → chunk-2KDN37PQ.js} +28 -32
  12. package/dist/chunk-2KDN37PQ.js.map +1 -0
  13. package/dist/{chunk-3WCMINE5.mjs → chunk-34LFXT6C.mjs} +25 -29
  14. package/dist/chunk-34LFXT6C.mjs.map +1 -0
  15. package/dist/chunk-3KCXCVOX.mjs +411 -0
  16. package/dist/chunk-3KCXCVOX.mjs.map +1 -0
  17. package/dist/{chunk-NXTVJ6PY.js → chunk-4OKTICU5.js} +10 -10
  18. package/dist/chunk-4OKTICU5.js.map +1 -0
  19. package/dist/{chunk-FN5YL4BK.js → chunk-72TQ56EP.js} +47 -45
  20. package/dist/chunk-72TQ56EP.js.map +1 -0
  21. package/dist/{chunk-QYYQYZHV.js → chunk-7KXKK2RE.js} +3 -5
  22. package/dist/chunk-7KXKK2RE.js.map +1 -0
  23. package/dist/{chunk-CCN6M4LI.js → chunk-ARSCL4ZZ.js} +18 -10
  24. package/dist/chunk-ARSCL4ZZ.js.map +1 -0
  25. package/dist/chunk-AWVNEU6R.mjs +1478 -0
  26. package/dist/chunk-AWVNEU6R.mjs.map +1 -0
  27. package/dist/{chunk-CUCKULYC.mjs → chunk-BH4FNZKK.mjs} +74 -1260
  28. package/dist/chunk-BH4FNZKK.mjs.map +1 -0
  29. package/dist/{chunk-FFZ5S7PQ.mjs → chunk-BOQPWZIB.mjs} +6 -5
  30. package/dist/chunk-BOQPWZIB.mjs.map +1 -0
  31. package/dist/chunk-BT7XUTT5.mjs +392 -0
  32. package/dist/chunk-BT7XUTT5.mjs.map +1 -0
  33. package/dist/{chunk-ATIFLPH6.mjs → chunk-D7D25O6E.mjs} +4 -2
  34. package/dist/{chunk-ATIFLPH6.mjs.map → chunk-D7D25O6E.mjs.map} +1 -1
  35. package/dist/{chunk-JS4IB5IU.mjs → chunk-DRGMEIPT.mjs} +2 -2
  36. package/dist/chunk-DRGMEIPT.mjs.map +1 -0
  37. package/dist/{chunk-KF2Y7HO3.js → chunk-DZXNYLVG.js} +43 -246
  38. package/dist/chunk-DZXNYLVG.js.map +1 -0
  39. package/dist/{chunk-IE6GCHDI.mjs → chunk-GR52ENYI.mjs} +26 -29
  40. package/dist/chunk-GR52ENYI.mjs.map +1 -0
  41. package/dist/chunk-GTBKQXXI.js +1472 -0
  42. package/dist/chunk-GTBKQXXI.js.map +1 -0
  43. package/dist/{chunk-463SRKKD.js → chunk-HJ24WKU4.js} +14 -5
  44. package/dist/chunk-HJ24WKU4.js.map +1 -0
  45. package/dist/{chunk-EOF3QNPF.js → chunk-KKIKOIMP.js} +140 -1028
  46. package/dist/chunk-KKIKOIMP.js.map +1 -0
  47. package/dist/{chunk-MNM6HE72.js → chunk-LVJSKRX3.js} +16 -15
  48. package/dist/chunk-LVJSKRX3.js.map +1 -0
  49. package/dist/{chunk-KPDYKK3V.js → chunk-PFZZJZ64.js} +8 -8
  50. package/dist/{chunk-KPDYKK3V.js.map → chunk-PFZZJZ64.js.map} +1 -1
  51. package/dist/{chunk-KVBMZNWT.mjs → chunk-POCAW2G4.mjs} +18 -10
  52. package/dist/chunk-POCAW2G4.mjs.map +1 -0
  53. package/dist/{chunk-L2TIGA7I.js → chunk-QCFLZ7X3.js} +39 -42
  54. package/dist/chunk-QCFLZ7X3.js.map +1 -0
  55. package/dist/{chunk-6EUAU67C.mjs → chunk-SG2TD7FQ.mjs} +8 -8
  56. package/dist/chunk-SG2TD7FQ.mjs.map +1 -0
  57. package/dist/{chunk-QY65OUAC.mjs → chunk-SSFALO6S.mjs} +13 -4
  58. package/dist/chunk-SSFALO6S.mjs.map +1 -0
  59. package/dist/{chunk-PWF2NJDB.mjs → chunk-WC2TCWXK.mjs} +82 -14
  60. package/dist/chunk-WC2TCWXK.mjs.map +1 -0
  61. package/dist/{chunk-ZGCN5WCG.js → chunk-XZZZ4MZV.js} +83 -15
  62. package/dist/chunk-XZZZ4MZV.js.map +1 -0
  63. package/dist/chunk-YCDCQSYH.js +411 -0
  64. package/dist/chunk-YCDCQSYH.js.map +1 -0
  65. package/dist/{chunk-CWJ4OU6W.mjs → chunk-ZDAZYIXB.mjs} +2 -4
  66. package/dist/chunk-ZDAZYIXB.mjs.map +1 -0
  67. package/dist/feedback.d.mts +20 -8
  68. package/dist/feedback.d.ts +20 -8
  69. package/dist/feedback.js +5 -5
  70. package/dist/feedback.mjs +4 -4
  71. package/dist/fonts/HumanSans-BlackOblique.otf +0 -0
  72. package/dist/fonts/HumanSans-Thin.otf +0 -0
  73. package/dist/fonts/HumanSans-ThinOblique.otf +0 -0
  74. package/dist/fonts/human-sans-font.css +88 -0
  75. package/dist/fonts/human-sans.css +3 -0
  76. package/dist/fonts/inter.css +3 -0
  77. package/dist/icons.d.mts +2 -3
  78. package/dist/icons.d.ts +2 -3
  79. package/dist/icons.js +2 -2
  80. package/dist/icons.mjs +1 -1
  81. package/dist/index.d.mts +37 -8
  82. package/dist/index.d.ts +37 -8
  83. package/dist/index.js +23 -90
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +46 -113
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/inputs.d.mts +23 -3
  88. package/dist/inputs.d.ts +23 -3
  89. package/dist/inputs.js +5 -5
  90. package/dist/inputs.js.map +1 -1
  91. package/dist/inputs.mjs +15 -15
  92. package/dist/layout.d.mts +37 -283
  93. package/dist/layout.d.ts +37 -283
  94. package/dist/layout.js +8 -32
  95. package/dist/layout.js.map +1 -1
  96. package/dist/layout.mjs +16 -40
  97. package/dist/navigation.d.mts +9 -114
  98. package/dist/navigation.d.ts +9 -114
  99. package/dist/navigation.js +5 -9
  100. package/dist/navigation.js.map +1 -1
  101. package/dist/navigation.mjs +6 -10
  102. package/dist/third-party.d.mts +3 -527
  103. package/dist/third-party.d.ts +3 -527
  104. package/dist/third-party.js +2 -40
  105. package/dist/third-party.js.map +1 -1
  106. package/dist/third-party.mjs +3 -41
  107. package/dist/tokens.css +45 -71
  108. package/dist/utilities.js +2 -4
  109. package/dist/utilities.js.map +1 -1
  110. package/dist/utilities.mjs +2 -4
  111. package/package.json +23 -9
  112. package/dist/WorkflowNode-BnxXO6t_.d.mts +0 -46
  113. package/dist/WorkflowNode-BnxXO6t_.d.ts +0 -46
  114. package/dist/chunk-27JEWSWA.mjs +0 -233
  115. package/dist/chunk-27JEWSWA.mjs.map +0 -1
  116. package/dist/chunk-3WCMINE5.mjs.map +0 -1
  117. package/dist/chunk-463SRKKD.js.map +0 -1
  118. package/dist/chunk-6EUAU67C.mjs.map +0 -1
  119. package/dist/chunk-AIY6222Q.js +0 -11
  120. package/dist/chunk-AIY6222Q.js.map +0 -1
  121. package/dist/chunk-AJBM7IE6.mjs +0 -2366
  122. package/dist/chunk-AJBM7IE6.mjs.map +0 -1
  123. package/dist/chunk-CCN6M4LI.js.map +0 -1
  124. package/dist/chunk-CUCKULYC.mjs.map +0 -1
  125. package/dist/chunk-CWJ4OU6W.mjs.map +0 -1
  126. package/dist/chunk-EOF3QNPF.js.map +0 -1
  127. package/dist/chunk-FFZ5S7PQ.mjs.map +0 -1
  128. package/dist/chunk-FN5YL4BK.js.map +0 -1
  129. package/dist/chunk-HLH2VWXL.js +0 -2658
  130. package/dist/chunk-HLH2VWXL.js.map +0 -1
  131. package/dist/chunk-IE6GCHDI.mjs.map +0 -1
  132. package/dist/chunk-JS4IB5IU.mjs.map +0 -1
  133. package/dist/chunk-KF2Y7HO3.js.map +0 -1
  134. package/dist/chunk-KVBMZNWT.mjs.map +0 -1
  135. package/dist/chunk-L2TIGA7I.js.map +0 -1
  136. package/dist/chunk-MNM6HE72.js.map +0 -1
  137. package/dist/chunk-NXTVJ6PY.js.map +0 -1
  138. package/dist/chunk-PWF2NJDB.mjs.map +0 -1
  139. package/dist/chunk-QD6RLAO2.mjs +0 -11
  140. package/dist/chunk-QD6RLAO2.mjs.map +0 -1
  141. package/dist/chunk-QY65OUAC.mjs.map +0 -1
  142. package/dist/chunk-QYYQYZHV.js.map +0 -1
  143. package/dist/chunk-T7LPABOL.mjs +0 -595
  144. package/dist/chunk-T7LPABOL.mjs.map +0 -1
  145. package/dist/chunk-THQKYTQE.js.map +0 -1
  146. package/dist/chunk-X7E6GMFL.js +0 -233
  147. package/dist/chunk-X7E6GMFL.js.map +0 -1
  148. package/dist/chunk-XF66WQZE.mjs +0 -1535
  149. package/dist/chunk-XF66WQZE.mjs.map +0 -1
  150. package/dist/chunk-YQOZPLTY.js +0 -1535
  151. package/dist/chunk-YQOZPLTY.js.map +0 -1
  152. package/dist/chunk-ZGCN5WCG.js.map +0 -1
  153. package/dist/index.css +0 -79
  154. package/dist/index.css.map +0 -1
  155. /package/dist/{HumanSans-Black-C4YJONK7.otf → fonts/HumanSans-Black.otf} +0 -0
  156. /package/dist/{HumanSans-Bold-4EAJ3L3T.otf → fonts/HumanSans-Bold.otf} +0 -0
  157. /package/dist/{HumanSans-BoldOblique-4D325T4F.otf → fonts/HumanSans-BoldOblique.otf} +0 -0
  158. /package/dist/{HumanSans-ExtraLight-VL7DEKQ4.otf → fonts/HumanSans-ExtraLight.otf} +0 -0
  159. /package/dist/{HumanSans-ExtraLightOblique-VK2JTUXF.otf → fonts/HumanSans-ExtraLightOblique.otf} +0 -0
  160. /package/dist/{HumanSans-Light-YV7AFKRB.otf → fonts/HumanSans-Light.otf} +0 -0
  161. /package/dist/{HumanSans-LightOblique-VIXV7QA6.otf → fonts/HumanSans-LightOblique.otf} +0 -0
  162. /package/dist/{HumanSans-Medium-UULJ3PIR.otf → fonts/HumanSans-Medium.otf} +0 -0
  163. /package/dist/{HumanSans-MediumOblique-M7FHDZRS.otf → fonts/HumanSans-MediumOblique.otf} +0 -0
  164. /package/dist/{HumanSans-Regular-QMFEP3F6.otf → fonts/HumanSans-Regular.otf} +0 -0
  165. /package/dist/{HumanSans-RegularOblique-YPKQJAAM.otf → fonts/HumanSans-RegularOblique.otf} +0 -0
@@ -1,26 +1,25 @@
1
- import {
2
- WORKFLOW_NODE_LABELS
3
- } from "./chunk-27JEWSWA.mjs";
4
1
  import {
5
2
  IDBlock,
6
3
  RoleBadge
7
- } from "./chunk-JS4IB5IU.mjs";
4
+ } from "./chunk-DRGMEIPT.mjs";
8
5
  import {
9
6
  CereIcon
10
7
  } from "./chunk-UPGFBPFX.mjs";
11
8
  import {
12
9
  Button
13
- } from "./chunk-FFZ5S7PQ.mjs";
10
+ } from "./chunk-BOQPWZIB.mjs";
14
11
  import {
15
12
  deploymentSurfaceTokens
16
- } from "./chunk-ATIFLPH6.mjs";
13
+ } from "./chunk-D7D25O6E.mjs";
17
14
  import {
18
- deploymentEntityColors,
19
- deploymentStatusColors
20
- } from "./chunk-PWF2NJDB.mjs";
15
+ robPaletteExtended,
16
+ robPrimaryPalette
17
+ } from "./chunk-WC2TCWXK.mjs";
21
18
 
22
19
  // src/components/layout/Logo.tsx
23
- import { Stack, styled, svgIconClasses } from "@mui/material";
20
+ import Stack from "@mui/material/Stack";
21
+ import { styled } from "@mui/material/styles";
22
+ import { svgIconClasses } from "@mui/material/SvgIcon";
24
23
  import { jsx, jsxs } from "react/jsx-runtime";
25
24
  var sizesMap = {
26
25
  large: 38,
@@ -38,18 +37,16 @@ var Logo = ({ children, size = "medium", icon = /* @__PURE__ */ jsx(CereIcon, {
38
37
  ] });
39
38
 
40
39
  // src/components/layout/Dialog.tsx
41
- import {
42
- Dialog as MuiDialog,
43
- DialogTitle,
44
- DialogContent,
45
- DialogActions,
46
- Button as Button2,
47
- IconButton,
48
- Box,
49
- Typography,
50
- Divider,
51
- CircularProgress
52
- } from "@mui/material";
40
+ import MuiDialog from "@mui/material/Dialog";
41
+ import DialogTitle from "@mui/material/DialogTitle";
42
+ import DialogContent from "@mui/material/DialogContent";
43
+ import DialogActions from "@mui/material/DialogActions";
44
+ import Button2 from "@mui/material/Button";
45
+ import IconButton from "@mui/material/IconButton";
46
+ import Box from "@mui/material/Box";
47
+ import Typography from "@mui/material/Typography";
48
+ import Divider from "@mui/material/Divider";
49
+ import CircularProgress from "@mui/material/CircularProgress";
53
50
  import CloseIcon from "@mui/icons-material/Close";
54
51
  import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
55
52
  var Dialog = ({
@@ -365,7 +362,12 @@ var NumberedList = React3.forwardRef(
365
362
  import React4 from "react";
366
363
  import MuiDrawer from "@mui/material/Drawer";
367
364
  import { styled as styled2 } from "@mui/material/styles";
368
- import { Box as Box5, IconButton as IconButton2, Typography as Typography4, Divider as Divider2, Tabs, Tab } from "@mui/material";
365
+ import Box5 from "@mui/material/Box";
366
+ import IconButton2 from "@mui/material/IconButton";
367
+ import Typography4 from "@mui/material/Typography";
368
+ import Divider2 from "@mui/material/Divider";
369
+ import Tabs from "@mui/material/Tabs";
370
+ import Tab from "@mui/material/Tab";
369
371
  import CloseIcon2 from "@mui/icons-material/Close";
370
372
 
371
373
  // src/components/layout/drawerWidth.ts
@@ -723,8 +725,22 @@ var SectionRow = React7.forwardRef(function SectionRow2({ title, subtitle, actio
723
725
  import React8 from "react";
724
726
  import Box9 from "@mui/material/Box";
725
727
  import { jsx as jsx10 } from "react/jsx-runtime";
728
+ var GRADIENT_ANCHORS_0 = {
729
+ d1: robPaletteExtended.nearBlack2,
730
+ // #0d0627
731
+ d2: robPaletteExtended.nearBlack4,
732
+ // #23194b
733
+ ev: robPrimaryPalette.electricViolet,
734
+ // #8B00EC
735
+ fd: robPrimaryPalette.fandango
736
+ // #BD32A7
737
+ };
726
738
  var PALETTES = [
727
- { base: "linear-gradient(115deg, #0d0627 0%, #23194b 55%, #8B00EC 130%)", blobA: "#BD32A7", blobB: "#8B00EC" },
739
+ {
740
+ base: `linear-gradient(115deg, ${GRADIENT_ANCHORS_0.d1} 0%, ${GRADIENT_ANCHORS_0.d2} 55%, ${GRADIENT_ANCHORS_0.ev} 130%)`,
741
+ blobA: GRADIENT_ANCHORS_0.fd,
742
+ blobB: GRADIENT_ANCHORS_0.ev
743
+ },
728
744
  { base: "linear-gradient(115deg, #2a1635 0%, #5b2a55 55%, #c75a8a 130%)", blobA: "#ff7ea8", blobB: "#ffd1a8" },
729
745
  { base: "linear-gradient(115deg, #0e2a2c 0%, #1d5d63 55%, #59c6c4 130%)", blobA: "#59c6c4", blobB: "#2bb0a0" },
730
746
  { base: "linear-gradient(115deg, #131534 0%, #2c3a8c 55%, #6088e8 130%)", blobA: "#6088e8", blobB: "#3b5db8" },
@@ -986,13 +1002,11 @@ var SplitDialogContent = React10.forwardRef(
986
1002
 
987
1003
  // src/components/layout/List.tsx
988
1004
  import React11 from "react";
989
- import {
990
- List as MuiList,
991
- ListItem as MuiListItem,
992
- ListItemText,
993
- ListItemIcon,
994
- ListItemSecondaryAction
995
- } from "@mui/material";
1005
+ import MuiList from "@mui/material/List";
1006
+ import MuiListItem from "@mui/material/ListItem";
1007
+ import ListItemText from "@mui/material/ListItemText";
1008
+ import ListItemIcon from "@mui/material/ListItemIcon";
1009
+ import ListItemSecondaryAction from "@mui/material/ListItemSecondaryAction";
996
1010
  import { styled as styled3 } from "@mui/material/styles";
997
1011
  import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
998
1012
  var List = React11.forwardRef(function List2(props, ref) {
@@ -1051,15 +1065,13 @@ var Avatar = React12.forwardRef(function Avatar2({ size = "medium", ...props },
1051
1065
 
1052
1066
  // src/components/layout/Table.tsx
1053
1067
  import React13 from "react";
1054
- import {
1055
- Table as MuiTable,
1056
- TableBody,
1057
- TableCell,
1058
- TableContainer,
1059
- TableHead,
1060
- TableRow,
1061
- TableSortLabel
1062
- } from "@mui/material";
1068
+ import MuiTable from "@mui/material/Table";
1069
+ import TableBody from "@mui/material/TableBody";
1070
+ import TableCell from "@mui/material/TableCell";
1071
+ import TableContainer from "@mui/material/TableContainer";
1072
+ import TableHead from "@mui/material/TableHead";
1073
+ import TableRow from "@mui/material/TableRow";
1074
+ import TableSortLabel from "@mui/material/TableSortLabel";
1063
1075
  import { styled as styled5 } from "@mui/material/styles";
1064
1076
  import { jsx as jsx16 } from "react/jsx-runtime";
1065
1077
  var StyledTableContainer = styled5(TableContainer)(({ theme }) => ({
@@ -1091,7 +1103,7 @@ var TableHeader = React13.forwardRef(
1091
1103
  );
1092
1104
 
1093
1105
  // src/components/layout/Grid.tsx
1094
- import { Grid2 } from "@mui/material";
1106
+ import { default as default2 } from "@mui/material/Grid2";
1095
1107
 
1096
1108
  // src/components/layout/Breadcrumbs.tsx
1097
1109
  import React14 from "react";
@@ -1140,11 +1152,9 @@ var Breadcrumbs = React14.forwardRef(function Breadcrumbs2({ items, ...props },
1140
1152
 
1141
1153
  // src/components/layout/Accordion.tsx
1142
1154
  import React15 from "react";
1143
- import {
1144
- Accordion as MuiAccordion,
1145
- AccordionSummary,
1146
- AccordionDetails
1147
- } from "@mui/material";
1155
+ import MuiAccordion from "@mui/material/Accordion";
1156
+ import AccordionSummary from "@mui/material/AccordionSummary";
1157
+ import AccordionDetails from "@mui/material/AccordionDetails";
1148
1158
  import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
1149
1159
  import { styled as styled7 } from "@mui/material/styles";
1150
1160
  import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
@@ -1219,19 +1229,17 @@ var Divider3 = React17.forwardRef(function Divider4(props, ref) {
1219
1229
  });
1220
1230
 
1221
1231
  // src/components/layout/Stack.tsx
1222
- import { Stack as Stack2 } from "@mui/material";
1232
+ import { default as default3 } from "@mui/material/Stack";
1223
1233
 
1224
1234
  // src/components/layout/Box.tsx
1225
- import { Box as Box13 } from "@mui/material";
1235
+ import { default as default4 } from "@mui/material/Box";
1226
1236
 
1227
1237
  // src/components/layout/Container.tsx
1228
- import { Container as Container2 } from "@mui/material";
1238
+ import { default as default5 } from "@mui/material/Container";
1229
1239
 
1230
1240
  // src/components/layout/AppBar.tsx
1231
- import {
1232
- AppBar as MuiAppBar,
1233
- Toolbar
1234
- } from "@mui/material";
1241
+ import MuiAppBar from "@mui/material/AppBar";
1242
+ import Toolbar from "@mui/material/Toolbar";
1235
1243
  import { styled as styled10 } from "@mui/material/styles";
1236
1244
  import { jsx as jsx21 } from "react/jsx-runtime";
1237
1245
  var StyledAppBar = styled10(MuiAppBar, {
@@ -1255,9 +1263,7 @@ var AppBar = ({ height = 64, children, ...props }) => {
1255
1263
 
1256
1264
  // src/components/layout/Collapse.tsx
1257
1265
  import React18 from "react";
1258
- import {
1259
- Collapse as MuiCollapse
1260
- } from "@mui/material";
1266
+ import MuiCollapse from "@mui/material/Collapse";
1261
1267
  import { jsx as jsx22 } from "react/jsx-runtime";
1262
1268
  var Collapse = React18.forwardRef(function Collapse2(props, ref) {
1263
1269
  return /* @__PURE__ */ jsx22(MuiCollapse, { ref, ...props });
@@ -1265,7 +1271,7 @@ var Collapse = React18.forwardRef(function Collapse2(props, ref) {
1265
1271
 
1266
1272
  // src/components/layout/EntityHeader/EntityHeader.tsx
1267
1273
  import React19 from "react";
1268
- import Box14 from "@mui/material/Box";
1274
+ import Box13 from "@mui/material/Box";
1269
1275
  import Typography10 from "@mui/material/Typography";
1270
1276
  import IconButton5 from "@mui/material/IconButton";
1271
1277
  import Divider5 from "@mui/material/Divider";
@@ -1290,9 +1296,9 @@ var EntityHeader = React19.forwardRef(
1290
1296
  const { label, count } = primaryAction;
1291
1297
  return count !== void 0 ? `${label} (${count})` : label;
1292
1298
  };
1293
- return /* @__PURE__ */ jsxs14(Box14, { ref, children: [
1299
+ return /* @__PURE__ */ jsxs14(Box13, { ref, children: [
1294
1300
  /* @__PURE__ */ jsxs14(
1295
- Box14,
1301
+ Box13,
1296
1302
  {
1297
1303
  sx: {
1298
1304
  display: "flex",
@@ -1304,7 +1310,7 @@ var EntityHeader = React19.forwardRef(
1304
1310
  },
1305
1311
  children: [
1306
1312
  /* @__PURE__ */ jsxs14(
1307
- Box14,
1313
+ Box13,
1308
1314
  {
1309
1315
  sx: {
1310
1316
  display: "flex",
@@ -1314,7 +1320,7 @@ var EntityHeader = React19.forwardRef(
1314
1320
  },
1315
1321
  children: [
1316
1322
  /* @__PURE__ */ jsxs14(
1317
- Box14,
1323
+ Box13,
1318
1324
  {
1319
1325
  sx: {
1320
1326
  display: "flex",
@@ -1359,7 +1365,7 @@ var EntityHeader = React19.forwardRef(
1359
1365
  }
1360
1366
  ),
1361
1367
  /* @__PURE__ */ jsxs14(
1362
- Box14,
1368
+ Box13,
1363
1369
  {
1364
1370
  sx: {
1365
1371
  display: "flex",
@@ -1426,1190 +1432,6 @@ var EntityHeader = React19.forwardRef(
1426
1432
  }
1427
1433
  );
1428
1434
 
1429
- // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
1430
- import {
1431
- Paper as Paper3,
1432
- Box as Box15,
1433
- Typography as Typography11,
1434
- IconButton as IconButton6,
1435
- useTheme,
1436
- LinearProgress
1437
- } from "@mui/material";
1438
- import ExpandMoreIcon2 from "@mui/icons-material/ExpandMore";
1439
- import ChevronRightIcon2 from "@mui/icons-material/ChevronRight";
1440
- import WorkOutlineIcon from "@mui/icons-material/WorkOutline";
1441
- import WavesIcon from "@mui/icons-material/Waves";
1442
- import RocketLaunchOutlinedIcon from "@mui/icons-material/RocketLaunchOutlined";
1443
- import InsertLinkIcon from "@mui/icons-material/InsertLink";
1444
- import SmartToyOutlinedIcon from "@mui/icons-material/SmartToyOutlined";
1445
- import { styled as styled11 } from "@mui/material/styles";
1446
-
1447
- // src/hooks/useControlledExpand.ts
1448
- import { useState as useState2 } from "react";
1449
- function useControlledExpand(controlledExpanded, onToggle, defaultExpanded = false) {
1450
- const [internal, setInternal] = useState2(defaultExpanded);
1451
- const isControlled = controlledExpanded !== void 0 && onToggle != null;
1452
- const expanded = isControlled ? controlledExpanded : internal;
1453
- const toggle = isControlled ? () => onToggle() : () => setInternal((prev) => !prev);
1454
- return { expanded, toggle };
1455
- }
1456
-
1457
- // src/components/layout/DeploymentDashboardCard/DeploymentDashboardCard.tsx
1458
- import { Fragment as Fragment3, jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
1459
- var ENTITY_LABELS = {
1460
- workspace: "Workspace",
1461
- stream: "Stream",
1462
- deployment: "Deployment",
1463
- engagement: "Engagement",
1464
- agent: "Agent"
1465
- };
1466
- var ENTITY_ICON_SIZE = 16;
1467
- var ENTITY_ICONS = {
1468
- workspace: /* @__PURE__ */ jsx24(WorkOutlineIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
1469
- stream: /* @__PURE__ */ jsx24(WavesIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
1470
- deployment: /* @__PURE__ */ jsx24(RocketLaunchOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
1471
- engagement: /* @__PURE__ */ jsx24(InsertLinkIcon, { sx: { fontSize: ENTITY_ICON_SIZE } }),
1472
- agent: /* @__PURE__ */ jsx24(SmartToyOutlinedIcon, { sx: { fontSize: ENTITY_ICON_SIZE } })
1473
- };
1474
- var STATUS_DOT_COLORS = {
1475
- normal: deploymentStatusColors.normal,
1476
- warning: deploymentStatusColors.warning,
1477
- error: deploymentStatusColors.error,
1478
- disabled: deploymentStatusColors.disabledDim
1479
- };
1480
- var CHEVRON_SIZE = 16;
1481
- var ENTITY_CHIP_STYLES = {
1482
- borderRadius: "12px",
1483
- borderWidth: "1.5px",
1484
- padding: { left: 0.75, right: 1, vertical: 0.25 },
1485
- gap: 0.5
1486
- };
1487
- var ENTITY_CHIP_TYPOGRAPHY = {
1488
- fontSize: "12px",
1489
- fontWeight: 500,
1490
- lineHeight: 1.33,
1491
- letterSpacing: "0.07px"
1492
- };
1493
- var StatusDot = styled11(Box15, {
1494
- shouldForwardProp: (p) => p !== "status"
1495
- })(({ status }) => ({
1496
- width: 8,
1497
- height: 8,
1498
- borderRadius: "50%",
1499
- backgroundColor: status ? STATUS_DOT_COLORS[status] ?? "transparent" : "transparent",
1500
- flexShrink: 0
1501
- }));
1502
- var EntityChip = ({ entityType, color }) => /* @__PURE__ */ jsxs15(
1503
- Box15,
1504
- {
1505
- sx: {
1506
- display: "inline-flex",
1507
- alignItems: "center",
1508
- gap: ENTITY_CHIP_STYLES.gap,
1509
- pl: ENTITY_CHIP_STYLES.padding.left,
1510
- pr: ENTITY_CHIP_STYLES.padding.right,
1511
- py: ENTITY_CHIP_STYLES.padding.vertical,
1512
- borderRadius: ENTITY_CHIP_STYLES.borderRadius,
1513
- backgroundColor: deploymentSurfaceTokens.surfaceHigh,
1514
- border: `${ENTITY_CHIP_STYLES.borderWidth} solid ${color}`,
1515
- flexShrink: 0
1516
- },
1517
- children: [
1518
- /* @__PURE__ */ jsx24(Box15, { sx: { color, display: "flex", alignItems: "center" }, children: ENTITY_ICONS[entityType] }),
1519
- /* @__PURE__ */ jsx24(
1520
- Typography11,
1521
- {
1522
- variant: "body2",
1523
- fontWeight: ENTITY_CHIP_TYPOGRAPHY.fontWeight,
1524
- sx: {
1525
- color: "common.black",
1526
- lineHeight: ENTITY_CHIP_TYPOGRAPHY.lineHeight,
1527
- fontSize: ENTITY_CHIP_TYPOGRAPHY.fontSize,
1528
- letterSpacing: ENTITY_CHIP_TYPOGRAPHY.letterSpacing
1529
- },
1530
- children: ENTITY_LABELS[entityType]
1531
- }
1532
- )
1533
- ]
1534
- }
1535
- );
1536
- var CapacityBar = ({ value, indented = false }) => /* @__PURE__ */ jsxs15(Box15, { sx: { pl: indented ? "40px" : 0, pr: "20px", py: 1 }, children: [
1537
- /* @__PURE__ */ jsxs15(Box15, { sx: { display: "flex", justifyContent: "space-between", mb: 1 }, children: [
1538
- /* @__PURE__ */ jsx24(Typography11, { variant: "body2", sx: { color: deploymentSurfaceTokens.textPrimary }, children: "Capacity" }),
1539
- /* @__PURE__ */ jsxs15(Typography11, { variant: "body2", sx: { color: deploymentSurfaceTokens.accentBlue }, children: [
1540
- value,
1541
- "%"
1542
- ] })
1543
- ] }),
1544
- /* @__PURE__ */ jsx24(
1545
- LinearProgress,
1546
- {
1547
- variant: "determinate",
1548
- value,
1549
- sx: {
1550
- height: 4,
1551
- borderRadius: "20px",
1552
- backgroundColor: deploymentSurfaceTokens.strokeOutside,
1553
- "& .MuiLinearProgress-bar": {
1554
- borderRadius: "20px",
1555
- backgroundColor: deploymentSurfaceTokens.accentBlue
1556
- }
1557
- }
1558
- }
1559
- )
1560
- ] });
1561
- var getActionButtonStyles = (action) => {
1562
- const baseStyles = {
1563
- display: "inline-flex",
1564
- alignItems: "center",
1565
- gap: 0.5,
1566
- cursor: action.onClick ? "pointer" : "default",
1567
- background: "none",
1568
- font: "inherit",
1569
- color: deploymentSurfaceTokens.textPrimary,
1570
- whiteSpace: "nowrap",
1571
- "&:hover": action.onClick ? { opacity: 0.7 } : void 0
1572
- };
1573
- const variantStyles = action.outlined ? {
1574
- border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
1575
- borderRadius: "8px",
1576
- p: 1,
1577
- bgcolor: "white"
1578
- } : {
1579
- border: "none",
1580
- p: 0
1581
- };
1582
- return { ...baseStyles, ...variantStyles };
1583
- };
1584
- var CardAction = ({ action }) => /* @__PURE__ */ jsxs15(
1585
- Box15,
1586
- {
1587
- component: action.onClick ? "button" : "span",
1588
- onClick: action.onClick,
1589
- sx: getActionButtonStyles(action),
1590
- children: [
1591
- action.icon && /* @__PURE__ */ jsx24(Box15, { component: "span", sx: { display: "flex", alignItems: "center" }, children: action.icon }),
1592
- action.label && /* @__PURE__ */ jsx24(Typography11, { variant: "body2", fontWeight: 500, component: "span", sx: { fontSize: "14px" }, children: action.label })
1593
- ]
1594
- }
1595
- );
1596
- var CardActionList = ({ actions }) => /* @__PURE__ */ jsx24(Fragment3, { children: actions.map((action) => /* @__PURE__ */ jsx24(CardAction, { action }, action.id)) });
1597
- var DeploymentDashboardCard = ({
1598
- entityType,
1599
- title,
1600
- id: idDisplay,
1601
- createdAt,
1602
- updatedAt,
1603
- capacity,
1604
- actions = [],
1605
- statusIndicator = null,
1606
- expandable = false,
1607
- expanded: controlledExpanded,
1608
- onExpandToggle,
1609
- onCopyId,
1610
- className,
1611
- children
1612
- }) => {
1613
- const theme = useTheme();
1614
- const entityColor = theme.palette.deployment?.entity?.[entityType] ?? deploymentEntityColors[entityType];
1615
- const isControlled = expandable && onExpandToggle != null;
1616
- const { expanded, toggle } = useControlledExpand(
1617
- isControlled ? controlledExpanded : void 0,
1618
- isControlled ? onExpandToggle : void 0
1619
- );
1620
- const isWorkspace = entityType === "workspace";
1621
- const isDeployment = entityType === "deployment";
1622
- const getClampedCapacity = (capacity2) => {
1623
- if (!isDeployment || capacity2 == null) {
1624
- return void 0;
1625
- }
1626
- return Math.min(100, Math.max(0, capacity2));
1627
- };
1628
- const capacityClamped = getClampedCapacity(capacity);
1629
- return /* @__PURE__ */ jsxs15(
1630
- Paper3,
1631
- {
1632
- className,
1633
- elevation: 0,
1634
- sx: {
1635
- border: `1px solid ${isWorkspace ? deploymentSurfaceTokens.accentBlue : deploymentSurfaceTokens.borderDefault}`,
1636
- borderRadius: isWorkspace ? "4px" : "12px",
1637
- boxShadow: isWorkspace ? deploymentSurfaceTokens.workspaceShadow : "none",
1638
- px: 1,
1639
- py: isDeployment ? 2 : 1,
1640
- pl: 1,
1641
- display: "flex",
1642
- flexDirection: "column",
1643
- gap: 0
1644
- },
1645
- children: [
1646
- /* @__PURE__ */ jsxs15(
1647
- Box15,
1648
- {
1649
- sx: {
1650
- display: "flex",
1651
- justifyContent: "space-between",
1652
- alignItems: isDeployment ? "flex-start" : "center",
1653
- width: "100%"
1654
- },
1655
- children: [
1656
- /* @__PURE__ */ jsxs15(Box15, { sx: { display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
1657
- /* @__PURE__ */ jsxs15(Box15, { sx: { display: "flex", gap: 1, alignItems: "center" }, children: [
1658
- expandable ? /* @__PURE__ */ jsx24(
1659
- IconButton6,
1660
- {
1661
- size: "small",
1662
- onClick: toggle,
1663
- "aria-label": expanded ? "Collapse" : "Expand",
1664
- sx: { p: "5px" },
1665
- children: expanded ? /* @__PURE__ */ jsx24(ExpandMoreIcon2, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } }) : /* @__PURE__ */ jsx24(ChevronRightIcon2, { sx: { fontSize: CHEVRON_SIZE, color: deploymentSurfaceTokens.accentBlue } })
1666
- }
1667
- ) : /* @__PURE__ */ jsx24(Box15, { sx: { width: 26, flexShrink: 0 } }),
1668
- /* @__PURE__ */ jsx24(EntityChip, { entityType, color: entityColor }),
1669
- /* @__PURE__ */ jsx24(
1670
- Typography11,
1671
- {
1672
- variant: "subtitle1",
1673
- fontWeight: 500,
1674
- noWrap: true,
1675
- sx: { color: deploymentSurfaceTokens.textPrimary, fontSize: "16px", letterSpacing: "0.08px" },
1676
- children: title
1677
- }
1678
- ),
1679
- idDisplay != null && /* @__PURE__ */ jsx24(IDBlock, { id: idDisplay, label: "ID", entityType, onCopy: onCopyId })
1680
- ] }),
1681
- (createdAt != null || updatedAt != null) && /* @__PURE__ */ jsxs15(
1682
- Box15,
1683
- {
1684
- sx: {
1685
- display: "flex",
1686
- gap: 2,
1687
- px: "34px",
1688
- color: deploymentSurfaceTokens.textSecondary
1689
- },
1690
- children: [
1691
- createdAt != null && /* @__PURE__ */ jsxs15(Typography11, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
1692
- "Created: ",
1693
- createdAt
1694
- ] }),
1695
- updatedAt != null && /* @__PURE__ */ jsxs15(Typography11, { variant: "body2", sx: { color: "inherit", fontSize: "14px" }, children: [
1696
- "Last Updated: ",
1697
- updatedAt
1698
- ] })
1699
- ]
1700
- }
1701
- ),
1702
- capacityClamped !== void 0 && /* @__PURE__ */ jsx24(CapacityBar, { value: capacityClamped, indented: expandable })
1703
- ] }),
1704
- /* @__PURE__ */ jsxs15(Box15, { sx: { display: "flex", gap: 1, alignItems: "center", flexShrink: 0 }, children: [
1705
- statusIndicator != null && /* @__PURE__ */ jsx24(StatusDot, { status: statusIndicator, "aria-hidden": true }),
1706
- /* @__PURE__ */ jsx24(CardActionList, { actions })
1707
- ] })
1708
- ]
1709
- }
1710
- ),
1711
- children && /* @__PURE__ */ jsx24(Box15, { sx: { mt: 1.5, display: "flex", flexDirection: "column", gap: 1 }, children })
1712
- ]
1713
- }
1714
- );
1715
- };
1716
-
1717
- // src/components/layout/DeploymentEntityContextMenu/DeploymentEntityContextMenu.tsx
1718
- import { Menu, MenuItem, Switch, Divider as Divider6, ListItemIcon as ListItemIcon2, ListItemText as ListItemText2 } from "@mui/material";
1719
- import { styled as styled12 } from "@mui/material/styles";
1720
- import { Fragment as Fragment4, jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
1721
- var StyledMenu = styled12(Menu)({
1722
- "& .MuiPaper-root": {
1723
- borderRadius: 4,
1724
- boxShadow: deploymentSurfaceTokens.workspaceShadow,
1725
- minWidth: 220,
1726
- border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
1727
- padding: 8
1728
- },
1729
- "& .MuiList-root": {
1730
- padding: 0
1731
- }
1732
- });
1733
- var StyledMenuItem = styled12(MenuItem)({
1734
- gap: 8,
1735
- padding: "8px 0",
1736
- borderRadius: 4,
1737
- minHeight: "auto",
1738
- "&:hover": {
1739
- backgroundColor: deploymentSurfaceTokens.hoverLight
1740
- },
1741
- "& .MuiListItemIcon-root": {
1742
- minWidth: "auto",
1743
- color: deploymentSurfaceTokens.textPrimary,
1744
- "& .MuiSvgIcon-root": {
1745
- fontSize: 24
1746
- }
1747
- },
1748
- "& .MuiListItemText-root .MuiTypography-root": {
1749
- fontSize: 16,
1750
- fontWeight: 500,
1751
- lineHeight: 1.5,
1752
- letterSpacing: "0.08px",
1753
- color: deploymentSurfaceTokens.textPrimary
1754
- }
1755
- });
1756
- var HighlightedMenuItem = styled12(StyledMenuItem)({
1757
- backgroundColor: deploymentSurfaceTokens.highlightBg,
1758
- border: `1px solid ${deploymentSurfaceTokens.highlightBorder}`,
1759
- padding: 8,
1760
- "&:hover": {
1761
- backgroundColor: deploymentSurfaceTokens.highlightBgHover
1762
- }
1763
- });
1764
- var ToggleMenuItem = styled12(MenuItem)({
1765
- gap: 8,
1766
- padding: "8px 0",
1767
- cursor: "default",
1768
- minHeight: "auto",
1769
- "&:hover": {
1770
- backgroundColor: "transparent"
1771
- },
1772
- "& .MuiListItemText-root .MuiTypography-root": {
1773
- fontSize: 16,
1774
- fontWeight: 500,
1775
- lineHeight: 1.5,
1776
- letterSpacing: "0.08px",
1777
- color: deploymentSurfaceTokens.textPrimary
1778
- }
1779
- });
1780
- var EnableSwitch = styled12(Switch)(({ theme }) => ({
1781
- width: 32,
1782
- height: 20,
1783
- padding: 0,
1784
- "& .MuiSwitch-switchBase": {
1785
- padding: 2,
1786
- "&.Mui-checked": {
1787
- transform: "translateX(12px)",
1788
- color: theme.palette.common.white,
1789
- "& + .MuiSwitch-track": {
1790
- backgroundColor: deploymentSurfaceTokens.switchGreen,
1791
- opacity: 1
1792
- }
1793
- }
1794
- },
1795
- "& .MuiSwitch-thumb": {
1796
- width: 16,
1797
- height: 16
1798
- },
1799
- "& .MuiSwitch-track": {
1800
- borderRadius: 100,
1801
- backgroundColor: deploymentSurfaceTokens.switchTrackOff,
1802
- opacity: 1
1803
- }
1804
- }));
1805
- var StyledDivider2 = styled12(Divider6)({
1806
- margin: "0 !important",
1807
- borderColor: deploymentSurfaceTokens.strokeOutside
1808
- });
1809
- var DeploymentEntityContextMenu = ({
1810
- open,
1811
- anchorEl,
1812
- onClose,
1813
- items,
1814
- enableToggle = false,
1815
- enableChecked = false,
1816
- onEnableChange
1817
- }) => {
1818
- return /* @__PURE__ */ jsxs16(
1819
- StyledMenu,
1820
- {
1821
- anchorEl,
1822
- open,
1823
- onClose,
1824
- anchorOrigin: { vertical: "bottom", horizontal: "right" },
1825
- transformOrigin: { vertical: "top", horizontal: "right" },
1826
- slotProps: { paper: { "aria-label": "Entity context menu" } },
1827
- children: [
1828
- items.map((item) => {
1829
- if (item.type === "divider") {
1830
- return /* @__PURE__ */ jsx25(StyledDivider2, {}, item.id);
1831
- }
1832
- if (item.type === "toggle") {
1833
- return /* @__PURE__ */ jsxs16(ToggleMenuItem, { disableRipple: true, children: [
1834
- onEnableChange && /* @__PURE__ */ jsx25(
1835
- EnableSwitch,
1836
- {
1837
- size: "small",
1838
- checked: enableChecked,
1839
- onChange: (_, checked) => onEnableChange(checked),
1840
- inputProps: { "aria-label": item.label }
1841
- }
1842
- ),
1843
- /* @__PURE__ */ jsx25(ListItemText2, { primary: item.label })
1844
- ] }, item.id);
1845
- }
1846
- const Row = item.highlighted ? HighlightedMenuItem : StyledMenuItem;
1847
- return /* @__PURE__ */ jsxs16(
1848
- Row,
1849
- {
1850
- onClick: () => {
1851
- item.onClick?.();
1852
- onClose();
1853
- },
1854
- children: [
1855
- item.icon && /* @__PURE__ */ jsx25(ListItemIcon2, { children: item.icon }),
1856
- /* @__PURE__ */ jsx25(ListItemText2, { primary: item.label })
1857
- ]
1858
- },
1859
- item.id
1860
- );
1861
- }),
1862
- enableToggle && /* @__PURE__ */ jsxs16(Fragment4, { children: [
1863
- /* @__PURE__ */ jsx25(StyledDivider2, {}),
1864
- /* @__PURE__ */ jsxs16(ToggleMenuItem, { disableRipple: true, children: [
1865
- onEnableChange && /* @__PURE__ */ jsx25(
1866
- EnableSwitch,
1867
- {
1868
- size: "small",
1869
- checked: enableChecked,
1870
- onChange: (_, checked) => onEnableChange(checked),
1871
- inputProps: { "aria-label": "Enable" }
1872
- }
1873
- ),
1874
- /* @__PURE__ */ jsx25(ListItemText2, { primary: "Enable" })
1875
- ] })
1876
- ] })
1877
- ]
1878
- }
1879
- );
1880
- };
1881
-
1882
- // src/components/layout/DeploymentEntityContextMenu/contextMenuItems.tsx
1883
- import AddCircleOutlineIcon from "@mui/icons-material/AddCircleOutline";
1884
- import EditIcon from "@mui/icons-material/Edit";
1885
- import ContentCopyIcon from "@mui/icons-material/ContentCopy";
1886
- import SmartToyOutlinedIcon2 from "@mui/icons-material/SmartToyOutlined";
1887
- import DescriptionIcon from "@mui/icons-material/Description";
1888
- import SettingsIcon from "@mui/icons-material/Settings";
1889
- import { jsx as jsx26 } from "react/jsx-runtime";
1890
- var contextMenuItems = {
1891
- /** Add Engagement action (Add Circle icon) */
1892
- addEngagement: (onClick) => ({
1893
- id: "add-engagement",
1894
- label: "Add Engagement",
1895
- icon: /* @__PURE__ */ jsx26(AddCircleOutlineIcon, {}),
1896
- onClick
1897
- }),
1898
- /** Add Agent action (Add Circle icon) */
1899
- addAgent: (onClick) => ({
1900
- id: "add-agent",
1901
- label: "Add Agent",
1902
- icon: /* @__PURE__ */ jsx26(AddCircleOutlineIcon, {}),
1903
- onClick
1904
- }),
1905
- /** Add Stream action (Add Circle icon) */
1906
- addStream: (onClick) => ({
1907
- id: "add-stream",
1908
- label: "Add Stream",
1909
- icon: /* @__PURE__ */ jsx26(AddCircleOutlineIcon, {}),
1910
- onClick
1911
- }),
1912
- /** Edit action (Pen / Edit icon) */
1913
- edit: (onClick) => ({
1914
- id: "edit",
1915
- label: "Edit",
1916
- icon: /* @__PURE__ */ jsx26(EditIcon, {}),
1917
- onClick
1918
- }),
1919
- /** Copy ID action (Copy icon) */
1920
- copyId: (onClick) => ({
1921
- id: "copy-id",
1922
- label: "Copy ID",
1923
- icon: /* @__PURE__ */ jsx26(ContentCopyIcon, {}),
1924
- onClick
1925
- }),
1926
- /** Agent Flow Visualization — highlighted action (SmartToy icon) */
1927
- agentFlowVisualization: (onClick) => ({
1928
- id: "agent-flow",
1929
- label: "Agent Flow Visualization",
1930
- icon: /* @__PURE__ */ jsx26(SmartToyOutlinedIcon2, {}),
1931
- onClick,
1932
- highlighted: true
1933
- }),
1934
- /** View Logs action (Document / Description icon) */
1935
- viewLogs: (onClick) => ({
1936
- id: "view-logs",
1937
- label: "View Logs",
1938
- icon: /* @__PURE__ */ jsx26(DescriptionIcon, {}),
1939
- onClick
1940
- }),
1941
- /** Horizontal divider between sections */
1942
- divider: () => ({
1943
- id: "divider",
1944
- label: "",
1945
- type: "divider"
1946
- }),
1947
- /** Enable toggle row (switch on left + label) */
1948
- enable: () => ({
1949
- id: "enable",
1950
- label: "Enable",
1951
- type: "toggle"
1952
- }),
1953
- /** Settings action (Settings / Gear icon) */
1954
- settings: (onClick) => ({
1955
- id: "settings",
1956
- label: "Settings",
1957
- icon: /* @__PURE__ */ jsx26(SettingsIcon, {}),
1958
- onClick
1959
- })
1960
- };
1961
-
1962
- // src/components/layout/DeploymentDashboardTree/DeploymentDashboardTree.tsx
1963
- import { Box as Box16 } from "@mui/material";
1964
- import { styled as styled13, alpha } from "@mui/material/styles";
1965
- import { jsx as jsx27, jsxs as jsxs17 } from "react/jsx-runtime";
1966
- var TREE_SP = {
1967
- /** Vertical gap between sibling rows (Figma S / sp-8) */
1968
- rowGap: 8,
1969
- /** Gap between rail and children column (Figma sp-12) */
1970
- railGap: 12,
1971
- /** Rail width (Figma) */
1972
- railWidth: 4,
1973
- /** Total horizontal indent per level = railWidth + railGap (Figma M = 16) */
1974
- indentPerLevel: 4 + 12
1975
- };
1976
- var RAIL_OPACITY = {
1977
- workspace: 0.5,
1978
- stream: 0.5,
1979
- deployment: 0.4,
1980
- engagement: 0.4,
1981
- agent: 0.4
1982
- };
1983
- var Rail = styled13(Box16, {
1984
- shouldForwardProp: (p) => p !== "railColor"
1985
- })(({ railColor }) => ({
1986
- width: TREE_SP.railWidth,
1987
- borderRadius: TREE_SP.railWidth / 2,
1988
- backgroundColor: railColor,
1989
- flexShrink: 0,
1990
- alignSelf: "stretch"
1991
- }));
1992
- var TreeRow = ({ node, depth, onExpandToggle, onCopyId, renderCard }) => {
1993
- const hasChildren = Boolean(node.children && node.children.length > 0);
1994
- const { expanded, toggle } = useControlledExpand(
1995
- onExpandToggle != null ? node.expanded : void 0,
1996
- onExpandToggle ? () => onExpandToggle(node.id) : void 0,
1997
- node.expanded ?? false
1998
- );
1999
- const entityColor = deploymentEntityColors[node.entityType] ?? deploymentEntityColors.workspace;
2000
- const railOpacity = RAIL_OPACITY[node.entityType] ?? 0.5;
2001
- const railColor = alpha(entityColor, railOpacity);
2002
- const renderedChildren = hasChildren && expanded ? /* @__PURE__ */ jsxs17(Box16, { sx: { display: "flex", gap: `${TREE_SP.railGap}px` }, children: [
2003
- /* @__PURE__ */ jsx27(Rail, { railColor, "aria-hidden": true, "data-rail": true }),
2004
- /* @__PURE__ */ jsx27(
2005
- Box16,
2006
- {
2007
- role: "group",
2008
- sx: {
2009
- flex: 1,
2010
- minWidth: 0,
2011
- display: "flex",
2012
- flexDirection: "column",
2013
- gap: `${TREE_SP.rowGap}px`
2014
- },
2015
- children: node.children.map((child) => /* @__PURE__ */ jsx27(
2016
- TreeRow,
2017
- {
2018
- node: child,
2019
- depth: depth + 1,
2020
- onExpandToggle,
2021
- onCopyId,
2022
- renderCard
2023
- },
2024
- child.id
2025
- ))
2026
- }
2027
- )
2028
- ] }) : null;
2029
- const cardContent = renderCard?.(node) ?? /* @__PURE__ */ jsx27(
2030
- DeploymentDashboardCard,
2031
- {
2032
- entityType: node.entityType,
2033
- title: node.title,
2034
- id: node.idDisplay,
2035
- createdAt: node.createdAt,
2036
- updatedAt: node.updatedAt,
2037
- capacity: node.capacity,
2038
- actions: node.actions,
2039
- statusIndicator: node.statusIndicator,
2040
- expandable: hasChildren,
2041
- expanded,
2042
- onExpandToggle: hasChildren ? toggle : void 0,
2043
- onCopyId: onCopyId && node.idDisplay ? () => onCopyId(node.id) : void 0,
2044
- children: renderedChildren
2045
- }
2046
- );
2047
- return /* @__PURE__ */ jsx27(Box16, { role: "treeitem", children: cardContent });
2048
- };
2049
- var DeploymentDashboardTree = ({
2050
- nodes,
2051
- onExpandToggle,
2052
- onCopyId,
2053
- renderCard
2054
- }) => {
2055
- return /* @__PURE__ */ jsx27(
2056
- Box16,
2057
- {
2058
- role: "tree",
2059
- sx: {
2060
- display: "flex",
2061
- flexDirection: "column",
2062
- gap: `${TREE_SP.rowGap}px`,
2063
- p: `${TREE_SP.rowGap}px`
2064
- },
2065
- children: nodes.map((node) => /* @__PURE__ */ jsx27(
2066
- TreeRow,
2067
- {
2068
- node,
2069
- depth: 0,
2070
- onExpandToggle,
2071
- onCopyId,
2072
- renderCard
2073
- },
2074
- node.id
2075
- ))
2076
- }
2077
- );
2078
- };
2079
-
2080
- // src/components/layout/DeploymentDashboardPanel/DeploymentDashboardPanel.tsx
2081
- import { Box as Box17 } from "@mui/material";
2082
- import { styled as styled14 } from "@mui/material/styles";
2083
- import { jsx as jsx28 } from "react/jsx-runtime";
2084
- var PANEL_RADIUS = 12;
2085
- var PANEL_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.08)";
2086
- var StyledPanel = styled14(Box17)({
2087
- backgroundColor: deploymentSurfaceTokens.surfaceHigh,
2088
- border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
2089
- borderRadius: PANEL_RADIUS,
2090
- boxShadow: PANEL_SHADOW,
2091
- overflow: "hidden"
2092
- });
2093
- var DeploymentDashboardPanel = ({
2094
- children,
2095
- className,
2096
- padding = 2
2097
- }) => {
2098
- return /* @__PURE__ */ jsx28(StyledPanel, { className, sx: { p: padding }, children });
2099
- };
2100
-
2101
- // src/components/layout/WorkflowTopBar/WorkflowTopBar.tsx
2102
- import {
2103
- Box as Box18,
2104
- Divider as Divider7,
2105
- IconButton as IconButton7,
2106
- InputBase,
2107
- Typography as Typography12,
2108
- alpha as alpha2
2109
- } from "@mui/material";
2110
- import CloseIcon4 from "@mui/icons-material/Close";
2111
- import CancelIcon from "@mui/icons-material/Cancel";
2112
- import { useTheme as useTheme2 } from "@mui/material/styles";
2113
- import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
2114
- var WorkflowTopBar = ({
2115
- title = "Agent visualization flow chart",
2116
- executionId,
2117
- executionIdLabel = "Job ID",
2118
- onExecutionIdChange,
2119
- onClearExecutionId,
2120
- submitLabel = "Submit",
2121
- onSubmit,
2122
- inspectorLabel = "Inspector",
2123
- onInspectorToggle,
2124
- onClose,
2125
- showInspectorToggle = true,
2126
- showCloseButton = true,
2127
- sx,
2128
- ...boxProps
2129
- }) => {
2130
- const chrome = useTheme2().palette.workflow.chrome;
2131
- return /* @__PURE__ */ jsxs18(
2132
- Box18,
2133
- {
2134
- sx: [
2135
- {
2136
- backgroundColor: "common.white",
2137
- display: "flex",
2138
- flexDirection: "column",
2139
- width: "100%"
2140
- },
2141
- ...Array.isArray(sx) ? sx : [sx]
2142
- ],
2143
- ...boxProps,
2144
- children: [
2145
- /* @__PURE__ */ jsxs18(
2146
- Box18,
2147
- {
2148
- sx: {
2149
- display: "flex",
2150
- alignItems: "center",
2151
- justifyContent: "space-between",
2152
- gap: 2,
2153
- px: 2,
2154
- py: 2,
2155
- minHeight: 72
2156
- },
2157
- children: [
2158
- /* @__PURE__ */ jsx29(
2159
- Typography12,
2160
- {
2161
- variant: "subtitle1",
2162
- sx: {
2163
- color: deploymentSurfaceTokens.textPrimary,
2164
- fontWeight: 500,
2165
- minWidth: 220
2166
- },
2167
- children: title
2168
- }
2169
- ),
2170
- /* @__PURE__ */ jsxs18(
2171
- Box18,
2172
- {
2173
- sx: {
2174
- display: "flex",
2175
- alignItems: "center",
2176
- gap: 2,
2177
- justifyContent: "flex-end",
2178
- flex: 1,
2179
- minWidth: 0
2180
- },
2181
- children: [
2182
- /* @__PURE__ */ jsxs18(
2183
- Box18,
2184
- {
2185
- sx: {
2186
- display: "flex",
2187
- alignItems: "center",
2188
- backgroundColor: chrome.inputBg,
2189
- borderRadius: "4px 4px 0 0",
2190
- borderBottom: `2px solid ${chrome.inputBorder}`,
2191
- px: 2,
2192
- minWidth: 320,
2193
- maxWidth: 440,
2194
- flex: "1 1 auto",
2195
- minHeight: 56
2196
- },
2197
- children: [
2198
- /* @__PURE__ */ jsxs18(Box18, { sx: { flex: 1, minWidth: 0 }, children: [
2199
- /* @__PURE__ */ jsx29(
2200
- Typography12,
2201
- {
2202
- variant: "caption",
2203
- sx: {
2204
- color: chrome.labelText,
2205
- fontSize: 12,
2206
- display: "block"
2207
- },
2208
- children: executionIdLabel
2209
- }
2210
- ),
2211
- /* @__PURE__ */ jsx29(
2212
- InputBase,
2213
- {
2214
- value: executionId,
2215
- onChange: (event) => onExecutionIdChange?.(event.target.value),
2216
- inputProps: { "aria-label": executionIdLabel },
2217
- sx: {
2218
- width: "100%",
2219
- mt: 0.25,
2220
- "& .MuiInputBase-input": {
2221
- p: 0,
2222
- color: deploymentSurfaceTokens.textPrimary,
2223
- fontSize: 16,
2224
- lineHeight: 1.5
2225
- }
2226
- }
2227
- }
2228
- )
2229
- ] }),
2230
- /* @__PURE__ */ jsx29(
2231
- IconButton7,
2232
- {
2233
- size: "small",
2234
- "aria-label": `Clear ${executionIdLabel.toLowerCase()}`,
2235
- onClick: onClearExecutionId,
2236
- sx: { color: chrome.iconColor, ml: 1 },
2237
- children: /* @__PURE__ */ jsx29(CancelIcon, { fontSize: "small" })
2238
- }
2239
- )
2240
- ]
2241
- }
2242
- ),
2243
- /* @__PURE__ */ jsx29(
2244
- Button,
2245
- {
2246
- variant: "primary",
2247
- onClick: onSubmit,
2248
- sx: {
2249
- backgroundColor: chrome.buttonPrimary,
2250
- "&:hover": {
2251
- backgroundColor: chrome.buttonHover
2252
- },
2253
- "&:active": {
2254
- backgroundColor: chrome.buttonActive
2255
- }
2256
- },
2257
- children: submitLabel
2258
- }
2259
- ),
2260
- showInspectorToggle && /* @__PURE__ */ jsx29(Button, { variant: "secondary", onClick: onInspectorToggle, children: inspectorLabel }),
2261
- showCloseButton && /* @__PURE__ */ jsx29(
2262
- IconButton7,
2263
- {
2264
- "aria-label": "Close workflow chrome",
2265
- onClick: onClose,
2266
- sx: {
2267
- width: 30,
2268
- height: 30,
2269
- backgroundColor: alpha2(chrome.closeBtnBg, 0.28),
2270
- color: chrome.iconColor
2271
- },
2272
- children: /* @__PURE__ */ jsx29(CloseIcon4, { fontSize: "small" })
2273
- }
2274
- )
2275
- ]
2276
- }
2277
- )
2278
- ]
2279
- }
2280
- ),
2281
- /* @__PURE__ */ jsx29(Divider7, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } })
2282
- ]
2283
- }
2284
- );
2285
- };
2286
-
2287
- // src/components/layout/WorkflowSideInspector/WorkflowSideInspector.tsx
2288
- import {
2289
- Box as Box19,
2290
- Divider as Divider8,
2291
- IconButton as IconButton8,
2292
- Paper as Paper4,
2293
- Typography as Typography13,
2294
- alpha as alpha3,
2295
- useTheme as useTheme3
2296
- } from "@mui/material";
2297
- import CloseIcon5 from "@mui/icons-material/Close";
2298
- import ContentCopyOutlinedIcon from "@mui/icons-material/ContentCopyOutlined";
2299
- import { Fragment as Fragment5, jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
2300
- var INSPECTOR_WIDTH = 320;
2301
- var InfoBlock = ({ label, value, mutedColor }) => /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
2302
- /* @__PURE__ */ jsx30(Typography13, { variant: "body2", sx: { color: mutedColor }, children: label }),
2303
- /* @__PURE__ */ jsx30(
2304
- Typography13,
2305
- {
2306
- variant: "body2",
2307
- sx: { color: deploymentSurfaceTokens.textPrimary, whiteSpace: "pre-wrap" },
2308
- children: value
2309
- }
2310
- )
2311
- ] });
2312
- var WorkflowSideInspector = ({
2313
- open = true,
2314
- title = "Inspector",
2315
- nodeTitle = "Player location cubby",
2316
- nodeDescription = "Retrieving everything we know about this player so far.",
2317
- nodeType = "cubbies",
2318
- inputValue = "Get player topic tree",
2319
- outputValue = "Topic tree with emotional trends and behavior patterns",
2320
- cubbyId = "ID:S8787",
2321
- timestamp = "2026-02-11 14:32:10",
2322
- duration = "120ms",
2323
- showInput = true,
2324
- showOutput = true,
2325
- showTimestamp = true,
2326
- showDuration = true,
2327
- actionLabel,
2328
- onClose,
2329
- onCopyCubbyId,
2330
- onAction,
2331
- sx,
2332
- ...paperProps
2333
- }) => {
2334
- const theme = useTheme3();
2335
- const chrome = theme.palette.workflow.chrome;
2336
- if (!open) {
2337
- return null;
2338
- }
2339
- const accent = theme.palette.workflow.node[nodeType].accent;
2340
- return /* @__PURE__ */ jsxs19(
2341
- Paper4,
2342
- {
2343
- elevation: 0,
2344
- sx: {
2345
- width: INSPECTOR_WIDTH,
2346
- minWidth: INSPECTOR_WIDTH,
2347
- maxWidth: INSPECTOR_WIDTH,
2348
- p: 3,
2349
- backgroundColor: theme.palette.common.white,
2350
- borderRadius: 0,
2351
- boxShadow: "0px 5px 8px rgba(0, 3, 11, 0.12), 0px 0px 1px rgba(0, 3, 11, 0.24)",
2352
- display: "flex",
2353
- flexDirection: "column",
2354
- gap: 3,
2355
- ...sx
2356
- },
2357
- ...paperProps,
2358
- children: [
2359
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 1.25 }, children: [
2360
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between" }, children: [
2361
- /* @__PURE__ */ jsx30(Typography13, { variant: "subtitle1", sx: { color: deploymentSurfaceTokens.textPrimary }, children: title }),
2362
- /* @__PURE__ */ jsx30(
2363
- IconButton8,
2364
- {
2365
- "aria-label": "Close inspector",
2366
- onClick: onClose,
2367
- sx: {
2368
- border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
2369
- borderRadius: 2
2370
- },
2371
- children: /* @__PURE__ */ jsx30(CloseIcon5, { fontSize: "small" })
2372
- }
2373
- )
2374
- ] }),
2375
- /* @__PURE__ */ jsx30(Divider8, { sx: { borderColor: chrome.divider } })
2376
- ] }),
2377
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 3, flex: 1 }, children: [
2378
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
2379
- /* @__PURE__ */ jsx30(
2380
- Typography13,
2381
- {
2382
- variant: "subtitle1",
2383
- sx: { color: deploymentSurfaceTokens.textPrimary, fontWeight: 500 },
2384
- children: nodeTitle
2385
- }
2386
- ),
2387
- /* @__PURE__ */ jsx30(Typography13, { variant: "body2", sx: { color: chrome.mutedText }, children: nodeDescription }),
2388
- /* @__PURE__ */ jsxs19(
2389
- Box19,
2390
- {
2391
- sx: {
2392
- display: "inline-flex",
2393
- alignItems: "center",
2394
- alignSelf: "flex-start",
2395
- gap: 1,
2396
- px: 1.25,
2397
- py: 0.5,
2398
- borderRadius: "999px",
2399
- border: `1px solid ${accent}`,
2400
- backgroundColor: alpha3(accent, 0.12)
2401
- },
2402
- children: [
2403
- /* @__PURE__ */ jsx30(
2404
- Box19,
2405
- {
2406
- sx: {
2407
- width: 10,
2408
- height: 10,
2409
- borderRadius: "50%",
2410
- backgroundColor: accent
2411
- }
2412
- }
2413
- ),
2414
- /* @__PURE__ */ jsx30(Typography13, { variant: "caption", sx: { color: accent, fontWeight: 500 }, children: WORKFLOW_NODE_LABELS[nodeType] })
2415
- ]
2416
- }
2417
- )
2418
- ] }),
2419
- /* @__PURE__ */ jsx30(Divider8, { sx: { borderColor: chrome.divider } }),
2420
- (showInput || showOutput) && /* @__PURE__ */ jsxs19(Fragment5, { children: [
2421
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
2422
- showInput && /* @__PURE__ */ jsx30(InfoBlock, { label: "Input", value: inputValue, mutedColor: chrome.mutedText }),
2423
- showOutput && /* @__PURE__ */ jsx30(InfoBlock, { label: "Output", value: outputValue, mutedColor: chrome.mutedText })
2424
- ] }),
2425
- /* @__PURE__ */ jsx30(Divider8, { sx: { borderColor: chrome.divider } })
2426
- ] }),
2427
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 1 }, children: [
2428
- /* @__PURE__ */ jsx30(Typography13, { variant: "body2", sx: { color: chrome.mutedText }, children: "Cubby ID" }),
2429
- /* @__PURE__ */ jsx30(
2430
- Button,
2431
- {
2432
- variant: "secondary",
2433
- size: "small",
2434
- startIcon: /* @__PURE__ */ jsx30(ContentCopyOutlinedIcon, { fontSize: "small" }),
2435
- onClick: onCopyCubbyId,
2436
- sx: { alignSelf: "flex-start" },
2437
- children: cubbyId
2438
- }
2439
- )
2440
- ] }),
2441
- /* @__PURE__ */ jsx30(Divider8, { sx: { borderColor: chrome.divider } }),
2442
- (showTimestamp || showDuration) && /* @__PURE__ */ jsxs19(Fragment5, { children: [
2443
- /* @__PURE__ */ jsxs19(Box19, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
2444
- showTimestamp && /* @__PURE__ */ jsx30(InfoBlock, { label: "Timestamp", value: timestamp, mutedColor: chrome.mutedText }),
2445
- showDuration && /* @__PURE__ */ jsx30(InfoBlock, { label: "Duration", value: duration, mutedColor: chrome.mutedText })
2446
- ] }),
2447
- /* @__PURE__ */ jsx30(Divider8, { sx: { borderColor: chrome.divider } })
2448
- ] })
2449
- ] }),
2450
- actionLabel && /* @__PURE__ */ jsx30(Button, { variant: "primary", fullWidth: true, onClick: onAction, children: actionLabel })
2451
- ]
2452
- }
2453
- );
2454
- };
2455
-
2456
- // src/components/layout/WorkflowTimeBar/WorkflowTimeBar.tsx
2457
- import {
2458
- Box as Box20,
2459
- Divider as Divider9,
2460
- IconButton as IconButton9,
2461
- LinearProgress as LinearProgress2,
2462
- Typography as Typography14
2463
- } from "@mui/material";
2464
- import StopIcon from "@mui/icons-material/Stop";
2465
- import ChevronLeftIcon2 from "@mui/icons-material/ChevronLeft";
2466
- import ChevronRightIcon3 from "@mui/icons-material/ChevronRight";
2467
- import ReplayIcon from "@mui/icons-material/Replay";
2468
- import { useTheme as useTheme4 } from "@mui/material/styles";
2469
- import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
2470
- var SpeedButton = ({ value, selected, onClick }) => /* @__PURE__ */ jsx31(
2471
- Button,
2472
- {
2473
- variant: selected ? "primary" : "secondary",
2474
- size: "small",
2475
- onClick,
2476
- sx: {
2477
- minWidth: 48,
2478
- px: 1.5,
2479
- py: 0.25,
2480
- borderRadius: 1,
2481
- fontSize: 14,
2482
- lineHeight: 1.4
2483
- },
2484
- children: `${value}x`
2485
- }
2486
- );
2487
- var WorkflowTimeBar = ({
2488
- elapsedTime = "01m : 12s",
2489
- progress = 26,
2490
- currentStep = 1,
2491
- totalSteps = 16,
2492
- speedOptions = [0.5, 1, 2, 4],
2493
- selectedSpeed = 0.5,
2494
- onStop,
2495
- onPreviousStep,
2496
- onNextStep,
2497
- onSpeedChange,
2498
- onReset,
2499
- sx,
2500
- ...boxProps
2501
- }) => {
2502
- const chrome = useTheme4().palette.workflow.chrome;
2503
- const boundedProgress = Math.max(0, Math.min(100, progress));
2504
- const atFirstStep = currentStep <= 1;
2505
- const atLastStep = currentStep >= totalSteps;
2506
- return /* @__PURE__ */ jsxs20(
2507
- Box20,
2508
- {
2509
- sx: [
2510
- {
2511
- width: "100%",
2512
- backgroundColor: "common.white",
2513
- px: 2,
2514
- pb: 2,
2515
- display: "flex",
2516
- flexDirection: "column",
2517
- gap: 2
2518
- },
2519
- ...Array.isArray(sx) ? sx : [sx]
2520
- ],
2521
- ...boxProps,
2522
- children: [
2523
- /* @__PURE__ */ jsx31(Divider9, { sx: { borderColor: deploymentSurfaceTokens.strokeOutside } }),
2524
- /* @__PURE__ */ jsxs20(Box20, { sx: { display: "flex", alignItems: "center", gap: 2 }, children: [
2525
- /* @__PURE__ */ jsx31(
2526
- IconButton9,
2527
- {
2528
- onClick: onStop,
2529
- "aria-label": "Stop playback",
2530
- sx: {
2531
- width: 40,
2532
- height: 40,
2533
- border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
2534
- borderRadius: 1,
2535
- color: deploymentSurfaceTokens.textPrimary,
2536
- backgroundColor: deploymentSurfaceTokens.surfaceHigh
2537
- },
2538
- children: /* @__PURE__ */ jsx31(StopIcon, { sx: { fontSize: 16 } })
2539
- }
2540
- ),
2541
- /* @__PURE__ */ jsxs20(Box20, { sx: { flex: 1, minWidth: 220, px: 1 }, children: [
2542
- /* @__PURE__ */ jsx31(
2543
- Typography14,
2544
- {
2545
- variant: "body2",
2546
- sx: { color: deploymentSurfaceTokens.textPrimary, mb: 0.5 },
2547
- children: elapsedTime
2548
- }
2549
- ),
2550
- /* @__PURE__ */ jsx31(
2551
- LinearProgress2,
2552
- {
2553
- variant: "determinate",
2554
- value: boundedProgress,
2555
- sx: {
2556
- height: 3,
2557
- borderRadius: 999,
2558
- backgroundColor: chrome.progressBg,
2559
- "& .MuiLinearProgress-bar": {
2560
- backgroundColor: deploymentSurfaceTokens.accentBlue
2561
- }
2562
- }
2563
- }
2564
- )
2565
- ] }),
2566
- /* @__PURE__ */ jsxs20(Box20, { sx: { display: "flex", alignItems: "center", gap: 3 }, children: [
2567
- /* @__PURE__ */ jsxs20(Box20, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
2568
- /* @__PURE__ */ jsx31(Typography14, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Steps" }),
2569
- /* @__PURE__ */ jsx31(
2570
- IconButton9,
2571
- {
2572
- size: "small",
2573
- "aria-label": "Previous step",
2574
- onClick: onPreviousStep,
2575
- disabled: atFirstStep,
2576
- sx: { backgroundColor: chrome.stepBtnBg },
2577
- children: /* @__PURE__ */ jsx31(ChevronLeftIcon2, { fontSize: "small" })
2578
- }
2579
- ),
2580
- /* @__PURE__ */ jsx31(Typography14, { variant: "subtitle1", sx: { minWidth: 52, textAlign: "center" }, children: `${currentStep} / ${totalSteps}` }),
2581
- /* @__PURE__ */ jsx31(
2582
- IconButton9,
2583
- {
2584
- size: "small",
2585
- "aria-label": "Next step",
2586
- onClick: onNextStep,
2587
- disabled: atLastStep,
2588
- sx: { backgroundColor: chrome.stepBtnBgHover },
2589
- children: /* @__PURE__ */ jsx31(ChevronRightIcon3, { fontSize: "small" })
2590
- }
2591
- )
2592
- ] }),
2593
- /* @__PURE__ */ jsxs20(Box20, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
2594
- /* @__PURE__ */ jsx31(Typography14, { variant: "subtitle1", sx: { fontWeight: 500 }, children: "Speed" }),
2595
- speedOptions.map((option) => /* @__PURE__ */ jsx31(
2596
- SpeedButton,
2597
- {
2598
- value: option,
2599
- selected: option === selectedSpeed,
2600
- onClick: () => onSpeedChange?.(option)
2601
- },
2602
- option
2603
- )),
2604
- /* @__PURE__ */ jsx31(IconButton9, { "aria-label": "Reset playback", onClick: onReset, size: "small", children: /* @__PURE__ */ jsx31(ReplayIcon, { fontSize: "small" }) })
2605
- ] })
2606
- ] })
2607
- ] })
2608
- ]
2609
- }
2610
- );
2611
- };
2612
-
2613
1435
  export {
2614
1436
  Logo,
2615
1437
  Dialog,
@@ -2634,25 +1456,17 @@ export {
2634
1456
  Avatar,
2635
1457
  Table,
2636
1458
  TableHeader,
2637
- Grid2,
1459
+ default2 as default,
2638
1460
  Breadcrumbs,
2639
1461
  Accordion,
2640
1462
  Paper,
2641
1463
  Divider3 as Divider,
2642
- Stack2 as Stack,
2643
- Box13 as Box,
2644
- Container2 as Container,
1464
+ default3 as default2,
1465
+ default4 as default3,
1466
+ default5 as default4,
2645
1467
  Toolbar,
2646
1468
  AppBar,
2647
1469
  Collapse,
2648
- EntityHeader,
2649
- DeploymentDashboardCard,
2650
- DeploymentEntityContextMenu,
2651
- contextMenuItems,
2652
- DeploymentDashboardTree,
2653
- DeploymentDashboardPanel,
2654
- WorkflowTopBar,
2655
- WorkflowSideInspector,
2656
- WorkflowTimeBar
1470
+ EntityHeader
2657
1471
  };
2658
- //# sourceMappingURL=chunk-CUCKULYC.mjs.map
1472
+ //# sourceMappingURL=chunk-BH4FNZKK.mjs.map