@reopt-ai/opt-ui 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/COMPONENT_CATALOG.md +3000 -0
  3. package/LICENSE +21 -0
  4. package/README.md +244 -0
  5. package/dist/chunk-3GWWZKX7.js +38 -0
  6. package/dist/chunk-AFF2HPE5.cjs +5008 -0
  7. package/dist/chunk-ELWICXYY.js +4745 -0
  8. package/dist/chunk-N4NDU5ET.cjs +4745 -0
  9. package/dist/chunk-ONE3C5RV.cjs +38 -0
  10. package/dist/chunk-QWBHD54V.js +3218 -0
  11. package/dist/chunk-RBM2RNC2.js +5008 -0
  12. package/dist/chunk-X5WCXJAF.cjs +3218 -0
  13. package/dist/core/index.cjs +324 -0
  14. package/dist/core/index.d.cts +5 -0
  15. package/dist/core/index.d.ts +5 -0
  16. package/dist/core/index.js +324 -0
  17. package/dist/docs/01-getting-started.md +129 -0
  18. package/dist/docs/02-components/01-core.md +1841 -0
  19. package/dist/docs/02-components/02-visuals.md +11 -0
  20. package/dist/docs/02-components/03-shells.md +1361 -0
  21. package/dist/docs/02-components/04-surfaces.md +11 -0
  22. package/dist/docs/02-components/index.md +106 -0
  23. package/dist/docs/03-recipes/01-forms.md +471 -0
  24. package/dist/docs/03-recipes/02-dashboards.md +397 -0
  25. package/dist/docs/03-recipes/03-layouts.md +424 -0
  26. package/dist/docs/04-theming.md +232 -0
  27. package/dist/docs/05-migration/01-breaking-changes.md +117 -0
  28. package/dist/docs/05-migration/02-formstore.md +336 -0
  29. package/dist/docs/06-troubleshooting.md +119 -0
  30. package/dist/docs/index.md +71 -0
  31. package/dist/id-registry.cjs +1875 -0
  32. package/dist/id-registry.d.cts +27 -0
  33. package/dist/id-registry.d.ts +27 -0
  34. package/dist/id-registry.js +1875 -0
  35. package/dist/id-registry.json +3799 -0
  36. package/dist/index-BZ_lBlO1.d.ts +474 -0
  37. package/dist/index-BuvxoWHf.d.cts +474 -0
  38. package/dist/index-DlAcuvQp.d.cts +1686 -0
  39. package/dist/index-Slu5hOj1.d.ts +1686 -0
  40. package/dist/index.cjs +9959 -0
  41. package/dist/index.d.cts +2351 -0
  42. package/dist/index.d.ts +2351 -0
  43. package/dist/index.js +9959 -0
  44. package/dist/meta.cjs +6898 -0
  45. package/dist/meta.d.cts +36 -0
  46. package/dist/meta.d.ts +36 -0
  47. package/dist/meta.js +6869 -0
  48. package/dist/shells/index.cjs +65 -0
  49. package/dist/shells/index.d.cts +5 -0
  50. package/dist/shells/index.d.ts +5 -0
  51. package/dist/shells/index.js +65 -0
  52. package/dist/tailwind.css +401 -0
  53. package/dist/theme/presets/default.css +355 -0
  54. package/dist/theme/presets/minimal.css +354 -0
  55. package/dist/theme/presets/mono-dark.css +354 -0
  56. package/dist/theme/presets/natural.css +181 -0
  57. package/dist/theme/presets/pro.css +354 -0
  58. package/dist/types-D4-0lwaE.d.cts +298 -0
  59. package/dist/types-D4-0lwaE.d.ts +298 -0
  60. package/dist/visuals/index.cjs +4 -0
  61. package/dist/visuals/index.d.cts +1 -0
  62. package/dist/visuals/index.d.ts +1 -0
  63. package/dist/visuals/index.js +4 -0
  64. package/package.json +165 -0
@@ -0,0 +1,474 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { l as CommandDef, S as StatCard, u as SelectOption, M as MenuDef, t as NavItemDef, y as ToolbarButtonDef, d as TabDef, q as FaqItem, b as FormFieldDef, D as DeploymentStep, P as ProjectDef, n as EnvGroupDef, B as BranchDef, m as DomainDef, p as FailureItem } from './types-D4-0lwaE.js';
5
+ import '@reopt-ai/opt-charts';
6
+
7
+ /** Localized labels for the command palette component. */
8
+ interface CommandPaletteLabels {
9
+ title?: string;
10
+ description?: string;
11
+ input?: string;
12
+ placeholder?: string;
13
+ list?: string;
14
+ empty?: ReactNode;
15
+ escape?: string;
16
+ }
17
+ /** Props for the command palette component. */
18
+ interface CommandPaletteProps {
19
+ commands: Omit<CommandDef, "action">[];
20
+ open: boolean;
21
+ onOpenChange: (open: boolean) => void;
22
+ onSelect?: (command: Omit<CommandDef, "action">) => void;
23
+ /** Render inline (no dialog overlay). */
24
+ inline?: boolean;
25
+ labels?: CommandPaletteLabels;
26
+ footer?: ReactNode;
27
+ empty?: ReactNode;
28
+ inputTrailing?: ReactNode;
29
+ className?: string;
30
+ }
31
+ /** Renders the command palette component. */
32
+ declare function CommandPalette({ commands, open, onOpenChange, onSelect, inline, labels, footer, empty, inputTrailing, className, }: CommandPaletteProps): react_jsx_runtime.JSX.Element | null;
33
+
34
+ /** Props for the command palette trigger component. */
35
+ interface CommandPaletteTriggerProps {
36
+ commands: Omit<CommandDef, "action">[];
37
+ onSelect?: (command: Omit<CommandDef, "action">) => void;
38
+ labels?: CommandPaletteTriggerLabels;
39
+ }
40
+ /** Localized labels for the command palette trigger component. */
41
+ type CommandPaletteTriggerLabels = CommandPaletteLabels;
42
+ /** Renders the command palette trigger component. */
43
+ declare function CommandPaletteTrigger({ commands, onSelect, labels, }: CommandPaletteTriggerProps): react_jsx_runtime.JSX.Element | null;
44
+
45
+ /** Localized labels for the dashboard grid component. */
46
+ interface DashboardGridLabels {
47
+ ariaLabel?: string;
48
+ }
49
+ /** Props for the dashboard grid component. */
50
+ interface DashboardGridProps {
51
+ stats: StatCard[];
52
+ columns?: number;
53
+ labels?: DashboardGridLabels;
54
+ }
55
+ /** Renders the dashboard grid component. */
56
+ declare function DashboardGrid({ stats, columns, labels: customLabels, }: DashboardGridProps): react_jsx_runtime.JSX.Element;
57
+
58
+ /** Localized labels for the search combobox component. */
59
+ interface SearchComboboxLabels {
60
+ noResults?: string;
61
+ loading?: string;
62
+ }
63
+ /** Props for the search combobox component. */
64
+ interface SearchComboboxProps {
65
+ items: string[];
66
+ placeholder?: string;
67
+ label?: string;
68
+ onSelect?: (item: string) => void;
69
+ labels?: SearchComboboxLabels;
70
+ /** Enable async search mode */
71
+ async?: boolean;
72
+ /** Async search callback (used when async=true) */
73
+ onSearch?: (query: string) => Promise<string[]>;
74
+ /** Debounce ms for async search */
75
+ debounceMs?: number;
76
+ }
77
+ /** Renders the search combobox component. */
78
+ declare function SearchCombobox({ items, placeholder, label, onSelect, labels: customLabels, async: isAsync, onSearch, debounceMs, }: SearchComboboxProps): react_jsx_runtime.JSX.Element;
79
+
80
+ /** Props for the status select component. */
81
+ interface StatusSelectProps {
82
+ options: SelectOption[];
83
+ value?: string;
84
+ onChange?: (value: string) => void;
85
+ label?: string;
86
+ labels?: StatusSelectLabels;
87
+ }
88
+ /** Localized labels for the status select component. */
89
+ interface StatusSelectLabels {
90
+ selectLabel?: string;
91
+ emptyMessage?: string;
92
+ }
93
+ /** Renders the status select component. */
94
+ declare function StatusSelect({ options, value: controlledValue, onChange, label, labels: customLabels, }: StatusSelectProps): react_jsx_runtime.JSX.Element;
95
+
96
+ /** Props for the app menubar component. */
97
+ interface AppMenubarProps {
98
+ menus: MenuDef[];
99
+ labels?: AppMenubarLabels;
100
+ }
101
+ /** Localized labels for the app menubar component. */
102
+ interface AppMenubarLabels {
103
+ ariaLabel?: string;
104
+ }
105
+ /** Renders the app menubar component. */
106
+ declare function AppMenubar({ menus, labels: customLabels }: AppMenubarProps): react_jsx_runtime.JSX.Element | null;
107
+ declare namespace AppMenubar {
108
+ var displayName: string;
109
+ }
110
+
111
+ /** Localized labels for the sidebar nav component. */
112
+ interface SidebarNavLabels {
113
+ ariaLabel?: string;
114
+ }
115
+ /** Props for the sidebar nav component. */
116
+ interface SidebarNavProps {
117
+ items: NavItemDef[];
118
+ labels?: SidebarNavLabels;
119
+ }
120
+ /** Renders the sidebar nav component. */
121
+ declare function SidebarNav({ items, labels: customLabels }: SidebarNavProps): react_jsx_runtime.JSX.Element | null;
122
+
123
+ /** Localized labels for the editor toolbar component. */
124
+ interface EditorToolbarLabels {
125
+ ariaLabel?: string;
126
+ }
127
+ /** Props for the editor toolbar component. */
128
+ interface EditorToolbarProps {
129
+ buttons: ToolbarButtonDef[];
130
+ onAction?: (id: string) => void;
131
+ activeButtons?: string[];
132
+ labels?: EditorToolbarLabels;
133
+ }
134
+ /** Renders the editor toolbar component. */
135
+ declare function EditorToolbar({ buttons, onAction, activeButtons, labels: customLabels, }: EditorToolbarProps): react_jsx_runtime.JSX.Element;
136
+
137
+ /** Localized labels for the content tabs component. */
138
+ interface ContentTabsLabels {
139
+ ariaLabel?: string;
140
+ emptyMessage?: string;
141
+ }
142
+ /** Props for the content tabs component. */
143
+ interface ContentTabsProps {
144
+ tabs: TabDef[];
145
+ defaultTabId?: string;
146
+ labels?: ContentTabsLabels;
147
+ }
148
+ /** Renders the content tabs component. */
149
+ declare function ContentTabs({ tabs, defaultTabId, labels: customLabels, }: ContentTabsProps): react_jsx_runtime.JSX.Element;
150
+
151
+ /** Localized labels for the faq accordion component. */
152
+ interface FaqAccordionLabels {
153
+ ariaLabel?: string;
154
+ emptyMessage?: string;
155
+ }
156
+ /** Props for the faq accordion component. */
157
+ interface FaqAccordionProps {
158
+ items: FaqItem[];
159
+ labels?: FaqAccordionLabels;
160
+ }
161
+ /** Renders the faq accordion component. */
162
+ declare function FaqAccordion({ items, labels: customLabels, }: FaqAccordionProps): react_jsx_runtime.JSX.Element;
163
+
164
+ /** Localized labels for the settings form component. */
165
+ interface SettingsFormLabels {
166
+ formAriaLabel?: string;
167
+ submitButton?: string;
168
+ successMessage?: string;
169
+ }
170
+ /** Props for the settings form component. */
171
+ interface SettingsFormProps {
172
+ fields: FormFieldDef[];
173
+ onSubmit?: (values: Record<string, unknown>) => void;
174
+ labels?: SettingsFormLabels;
175
+ }
176
+ /** Renders the settings form component. */
177
+ declare function SettingsForm({ fields, onSubmit, labels: customLabels, }: SettingsFormProps): react_jsx_runtime.JSX.Element;
178
+
179
+ /** Props for the deployment timeline component. */
180
+ interface DeploymentTimelineProps {
181
+ steps: DeploymentStep[];
182
+ title?: string;
183
+ }
184
+ /** Renders the deployment timeline component. */
185
+ declare function DeploymentTimeline({ steps, title, }: DeploymentTimelineProps): react_jsx_runtime.JSX.Element;
186
+
187
+ /** Props for the project switcher component. */
188
+ interface ProjectSwitcherProps {
189
+ projects: ProjectDef[];
190
+ value?: string;
191
+ onChange?: (id: string) => void;
192
+ placeholder?: string;
193
+ }
194
+ /** Renders the project switcher component. */
195
+ declare function ProjectSwitcher({ projects, value, onChange, placeholder, }: ProjectSwitcherProps): react_jsx_runtime.JSX.Element;
196
+ declare namespace ProjectSwitcher {
197
+ var displayName: string;
198
+ }
199
+
200
+ /** Localized labels for the env panel component. */
201
+ interface EnvPanelLabels {
202
+ varCount?: (count: number) => string;
203
+ envVarsLabel?: (env: string) => string;
204
+ secretBadge?: string;
205
+ }
206
+ /** Props for the env panel component. */
207
+ interface EnvPanelProps {
208
+ groups: EnvGroupDef[];
209
+ labels?: EnvPanelLabels;
210
+ }
211
+ /** Renders the env panel component. */
212
+ declare function EnvPanel({ groups, labels: customLabels }: EnvPanelProps): react_jsx_runtime.JSX.Element;
213
+
214
+ /** Localized labels for the branch select component. */
215
+ interface BranchSelectLabels {
216
+ selectLabel?: string;
217
+ emptySelectionLabel?: string;
218
+ emptyMessage?: string;
219
+ defaultBadge?: string;
220
+ }
221
+ /** Props for the branch select component. */
222
+ interface BranchSelectProps {
223
+ branches: BranchDef[];
224
+ value?: string;
225
+ onChange?: (name: string) => void;
226
+ label?: string;
227
+ labels?: BranchSelectLabels;
228
+ }
229
+ /** Renders the branch select component. */
230
+ declare function BranchSelect({ branches, value: controlledValue, onChange, label, labels: customLabels, }: BranchSelectProps): react_jsx_runtime.JSX.Element;
231
+ declare namespace BranchSelect {
232
+ var displayName: string;
233
+ }
234
+
235
+ /** Localized labels for the domain table component. */
236
+ interface DomainTableLabels {
237
+ domain?: string;
238
+ status?: string;
239
+ ssl?: string;
240
+ redirect?: string;
241
+ added?: string;
242
+ emptyMessage?: string;
243
+ }
244
+ /** Props for the domain table component. */
245
+ interface DomainTableProps {
246
+ domains: DomainDef[];
247
+ title?: string;
248
+ labels?: DomainTableLabels;
249
+ }
250
+ /** Renders the domain table component. */
251
+ declare function DomainTable({ domains, title, labels: customLabels, }: DomainTableProps): react_jsx_runtime.JSX.Element;
252
+
253
+ /**
254
+ * Column definition for DataTable.
255
+ * `accessor` can be a property key for simple lookups or a render function
256
+ * for computed/complex cells.
257
+ */
258
+ interface ColumnDef<T> {
259
+ id: string;
260
+ header: string;
261
+ accessor: keyof T | ((row: T) => ReactNode);
262
+ width?: string;
263
+ align?: "left" | "center" | "right";
264
+ sortable?: boolean;
265
+ /** Show an inline progress bar in the cell. Return a 0-1 ratio. */
266
+ bar?: (row: T) => number;
267
+ /** Bar color class (default: "bg-accent") */
268
+ barColor?: string;
269
+ }
270
+ /** Props for the data table component. */
271
+ interface DataTableProps<T> {
272
+ data: T[];
273
+ columns: ColumnDef<T>[];
274
+ keyExtractor: (row: T) => string;
275
+ title?: string;
276
+ onRowClick?: (row: T) => void;
277
+ emptyMessage?: string;
278
+ /** Highlight a single row by its key */
279
+ activeRowId?: string;
280
+ /** Enable column sorting */
281
+ sortable?: boolean;
282
+ /** Enable row selection with checkboxes */
283
+ selectable?: boolean;
284
+ selectedKeys?: string[];
285
+ onSelectionChange?: (keys: string[]) => void;
286
+ /** Enable expandable rows */
287
+ expandable?: boolean;
288
+ renderExpanded?: (row: T) => ReactNode;
289
+ /** Enable pagination */
290
+ pageSize?: number;
291
+ /** Sticky table header */
292
+ stickyHeader?: boolean;
293
+ /** Enable column resizing via drag handle */
294
+ resizableColumns?: boolean;
295
+ /** External (server-side) sort callback */
296
+ onSort?: (columnId: string, direction: "asc" | "desc" | null) => void;
297
+ className?: string;
298
+ }
299
+ /** Renders the data table component. */
300
+ declare function DataTable<T>({ data, columns, keyExtractor, title, onRowClick, emptyMessage, activeRowId, sortable, selectable, selectedKeys, onSelectionChange, expandable, renderExpanded, pageSize, stickyHeader, resizableColumns, onSort: onSortExternal, className, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
301
+
302
+ /** Defines the toast action shape. */
303
+ interface ToastAction {
304
+ label: string;
305
+ onClick: () => void;
306
+ }
307
+ /** Toast severity. */
308
+ type ToastVariant = "info" | "success" | "warning" | "error";
309
+ /** Defines the toast message shape. */
310
+ interface ToastMessage {
311
+ id: string;
312
+ variant: ToastVariant;
313
+ title?: string;
314
+ message: string;
315
+ duration?: number;
316
+ actions?: ToastAction[];
317
+ }
318
+ /** Options accepted by the imperative `toast()` API. */
319
+ interface ToastOptions {
320
+ variant?: ToastVariant;
321
+ title?: string;
322
+ message: string;
323
+ duration?: number;
324
+ actions?: ToastAction[];
325
+ }
326
+ /** Defines the toast context value shape. */
327
+ interface ToastContextValue {
328
+ toasts: ToastMessage[];
329
+ addToast: (toast: Omit<ToastMessage, "id">) => string;
330
+ removeToast: (id: string) => void;
331
+ }
332
+ /**
333
+ * Imperative toast API. Call from anywhere (no hook required):
334
+ * `toast.success("Saved")`, `toast.error("Failed", { title: "Oops" })`,
335
+ * `toast.dismiss(id)`, `toast.clear()`. Requires a mounted `ToastProvider`.
336
+ */
337
+ declare const toast: ((options: ToastOptions) => string) & {
338
+ info: (message: string, options?: Omit<ToastOptions, "message" | "variant">) => string;
339
+ success: (message: string, options?: Omit<ToastOptions, "message" | "variant">) => string;
340
+ warning: (message: string, options?: Omit<ToastOptions, "message" | "variant">) => string;
341
+ error: (message: string, options?: Omit<ToastOptions, "message" | "variant">) => string;
342
+ dismiss: (id: string) => void;
343
+ clear: () => void;
344
+ };
345
+ /** Props for the toast provider component. */
346
+ interface ToastProviderProps {
347
+ children: ReactNode;
348
+ position?: "top-right" | "top-left" | "bottom-right" | "bottom-left";
349
+ defaultDuration?: number;
350
+ stackLimit?: number;
351
+ }
352
+ /** Renders the toast provider component. */
353
+ declare function ToastProvider({ children, position, defaultDuration, stackLimit, }: ToastProviderProps): react_jsx_runtime.JSX.Element;
354
+ /** Provides toast. */
355
+ declare function useToast(): ToastContextValue;
356
+ interface NotificationToastProps {
357
+ toast: ToastMessage;
358
+ onDismiss: () => void;
359
+ /** Falls back here when the toast itself sets no duration. */
360
+ defaultDuration?: number;
361
+ }
362
+ /** Renders the notification toast component. */
363
+ declare function NotificationToast({ toast, onDismiss, defaultDuration, }: NotificationToastProps): react_jsx_runtime.JSX.Element;
364
+
365
+ interface TimeAgoLabels {
366
+ justNow: string;
367
+ minutesAgo: string;
368
+ hoursAgo: string;
369
+ daysAgo: string;
370
+ }
371
+ /** Localized labels for the failure list component. */
372
+ interface FailureListLabels {
373
+ title?: string;
374
+ emptyMessage?: string;
375
+ moreItems?: string;
376
+ severityLabels?: Partial<Record<"critical" | "error" | "warning", string>>;
377
+ timeAgo?: Partial<TimeAgoLabels>;
378
+ }
379
+ /** Props for the failure list component. */
380
+ interface FailureListProps {
381
+ failures: FailureItem[];
382
+ title?: string;
383
+ maxItems?: number;
384
+ /** Group failures by `group` field */
385
+ grouped?: boolean;
386
+ onFailureClick?: (failure: FailureItem) => void;
387
+ onShowMore?: () => void;
388
+ labels?: FailureListLabels;
389
+ locale?: string;
390
+ loading?: boolean;
391
+ renderActions?: (failure: FailureItem) => ReactNode;
392
+ className?: string;
393
+ }
394
+ /** Renders the failure list component. */
395
+ declare function FailureList({ failures, title, maxItems, grouped, onFailureClick, onShowMore, labels: customLabels, locale, loading, renderActions, className, }: FailureListProps): react_jsx_runtime.JSX.Element;
396
+
397
+ /** Defines the key value entry shape. */
398
+ interface KeyValueEntry {
399
+ id: string;
400
+ key: string;
401
+ value: string;
402
+ isSecret?: boolean;
403
+ }
404
+ /** Localized labels for the key value editor component. */
405
+ interface KeyValueEditorLabels {
406
+ keyPlaceholder?: string;
407
+ valuePlaceholder?: string;
408
+ addButton?: string;
409
+ removeAriaLabel?: string;
410
+ toggleSecretAriaLabel?: string;
411
+ emptyMessage?: string;
412
+ }
413
+ /** Props for the key value editor component. */
414
+ interface KeyValueEditorProps {
415
+ /** Current entries (controlled) */
416
+ value?: KeyValueEntry[];
417
+ /** Initial entries (uncontrolled) */
418
+ defaultValue?: KeyValueEntry[];
419
+ /** Called when entries change */
420
+ onChange?: (entries: KeyValueEntry[]) => void;
421
+ /** Allow toggling secret/password visibility */
422
+ showSecretToggle?: boolean;
423
+ /** Maximum number of entries allowed */
424
+ maxEntries?: number;
425
+ /** Whether entries are read-only */
426
+ readOnly?: boolean;
427
+ /** Custom labels for i18n */
428
+ labels?: KeyValueEditorLabels;
429
+ /** Render custom actions per entry */
430
+ renderActions?: (entry: KeyValueEntry, index: number) => ReactNode;
431
+ /** Validate key on change. Return error message or undefined. */
432
+ validateKey?: (key: string, entries: KeyValueEntry[]) => string | undefined;
433
+ className?: string;
434
+ }
435
+ /** Renders the key value editor component. */
436
+ declare function KeyValueEditor({ value: controlledValue, defaultValue, onChange, showSecretToggle, maxEntries, readOnly, labels: customLabels, renderActions, validateKey, className, }: KeyValueEditorProps): react_jsx_runtime.JSX.Element;
437
+
438
+ /** Defines the workflow canvas step shape. */
439
+ interface WorkflowCanvasStep {
440
+ id: string;
441
+ title: string;
442
+ row: number;
443
+ col: number;
444
+ status?: "idle" | "running" | "success" | "error";
445
+ }
446
+ /** Defines the workflow canvas connection shape. */
447
+ interface WorkflowCanvasConnection {
448
+ from: string;
449
+ to: string;
450
+ label?: string;
451
+ }
452
+ /** Props for the workflow canvas component. */
453
+ interface WorkflowCanvasProps {
454
+ steps: WorkflowCanvasStep[];
455
+ connections?: WorkflowCanvasConnection[];
456
+ rows?: number;
457
+ cols?: number;
458
+ cellSize?: number;
459
+ gap?: number;
460
+ title?: string;
461
+ emptyMessage?: string;
462
+ selectedStepId?: string;
463
+ onSelectStep?: (step: WorkflowCanvasStep) => void;
464
+ onStepMove?: (stepId: string, row: number, col: number) => void;
465
+ renderStep?: (step: WorkflowCanvasStep, selected: boolean) => react.ReactNode;
466
+ className?: string;
467
+ }
468
+ /** Renders the workflow canvas component. */
469
+ declare function WorkflowCanvas({ steps, connections, rows, cols, cellSize, gap, title, emptyMessage, selectedStepId, onSelectStep, onStepMove, renderStep, className, }: WorkflowCanvasProps): react_jsx_runtime.JSX.Element;
470
+ declare namespace WorkflowCanvas {
471
+ var displayName: string;
472
+ }
473
+
474
+ export { toast as $, AppMenubar as A, BranchSelect as B, type ColumnDef as C, DashboardGrid as D, EditorToolbar as E, FailureList as F, type SearchComboboxProps as G, SettingsForm as H, type SettingsFormProps as I, SidebarNav as J, KeyValueEditor as K, type SidebarNavProps as L, StatusSelect as M, NotificationToast as N, type StatusSelectProps as O, ProjectSwitcher as P, type ToastContextValue as Q, type ToastMessage as R, SearchCombobox as S, type ToastAction as T, ToastProvider as U, type ToastProviderProps as V, type ToastVariant as W, WorkflowCanvas as X, type WorkflowCanvasConnection as Y, type WorkflowCanvasProps as Z, type WorkflowCanvasStep as _, type AppMenubarProps as a, useToast as a0, type BranchSelectProps as b, CommandPalette as c, type CommandPaletteProps as d, CommandPaletteTrigger as e, type CommandPaletteTriggerProps as f, ContentTabs as g, type ContentTabsProps as h, type DashboardGridProps as i, DataTable as j, type DataTableProps as k, DeploymentTimeline as l, type DeploymentTimelineProps as m, DomainTable as n, type DomainTableProps as o, type EditorToolbarProps as p, EnvPanel as q, type EnvPanelProps as r, type FailureListLabels as s, type FailureListProps as t, FaqAccordion as u, type FaqAccordionProps as v, type KeyValueEditorLabels as w, type KeyValueEditorProps as x, type KeyValueEntry as y, type ProjectSwitcherProps as z };