@vertesia/appgen-docs 1.5.0-dev.20260725.083715Z
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/LICENSE +201 -0
- package/README.md +18 -0
- package/lib/docs/app-package-patterns.md +62 -0
- package/lib/docs/frontend-imports.md +75 -0
- package/lib/docs/handlebars-prompts.md +93 -0
- package/lib/docs/package-dashboards.md +110 -0
- package/lib/docs/package-processes.md +220 -0
- package/lib/docs/package-types.md +80 -0
- package/lib/docs/store-objects.md +94 -0
- package/lib/docs/tool-server-resource.md +397 -0
- package/lib/docs/ui/llms.txt +20 -0
- package/lib/docs/ui-interfaces.d.ts +1284 -0
- package/lib/docs/vertesia-client.d.ts +5644 -0
- package/lib/docs/vertesia-common.d.ts +4404 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,1284 @@
|
|
|
1
|
+
// Generated by @vertesia/appgen-docs.
|
|
2
|
+
// Do not edit by hand. This concatenates selected @vertesia/ui declaration files
|
|
3
|
+
// so generated app agents can grep exact exported names and prop interfaces.
|
|
4
|
+
// Section file paths below are source declaration paths, not import specifiers.
|
|
5
|
+
// Import public UI APIs from '@vertesia/ui/core', '@vertesia/ui/session',
|
|
6
|
+
// '@vertesia/ui/router', '@vertesia/ui/layout', '@vertesia/ui/features',
|
|
7
|
+
// or '@vertesia/ui/widgets'. Do not import '@vertesia/ui/core/shadcn/*'.
|
|
8
|
+
|
|
9
|
+
// -----------------------------------------------------------------------------
|
|
10
|
+
// core/components/index.d.ts
|
|
11
|
+
// -----------------------------------------------------------------------------
|
|
12
|
+
export * from './Avatar.js';
|
|
13
|
+
export * from './Center.js';
|
|
14
|
+
export * from './ComboBox.js';
|
|
15
|
+
export * from './Divider.js';
|
|
16
|
+
export * from './EmptyCollection.js';
|
|
17
|
+
export * from './FileUpload.js';
|
|
18
|
+
export * from './FormItem.js';
|
|
19
|
+
export * from './InputList.js';
|
|
20
|
+
export * from './Link.js';
|
|
21
|
+
export * from './MenuList.js';
|
|
22
|
+
export * from './NumberInput.js';
|
|
23
|
+
export * from './Overlay.js';
|
|
24
|
+
export * from './Portal.js';
|
|
25
|
+
export * from './popup/index.js';
|
|
26
|
+
export * from './SelectList.js';
|
|
27
|
+
export * from './SidePanel.js';
|
|
28
|
+
export * from './Spinner.js';
|
|
29
|
+
export * from './shadcn/index.js';
|
|
30
|
+
export * from './styles.js';
|
|
31
|
+
export * from './TagsInput.js';
|
|
32
|
+
export * from './table/index.js';
|
|
33
|
+
export * from './toast/index.js';
|
|
34
|
+
export type HeroIcon = React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement>, 'ref'> & {
|
|
35
|
+
title?: string | undefined;
|
|
36
|
+
titleId?: string | undefined;
|
|
37
|
+
} & React.RefAttributes<SVGSVGElement>>;
|
|
38
|
+
|
|
39
|
+
// -----------------------------------------------------------------------------
|
|
40
|
+
// core/components/shadcn/index.d.ts
|
|
41
|
+
// -----------------------------------------------------------------------------
|
|
42
|
+
export * from './badge';
|
|
43
|
+
export * from './breadcrumb';
|
|
44
|
+
export * from './button';
|
|
45
|
+
export * from './button';
|
|
46
|
+
export * from './card';
|
|
47
|
+
export * from './checkbox';
|
|
48
|
+
export * from './collaspible';
|
|
49
|
+
export * from './command';
|
|
50
|
+
export * from './dropdown';
|
|
51
|
+
export * from './filters';
|
|
52
|
+
export * from './heading';
|
|
53
|
+
export * from './input';
|
|
54
|
+
export * from './LanguageSwitcher';
|
|
55
|
+
export * from './label';
|
|
56
|
+
export * from './MessageBox';
|
|
57
|
+
export * from './modal';
|
|
58
|
+
export * from './Panel';
|
|
59
|
+
export * from './popover';
|
|
60
|
+
export * from './radioGroup';
|
|
61
|
+
export * from './resizeable';
|
|
62
|
+
export * from './selectBox';
|
|
63
|
+
export * from './separator';
|
|
64
|
+
export * from './slider';
|
|
65
|
+
export * from './switch';
|
|
66
|
+
export * from './tabs';
|
|
67
|
+
export * from './text';
|
|
68
|
+
export * from './textarea';
|
|
69
|
+
export * from './theme/ThemeProvider';
|
|
70
|
+
export * from './theme/ThemeSwitcher';
|
|
71
|
+
export * from './tooltip';
|
|
72
|
+
|
|
73
|
+
// -----------------------------------------------------------------------------
|
|
74
|
+
// core/components/shadcn/input.d.ts
|
|
75
|
+
// -----------------------------------------------------------------------------
|
|
76
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
77
|
+
import * as React from 'react';
|
|
78
|
+
declare const variants: (props?: ({
|
|
79
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
80
|
+
variant?: "default" | "legacy" | "unstyled" | "noPadding" | null | undefined;
|
|
81
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
82
|
+
type InputVariant = 'default' | 'unstyled' | 'noPadding' | 'legacy';
|
|
83
|
+
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {
|
|
84
|
+
size?: VariantProps<typeof variants>['size'];
|
|
85
|
+
variant?: InputVariant;
|
|
86
|
+
clearable?: boolean;
|
|
87
|
+
value?: string;
|
|
88
|
+
onChange?: (value: string) => void;
|
|
89
|
+
/**
|
|
90
|
+
* Convenience for `aria-invalid`. When true, sets aria-invalid="true" and styles via
|
|
91
|
+
* the existing `aria-invalid:*` Tailwind utilities. Prefer this over passing aria-invalid
|
|
92
|
+
* directly so consumers and FormItem can drive validity through a single prop.
|
|
93
|
+
*/
|
|
94
|
+
invalid?: boolean;
|
|
95
|
+
}
|
|
96
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
97
|
+
export { Input };
|
|
98
|
+
|
|
99
|
+
// -----------------------------------------------------------------------------
|
|
100
|
+
// core/components/shadcn/button.d.ts
|
|
101
|
+
// -----------------------------------------------------------------------------
|
|
102
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
103
|
+
import * as React from 'react';
|
|
104
|
+
declare const buttonVariants: (props?: ({
|
|
105
|
+
variant?: "link" | "destructive" | "outline" | "secondary" | "ghost" | "primary" | "unstyled" | null | undefined;
|
|
106
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "none" | "icon" | null | undefined;
|
|
107
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
108
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
109
|
+
asChild?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* @deprecated Use `title` instead. `alt` drives the same tooltip but, unlike `title`, it
|
|
112
|
+
* overrides the accessible name even when the button shows a text label — which usually
|
|
113
|
+
* violates WCAG 2.5.3 (Label in Name). That legacy behavior is preserved so existing call
|
|
114
|
+
* sites keep announcing what they always did. Slated for removal in the next major.
|
|
115
|
+
*/
|
|
116
|
+
alt?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Tooltip text. Renders a `<VTooltip>` around the button and doubles as the accessible name,
|
|
119
|
+
* so icon-only buttons need nothing else. Pass `aria-label` to override the name independently.
|
|
120
|
+
*/
|
|
121
|
+
title?: string;
|
|
122
|
+
/** Which side the `title` tooltip opens on. Defaults to `top`. */
|
|
123
|
+
tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';
|
|
124
|
+
isDisabled?: boolean;
|
|
125
|
+
isLoading?: boolean;
|
|
126
|
+
}
|
|
127
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
128
|
+
interface CopyButtonProps {
|
|
129
|
+
content: string;
|
|
130
|
+
/** @deprecated use `aria-label` */
|
|
131
|
+
alt?: string;
|
|
132
|
+
'aria-label'?: string;
|
|
133
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'icon';
|
|
134
|
+
toast?: {
|
|
135
|
+
toast: (options: {
|
|
136
|
+
status: 'success' | 'error';
|
|
137
|
+
title: string;
|
|
138
|
+
duration: number;
|
|
139
|
+
}) => void;
|
|
140
|
+
message: string;
|
|
141
|
+
};
|
|
142
|
+
className?: string;
|
|
143
|
+
}
|
|
144
|
+
declare const CopyButton: React.ForwardRefExoticComponent<CopyButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
145
|
+
export { Button, buttonVariants, CopyButton };
|
|
146
|
+
|
|
147
|
+
// -----------------------------------------------------------------------------
|
|
148
|
+
// core/components/shadcn/badge.d.ts
|
|
149
|
+
// -----------------------------------------------------------------------------
|
|
150
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
151
|
+
import type * as React from 'react';
|
|
152
|
+
declare const badgeVariants: (props?: ({
|
|
153
|
+
variant?: "done" | "default" | "destructive" | "outline" | "secondary" | "success" | "attention" | "info" | null | undefined;
|
|
154
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
155
|
+
interface BaseBadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
156
|
+
children: React.ReactNode;
|
|
157
|
+
onClick?: () => void;
|
|
158
|
+
}
|
|
159
|
+
export declare function Badge({ className, variant, children, onClick, ...props }: BaseBadgeProps): React.JSX.Element;
|
|
160
|
+
declare const dotBadgeVariants: (props?: ({
|
|
161
|
+
variant?: "done" | "default" | "destructive" | "outline" | "success" | "attention" | "info" | null | undefined;
|
|
162
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
163
|
+
interface DotBadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof dotBadgeVariants> {
|
|
164
|
+
children?: React.ReactNode;
|
|
165
|
+
dotClassName?: string;
|
|
166
|
+
}
|
|
167
|
+
export declare function DotBadge({ variant, className, dotClassName, // New prop for dot-specific classes
|
|
168
|
+
children, ...props }: DotBadgeProps): React.JSX.Element;
|
|
169
|
+
export {};
|
|
170
|
+
|
|
171
|
+
// -----------------------------------------------------------------------------
|
|
172
|
+
// core/components/shadcn/modal/dialog.d.ts
|
|
173
|
+
// -----------------------------------------------------------------------------
|
|
174
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
175
|
+
import * as React from 'react';
|
|
176
|
+
interface ModalProps {
|
|
177
|
+
children: React.ReactNode | React.ReactNode[];
|
|
178
|
+
isOpen: boolean;
|
|
179
|
+
onClose: () => void;
|
|
180
|
+
description?: string;
|
|
181
|
+
noCloseButton?: boolean;
|
|
182
|
+
className?: string;
|
|
183
|
+
allowOverflow?: boolean;
|
|
184
|
+
disableCloseOnClickOutside?: boolean;
|
|
185
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
186
|
+
action?: React.ReactNode;
|
|
187
|
+
}
|
|
188
|
+
export declare function useIsInModal(): boolean;
|
|
189
|
+
export declare function ModalContextProvider({ children }: {
|
|
190
|
+
children: React.ReactNode;
|
|
191
|
+
}): React.JSX.Element;
|
|
192
|
+
export declare function Modal({ className, children, isOpen, onClose, description, noCloseButton, allowOverflow, disableCloseOnClickOutside, size, action, }: ModalProps): React.JSX.Element;
|
|
193
|
+
export declare const ModalTitle: ({ children, show, className, description, showDivider, ...props }: React.HTMLAttributes<HTMLHeadingElement> & {
|
|
194
|
+
show?: boolean;
|
|
195
|
+
description?: string;
|
|
196
|
+
showDivider?: boolean;
|
|
197
|
+
}) => React.JSX.Element;
|
|
198
|
+
export declare const ModalBody: ({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
|
|
199
|
+
interface ModalFooterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
200
|
+
align?: 'left' | 'right' | 'center';
|
|
201
|
+
children: React.ReactNode | React.ReactNode[];
|
|
202
|
+
className?: string;
|
|
203
|
+
}
|
|
204
|
+
export declare const ModalFooter: ({ align, children, className, ...props }: ModalFooterProps) => React.JSX.Element;
|
|
205
|
+
declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
|
|
206
|
+
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
207
|
+
declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
|
|
208
|
+
declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
209
|
+
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
210
|
+
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
211
|
+
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
212
|
+
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
213
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
214
|
+
|
|
215
|
+
// -----------------------------------------------------------------------------
|
|
216
|
+
// core/components/shadcn/modal/ConfirmModal.d.ts
|
|
217
|
+
// -----------------------------------------------------------------------------
|
|
218
|
+
import type React from 'react';
|
|
219
|
+
interface ConfirmModalProps {
|
|
220
|
+
title: string;
|
|
221
|
+
content: string | React.ReactNode;
|
|
222
|
+
onConfirm: () => void;
|
|
223
|
+
onCancel: () => void;
|
|
224
|
+
isOpen: boolean;
|
|
225
|
+
isLoading?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* When set, the user must type this exact value into a confirmation input
|
|
228
|
+
* before the Confirm button is enabled. Use for destructive, irreversible
|
|
229
|
+
* actions (e.g. typing a principal's email before deleting their access).
|
|
230
|
+
* Matching ignores leading/trailing whitespace but is case-sensitive.
|
|
231
|
+
*/
|
|
232
|
+
confirmationValue?: string;
|
|
233
|
+
/**
|
|
234
|
+
* Label rendered above the confirmation input. Recommended whenever
|
|
235
|
+
* `confirmationValue` is set so the user knows what to type. Ignored when
|
|
236
|
+
* `confirmationValue` is not set.
|
|
237
|
+
*/
|
|
238
|
+
confirmationLabel?: React.ReactNode;
|
|
239
|
+
/** Placeholder for the confirmation input. Ignored when `confirmationValue` is not set. */
|
|
240
|
+
confirmationPlaceholder?: string;
|
|
241
|
+
}
|
|
242
|
+
export declare function ConfirmModal({ title, content, onConfirm, onCancel, isOpen, isLoading, confirmationValue, confirmationLabel, confirmationPlaceholder, }: ConfirmModalProps): React.JSX.Element;
|
|
243
|
+
export {};
|
|
244
|
+
|
|
245
|
+
// -----------------------------------------------------------------------------
|
|
246
|
+
// core/components/shadcn/modal/DeleteModal.d.ts
|
|
247
|
+
// -----------------------------------------------------------------------------
|
|
248
|
+
import type { ReactNode } from 'react';
|
|
249
|
+
interface DeleteModalProps {
|
|
250
|
+
idToDelete?: string;
|
|
251
|
+
title: string;
|
|
252
|
+
content: string | ReactNode;
|
|
253
|
+
setIdToDelete: (id: string | undefined) => void;
|
|
254
|
+
deleteApi: (id: string) => Promise<unknown>;
|
|
255
|
+
}
|
|
256
|
+
export declare function DeleteModal({ idToDelete, title, content, setIdToDelete, deleteApi }: DeleteModalProps): import("react").JSX.Element;
|
|
257
|
+
export {};
|
|
258
|
+
|
|
259
|
+
// -----------------------------------------------------------------------------
|
|
260
|
+
// core/components/shadcn/selectBox.d.ts
|
|
261
|
+
// -----------------------------------------------------------------------------
|
|
262
|
+
import { type ReactNode } from 'react';
|
|
263
|
+
export interface SelectBoxBaseProps<T> {
|
|
264
|
+
options: T[] | undefined;
|
|
265
|
+
optionLabel?: (option: T) => React.ReactNode;
|
|
266
|
+
/**
|
|
267
|
+
* Optional grouping. Returns the group heading for an option; options that return the same
|
|
268
|
+
* heading are rendered together beneath it. Groups appear in order of first occurrence in
|
|
269
|
+
* `options`, so the caller controls group order by ordering the options accordingly.
|
|
270
|
+
*/
|
|
271
|
+
groupBy?: (option: T) => string;
|
|
272
|
+
onBlur?: () => void;
|
|
273
|
+
onKeyDown?: (e: React.KeyboardEvent, isOpen: boolean) => void;
|
|
274
|
+
label?: string;
|
|
275
|
+
placeholder?: string;
|
|
276
|
+
addNew?: () => void;
|
|
277
|
+
addNewLabel?: string;
|
|
278
|
+
disabled?: boolean;
|
|
279
|
+
filterBy?: string | ((o: T) => string);
|
|
280
|
+
by?: (keyof T & string) | ((a: T, z: T) => boolean);
|
|
281
|
+
className?: string;
|
|
282
|
+
popupClass?: string;
|
|
283
|
+
isClearable?: boolean;
|
|
284
|
+
border?: boolean;
|
|
285
|
+
inline?: boolean;
|
|
286
|
+
clearIcon?: ReactNode;
|
|
287
|
+
clearTitle?: string;
|
|
288
|
+
isLoading?: boolean;
|
|
289
|
+
/** Show warning when value is not in options list (default: true) */
|
|
290
|
+
warnOnMissingValue?: boolean;
|
|
291
|
+
/** Custom warning message when value is not in options */
|
|
292
|
+
missingValueWarning?: string;
|
|
293
|
+
/** Accessible name. Defaults to the `label` prop when provided. Required when icon-only. */
|
|
294
|
+
'aria-label'?: string;
|
|
295
|
+
/** Id of an element that labels the trigger. Use when there is a visible external label. */
|
|
296
|
+
'aria-labelledby'?: string;
|
|
297
|
+
/** Id forwarded to the trigger button. Required for FormItem's auto-wiring to work. */
|
|
298
|
+
id?: string;
|
|
299
|
+
/** Ids of elements describing the control (e.g. FormItem helpText/error). Forwarded to the trigger. */
|
|
300
|
+
'aria-describedby'?: string;
|
|
301
|
+
/** Marks the control invalid. Forwarded to the trigger and combined with the internal
|
|
302
|
+
* missing-value detection (either being truthy yields aria-invalid="true"). */
|
|
303
|
+
'aria-invalid'?: boolean | 'true' | 'false';
|
|
304
|
+
}
|
|
305
|
+
interface SelectBoxSingleProps<T> extends SelectBoxBaseProps<T> {
|
|
306
|
+
multiple?: false;
|
|
307
|
+
value?: T;
|
|
308
|
+
onChange: (option: T) => void;
|
|
309
|
+
}
|
|
310
|
+
interface SelectBoxMultipleProps<T> extends SelectBoxBaseProps<T> {
|
|
311
|
+
multiple: true;
|
|
312
|
+
value?: T[];
|
|
313
|
+
onChange: (options: T[]) => void;
|
|
314
|
+
}
|
|
315
|
+
type SelectBoxProps<T> = SelectBoxSingleProps<T> | SelectBoxMultipleProps<T>;
|
|
316
|
+
export declare function SelectBox<T = unknown>({ options, optionLabel, groupBy, value, onChange, addNew, addNewLabel, disabled, filterBy, label, placeholder, className, popupClass, isClearable, border, multiple, by, inline, isLoading, warnOnMissingValue, missingValueWarning, clearIcon, clearTitle, 'aria-label': ariaLabelProp, 'aria-labelledby': ariaLabelledByProp, id: idProp, 'aria-describedby': ariaDescribedByProp, 'aria-invalid': ariaInvalidProp, }: Readonly<SelectBoxProps<T>>): import("react").JSX.Element;
|
|
317
|
+
export {};
|
|
318
|
+
|
|
319
|
+
// -----------------------------------------------------------------------------
|
|
320
|
+
// core/components/shadcn/textarea.d.ts
|
|
321
|
+
// -----------------------------------------------------------------------------
|
|
322
|
+
interface TextareaProps extends React.ComponentProps<'textarea'> {
|
|
323
|
+
minLines?: number;
|
|
324
|
+
maxLines?: number;
|
|
325
|
+
}
|
|
326
|
+
declare function Textarea({ className, minLines, maxLines, value, ...props }: TextareaProps): import("react").JSX.Element;
|
|
327
|
+
export type { TextareaProps };
|
|
328
|
+
export { Textarea };
|
|
329
|
+
|
|
330
|
+
// -----------------------------------------------------------------------------
|
|
331
|
+
// core/components/shadcn/tabs.d.ts
|
|
332
|
+
// -----------------------------------------------------------------------------
|
|
333
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
334
|
+
import type { ReactNode } from 'react';
|
|
335
|
+
import * as React from 'react';
|
|
336
|
+
export interface Tab {
|
|
337
|
+
name: string;
|
|
338
|
+
current?: boolean;
|
|
339
|
+
href?: string;
|
|
340
|
+
label: ReactNode;
|
|
341
|
+
content: ReactNode;
|
|
342
|
+
disabled?: boolean;
|
|
343
|
+
is_allowed?: boolean;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Guard consulted before switching to another tab. Return `false` to cancel the switch — the active
|
|
347
|
+
* tab, the URL hash and the browser history are all left untouched, so the guard can hold the user
|
|
348
|
+
* on a tab that has unsaved changes while a confirmation is shown.
|
|
349
|
+
*
|
|
350
|
+
* It is only called when the target tab differs from the active one, but it may be called more than
|
|
351
|
+
* once for a single attempted switch (a click reaches both the trigger and the Radix root), so any
|
|
352
|
+
* side effect it performs must be idempotent.
|
|
353
|
+
*/
|
|
354
|
+
export type CanChangeTab = (nextTab: string, currentTab?: string) => boolean;
|
|
355
|
+
interface TabsProps {
|
|
356
|
+
current?: string | (() => string);
|
|
357
|
+
tabs: Tab[];
|
|
358
|
+
defaultValue?: string;
|
|
359
|
+
className?: string;
|
|
360
|
+
fullWidth?: boolean;
|
|
361
|
+
fullHeight?: boolean;
|
|
362
|
+
children?: React.ReactNode;
|
|
363
|
+
onTabChange?: (tabName: string) => void;
|
|
364
|
+
responsive?: boolean;
|
|
365
|
+
variant?: 'tabs' | 'pills';
|
|
366
|
+
updateHash?: boolean;
|
|
367
|
+
canChangeTab?: CanChangeTab;
|
|
368
|
+
}
|
|
369
|
+
declare const Tabs: ({ tabs, defaultValue, current, className, fullWidth, fullHeight, children, onTabChange, responsive, variant, updateHash, canChangeTab, }: TabsProps) => React.JSX.Element;
|
|
370
|
+
interface TabsBarProps {
|
|
371
|
+
className?: string;
|
|
372
|
+
sticky?: boolean;
|
|
373
|
+
direction?: 'vertical' | 'horizontal';
|
|
374
|
+
}
|
|
375
|
+
declare const TabsBar: ({ className, sticky, direction }: TabsBarProps) => React.JSX.Element | null;
|
|
376
|
+
declare const TabsPanel: ({ className }: {
|
|
377
|
+
className?: string;
|
|
378
|
+
}) => React.JSX.Element | null;
|
|
379
|
+
type TabsListProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & {
|
|
380
|
+
size?: number;
|
|
381
|
+
variant?: 'tabs' | 'pills';
|
|
382
|
+
};
|
|
383
|
+
declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<React.ElementRef<typeof TabsPrimitive.List>>>;
|
|
384
|
+
type TabsTriggerProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
|
|
385
|
+
href?: string;
|
|
386
|
+
variant?: 'tabs' | 'pills';
|
|
387
|
+
};
|
|
388
|
+
declare const TabsTrigger: React.ForwardRefExoticComponent<TabsTriggerProps & React.RefAttributes<React.ElementRef<typeof TabsPrimitive.Trigger>>>;
|
|
389
|
+
type TabsContentProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
|
|
390
|
+
declare const TabsContent: React.ForwardRefExoticComponent<TabsContentProps & React.RefAttributes<React.ElementRef<typeof TabsPrimitive.Content>>>;
|
|
391
|
+
export { Tabs, TabsBar, TabsContent, TabsList, TabsPanel, TabsTrigger };
|
|
392
|
+
|
|
393
|
+
// -----------------------------------------------------------------------------
|
|
394
|
+
// core/components/table/index.d.ts
|
|
395
|
+
// -----------------------------------------------------------------------------
|
|
396
|
+
import type React from 'react';
|
|
397
|
+
export declare function Table({ className, children, ...others }: React.HTMLProps<HTMLTableElement>): React.JSX.Element;
|
|
398
|
+
interface THeadProps {
|
|
399
|
+
children: React.ReactNode;
|
|
400
|
+
}
|
|
401
|
+
export declare function THead({ children }: Readonly<THeadProps>): React.JSX.Element;
|
|
402
|
+
export declare function RowSkeleton({ columns }: {
|
|
403
|
+
columns: number;
|
|
404
|
+
}): React.JSX.Element;
|
|
405
|
+
interface TBodySkeletonProps {
|
|
406
|
+
isLoading?: boolean;
|
|
407
|
+
columns: number;
|
|
408
|
+
rows?: number;
|
|
409
|
+
children: React.ReactNode;
|
|
410
|
+
}
|
|
411
|
+
export declare function TBody({ isLoading, columns, rows, children }: Readonly<TBodySkeletonProps>): React.JSX.Element;
|
|
412
|
+
export declare function TR({ className, children, ...others }: React.HTMLProps<HTMLTableRowElement>): React.JSX.Element;
|
|
413
|
+
/**
|
|
414
|
+
* Header cell. Defaults to scope="col" so screen readers associate column
|
|
415
|
+
* cells with their header. Pass scope="row" for row headers.
|
|
416
|
+
*/
|
|
417
|
+
export declare function TableHeaderCell({ scope, children, ...others }: React.ThHTMLAttributes<HTMLTableCellElement>): React.JSX.Element;
|
|
418
|
+
export type SortDirection = 'ascending' | 'descending' | 'none';
|
|
419
|
+
interface SortableTableHeaderCellProps extends Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'onClick' | 'aria-sort'> {
|
|
420
|
+
/** Current sort state. Drives aria-sort on the <th>. */
|
|
421
|
+
sortDirection?: SortDirection;
|
|
422
|
+
/** Fired when the user activates the sort trigger (mouse or keyboard). */
|
|
423
|
+
onSort?: () => void;
|
|
424
|
+
/** Visual sort indicator rendered after the children. Receives the current direction. */
|
|
425
|
+
sortIndicator?: (direction: SortDirection) => React.ReactNode;
|
|
426
|
+
/** Disable the sort trigger; renders children without a button wrapper. */
|
|
427
|
+
disabled?: boolean;
|
|
428
|
+
children: React.ReactNode;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Sortable header cell. Renders the trigger as a real <button> inside the
|
|
432
|
+
* <th> and exposes the current sort direction via aria-sort on the <th>
|
|
433
|
+
* (the WAI-ARIA-recommended pattern). The button is keyboard-operable
|
|
434
|
+
* automatically — no onKeyDown plumbing required.
|
|
435
|
+
*/
|
|
436
|
+
export declare function SortableTableHeaderCell({ sortDirection, onSort, sortIndicator, disabled, children, className, scope, ...others }: SortableTableHeaderCellProps): React.JSX.Element;
|
|
437
|
+
export {};
|
|
438
|
+
|
|
439
|
+
// -----------------------------------------------------------------------------
|
|
440
|
+
// core/components/FormItem.d.ts
|
|
441
|
+
// -----------------------------------------------------------------------------
|
|
442
|
+
import { type ReactNode } from 'react';
|
|
443
|
+
interface FormItemProps {
|
|
444
|
+
label: ReactNode;
|
|
445
|
+
children: ReactNode;
|
|
446
|
+
/** Explicit id for the control. When omitted and FormItem can wire a single
|
|
447
|
+
* element child, an id is auto-generated via useId(). */
|
|
448
|
+
childrenId?: string;
|
|
449
|
+
className?: string;
|
|
450
|
+
/** Tooltip text rendered on an Info icon next to the label.
|
|
451
|
+
* NOTE: this is *not* an a11y substitute for helpText — it is hover-only.
|
|
452
|
+
* For persistent helper text linked to the control via aria-describedby,
|
|
453
|
+
* use the `helpText` prop instead. */
|
|
454
|
+
description?: ReactNode;
|
|
455
|
+
/** Persistent helper text rendered below the control and linked via
|
|
456
|
+
* aria-describedby. Use this (not `description`) to give screen-reader
|
|
457
|
+
* users guidance on how to fill the field. */
|
|
458
|
+
helpText?: ReactNode;
|
|
459
|
+
/** Persistent error message rendered below the control. When set, the
|
|
460
|
+
* control gets aria-invalid="true" and the error id is appended to
|
|
461
|
+
* aria-describedby. */
|
|
462
|
+
error?: ReactNode;
|
|
463
|
+
required?: boolean;
|
|
464
|
+
direction?: 'row' | 'column' | 'row-reverse';
|
|
465
|
+
disabled?: boolean;
|
|
466
|
+
/** When true, the label row stretches to full width. Useful when placing actions (e.g. buttons) inside the label. */
|
|
467
|
+
fullWidthLabel?: boolean;
|
|
468
|
+
}
|
|
469
|
+
export declare function FormItem({ description, helpText, error, required, label, className, direction, children, disabled, fullWidthLabel, childrenId, }: FormItemProps): import("react").JSX.Element;
|
|
470
|
+
export {};
|
|
471
|
+
|
|
472
|
+
// -----------------------------------------------------------------------------
|
|
473
|
+
// core/components/SelectList.d.ts
|
|
474
|
+
// -----------------------------------------------------------------------------
|
|
475
|
+
import { type ReactNode } from 'react';
|
|
476
|
+
export interface OptionLayout {
|
|
477
|
+
label?: ReactNode;
|
|
478
|
+
check?: ReactNode;
|
|
479
|
+
reverse?: boolean;
|
|
480
|
+
className?: string;
|
|
481
|
+
}
|
|
482
|
+
export interface SelectListProps<T> {
|
|
483
|
+
value?: T;
|
|
484
|
+
options: T[];
|
|
485
|
+
onChange: (value: T) => void;
|
|
486
|
+
className?: string;
|
|
487
|
+
by?: (keyof T & string) | ((o1: T, o2: T) => boolean);
|
|
488
|
+
optionLayout?: (opt: T, selected: boolean) => OptionLayout;
|
|
489
|
+
noCheck?: boolean;
|
|
490
|
+
filterBy?: (filterValue: string) => (opt: T) => boolean;
|
|
491
|
+
}
|
|
492
|
+
export declare function SelectList<T>({ value, options, onChange, className, optionLayout, by, noCheck, filterBy, }: SelectListProps<T>): import("react").JSX.Element;
|
|
493
|
+
|
|
494
|
+
// -----------------------------------------------------------------------------
|
|
495
|
+
// core/components/ComboBox.d.ts
|
|
496
|
+
// -----------------------------------------------------------------------------
|
|
497
|
+
import React, { type ReactNode } from 'react';
|
|
498
|
+
import { type AlignType, type PopupController } from './popup/index';
|
|
499
|
+
export declare abstract class OptionAdapter<T> {
|
|
500
|
+
abstract valueOf(item: T): string;
|
|
501
|
+
abstract idOf(item: T): string;
|
|
502
|
+
filter(items: T[], text: string): T[];
|
|
503
|
+
renderOption(item: T): ReactNode;
|
|
504
|
+
findById(items: T[], id: string): T | undefined;
|
|
505
|
+
createItem(_value: string): T | null;
|
|
506
|
+
}
|
|
507
|
+
export declare class StringOptionAdapter extends OptionAdapter<string> {
|
|
508
|
+
valueOf(item: string): string;
|
|
509
|
+
idOf(item: string): string;
|
|
510
|
+
static instance: StringOptionAdapter;
|
|
511
|
+
}
|
|
512
|
+
export declare class StringOptionAdapterWithCreate extends StringOptionAdapter {
|
|
513
|
+
createItem(value: string): string;
|
|
514
|
+
static instance: StringOptionAdapterWithCreate;
|
|
515
|
+
}
|
|
516
|
+
export interface ComboBoxLayoutProps<T> {
|
|
517
|
+
buttonRight?: number;
|
|
518
|
+
buttonWidth?: number;
|
|
519
|
+
maxMenuHeight?: number;
|
|
520
|
+
menuClass?: string;
|
|
521
|
+
inputClass?: string;
|
|
522
|
+
optionClass?: string;
|
|
523
|
+
Input?: React.ComponentType<ComboInputProps<T>>;
|
|
524
|
+
Menu?: React.ComponentType<ComboMenuProps<T>>;
|
|
525
|
+
Toggle?: React.ComponentType<ComboToggleProps<T>> | null;
|
|
526
|
+
}
|
|
527
|
+
export type ComboBoxLayout<T> = Required<ComboBoxLayoutProps<T>>;
|
|
528
|
+
export declare function getDefaultComboBoxLayout<T>(fullWidth?: boolean, unstyledInput?: boolean): ComboBoxLayout<T>;
|
|
529
|
+
export interface ComboBoxApi<T> {
|
|
530
|
+
open: () => void;
|
|
531
|
+
close: () => void;
|
|
532
|
+
toggle: () => void;
|
|
533
|
+
inputValue: string;
|
|
534
|
+
selectedItem: T | null;
|
|
535
|
+
setInputValue: (value: string) => void;
|
|
536
|
+
focus: () => void;
|
|
537
|
+
}
|
|
538
|
+
export interface ComboBoxProps<T> {
|
|
539
|
+
items: T[];
|
|
540
|
+
adapter: OptionAdapter<T>;
|
|
541
|
+
unstyledInput?: boolean;
|
|
542
|
+
fullWidth?: boolean;
|
|
543
|
+
layout?: ComboBoxLayoutProps<T>;
|
|
544
|
+
placeholder?: string;
|
|
545
|
+
api?: React.MutableRefObject<ComboBoxApi<T> | null>;
|
|
546
|
+
value?: T | null;
|
|
547
|
+
onSelect?: (value: T | null) => void;
|
|
548
|
+
zIndex?: number;
|
|
549
|
+
focusOnMount?: boolean;
|
|
550
|
+
menuGap?: number;
|
|
551
|
+
menuAlign?: AlignType;
|
|
552
|
+
clearable?: boolean;
|
|
553
|
+
noMatchMessage?: ReactNode;
|
|
554
|
+
openOnFocus?: boolean;
|
|
555
|
+
}
|
|
556
|
+
export declare function ComboBox<T>({ menuAlign, menuGap, focusOnMount, onSelect, value, zIndex, unstyledInput, fullWidth, api, layout: layoutOpts, adapter, items, placeholder, clearable, noMatchMessage, openOnFocus, }: ComboBoxProps<T>): React.JSX.Element;
|
|
557
|
+
export interface ComboInputProps<T> {
|
|
558
|
+
layout: ComboBoxLayout<T>;
|
|
559
|
+
ctrl: ComboboxController<T>;
|
|
560
|
+
placeholder?: string;
|
|
561
|
+
boxRef?: React.RefObject<HTMLDivElement | null>;
|
|
562
|
+
inputRef?: React.RefObject<HTMLInputElement | null>;
|
|
563
|
+
clearable?: boolean;
|
|
564
|
+
openOnFocus?: boolean;
|
|
565
|
+
}
|
|
566
|
+
export interface ComboToggleProps<T> {
|
|
567
|
+
ctrl: ComboboxController<T>;
|
|
568
|
+
layout: ComboBoxLayout<T>;
|
|
569
|
+
}
|
|
570
|
+
export interface ComboMenuProps<T> {
|
|
571
|
+
items: T[];
|
|
572
|
+
layout: ComboBoxLayout<T>;
|
|
573
|
+
ctrl: ComboboxController<T>;
|
|
574
|
+
adapter: OptionAdapter<T>;
|
|
575
|
+
fillWidth: boolean;
|
|
576
|
+
noMatchMessage?: ReactNode;
|
|
577
|
+
}
|
|
578
|
+
export interface ComboboxControllerProps<ItemT> {
|
|
579
|
+
adapter: OptionAdapter<ItemT>;
|
|
580
|
+
items: ItemT[];
|
|
581
|
+
value?: ItemT | string | null;
|
|
582
|
+
popupId: string;
|
|
583
|
+
}
|
|
584
|
+
export declare function useComboboxCtrl<ItemT>(props: ComboboxControllerProps<ItemT>): ComboboxController<ItemT>;
|
|
585
|
+
declare class ComboboxController<ItemT> {
|
|
586
|
+
private popupId;
|
|
587
|
+
items: ItemT[];
|
|
588
|
+
private adapter;
|
|
589
|
+
onSelect?: (item: ItemT | null) => void;
|
|
590
|
+
private setState?;
|
|
591
|
+
private _selectedItem;
|
|
592
|
+
private _filteredItems;
|
|
593
|
+
private _inputText;
|
|
594
|
+
private _highlightedIndex;
|
|
595
|
+
private _isMenuOpen;
|
|
596
|
+
popupCtrl?: PopupController;
|
|
597
|
+
constructor({ adapter, items, value, popupId }: ComboboxControllerProps<ItemT>);
|
|
598
|
+
withState(setState: (ctrl: ComboboxController<ItemT>) => void): this;
|
|
599
|
+
private clone;
|
|
600
|
+
private updateState;
|
|
601
|
+
get filteredItems(): ItemT[];
|
|
602
|
+
get selectedItem(): ItemT | null;
|
|
603
|
+
set selectedItem(item: ItemT | null);
|
|
604
|
+
get isMenuOpen(): boolean;
|
|
605
|
+
set inputText(inputText: string);
|
|
606
|
+
get inputText(): string;
|
|
607
|
+
set highlightedIndex(index: number | null);
|
|
608
|
+
get highlightedIndex(): number | null;
|
|
609
|
+
openMenu(): void;
|
|
610
|
+
closeMenu(_item?: ItemT | null): void;
|
|
611
|
+
toggleMenu(): void;
|
|
612
|
+
private highlightIndex;
|
|
613
|
+
getMenuProps(): {};
|
|
614
|
+
getToggleButtonProps(): {
|
|
615
|
+
onClick: () => void;
|
|
616
|
+
};
|
|
617
|
+
getItemProps(item: ItemT, index: number): React.HTMLProps<HTMLLIElement>;
|
|
618
|
+
getInputProps(): {
|
|
619
|
+
onClick: () => void;
|
|
620
|
+
onChange: (ev: React.ChangeEvent<HTMLInputElement>) => void;
|
|
621
|
+
value: string;
|
|
622
|
+
onKeyDown: (ev: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
export declare function SimpleCombobox({ options, creatable, ...rest }: Omit<ComboBoxProps<string>, 'adapter' | 'items'> & {
|
|
626
|
+
options: string[];
|
|
627
|
+
creatable?: boolean;
|
|
628
|
+
}): React.JSX.Element;
|
|
629
|
+
export {};
|
|
630
|
+
|
|
631
|
+
// -----------------------------------------------------------------------------
|
|
632
|
+
// core/components/TagsInput.d.ts
|
|
633
|
+
// -----------------------------------------------------------------------------
|
|
634
|
+
interface TagsInputProps {
|
|
635
|
+
options: string[];
|
|
636
|
+
value: string[];
|
|
637
|
+
onChange: (selected: string[]) => void;
|
|
638
|
+
onOptionsChange?: (options: string[]) => void;
|
|
639
|
+
placeholder?: string;
|
|
640
|
+
className?: string;
|
|
641
|
+
disabled?: boolean;
|
|
642
|
+
layout?: 'horizontal' | 'vertical';
|
|
643
|
+
creatable?: boolean;
|
|
644
|
+
createText?: string;
|
|
645
|
+
maxDropdownHeight?: number;
|
|
646
|
+
}
|
|
647
|
+
export declare function TagsInput(props: TagsInputProps): import("react").JSX.Element;
|
|
648
|
+
export {};
|
|
649
|
+
|
|
650
|
+
// -----------------------------------------------------------------------------
|
|
651
|
+
// core/components/NumberInput.d.ts
|
|
652
|
+
// -----------------------------------------------------------------------------
|
|
653
|
+
import React from 'react';
|
|
654
|
+
interface NumberInputProps extends Omit<React.HTMLProps<HTMLInputElement>, 'ref' | 'onChange' | 'value'> {
|
|
655
|
+
value?: number;
|
|
656
|
+
onChange?: (value: undefined | number, text: string) => void;
|
|
657
|
+
noScroll?: boolean;
|
|
658
|
+
noSpinners?: boolean;
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* The value of this input is always a number. It can be undefined or NaN. If NaN the input value will not be updated with the NaN one.
|
|
662
|
+
* If undefined the input will be updated to be empty.
|
|
663
|
+
* The onChange callback is called whenever the value changes. If the input cannot be parsed as a number
|
|
664
|
+
* it will be returned as NaN.
|
|
665
|
+
*/
|
|
666
|
+
declare const NumberInput: React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
667
|
+
export { NumberInput };
|
|
668
|
+
|
|
669
|
+
// -----------------------------------------------------------------------------
|
|
670
|
+
// core/components/InputList.d.ts
|
|
671
|
+
// -----------------------------------------------------------------------------
|
|
672
|
+
import type React from 'react';
|
|
673
|
+
interface InputListProps {
|
|
674
|
+
value?: string[];
|
|
675
|
+
onChange: (value: string[]) => void;
|
|
676
|
+
className?: string;
|
|
677
|
+
allowSpaces?: boolean;
|
|
678
|
+
delimiters?: string;
|
|
679
|
+
placeholder?: string;
|
|
680
|
+
autoFocus?: boolean;
|
|
681
|
+
disabled?: boolean;
|
|
682
|
+
}
|
|
683
|
+
export declare function InputList({ value, onChange, className, delimiters, placeholder, autoFocus, disabled, }: InputListProps): React.JSX.Element;
|
|
684
|
+
export {};
|
|
685
|
+
|
|
686
|
+
// -----------------------------------------------------------------------------
|
|
687
|
+
// core/components/SidePanel.d.ts
|
|
688
|
+
// -----------------------------------------------------------------------------
|
|
689
|
+
import type React from 'react';
|
|
690
|
+
interface SidePanelProps {
|
|
691
|
+
isOpen: boolean;
|
|
692
|
+
onClose: () => void;
|
|
693
|
+
children: React.ReactNode;
|
|
694
|
+
title?: React.ReactNode;
|
|
695
|
+
panelWidth?: number;
|
|
696
|
+
backdrop?: boolean;
|
|
697
|
+
side?: 'left' | 'right';
|
|
698
|
+
resizable?: boolean;
|
|
699
|
+
className?: string;
|
|
700
|
+
contentClassName?: string;
|
|
701
|
+
}
|
|
702
|
+
export declare function SidePanel({ isOpen, title, onClose, children, panelWidth, backdrop, side, resizable, className, contentClassName, }: SidePanelProps): React.JSX.Element;
|
|
703
|
+
export {};
|
|
704
|
+
|
|
705
|
+
// -----------------------------------------------------------------------------
|
|
706
|
+
// core/hooks/index.d.ts
|
|
707
|
+
// -----------------------------------------------------------------------------
|
|
708
|
+
export * from './CompositeState.js';
|
|
709
|
+
export * from './PortalContainerProvider.js';
|
|
710
|
+
export * from './SharedState.js';
|
|
711
|
+
export * from './useClickOutside.js';
|
|
712
|
+
export * from './useCopyToClipboard.js';
|
|
713
|
+
export * from './useDarkMode.js';
|
|
714
|
+
export * from './useDebounce';
|
|
715
|
+
export * from './useEventSource.js';
|
|
716
|
+
export * from './useFetch.js';
|
|
717
|
+
export * from './useFlag.js';
|
|
718
|
+
export * from './useIntersectionObserver.js';
|
|
719
|
+
export * from './useIsFistRendering.js';
|
|
720
|
+
export * from './useSafeLayoutEffect.js';
|
|
721
|
+
export * from './useScrollableSearch.js';
|
|
722
|
+
export * from './useSharedValue.js';
|
|
723
|
+
|
|
724
|
+
// -----------------------------------------------------------------------------
|
|
725
|
+
// layout/index.d.ts
|
|
726
|
+
// -----------------------------------------------------------------------------
|
|
727
|
+
export * from './AppLayout.js';
|
|
728
|
+
export * from './ErrorPage.js';
|
|
729
|
+
export * from './FullHeightLayout.js';
|
|
730
|
+
export * from './Navbar.js';
|
|
731
|
+
export * from './RegionTag.js';
|
|
732
|
+
export * from './Sidebar.js';
|
|
733
|
+
export * from './SidebarContext.js';
|
|
734
|
+
export * from './TitleBar.js';
|
|
735
|
+
|
|
736
|
+
// -----------------------------------------------------------------------------
|
|
737
|
+
// layout/FullHeightLayout.d.ts
|
|
738
|
+
// -----------------------------------------------------------------------------
|
|
739
|
+
import type React from 'react';
|
|
740
|
+
interface FlexibleHeightLayoutProps {
|
|
741
|
+
children: React.ReactNode;
|
|
742
|
+
className?: string;
|
|
743
|
+
}
|
|
744
|
+
export declare function FullHeightLayout({ className, children }: FlexibleHeightLayoutProps): React.JSX.Element;
|
|
745
|
+
export declare namespace FullHeightLayout {
|
|
746
|
+
var Fixed: ({ heightClass, className, children }: FixedProps) => React.JSX.Element;
|
|
747
|
+
var Body: ({ className, children }: BodyProps) => React.JSX.Element;
|
|
748
|
+
var VR: () => React.JSX.Element;
|
|
749
|
+
var HR: () => React.JSX.Element;
|
|
750
|
+
var Flex: ({ className, children }: BodyProps) => React.JSX.Element;
|
|
751
|
+
var Tab: ({ children }: {
|
|
752
|
+
children: React.ReactNode;
|
|
753
|
+
}) => React.JSX.Element;
|
|
754
|
+
}
|
|
755
|
+
interface FixedProps {
|
|
756
|
+
children: React.ReactNode;
|
|
757
|
+
heightClass: string;
|
|
758
|
+
className?: string;
|
|
759
|
+
}
|
|
760
|
+
interface BodyProps {
|
|
761
|
+
children: React.ReactNode;
|
|
762
|
+
className?: string;
|
|
763
|
+
}
|
|
764
|
+
export {};
|
|
765
|
+
|
|
766
|
+
// -----------------------------------------------------------------------------
|
|
767
|
+
// layout/Sidebar.d.ts
|
|
768
|
+
// -----------------------------------------------------------------------------
|
|
769
|
+
interface SidebarProps {
|
|
770
|
+
children: React.ReactNode | React.ReactNode[];
|
|
771
|
+
logo?: React.ReactNode;
|
|
772
|
+
className?: string;
|
|
773
|
+
}
|
|
774
|
+
export declare function Sidebar({ children, logo, className }: SidebarProps): import("react").JSX.Element;
|
|
775
|
+
interface SidebarSectionProps {
|
|
776
|
+
children: React.ReactNode | React.ReactNode[];
|
|
777
|
+
title?: React.ReactNode;
|
|
778
|
+
action?: React.ReactNode;
|
|
779
|
+
isFooter?: boolean;
|
|
780
|
+
className?: string;
|
|
781
|
+
}
|
|
782
|
+
export declare function SidebarSection({ children, title, action, isFooter, className }: SidebarSectionProps): import("react").JSX.Element;
|
|
783
|
+
export declare function SidebarTooltip({ children, text }: {
|
|
784
|
+
children: React.ReactNode;
|
|
785
|
+
text?: string;
|
|
786
|
+
}): string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null | undefined;
|
|
787
|
+
export interface SidebarItemIconProps {
|
|
788
|
+
className?: string;
|
|
789
|
+
'aria-hidden'?: boolean | 'true' | 'false';
|
|
790
|
+
}
|
|
791
|
+
export interface SidebarItemProps {
|
|
792
|
+
href: string;
|
|
793
|
+
to?: string;
|
|
794
|
+
icon?: React.ComponentType<SidebarItemIconProps>;
|
|
795
|
+
current?: boolean;
|
|
796
|
+
onClick?: (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
|
|
797
|
+
children: React.ReactNode | React.ReactNode[];
|
|
798
|
+
tools?: React.ReactNode;
|
|
799
|
+
className?: string;
|
|
800
|
+
id?: string;
|
|
801
|
+
external?: boolean;
|
|
802
|
+
replace?: boolean;
|
|
803
|
+
skipStickyParams?: boolean;
|
|
804
|
+
}
|
|
805
|
+
export declare function SidebarItem({ external, className, tools, children, icon: Icon, href, to, current, onClick, replace, skipStickyParams, }: SidebarItemProps): import("react").JSX.Element;
|
|
806
|
+
export {};
|
|
807
|
+
|
|
808
|
+
// -----------------------------------------------------------------------------
|
|
809
|
+
// router/index.d.ts
|
|
810
|
+
// -----------------------------------------------------------------------------
|
|
811
|
+
export * from './FixLinks.js';
|
|
812
|
+
export * from './HistoryNavigator.js';
|
|
813
|
+
export * from './Nav.js';
|
|
814
|
+
export * from './NestedNavigationContext.js';
|
|
815
|
+
export * from './NestedRouterProvider.js';
|
|
816
|
+
export * from './PathMatcher.js';
|
|
817
|
+
export * as Path from './path.js';
|
|
818
|
+
export * from './Redirect.js';
|
|
819
|
+
export * from './RouteComponent.js';
|
|
820
|
+
export * from './Router.js';
|
|
821
|
+
export * from './RouterProvider.js';
|
|
822
|
+
|
|
823
|
+
// -----------------------------------------------------------------------------
|
|
824
|
+
// router/RouterProvider.d.ts
|
|
825
|
+
// -----------------------------------------------------------------------------
|
|
826
|
+
import type React from 'react';
|
|
827
|
+
import type { LocationChangeEvent } from './HistoryNavigator';
|
|
828
|
+
import { type Route } from './Router';
|
|
829
|
+
interface RouterProviderProps {
|
|
830
|
+
routes: Route[];
|
|
831
|
+
/**
|
|
832
|
+
* The path to use for the root resource. Defaults to '/'. Cannot contains path variables or wildcards
|
|
833
|
+
*/
|
|
834
|
+
index?: string;
|
|
835
|
+
children?: React.ReactNode;
|
|
836
|
+
onChange?: (event: LocationChangeEvent) => void;
|
|
837
|
+
}
|
|
838
|
+
export declare function RouterProvider({ routes, index, onChange, children }: RouterProviderProps): React.JSX.Element | undefined;
|
|
839
|
+
export {};
|
|
840
|
+
|
|
841
|
+
// -----------------------------------------------------------------------------
|
|
842
|
+
// router/NestedRouterProvider.d.ts
|
|
843
|
+
// -----------------------------------------------------------------------------
|
|
844
|
+
import type React from 'react';
|
|
845
|
+
import { type Route } from './Router';
|
|
846
|
+
interface RouterProviderProps {
|
|
847
|
+
routes: Route[];
|
|
848
|
+
/**
|
|
849
|
+
* The path to use for the root resource. Defaults to '/'. Cannot contains path variables or wildcards
|
|
850
|
+
*/
|
|
851
|
+
index?: string;
|
|
852
|
+
children?: React.ReactNode;
|
|
853
|
+
fixLinks?: boolean;
|
|
854
|
+
}
|
|
855
|
+
export declare function NestedRouterProvider({ routes, index, children, fixLinks }: RouterProviderProps): React.JSX.Element | null | undefined;
|
|
856
|
+
export {};
|
|
857
|
+
|
|
858
|
+
// -----------------------------------------------------------------------------
|
|
859
|
+
// router/Nav.d.ts
|
|
860
|
+
// -----------------------------------------------------------------------------
|
|
861
|
+
import type { SyntheticEvent } from 'react';
|
|
862
|
+
/**
|
|
863
|
+
* Wraps a <a href="..."> and perform the navigation to href through the router.
|
|
864
|
+
*/
|
|
865
|
+
interface NavProps {
|
|
866
|
+
children: React.ReactNode | React.ReactNode[];
|
|
867
|
+
/**
|
|
868
|
+
* Optional router navigation target. If omitted, the wrapped anchor href is used.
|
|
869
|
+
*/
|
|
870
|
+
to?: string;
|
|
871
|
+
/**
|
|
872
|
+
* A click was intercepted
|
|
873
|
+
* @param ev
|
|
874
|
+
* @returns
|
|
875
|
+
*/
|
|
876
|
+
onClick?: (ev: SyntheticEvent) => void;
|
|
877
|
+
/**
|
|
878
|
+
* If true, use replaceState instead of pushState (no new browser history entry).
|
|
879
|
+
* Defaults to true for backward compatibility.
|
|
880
|
+
*/
|
|
881
|
+
replace?: boolean;
|
|
882
|
+
}
|
|
883
|
+
export declare function Nav({ children, to, onClick, replace }: NavProps): import("react").JSX.Element;
|
|
884
|
+
/**
|
|
885
|
+
* An anchor that navigates via the router. Internal paths are intercepted and carry the active
|
|
886
|
+
* tenant sticky params (a/p); external URLs and `_blank` targets fall through to the browser.
|
|
887
|
+
*/
|
|
888
|
+
interface NavLinkProps {
|
|
889
|
+
children: React.ReactNode | React.ReactNode[];
|
|
890
|
+
href: string;
|
|
891
|
+
className?: string;
|
|
892
|
+
target?: string;
|
|
893
|
+
/**
|
|
894
|
+
* use the root router to navigate
|
|
895
|
+
*/
|
|
896
|
+
topLevelNav?: boolean;
|
|
897
|
+
clearBreadcrumbs?: boolean;
|
|
898
|
+
replace?: boolean;
|
|
899
|
+
skipStickyParams?: boolean;
|
|
900
|
+
}
|
|
901
|
+
export declare function NavLink({ children, href, className, target, topLevelNav, clearBreadcrumbs, replace, skipStickyParams, }: NavLinkProps): import("react").JSX.Element;
|
|
902
|
+
export {};
|
|
903
|
+
|
|
904
|
+
// -----------------------------------------------------------------------------
|
|
905
|
+
// session/index.d.ts
|
|
906
|
+
// -----------------------------------------------------------------------------
|
|
907
|
+
export * from './auth/composable';
|
|
908
|
+
export * from './auth/firebase';
|
|
909
|
+
export * from './auth/useAuthState';
|
|
910
|
+
export * from './auth/useCurrentTenant';
|
|
911
|
+
export * from './DevSessionProvider';
|
|
912
|
+
export * from './UserSession';
|
|
913
|
+
export * from './UserSessionProvider';
|
|
914
|
+
export * from './useUXTracking';
|
|
915
|
+
|
|
916
|
+
// -----------------------------------------------------------------------------
|
|
917
|
+
// session/UserSession.d.ts
|
|
918
|
+
// -----------------------------------------------------------------------------
|
|
919
|
+
import { VertesiaClient } from '@vertesia/client';
|
|
920
|
+
import type { AuthTokenPayload } from '@vertesia/common';
|
|
921
|
+
import { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY } from './constants';
|
|
922
|
+
export { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY };
|
|
923
|
+
export interface UserSessionLoginOptions {
|
|
924
|
+
loadOnboardingStatus?: boolean;
|
|
925
|
+
}
|
|
926
|
+
declare class UserSession {
|
|
927
|
+
isLoading: boolean;
|
|
928
|
+
client: VertesiaClient;
|
|
929
|
+
authError?: Error;
|
|
930
|
+
authToken?: AuthTokenPayload;
|
|
931
|
+
setSession?: (session: UserSession) => void;
|
|
932
|
+
lastSelectedAccount?: string | null;
|
|
933
|
+
lastSelectedProject?: string | null;
|
|
934
|
+
onboardingComplete?: boolean;
|
|
935
|
+
constructor(client?: VertesiaClient, setSession?: (session: UserSession) => void);
|
|
936
|
+
get store(): import("@vertesia/client").ZenoClient;
|
|
937
|
+
get user(): AuthTokenPayload | undefined;
|
|
938
|
+
get account(): {
|
|
939
|
+
id: string;
|
|
940
|
+
name: string;
|
|
941
|
+
} | undefined;
|
|
942
|
+
get project(): {
|
|
943
|
+
account: string;
|
|
944
|
+
id: string;
|
|
945
|
+
name: string;
|
|
946
|
+
restricted?: boolean | undefined;
|
|
947
|
+
} | undefined;
|
|
948
|
+
get accounts(): {
|
|
949
|
+
id: string;
|
|
950
|
+
name: string;
|
|
951
|
+
}[] | undefined;
|
|
952
|
+
get authCallback(): Promise<string>;
|
|
953
|
+
get rawAuthToken(): Promise<string>;
|
|
954
|
+
/**
|
|
955
|
+
* Force a fresh Vertesia JWT from STS, bypassing the in-memory cache.
|
|
956
|
+
* Use this when the current token's claims (e.g. `apps`) are suspected
|
|
957
|
+
* stale — STS recomputes the `apps` claim from ACEs on every issuance.
|
|
958
|
+
*/
|
|
959
|
+
refreshAuthToken(): Promise<AuthTokenPayload>;
|
|
960
|
+
signOut(): void;
|
|
961
|
+
getAccount(): {
|
|
962
|
+
id: string;
|
|
963
|
+
name: string;
|
|
964
|
+
} | undefined;
|
|
965
|
+
login(token: string, options?: UserSessionLoginOptions): Promise<void>;
|
|
966
|
+
isLoggedIn(): boolean;
|
|
967
|
+
logout(): void;
|
|
968
|
+
switchAccount(targetAccountId: string): Promise<void>;
|
|
969
|
+
switchProject(targetProjectId: string): Promise<void>;
|
|
970
|
+
fetchAccounts(): Promise<void>;
|
|
971
|
+
fetchProjects(accountId: string): Promise<void>;
|
|
972
|
+
fetchOnboardingStatus(): Promise<boolean>;
|
|
973
|
+
clone(): UserSession;
|
|
974
|
+
}
|
|
975
|
+
declare const UserSessionContext: import("react").Context<UserSession | undefined>;
|
|
976
|
+
export declare function useUserSession(): UserSession;
|
|
977
|
+
export { UserSession, UserSessionContext };
|
|
978
|
+
|
|
979
|
+
// -----------------------------------------------------------------------------
|
|
980
|
+
// features/index.d.ts
|
|
981
|
+
// -----------------------------------------------------------------------------
|
|
982
|
+
export * from './activity-doc/index.js';
|
|
983
|
+
export * from './agent';
|
|
984
|
+
export * from './document-viewer/index.js';
|
|
985
|
+
export * from './environment/index.js';
|
|
986
|
+
export * from './errors/index.js';
|
|
987
|
+
export * from './facets/index.js';
|
|
988
|
+
export * from './layout/index.js';
|
|
989
|
+
export * from './magic-pdf/index.js';
|
|
990
|
+
export * from './media-viewer/index.js';
|
|
991
|
+
export * from './oauth/index.js';
|
|
992
|
+
export * from './pdf-viewer/index.js';
|
|
993
|
+
export * from './permissions/index.js';
|
|
994
|
+
export * from './store/index.js';
|
|
995
|
+
export * from './user/index.js';
|
|
996
|
+
export * from './utils/index.js';
|
|
997
|
+
export * from './views/index.js';
|
|
998
|
+
|
|
999
|
+
// -----------------------------------------------------------------------------
|
|
1000
|
+
// features/layout/GenericPageNavHeader.d.ts
|
|
1001
|
+
// -----------------------------------------------------------------------------
|
|
1002
|
+
import type { JSX, ReactElement, ReactNode } from 'react';
|
|
1003
|
+
interface GenericPageNavHeaderProps {
|
|
1004
|
+
title?: string | JSX.Element;
|
|
1005
|
+
description?: string | JSX.Element;
|
|
1006
|
+
actions?: ReactNode | ReactNode[];
|
|
1007
|
+
breadcrumbs?: ReactElement<BreadcrumbElementProps>[];
|
|
1008
|
+
isCompact?: boolean;
|
|
1009
|
+
children?: ReactNode;
|
|
1010
|
+
className?: string;
|
|
1011
|
+
useDynamicBreadcrumbs?: boolean;
|
|
1012
|
+
}
|
|
1013
|
+
interface BreadcrumbElementProps {
|
|
1014
|
+
href?: string;
|
|
1015
|
+
clearBreadcrumbs?: boolean;
|
|
1016
|
+
children?: ReactNode;
|
|
1017
|
+
}
|
|
1018
|
+
export declare function GenericPageNavHeader({ className, children, title, description, actions, breadcrumbs, useDynamicBreadcrumbs, }: GenericPageNavHeaderProps): JSX.Element;
|
|
1019
|
+
export {};
|
|
1020
|
+
|
|
1021
|
+
// -----------------------------------------------------------------------------
|
|
1022
|
+
// features/agent/chat/ModernAgentConversation.d.ts
|
|
1023
|
+
// -----------------------------------------------------------------------------
|
|
1024
|
+
import { type AgentMessage, AgentMessageType, type AgentRun, type AgentToolApprovalMode, type ConversationFile, type Plan } from '@vertesia/common';
|
|
1025
|
+
import { type AgentResourceResolver } from '@vertesia/ui/widgets';
|
|
1026
|
+
import type React from 'react';
|
|
1027
|
+
import type { AgentConversationViewMode, AgentInitialRequestTemplate, AgentInitialRequestTemplateContext } from './ModernAgentOutput/AllMessagesMixed';
|
|
1028
|
+
import type { BatchProgressPanelClassNames } from './ModernAgentOutput/BatchProgressPanel';
|
|
1029
|
+
import { type SelectedDocument, type UploadedFile } from './ModernAgentOutput/MessageInput';
|
|
1030
|
+
import type { MessageItemClassNames } from './ModernAgentOutput/MessageItem';
|
|
1031
|
+
import type { StreamingMessageClassNames } from './ModernAgentOutput/StreamingMessage';
|
|
1032
|
+
import type { ToolCallGroupClassNames } from './ModernAgentOutput/ToolCallGroup';
|
|
1033
|
+
export interface StartWorkflowOptions {
|
|
1034
|
+
tool_approval_mode?: AgentToolApprovalMode;
|
|
1035
|
+
}
|
|
1036
|
+
/** Controls whether a persisted message is included in the rendered conversation transcript. */
|
|
1037
|
+
export type AgentMessageFilter = (message: AgentMessage) => boolean;
|
|
1038
|
+
export type StartWorkflowFn = (initialMessage?: string, options?: StartWorkflowOptions) => Promise<{
|
|
1039
|
+
agent_run_id: string;
|
|
1040
|
+
} | undefined>;
|
|
1041
|
+
export type SendAgentMessageFn = (message: string, inputMetadata?: Record<string, unknown>) => void;
|
|
1042
|
+
export interface ModernAgentConversationProps {
|
|
1043
|
+
/** Stable AgentRun ID — the primary identifier for all runtime operations. */
|
|
1044
|
+
agentRunId?: string;
|
|
1045
|
+
/**
|
|
1046
|
+
* Optional override for mapping agent resource references (documents, collections, interactions,
|
|
1047
|
+
* ...) to navigation or activation targets in the chat. This overrides an inherited
|
|
1048
|
+
* AgentResourceResolverProvider; without either, resources remain non-interactive.
|
|
1049
|
+
*/
|
|
1050
|
+
resourceResolver?: AgentResourceResolver;
|
|
1051
|
+
title?: string;
|
|
1052
|
+
interactive?: boolean;
|
|
1053
|
+
onClose?: () => void;
|
|
1054
|
+
isModal?: boolean;
|
|
1055
|
+
fullWidth?: boolean;
|
|
1056
|
+
initialMessage?: string;
|
|
1057
|
+
startWorkflow?: StartWorkflowFn;
|
|
1058
|
+
startButtonText?: string;
|
|
1059
|
+
placeholder?: string;
|
|
1060
|
+
hideUserInput?: boolean;
|
|
1061
|
+
resetWorkflow?: () => void;
|
|
1062
|
+
/** Called after a restart succeeds — receives the new AgentRun for navigation */
|
|
1063
|
+
onRestart?: (newRun: AgentRun) => void;
|
|
1064
|
+
/** Called after a clone succeeds — receives the new AgentRun for navigation */
|
|
1065
|
+
onClone?: (newRun: AgentRun) => void;
|
|
1066
|
+
/** Called to show run details/internals modal */
|
|
1067
|
+
onShowDetails?: () => void;
|
|
1068
|
+
/** Whether workflow control actions such as cancel should be shown. */
|
|
1069
|
+
allowWorkflowControl?: boolean;
|
|
1070
|
+
/** Called when files are dropped/pasted/selected */
|
|
1071
|
+
onFilesSelected?: (files: File[]) => void;
|
|
1072
|
+
/** Currently uploaded files to display */
|
|
1073
|
+
uploadedFiles?: UploadedFile[];
|
|
1074
|
+
/** Called when user removes an uploaded file */
|
|
1075
|
+
onRemoveFile?: (fileId: string) => void;
|
|
1076
|
+
/** Accepted file types (e.g., ".pdf,.doc,.png") */
|
|
1077
|
+
acceptedFileTypes?: string;
|
|
1078
|
+
/** Max number of files allowed */
|
|
1079
|
+
maxFiles?: number;
|
|
1080
|
+
/** Ref populated with the internal file upload handler for external triggering */
|
|
1081
|
+
fileUploadRef?: React.MutableRefObject<((files: File[]) => void) | null>;
|
|
1082
|
+
/** Ref populated with the internal message sender for document or artifact collaboration controls. */
|
|
1083
|
+
sendMessageRef?: React.MutableRefObject<SendAgentMessageFn | null>;
|
|
1084
|
+
/** Called for each live message delivered after the conversation stream connects. */
|
|
1085
|
+
onMessage?: (message: AgentMessage) => void;
|
|
1086
|
+
/** Called when the main agent turn starts or reaches an idle/terminal state. */
|
|
1087
|
+
onAgentWorkingChange?: (isWorking: boolean) => void;
|
|
1088
|
+
/** Called when processingFiles state changes (for external progress display) */
|
|
1089
|
+
onProcessingFilesChange?: (files: Map<string, ConversationFile>) => void;
|
|
1090
|
+
/** Processing files to display in the right panel Uploads tab */
|
|
1091
|
+
processingFiles?: Map<string, ConversationFile>;
|
|
1092
|
+
/** Called when plans change (for external plan panel) */
|
|
1093
|
+
onPlansChange?: (plans: Array<{
|
|
1094
|
+
plan: Plan;
|
|
1095
|
+
timestamp: number;
|
|
1096
|
+
}>, activePlanIndex: number) => void;
|
|
1097
|
+
/** Called when workstream status changes (for external plan panel) */
|
|
1098
|
+
onWorkstreamStatusChange?: (statusMap: Map<number, Map<string, 'pending' | 'in_progress' | 'completed' | 'skipped'>>) => void;
|
|
1099
|
+
/** Controlled view mode — when provided, overrides internal state */
|
|
1100
|
+
viewMode?: AgentConversationViewMode;
|
|
1101
|
+
/** Called when view mode changes (for external control) */
|
|
1102
|
+
onViewModeChange?: (mode: AgentConversationViewMode) => void;
|
|
1103
|
+
/** Called when follow-up input availability is determined (after messages load) */
|
|
1104
|
+
onShowInputChange?: (canSendFollowUp: boolean) => void;
|
|
1105
|
+
/** Ref populated with the stop handler — call to interrupt the active agent. null when stop unavailable. */
|
|
1106
|
+
stopRef?: React.MutableRefObject<(() => void) | null>;
|
|
1107
|
+
/** Called when the stopping (in-progress) state changes */
|
|
1108
|
+
onStoppingChange?: (isStopping: boolean) => void;
|
|
1109
|
+
/** Render custom document search UI - if provided, shows search button */
|
|
1110
|
+
renderDocumentSearch?: (props: {
|
|
1111
|
+
isOpen: boolean;
|
|
1112
|
+
onClose: () => void;
|
|
1113
|
+
onSelect: (doc: SelectedDocument) => void;
|
|
1114
|
+
}) => React.ReactNode;
|
|
1115
|
+
/** Currently selected documents from search */
|
|
1116
|
+
selectedDocuments?: SelectedDocument[];
|
|
1117
|
+
/** Called when user removes a selected document */
|
|
1118
|
+
onRemoveDocument?: (docId: string) => void;
|
|
1119
|
+
hideObjectLinking?: boolean;
|
|
1120
|
+
/** Hide the internal header (for apps that render their own) */
|
|
1121
|
+
hideHeader?: boolean;
|
|
1122
|
+
/** Header density. Use compact when the surrounding page already identifies the run. */
|
|
1123
|
+
headerVariant?: 'full' | 'compact';
|
|
1124
|
+
/** Start-screen layout. Compact removes empty history; expanded-composer gives that space to the first input. */
|
|
1125
|
+
startViewVariant?: 'default' | 'compact' | 'expanded-composer';
|
|
1126
|
+
/** Hide the internal message input (for apps that render their own) */
|
|
1127
|
+
hideMessageInput?: boolean;
|
|
1128
|
+
/** Custom action shown in place of the input box when the run status is FAILED.
|
|
1129
|
+
* When omitted, the default "This Workflow is FAILED" message box is shown. */
|
|
1130
|
+
failedAction?: React.ReactNode;
|
|
1131
|
+
/** Hide the internal plan panel (for apps that render their own) */
|
|
1132
|
+
hidePlanPanel?: boolean;
|
|
1133
|
+
/** Hide workstream tabs */
|
|
1134
|
+
hideWorkstreamTabs?: boolean;
|
|
1135
|
+
/** Enable or disable the internal right panel (plan/workstreams/documents/uploads) */
|
|
1136
|
+
showRightPanel?: boolean;
|
|
1137
|
+
/** Hide the default file upload */
|
|
1138
|
+
hideFileUpload?: boolean;
|
|
1139
|
+
/** Show the Artifacts tab in the right panel (default false) */
|
|
1140
|
+
showArtifacts?: boolean;
|
|
1141
|
+
/** Hide the document preview panel that auto-opens on create_document */
|
|
1142
|
+
hideDocumentPanel?: boolean;
|
|
1143
|
+
/** Message types to exclude from the conversation view */
|
|
1144
|
+
hiddenMessageTypes?: AgentMessageType[];
|
|
1145
|
+
/**
|
|
1146
|
+
* Optional presentation-only predicate for transcript messages. Returning false hides the message without
|
|
1147
|
+
* changing the underlying conversation stream, workflow state, plans, or pending input.
|
|
1148
|
+
*/
|
|
1149
|
+
messageFilter?: AgentMessageFilter;
|
|
1150
|
+
getAttachedDocs?: () => SelectedDocument[];
|
|
1151
|
+
onAttachmentsSent?: () => void;
|
|
1152
|
+
isUploading?: boolean;
|
|
1153
|
+
getMessageContext?: () => Record<string, unknown> | undefined;
|
|
1154
|
+
/** Additional className for the MessageInput container */
|
|
1155
|
+
inputContainerClassName?: string;
|
|
1156
|
+
/** Additional className for the input field */
|
|
1157
|
+
inputClassName?: string;
|
|
1158
|
+
/** Read-only context rendered immediately above the live conversation composer. */
|
|
1159
|
+
composerContext?: React.ReactNode;
|
|
1160
|
+
/** Additional className for the root container */
|
|
1161
|
+
className?: string;
|
|
1162
|
+
messageItemClassNames?: MessageItemClassNames;
|
|
1163
|
+
/** Sparse MESSAGE_STYLES overrides passed to every MessageItem */
|
|
1164
|
+
messageStyleOverrides?: import('./ModernAgentOutput/MessageItem').MessageItemProps['messageStyleOverrides'];
|
|
1165
|
+
toolCallGroupClassNames?: ToolCallGroupClassNames;
|
|
1166
|
+
/** Hide ToolCallGroup in this view mode */
|
|
1167
|
+
hideToolCallsInViewMode?: AgentConversationViewMode[];
|
|
1168
|
+
streamingMessageClassNames?: StreamingMessageClassNames;
|
|
1169
|
+
batchProgressPanelClassNames?: BatchProgressPanelClassNames;
|
|
1170
|
+
/** className override for the working indicator container */
|
|
1171
|
+
workingIndicatorClassName?: string;
|
|
1172
|
+
/** className override for the message list container */
|
|
1173
|
+
messageListClassName?: string;
|
|
1174
|
+
/** Custom component to render store/document links instead of default NavLink navigation */
|
|
1175
|
+
StoreLinkComponent?: React.ComponentType<{
|
|
1176
|
+
href: string;
|
|
1177
|
+
documentId: string;
|
|
1178
|
+
children: React.ReactNode;
|
|
1179
|
+
}>;
|
|
1180
|
+
/** Custom component to render store/collection links instead of default NavLink navigation */
|
|
1181
|
+
CollectionLinkComponent?: React.ComponentType<{
|
|
1182
|
+
href: string;
|
|
1183
|
+
collectionId: string;
|
|
1184
|
+
children: React.ReactNode;
|
|
1185
|
+
}>;
|
|
1186
|
+
/** Optional message to display as the first user message in the conversation.
|
|
1187
|
+
* Purely visual/UI — not sent to temporal. Renders as a QUESTION MessageItem before real messages. */
|
|
1188
|
+
prependFriendlyMessage?: string;
|
|
1189
|
+
/** Optional structured request data to render as the first user entry in the conversation. */
|
|
1190
|
+
initialRequestData?: unknown;
|
|
1191
|
+
/** Optional schema used by the default request renderer. */
|
|
1192
|
+
initialRequestSchema?: AgentInitialRequestTemplateContext['schema'];
|
|
1193
|
+
/** Optional label/title for the default structured request renderer. */
|
|
1194
|
+
initialRequestTitle?: string;
|
|
1195
|
+
/** Optional agent-specific request renderer for arbitrary input schemas. */
|
|
1196
|
+
initialRequestTemplate?: AgentInitialRequestTemplate;
|
|
1197
|
+
/**
|
|
1198
|
+
* Data to provide to fusion-fragment code blocks for rendering.
|
|
1199
|
+
* When provided, fusion-fragments in agent responses will display
|
|
1200
|
+
* this data according to their template structure.
|
|
1201
|
+
* @example { fundName: "Tech Growth IV", vintage: 2024, totalCommitments: 500000000 }
|
|
1202
|
+
*/
|
|
1203
|
+
fusionData?: Record<string, unknown>;
|
|
1204
|
+
/** Optional payload content to show as a "Payload" tab in the right panel */
|
|
1205
|
+
payloadContent?: React.ReactNode;
|
|
1206
|
+
/** Optional conversation content to show as a "Conversation" tab in the right panel */
|
|
1207
|
+
conversationContent?: React.ReactNode;
|
|
1208
|
+
/** When true, renders the conversation inside the right panel as a "Conversation" tab */
|
|
1209
|
+
conversationTab?: boolean;
|
|
1210
|
+
/** Internal optimistic first message shown while a newly-started run is waiting for persisted messages. */
|
|
1211
|
+
pendingStartMessage?: string;
|
|
1212
|
+
/** Timestamp for the internal optimistic first-message waiting state. */
|
|
1213
|
+
pendingStartTimestamp?: number;
|
|
1214
|
+
/**
|
|
1215
|
+
* Initial approval mode: seeds the start screen for a new interactive run, and is shown
|
|
1216
|
+
* while an existing run's metadata loads. Defaults to `full_control`.
|
|
1217
|
+
*/
|
|
1218
|
+
initialToolApprovalMode?: AgentToolApprovalMode;
|
|
1219
|
+
/** Force display playback controls on or off. When omitted, local playback can be toggled from the header. */
|
|
1220
|
+
enablePlayback?: boolean;
|
|
1221
|
+
/** Show the Debug button for local playback controls. Defaults to true; set to false to hide it. */
|
|
1222
|
+
showPlaybackToggle?: boolean;
|
|
1223
|
+
}
|
|
1224
|
+
export declare function ModernAgentConversation(props: ModernAgentConversationProps): React.JSX.Element;
|
|
1225
|
+
|
|
1226
|
+
// -----------------------------------------------------------------------------
|
|
1227
|
+
// features/store/objects/index.d.ts
|
|
1228
|
+
// -----------------------------------------------------------------------------
|
|
1229
|
+
export * from './components';
|
|
1230
|
+
export * from './DocumentPreviewPanel';
|
|
1231
|
+
export * from './DocumentSearchResults';
|
|
1232
|
+
export * from './DocumentSelectionProvider';
|
|
1233
|
+
export * from './DocumentTable';
|
|
1234
|
+
export * from './ExportPropertiesModal';
|
|
1235
|
+
export * from './layout';
|
|
1236
|
+
export * from './search';
|
|
1237
|
+
export * from './selection';
|
|
1238
|
+
export * from './upload';
|
|
1239
|
+
|
|
1240
|
+
// -----------------------------------------------------------------------------
|
|
1241
|
+
// features/store/objects/search/index.d.ts
|
|
1242
|
+
// -----------------------------------------------------------------------------
|
|
1243
|
+
export * from './DocumentSearchContext';
|
|
1244
|
+
export * from './DocumentSearchProvider';
|
|
1245
|
+
|
|
1246
|
+
// -----------------------------------------------------------------------------
|
|
1247
|
+
// features/store/objects/components/index.d.ts
|
|
1248
|
+
// -----------------------------------------------------------------------------
|
|
1249
|
+
export * from './ContentDispositionButton';
|
|
1250
|
+
export * from './ContentOverview';
|
|
1251
|
+
export * from './DocumentEditingPanel';
|
|
1252
|
+
export * from './DocumentIcon';
|
|
1253
|
+
export * from './DocumentInput';
|
|
1254
|
+
export * from './PropertiesEditorModal';
|
|
1255
|
+
export * from './SaveVersionConfirmModal';
|
|
1256
|
+
export * from './SelectDocument';
|
|
1257
|
+
export * from './SelectDocumentModal';
|
|
1258
|
+
export * from './useDownloadFile';
|
|
1259
|
+
|
|
1260
|
+
// -----------------------------------------------------------------------------
|
|
1261
|
+
// features/store/collections/index.d.ts
|
|
1262
|
+
// -----------------------------------------------------------------------------
|
|
1263
|
+
export * from './BrowseCollectionView';
|
|
1264
|
+
export * from './CollectionsTable';
|
|
1265
|
+
export * from './CreateCollection';
|
|
1266
|
+
export * from './EditCollectionView';
|
|
1267
|
+
export * from './SelectCollection';
|
|
1268
|
+
export * from './SharedPropsEditor';
|
|
1269
|
+
export * from './SyncMemberHeadsToggle';
|
|
1270
|
+
|
|
1271
|
+
// -----------------------------------------------------------------------------
|
|
1272
|
+
// widgets/index.d.ts
|
|
1273
|
+
// -----------------------------------------------------------------------------
|
|
1274
|
+
export * from './form/index.js';
|
|
1275
|
+
export * from './json-view/index.js';
|
|
1276
|
+
export * from './markdown/index.js';
|
|
1277
|
+
export * from './monacoEditor/index.js';
|
|
1278
|
+
export * from './Progress.js';
|
|
1279
|
+
export * from './properties/index.js';
|
|
1280
|
+
export * from './SvgIcon.js';
|
|
1281
|
+
export * from './schema-editor/index.js';
|
|
1282
|
+
export * from './upload/index.js';
|
|
1283
|
+
export * from './xml-viewer/index.js';
|
|
1284
|
+
|