@cere/cere-design-system 0.0.2
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/README.md +264 -0
- package/dist/index.d.mts +901 -0
- package/dist/index.d.ts +901 -0
- package/dist/index.js +3194 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +3205 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +98 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,901 @@
|
|
|
1
|
+
import { Theme } from '@mui/material/styles';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
import { ButtonProps as ButtonProps$1 } from '@mui/material/Button';
|
|
4
|
+
import { IconButtonProps as IconButtonProps$1 } from '@mui/material/IconButton';
|
|
5
|
+
import { LoadingButtonProps as LoadingButtonProps$1 } from '@mui/lab';
|
|
6
|
+
import { ButtonGroupProps as ButtonGroupProps$1, SelectProps, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1, StepperProps as StepperProps$1, StepProps as StepProps$1, StepLabelProps as StepLabelProps$1, StepContentProps as StepContentProps$1, StepButtonProps as StepButtonProps$1, MenuProps as MenuProps$1, DialogProps as DialogProps$1, 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, BoxProps } from '@mui/material';
|
|
7
|
+
export { Box, BoxProps, Container, ContainerProps, FormControl, FormControlLabel, FormControlLabelProps, FormControlProps, FormHelperText, FormHelperTextProps, FormLabel, FormLabelProps, Grid, Grid2Props, GridProps, InputAdornment, InputAdornmentProps, InputLabel, InputLabelProps, ListItemIcon, ListItemSecondaryAction, ListItemText, Stack, StackProps, Toolbar, ToolbarProps, Typography, TypographyProps } from '@mui/material';
|
|
8
|
+
import { TextFieldProps as TextFieldProps$1 } from '@mui/material/TextField';
|
|
9
|
+
import { SwitchProps as SwitchProps$1 } from '@mui/material/Switch';
|
|
10
|
+
import { CheckboxProps as CheckboxProps$1 } from '@mui/material/Checkbox';
|
|
11
|
+
import { RadioProps as RadioProps$1 } from '@mui/material/Radio';
|
|
12
|
+
import { BadgeProps as BadgeProps$1 } from '@mui/material/Badge';
|
|
13
|
+
import { ChipProps as ChipProps$1 } from '@mui/material/Chip';
|
|
14
|
+
import { TooltipProps as TooltipProps$1 } from '@mui/material/Tooltip';
|
|
15
|
+
import { TabProps as TabProps$1 } from '@mui/material/Tab';
|
|
16
|
+
import { PaginationProps as PaginationProps$1 } from '@mui/material/Pagination';
|
|
17
|
+
import { DrawerProps as DrawerProps$1 } from '@mui/material/Drawer';
|
|
18
|
+
import { CardProps as CardProps$1 } from '@mui/material/Card';
|
|
19
|
+
import { CardContentProps } from '@mui/material/CardContent';
|
|
20
|
+
import { CardHeaderProps } from '@mui/material/CardHeader';
|
|
21
|
+
import { CardActionsProps } from '@mui/material/CardActions';
|
|
22
|
+
import { AvatarProps as AvatarProps$1 } from '@mui/material/Avatar';
|
|
23
|
+
import { BreadcrumbsProps as BreadcrumbsProps$1 } from '@mui/material/Breadcrumbs';
|
|
24
|
+
import { PaperProps as PaperProps$1 } from '@mui/material/Paper';
|
|
25
|
+
import { DividerProps as DividerProps$1 } from '@mui/material/Divider';
|
|
26
|
+
import { LinkProps as LinkProps$1 } from '@mui/material/Link';
|
|
27
|
+
import { AlertProps as AlertProps$1 } from '@mui/material/Alert';
|
|
28
|
+
import { SnackbarProps as SnackbarProps$1 } from '@mui/material/Snackbar';
|
|
29
|
+
import { ReactFlowProps, Node, Edge, OnNodesChange, OnEdgesChange, NodeTypes, EdgeTypes, BackgroundVariant, ReactFlowInstance } from 'reactflow';
|
|
30
|
+
export { Background, BackgroundVariant, ConnectionLineType, Controls, Edge, EdgeTypes, MiniMap, Node, NodeTypes, OnEdgesChange, OnNodesChange, Panel, ReactFlowInstance } from 'reactflow';
|
|
31
|
+
import { Monaco } from '@monaco-editor/react';
|
|
32
|
+
import { editor } from 'monaco-editor';
|
|
33
|
+
export { default as RadioGroup } from '@mui/material/RadioGroup';
|
|
34
|
+
|
|
35
|
+
declare const colors: {
|
|
36
|
+
primary: {
|
|
37
|
+
main: string;
|
|
38
|
+
light: string;
|
|
39
|
+
dark: string;
|
|
40
|
+
contrastText: string;
|
|
41
|
+
};
|
|
42
|
+
secondary: {
|
|
43
|
+
main: string;
|
|
44
|
+
light: string;
|
|
45
|
+
dark: string;
|
|
46
|
+
contrastText: string;
|
|
47
|
+
};
|
|
48
|
+
success: {
|
|
49
|
+
main: string;
|
|
50
|
+
light: string;
|
|
51
|
+
dark: string;
|
|
52
|
+
contrastText: string;
|
|
53
|
+
};
|
|
54
|
+
error: {
|
|
55
|
+
main: string;
|
|
56
|
+
light: string;
|
|
57
|
+
dark: string;
|
|
58
|
+
contrastText: string;
|
|
59
|
+
};
|
|
60
|
+
warning: {
|
|
61
|
+
main: string;
|
|
62
|
+
light: string;
|
|
63
|
+
dark: string;
|
|
64
|
+
contrastText: string;
|
|
65
|
+
};
|
|
66
|
+
tertiary: {
|
|
67
|
+
main: string;
|
|
68
|
+
light: string;
|
|
69
|
+
dark: string;
|
|
70
|
+
contrastText: string;
|
|
71
|
+
};
|
|
72
|
+
grey: {
|
|
73
|
+
50: string;
|
|
74
|
+
100: string;
|
|
75
|
+
200: string;
|
|
76
|
+
300: string;
|
|
77
|
+
400: string;
|
|
78
|
+
500: string;
|
|
79
|
+
600: string;
|
|
80
|
+
700: string;
|
|
81
|
+
800: string;
|
|
82
|
+
900: string;
|
|
83
|
+
};
|
|
84
|
+
text: {
|
|
85
|
+
primary: string;
|
|
86
|
+
secondary: string;
|
|
87
|
+
disabled: string;
|
|
88
|
+
};
|
|
89
|
+
background: {
|
|
90
|
+
default: string;
|
|
91
|
+
paper: string;
|
|
92
|
+
selected: string;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
declare const theme: Theme;
|
|
96
|
+
|
|
97
|
+
type ButtonVariant = 'primary' | 'secondary' | 'tertiary';
|
|
98
|
+
interface ButtonProps extends Omit<ButtonProps$1, 'variant' | 'color'> {
|
|
99
|
+
variant?: ButtonVariant;
|
|
100
|
+
size?: 'small' | 'medium' | 'large';
|
|
101
|
+
startIcon?: React.ReactNode;
|
|
102
|
+
endIcon?: React.ReactNode;
|
|
103
|
+
}
|
|
104
|
+
declare const Button: React.FC<ButtonProps>;
|
|
105
|
+
|
|
106
|
+
interface IconButtonProps extends IconButtonProps$1 {
|
|
107
|
+
variant?: 'default' | 'primary' | 'secondary';
|
|
108
|
+
}
|
|
109
|
+
declare const IconButton: React.FC<IconButtonProps>;
|
|
110
|
+
|
|
111
|
+
interface LoadingButtonProps extends LoadingButtonProps$1 {
|
|
112
|
+
/**
|
|
113
|
+
* If `true`, the button will show a loading indicator
|
|
114
|
+
*/
|
|
115
|
+
loading?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* The loading indicator can be positioned inside the button or in the center
|
|
118
|
+
*/
|
|
119
|
+
loadingPosition?: 'start' | 'end' | 'center';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* LoadingButton component - Button with loading state from MUI Lab
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```tsx
|
|
126
|
+
* <LoadingButton
|
|
127
|
+
* variant="contained"
|
|
128
|
+
* loading={isLoading}
|
|
129
|
+
* onClick={handleSubmit}
|
|
130
|
+
* >
|
|
131
|
+
* Submit
|
|
132
|
+
* </LoadingButton>
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
declare const LoadingButton: React.FC<LoadingButtonProps>;
|
|
136
|
+
|
|
137
|
+
interface ButtonGroupProps extends ButtonGroupProps$1 {
|
|
138
|
+
/**
|
|
139
|
+
* The content of the button group
|
|
140
|
+
*/
|
|
141
|
+
children?: React.ReactNode;
|
|
142
|
+
/**
|
|
143
|
+
* If `true`, the buttons will be disabled
|
|
144
|
+
*/
|
|
145
|
+
disabled?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* If `true`, the button group will take full width
|
|
148
|
+
*/
|
|
149
|
+
fullWidth?: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* The orientation of the button group
|
|
152
|
+
* @default 'horizontal'
|
|
153
|
+
*/
|
|
154
|
+
orientation?: 'horizontal' | 'vertical';
|
|
155
|
+
/**
|
|
156
|
+
* The size of the buttons
|
|
157
|
+
* @default 'medium'
|
|
158
|
+
*/
|
|
159
|
+
size?: 'small' | 'medium' | 'large';
|
|
160
|
+
/**
|
|
161
|
+
* The variant to use
|
|
162
|
+
* @default 'outlined'
|
|
163
|
+
*/
|
|
164
|
+
variant?: 'text' | 'outlined' | 'contained';
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* ButtonGroup component - groups related buttons together
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```tsx
|
|
171
|
+
* <ButtonGroup variant="contained">
|
|
172
|
+
* <Button>One</Button>
|
|
173
|
+
* <Button>Two</Button>
|
|
174
|
+
* <Button>Three</Button>
|
|
175
|
+
* </ButtonGroup>
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
declare const ButtonGroup: React.FC<ButtonGroupProps>;
|
|
179
|
+
|
|
180
|
+
type TextFieldSize = 'small' | 'medium';
|
|
181
|
+
interface TextFieldProps extends Omit<TextFieldProps$1, 'size'> {
|
|
182
|
+
size?: TextFieldSize;
|
|
183
|
+
}
|
|
184
|
+
declare const TextField: React.FC<TextFieldProps>;
|
|
185
|
+
|
|
186
|
+
interface SearchFieldProps extends Omit<TextFieldProps, 'InputProps'> {
|
|
187
|
+
placeholder?: string;
|
|
188
|
+
onSearch?: (value: string) => void;
|
|
189
|
+
}
|
|
190
|
+
declare const SearchField: React.FC<SearchFieldProps>;
|
|
191
|
+
|
|
192
|
+
type DropdownSize = 'small' | 'medium' | 'large';
|
|
193
|
+
interface DropdownOption {
|
|
194
|
+
value: string | number;
|
|
195
|
+
label: string;
|
|
196
|
+
disabled?: boolean;
|
|
197
|
+
}
|
|
198
|
+
interface DropdownProps extends Omit<SelectProps, 'size'> {
|
|
199
|
+
label?: string;
|
|
200
|
+
options: DropdownOption[];
|
|
201
|
+
size?: DropdownSize;
|
|
202
|
+
placeholder?: string;
|
|
203
|
+
}
|
|
204
|
+
declare const Dropdown: React.FC<DropdownProps>;
|
|
205
|
+
|
|
206
|
+
interface ToggleButtonProps extends ToggleButtonProps$1 {
|
|
207
|
+
}
|
|
208
|
+
declare const ToggleButton: React.FC<ToggleButtonProps>;
|
|
209
|
+
interface ToggleButtonGroupProps extends ToggleButtonGroupProps$1 {
|
|
210
|
+
}
|
|
211
|
+
declare const ToggleButtonGroup: React.FC<ToggleButtonGroupProps>;
|
|
212
|
+
|
|
213
|
+
interface SwitchProps extends Omit<SwitchProps$1, 'color'> {
|
|
214
|
+
label?: string;
|
|
215
|
+
labelPosition?: 'left' | 'right';
|
|
216
|
+
}
|
|
217
|
+
declare const Switch: React.FC<SwitchProps>;
|
|
218
|
+
|
|
219
|
+
interface CheckboxProps extends Omit<CheckboxProps$1, 'color'> {
|
|
220
|
+
label?: string;
|
|
221
|
+
labelPosition?: 'left' | 'right';
|
|
222
|
+
}
|
|
223
|
+
declare const Checkbox: React.FC<CheckboxProps>;
|
|
224
|
+
|
|
225
|
+
interface RadioProps extends Omit<RadioProps$1, 'color'> {
|
|
226
|
+
label?: string;
|
|
227
|
+
labelPosition?: 'left' | 'right';
|
|
228
|
+
}
|
|
229
|
+
declare const Radio: React.FC<RadioProps>;
|
|
230
|
+
|
|
231
|
+
interface SidebarItemProps {
|
|
232
|
+
label: string;
|
|
233
|
+
icon?: React.ReactNode;
|
|
234
|
+
selected?: boolean;
|
|
235
|
+
onClick?: () => void;
|
|
236
|
+
size?: 'small' | 'medium' | 'large';
|
|
237
|
+
endIcon?: React.ReactNode;
|
|
238
|
+
children?: React.ReactNode;
|
|
239
|
+
}
|
|
240
|
+
declare const SidebarItem: React.FC<SidebarItemProps>;
|
|
241
|
+
|
|
242
|
+
interface SidebarProps {
|
|
243
|
+
open?: boolean;
|
|
244
|
+
width?: number;
|
|
245
|
+
items: SidebarItemProps[];
|
|
246
|
+
onClose?: () => void;
|
|
247
|
+
variant?: 'permanent' | 'persistent' | 'temporary';
|
|
248
|
+
}
|
|
249
|
+
declare const Sidebar: React.FC<SidebarProps>;
|
|
250
|
+
|
|
251
|
+
interface Service {
|
|
252
|
+
id: string;
|
|
253
|
+
name: string;
|
|
254
|
+
description?: string;
|
|
255
|
+
type?: string;
|
|
256
|
+
lastAccessed?: string;
|
|
257
|
+
memberCount?: number;
|
|
258
|
+
favorited?: boolean;
|
|
259
|
+
isPersonal?: boolean;
|
|
260
|
+
avatar?: string;
|
|
261
|
+
archived?: boolean;
|
|
262
|
+
}
|
|
263
|
+
interface ServiceSelectorButtonProps {
|
|
264
|
+
/**
|
|
265
|
+
* List of services to display
|
|
266
|
+
*/
|
|
267
|
+
services: Service[];
|
|
268
|
+
/**
|
|
269
|
+
* Currently selected service ID
|
|
270
|
+
*/
|
|
271
|
+
selectedServiceId: string | null;
|
|
272
|
+
/**
|
|
273
|
+
* Loading state
|
|
274
|
+
*/
|
|
275
|
+
loading?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* Compact mode for mobile or mini-sidebar
|
|
278
|
+
*/
|
|
279
|
+
compact?: boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Callback when service is selected
|
|
282
|
+
*/
|
|
283
|
+
onSelectService?: (serviceId: string) => void;
|
|
284
|
+
/**
|
|
285
|
+
* Callback when service name is clicked (for navigation)
|
|
286
|
+
*/
|
|
287
|
+
onServiceClick?: (serviceId: string) => void;
|
|
288
|
+
/**
|
|
289
|
+
* Callback when "Create Service" is clicked
|
|
290
|
+
*/
|
|
291
|
+
onCreateService?: () => void;
|
|
292
|
+
/**
|
|
293
|
+
* Callback after service is created
|
|
294
|
+
*/
|
|
295
|
+
onServiceCreated?: () => void;
|
|
296
|
+
/**
|
|
297
|
+
* Whether user is a manager for the selected service
|
|
298
|
+
*/
|
|
299
|
+
isManager?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Custom styles
|
|
302
|
+
*/
|
|
303
|
+
sx?: any;
|
|
304
|
+
/**
|
|
305
|
+
* Panel width
|
|
306
|
+
* @default 350
|
|
307
|
+
*/
|
|
308
|
+
panelWidth?: number;
|
|
309
|
+
}
|
|
310
|
+
declare const ServiceSelectorButton: React.FC<ServiceSelectorButtonProps>;
|
|
311
|
+
|
|
312
|
+
interface Workspace {
|
|
313
|
+
id: string;
|
|
314
|
+
name: string;
|
|
315
|
+
description?: string;
|
|
316
|
+
}
|
|
317
|
+
interface WorkspaceSelectorButtonProps {
|
|
318
|
+
/**
|
|
319
|
+
* List of workspaces to display
|
|
320
|
+
*/
|
|
321
|
+
workspaces: Workspace[];
|
|
322
|
+
/**
|
|
323
|
+
* Currently selected workspace ID
|
|
324
|
+
*/
|
|
325
|
+
selectedWorkspaceId: string | null;
|
|
326
|
+
/**
|
|
327
|
+
* Loading state
|
|
328
|
+
*/
|
|
329
|
+
loading?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Callback when workspace is selected
|
|
332
|
+
*/
|
|
333
|
+
onSelectWorkspace?: (workspaceId: string) => void;
|
|
334
|
+
/**
|
|
335
|
+
* Callback when workspace name is clicked (for navigation)
|
|
336
|
+
*/
|
|
337
|
+
onWorkspaceClick?: (workspaceId: string) => void;
|
|
338
|
+
/**
|
|
339
|
+
* Callback when "Create Workspace" is clicked
|
|
340
|
+
*/
|
|
341
|
+
onCreateWorkspace?: () => void;
|
|
342
|
+
/**
|
|
343
|
+
* Custom styles
|
|
344
|
+
*/
|
|
345
|
+
sx?: any;
|
|
346
|
+
/**
|
|
347
|
+
* Panel width
|
|
348
|
+
* @default 350
|
|
349
|
+
*/
|
|
350
|
+
panelWidth?: number;
|
|
351
|
+
}
|
|
352
|
+
declare const WorkspaceSelectorButton: React.FC<WorkspaceSelectorButtonProps>;
|
|
353
|
+
|
|
354
|
+
interface StepperProps extends StepperProps$1 {
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Stepper component - displays progress through a sequence of steps
|
|
358
|
+
*
|
|
359
|
+
* @example
|
|
360
|
+
* ```tsx
|
|
361
|
+
* <Stepper activeStep={activeStep}>
|
|
362
|
+
* <Step>
|
|
363
|
+
* <StepLabel>Step 1</StepLabel>
|
|
364
|
+
* </Step>
|
|
365
|
+
* <Step>
|
|
366
|
+
* <StepLabel>Step 2</StepLabel>
|
|
367
|
+
* </Step>
|
|
368
|
+
* </Stepper>
|
|
369
|
+
* ```
|
|
370
|
+
*/
|
|
371
|
+
declare const Stepper: React.FC<StepperProps>;
|
|
372
|
+
interface StepProps extends StepProps$1 {
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Step component - represents a single step in a Stepper
|
|
376
|
+
*/
|
|
377
|
+
declare const Step: React.FC<StepProps>;
|
|
378
|
+
interface StepLabelProps extends StepLabelProps$1 {
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* StepLabel component - label for a Step
|
|
382
|
+
*/
|
|
383
|
+
declare const StepLabel: React.FC<StepLabelProps>;
|
|
384
|
+
interface StepContentProps extends StepContentProps$1 {
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* StepContent component - optional content that appears below a StepLabel
|
|
388
|
+
*/
|
|
389
|
+
declare const StepContent: React.FC<StepContentProps>;
|
|
390
|
+
interface StepButtonProps extends StepButtonProps$1 {
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* StepButton component - makes a Step clickable
|
|
394
|
+
*/
|
|
395
|
+
declare const StepButton: React.FC<StepButtonProps>;
|
|
396
|
+
|
|
397
|
+
type BadgeVariant = 'default' | 'primary' | 'success' | 'error';
|
|
398
|
+
interface BadgeProps extends Omit<BadgeProps$1, 'color' | 'variant'> {
|
|
399
|
+
variant?: BadgeVariant;
|
|
400
|
+
children?: React.ReactNode;
|
|
401
|
+
}
|
|
402
|
+
declare const Badge: React.FC<BadgeProps>;
|
|
403
|
+
|
|
404
|
+
type ChipVariant = 'default' | 'active';
|
|
405
|
+
interface ChipProps extends Omit<ChipProps$1, 'color' | 'variant'> {
|
|
406
|
+
variant?: ChipVariant;
|
|
407
|
+
}
|
|
408
|
+
declare const Chip: React.FC<ChipProps>;
|
|
409
|
+
|
|
410
|
+
interface TooltipProps extends TooltipProps$1 {
|
|
411
|
+
}
|
|
412
|
+
declare const Tooltip: React.FC<TooltipProps>;
|
|
413
|
+
|
|
414
|
+
type ProgressVariant = 'linear' | 'circular';
|
|
415
|
+
interface ProgressProps {
|
|
416
|
+
variant?: ProgressVariant;
|
|
417
|
+
value?: number;
|
|
418
|
+
size?: number;
|
|
419
|
+
thickness?: number;
|
|
420
|
+
}
|
|
421
|
+
declare const Progress: React.FC<ProgressProps>;
|
|
422
|
+
|
|
423
|
+
interface TabProps extends Omit<TabProps$1, 'icon'> {
|
|
424
|
+
badge?: number | string;
|
|
425
|
+
badgeVariant?: 'default' | 'primary' | 'success' | 'error';
|
|
426
|
+
}
|
|
427
|
+
declare const Tab: React.FC<TabProps>;
|
|
428
|
+
|
|
429
|
+
interface MenuProps extends Omit<MenuProps$1, 'open'> {
|
|
430
|
+
anchorEl?: HTMLElement | null;
|
|
431
|
+
onClose: () => void;
|
|
432
|
+
}
|
|
433
|
+
declare const Menu: React.FC<MenuProps>;
|
|
434
|
+
interface MenuItemProps {
|
|
435
|
+
icon?: React.ReactNode;
|
|
436
|
+
label: string;
|
|
437
|
+
onClick?: () => void;
|
|
438
|
+
disabled?: boolean;
|
|
439
|
+
divider?: boolean;
|
|
440
|
+
}
|
|
441
|
+
declare const MenuItem: React.FC<MenuItemProps>;
|
|
442
|
+
|
|
443
|
+
interface PaginationProps extends Omit<PaginationProps$1, 'color'> {
|
|
444
|
+
color?: 'primary' | 'secondary' | 'standard';
|
|
445
|
+
}
|
|
446
|
+
declare const Pagination: React.FC<PaginationProps>;
|
|
447
|
+
|
|
448
|
+
interface SelectorOption {
|
|
449
|
+
id: string;
|
|
450
|
+
name: string;
|
|
451
|
+
description?: string;
|
|
452
|
+
avatar?: string;
|
|
453
|
+
icon?: React.ReactNode;
|
|
454
|
+
disabled?: boolean;
|
|
455
|
+
}
|
|
456
|
+
interface SelectorProps {
|
|
457
|
+
options: SelectorOption[];
|
|
458
|
+
selectedId: string | null;
|
|
459
|
+
onSelect: (id: string) => void;
|
|
460
|
+
onCreate?: () => void;
|
|
461
|
+
loading?: boolean;
|
|
462
|
+
placeholder?: string;
|
|
463
|
+
emptyMessage?: string;
|
|
464
|
+
compact?: boolean;
|
|
465
|
+
renderSelected?: (option: SelectorOption) => React.ReactNode;
|
|
466
|
+
width?: number;
|
|
467
|
+
}
|
|
468
|
+
declare const Selector: React.FC<SelectorProps>;
|
|
469
|
+
|
|
470
|
+
interface DialogProps extends Omit<DialogProps$1, 'title'> {
|
|
471
|
+
open: boolean;
|
|
472
|
+
title: ReactNode;
|
|
473
|
+
onClose: () => void;
|
|
474
|
+
onSubmit?: () => void;
|
|
475
|
+
submitLabel?: string;
|
|
476
|
+
cancelLabel?: string;
|
|
477
|
+
isLoading?: boolean;
|
|
478
|
+
disableSubmit?: boolean;
|
|
479
|
+
showActions?: boolean;
|
|
480
|
+
headerAction?: ReactNode;
|
|
481
|
+
fullWidth?: boolean;
|
|
482
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
483
|
+
children: ReactNode;
|
|
484
|
+
dividers?: boolean;
|
|
485
|
+
confirmBeforeClose?: boolean;
|
|
486
|
+
}
|
|
487
|
+
declare const Dialog: React.FC<DialogProps>;
|
|
488
|
+
|
|
489
|
+
interface DrawerProps extends DrawerProps$1 {
|
|
490
|
+
/**
|
|
491
|
+
* Width of the drawer when open
|
|
492
|
+
* @default 240
|
|
493
|
+
*/
|
|
494
|
+
width?: number;
|
|
495
|
+
/**
|
|
496
|
+
* Width of the drawer when collapsed (mini variant)
|
|
497
|
+
* @default 72
|
|
498
|
+
*/
|
|
499
|
+
miniWidth?: number;
|
|
500
|
+
/**
|
|
501
|
+
* Whether the drawer is in collapsed/mini state
|
|
502
|
+
* @default false
|
|
503
|
+
*/
|
|
504
|
+
collapsed?: boolean;
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Drawer component for navigation drawers and side panels
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* ```tsx
|
|
511
|
+
* <Drawer open={true} variant="permanent" width={240}>
|
|
512
|
+
* <List>
|
|
513
|
+
* <ListItem>Item 1</ListItem>
|
|
514
|
+
* </List>
|
|
515
|
+
* </Drawer>
|
|
516
|
+
* ```
|
|
517
|
+
*/
|
|
518
|
+
declare const Drawer: React.FC<DrawerProps>;
|
|
519
|
+
|
|
520
|
+
interface CardProps extends CardProps$1 {
|
|
521
|
+
hoverable?: boolean;
|
|
522
|
+
clickable?: boolean;
|
|
523
|
+
}
|
|
524
|
+
declare const Card: React.FC<CardProps>;
|
|
525
|
+
declare const CardContent: React.FC<CardContentProps>;
|
|
526
|
+
declare const CardHeader: React.FC<CardHeaderProps>;
|
|
527
|
+
declare const CardActions: React.FC<CardActionsProps>;
|
|
528
|
+
|
|
529
|
+
interface ListProps extends ListProps$1 {
|
|
530
|
+
}
|
|
531
|
+
declare const List: React.FC<ListProps>;
|
|
532
|
+
interface ListItemProps extends ListItemProps$1 {
|
|
533
|
+
primary?: React.ReactNode;
|
|
534
|
+
secondary?: React.ReactNode;
|
|
535
|
+
icon?: React.ReactNode;
|
|
536
|
+
action?: React.ReactNode;
|
|
537
|
+
hoverable?: boolean;
|
|
538
|
+
}
|
|
539
|
+
declare const ListItem: React.FC<ListItemProps>;
|
|
540
|
+
|
|
541
|
+
interface AvatarProps extends AvatarProps$1 {
|
|
542
|
+
size?: 'small' | 'medium' | 'large' | number;
|
|
543
|
+
}
|
|
544
|
+
declare const Avatar: React.FC<AvatarProps>;
|
|
545
|
+
|
|
546
|
+
interface TableProps extends TableProps$1 {
|
|
547
|
+
stickyHeader?: boolean;
|
|
548
|
+
}
|
|
549
|
+
declare const Table: React.FC<TableProps>;
|
|
550
|
+
interface TableHeaderProps {
|
|
551
|
+
columns: Array<{
|
|
552
|
+
id: string;
|
|
553
|
+
label: string;
|
|
554
|
+
sortable?: boolean;
|
|
555
|
+
align?: 'left' | 'center' | 'right';
|
|
556
|
+
}>;
|
|
557
|
+
orderBy?: string;
|
|
558
|
+
order?: 'asc' | 'desc';
|
|
559
|
+
onSort?: (columnId: string) => void;
|
|
560
|
+
}
|
|
561
|
+
declare const TableHeader: React.FC<TableHeaderProps>;
|
|
562
|
+
|
|
563
|
+
interface BreadcrumbItem {
|
|
564
|
+
label: string;
|
|
565
|
+
href?: string;
|
|
566
|
+
onClick?: () => void;
|
|
567
|
+
}
|
|
568
|
+
interface BreadcrumbsProps extends Omit<BreadcrumbsProps$1, 'children'> {
|
|
569
|
+
items: BreadcrumbItem[];
|
|
570
|
+
}
|
|
571
|
+
declare const Breadcrumbs: React.FC<BreadcrumbsProps>;
|
|
572
|
+
|
|
573
|
+
interface AccordionProps extends Omit<AccordionProps$1, 'children'> {
|
|
574
|
+
title: string;
|
|
575
|
+
children: NonNullable<React.ReactNode>;
|
|
576
|
+
defaultExpanded?: boolean;
|
|
577
|
+
}
|
|
578
|
+
declare const Accordion: React.FC<AccordionProps>;
|
|
579
|
+
|
|
580
|
+
interface PaperProps extends PaperProps$1 {
|
|
581
|
+
variant?: 'elevation' | 'outlined';
|
|
582
|
+
}
|
|
583
|
+
declare const Paper: React.FC<PaperProps>;
|
|
584
|
+
|
|
585
|
+
interface DividerProps extends DividerProps$1 {
|
|
586
|
+
variant?: 'fullWidth' | 'inset' | 'middle';
|
|
587
|
+
}
|
|
588
|
+
declare const Divider: React.FC<DividerProps>;
|
|
589
|
+
|
|
590
|
+
interface LinkProps extends LinkProps$1 {
|
|
591
|
+
underline?: 'none' | 'hover' | 'always';
|
|
592
|
+
}
|
|
593
|
+
declare const Link: React.FC<LinkProps>;
|
|
594
|
+
|
|
595
|
+
interface AppBarProps extends AppBarProps$1 {
|
|
596
|
+
height?: number;
|
|
597
|
+
}
|
|
598
|
+
declare const AppBar: React.FC<AppBarProps>;
|
|
599
|
+
|
|
600
|
+
interface CollapseProps extends CollapseProps$1 {
|
|
601
|
+
/**
|
|
602
|
+
* If `true`, the component will transition in
|
|
603
|
+
*/
|
|
604
|
+
in?: boolean;
|
|
605
|
+
/**
|
|
606
|
+
* The content to collapse
|
|
607
|
+
*/
|
|
608
|
+
children?: React.ReactNode;
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Collapse component - provides a collapse animation
|
|
612
|
+
*
|
|
613
|
+
* @example
|
|
614
|
+
* ```tsx
|
|
615
|
+
* <Collapse in={open}>
|
|
616
|
+
* <Box>Collapsible content</Box>
|
|
617
|
+
* </Collapse>
|
|
618
|
+
* ```
|
|
619
|
+
*/
|
|
620
|
+
declare const Collapse: React.FC<CollapseProps>;
|
|
621
|
+
|
|
622
|
+
type AlertSeverity = 'success' | 'error' | 'warning' | 'info';
|
|
623
|
+
interface AlertProps extends Omit<AlertProps$1, 'severity'> {
|
|
624
|
+
severity?: AlertSeverity;
|
|
625
|
+
/**
|
|
626
|
+
* Title to display above the alert message
|
|
627
|
+
*/
|
|
628
|
+
title?: string;
|
|
629
|
+
}
|
|
630
|
+
declare const Alert: React.FC<AlertProps>;
|
|
631
|
+
|
|
632
|
+
interface SnackbarProps extends Omit<SnackbarProps$1, 'children'> {
|
|
633
|
+
/**
|
|
634
|
+
* Message to display in the snackbar
|
|
635
|
+
*/
|
|
636
|
+
message?: string;
|
|
637
|
+
/**
|
|
638
|
+
* Severity of the alert inside snackbar
|
|
639
|
+
*/
|
|
640
|
+
severity?: AlertSeverity;
|
|
641
|
+
/**
|
|
642
|
+
* Title to display in the alert (optional)
|
|
643
|
+
*/
|
|
644
|
+
title?: string;
|
|
645
|
+
/**
|
|
646
|
+
* Alert variant
|
|
647
|
+
* @default 'filled'
|
|
648
|
+
*/
|
|
649
|
+
variant?: 'filled' | 'standard' | 'outlined';
|
|
650
|
+
/**
|
|
651
|
+
* Callback when snackbar is closed
|
|
652
|
+
*/
|
|
653
|
+
onClose?: () => void;
|
|
654
|
+
/**
|
|
655
|
+
* Children to render instead of message (allows custom content)
|
|
656
|
+
* Must be a ReactElement to match MuiSnackbar requirements
|
|
657
|
+
*/
|
|
658
|
+
children?: React.ReactElement;
|
|
659
|
+
}
|
|
660
|
+
declare const Snackbar: React.FC<SnackbarProps>;
|
|
661
|
+
|
|
662
|
+
interface EmptyStateProps {
|
|
663
|
+
title?: string;
|
|
664
|
+
description?: string;
|
|
665
|
+
icon?: React.ReactNode;
|
|
666
|
+
action?: React.ReactNode;
|
|
667
|
+
}
|
|
668
|
+
declare const EmptyState: React.FC<EmptyStateProps>;
|
|
669
|
+
|
|
670
|
+
interface LoadingProps {
|
|
671
|
+
message?: string;
|
|
672
|
+
size?: number;
|
|
673
|
+
fullScreen?: boolean;
|
|
674
|
+
}
|
|
675
|
+
declare const Loading: React.FC<LoadingProps>;
|
|
676
|
+
|
|
677
|
+
interface AppLoadingProps {
|
|
678
|
+
/**
|
|
679
|
+
* Loading message to display
|
|
680
|
+
* @default "Loading..."
|
|
681
|
+
*/
|
|
682
|
+
message?: string;
|
|
683
|
+
/**
|
|
684
|
+
* Logo source URL or path
|
|
685
|
+
* @default "/icons/logo.png"
|
|
686
|
+
*/
|
|
687
|
+
logo?: string;
|
|
688
|
+
/**
|
|
689
|
+
* Custom styles
|
|
690
|
+
*/
|
|
691
|
+
sx?: any;
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* AppLoading component - Full-screen loading indicator with logo
|
|
695
|
+
*
|
|
696
|
+
* @example
|
|
697
|
+
* ```tsx
|
|
698
|
+
* <AppLoading message="Initializing application..." />
|
|
699
|
+
* ```
|
|
700
|
+
*/
|
|
701
|
+
declare const AppLoading: React.FC<AppLoadingProps>;
|
|
702
|
+
|
|
703
|
+
interface CircularProgressProps extends CircularProgressProps$1 {
|
|
704
|
+
/**
|
|
705
|
+
* Size of the progress indicator
|
|
706
|
+
* @default 40
|
|
707
|
+
*/
|
|
708
|
+
size?: number | string;
|
|
709
|
+
/**
|
|
710
|
+
* Thickness of the progress indicator
|
|
711
|
+
* @default 4
|
|
712
|
+
*/
|
|
713
|
+
thickness?: number;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* CircularProgress component - wrapper around MUI CircularProgress
|
|
717
|
+
*
|
|
718
|
+
* @example
|
|
719
|
+
* ```tsx
|
|
720
|
+
* <CircularProgress size={40} thickness={4} />
|
|
721
|
+
* ```
|
|
722
|
+
*/
|
|
723
|
+
declare const CircularProgress: React.FC<CircularProgressProps>;
|
|
724
|
+
|
|
725
|
+
interface FlowEditorProps extends Omit<ReactFlowProps, 'nodes' | 'edges'> {
|
|
726
|
+
/**
|
|
727
|
+
* Nodes to display in the flow
|
|
728
|
+
*/
|
|
729
|
+
nodes: Node[];
|
|
730
|
+
/**
|
|
731
|
+
* Edges to display in the flow
|
|
732
|
+
*/
|
|
733
|
+
edges: Edge[];
|
|
734
|
+
/**
|
|
735
|
+
* Callback when nodes change
|
|
736
|
+
*/
|
|
737
|
+
onNodesChange?: OnNodesChange;
|
|
738
|
+
/**
|
|
739
|
+
* Callback when edges change
|
|
740
|
+
*/
|
|
741
|
+
onEdgesChange?: OnEdgesChange;
|
|
742
|
+
/**
|
|
743
|
+
* Custom node types
|
|
744
|
+
*/
|
|
745
|
+
nodeTypes?: NodeTypes;
|
|
746
|
+
/**
|
|
747
|
+
* Custom edge types
|
|
748
|
+
*/
|
|
749
|
+
edgeTypes?: EdgeTypes;
|
|
750
|
+
/**
|
|
751
|
+
* Height of the flow editor
|
|
752
|
+
* @default '600px'
|
|
753
|
+
*/
|
|
754
|
+
height?: string | number;
|
|
755
|
+
/**
|
|
756
|
+
* Show background grid
|
|
757
|
+
* @default true
|
|
758
|
+
*/
|
|
759
|
+
showBackground?: boolean;
|
|
760
|
+
/**
|
|
761
|
+
* Background variant
|
|
762
|
+
* @default 'dots'
|
|
763
|
+
*/
|
|
764
|
+
backgroundVariant?: BackgroundVariant;
|
|
765
|
+
/**
|
|
766
|
+
* Show controls
|
|
767
|
+
* @default true
|
|
768
|
+
*/
|
|
769
|
+
showControls?: boolean;
|
|
770
|
+
/**
|
|
771
|
+
* Show minimap
|
|
772
|
+
* @default false
|
|
773
|
+
*/
|
|
774
|
+
showMinimap?: boolean;
|
|
775
|
+
/**
|
|
776
|
+
* Container props
|
|
777
|
+
*/
|
|
778
|
+
containerProps?: BoxProps;
|
|
779
|
+
/**
|
|
780
|
+
* Callback when flow instance is initialized
|
|
781
|
+
*/
|
|
782
|
+
onInit?: (instance: ReactFlowInstance) => void;
|
|
783
|
+
}
|
|
784
|
+
/**
|
|
785
|
+
* FlowEditor component - wrapper around ReactFlow with theme integration
|
|
786
|
+
*
|
|
787
|
+
* @example
|
|
788
|
+
* ```tsx
|
|
789
|
+
* <FlowEditor
|
|
790
|
+
* nodes={nodes}
|
|
791
|
+
* edges={edges}
|
|
792
|
+
* onNodesChange={onNodesChange}
|
|
793
|
+
* onEdgesChange={onEdgesChange}
|
|
794
|
+
* height="500px"
|
|
795
|
+
* showBackground
|
|
796
|
+
* showControls
|
|
797
|
+
* />
|
|
798
|
+
* ```
|
|
799
|
+
*/
|
|
800
|
+
declare const FlowEditor: React.FC<FlowEditorProps>;
|
|
801
|
+
|
|
802
|
+
type CodeEditorLanguage = 'typescript' | 'javascript' | 'json' | 'html' | 'css' | 'python' | 'yaml' | 'markdown' | 'sql' | 'xml' | 'plaintext';
|
|
803
|
+
interface CodeEditorProps {
|
|
804
|
+
/**
|
|
805
|
+
* Current value of the editor
|
|
806
|
+
*/
|
|
807
|
+
value: string;
|
|
808
|
+
/**
|
|
809
|
+
* Callback when value changes
|
|
810
|
+
*/
|
|
811
|
+
onChange: (value: string) => void;
|
|
812
|
+
/**
|
|
813
|
+
* Programming language
|
|
814
|
+
* @default 'typescript'
|
|
815
|
+
*/
|
|
816
|
+
language?: CodeEditorLanguage;
|
|
817
|
+
/**
|
|
818
|
+
* Height of the editor
|
|
819
|
+
* @default '400px'
|
|
820
|
+
*/
|
|
821
|
+
height?: string | number;
|
|
822
|
+
/**
|
|
823
|
+
* Minimum height
|
|
824
|
+
*/
|
|
825
|
+
minHeight?: string | number;
|
|
826
|
+
/**
|
|
827
|
+
* Theme ('light' | 'dark' | 'vs-dark' | 'hc-black')
|
|
828
|
+
* If not provided, will use theme from design system
|
|
829
|
+
*/
|
|
830
|
+
theme?: string;
|
|
831
|
+
/**
|
|
832
|
+
* Show line numbers
|
|
833
|
+
* @default 'on'
|
|
834
|
+
*/
|
|
835
|
+
lineNumbers?: 'on' | 'off' | 'relative' | 'interval';
|
|
836
|
+
/**
|
|
837
|
+
* Editor options (monaco editor options)
|
|
838
|
+
*/
|
|
839
|
+
options?: editor.IStandaloneEditorConstructionOptions;
|
|
840
|
+
/**
|
|
841
|
+
* Callback when editor is mounted
|
|
842
|
+
*/
|
|
843
|
+
onMount?: (editor: editor.IStandaloneCodeEditor, monaco: Monaco) => void;
|
|
844
|
+
/**
|
|
845
|
+
* Callback for validation errors
|
|
846
|
+
*/
|
|
847
|
+
onValidate?: (markers: editor.IMarker[]) => void;
|
|
848
|
+
/**
|
|
849
|
+
* Ref to editor instance
|
|
850
|
+
*/
|
|
851
|
+
editorRef?: React.MutableRefObject<editor.IStandaloneCodeEditor | null>;
|
|
852
|
+
/**
|
|
853
|
+
* Ref to Monaco instance
|
|
854
|
+
*/
|
|
855
|
+
monacoRef?: React.MutableRefObject<Monaco | null>;
|
|
856
|
+
/**
|
|
857
|
+
* Callback when fullscreen state changes
|
|
858
|
+
*/
|
|
859
|
+
onFullscreenChange?: (isFullscreen: boolean) => void;
|
|
860
|
+
/**
|
|
861
|
+
* Props for the container Box.
|
|
862
|
+
*/
|
|
863
|
+
containerProps?: BoxProps;
|
|
864
|
+
/**
|
|
865
|
+
* Additional TypeScript type definitions to add to the editor context.
|
|
866
|
+
* Can be a string with type definitions or an array of type definition strings.
|
|
867
|
+
* Each string will be added as a separate extra lib to Monaco.
|
|
868
|
+
*
|
|
869
|
+
* @example
|
|
870
|
+
* ```tsx
|
|
871
|
+
* <CodeEditor
|
|
872
|
+
* value={code}
|
|
873
|
+
* onChange={setCode}
|
|
874
|
+
* typeDefinitions={`
|
|
875
|
+
* declare interface MyCustomType {
|
|
876
|
+
* id: string;
|
|
877
|
+
* name: string;
|
|
878
|
+
* }
|
|
879
|
+
* `}
|
|
880
|
+
* />
|
|
881
|
+
* ```
|
|
882
|
+
*/
|
|
883
|
+
typeDefinitions?: string | string[];
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* CodeEditor component - wrapper around Monaco Editor matching dynamic-indexer-client implementation
|
|
887
|
+
*
|
|
888
|
+
* @example
|
|
889
|
+
* ```tsx
|
|
890
|
+
* <CodeEditor
|
|
891
|
+
* value={code}
|
|
892
|
+
* onChange={setCode}
|
|
893
|
+
* language="typescript"
|
|
894
|
+
* height="500px"
|
|
895
|
+
* onValidate={(markers) => console.log('Errors:', markers)}
|
|
896
|
+
* />
|
|
897
|
+
* ```
|
|
898
|
+
*/
|
|
899
|
+
declare const CodeEditor: React.FC<CodeEditorProps>;
|
|
900
|
+
|
|
901
|
+
export { Accordion, type AccordionProps, Alert, type AlertProps, type AlertSeverity, AppBar, type AppBarProps, AppLoading, type AppLoadingProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, Card, CardActions, CardContent, CardHeader, type CardProps, Checkbox, type CheckboxProps, Chip, type ChipProps, CircularProgress, type CircularProgressProps, CodeEditor, type CodeEditorLanguage, type CodeEditorProps, Collapse, type CollapseProps, Dialog, type DialogProps, Divider, type DividerProps, Drawer, type DrawerProps, Dropdown, type DropdownProps, EmptyState, type EmptyStateProps, FlowEditor, type FlowEditorProps, IconButton, type IconButtonProps, Link, type LinkProps, List, ListItem, type ListItemProps, type ListProps, Loading, LoadingButton, type LoadingButtonProps, type LoadingProps, Menu, MenuItem, type MenuItemProps, type MenuProps, Pagination, type PaginationProps, Paper, type PaperProps, Progress, type ProgressProps, Radio, type RadioProps, SearchField, type SearchFieldProps, Selector, type SelectorOption, type SelectorProps, type Service, ServiceSelectorButton, type ServiceSelectorButtonProps, Sidebar, SidebarItem, type SidebarItemProps, type SidebarProps, Snackbar, type SnackbarProps, Step, StepButton, type StepButtonProps, StepContent, type StepContentProps, StepLabel, type StepLabelProps, type StepProps, Stepper, type StepperProps, Switch, type SwitchProps, Tab, type TabProps, Table, TableHeader, type TableHeaderProps, type TableProps, TextField, type TextFieldProps, ToggleButton, ToggleButtonGroup, type ToggleButtonGroupProps, type ToggleButtonProps, Tooltip, type TooltipProps, type Workspace, WorkspaceSelectorButton, type WorkspaceSelectorButtonProps, colors, theme };
|