@mdxui/do 2.1.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -323
- package/dist/{agents-xcIn2dUB.d.ts → agents-2_r9e9i7.d.ts} +213 -2
- package/dist/app/index.d.ts +347 -0
- package/dist/app/index.js +14 -0
- package/dist/app/index.js.map +1 -0
- package/dist/breadcrumbs-C9Qn3S7d.d.ts +81 -0
- package/dist/capnweb-client-Bq78FtEA.d.ts +229 -0
- package/dist/chunk-3XKYQRXY.js +192 -0
- package/dist/chunk-3XKYQRXY.js.map +1 -0
- package/dist/chunk-4KXVN3EQ.js +56 -0
- package/dist/chunk-4KXVN3EQ.js.map +1 -0
- package/dist/chunk-5SHZZC7L.js +234 -0
- package/dist/chunk-5SHZZC7L.js.map +1 -0
- package/dist/chunk-7UFINK3Q.js +1994 -0
- package/dist/chunk-7UFINK3Q.js.map +1 -0
- package/dist/chunk-JJLAES6W.js +76 -0
- package/dist/chunk-JJLAES6W.js.map +1 -0
- package/dist/chunk-KT52UU3U.js +985 -0
- package/dist/chunk-KT52UU3U.js.map +1 -0
- package/dist/chunk-LJIWB7KE.js +95 -0
- package/dist/chunk-LJIWB7KE.js.map +1 -0
- package/dist/chunk-NA652ART.js +596 -0
- package/dist/chunk-NA652ART.js.map +1 -0
- package/dist/chunk-OVLO7UOH.js +1071 -0
- package/dist/chunk-OVLO7UOH.js.map +1 -0
- package/dist/chunk-VRLUXCLD.js +31 -0
- package/dist/chunk-VRLUXCLD.js.map +1 -0
- package/dist/chunk-WMNT4OIE.js +249 -0
- package/dist/chunk-WMNT4OIE.js.map +1 -0
- package/dist/chunk-Y52IEYVM.js +131 -0
- package/dist/chunk-Y52IEYVM.js.map +1 -0
- package/dist/components/index.d.ts +14 -732
- package/dist/components/index.js +3 -6
- package/dist/config-CxvpD8Y6.d.ts +111 -0
- package/dist/{do-CaQVueZw.d.ts → do-D27i5bU0.d.ts} +32 -33
- package/dist/errors-DratdVIz.d.ts +346 -0
- package/dist/hooks/index.d.ts +450 -691
- package/dist/hooks/index.js +6 -4
- package/dist/hooks/things/index.d.ts +298 -0
- package/dist/hooks/things/index.js +8 -0
- package/dist/hooks/things/index.js.map +1 -0
- package/dist/index.d.ts +62 -989
- package/dist/index.js +12 -839
- package/dist/index.js.map +1 -1
- package/dist/lib/index.d.ts +798 -0
- package/dist/lib/index.js +6 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/providers/index.d.ts +130 -34
- package/dist/providers/index.js +3 -2
- package/dist/query-keys-CZNFikIi.d.ts +153 -0
- package/dist/schemas/index.d.ts +5 -5
- package/dist/schemas/index.js +2 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/{thing-DtI25yZh.d.ts → thing-BF25aUtJ.d.ts} +72 -72
- package/dist/types/index.d.ts +693 -658
- package/dist/types/index.js +1 -2
- package/dist/views/index.d.ts +131 -0
- package/dist/views/index.js +11 -0
- package/dist/views/index.js.map +1 -0
- package/package.json +39 -17
- package/dist/__test-utils__/index.d.ts +0 -399
- package/dist/__test-utils__/index.js +0 -34641
- package/dist/__test-utils__/index.js.map +0 -1
- package/dist/chunk-EEDMN7UF.js +0 -1351
- package/dist/chunk-EEDMN7UF.js.map +0 -1
- package/dist/chunk-G3PMV62Z.js +0 -33
- package/dist/chunk-G3PMV62Z.js.map +0 -1
- package/dist/chunk-NXPXL5NA.js +0 -3789
- package/dist/chunk-NXPXL5NA.js.map +0 -1
- package/dist/chunk-PC5FJY6M.js +0 -20
- package/dist/chunk-PC5FJY6M.js.map +0 -1
- package/dist/chunk-XF6LKY2M.js +0 -445
- package/dist/chunk-XF6LKY2M.js.map +0 -1
- package/dist/magic-string.es-J7BYFTTJ.js +0 -1307
- package/dist/magic-string.es-J7BYFTTJ.js.map +0 -1
|
@@ -1,741 +1,23 @@
|
|
|
1
|
+
export { a as BreadcrumbItemConfig, B as BreadcrumbLinkProps, c as Breadcrumbs, b as BreadcrumbsProps } from '../breadcrumbs-C9Qn3S7d.js';
|
|
1
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
3
|
import * as React from 'react';
|
|
3
|
-
import { LucideIcon } from 'lucide-react';
|
|
4
|
-
import { T as Thing, c as ThingFilter, d as ThingSort, e as ThingPagination } from '../thing-DtI25yZh.js';
|
|
5
|
-
import { a as Workflow, q as WorkflowFilter, m as WorkflowExecution, s as Agent, U as AgentFilter, F as AgentExecution, Q as AgentFeedback } from '../agents-xcIn2dUB.js';
|
|
6
|
-
import 'zod';
|
|
7
|
-
import '../schemas/index.js';
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/** Default sidebar open state */
|
|
20
|
-
defaultSidebarOpen?: boolean;
|
|
21
|
-
/** Controlled sidebar open state */
|
|
22
|
-
sidebarOpen?: boolean;
|
|
23
|
-
/** Callback when sidebar state changes */
|
|
24
|
-
onSidebarOpenChange?: (open: boolean) => void;
|
|
25
|
-
/** Additional class name */
|
|
26
|
-
className?: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Shell context
|
|
30
|
-
*/
|
|
31
|
-
interface ShellContextValue {
|
|
32
|
-
sidebarOpen: boolean;
|
|
33
|
-
setSidebarOpen: (open: boolean) => void;
|
|
34
|
-
toggleSidebar: () => void;
|
|
35
|
-
}
|
|
36
|
-
declare function useShell(): ShellContextValue;
|
|
37
|
-
/**
|
|
38
|
-
* DOShell - Main layout shell for the admin interface
|
|
39
|
-
*
|
|
40
|
-
* Provides:
|
|
41
|
-
* - Collapsible sidebar
|
|
42
|
-
* - Header area
|
|
43
|
-
* - Main content area with proper scrolling
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```tsx
|
|
47
|
-
* <DOShell
|
|
48
|
-
* sidebar={<DOSidebar />}
|
|
49
|
-
* header={<DOHeader />}
|
|
50
|
-
* >
|
|
51
|
-
* <ThingsBrowser />
|
|
52
|
-
* </DOShell>
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
declare function DOShell({ sidebar, header, children, defaultSidebarOpen, sidebarOpen: controlledSidebarOpen, onSidebarOpenChange, className, }: DOShellProps): react_jsx_runtime.JSX.Element;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Navigation item definition
|
|
59
|
-
*/
|
|
60
|
-
interface NavItem {
|
|
61
|
-
/** Item ID */
|
|
62
|
-
id: string;
|
|
63
|
-
/** Item label */
|
|
64
|
-
label: string;
|
|
65
|
-
/** Item icon */
|
|
66
|
-
icon?: LucideIcon;
|
|
67
|
-
/** URL to navigate to */
|
|
68
|
-
href?: string;
|
|
69
|
-
/** Child items */
|
|
70
|
-
children?: NavItem[];
|
|
71
|
-
/** Is this item active? */
|
|
72
|
-
active?: boolean;
|
|
73
|
-
/** Badge content */
|
|
74
|
-
badge?: string | number;
|
|
75
|
-
/** Is this item disabled? */
|
|
76
|
-
disabled?: boolean;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Props for DOSidebar
|
|
80
|
-
*/
|
|
81
|
-
interface DOSidebarProps {
|
|
82
|
-
/** Header content (logo, title) */
|
|
83
|
-
header?: React.ReactNode;
|
|
84
|
-
/** Navigation items */
|
|
85
|
-
items?: NavItem[];
|
|
86
|
-
/** Currently active item ID */
|
|
87
|
-
activeItem?: string;
|
|
88
|
-
/** Footer content */
|
|
89
|
-
footer?: React.ReactNode;
|
|
90
|
-
/** Callback when item is clicked */
|
|
91
|
-
onItemClick?: (item: NavItem) => void;
|
|
92
|
-
/** Additional class name */
|
|
93
|
-
className?: string;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Default navigation items for DO admin
|
|
97
|
-
*/
|
|
98
|
-
declare const defaultNavItems: NavItem[];
|
|
99
|
-
/**
|
|
100
|
-
* DOSidebar - Navigation sidebar for the admin interface
|
|
101
|
-
*/
|
|
102
|
-
declare function DOSidebar({ header, items, activeItem, footer, onItemClick, className, }: DOSidebarProps): react_jsx_runtime.JSX.Element;
|
|
103
|
-
/**
|
|
104
|
-
* DOSidebarHeader - Logo and title for sidebar
|
|
105
|
-
*/
|
|
106
|
-
interface DOSidebarHeaderProps {
|
|
107
|
-
/** Logo element or URL */
|
|
108
|
-
logo?: React.ReactNode | string;
|
|
109
|
-
/** Title */
|
|
110
|
-
title?: string;
|
|
111
|
-
/** Subtitle */
|
|
112
|
-
subtitle?: string;
|
|
113
|
-
/** Additional class name */
|
|
114
|
-
className?: string;
|
|
115
|
-
}
|
|
116
|
-
declare function DOSidebarHeader({ logo, title, subtitle, className }: DOSidebarHeaderProps): react_jsx_runtime.JSX.Element;
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Props for DOHeader
|
|
120
|
-
*/
|
|
121
|
-
interface DOHeaderProps {
|
|
122
|
-
/** Title to display */
|
|
123
|
-
title?: string;
|
|
124
|
-
/** Breadcrumbs */
|
|
125
|
-
breadcrumbs?: Array<{
|
|
126
|
-
label: string;
|
|
127
|
-
href?: string;
|
|
128
|
-
}>;
|
|
129
|
-
/** Show search input */
|
|
130
|
-
showSearch?: boolean;
|
|
131
|
-
/** Search placeholder */
|
|
132
|
-
searchPlaceholder?: string;
|
|
133
|
-
/** Search value */
|
|
134
|
-
searchValue?: string;
|
|
135
|
-
/** Callback when search changes */
|
|
136
|
-
onSearchChange?: (value: string) => void;
|
|
137
|
-
/** Actions to show on the right */
|
|
138
|
-
actions?: React.ReactNode;
|
|
139
|
-
/** User info */
|
|
140
|
-
user?: {
|
|
141
|
-
name: string;
|
|
142
|
-
email?: string;
|
|
143
|
-
avatar?: string;
|
|
144
|
-
};
|
|
145
|
-
/** Callback when user menu item is clicked */
|
|
146
|
-
onUserMenuClick?: (action: 'profile' | 'settings' | 'logout') => void;
|
|
147
|
-
/** Additional class name */
|
|
148
|
-
className?: string;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* DOHeader - Header bar for the admin interface
|
|
152
|
-
*/
|
|
153
|
-
declare function DOHeader({ title, breadcrumbs, showSearch, searchPlaceholder, searchValue, onSearchChange, actions, user, onUserMenuClick, className, }: DOHeaderProps): react_jsx_runtime.JSX.Element;
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Sync state values for the SyncStatusIndicator component
|
|
157
|
-
*
|
|
158
|
-
* Note: This is separate from the SyncStatus type in types/do.ts which
|
|
159
|
-
* represents backend sync states. This type is for the UI indicator component.
|
|
160
|
-
*/
|
|
161
|
-
type SyncIndicatorState = 'connected' | 'disconnected' | 'syncing';
|
|
162
|
-
/**
|
|
163
|
-
* Props for SyncStatusIndicator
|
|
164
|
-
*/
|
|
165
|
-
interface SyncStatusIndicatorProps {
|
|
166
|
-
/** Current sync state */
|
|
167
|
-
state?: SyncIndicatorState;
|
|
168
|
-
/** Whether to show label text */
|
|
169
|
-
showLabel?: boolean;
|
|
170
|
-
/** Label text override */
|
|
171
|
-
label?: string;
|
|
172
|
-
/** Additional class name */
|
|
173
|
-
className?: string;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* SyncStatusIndicator - Connection/sync status indicator
|
|
177
|
-
*
|
|
178
|
-
* Displays the current connection state with appropriate icon and color.
|
|
179
|
-
* Used in the header to show real-time sync status.
|
|
180
|
-
*
|
|
181
|
-
* @example
|
|
182
|
-
* ```tsx
|
|
183
|
-
* <SyncStatusIndicator state="connected" />
|
|
184
|
-
* <SyncStatusIndicator state="syncing" showLabel />
|
|
185
|
-
* <SyncStatusIndicator state="disconnected" label="Offline" />
|
|
186
|
-
* ```
|
|
187
|
-
*/
|
|
188
|
-
declare function SyncStatusIndicator({ state, showLabel, label, className, }: SyncStatusIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Stat card data
|
|
192
|
-
*/
|
|
193
|
-
interface StatCardData {
|
|
194
|
-
/** Card title */
|
|
195
|
-
title: string;
|
|
196
|
-
/** Current value */
|
|
197
|
-
value: number;
|
|
198
|
-
/** Previous value (for trend calculation) */
|
|
199
|
-
previousValue?: number;
|
|
200
|
-
/** Icon */
|
|
201
|
-
icon?: LucideIcon;
|
|
202
|
-
/** Card color */
|
|
203
|
-
color?: 'default' | 'primary' | 'success' | 'warning' | 'destructive';
|
|
204
|
-
/** Link */
|
|
205
|
-
href?: string;
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Props for StatsCards
|
|
209
|
-
*/
|
|
210
|
-
interface StatsCardsProps {
|
|
211
|
-
/** Stats to display */
|
|
212
|
-
stats: StatCardData[];
|
|
213
|
-
/** Loading state */
|
|
214
|
-
loading?: boolean;
|
|
215
|
-
/** Callback when card is clicked */
|
|
216
|
-
onCardClick?: (stat: StatCardData) => void;
|
|
217
|
-
/** Additional class name */
|
|
218
|
-
className?: string;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Default stats for DO admin dashboard
|
|
222
|
-
*/
|
|
223
|
-
declare const defaultStats: StatCardData[];
|
|
224
|
-
/**
|
|
225
|
-
* StatsCards - Dashboard statistics cards
|
|
226
|
-
*/
|
|
227
|
-
declare function StatsCards({ stats, loading, onCardClick, className }: StatsCardsProps): react_jsx_runtime.JSX.Element;
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Props for ThingsList
|
|
231
|
-
*/
|
|
232
|
-
interface ThingsListProps {
|
|
233
|
-
/** Things to display */
|
|
234
|
-
things: Thing[];
|
|
235
|
-
/** Total count */
|
|
236
|
-
total: number;
|
|
237
|
-
/** Loading state */
|
|
238
|
-
loading?: boolean;
|
|
239
|
-
/** Selected thing IDs */
|
|
240
|
-
selectedIds?: string[];
|
|
241
|
-
/** Current filter */
|
|
242
|
-
filter?: ThingFilter;
|
|
243
|
-
/** Current sort */
|
|
244
|
-
sort?: ThingSort;
|
|
245
|
-
/** Current pagination */
|
|
246
|
-
pagination?: ThingPagination;
|
|
247
|
-
/** Available types for filtering */
|
|
248
|
-
availableTypes?: string[];
|
|
249
|
-
/** Callback when filter changes */
|
|
250
|
-
onFilterChange?: (filter: ThingFilter) => void;
|
|
251
|
-
/** Callback when sort changes */
|
|
252
|
-
onSortChange?: (sort: ThingSort) => void;
|
|
253
|
-
/** Callback when pagination changes */
|
|
254
|
-
onPaginationChange?: (pagination: ThingPagination) => void;
|
|
255
|
-
/** Callback when thing is clicked */
|
|
256
|
-
onThingClick?: (thing: Thing) => void;
|
|
257
|
-
/** Callback when thing is double-clicked (edit shortcut) */
|
|
258
|
-
onThingDoubleClick?: (thing: Thing) => void;
|
|
259
|
-
/** Callback when thing is selected */
|
|
260
|
-
onThingSelect?: (thing: Thing, selected: boolean) => void;
|
|
261
|
-
/** Callback for action */
|
|
262
|
-
onAction?: (thing: Thing, action: 'view' | 'edit' | 'delete' | 'history') => void;
|
|
263
|
-
/** Callback to create new thing */
|
|
264
|
-
onCreate?: () => void;
|
|
265
|
-
/** Additional class name */
|
|
266
|
-
className?: string;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* ThingsList - List view for Things
|
|
270
|
-
*
|
|
271
|
-
* A data table for displaying and managing Things with search, filter,
|
|
272
|
-
* pagination, and row actions. Includes proper data-testid attributes
|
|
273
|
-
* for Playwright E2E testing.
|
|
274
|
-
*
|
|
275
|
-
* @example
|
|
276
|
-
* ```tsx
|
|
277
|
-
* <ThingsList
|
|
278
|
-
* things={thingsData}
|
|
279
|
-
* total={100}
|
|
280
|
-
* onCreate={() => openCreateDialog()}
|
|
281
|
-
* onAction={(thing, action) => handleAction(thing, action)}
|
|
282
|
-
* />
|
|
283
|
-
* ```
|
|
284
|
-
*/
|
|
285
|
-
declare function ThingsList({ things, total, loading, selectedIds, filter, sort, pagination, availableTypes, onFilterChange, onSortChange, onPaginationChange, onThingClick, onThingDoubleClick, onThingSelect, onAction, onCreate, className, }: ThingsListProps): react_jsx_runtime.JSX.Element;
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* Form data for creating or updating a Thing
|
|
289
|
-
*/
|
|
290
|
-
interface ThingFormData {
|
|
291
|
-
type: string;
|
|
292
|
-
name: string;
|
|
293
|
-
description: string;
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Validation errors for form fields
|
|
297
|
-
*/
|
|
298
|
-
interface ThingFormErrors {
|
|
299
|
-
type?: string;
|
|
300
|
-
name?: string;
|
|
301
|
-
description?: string;
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Props for ThingForm component
|
|
305
|
-
*/
|
|
306
|
-
interface ThingFormProps {
|
|
307
|
-
/** Existing thing for edit mode (undefined = create mode) */
|
|
308
|
-
thing?: Thing;
|
|
309
|
-
/** Called when form is submitted with valid data */
|
|
310
|
-
onSubmit: (data: ThingFormData) => void | Promise<void>;
|
|
311
|
-
/** Called when cancel button is clicked */
|
|
312
|
-
onCancel: () => void;
|
|
313
|
-
/** Whether form is currently submitting */
|
|
314
|
-
isSubmitting?: boolean;
|
|
315
|
-
/** Additional class name */
|
|
316
|
-
className?: string;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* ThingForm - Form for creating or editing Things
|
|
320
|
-
*
|
|
321
|
-
* Provides validated input fields for Thing data with proper test IDs
|
|
322
|
-
* for Playwright E2E testing.
|
|
323
|
-
*
|
|
324
|
-
* @example
|
|
325
|
-
* ```tsx
|
|
326
|
-
* <ThingForm
|
|
327
|
-
* onSubmit={(data) => createThing(data)}
|
|
328
|
-
* onCancel={() => closeDialog()}
|
|
329
|
-
* />
|
|
330
|
-
* ```
|
|
331
|
-
*/
|
|
332
|
-
declare function ThingForm({ thing, onSubmit, onCancel, isSubmitting, className, }: ThingFormProps): react_jsx_runtime.JSX.Element;
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Props for ThingFormDialog component
|
|
336
|
-
*/
|
|
337
|
-
interface ThingFormDialogProps {
|
|
338
|
-
/** Whether the dialog is open */
|
|
339
|
-
open: boolean;
|
|
340
|
-
/** The thing being edited (undefined = create mode) */
|
|
341
|
-
thing?: Thing;
|
|
342
|
-
/** Called when dialog should close (cancel, escape, submit success) */
|
|
343
|
-
onClose: () => void;
|
|
344
|
-
/** Called when form is submitted with valid data */
|
|
345
|
-
onSubmit: (data: ThingFormData) => void | Promise<void>;
|
|
346
|
-
/** Whether form is currently submitting */
|
|
347
|
-
isSubmitting?: boolean;
|
|
348
|
-
}
|
|
349
|
-
/**
|
|
350
|
-
* ThingFormDialog - Dialog wrapper for ThingForm
|
|
351
|
-
*
|
|
352
|
-
* Provides a modal dialog for creating or editing Things with proper
|
|
353
|
-
* accessibility and test IDs for Playwright E2E testing.
|
|
354
|
-
*
|
|
355
|
-
* @example
|
|
356
|
-
* ```tsx
|
|
357
|
-
* <ThingFormDialog
|
|
358
|
-
* open={isDialogOpen}
|
|
359
|
-
* onClose={() => setIsDialogOpen(false)}
|
|
360
|
-
* onSubmit={async (data) => {
|
|
361
|
-
* await createThing(data)
|
|
362
|
-
* setIsDialogOpen(false)
|
|
363
|
-
* }}
|
|
364
|
-
* />
|
|
365
|
-
* ```
|
|
366
|
-
*/
|
|
367
|
-
declare function ThingFormDialog({ open, thing, onClose, onSubmit, isSubmitting, }: ThingFormDialogProps): react_jsx_runtime.JSX.Element | null;
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* Props for ConfirmDialog component
|
|
371
|
-
*/
|
|
372
|
-
interface ConfirmDialogProps {
|
|
373
|
-
/** Whether the dialog is open */
|
|
374
|
-
open: boolean;
|
|
375
|
-
/** Dialog title */
|
|
376
|
-
title: string;
|
|
377
|
-
/** Dialog message/description */
|
|
378
|
-
message: string;
|
|
379
|
-
/** Text for the confirm button */
|
|
380
|
-
confirmText?: string;
|
|
381
|
-
/** Text for the cancel button */
|
|
382
|
-
cancelText?: string;
|
|
383
|
-
/** Whether the action is destructive (shows red confirm button) */
|
|
384
|
-
destructive?: boolean;
|
|
385
|
-
/** Called when confirm button is clicked */
|
|
386
|
-
onConfirm: () => void | Promise<void>;
|
|
387
|
-
/** Called when cancel button is clicked or dialog is dismissed */
|
|
388
|
-
onCancel: () => void;
|
|
389
|
-
/** Whether the confirm action is in progress */
|
|
390
|
-
isConfirming?: boolean;
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* ConfirmDialog - Reusable confirmation dialog
|
|
394
|
-
*
|
|
395
|
-
* A modal dialog for confirming destructive or important actions.
|
|
396
|
-
* Provides proper accessibility and test IDs for Playwright E2E testing.
|
|
397
|
-
*
|
|
398
|
-
* @example
|
|
399
|
-
* ```tsx
|
|
400
|
-
* <ConfirmDialog
|
|
401
|
-
* open={isDeleteDialogOpen}
|
|
402
|
-
* title="Delete Thing"
|
|
403
|
-
* message="Are you sure you want to delete this Thing? This action cannot be undone."
|
|
404
|
-
* confirmText="Delete"
|
|
405
|
-
* destructive
|
|
406
|
-
* onConfirm={async () => {
|
|
407
|
-
* await deleteThing()
|
|
408
|
-
* setIsDeleteDialogOpen(false)
|
|
409
|
-
* }}
|
|
410
|
-
* onCancel={() => setIsDeleteDialogOpen(false)}
|
|
411
|
-
* />
|
|
412
|
-
* ```
|
|
413
|
-
*/
|
|
414
|
-
declare function ConfirmDialog({ open, title, message, confirmText, cancelText, destructive, onConfirm, onCancel, isConfirming, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element | null;
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Toast type for different notification styles
|
|
418
|
-
*/
|
|
419
|
-
type ToastType = 'success' | 'error' | 'info' | 'warning';
|
|
420
|
-
/**
|
|
421
|
-
* Toast notification data
|
|
422
|
-
*/
|
|
423
|
-
interface Toast {
|
|
424
|
-
id: string;
|
|
425
|
-
type: ToastType;
|
|
426
|
-
message: string;
|
|
427
|
-
duration?: number;
|
|
428
|
-
action?: {
|
|
429
|
-
label: string;
|
|
430
|
-
onClick: () => void;
|
|
431
|
-
};
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* Props for ToastNotification component
|
|
435
|
-
*/
|
|
436
|
-
interface ToastNotificationProps {
|
|
437
|
-
toast: Toast;
|
|
438
|
-
onDismiss: (id: string) => void;
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Props for ToastContainer component
|
|
442
|
-
*/
|
|
443
|
-
interface ToastContainerProps {
|
|
444
|
-
toasts: Toast[];
|
|
445
|
-
onDismiss: (id: string) => void;
|
|
446
|
-
position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center';
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* ToastContainer - Container for displaying toast notifications
|
|
450
|
-
*
|
|
451
|
-
* @example
|
|
452
|
-
* ```tsx
|
|
453
|
-
* const [toasts, setToasts] = useState<Toast[]>([])
|
|
454
|
-
*
|
|
455
|
-
* const addToast = (type: ToastType, message: string) => {
|
|
456
|
-
* const id = crypto.randomUUID()
|
|
457
|
-
* setToasts((prev) => [...prev, { id, type, message }])
|
|
458
|
-
* setTimeout(() => removeToast(id), 5000)
|
|
459
|
-
* }
|
|
460
|
-
*
|
|
461
|
-
* const removeToast = (id: string) => {
|
|
462
|
-
* setToasts((prev) => prev.filter((t) => t.id !== id))
|
|
463
|
-
* }
|
|
464
|
-
*
|
|
465
|
-
* return (
|
|
466
|
-
* <>
|
|
467
|
-
* <button onClick={() => addToast('success', 'Created!')}>
|
|
468
|
-
* Create
|
|
469
|
-
* </button>
|
|
470
|
-
* <ToastContainer toasts={toasts} onDismiss={removeToast} />
|
|
471
|
-
* </>
|
|
472
|
-
* )
|
|
473
|
-
* ```
|
|
474
|
-
*/
|
|
475
|
-
declare function ToastContainer({ toasts, onDismiss, position, }: ToastContainerProps): react_jsx_runtime.JSX.Element | null;
|
|
476
|
-
/**
|
|
477
|
-
* Toast context for global toast management
|
|
478
|
-
*/
|
|
479
|
-
interface ToastContextValue {
|
|
480
|
-
addToast: (type: ToastType, message: string, options?: {
|
|
481
|
-
duration?: number;
|
|
482
|
-
action?: Toast['action'];
|
|
483
|
-
}) => void;
|
|
484
|
-
removeToast: (id: string) => void;
|
|
485
|
-
}
|
|
486
|
-
/**
|
|
487
|
-
* useToast hook for accessing toast functions
|
|
488
|
-
*/
|
|
489
|
-
declare function useToast(): ToastContextValue;
|
|
490
|
-
/**
|
|
491
|
-
* Props for ToastProvider
|
|
492
|
-
*/
|
|
493
|
-
interface ToastProviderProps {
|
|
494
|
-
children: React.ReactNode;
|
|
495
|
-
position?: ToastContainerProps['position'];
|
|
496
|
-
defaultDuration?: number;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* ToastProvider - Provides toast context to children
|
|
500
|
-
*
|
|
501
|
-
* @example
|
|
502
|
-
* ```tsx
|
|
503
|
-
* function App() {
|
|
504
|
-
* return (
|
|
505
|
-
* <ToastProvider>
|
|
506
|
-
* <MyComponent />
|
|
507
|
-
* </ToastProvider>
|
|
508
|
-
* )
|
|
509
|
-
* }
|
|
510
|
-
*
|
|
511
|
-
* function MyComponent() {
|
|
512
|
-
* const { addToast } = useToast()
|
|
513
|
-
*
|
|
514
|
-
* return (
|
|
515
|
-
* <button onClick={() => addToast('success', 'Saved!')}>
|
|
516
|
-
* Save
|
|
517
|
-
* </button>
|
|
518
|
-
* )
|
|
519
|
-
* }
|
|
520
|
-
* ```
|
|
521
|
-
*/
|
|
522
|
-
declare function ToastProvider({ children, position, defaultDuration, }: ToastProviderProps): react_jsx_runtime.JSX.Element;
|
|
523
|
-
|
|
524
|
-
/**
|
|
525
|
-
* Props for ThingsPage component
|
|
526
|
-
*/
|
|
527
|
-
interface ThingsPageProps {
|
|
528
|
-
/** Initial filter */
|
|
529
|
-
initialFilter?: ThingFilter;
|
|
530
|
-
/** Initial sort */
|
|
531
|
-
initialSort?: ThingSort;
|
|
532
|
-
/** Initial pagination */
|
|
533
|
-
initialPagination?: ThingPagination;
|
|
534
|
-
/** Available types for filtering */
|
|
535
|
-
availableTypes?: string[];
|
|
536
|
-
/** Callback when URL params should change (for routing) */
|
|
537
|
-
onParamsChange?: (params: {
|
|
538
|
-
filter?: ThingFilter;
|
|
539
|
-
sort?: ThingSort;
|
|
540
|
-
pagination?: ThingPagination;
|
|
541
|
-
}) => void;
|
|
542
|
-
/** Additional class name */
|
|
543
|
-
className?: string;
|
|
544
|
-
}
|
|
545
|
-
/**
|
|
546
|
-
* ThingsPage - Complete Things management page with CRUD operations
|
|
547
|
-
*
|
|
548
|
-
* A connected component that wires up ThingsList with create/edit/delete
|
|
549
|
-
* dialogs and toast notifications. Uses the Things hooks for data fetching
|
|
550
|
-
* and mutations.
|
|
551
|
-
*
|
|
552
|
-
* @example
|
|
553
|
-
* ```tsx
|
|
554
|
-
* // Basic usage
|
|
555
|
-
* <ThingsPage />
|
|
556
|
-
*
|
|
557
|
-
* // With initial filter
|
|
558
|
-
* <ThingsPage
|
|
559
|
-
* initialFilter={{ type: 'Task' }}
|
|
560
|
-
* onParamsChange={(params) => updateURL(params)}
|
|
561
|
-
* />
|
|
562
|
-
* ```
|
|
563
|
-
*/
|
|
564
|
-
declare function ThingsPage(props: ThingsPageProps): react_jsx_runtime.JSX.Element;
|
|
565
|
-
|
|
566
|
-
/**
|
|
567
|
-
* Props for WorkflowsList
|
|
568
|
-
*/
|
|
569
|
-
interface WorkflowsListProps {
|
|
570
|
-
/** Workflows to display */
|
|
571
|
-
workflows: Workflow[];
|
|
572
|
-
/** Total count */
|
|
573
|
-
total: number;
|
|
574
|
-
/** Loading state */
|
|
575
|
-
loading?: boolean;
|
|
576
|
-
/** Current filter */
|
|
577
|
-
filter?: WorkflowFilter;
|
|
578
|
-
/** Callback when filter changes */
|
|
579
|
-
onFilterChange?: (filter: WorkflowFilter) => void;
|
|
580
|
-
/** Callback when workflow is clicked */
|
|
581
|
-
onWorkflowClick?: (workflow: Workflow) => void;
|
|
582
|
-
/** Callback when trigger button is clicked */
|
|
583
|
-
onTriggerWorkflow?: (workflow: Workflow) => void;
|
|
584
|
-
/** Callback to create new workflow */
|
|
585
|
-
onCreate?: () => void;
|
|
586
|
-
/** Additional class name */
|
|
587
|
-
className?: string;
|
|
588
|
-
}
|
|
589
|
-
/**
|
|
590
|
-
* WorkflowsList - List view for Workflows
|
|
591
|
-
*/
|
|
592
|
-
declare function WorkflowsList({ workflows, total, loading, filter, onFilterChange, onWorkflowClick, onTriggerWorkflow, onCreate, className, }: WorkflowsListProps): react_jsx_runtime.JSX.Element;
|
|
593
|
-
|
|
594
|
-
/**
|
|
595
|
-
* Props for WorkflowExecutionView
|
|
596
|
-
*/
|
|
597
|
-
interface WorkflowExecutionViewProps {
|
|
598
|
-
/** The workflow being executed */
|
|
599
|
-
workflow: Workflow;
|
|
600
|
-
/** Current execution (if viewing a specific one) */
|
|
601
|
-
execution?: WorkflowExecution | null;
|
|
602
|
-
/** List of executions for the workflow */
|
|
603
|
-
executions?: WorkflowExecution[];
|
|
604
|
-
/** Loading state */
|
|
605
|
-
loading?: boolean;
|
|
606
|
-
/** Selected tab */
|
|
607
|
-
activeTab?: 'details' | 'executions';
|
|
608
|
-
/** Callback when tab changes */
|
|
609
|
-
onTabChange?: (tab: 'details' | 'executions') => void;
|
|
610
|
-
/** Callback when execution is clicked */
|
|
611
|
-
onExecutionClick?: (execution: WorkflowExecution) => void;
|
|
612
|
-
/** Callback to cancel execution */
|
|
613
|
-
onCancelExecution?: (executionId: string) => void;
|
|
614
|
-
/** Callback to retry execution */
|
|
615
|
-
onRetryExecution?: (execution: WorkflowExecution) => void;
|
|
616
|
-
/** Additional class name */
|
|
617
|
-
className?: string;
|
|
618
|
-
}
|
|
619
|
-
/**
|
|
620
|
-
* WorkflowExecutionView - View for workflow executions
|
|
621
|
-
*/
|
|
622
|
-
declare function WorkflowExecutionView({ workflow, execution, executions, loading, activeTab, onTabChange, onExecutionClick, onCancelExecution, onRetryExecution, className, }: WorkflowExecutionViewProps): react_jsx_runtime.JSX.Element;
|
|
623
|
-
|
|
624
|
-
/**
|
|
625
|
-
* Props for TriggerWorkflowDialog
|
|
626
|
-
*/
|
|
627
|
-
interface TriggerWorkflowDialogProps {
|
|
628
|
-
/** The workflow to trigger */
|
|
629
|
-
workflow: Workflow;
|
|
630
|
-
/** Whether the dialog is open */
|
|
631
|
-
open: boolean;
|
|
632
|
-
/** Loading state (while triggering) */
|
|
633
|
-
loading?: boolean;
|
|
634
|
-
/** Callback to close the dialog */
|
|
635
|
-
onClose: () => void;
|
|
636
|
-
/** Callback to trigger the workflow */
|
|
637
|
-
onTrigger: (input?: Record<string, unknown>) => void;
|
|
638
|
-
/** Additional class name */
|
|
639
|
-
className?: string;
|
|
640
|
-
}
|
|
641
|
-
/**
|
|
642
|
-
* TriggerWorkflowDialog - Dialog for manually triggering a workflow
|
|
643
|
-
*/
|
|
644
|
-
declare function TriggerWorkflowDialog({ workflow, open, loading, onClose, onTrigger, className, }: TriggerWorkflowDialogProps): react_jsx_runtime.JSX.Element | null;
|
|
645
|
-
|
|
646
|
-
/**
|
|
647
|
-
* Props for AgentsGrid
|
|
648
|
-
*/
|
|
649
|
-
interface AgentsGridProps {
|
|
650
|
-
/** Agents to display */
|
|
651
|
-
agents: Agent[];
|
|
652
|
-
/** Total count */
|
|
653
|
-
total: number;
|
|
654
|
-
/** Loading state */
|
|
655
|
-
loading?: boolean;
|
|
656
|
-
/** Current filter */
|
|
657
|
-
filter?: AgentFilter;
|
|
658
|
-
/** Callback when filter changes */
|
|
659
|
-
onFilterChange?: (filter: AgentFilter) => void;
|
|
660
|
-
/** Callback when agent card is clicked */
|
|
661
|
-
onAgentClick?: (agent: Agent) => void;
|
|
662
|
-
/** Callback to create new agent */
|
|
663
|
-
onCreate?: () => void;
|
|
664
|
-
/** Additional class name */
|
|
665
|
-
className?: string;
|
|
666
|
-
}
|
|
667
|
-
/**
|
|
668
|
-
* AgentsGrid - Grid view for Agents
|
|
669
|
-
*/
|
|
670
|
-
declare function AgentsGrid({ agents, total, loading, filter, onFilterChange, onAgentClick, onCreate, className, }: AgentsGridProps): react_jsx_runtime.JSX.Element;
|
|
671
|
-
|
|
672
|
-
/**
|
|
673
|
-
* Props for AgentExecutePanel
|
|
674
|
-
*/
|
|
675
|
-
interface AgentExecutePanelProps {
|
|
676
|
-
/** The agent to execute */
|
|
677
|
-
agent: Agent;
|
|
678
|
-
/** Whether execution is in progress */
|
|
679
|
-
executing?: boolean;
|
|
680
|
-
/** Current execution result */
|
|
681
|
-
execution?: AgentExecution | null;
|
|
682
|
-
/** Error message */
|
|
683
|
-
error?: string | null;
|
|
684
|
-
/** Callback to execute the agent */
|
|
685
|
-
onExecute: (task: string, context?: Record<string, unknown>) => void;
|
|
686
|
-
/** Callback to clear results */
|
|
687
|
-
onClear?: () => void;
|
|
688
|
-
/** Additional class name */
|
|
689
|
-
className?: string;
|
|
690
|
-
}
|
|
691
|
-
/**
|
|
692
|
-
* AgentExecutePanel - Panel for executing an agent
|
|
693
|
-
*/
|
|
694
|
-
declare function AgentExecutePanel({ agent, executing, execution, error, onExecute, onClear, className, }: AgentExecutePanelProps): react_jsx_runtime.JSX.Element;
|
|
695
|
-
|
|
696
|
-
/**
|
|
697
|
-
* Props for AgentFeedbackPanel
|
|
698
|
-
*/
|
|
699
|
-
interface AgentFeedbackPanelProps {
|
|
700
|
-
/** The execution to provide feedback for */
|
|
701
|
-
execution: AgentExecution;
|
|
702
|
-
/** Whether feedback is being submitted */
|
|
703
|
-
submitting?: boolean;
|
|
704
|
-
/** Callback to submit feedback */
|
|
705
|
-
onSubmitFeedback: (feedback: Omit<AgentFeedback, 'submittedAt' | 'submittedBy'>) => void;
|
|
706
|
-
/** Additional class name */
|
|
707
|
-
className?: string;
|
|
708
|
-
}
|
|
709
|
-
/**
|
|
710
|
-
* AgentFeedbackPanel - Panel for submitting feedback on agent executions
|
|
711
|
-
*/
|
|
712
|
-
declare function AgentFeedbackPanel({ execution, submitting, onSubmitFeedback, className, }: AgentFeedbackPanelProps): react_jsx_runtime.JSX.Element;
|
|
713
|
-
|
|
714
|
-
/**
|
|
715
|
-
* Props for AgentHistoryTable
|
|
716
|
-
*/
|
|
717
|
-
interface AgentHistoryTableProps {
|
|
718
|
-
/** Executions to display */
|
|
719
|
-
executions: AgentExecution[];
|
|
720
|
-
/** Total count */
|
|
721
|
-
total: number;
|
|
722
|
-
/** Loading state */
|
|
723
|
-
loading?: boolean;
|
|
724
|
-
/** Current page */
|
|
725
|
-
page?: number;
|
|
726
|
-
/** Items per page */
|
|
727
|
-
perPage?: number;
|
|
728
|
-
/** Callback when execution is clicked */
|
|
729
|
-
onExecutionClick?: (execution: AgentExecution) => void;
|
|
730
|
-
/** Callback when page changes */
|
|
731
|
-
onPageChange?: (page: number) => void;
|
|
732
|
-
/** Additional class name */
|
|
5
|
+
interface EndpointSelectorProps {
|
|
6
|
+
/** Current endpoint URL */
|
|
7
|
+
endpoint: string;
|
|
8
|
+
/** Callback when endpoint changes */
|
|
9
|
+
onEndpointChange: (endpoint: string) => void;
|
|
10
|
+
/** Recent endpoints for quick selection */
|
|
11
|
+
recentEndpoints?: string[];
|
|
12
|
+
/** Placeholder text for the trigger input */
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
/** Additional class name for the trigger */
|
|
733
15
|
className?: string;
|
|
734
16
|
}
|
|
735
17
|
/**
|
|
736
|
-
*
|
|
18
|
+
* EndpointSelector - Search-like input that opens a command palette for endpoint selection
|
|
737
19
|
*/
|
|
738
|
-
declare function
|
|
20
|
+
declare function EndpointSelector({ endpoint, onEndpointChange, recentEndpoints, placeholder, className, }: EndpointSelectorProps): react_jsx_runtime.JSX.Element;
|
|
739
21
|
|
|
740
22
|
/**
|
|
741
23
|
* Error Boundary Component for @mdxui/do
|
|
@@ -810,4 +92,4 @@ declare function useErrorBoundary(): {
|
|
|
810
92
|
showBoundary: React.Dispatch<React.SetStateAction<Error | null>>;
|
|
811
93
|
};
|
|
812
94
|
|
|
813
|
-
export {
|
|
95
|
+
export { DOErrorBoundary, type DOErrorBoundaryProps, EndpointSelector, type EndpointSelectorProps, useErrorBoundary };
|