@cere/cere-design-system 0.0.35 → 0.0.37

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.d.mts CHANGED
@@ -6,31 +6,31 @@ import React__default, { ReactNode, Ref, PropsWithChildren, ReactElement, AriaAt
6
6
  import { ButtonProps as ButtonProps$1 } from '@mui/material/Button';
7
7
  import { IconButtonProps as IconButtonProps$1 } from '@mui/material/IconButton';
8
8
  import { LoadingButtonProps as LoadingButtonProps$1 } from '@mui/lab';
9
- import { ButtonGroupProps as ButtonGroupProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1, PopoverProps, StepProps as StepProps$1, StepButtonProps as StepButtonProps$1, StepContentProps as StepContentProps$1, StepLabelProps as StepLabelProps$1, StepperProps as StepperProps$1, MenuProps as MenuProps$1, DialogProps as DialogProps$1, BoxProps, ListProps as ListProps$1, ListItemProps as ListItemProps$1, TableProps as TableProps$1, AccordionProps as AccordionProps$1, AppBarProps as AppBarProps$1, CollapseProps as CollapseProps$1, CircularProgressProps as CircularProgressProps$1, SvgIconProps } from '@mui/material';
9
+ import { ButtonGroupProps as ButtonGroupProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1, PopoverProps, StepProps as StepProps$1, StepButtonProps as StepButtonProps$1, StepContentProps as StepContentProps$1, StepLabelProps as StepLabelProps$1, StepperProps as StepperProps$1, MenuProps as MenuProps$1, CircularProgressProps as CircularProgressProps$1, DialogProps as DialogProps$1, BoxProps, ListProps as ListProps$1, ListItemProps as ListItemProps$1, TableProps as TableProps$1, AccordionProps as AccordionProps$1, AppBarProps as AppBarProps$1, CollapseProps as CollapseProps$1, SvgIconProps } from '@mui/material';
10
10
  export { Box, BoxProps, Container, ContainerProps, FormControl, FormControlLabel, FormControlLabelProps, FormControlProps, FormHelperText, FormHelperTextProps, FormLabel, FormLabelProps, Grid2 as Grid, Grid2Props as GridProps, InputAdornment, InputAdornmentProps, InputLabel, InputLabelProps, ListItemIcon, ListItemSecondaryAction, ListItemText, Stack, StackProps, Toolbar, ToolbarProps, Typography, TypographyProps } from '@mui/material';
11
11
  import { TextFieldProps as TextFieldProps$1 } from '@mui/material/TextField';
12
12
  import { SwitchProps as SwitchProps$1 } from '@mui/material/Switch';
13
13
  import { CheckboxProps as CheckboxProps$1 } from '@mui/material/Checkbox';
14
14
  import { RadioProps as RadioProps$1 } from '@mui/material/Radio';
15
15
  import { ListItemButtonProps } from '@mui/material/ListItemButton';
16
+ import { TabProps as TabProps$1 } from '@mui/material/Tab';
17
+ import { PaginationProps as PaginationProps$1 } from '@mui/material/Pagination';
16
18
  import { BadgeProps as BadgeProps$1 } from '@mui/material/Badge';
17
19
  import { ChipProps as ChipProps$1 } from '@mui/material/Chip';
18
20
  import { TooltipProps as TooltipProps$1 } from '@mui/material/Tooltip';
19
- import { TabProps as TabProps$1 } from '@mui/material/Tab';
20
- import { PaginationProps as PaginationProps$1 } from '@mui/material/Pagination';
21
+ import { AlertProps as AlertProps$1 } from '@mui/material/Alert';
22
+ import { SnackbarProps as SnackbarProps$1 } from '@mui/material/Snackbar';
21
23
  import { DrawerProps as DrawerProps$1 } from '@mui/material/Drawer';
22
24
  import { CardProps as CardProps$1 } from '@mui/material/Card';
23
25
  import { CardContentProps } from '@mui/material/CardContent';
24
26
  import { CardHeaderProps } from '@mui/material/CardHeader';
25
27
  import { CardActionsProps } from '@mui/material/CardActions';
26
- import { PaperProps as PaperProps$1 } from '@mui/material/Paper';
27
28
  import { AvatarProps as AvatarProps$1 } from '@mui/material/Avatar';
28
29
  import { BreadcrumbsProps as BreadcrumbsProps$1 } from '@mui/material/Breadcrumbs';
30
+ import { PaperProps as PaperProps$1 } from '@mui/material/Paper';
29
31
  import { DividerProps as DividerProps$1 } from '@mui/material/Divider';
30
32
  import { LinkProps as LinkProps$1 } from '@mui/material/Link';
31
33
  import { BoxProps as BoxProps$1 } from '@mui/material/Box';
32
- import { AlertProps as AlertProps$1 } from '@mui/material/Alert';
33
- import { SnackbarProps as SnackbarProps$1 } from '@mui/material/Snackbar';
34
34
  import { QRCodeProps as QRCodeProps$1 } from 'react-qr-code';
35
35
  import { ReactFlowProps, Node, Edge, OnNodesChange, OnEdgesChange, NodeTypes, EdgeTypes, BackgroundVariant, MiniMapProps, ReactFlowInstance, NodeProps } from 'reactflow';
36
36
  export { Background, BackgroundVariant, ConnectionLineType, Controls, Edge, EdgeTypes, MiniMap, Node, NodeTypes, OnEdgesChange, OnNodesChange, Panel, ReactFlowInstance } from 'reactflow';
@@ -38,7 +38,224 @@ import { Monaco } from '@monaco-editor/react';
38
38
  import { editor } from 'monaco-editor';
39
39
  export { default as RadioGroup } from '@mui/material/RadioGroup';
40
40
 
41
+ /**
42
+ * ROB primary brand colors (Figma node 11-1393).
43
+ */
44
+ declare const robPrimaryPalette: {
45
+ readonly fandango: "#BD32A7";
46
+ readonly electricViolet: "#8B00EC";
47
+ readonly ultraViolet: "#6750A4";
48
+ readonly periwinkle: "#D0BCFF";
49
+ };
50
+ /**
51
+ * ROB extended palette with gradient shades and secondary accents
52
+ * (Figma node 11-1447).
53
+ */
54
+ declare const robPaletteExtended: {
55
+ readonly dark1: "#280e61";
56
+ readonly dark2: "#531584";
57
+ readonly dark3: "#710c7a";
58
+ readonly dark4: "#920269";
59
+ readonly dark5: "#c71454";
60
+ readonly dark6: "#ff6341";
61
+ readonly bright1: "#5311e3";
62
+ readonly bright2: "#eb03ff";
63
+ readonly bright3: "#ff17ab";
64
+ readonly bright4: "#ff6a85";
65
+ readonly light1: "#baa0f4";
66
+ readonly light2: "#d399fc";
67
+ readonly light3: "#f79aff";
68
+ readonly light4: "#faabde";
69
+ readonly light5: "#ffc4ce";
70
+ readonly nearBlack1: "#0b0f18";
71
+ readonly nearBlack2: "#0d0627";
72
+ readonly nearBlack3: "#161d30";
73
+ readonly nearBlack4: "#23194b";
74
+ };
75
+ /**
76
+ * Deployment dashboard entity colors (Figma 11-2105).
77
+ */
78
+ declare const deploymentEntityColors: {
79
+ readonly workspace: "#aa44f2";
80
+ readonly stream: "#53b96a";
81
+ readonly deployment: "#eeb510";
82
+ readonly engagement: "#f941e6";
83
+ readonly agent: "#77c3ff";
84
+ };
85
+ /**
86
+ * Deployment dashboard status colors (Figma 11-2105).
87
+ */
88
+ declare const deploymentStatusColors: {
89
+ readonly normal: "#53b96a";
90
+ readonly warning: "#eeb510";
91
+ readonly error: "#ef5059";
92
+ readonly disabled: "#ffffff";
93
+ readonly disabledDim: "#ded8e1";
94
+ };
95
+ /**
96
+ * Workflow node color families (Figma 277-8244).
97
+ *
98
+ * Each node type has an accent color plus tints/shades for card borders,
99
+ * badge backgrounds, badge borders, and badge text. These are hand-picked
100
+ * Figma values, not algorithmically derived.
101
+ */
102
+ declare const workflowNodeColors: {
103
+ readonly start: {
104
+ readonly accent: "#00C950";
105
+ readonly cardBorder: "#7BF1A8";
106
+ readonly badgeBg: "#F0FDF4";
107
+ readonly badgeBorder: "#B9F8CF";
108
+ readonly badgeText: "#008236";
109
+ };
110
+ readonly input: {
111
+ readonly accent: "#00A6F4";
112
+ readonly cardBorder: "#74D4FF";
113
+ readonly badgeBg: "#F0F9FF";
114
+ readonly badgeBorder: "#B8E6FE";
115
+ readonly badgeText: "#0069A8";
116
+ };
117
+ readonly stream: {
118
+ readonly accent: "#00B8DB";
119
+ readonly cardBorder: "#53EAFD";
120
+ readonly badgeBg: "#ECFEFF";
121
+ readonly badgeBorder: "#A2F4FD";
122
+ readonly badgeText: "#007595";
123
+ };
124
+ readonly rafts: {
125
+ readonly accent: "#FF6900";
126
+ readonly cardBorder: "#FFB86A";
127
+ readonly badgeBg: "#FFF7ED";
128
+ readonly badgeBorder: "#FFD6A8";
129
+ readonly badgeText: "#CA3500";
130
+ };
131
+ readonly cubbies: {
132
+ readonly accent: "#D0C900";
133
+ readonly cardBorder: "#D0C900";
134
+ readonly badgeBg: "#FCFFED";
135
+ readonly badgeBorder: "#D0C900";
136
+ readonly badgeText: "#747500";
137
+ };
138
+ readonly events: {
139
+ readonly accent: "#F6339A";
140
+ readonly cardBorder: "#FDA5D5";
141
+ readonly badgeBg: "#FDF2F8";
142
+ readonly badgeBorder: "#FCCEE8";
143
+ readonly badgeText: "#C6005C";
144
+ };
145
+ readonly trigger: {
146
+ readonly accent: "#AD46FF";
147
+ readonly cardBorder: "#DAB2FF";
148
+ readonly badgeBg: "#FAF5FF";
149
+ readonly badgeBorder: "#E9D4FF";
150
+ readonly badgeText: "#8200DB";
151
+ };
152
+ readonly action: {
153
+ readonly accent: "#2B7FFF";
154
+ readonly cardBorder: "#8EC5FF";
155
+ readonly badgeBg: "#EFF6FF";
156
+ readonly badgeBorder: "#BEDBFF";
157
+ readonly badgeText: "#1447E6";
158
+ };
159
+ readonly aiModel: {
160
+ readonly accent: "#615FFF";
161
+ readonly cardBorder: "#A3B3FF";
162
+ readonly badgeBg: "#EEF2FF";
163
+ readonly badgeBorder: "#C6D2FF";
164
+ readonly badgeText: "#432DD7";
165
+ };
166
+ readonly aiAgent: {
167
+ readonly accent: "#D0A2FB";
168
+ readonly cardBorder: "#D0A2FB";
169
+ readonly badgeBg: "#F8EEFF";
170
+ readonly badgeBorder: "#D9BCF3";
171
+ readonly badgeText: "#9F40F8";
172
+ };
173
+ readonly condition: {
174
+ readonly accent: "#FE9A00";
175
+ readonly cardBorder: "#FFD230";
176
+ readonly badgeBg: "#FFFBEB";
177
+ readonly badgeBorder: "#FEE685";
178
+ readonly badgeText: "#BB4D00";
179
+ };
180
+ readonly output: {
181
+ readonly accent: "#00BC7D";
182
+ readonly cardBorder: "#5EE9B5";
183
+ readonly badgeBg: "#ECFDF5";
184
+ readonly badgeBorder: "#A4F4CF";
185
+ readonly badgeText: "#007A55";
186
+ };
187
+ readonly end: {
188
+ readonly accent: "#FB2C36";
189
+ readonly cardBorder: "#FFA2A2";
190
+ readonly badgeBg: "#FEF2F2";
191
+ readonly badgeBorder: "#FFC9C9";
192
+ readonly badgeText: "#C10007";
193
+ };
194
+ readonly parallel: {
195
+ readonly accent: "#14B8A6";
196
+ readonly cardBorder: "#5EEAD4";
197
+ readonly badgeBg: "#F0FDFA";
198
+ readonly badgeBorder: "#99F6E4";
199
+ readonly badgeText: "#0F766E";
200
+ };
201
+ readonly merge: {
202
+ readonly accent: "#6366F1";
203
+ readonly cardBorder: "#A5B4FC";
204
+ readonly badgeBg: "#EEF2FF";
205
+ readonly badgeBorder: "#C7D2FE";
206
+ readonly badgeText: "#4338CA";
207
+ };
208
+ };
209
+ /**
210
+ * Shared workflow chrome UI colors (Figma 277-8244).
211
+ *
212
+ * Colors used across workflow top bar, time bar, side inspector, and node
213
+ * title/description text. Extracted here so component files stay hex-free.
214
+ */
215
+ declare const workflowChromeColors: {
216
+ readonly inputBg: "#D8D4DD";
217
+ readonly inputBorder: "#A855F7";
218
+ readonly labelText: "#6A7282";
219
+ readonly iconColor: "#4A4458";
220
+ readonly buttonPrimary: "#B65FF4";
221
+ readonly buttonHover: "#A855F7";
222
+ readonly buttonActive: "#9333EA";
223
+ readonly closeBtnBg: "#9E9EAE";
224
+ readonly progressBg: "#CEC6D8";
225
+ readonly stepBtnBg: "#F5F1F7";
226
+ readonly stepBtnBgHover: "#E7E0EC";
227
+ readonly divider: "#D6CEDD";
228
+ readonly mutedText: "#938F99";
229
+ readonly titleText: "#1E2939";
230
+ readonly descriptionText: "#6A7282";
231
+ };
232
+ /**
233
+ * Workflow connection/edge colors (Figma 277-8244).
234
+ */
235
+ declare const workflowConnectionColors: {
236
+ readonly success: "#22C55E";
237
+ readonly process: "#3B82F6";
238
+ readonly stream: "#06B6D4";
239
+ readonly error: "#EF4444";
240
+ };
241
+
242
+ /**
243
+ * Design system theme barrel.
244
+ *
245
+ * Composes the MUI theme from token modules and re-exports everything
246
+ * the public API needs. Internal structure:
247
+ *
248
+ * primitives.ts - Tier 1: raw color values (hue + shade)
249
+ * semantic.ts - Tier 2: intent-based tokens
250
+ * typography.ts - Font family and type scale
251
+ * components.ts - MUI component style overrides
252
+ * spacing.ts - Border radius and sizing constants
253
+ */
254
+
41
255
  declare module '@mui/material/styles' {
256
+ interface TypeBackground {
257
+ selected: string;
258
+ }
42
259
  interface Palette {
43
260
  deployment: {
44
261
  entity: typeof deploymentEntityColors;
@@ -47,6 +264,7 @@ declare module '@mui/material/styles' {
47
264
  workflow: {
48
265
  node: typeof workflowNodeColors;
49
266
  connection: typeof workflowConnectionColors;
267
+ chrome: typeof workflowChromeColors;
50
268
  };
51
269
  }
52
270
  interface PaletteOptions {
@@ -55,147 +273,72 @@ declare module '@mui/material/styles' {
55
273
  status?: Record<string, string>;
56
274
  };
57
275
  workflow?: {
58
- node?: Record<string, string>;
59
- connection?: Record<string, string>;
276
+ node?: Partial<typeof workflowNodeColors>;
277
+ connection?: Partial<typeof workflowConnectionColors>;
278
+ chrome?: Partial<typeof workflowChromeColors>;
60
279
  };
61
280
  }
62
281
  }
63
282
  declare const colors: {
64
283
  primary: {
65
- main: string;
66
- light: string;
67
- dark: string;
68
- contrastText: string;
284
+ main: "#1976d2";
285
+ light: "#1976d2";
286
+ dark: "#1565c0";
287
+ contrastText: "#FFFFFF";
69
288
  };
70
289
  secondary: {
71
- main: string;
72
- light: string;
73
- dark: string;
74
- contrastText: string;
290
+ main: "#666666";
291
+ light: "#999999";
292
+ dark: "#333333";
293
+ contrastText: "#FFFFFF";
75
294
  };
76
295
  success: {
77
- main: string;
78
- light: string;
79
- dark: string;
80
- contrastText: string;
296
+ main: "#10B981";
297
+ light: "#34D399";
298
+ dark: "#059669";
299
+ contrastText: "#FFFFFF";
81
300
  };
82
301
  error: {
83
- main: string;
84
- light: string;
85
- dark: string;
86
- contrastText: string;
302
+ main: "#EF4444";
303
+ light: "#F87171";
304
+ dark: "#DC2626";
305
+ contrastText: "#FFFFFF";
87
306
  };
88
307
  warning: {
89
- main: string;
90
- light: string;
91
- dark: string;
92
- contrastText: string;
308
+ main: "#F59E0B";
309
+ light: "#FBBF24";
310
+ dark: "#D97706";
311
+ contrastText: "#FFFFFF";
93
312
  };
94
313
  tertiary: {
95
- main: string;
96
- light: string;
97
- dark: string;
98
- contrastText: string;
314
+ main: "#F59E0B";
315
+ light: "#FBBF24";
316
+ dark: "#D97706";
317
+ contrastText: "#1A1A1A";
99
318
  };
100
319
  grey: {
101
- 50: string;
102
- 100: string;
103
- 200: string;
104
- 300: string;
105
- 400: string;
106
- 500: string;
107
- 600: string;
108
- 700: string;
109
- 800: string;
110
- 900: string;
320
+ readonly 50: "#FAFAFA";
321
+ readonly 100: "#F5F5F5";
322
+ readonly 200: "#EEEEEE";
323
+ readonly 300: "#E0E0E0";
324
+ readonly 400: "#BDBDBD";
325
+ readonly 500: "#9E9E9E";
326
+ readonly 600: "#757575";
327
+ readonly 700: "#616161";
328
+ readonly 800: "#424242";
329
+ readonly 900: "#212121";
111
330
  };
112
331
  text: {
113
- primary: string;
114
- secondary: string;
115
- disabled: string;
332
+ primary: "#1A1A1A";
333
+ secondary: "#666666";
334
+ disabled: "#999999";
116
335
  };
117
336
  background: {
118
- default: string;
119
- paper: string;
120
- selected: string;
337
+ default: "#FFFFFF";
338
+ paper: "#FFFFFF";
339
+ selected: "rgba(123, 44, 191, 0.1)";
121
340
  };
122
341
  };
123
- declare const deploymentEntityColors: {
124
- workspace: string;
125
- stream: string;
126
- deployment: string;
127
- engagement: string;
128
- agent: string;
129
- };
130
- declare const deploymentStatusColors: {
131
- normal: string;
132
- warning: string;
133
- error: string;
134
- disabled: string;
135
- disabledDim: string;
136
- };
137
- declare const workflowNodeColors: {
138
- readonly start: "#00C950";
139
- readonly input: "#00A6F4";
140
- readonly stream: "#00B8DB";
141
- readonly rafts: "#FF6900";
142
- readonly cubbies: "#D0C900";
143
- readonly events: "#F6339A";
144
- readonly trigger: "#AD46FF";
145
- readonly action: "#2B7FFF";
146
- readonly aiModel: "#615FFF";
147
- readonly aiAgent: "#D0A2FB";
148
- readonly condition: "#FE9A00";
149
- readonly output: "#00BC7D";
150
- readonly end: "#FB2C36";
151
- readonly parallel: "#14B8A6";
152
- readonly merge: "#6366F1";
153
- };
154
- declare const workflowConnectionColors: {
155
- readonly success: "#22C55E";
156
- readonly process: "#3B82F6";
157
- readonly stream: "#06B6D4";
158
- readonly error: "#EF4444";
159
- };
160
- /**
161
- * ROB primary brand color palette (Figma node 11-1393)
162
- * Four main brand colors for the ROB design system
163
- */
164
- declare const robPrimaryPalette: {
165
- /** Primary magenta/pink - Figma node 11-1394 */
166
- readonly fandango: "#BD32A7";
167
- /** Vivid purple - Figma node 11-1407 */
168
- readonly electricViolet: "#8B00EC";
169
- /** Mid-tone purple - Figma node 11-1420 */
170
- readonly ultraViolet: "#6750A4";
171
- /** Light lavender - Figma node 11-1433 */
172
- readonly periwinkle: "#D0BCFF";
173
- };
174
- /**
175
- * ROB extended palette with additional swatches (Figma node 11-1447)
176
- * Gradient shades and secondary accents from the ROB color grid
177
- */
178
- declare const robPaletteExtended: {
179
- readonly dark1: "#280e61";
180
- readonly dark2: "#531584";
181
- readonly dark3: "#710c7a";
182
- readonly dark4: "#920269";
183
- readonly dark5: "#c71454";
184
- readonly dark6: "#ff6341";
185
- readonly bright1: "#5311e3";
186
- readonly bright2: "#eb03ff";
187
- readonly bright3: "#ff17ab";
188
- readonly bright4: "#ff6a85";
189
- readonly light1: "#baa0f4";
190
- readonly light2: "#d399fc";
191
- readonly light3: "#f79aff";
192
- readonly light4: "#faabde";
193
- readonly light5: "#ffc4ce";
194
- readonly nearBlack1: "#0b0f18";
195
- readonly nearBlack2: "#0d0627";
196
- readonly nearBlack3: "#161d30";
197
- readonly nearBlack4: "#23194b";
198
- };
199
342
  declare const theme: Theme;
200
343
 
201
344
  declare const CheckMarkAnimation: () => react_jsx_runtime.JSX.Element;
@@ -1005,6 +1148,53 @@ declare const ConnectionStatus: React__default.NamedExoticComponent<ConnectionSt
1005
1148
  */
1006
1149
  declare const AccountSection: React__default.NamedExoticComponent<AccountSectionProps>;
1007
1150
 
1151
+ interface TabProps extends Omit<TabProps$1, 'icon'> {
1152
+ badge?: number | string;
1153
+ badgeVariant?: 'default' | 'primary' | 'success' | 'error';
1154
+ }
1155
+ declare const Tab: React__default.FC<TabProps>;
1156
+
1157
+ interface MenuProps extends Omit<MenuProps$1, 'open'> {
1158
+ anchorEl?: HTMLElement | null;
1159
+ onClose: () => void;
1160
+ }
1161
+ declare const Menu: React__default.FC<MenuProps>;
1162
+ interface MenuItemProps {
1163
+ icon?: React__default.ReactNode;
1164
+ label: string;
1165
+ onClick?: () => void;
1166
+ disabled?: boolean;
1167
+ divider?: boolean;
1168
+ }
1169
+ declare const MenuItem: React__default.FC<MenuItemProps>;
1170
+
1171
+ interface PaginationProps extends Omit<PaginationProps$1, 'color'> {
1172
+ color?: 'primary' | 'secondary' | 'standard';
1173
+ }
1174
+ declare const Pagination: React__default.FC<PaginationProps>;
1175
+
1176
+ interface SelectorOption {
1177
+ id: string;
1178
+ name: string;
1179
+ description?: string;
1180
+ avatar?: string;
1181
+ icon?: React__default.ReactNode;
1182
+ disabled?: boolean;
1183
+ }
1184
+ interface SelectorProps {
1185
+ options: SelectorOption[];
1186
+ selectedId: string | null;
1187
+ onSelect: (id: string) => void;
1188
+ onCreate?: () => void;
1189
+ loading?: boolean;
1190
+ placeholder?: string;
1191
+ emptyMessage?: string;
1192
+ compact?: boolean;
1193
+ renderSelected?: (option: SelectorOption) => React__default.ReactNode;
1194
+ width?: number;
1195
+ }
1196
+ declare const Selector: React__default.FC<SelectorProps>;
1197
+
1008
1198
  type BadgeVariant = 'default' | 'primary' | 'success' | 'error';
1009
1199
  interface BadgeProps extends Omit<BadgeProps$1, 'color' | 'variant'> {
1010
1200
  variant?: BadgeVariant;
@@ -1012,12 +1202,98 @@ interface BadgeProps extends Omit<BadgeProps$1, 'color' | 'variant'> {
1012
1202
  }
1013
1203
  declare const Badge: React__default.FC<BadgeProps>;
1014
1204
 
1015
- type ChipVariant = 'default' | 'active';
1205
+ type ChipVariant = 'default' | 'active' | 'success' | 'error' | 'warning' | 'info';
1206
+ interface ChipVariantStyles {
1207
+ backgroundColor: string;
1208
+ color: string;
1209
+ hoverBackgroundColor: string;
1210
+ }
1211
+ /**
1212
+ * Resolve a Chip variant to its themed background/foreground/hover colors.
1213
+ *
1214
+ * Status variants (success/error/warning/info) use the `main` surface with
1215
+ * `contrastText` (typically white) so chips read as loud solid pills.
1216
+ * `default` is neutral grey; `active` uses the brand-selected background.
1217
+ */
1218
+ declare function getChipVariantStyles(variant: ChipVariant, theme: Theme): ChipVariantStyles;
1219
+
1016
1220
  interface ChipProps extends Omit<ChipProps$1, 'color' | 'variant'> {
1017
1221
  variant?: ChipVariant;
1018
1222
  }
1019
1223
  declare const Chip: React__default.FC<ChipProps>;
1020
1224
 
1225
+ type StatusDotStatus = 'success' | 'error' | 'warning' | 'info' | 'primary' | 'neutral';
1226
+ interface StatusDotProps extends Omit<React__default.HTMLAttributes<HTMLSpanElement>, 'role'> {
1227
+ /** Which themed color to render. `neutral` uses a grey for idle/queued states. */
1228
+ status: StatusDotStatus;
1229
+ /** Diameter in pixels. @default 8 */
1230
+ size?: number;
1231
+ /**
1232
+ * Pulse animation for in-progress states (e.g., a running run). Respects
1233
+ * `prefers-reduced-motion` and falls back to a static dot.
1234
+ */
1235
+ pulse?: boolean;
1236
+ /**
1237
+ * When provided, the dot becomes an accessible image with this label. When
1238
+ * omitted, the dot is marked `aria-hidden` — assume an adjacent element
1239
+ * carries the status semantics.
1240
+ */
1241
+ 'aria-label'?: string;
1242
+ }
1243
+ /**
1244
+ * StatusDot — a small colored circle indicating entity status.
1245
+ *
1246
+ * Use alongside a text label for a labeled status; use with `aria-label` to
1247
+ * make the dot itself a standalone accessible indicator.
1248
+ *
1249
+ * @example
1250
+ * ```tsx
1251
+ * // Labeled context — the dot is decorative
1252
+ * <>
1253
+ * <StatusDot status="success" />
1254
+ * <span>Succeeded</span>
1255
+ * </>
1256
+ *
1257
+ * // Standalone — dot carries the status meaning
1258
+ * <StatusDot status="info" pulse aria-label="Running" />
1259
+ * ```
1260
+ */
1261
+ declare const StatusDot: React__default.FC<StatusDotProps>;
1262
+
1263
+ interface CopyChipProps {
1264
+ /** The text to display and copy to the clipboard. */
1265
+ text: string;
1266
+ /** Max width in pixels for the (ellipsized) text label. @default 260 */
1267
+ maxWidth?: number;
1268
+ /**
1269
+ * Accessible label for the button. Defaults to `Copy <text>`. Override when
1270
+ * the raw text would be unclear to a screen-reader user (e.g., long hex IDs).
1271
+ */
1272
+ 'aria-label'?: string;
1273
+ /** Tooltip copy shown before clicking. @default 'Copy' */
1274
+ tooltipLabel?: string;
1275
+ /** Tooltip copy shown after a successful copy. @default 'Copied' */
1276
+ tooltipCopiedLabel?: string;
1277
+ /** Fires after the clipboard write succeeds. */
1278
+ onCopy?: () => void;
1279
+ }
1280
+ /**
1281
+ * CopyChip — compact inline copy-to-clipboard control.
1282
+ *
1283
+ * Shows a monospace text label with an adjacent copy icon that toggles to a
1284
+ * check mark for a moment after a successful copy. Use in dense metadata
1285
+ * rows where an `IDBlock` would be visually too heavy; use `IDBlock` when
1286
+ * the identifier is the primary affordance on the surface and deserves a
1287
+ * full boxed treatment with snackbar feedback.
1288
+ *
1289
+ * @example
1290
+ * ```tsx
1291
+ * <CopyChip text="run_abc123" />
1292
+ * <CopyChip text={longHexId} aria-label="Copy workspace ID" onCopy={track} />
1293
+ * ```
1294
+ */
1295
+ declare const CopyChip: React__default.FC<CopyChipProps>;
1296
+
1021
1297
  /**
1022
1298
  * Color variants for the RoleBadge component
1023
1299
  */
@@ -1130,167 +1406,115 @@ interface ProgressProps {
1130
1406
  }
1131
1407
  declare const Progress: React__default.FC<ProgressProps>;
1132
1408
 
1133
- interface TabProps extends Omit<TabProps$1, 'icon'> {
1134
- badge?: number | string;
1135
- badgeVariant?: 'default' | 'primary' | 'success' | 'error';
1409
+ type AlertSeverity = 'success' | 'error' | 'warning' | 'info';
1410
+ interface AlertProps extends Omit<AlertProps$1, 'severity'> {
1411
+ severity?: AlertSeverity;
1412
+ /**
1413
+ * Title to display above the alert message
1414
+ */
1415
+ title?: string;
1136
1416
  }
1137
- declare const Tab: React__default.FC<TabProps>;
1417
+ declare const Alert: React__default.FC<AlertProps>;
1138
1418
 
1139
- interface MenuProps extends Omit<MenuProps$1, 'open'> {
1140
- anchorEl?: HTMLElement | null;
1141
- onClose: () => void;
1419
+ interface SnackbarProps extends Omit<SnackbarProps$1, 'children'> {
1420
+ /**
1421
+ * Message to display in the snackbar
1422
+ */
1423
+ message?: string;
1424
+ /**
1425
+ * Severity of the alert inside snackbar
1426
+ */
1427
+ severity?: AlertSeverity;
1428
+ /**
1429
+ * Title to display in the alert (optional)
1430
+ */
1431
+ title?: string;
1432
+ /**
1433
+ * Alert variant
1434
+ * @default 'filled'
1435
+ */
1436
+ variant?: 'filled' | 'standard' | 'outlined';
1437
+ /**
1438
+ * Callback when snackbar is closed
1439
+ */
1440
+ onClose?: () => void;
1441
+ /**
1442
+ * Children to render instead of message (allows custom content)
1443
+ * Must be a ReactElement to match MuiSnackbar requirements
1444
+ */
1445
+ children?: React__default.ReactElement;
1142
1446
  }
1143
- declare const Menu: React__default.FC<MenuProps>;
1144
- interface MenuItemProps {
1145
- icon?: React__default.ReactNode;
1146
- label: string;
1147
- onClick?: () => void;
1148
- disabled?: boolean;
1149
- divider?: boolean;
1150
- }
1151
- declare const MenuItem: React__default.FC<MenuItemProps>;
1152
-
1153
- interface PaginationProps extends Omit<PaginationProps$1, 'color'> {
1154
- color?: 'primary' | 'secondary' | 'standard';
1155
- }
1156
- declare const Pagination: React__default.FC<PaginationProps>;
1447
+ declare const Snackbar: React__default.FC<SnackbarProps>;
1157
1448
 
1158
- interface SelectorOption {
1159
- id: string;
1160
- name: string;
1449
+ interface EmptyStateProps {
1450
+ title?: string;
1161
1451
  description?: string;
1162
- avatar?: string;
1163
1452
  icon?: React__default.ReactNode;
1164
- disabled?: boolean;
1165
- }
1166
- interface SelectorProps {
1167
- options: SelectorOption[];
1168
- selectedId: string | null;
1169
- onSelect: (id: string) => void;
1170
- onCreate?: () => void;
1171
- loading?: boolean;
1172
- placeholder?: string;
1173
- emptyMessage?: string;
1174
- compact?: boolean;
1175
- renderSelected?: (option: SelectorOption) => React__default.ReactNode;
1176
- width?: number;
1453
+ action?: React__default.ReactNode;
1177
1454
  }
1178
- declare const Selector: React__default.FC<SelectorProps>;
1455
+ declare const EmptyState: React__default.FC<EmptyStateProps>;
1179
1456
 
1180
- type LogoSize = 'large' | 'medium' | 'small';
1181
- type LogoProps = PropsWithChildren<{
1182
- icon?: ReactElement;
1183
- size?: LogoSize;
1184
- }>;
1185
- declare const Logo: ({ children, size, icon }: LogoProps) => react_jsx_runtime.JSX.Element;
1457
+ interface LoadingProps {
1458
+ message?: string;
1459
+ size?: number;
1460
+ fullScreen?: boolean;
1461
+ }
1462
+ declare const Loading: React__default.FC<LoadingProps>;
1186
1463
 
1187
- /**
1188
- * Primary action configuration for EntityHeader
1189
- */
1190
- interface PrimaryAction {
1191
- /**
1192
- * Button label text
1193
- */
1194
- label: string;
1464
+ interface AppLoadingProps {
1195
1465
  /**
1196
- * Optional count to display as "Label (N)"
1466
+ * Loading message to display
1467
+ * @default "Loading..."
1197
1468
  */
1198
- count?: number;
1469
+ message?: string;
1199
1470
  /**
1200
- * Optional leading icon
1471
+ * Logo source URL or path
1472
+ * @default "/icons/logo.png"
1201
1473
  */
1202
- icon?: React__default.ReactNode;
1474
+ logo?: string;
1203
1475
  /**
1204
- * Click handler for the button
1476
+ * Custom styles
1205
1477
  */
1206
- onClick?: () => void;
1478
+ sx?: any;
1207
1479
  }
1208
1480
  /**
1209
- * EntityHeader component props
1481
+ * AppLoading component - Full-screen loading indicator with logo
1482
+ *
1483
+ * @example
1484
+ * ```tsx
1485
+ * <AppLoading message="Initializing application..." />
1486
+ * ```
1210
1487
  */
1211
- interface EntityHeaderProps {
1212
- /**
1213
- * Primary title text (e.g., entity name)
1214
- * @required
1215
- */
1216
- title: string;
1217
- /**
1218
- * Secondary descriptive text below title
1219
- */
1220
- subtitle?: string;
1221
- /**
1222
- * Role or status label - displays as RoleBadge pill
1223
- */
1224
- role?: string;
1225
- /**
1226
- * Entity identifier - displays as IDBlock with copy action
1227
- */
1228
- id?: string;
1229
- /**
1230
- * Main action button configuration
1231
- */
1232
- primaryAction?: PrimaryAction;
1233
- /**
1234
- * Additional content rendered before the primary action button.
1235
- * Accepts any ReactNode (buttons, dropdowns, etc.).
1236
- */
1237
- startActions?: React__default.ReactNode;
1238
- /**
1239
- * Additional content rendered after the primary action button
1240
- * but before the more-options icon button.
1241
- * Accepts any ReactNode (buttons, dropdowns, etc.).
1242
- */
1243
- endActions?: React__default.ReactNode;
1244
- /**
1245
- * Callback when ID is copied (internal copy + this callback)
1246
- */
1247
- onCopyId?: () => void;
1248
- /**
1249
- * Callback when more options button clicked (receives event for anchor positioning)
1250
- */
1251
- onMoreOptions?: (event: React__default.MouseEvent<HTMLElement>) => void;
1488
+ declare const AppLoading: React__default.FC<AppLoadingProps>;
1489
+
1490
+ interface CircularProgressProps extends CircularProgressProps$1 {
1252
1491
  /**
1253
- * HTML heading level for the title element
1254
- * @default 'h2'
1492
+ * Size of the progress indicator
1493
+ * @default 40
1255
1494
  */
1256
- headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
1495
+ size?: number | string;
1257
1496
  /**
1258
- * Show bottom divider line
1259
- * @default true
1497
+ * Thickness of the progress indicator
1498
+ * @default 4
1260
1499
  */
1261
- divider?: boolean;
1500
+ thickness?: number;
1262
1501
  }
1263
1502
  /**
1264
- * EntityHeader - Composite UI component for entity (workspace, account, etc.) headers
1265
- *
1266
- * Displays an entity with title, optional subtitle, role badge, ID with copy action,
1267
- * primary action button, and more options control. Matches Figma node 15-1258 specifications.
1503
+ * CircularProgress component - wrapper around MUI CircularProgress
1268
1504
  *
1269
1505
  * @example
1270
1506
  * ```tsx
1271
- * // Full example with all props
1272
- * <EntityHeader
1273
- * title="Game Co. WF 1769936170928"
1274
- * subtitle="Gaming Demo Account"
1275
- * role="Manager"
1276
- * id="W1234567890"
1277
- * primaryAction={{
1278
- * label: 'Members',
1279
- * count: 5,
1280
- * icon: <AddCircleIcon />,
1281
- * onClick: () => console.log('Open members')
1282
- * }}
1283
- * onCopyId={() => console.log('ID copied')}
1284
- * onMoreOptions={(e) => setAnchorEl(e.currentTarget)}
1285
- * />
1286
- *
1287
- * // Minimal example
1288
- * <EntityHeader title="Simple Entity" />
1507
+ * <CircularProgress size={40} thickness={4} />
1289
1508
  * ```
1290
- *
1291
- * @see Figma node 15-1258 for design specifications
1292
1509
  */
1293
- declare const EntityHeader: React__default.FC<EntityHeaderProps>;
1510
+ declare const CircularProgress: React__default.FC<CircularProgressProps>;
1511
+
1512
+ type LogoSize = 'large' | 'medium' | 'small';
1513
+ type LogoProps = PropsWithChildren<{
1514
+ icon?: ReactElement;
1515
+ size?: LogoSize;
1516
+ }>;
1517
+ declare const Logo: ({ children, size, icon }: LogoProps) => react_jsx_runtime.JSX.Element;
1294
1518
 
1295
1519
  interface DialogProps extends Omit<DialogProps$1, 'title'> {
1296
1520
  open: boolean;
@@ -1316,12 +1540,40 @@ interface DialogProps extends Omit<DialogProps$1, 'title'> {
1316
1540
  }
1317
1541
  declare const Dialog: React__default.FC<DialogProps>;
1318
1542
 
1543
+ type DrawerWidthValue = number | string;
1544
+ /**
1545
+ * Per-breakpoint drawer widths. `xs` sets the base width (mobile-first);
1546
+ * `sm`/`md`/`lg`/`xl` override at and above the named MUI breakpoint.
1547
+ */
1548
+ interface ResponsiveDrawerWidth {
1549
+ xs?: DrawerWidthValue;
1550
+ sm?: DrawerWidthValue;
1551
+ md?: DrawerWidthValue;
1552
+ lg?: DrawerWidthValue;
1553
+ xl?: DrawerWidthValue;
1554
+ }
1555
+ type DrawerWidth = DrawerWidthValue | ResponsiveDrawerWidth;
1556
+ /**
1557
+ * Resolve a `width` prop into a style object usable by `styled()`.
1558
+ *
1559
+ * - Number/string input returns a single `{ width }` rule.
1560
+ * - Object input produces a mobile-first base width (from `xs`, or
1561
+ * `defaultWidth` if `xs` is missing) plus breakpoint-scoped overrides
1562
+ * for each of sm/md/lg/xl that was provided.
1563
+ */
1564
+ declare function resolveDrawerWidth(width: DrawerWidth | undefined, theme: Theme, defaultWidth?: DrawerWidthValue): Record<string, unknown> & {
1565
+ width?: DrawerWidthValue;
1566
+ };
1567
+
1319
1568
  interface DrawerProps extends Omit<DrawerProps$1, 'title'> {
1320
1569
  /**
1321
- * Width of the drawer when open
1322
- * @default 400 for temporary/temporary variant, 240 for permanent
1570
+ * Width of the drawer when open. Accepts a single value (number or CSS
1571
+ * string like `"100vw"`) or a responsive object keyed by MUI breakpoint
1572
+ * (`{ xs, sm, md, lg, xl }`). Responsive widths are mobile-first: `xs`
1573
+ * is the base, each named breakpoint overrides at that breakpoint and up.
1574
+ * @default 400 for temporary/persistent, 240 for permanent
1323
1575
  */
1324
- width?: number;
1576
+ width?: DrawerWidth;
1325
1577
  /**
1326
1578
  * Width of the drawer when collapsed (mini variant)
1327
1579
  * @default 72
@@ -1369,60 +1621,304 @@ interface DrawerProps extends Omit<DrawerProps$1, 'title'> {
1369
1621
  * Anchor position
1370
1622
  * @default 'right'
1371
1623
  */
1372
- anchor?: 'left' | 'right' | 'top' | 'bottom';
1624
+ anchor?: 'left' | 'right' | 'top' | 'bottom';
1625
+ /**
1626
+ * Top offset in pixels (e.g., for header + breadcrumbs)
1627
+ * @default 0
1628
+ */
1629
+ topOffset?: number;
1630
+ }
1631
+ /**
1632
+ * Drawer component for navigation drawers and side panels
1633
+ * Can be used as a replacement for Dialog for better UX
1634
+ *
1635
+ * @example
1636
+ * ```tsx
1637
+ * // Simple drawer
1638
+ * <Drawer open={true} variant="temporary" width={400} title="Settings" onClose={handleClose}>
1639
+ * <Box p={2}>Content here</Box>
1640
+ * </Drawer>
1641
+ *
1642
+ * // Drawer with tabs
1643
+ * <Drawer
1644
+ * open={true}
1645
+ * variant="temporary"
1646
+ * width={600}
1647
+ * title="Edit Stream"
1648
+ * tabs={['General', 'Rules', 'Settings']}
1649
+ * activeTab={activeTab}
1650
+ * onTabChange={setActiveTab}
1651
+ * onClose={handleClose}
1652
+ * >
1653
+ * <Box p={2}>{tabContent}</Box>
1654
+ * </Drawer>
1655
+ * ```
1656
+ */
1657
+ declare const Drawer: React__default.FC<DrawerProps>;
1658
+
1659
+ interface MetaFieldProps {
1660
+ /** Uppercase eyebrow label displayed above the value. */
1661
+ label: string;
1662
+ /** Value to display. String values get a `title` attribute for overflow tooltips. */
1663
+ value: ReactNode;
1664
+ /** Render the value in a monospace font (for IDs, durations, paths). */
1665
+ mono?: boolean;
1666
+ /**
1667
+ * Override the auto-generated `title` attribute. Useful when the value is a
1668
+ * ReactNode but you still want a hover tooltip, or to customize the string
1669
+ * shown on hover.
1670
+ */
1671
+ title?: string;
1672
+ }
1673
+ /**
1674
+ * MetaField — a compact label-over-value column for metadata lists.
1675
+ *
1676
+ * Wraps its content in a min-width-0 flex column so it collapses cleanly
1677
+ * inside responsive grids. The value truncates with an ellipsis and shows
1678
+ * the full text on hover (for string values by default).
1679
+ *
1680
+ * @example
1681
+ * ```tsx
1682
+ * <MetaField label="Run ID" value="run_abc123" mono />
1683
+ * <MetaField label="Status" value={<StatusBadge status="ok" />} />
1684
+ * ```
1685
+ */
1686
+ declare const MetaField: React__default.FC<MetaFieldProps>;
1687
+
1688
+ interface ScrollableRowProps {
1689
+ /** Row content. Rendered in a horizontally-scrolling flex container. */
1690
+ children: ReactNode;
1691
+ /** Accessible label for the left chevron. @default 'Scroll left' */
1692
+ leftLabel?: string;
1693
+ /** Accessible label for the right chevron. @default 'Scroll right' */
1694
+ rightLabel?: string;
1695
+ /**
1696
+ * Minimum nudge distance (px) when a chevron is clicked. The component
1697
+ * scrolls by max(minNudge, clientWidth * nudgeFraction). @default 160
1698
+ */
1699
+ minNudge?: number;
1700
+ /** Fraction of the viewport scrolled per chevron click. @default 0.6 */
1701
+ nudgeFraction?: number;
1702
+ }
1703
+ /**
1704
+ * ScrollableRow — a horizontally-scrolling container that reveals chevron
1705
+ * buttons at the left and right edges only when content actually overflows.
1706
+ *
1707
+ * Works with any children (chips, cards, pills). Uses a `ResizeObserver` on
1708
+ * both the scroller and its children plus a `MutationObserver` to catch
1709
+ * children being added/removed, so the chevrons stay in sync with real
1710
+ * layout.
1711
+ */
1712
+ declare const ScrollableRow: React__default.FC<ScrollableRowProps>;
1713
+
1714
+ interface CardProps extends CardProps$1 {
1715
+ hoverable?: boolean;
1716
+ clickable?: boolean;
1717
+ }
1718
+ declare const Card: React__default.FC<CardProps>;
1719
+ declare const CardContent: React__default.FC<CardContentProps>;
1720
+ declare const CardHeader: React__default.FC<CardHeaderProps>;
1721
+ declare const CardActions: React__default.FC<CardActionsProps>;
1722
+
1723
+ type ListProps = ListProps$1;
1724
+ declare const List: React__default.FC<ListProps>;
1725
+ interface ListItemProps extends ListItemProps$1 {
1726
+ primary?: React__default.ReactNode;
1727
+ secondary?: React__default.ReactNode;
1728
+ icon?: React__default.ReactNode;
1729
+ action?: React__default.ReactNode;
1730
+ hoverable?: boolean;
1731
+ }
1732
+ declare const ListItem: React__default.FC<ListItemProps>;
1733
+
1734
+ interface AvatarProps extends AvatarProps$1 {
1735
+ size?: 'small' | 'medium' | 'large' | number;
1736
+ }
1737
+ declare const Avatar: React__default.FC<AvatarProps>;
1738
+
1739
+ interface TableProps extends TableProps$1 {
1740
+ stickyHeader?: boolean;
1741
+ }
1742
+ declare const Table: React__default.FC<TableProps>;
1743
+ interface TableHeaderProps {
1744
+ columns: Array<{
1745
+ id: string;
1746
+ label: string;
1747
+ sortable?: boolean;
1748
+ align?: 'left' | 'center' | 'right';
1749
+ }>;
1750
+ orderBy?: string;
1751
+ order?: 'asc' | 'desc';
1752
+ onSort?: (columnId: string) => void;
1753
+ }
1754
+ declare const TableHeader: React__default.FC<TableHeaderProps>;
1755
+
1756
+ interface BreadcrumbItem {
1757
+ label: string;
1758
+ href?: string;
1759
+ onClick?: () => void;
1760
+ }
1761
+ interface BreadcrumbsProps extends Omit<BreadcrumbsProps$1, 'children'> {
1762
+ items: BreadcrumbItem[];
1763
+ }
1764
+ declare const Breadcrumbs: React__default.FC<BreadcrumbsProps>;
1765
+
1766
+ interface AccordionProps extends Omit<AccordionProps$1, 'children'> {
1767
+ title: string;
1768
+ children: NonNullable<React__default.ReactNode>;
1769
+ defaultExpanded?: boolean;
1770
+ }
1771
+ declare const Accordion: React__default.FC<AccordionProps>;
1772
+
1773
+ interface PaperProps extends PaperProps$1 {
1774
+ variant?: 'elevation' | 'outlined';
1775
+ }
1776
+ declare const Paper: React__default.FC<PaperProps>;
1777
+
1778
+ interface DividerProps extends DividerProps$1 {
1779
+ variant?: 'fullWidth' | 'inset' | 'middle';
1780
+ }
1781
+ declare const Divider: React__default.FC<DividerProps>;
1782
+
1783
+ interface LinkProps extends LinkProps$1 {
1784
+ underline?: 'none' | 'hover' | 'always';
1785
+ }
1786
+ declare const Link: React__default.FC<LinkProps>;
1787
+
1788
+ interface AppBarProps extends AppBarProps$1 {
1789
+ height?: number;
1790
+ }
1791
+ declare const AppBar: React__default.FC<AppBarProps>;
1792
+
1793
+ interface CollapseProps extends CollapseProps$1 {
1794
+ /**
1795
+ * If `true`, the component will transition in
1796
+ */
1797
+ in?: boolean;
1798
+ /**
1799
+ * The content to collapse
1800
+ */
1801
+ children?: React__default.ReactNode;
1802
+ }
1803
+ /**
1804
+ * Collapse component - provides a collapse animation
1805
+ *
1806
+ * @example
1807
+ * ```tsx
1808
+ * <Collapse in={open}>
1809
+ * <Box>Collapsible content</Box>
1810
+ * </Collapse>
1811
+ * ```
1812
+ */
1813
+ declare const Collapse: React__default.FC<CollapseProps>;
1814
+
1815
+ /**
1816
+ * Primary action configuration for EntityHeader
1817
+ */
1818
+ interface PrimaryAction {
1819
+ /**
1820
+ * Button label text
1821
+ */
1822
+ label: string;
1823
+ /**
1824
+ * Optional count to display as "Label (N)"
1825
+ */
1826
+ count?: number;
1827
+ /**
1828
+ * Optional leading icon
1829
+ */
1830
+ icon?: React__default.ReactNode;
1831
+ /**
1832
+ * Click handler for the button
1833
+ */
1834
+ onClick?: () => void;
1835
+ }
1836
+ /**
1837
+ * EntityHeader component props
1838
+ */
1839
+ interface EntityHeaderProps {
1840
+ /**
1841
+ * Primary title text (e.g., entity name)
1842
+ * @required
1843
+ */
1844
+ title: string;
1845
+ /**
1846
+ * Secondary descriptive text below title
1847
+ */
1848
+ subtitle?: string;
1849
+ /**
1850
+ * Role or status label - displays as RoleBadge pill
1851
+ */
1852
+ role?: string;
1853
+ /**
1854
+ * Entity identifier - displays as IDBlock with copy action
1855
+ */
1856
+ id?: string;
1857
+ /**
1858
+ * Main action button configuration
1859
+ */
1860
+ primaryAction?: PrimaryAction;
1861
+ /**
1862
+ * Additional content rendered before the primary action button.
1863
+ * Accepts any ReactNode (buttons, dropdowns, etc.).
1864
+ */
1865
+ startActions?: React__default.ReactNode;
1866
+ /**
1867
+ * Additional content rendered after the primary action button
1868
+ * but before the more-options icon button.
1869
+ * Accepts any ReactNode (buttons, dropdowns, etc.).
1870
+ */
1871
+ endActions?: React__default.ReactNode;
1872
+ /**
1873
+ * Callback when ID is copied (internal copy + this callback)
1874
+ */
1875
+ onCopyId?: () => void;
1876
+ /**
1877
+ * Callback when more options button clicked (receives event for anchor positioning)
1878
+ */
1879
+ onMoreOptions?: (event: React__default.MouseEvent<HTMLElement>) => void;
1880
+ /**
1881
+ * HTML heading level for the title element
1882
+ * @default 'h2'
1883
+ */
1884
+ headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
1373
1885
  /**
1374
- * Top offset in pixels (e.g., for header + breadcrumbs)
1375
- * @default 0
1886
+ * Show bottom divider line
1887
+ * @default true
1376
1888
  */
1377
- topOffset?: number;
1889
+ divider?: boolean;
1378
1890
  }
1379
1891
  /**
1380
- * Drawer component for navigation drawers and side panels
1381
- * Can be used as a replacement for Dialog for better UX
1892
+ * EntityHeader - Composite UI component for entity (workspace, account, etc.) headers
1893
+ *
1894
+ * Displays an entity with title, optional subtitle, role badge, ID with copy action,
1895
+ * primary action button, and more options control. Matches Figma node 15-1258 specifications.
1382
1896
  *
1383
1897
  * @example
1384
1898
  * ```tsx
1385
- * // Simple drawer
1386
- * <Drawer open={true} variant="temporary" width={400} title="Settings" onClose={handleClose}>
1387
- * <Box p={2}>Content here</Box>
1388
- * </Drawer>
1899
+ * // Full example with all props
1900
+ * <EntityHeader
1901
+ * title="Game Co. WF 1769936170928"
1902
+ * subtitle="Gaming Demo Account"
1903
+ * role="Manager"
1904
+ * id="W1234567890"
1905
+ * primaryAction={{
1906
+ * label: 'Members',
1907
+ * count: 5,
1908
+ * icon: <AddCircleIcon />,
1909
+ * onClick: () => console.log('Open members')
1910
+ * }}
1911
+ * onCopyId={() => console.log('ID copied')}
1912
+ * onMoreOptions={(e) => setAnchorEl(e.currentTarget)}
1913
+ * />
1389
1914
  *
1390
- * // Drawer with tabs
1391
- * <Drawer
1392
- * open={true}
1393
- * variant="temporary"
1394
- * width={600}
1395
- * title="Edit Stream"
1396
- * tabs={['General', 'Rules', 'Settings']}
1397
- * activeTab={activeTab}
1398
- * onTabChange={setActiveTab}
1399
- * onClose={handleClose}
1400
- * >
1401
- * <Box p={2}>{tabContent}</Box>
1402
- * </Drawer>
1915
+ * // Minimal example
1916
+ * <EntityHeader title="Simple Entity" />
1403
1917
  * ```
1918
+ *
1919
+ * @see Figma node 15-1258 for design specifications
1404
1920
  */
1405
- declare const Drawer: React__default.FC<DrawerProps>;
1406
-
1407
- interface CardProps extends CardProps$1 {
1408
- hoverable?: boolean;
1409
- clickable?: boolean;
1410
- }
1411
- declare const Card: React__default.FC<CardProps>;
1412
- declare const CardContent: React__default.FC<CardContentProps>;
1413
- declare const CardHeader: React__default.FC<CardHeaderProps>;
1414
- declare const CardActions: React__default.FC<CardActionsProps>;
1415
-
1416
- type ListProps = ListProps$1;
1417
- declare const List: React__default.FC<ListProps>;
1418
- interface ListItemProps extends ListItemProps$1 {
1419
- primary?: React__default.ReactNode;
1420
- secondary?: React__default.ReactNode;
1421
- icon?: React__default.ReactNode;
1422
- action?: React__default.ReactNode;
1423
- hoverable?: boolean;
1424
- }
1425
- declare const ListItem: React__default.FC<ListItemProps>;
1921
+ declare const EntityHeader: React__default.FC<EntityHeaderProps>;
1426
1922
 
1427
1923
  type DeploymentEntityType = 'workspace' | 'stream' | 'deployment' | 'engagement' | 'agent';
1428
1924
  type DeploymentStatusIndicator = 'normal' | 'warning' | 'error' | 'disabled' | null;
@@ -1630,65 +2126,6 @@ declare const WORKFLOW_NODE_SHADOW = "0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2p
1630
2126
  */
1631
2127
  declare const WorkflowNode: React__default.FC<WorkflowNodeProps>;
1632
2128
 
1633
- interface AvatarProps extends AvatarProps$1 {
1634
- size?: 'small' | 'medium' | 'large' | number;
1635
- }
1636
- declare const Avatar: React__default.FC<AvatarProps>;
1637
-
1638
- interface TableProps extends TableProps$1 {
1639
- stickyHeader?: boolean;
1640
- }
1641
- declare const Table: React__default.FC<TableProps>;
1642
- interface TableHeaderProps {
1643
- columns: Array<{
1644
- id: string;
1645
- label: string;
1646
- sortable?: boolean;
1647
- align?: 'left' | 'center' | 'right';
1648
- }>;
1649
- orderBy?: string;
1650
- order?: 'asc' | 'desc';
1651
- onSort?: (columnId: string) => void;
1652
- }
1653
- declare const TableHeader: React__default.FC<TableHeaderProps>;
1654
-
1655
- interface BreadcrumbItem {
1656
- label: string;
1657
- href?: string;
1658
- onClick?: () => void;
1659
- }
1660
- interface BreadcrumbsProps extends Omit<BreadcrumbsProps$1, 'children'> {
1661
- items: BreadcrumbItem[];
1662
- }
1663
- declare const Breadcrumbs: React__default.FC<BreadcrumbsProps>;
1664
-
1665
- interface AccordionProps extends Omit<AccordionProps$1, 'children'> {
1666
- title: string;
1667
- children: NonNullable<React__default.ReactNode>;
1668
- defaultExpanded?: boolean;
1669
- }
1670
- declare const Accordion: React__default.FC<AccordionProps>;
1671
-
1672
- interface PaperProps extends PaperProps$1 {
1673
- variant?: 'elevation' | 'outlined';
1674
- }
1675
- declare const Paper: React__default.FC<PaperProps>;
1676
-
1677
- interface DividerProps extends DividerProps$1 {
1678
- variant?: 'fullWidth' | 'inset' | 'middle';
1679
- }
1680
- declare const Divider: React__default.FC<DividerProps>;
1681
-
1682
- interface LinkProps extends LinkProps$1 {
1683
- underline?: 'none' | 'hover' | 'always';
1684
- }
1685
- declare const Link: React__default.FC<LinkProps>;
1686
-
1687
- interface AppBarProps extends AppBarProps$1 {
1688
- height?: number;
1689
- }
1690
- declare const AppBar: React__default.FC<AppBarProps>;
1691
-
1692
2129
  interface WorkflowTopBarProps extends Omit<BoxProps$1, 'title'> {
1693
2130
  /** Heading shown at the left side of the bar. */
1694
2131
  title?: string;
@@ -1798,131 +2235,6 @@ interface WorkflowTimeBarProps extends BoxProps$1 {
1798
2235
  */
1799
2236
  declare const WorkflowTimeBar: React__default.FC<WorkflowTimeBarProps>;
1800
2237
 
1801
- interface CollapseProps extends CollapseProps$1 {
1802
- /**
1803
- * If `true`, the component will transition in
1804
- */
1805
- in?: boolean;
1806
- /**
1807
- * The content to collapse
1808
- */
1809
- children?: React__default.ReactNode;
1810
- }
1811
- /**
1812
- * Collapse component - provides a collapse animation
1813
- *
1814
- * @example
1815
- * ```tsx
1816
- * <Collapse in={open}>
1817
- * <Box>Collapsible content</Box>
1818
- * </Collapse>
1819
- * ```
1820
- */
1821
- declare const Collapse: React__default.FC<CollapseProps>;
1822
-
1823
- type AlertSeverity = 'success' | 'error' | 'warning' | 'info';
1824
- interface AlertProps extends Omit<AlertProps$1, 'severity'> {
1825
- severity?: AlertSeverity;
1826
- /**
1827
- * Title to display above the alert message
1828
- */
1829
- title?: string;
1830
- }
1831
- declare const Alert: React__default.FC<AlertProps>;
1832
-
1833
- interface SnackbarProps extends Omit<SnackbarProps$1, 'children'> {
1834
- /**
1835
- * Message to display in the snackbar
1836
- */
1837
- message?: string;
1838
- /**
1839
- * Severity of the alert inside snackbar
1840
- */
1841
- severity?: AlertSeverity;
1842
- /**
1843
- * Title to display in the alert (optional)
1844
- */
1845
- title?: string;
1846
- /**
1847
- * Alert variant
1848
- * @default 'filled'
1849
- */
1850
- variant?: 'filled' | 'standard' | 'outlined';
1851
- /**
1852
- * Callback when snackbar is closed
1853
- */
1854
- onClose?: () => void;
1855
- /**
1856
- * Children to render instead of message (allows custom content)
1857
- * Must be a ReactElement to match MuiSnackbar requirements
1858
- */
1859
- children?: React__default.ReactElement;
1860
- }
1861
- declare const Snackbar: React__default.FC<SnackbarProps>;
1862
-
1863
- interface EmptyStateProps {
1864
- title?: string;
1865
- description?: string;
1866
- icon?: React__default.ReactNode;
1867
- action?: React__default.ReactNode;
1868
- }
1869
- declare const EmptyState: React__default.FC<EmptyStateProps>;
1870
-
1871
- interface LoadingProps {
1872
- message?: string;
1873
- size?: number;
1874
- fullScreen?: boolean;
1875
- }
1876
- declare const Loading: React__default.FC<LoadingProps>;
1877
-
1878
- interface AppLoadingProps {
1879
- /**
1880
- * Loading message to display
1881
- * @default "Loading..."
1882
- */
1883
- message?: string;
1884
- /**
1885
- * Logo source URL or path
1886
- * @default "/icons/logo.png"
1887
- */
1888
- logo?: string;
1889
- /**
1890
- * Custom styles
1891
- */
1892
- sx?: any;
1893
- }
1894
- /**
1895
- * AppLoading component - Full-screen loading indicator with logo
1896
- *
1897
- * @example
1898
- * ```tsx
1899
- * <AppLoading message="Initializing application..." />
1900
- * ```
1901
- */
1902
- declare const AppLoading: React__default.FC<AppLoadingProps>;
1903
-
1904
- interface CircularProgressProps extends CircularProgressProps$1 {
1905
- /**
1906
- * Size of the progress indicator
1907
- * @default 40
1908
- */
1909
- size?: number | string;
1910
- /**
1911
- * Thickness of the progress indicator
1912
- * @default 4
1913
- */
1914
- thickness?: number;
1915
- }
1916
- /**
1917
- * CircularProgress component - wrapper around MUI CircularProgress
1918
- *
1919
- * @example
1920
- * ```tsx
1921
- * <CircularProgress size={40} thickness={4} />
1922
- * ```
1923
- */
1924
- declare const CircularProgress: React__default.FC<CircularProgressProps>;
1925
-
1926
2238
  declare const ActivityAppIcon: React$1.MemoExoticComponent<(props: SvgIconProps) => react_jsx_runtime.JSX.Element>;
1927
2239
 
1928
2240
  declare const LeftArrowIcon: (props: SvgIconProps) => react_jsx_runtime.JSX.Element;
@@ -2824,4 +3136,4 @@ interface CodeEditorWorkspaceProps extends Pick<UseCodeEditorWorkspaceOptions, '
2824
3136
  */
2825
3137
  declare const CodeEditorWorkspace: React__default.FC<CodeEditorWorkspaceProps>;
2826
3138
 
2827
- export { Accordion, type AccordionProps, AccountSection, type AccountSectionProps, ActivityAppIcon, Alert, type AlertProps, type AlertSeverity, AppBar, type AppBarProps, AppLoading, type AppLoadingProps, Avatar, AvatarIcon, type AvatarProps, Badge, type BadgeProps, BarTrackingIcon, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, BytesSize, type BytesSizeProps, Card, CardActions, CardContent, CardHeader, type CardProps, CereIcon, ChartWidget, type ChartWidgetProps, CheckMarkAnimation, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, type CircularProgressProps, ClockIcon, CloudFlashIcon, CodeEditor, type CodeEditorFile, CodeEditorFileTree, type CodeEditorFileTreeProps, type CodeEditorLanguage, type CodeEditorProps, CodeEditorStatusBar, type CodeEditorStatusBarItem, type CodeEditorStatusBarProps, type CodeEditorStatusBarRenderProps, type CodeEditorTab, type CodeEditorTabRenderProps, CodeEditorTabs, type CodeEditorTabsProps, CodeEditorWelcomeScreen, type CodeEditorWelcomeScreenProps, CodeEditorWorkspace, type CodeEditorWorkspaceProps, Collapse, type CollapseProps, ConnectionStatus, type ConnectionStatusProps, type ContextMenuItem, type DataPoint, type DataSeries, DateRangePicker, type DateRangePickerProps, DecentralizedServerIcon, type DeploymentCardAction, DeploymentDashboardCard, type DeploymentDashboardCardProps, DeploymentDashboardPanel, type DeploymentDashboardPanelProps, DeploymentDashboardTree, type DeploymentDashboardTreeProps, DeploymentEntityContextMenu, type DeploymentEntityContextMenuProps, type DeploymentEntityType, type DeploymentStatusIndicator, type DeploymentTreeNode, Dialog, type DialogProps, DiscordIcon, Divider, type DividerProps, DownloadIcon, Drawer, type DrawerProps, Dropdown, DropdownAnchor, type DropdownAnchorProps, type DropdownProps, EXTENSION_LANGUAGE_MAP, EmptyState, type EmptyStateProps, EntityHeader, type EntityHeaderProps, type FileTreeNode, type FileTreeNodeRenderProps, FilledFolderIcon, FlowEditor, type FlowEditorProps, FolderIcon, type GitInfo, GithubLogoIcon, IDBlock, type IDBlockProps, IconButton, type IconButtonProps, LeftArrowIcon, Link, type LinkProps, List, ListItem, type ListItemProps, type ListProps, Loading, LoadingAnimation, type LoadingAnimationProps, LoadingButton, type LoadingButtonProps, type LoadingProps, Logo, type LogoProps, Markdown, type MarkdownProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MetricsChart, type MetricsChartProps, type MetricsPeriod, NavigationItem, type NavigationItemProps, NavigationList, type NavigationListProps, OnboardingProvider, Pagination, type PaginationProps, Paper, type PaperProps, PeriodSelect, type PrimaryAction, Progress, type ProgressProps, QRCode, type QRCodeProps, Radio, type RadioProps, RightArrowIcon, RoleBadge, type RoleBadgeColor, type RoleBadgeProps, type RoleBadgeSize, SearchField, type SearchFieldProps, Selector, type SelectorOption, type SelectorProps, type Service, ServiceSelectorButton, type ServiceSelectorButtonProps, ShareIcon, SideNav, SideNavHeader, type SideNavHeaderProps, type SideNavProps, Sidebar, SidebarItem, type SidebarItemProps, type SidebarProps, Snackbar, type SnackbarProps, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, StorageAppIcon, type SummaryItem, SummaryStats, type SummaryStatsProps, Switch, type SwitchProps, Tab, type TabProps, Table, TableHeader, type TableHeaderProps, type TableProps, TextField, type TextFieldProps, type TimeRangeOption, TimeRangeSelect, type TimeRangeSelectProps, TimeSeriesGraph, type TimeSeriesGraphProps, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, Truncate, type TruncateProps, UploadFileIcon, UploadFolderIcon, type UseCodeEditorWorkspaceOptions, type UseCodeEditorWorkspaceReturn, type UserInfo, WORKFLOW_NODE_LABELS, WORKFLOW_NODE_SHADOW, WorkflowNode, type WorkflowNodeData, WorkflowNodeHandle, type WorkflowNodeProps, type WorkflowNodeType, WorkflowSideInspector, type WorkflowSideInspectorProps, WorkflowTimeBar, type WorkflowTimeBarProps, WorkflowTopBar, type WorkflowTopBarProps, type Workspace, WorkspaceSelectorButton, type WorkspaceSelectorButtonProps, colors, contextMenuItems, detectLanguage, getFileName, robPaletteExtended, robPrimaryPalette, theme, useCodeEditorWorkspace, useIsDesktop, useIsMobile, useIsTablet, useOnboarding, workflowConnectionColors, workflowNodeColors };
3139
+ export { Accordion, type AccordionProps, AccountSection, type AccountSectionProps, ActivityAppIcon, Alert, type AlertProps, type AlertSeverity, AppBar, type AppBarProps, AppLoading, type AppLoadingProps, Avatar, AvatarIcon, type AvatarProps, Badge, type BadgeProps, BarTrackingIcon, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, BytesSize, type BytesSizeProps, Card, CardActions, CardContent, CardHeader, type CardProps, CereIcon, ChartWidget, type ChartWidgetProps, CheckMarkAnimation, Checkbox, type CheckboxProps, Chip, type ChipProps, type ChipVariant, type ChipVariantStyles, CircularProgress, type CircularProgressProps, ClockIcon, CloudFlashIcon, CodeEditor, type CodeEditorFile, CodeEditorFileTree, type CodeEditorFileTreeProps, type CodeEditorLanguage, type CodeEditorProps, CodeEditorStatusBar, type CodeEditorStatusBarItem, type CodeEditorStatusBarProps, type CodeEditorStatusBarRenderProps, type CodeEditorTab, type CodeEditorTabRenderProps, CodeEditorTabs, type CodeEditorTabsProps, CodeEditorWelcomeScreen, type CodeEditorWelcomeScreenProps, CodeEditorWorkspace, type CodeEditorWorkspaceProps, Collapse, type CollapseProps, ConnectionStatus, type ConnectionStatusProps, type ContextMenuItem, CopyChip, type CopyChipProps, type DataPoint, type DataSeries, DateRangePicker, type DateRangePickerProps, DecentralizedServerIcon, type DeploymentCardAction, DeploymentDashboardCard, type DeploymentDashboardCardProps, DeploymentDashboardPanel, type DeploymentDashboardPanelProps, DeploymentDashboardTree, type DeploymentDashboardTreeProps, DeploymentEntityContextMenu, type DeploymentEntityContextMenuProps, type DeploymentEntityType, type DeploymentStatusIndicator, type DeploymentTreeNode, Dialog, type DialogProps, DiscordIcon, Divider, type DividerProps, DownloadIcon, Drawer, type DrawerProps, type DrawerWidth, type DrawerWidthValue, Dropdown, DropdownAnchor, type DropdownAnchorProps, type DropdownProps, EXTENSION_LANGUAGE_MAP, EmptyState, type EmptyStateProps, EntityHeader, type EntityHeaderProps, type FileTreeNode, type FileTreeNodeRenderProps, FilledFolderIcon, FlowEditor, type FlowEditorProps, FolderIcon, type GitInfo, GithubLogoIcon, IDBlock, type IDBlockProps, IconButton, type IconButtonProps, LeftArrowIcon, Link, type LinkProps, List, ListItem, type ListItemProps, type ListProps, Loading, LoadingAnimation, type LoadingAnimationProps, LoadingButton, type LoadingButtonProps, type LoadingProps, Logo, type LogoProps, Markdown, type MarkdownProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MetaField, type MetaFieldProps, MetricsChart, type MetricsChartProps, type MetricsPeriod, NavigationItem, type NavigationItemProps, NavigationList, type NavigationListProps, OnboardingProvider, Pagination, type PaginationProps, Paper, type PaperProps, PeriodSelect, type PrimaryAction, Progress, type ProgressProps, QRCode, type QRCodeProps, Radio, type RadioProps, type ResponsiveDrawerWidth, RightArrowIcon, RoleBadge, type RoleBadgeColor, type RoleBadgeProps, type RoleBadgeSize, ScrollableRow, type ScrollableRowProps, SearchField, type SearchFieldProps, Selector, type SelectorOption, type SelectorProps, type Service, ServiceSelectorButton, type ServiceSelectorButtonProps, ShareIcon, SideNav, SideNavHeader, type SideNavHeaderProps, type SideNavProps, Sidebar, SidebarItem, type SidebarItemProps, type SidebarProps, Snackbar, type SnackbarProps, StatusDot, type StatusDotProps, type StatusDotStatus, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, StorageAppIcon, type SummaryItem, SummaryStats, type SummaryStatsProps, Switch, type SwitchProps, Tab, type TabProps, Table, TableHeader, type TableHeaderProps, type TableProps, TextField, type TextFieldProps, type TimeRangeOption, TimeRangeSelect, type TimeRangeSelectProps, TimeSeriesGraph, type TimeSeriesGraphProps, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, Truncate, type TruncateProps, UploadFileIcon, UploadFolderIcon, type UseCodeEditorWorkspaceOptions, type UseCodeEditorWorkspaceReturn, type UserInfo, WORKFLOW_NODE_LABELS, WORKFLOW_NODE_SHADOW, WorkflowNode, type WorkflowNodeData, WorkflowNodeHandle, type WorkflowNodeProps, type WorkflowNodeType, WorkflowSideInspector, type WorkflowSideInspectorProps, WorkflowTimeBar, type WorkflowTimeBarProps, WorkflowTopBar, type WorkflowTopBarProps, type Workspace, WorkspaceSelectorButton, type WorkspaceSelectorButtonProps, colors, contextMenuItems, detectLanguage, getChipVariantStyles, getFileName, resolveDrawerWidth, robPaletteExtended, robPrimaryPalette, theme, useCodeEditorWorkspace, useIsDesktop, useIsMobile, useIsTablet, useOnboarding, workflowConnectionColors, workflowNodeColors };