@lukeashford/aurelius 2.9.0 → 2.10.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/dist/index.d.mts CHANGED
@@ -1,70 +1,70 @@
1
- import React from 'react';
1
+ import React$1 from 'react';
2
2
  import { Config } from 'dompurify';
3
3
 
4
4
  type ButtonVariant = 'primary' | 'important' | 'elevated' | 'outlined' | 'featured' | 'ghost' | 'danger';
5
5
  type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
6
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6
+ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
7
7
  variant?: ButtonVariant;
8
8
  size?: ButtonSize;
9
9
  loading?: boolean;
10
10
  }
11
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
12
12
 
13
- interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
13
+ interface InputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
14
14
  error?: boolean;
15
- leadingIcon?: React.ReactNode;
16
- trailingIcon?: React.ReactNode;
15
+ leadingIcon?: React$1.ReactNode;
16
+ trailingIcon?: React$1.ReactNode;
17
17
  }
18
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
18
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
19
19
 
20
20
  type CardVariant = 'default' | 'elevated' | 'outlined' | 'ghost' | 'featured';
21
- interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
21
+ interface CardProps extends React$1.HTMLAttributes<HTMLDivElement> {
22
22
  variant?: CardVariant;
23
23
  interactive?: boolean;
24
24
  selected?: boolean;
25
25
  noPadding?: boolean;
26
26
  }
27
- interface CardHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
28
- title?: React.ReactNode;
29
- subtitle?: React.ReactNode;
30
- action?: React.ReactNode;
27
+ interface CardHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'title'> {
28
+ title?: React$1.ReactNode;
29
+ subtitle?: React$1.ReactNode;
30
+ action?: React$1.ReactNode;
31
31
  }
32
- interface CardBodyProps extends React.HTMLAttributes<HTMLDivElement> {
32
+ interface CardBodyProps extends React$1.HTMLAttributes<HTMLDivElement> {
33
33
  }
34
- interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
34
+ interface CardFooterProps extends React$1.HTMLAttributes<HTMLDivElement> {
35
35
  align?: 'start' | 'center' | 'end' | 'between';
36
36
  }
37
- interface CardMediaProps extends React.HTMLAttributes<HTMLDivElement> {
37
+ interface CardMediaProps extends React$1.HTMLAttributes<HTMLDivElement> {
38
38
  src?: string;
39
39
  alt?: string;
40
40
  aspect?: 'video' | 'square' | 'wide';
41
41
  position?: 'top' | 'bottom';
42
42
  isVideo?: boolean;
43
43
  }
44
- declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>> & {
45
- Header: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
46
- Body: React.ForwardRefExoticComponent<CardBodyProps & React.RefAttributes<HTMLDivElement>>;
47
- Footer: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
48
- Media: React.ForwardRefExoticComponent<CardMediaProps & React.RefAttributes<HTMLDivElement>>;
44
+ declare const Card: React$1.ForwardRefExoticComponent<CardProps & React$1.RefAttributes<HTMLDivElement>> & {
45
+ Header: React$1.ForwardRefExoticComponent<CardHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
46
+ Body: React$1.ForwardRefExoticComponent<CardBodyProps & React$1.RefAttributes<HTMLDivElement>>;
47
+ Footer: React$1.ForwardRefExoticComponent<CardFooterProps & React$1.RefAttributes<HTMLDivElement>>;
48
+ Media: React$1.ForwardRefExoticComponent<CardMediaProps & React$1.RefAttributes<HTMLDivElement>>;
49
49
  };
50
50
 
51
51
  type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'fluid' | 'responsive';
52
- interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
52
+ interface ContainerProps extends React$1.HTMLAttributes<HTMLDivElement> {
53
53
  size?: ContainerSize;
54
54
  }
55
- declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
55
+ declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLDivElement>>;
56
56
 
57
57
  type RowGutter = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
58
58
  type RowJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
59
59
  type RowAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
60
- interface RowProps extends React.HTMLAttributes<HTMLDivElement> {
60
+ interface RowProps extends React$1.HTMLAttributes<HTMLDivElement> {
61
61
  gutter?: RowGutter;
62
62
  gutterX?: RowGutter;
63
63
  gutterY?: RowGutter;
64
64
  justify?: RowJustify;
65
65
  align?: RowAlign;
66
66
  }
67
- declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLDivElement>>;
67
+ declare const Row: React$1.ForwardRefExoticComponent<RowProps & React$1.RefAttributes<HTMLDivElement>>;
68
68
 
69
69
  type ColSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto' | 'full';
70
70
  type ColOffset = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
@@ -77,18 +77,18 @@ interface ResponsiveValue<T> {
77
77
  xl?: T;
78
78
  '2xl'?: T;
79
79
  }
80
- interface ColProps extends React.HTMLAttributes<HTMLDivElement> {
80
+ interface ColProps extends React$1.HTMLAttributes<HTMLDivElement> {
81
81
  span?: ColSpan | ResponsiveValue<ColSpan>;
82
82
  offset?: ColOffset | ResponsiveValue<ColOffset>;
83
83
  order?: ColOrder | ResponsiveValue<ColOrder>;
84
84
  }
85
- declare const Col: React.ForwardRefExoticComponent<ColProps & React.RefAttributes<HTMLDivElement>>;
85
+ declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLDivElement>>;
86
86
 
87
87
  type StackDirection = 'horizontal' | 'vertical';
88
88
  type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
89
89
  type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
90
90
  type StackGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
91
- interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
91
+ interface StackProps extends React$1.HTMLAttributes<HTMLDivElement> {
92
92
  direction?: StackDirection;
93
93
  align?: StackAlign;
94
94
  justify?: StackJustify;
@@ -96,140 +96,220 @@ interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
96
96
  wrap?: boolean;
97
97
  as?: 'div' | 'section' | 'article' | 'nav' | 'aside' | 'header' | 'footer' | 'main';
98
98
  }
99
- declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
99
+ declare const Stack: React$1.ForwardRefExoticComponent<StackProps & React$1.RefAttributes<HTMLDivElement>>;
100
100
 
101
101
  type DividerOrientation = 'horizontal' | 'vertical';
102
102
  type DividerVariant = 'solid' | 'dashed' | 'dotted';
103
- interface DividerProps extends React.HTMLAttributes<HTMLHRElement> {
103
+ interface DividerProps extends React$1.HTMLAttributes<HTMLHRElement> {
104
104
  orientation?: DividerOrientation;
105
105
  variant?: DividerVariant;
106
- label?: React.ReactNode;
106
+ label?: React$1.ReactNode;
107
107
  color?: 'default' | 'gold' | 'muted';
108
108
  }
109
- declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLHRElement>>;
109
+ declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.RefAttributes<HTMLHRElement>>;
110
110
 
111
111
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
112
112
  type AvatarStatus = 'online' | 'offline' | 'busy';
113
- interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
113
+ interface AvatarProps extends React$1.HTMLAttributes<HTMLDivElement> {
114
114
  src?: string;
115
115
  alt?: string;
116
116
  name?: string;
117
117
  size?: AvatarSize;
118
118
  status?: AvatarStatus;
119
119
  }
120
- declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
120
+ declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLDivElement>>;
121
121
 
122
122
  type BadgeVariant = 'default' | 'gold' | 'success' | 'error' | 'warning' | 'info';
123
- interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
123
+ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
124
124
  variant?: BadgeVariant;
125
125
  }
126
- declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
126
+ declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
127
127
 
128
128
  type TooltipSide = 'top' | 'right' | 'bottom' | 'left';
129
129
  interface TooltipProps {
130
- content: React.ReactNode;
131
- children: React.ReactElement;
130
+ content: React$1.ReactNode;
131
+ children: React$1.ReactElement;
132
132
  open?: boolean;
133
133
  side?: TooltipSide;
134
134
  }
135
- declare const Tooltip: React.FC<TooltipProps>;
135
+ declare const Tooltip: React$1.FC<TooltipProps>;
136
136
 
137
- interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
137
+ interface TableProps extends React$1.TableHTMLAttributes<HTMLTableElement> {
138
138
  responsive?: boolean;
139
139
  }
140
- declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
141
- interface TableHeaderProps extends React.HTMLAttributes<HTMLTableSectionElement> {
140
+ declare const Table: React$1.ForwardRefExoticComponent<TableProps & React$1.RefAttributes<HTMLTableElement>>;
141
+ interface TableHeaderProps extends React$1.HTMLAttributes<HTMLTableSectionElement> {
142
142
  }
143
- declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableSectionElement>>;
144
- interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
143
+ declare const TableHeader: React$1.ForwardRefExoticComponent<TableHeaderProps & React$1.RefAttributes<HTMLTableSectionElement>>;
144
+ interface TableBodyProps extends React$1.HTMLAttributes<HTMLTableSectionElement> {
145
145
  }
146
- declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
147
- interface TableFooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {
146
+ declare const TableBody: React$1.ForwardRefExoticComponent<TableBodyProps & React$1.RefAttributes<HTMLTableSectionElement>>;
147
+ interface TableFooterProps extends React$1.HTMLAttributes<HTMLTableSectionElement> {
148
148
  }
149
- declare const TableFooter: React.ForwardRefExoticComponent<TableFooterProps & React.RefAttributes<HTMLTableSectionElement>>;
150
- interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
149
+ declare const TableFooter: React$1.ForwardRefExoticComponent<TableFooterProps & React$1.RefAttributes<HTMLTableSectionElement>>;
150
+ interface TableRowProps extends React$1.HTMLAttributes<HTMLTableRowElement> {
151
151
  hoverable?: boolean;
152
152
  selected?: boolean;
153
153
  }
154
- declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
155
- interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
154
+ declare const TableRow: React$1.ForwardRefExoticComponent<TableRowProps & React$1.RefAttributes<HTMLTableRowElement>>;
155
+ interface TableHeadProps extends React$1.ThHTMLAttributes<HTMLTableCellElement> {
156
156
  sortable?: boolean;
157
157
  sortDirection?: 'asc' | 'desc' | null;
158
158
  }
159
- declare const TableHead: React.ForwardRefExoticComponent<TableHeadProps & React.RefAttributes<HTMLTableCellElement>>;
160
- interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
159
+ declare const TableHead: React$1.ForwardRefExoticComponent<TableHeadProps & React$1.RefAttributes<HTMLTableCellElement>>;
160
+ interface TableCellProps extends React$1.TdHTMLAttributes<HTMLTableCellElement> {
161
161
  }
162
- declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
163
- interface TableCaptionProps extends React.HTMLAttributes<HTMLTableCaptionElement> {
162
+ declare const TableCell: React$1.ForwardRefExoticComponent<TableCellProps & React$1.RefAttributes<HTMLTableCellElement>>;
163
+ interface TableCaptionProps extends React$1.HTMLAttributes<HTMLTableCaptionElement> {
164
164
  }
165
- declare const TableCaption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
165
+ declare const TableCaption: React$1.ForwardRefExoticComponent<TableCaptionProps & React$1.RefAttributes<HTMLTableCaptionElement>>;
166
166
 
167
- interface ListProps extends React.HTMLAttributes<HTMLUListElement> {
167
+ interface ListProps extends React$1.HTMLAttributes<HTMLUListElement> {
168
168
  variant?: 'default' | 'bordered' | 'divided';
169
169
  ordered?: boolean;
170
170
  }
171
- declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLUListElement>>;
172
- interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
173
- leading?: React.ReactNode;
174
- trailing?: React.ReactNode;
171
+ declare const List: React$1.ForwardRefExoticComponent<ListProps & React$1.RefAttributes<HTMLUListElement>>;
172
+ interface ListItemProps extends React$1.LiHTMLAttributes<HTMLLIElement> {
173
+ leading?: React$1.ReactNode;
174
+ trailing?: React$1.ReactNode;
175
175
  interactive?: boolean;
176
176
  selected?: boolean;
177
177
  disabled?: boolean;
178
178
  }
179
- declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLLIElement>>;
180
- interface ListItemTextProps extends React.HTMLAttributes<HTMLDivElement> {
181
- primary: React.ReactNode;
182
- secondary?: React.ReactNode;
179
+ declare const ListItem: React$1.ForwardRefExoticComponent<ListItemProps & React$1.RefAttributes<HTMLLIElement>>;
180
+ interface ListItemTextProps extends React$1.HTMLAttributes<HTMLDivElement> {
181
+ primary: React$1.ReactNode;
182
+ secondary?: React$1.ReactNode;
183
183
  }
184
- declare const ListItemText: React.ForwardRefExoticComponent<ListItemTextProps & React.RefAttributes<HTMLDivElement>>;
185
- interface ListSubheaderProps extends React.HTMLAttributes<HTMLLIElement> {
184
+ declare const ListItemText: React$1.ForwardRefExoticComponent<ListItemTextProps & React$1.RefAttributes<HTMLDivElement>>;
185
+ interface ListSubheaderProps extends React$1.HTMLAttributes<HTMLLIElement> {
186
186
  }
187
- declare const ListSubheader: React.ForwardRefExoticComponent<ListSubheaderProps & React.RefAttributes<HTMLLIElement>>;
187
+ declare const ListSubheader: React$1.ForwardRefExoticComponent<ListSubheaderProps & React$1.RefAttributes<HTMLLIElement>>;
188
188
 
189
- interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
189
+ type FileChipStatus = 'pending' | 'uploading' | 'complete' | 'error';
190
+ interface FileChipProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'children'> {
191
+ /**
192
+ * File name to display
193
+ */
194
+ name: string;
195
+ /**
196
+ * File size in bytes (optional, will be formatted)
197
+ */
198
+ size?: number;
199
+ /**
200
+ * MIME type for icon selection
201
+ */
202
+ type?: string;
203
+ /**
204
+ * Upload/processing status
205
+ */
206
+ status?: FileChipStatus;
207
+ /**
208
+ * Preview image URL (for images)
209
+ */
210
+ previewUrl?: string;
211
+ /**
212
+ * Called when the remove button is clicked
213
+ */
214
+ onRemove?: () => void;
215
+ /**
216
+ * Whether the chip is removable
217
+ */
218
+ removable?: boolean;
219
+ /**
220
+ * Error message to display (when status is 'error')
221
+ */
222
+ error?: string;
223
+ }
224
+ declare const FileChip: React$1.ForwardRefExoticComponent<FileChipProps & React$1.RefAttributes<HTMLDivElement>>;
225
+
226
+ interface AttachmentItem {
227
+ /**
228
+ * Unique identifier
229
+ */
230
+ id: string;
231
+ /**
232
+ * The File object
233
+ */
234
+ file: File;
235
+ /**
236
+ * Blob URL for image previews
237
+ */
238
+ previewUrl?: string;
239
+ /**
240
+ * Current status
241
+ */
242
+ status: FileChipStatus;
243
+ /**
244
+ * Error message if status is 'error'
245
+ */
246
+ error?: string;
247
+ }
248
+ interface AttachmentPreviewProps extends React$1.HTMLAttributes<HTMLDivElement> {
249
+ /**
250
+ * Array of attachments to display
251
+ */
252
+ attachments: AttachmentItem[];
253
+ /**
254
+ * Called when an attachment should be removed
255
+ */
256
+ onRemove?: (id: string) => void;
257
+ /**
258
+ * Whether attachments are removable
259
+ */
260
+ removable?: boolean;
261
+ /**
262
+ * Maximum number of attachments to show before collapsing
263
+ * Set to 0 or undefined to show all
264
+ */
265
+ maxVisible?: number;
266
+ }
267
+ declare const AttachmentPreview: React$1.ForwardRefExoticComponent<AttachmentPreviewProps & React$1.RefAttributes<HTMLDivElement>>;
268
+
269
+ interface LabelProps extends React$1.LabelHTMLAttributes<HTMLLabelElement> {
190
270
  required?: boolean;
191
271
  }
192
- declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
272
+ declare const Label: React$1.ForwardRefExoticComponent<LabelProps & React$1.RefAttributes<HTMLLabelElement>>;
193
273
 
194
- interface HelperTextProps extends React.HTMLAttributes<HTMLParagraphElement> {
274
+ interface HelperTextProps extends React$1.HTMLAttributes<HTMLParagraphElement> {
195
275
  error?: boolean;
196
276
  }
197
- declare const HelperText: React.ForwardRefExoticComponent<HelperTextProps & React.RefAttributes<HTMLParagraphElement>>;
277
+ declare const HelperText: React$1.ForwardRefExoticComponent<HelperTextProps & React$1.RefAttributes<HTMLParagraphElement>>;
198
278
 
199
- interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
279
+ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
200
280
  error?: boolean;
201
281
  }
202
- declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
282
+ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
203
283
 
204
284
  interface SelectOption {
205
285
  label: string;
206
286
  value: string | number;
207
287
  }
208
- interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
288
+ interface SelectProps extends React$1.SelectHTMLAttributes<HTMLSelectElement> {
209
289
  error?: boolean;
210
290
  options?: SelectOption[];
211
291
  }
212
- declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
292
+ declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
213
293
 
214
- interface CheckboxProps extends React.InputHTMLAttributes<HTMLInputElement> {
294
+ interface CheckboxProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
215
295
  label?: string;
216
296
  }
217
- declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
297
+ declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>;
218
298
 
219
- interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
299
+ interface RadioProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
220
300
  label?: string;
221
301
  }
222
- declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
302
+ declare const Radio: React$1.ForwardRefExoticComponent<RadioProps & React$1.RefAttributes<HTMLInputElement>>;
223
303
 
224
- interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
304
+ interface SwitchProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
225
305
  checked?: boolean;
226
306
  defaultChecked?: boolean;
227
307
  onCheckedChange?: (checked: boolean) => void;
228
308
  label?: string;
229
309
  }
230
- declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
310
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
231
311
 
232
- interface SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
312
+ interface SliderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onChange'> {
233
313
  value?: number;
234
314
  defaultValue?: number;
235
315
  min?: number;
@@ -242,46 +322,46 @@ interface SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChan
242
322
  formatValue?: (value: number) => string;
243
323
  size?: 'sm' | 'md' | 'lg';
244
324
  }
245
- declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
325
+ declare const Slider: React$1.ForwardRefExoticComponent<SliderProps & React$1.RefAttributes<HTMLDivElement>>;
246
326
 
247
- interface InputGroupProps extends React.HTMLAttributes<HTMLDivElement> {
327
+ interface InputGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
248
328
  }
249
- declare const InputGroup: React.ForwardRefExoticComponent<InputGroupProps & React.RefAttributes<HTMLDivElement>>;
250
- interface InputAddonProps extends React.HTMLAttributes<HTMLDivElement> {
329
+ declare const InputGroup: React$1.ForwardRefExoticComponent<InputGroupProps & React$1.RefAttributes<HTMLDivElement>>;
330
+ interface InputAddonProps extends React$1.HTMLAttributes<HTMLDivElement> {
251
331
  }
252
- declare const InputLeftAddon: React.ForwardRefExoticComponent<InputAddonProps & React.RefAttributes<HTMLDivElement>>;
253
- declare const InputRightAddon: React.ForwardRefExoticComponent<InputAddonProps & React.RefAttributes<HTMLDivElement>>;
254
- interface InputElementProps extends React.HTMLAttributes<HTMLDivElement> {
332
+ declare const InputLeftAddon: React$1.ForwardRefExoticComponent<InputAddonProps & React$1.RefAttributes<HTMLDivElement>>;
333
+ declare const InputRightAddon: React$1.ForwardRefExoticComponent<InputAddonProps & React$1.RefAttributes<HTMLDivElement>>;
334
+ interface InputElementProps extends React$1.HTMLAttributes<HTMLDivElement> {
255
335
  }
256
- declare const InputLeftElement: React.ForwardRefExoticComponent<InputElementProps & React.RefAttributes<HTMLDivElement>>;
257
- declare const InputRightElement: React.ForwardRefExoticComponent<InputElementProps & React.RefAttributes<HTMLDivElement>>;
258
- interface InputWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
336
+ declare const InputLeftElement: React$1.ForwardRefExoticComponent<InputElementProps & React$1.RefAttributes<HTMLDivElement>>;
337
+ declare const InputRightElement: React$1.ForwardRefExoticComponent<InputElementProps & React$1.RefAttributes<HTMLDivElement>>;
338
+ interface InputWrapperProps extends React$1.HTMLAttributes<HTMLDivElement> {
259
339
  }
260
- declare const InputWrapper: React.ForwardRefExoticComponent<InputWrapperProps & React.RefAttributes<HTMLDivElement>>;
340
+ declare const InputWrapper: React$1.ForwardRefExoticComponent<InputWrapperProps & React$1.RefAttributes<HTMLDivElement>>;
261
341
 
262
342
  type AlertVariant = 'info' | 'success' | 'warning' | 'error';
263
- interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
343
+ interface AlertProps extends React$1.HTMLAttributes<HTMLDivElement> {
264
344
  variant?: AlertVariant;
265
345
  title?: string;
266
346
  }
267
- declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
347
+ declare const Alert: React$1.ForwardRefExoticComponent<AlertProps & React$1.RefAttributes<HTMLDivElement>>;
268
348
 
269
349
  type SpinnerSize = 'sm' | 'md' | 'lg';
270
- interface SpinnerProps extends React.SVGAttributes<SVGElement> {
350
+ interface SpinnerProps extends React$1.SVGAttributes<SVGElement> {
271
351
  size?: SpinnerSize;
272
352
  }
273
353
  declare const Spinner: {
274
- ({ className, size, ...rest }: SpinnerProps): React.JSX.Element;
354
+ ({ className, size, ...rest }: SpinnerProps): React$1.JSX.Element;
275
355
  displayName: string;
276
356
  };
277
357
 
278
- interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
358
+ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
279
359
  }
280
- declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
360
+ declare const Skeleton: React$1.ForwardRefExoticComponent<SkeletonProps & React$1.RefAttributes<HTMLDivElement>>;
281
361
 
282
362
  type ProgressSize = 'sm' | 'md' | 'lg';
283
363
  type ProgressVariant = 'default' | 'success' | 'warning' | 'error';
284
- interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
364
+ interface ProgressProps extends React$1.HTMLAttributes<HTMLDivElement> {
285
365
  value?: number;
286
366
  max?: number;
287
367
  size?: ProgressSize;
@@ -290,7 +370,7 @@ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
290
370
  formatValue?: (value: number, max: number) => string;
291
371
  indeterminate?: boolean;
292
372
  }
293
- declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
373
+ declare const Progress: React$1.ForwardRefExoticComponent<ProgressProps & React$1.RefAttributes<HTMLDivElement>>;
294
374
 
295
375
  type ToastVariant = 'default' | 'success' | 'error' | 'warning' | 'info';
296
376
  type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
@@ -300,28 +380,28 @@ interface ToastData {
300
380
  description?: string;
301
381
  variant?: ToastVariant;
302
382
  duration?: number;
303
- action?: React.ReactNode;
383
+ action?: React$1.ReactNode;
304
384
  }
305
385
  declare function useToast(): {
306
386
  toast: (options: Omit<ToastData, "id">) => string;
307
387
  dismiss: (id: string) => void;
308
388
  };
309
389
  interface ToastProviderProps {
310
- children: React.ReactNode;
390
+ children: React$1.ReactNode;
311
391
  position?: ToastPosition;
312
392
  defaultDuration?: number;
313
393
  }
314
- declare const ToastProvider: React.FC<ToastProviderProps>;
394
+ declare const ToastProvider: React$1.FC<ToastProviderProps>;
315
395
 
316
396
  interface ModalProps {
317
397
  isOpen: boolean;
318
398
  onClose: () => void;
319
399
  title?: string;
320
- children: React.ReactNode;
400
+ children: React$1.ReactNode;
321
401
  className?: string;
322
402
  }
323
403
  declare const Modal: {
324
- ({ isOpen, onClose, title, children, className }: ModalProps): React.ReactPortal | null;
404
+ ({ isOpen, onClose, title, children, className }: ModalProps): React$1.ReactPortal | null;
325
405
  displayName: string;
326
406
  };
327
407
 
@@ -332,17 +412,17 @@ interface DrawerProps {
332
412
  position?: DrawerPosition;
333
413
  title?: string;
334
414
  size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
335
- children: React.ReactNode;
415
+ children: React$1.ReactNode;
336
416
  className?: string;
337
417
  }
338
- declare const Drawer: React.FC<DrawerProps>;
418
+ declare const Drawer: React$1.FC<DrawerProps>;
339
419
 
340
420
  type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
341
421
  type PopoverAlign = 'start' | 'center' | 'end';
342
422
  interface PopoverProps {
343
- children: React.ReactNode;
423
+ children: React$1.ReactNode;
344
424
  /** The trigger element */
345
- trigger: React.ReactElement;
425
+ trigger: React$1.ReactElement;
346
426
  /** Position relative to trigger */
347
427
  position?: PopoverPosition;
348
428
  /** Alignment along the position axis */
@@ -354,10 +434,10 @@ interface PopoverProps {
354
434
  /** Close when clicking outside */
355
435
  closeOnClickOutside?: boolean;
356
436
  }
357
- declare const Popover: React.FC<PopoverProps>;
437
+ declare const Popover: React$1.FC<PopoverProps>;
358
438
 
359
439
  interface ConfirmDialogProps extends Omit<ModalProps, 'children'> {
360
- description?: React.ReactNode;
440
+ description?: React$1.ReactNode;
361
441
  confirmText?: string;
362
442
  cancelText?: string;
363
443
  onConfirm: () => void | Promise<void>;
@@ -365,15 +445,15 @@ interface ConfirmDialogProps extends Omit<ModalProps, 'children'> {
365
445
  confirmVariant?: 'primary' | 'important' | 'danger';
366
446
  isLoading?: boolean;
367
447
  }
368
- declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
448
+ declare const ConfirmDialog: React$1.FC<ConfirmDialogProps>;
369
449
  interface AlertDialogProps extends Omit<ModalProps, 'children'> {
370
- description?: React.ReactNode;
450
+ description?: React$1.ReactNode;
371
451
  acknowledgeText?: string;
372
452
  variant?: 'default' | 'warning' | 'error';
373
453
  }
374
- declare const AlertDialog: React.FC<AlertDialogProps>;
454
+ declare const AlertDialog: React$1.FC<AlertDialogProps>;
375
455
  interface PromptDialogProps extends Omit<ModalProps, 'children'> {
376
- description?: React.ReactNode;
456
+ description?: React$1.ReactNode;
377
457
  placeholder?: string;
378
458
  defaultValue?: string;
379
459
  submitText?: string;
@@ -382,9 +462,9 @@ interface PromptDialogProps extends Omit<ModalProps, 'children'> {
382
462
  onCancel?: () => void;
383
463
  isLoading?: boolean;
384
464
  }
385
- declare const PromptDialog: React.FC<PromptDialogProps>;
465
+ declare const PromptDialog: React$1.FC<PromptDialogProps>;
386
466
 
387
- interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
467
+ interface TabsProps extends React$1.HTMLAttributes<HTMLDivElement> {
388
468
  /** The id of the initially active tab */
389
469
  defaultValue?: string;
390
470
  /** Controlled active tab value */
@@ -392,24 +472,24 @@ interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
392
472
  /** Callback when active tab changes */
393
473
  onValueChange?: (value: string) => void;
394
474
  }
395
- declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
396
- interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {
475
+ declare const Tabs: React$1.ForwardRefExoticComponent<TabsProps & React$1.RefAttributes<HTMLDivElement>>;
476
+ interface TabListProps extends React$1.HTMLAttributes<HTMLDivElement> {
397
477
  }
398
- declare const TabList: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;
399
- interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
478
+ declare const TabList: React$1.ForwardRefExoticComponent<TabListProps & React$1.RefAttributes<HTMLDivElement>>;
479
+ interface TabProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
400
480
  /** Unique identifier for this tab */
401
481
  value: string;
402
482
  }
403
- declare const Tab: React.ForwardRefExoticComponent<TabProps & React.RefAttributes<HTMLButtonElement>>;
404
- interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {
483
+ declare const Tab: React$1.ForwardRefExoticComponent<TabProps & React$1.RefAttributes<HTMLButtonElement>>;
484
+ interface TabPanelProps extends React$1.HTMLAttributes<HTMLDivElement> {
405
485
  /** Value matching the corresponding Tab */
406
486
  value: string;
407
487
  /** Force the panel to stay mounted when inactive */
408
488
  forceMount?: boolean;
409
489
  }
410
- declare const TabPanel: React.ForwardRefExoticComponent<TabPanelProps & React.RefAttributes<HTMLDivElement>>;
490
+ declare const TabPanel: React$1.ForwardRefExoticComponent<TabPanelProps & React$1.RefAttributes<HTMLDivElement>>;
411
491
 
412
- interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
492
+ interface AccordionProps extends React$1.HTMLAttributes<HTMLDivElement> {
413
493
  /** Allow multiple items to be open at once */
414
494
  type?: 'single' | 'multiple';
415
495
  /** Default expanded item(s) */
@@ -419,165 +499,781 @@ interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
419
499
  /** Callback when expanded items change */
420
500
  onValueChange?: (value: string | string[]) => void;
421
501
  }
422
- declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
423
- interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
502
+ declare const Accordion: React$1.ForwardRefExoticComponent<AccordionProps & React$1.RefAttributes<HTMLDivElement>>;
503
+ interface AccordionItemProps extends React$1.HTMLAttributes<HTMLDivElement> {
424
504
  /** Unique identifier for this item */
425
505
  value: string;
426
506
  /** Disable this item */
427
507
  disabled?: boolean;
428
508
  }
429
- declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
430
- interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
509
+ declare const AccordionItem: React$1.ForwardRefExoticComponent<AccordionItemProps & React$1.RefAttributes<HTMLDivElement>>;
510
+ interface AccordionTriggerProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
431
511
  }
432
- declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
433
- interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
512
+ declare const AccordionTrigger: React$1.ForwardRefExoticComponent<AccordionTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
513
+ interface AccordionContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
434
514
  }
435
- declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
515
+ declare const AccordionContent: React$1.ForwardRefExoticComponent<AccordionContentProps & React$1.RefAttributes<HTMLDivElement>>;
436
516
 
437
517
  interface MenuProps {
438
- children: React.ReactNode;
518
+ children: React$1.ReactNode;
439
519
  open?: boolean;
440
520
  onOpenChange?: (open: boolean) => void;
441
521
  }
442
- declare const Menu: React.FC<MenuProps>;
443
- interface MenuTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
522
+ declare const Menu: React$1.FC<MenuProps>;
523
+ interface MenuTriggerProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
444
524
  asChild?: boolean;
445
525
  }
446
- declare const MenuTrigger: React.ForwardRefExoticComponent<MenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
447
- interface MenuContentProps extends React.HTMLAttributes<HTMLDivElement> {
526
+ declare const MenuTrigger: React$1.ForwardRefExoticComponent<MenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
527
+ interface MenuContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
448
528
  align?: 'start' | 'center' | 'end';
449
529
  side?: 'top' | 'bottom';
450
530
  }
451
- declare const MenuContent: React.ForwardRefExoticComponent<MenuContentProps & React.RefAttributes<HTMLDivElement>>;
452
- interface MenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
453
- icon?: React.ReactNode;
531
+ declare const MenuContent: React$1.ForwardRefExoticComponent<MenuContentProps & React$1.RefAttributes<HTMLDivElement>>;
532
+ interface MenuItemProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
533
+ icon?: React$1.ReactNode;
454
534
  destructive?: boolean;
455
535
  }
456
- declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLButtonElement>>;
457
- declare const MenuSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
458
- declare const MenuLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
536
+ declare const MenuItem: React$1.ForwardRefExoticComponent<MenuItemProps & React$1.RefAttributes<HTMLButtonElement>>;
537
+ declare const MenuSeparator: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
538
+ declare const MenuLabel: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
459
539
 
460
- interface NavbarProps extends React.HTMLAttributes<HTMLElement> {
540
+ interface NavbarProps extends React$1.HTMLAttributes<HTMLElement> {
461
541
  fixed?: boolean;
462
542
  bordered?: boolean;
463
543
  }
464
- declare const Navbar: React.ForwardRefExoticComponent<NavbarProps & React.RefAttributes<HTMLElement>>;
465
- interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement> {
544
+ declare const Navbar: React$1.ForwardRefExoticComponent<NavbarProps & React$1.RefAttributes<HTMLElement>>;
545
+ interface NavbarBrandProps extends React$1.HTMLAttributes<HTMLDivElement> {
466
546
  }
467
- declare const NavbarBrand: React.ForwardRefExoticComponent<NavbarBrandProps & React.RefAttributes<HTMLDivElement>>;
468
- interface NavbarContentProps extends React.HTMLAttributes<HTMLDivElement> {
547
+ declare const NavbarBrand: React$1.ForwardRefExoticComponent<NavbarBrandProps & React$1.RefAttributes<HTMLDivElement>>;
548
+ interface NavbarContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
469
549
  position?: 'start' | 'center' | 'end';
470
550
  }
471
- declare const NavbarContent: React.ForwardRefExoticComponent<NavbarContentProps & React.RefAttributes<HTMLDivElement>>;
472
- interface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {
551
+ declare const NavbarContent: React$1.ForwardRefExoticComponent<NavbarContentProps & React$1.RefAttributes<HTMLDivElement>>;
552
+ interface NavbarItemProps extends React$1.HTMLAttributes<HTMLDivElement> {
473
553
  active?: boolean;
474
554
  }
475
- declare const NavbarItem: React.ForwardRefExoticComponent<NavbarItemProps & React.RefAttributes<HTMLDivElement>>;
476
- interface NavbarLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
555
+ declare const NavbarItem: React$1.ForwardRefExoticComponent<NavbarItemProps & React$1.RefAttributes<HTMLDivElement>>;
556
+ interface NavbarLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
477
557
  active?: boolean;
478
558
  }
479
- declare const NavbarLink: React.ForwardRefExoticComponent<NavbarLinkProps & React.RefAttributes<HTMLAnchorElement>>;
480
- declare const NavbarDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
559
+ declare const NavbarLink: React$1.ForwardRefExoticComponent<NavbarLinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
560
+ declare const NavbarDivider: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
481
561
 
482
- interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
483
- separator?: React.ReactNode;
562
+ interface BreadcrumbProps extends React$1.HTMLAttributes<HTMLElement> {
563
+ separator?: React$1.ReactNode;
484
564
  }
485
- declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
486
- interface BreadcrumbItemProps extends React.HTMLAttributes<HTMLSpanElement> {
565
+ declare const Breadcrumb: React$1.ForwardRefExoticComponent<BreadcrumbProps & React$1.RefAttributes<HTMLElement>>;
566
+ interface BreadcrumbItemProps extends React$1.HTMLAttributes<HTMLSpanElement> {
487
567
  current?: boolean;
488
568
  }
489
- declare const BreadcrumbItem: React.ForwardRefExoticComponent<BreadcrumbItemProps & React.RefAttributes<HTMLSpanElement>>;
490
- interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
569
+ declare const BreadcrumbItem: React$1.ForwardRefExoticComponent<BreadcrumbItemProps & React$1.RefAttributes<HTMLSpanElement>>;
570
+ interface BreadcrumbLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
491
571
  }
492
- declare const BreadcrumbLink: React.ForwardRefExoticComponent<BreadcrumbLinkProps & React.RefAttributes<HTMLAnchorElement>>;
572
+ declare const BreadcrumbLink: React$1.ForwardRefExoticComponent<BreadcrumbLinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
493
573
 
494
- interface PaginationProps extends React.HTMLAttributes<HTMLElement> {
574
+ interface PaginationProps extends React$1.HTMLAttributes<HTMLElement> {
495
575
  page: number;
496
576
  totalPages: number;
497
577
  onPageChange: (page: number) => void;
498
578
  siblingCount?: number;
499
579
  showEdges?: boolean;
500
580
  }
501
- declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
581
+ declare const Pagination: React$1.ForwardRefExoticComponent<PaginationProps & React$1.RefAttributes<HTMLElement>>;
502
582
 
503
583
  type StepStatus = 'complete' | 'error';
504
584
  interface Step {
505
585
  id: string | number;
506
586
  label: string;
507
587
  }
508
- interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
588
+ interface StepperProps extends React$1.HTMLAttributes<HTMLDivElement> {
509
589
  /** Array of steps. Each requires: id (string | number), label (string). */
510
590
  steps: Step[];
511
591
  /** ID of the current step (must match a step.id from the steps array). */
512
592
  currentStep: string | number;
513
593
  status?: StepStatus;
514
594
  }
515
- declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
595
+ declare const Stepper: React$1.ForwardRefExoticComponent<StepperProps & React$1.RefAttributes<HTMLDivElement>>;
516
596
 
517
597
  type MessageVariant = 'user' | 'assistant';
518
- interface MessageProps extends React.HTMLAttributes<HTMLDivElement> {
598
+ interface MessageBranchInfo {
599
+ /**
600
+ * Current branch index (1-based)
601
+ */
602
+ current: number;
603
+ /**
604
+ * Total number of sibling branches
605
+ */
606
+ total: number;
607
+ /**
608
+ * Navigate to previous branch
609
+ */
610
+ onPrevious?: () => void;
611
+ /**
612
+ * Navigate to next branch
613
+ */
614
+ onNext?: () => void;
615
+ }
616
+ interface MessageActionsConfig {
617
+ /**
618
+ * Called when user edits a user message (creates a branch)
619
+ */
620
+ onEdit?: (newContent: string) => void;
621
+ /**
622
+ * Called when user retries an assistant message (creates a branch)
623
+ */
624
+ onRetry?: () => void;
625
+ /**
626
+ * Whether to show the copy button
627
+ * @default true
628
+ */
629
+ showCopy?: boolean;
630
+ }
631
+ interface MessageProps extends React$1.HTMLAttributes<HTMLDivElement> {
519
632
  variant?: MessageVariant;
520
633
  content: string;
521
634
  isStreaming?: boolean;
635
+ /**
636
+ * Branch navigation info (shows branch indicator if provided and total > 1)
637
+ */
638
+ branchInfo?: MessageBranchInfo;
639
+ /**
640
+ * Actions configuration (shows action bar if provided)
641
+ */
642
+ actions?: MessageActionsConfig;
643
+ /**
644
+ * Whether to hide actions (e.g., during streaming)
645
+ */
646
+ hideActions?: boolean;
647
+ }
648
+ declare const Message: React$1.ForwardRefExoticComponent<MessageProps & React$1.RefAttributes<HTMLDivElement>>;
649
+
650
+ interface StreamingCursorProps extends React$1.HTMLAttributes<HTMLSpanElement> {
651
+ variant?: 'block' | 'line' | 'underscore';
652
+ }
653
+ declare const StreamingCursor: React$1.ForwardRefExoticComponent<StreamingCursorProps & React$1.RefAttributes<HTMLSpanElement>>;
654
+
655
+ interface MarkdownContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
656
+ content: string;
657
+ sanitizeConfig?: Config;
658
+ /**
659
+ * When true, injects a streaming cursor at the end of the content
660
+ */
661
+ isStreaming?: boolean;
662
+ /**
663
+ * Additional classes for the streaming cursor
664
+ */
665
+ cursorClassName?: string;
666
+ }
667
+ declare const MarkdownContent: React$1.ForwardRefExoticComponent<MarkdownContentProps & React$1.RefAttributes<HTMLDivElement>>;
668
+
669
+ type ChatInputPosition = 'centered' | 'bottom';
670
+ type AttachmentStatus = 'pending' | 'uploading' | 'complete' | 'error';
671
+ interface Attachment {
672
+ id: string;
673
+ file: File;
674
+ previewUrl?: string;
675
+ status: AttachmentStatus;
676
+ error?: string;
677
+ progress?: number;
678
+ }
679
+ interface ChatInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
680
+ /**
681
+ * Position of the input: 'centered' for empty state, 'bottom' for conversation mode
682
+ */
683
+ position?: ChatInputPosition;
684
+ /**
685
+ * Placeholder text for the input
686
+ */
687
+ placeholder?: string;
688
+ /**
689
+ * Helper text shown above the input in centered mode
690
+ */
691
+ helperText?: React$1.ReactNode;
692
+ /**
693
+ * Called when the user submits a message
694
+ */
695
+ onSubmit?: (message: string, attachments?: Attachment[]) => void;
696
+ /**
697
+ * Whether the input is disabled (e.g., during streaming)
698
+ */
699
+ disabled?: boolean;
700
+ /**
701
+ * Whether to animate the transition between positions
702
+ */
703
+ animate?: boolean;
704
+ /**
705
+ * Whether the assistant is currently streaming (shows Stop button)
706
+ */
707
+ isStreaming?: boolean;
708
+ /**
709
+ * Called when the Stop button is clicked during streaming
710
+ */
711
+ onStop?: () => void;
712
+ /**
713
+ * Current attachments (controlled mode)
714
+ */
715
+ attachments?: Attachment[];
716
+ /**
717
+ * Called when attachments change (controlled mode)
718
+ */
719
+ onAttachmentsChange?: (attachments: Attachment[]) => void;
720
+ /**
721
+ * Whether to show the attachment button
722
+ */
723
+ showAttachmentButton?: boolean;
724
+ /**
725
+ * Accepted file types for attachments
726
+ */
727
+ acceptedFileTypes?: string;
728
+ }
729
+ declare const ChatInput: React$1.ForwardRefExoticComponent<ChatInputProps & React$1.RefAttributes<HTMLDivElement>>;
730
+
731
+ interface Conversation {
732
+ id: string;
733
+ title: string;
734
+ preview?: string;
735
+ timestamp?: string;
736
+ isActive?: boolean;
737
+ }
738
+ interface ConversationSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
739
+ /**
740
+ * List of conversations to display
741
+ */
742
+ conversations: Conversation[];
743
+ /**
744
+ * Whether the sidebar is collapsed
745
+ */
746
+ isCollapsed?: boolean;
747
+ /**
748
+ * Callback when a conversation is selected
749
+ */
750
+ onSelectConversation?: (id: string) => void;
751
+ /**
752
+ * Callback when "New Chat" is clicked
753
+ */
754
+ onNewChat?: () => void;
755
+ /**
756
+ * Callback to toggle collapse state
757
+ */
758
+ onToggleCollapse?: () => void;
759
+ }
760
+ /**
761
+ * ConversationSidebar displays a collapsible list of past conversations.
762
+ *
763
+ * When collapsed, shows a thin strip with history icon at top.
764
+ * When expanded, shows chevron at top-left to collapse.
765
+ */
766
+ declare const ConversationSidebar: React$1.ForwardRefExoticComponent<ConversationSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
767
+ /**
768
+ * Collapsed sidebar toggle button (for external use if needed)
769
+ */
770
+ interface CollapsedSidebarToggleProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
771
+ onExpand?: () => void;
772
+ }
773
+ declare const CollapsedSidebarToggle: React$1.ForwardRefExoticComponent<CollapsedSidebarToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
774
+
775
+ /**
776
+ * Conversation Tree Types
777
+ *
778
+ * These types support branching conversations where users can:
779
+ * - Edit their messages (creating a new branch)
780
+ * - Retry assistant responses (creating a new branch)
781
+ * - Navigate between different conversation branches
782
+ */
783
+ /**
784
+ * A node in the conversation tree
785
+ */
786
+ interface MessageNode {
787
+ /**
788
+ * Unique identifier for this message
789
+ */
790
+ id: string;
791
+ /**
792
+ * The role of the message author
793
+ */
794
+ role: 'user' | 'assistant';
795
+ /**
796
+ * The message content (may include HTML/markdown)
797
+ */
798
+ content: string;
799
+ /**
800
+ * ID of the parent message (null for root messages)
801
+ */
802
+ parentId: string | null;
803
+ /**
804
+ * IDs of child messages (branches/continuations)
805
+ */
806
+ children: string[];
807
+ /**
808
+ * Which sibling branch this message is (0, 1, 2...)
809
+ * Used for UI display like "1/3"
810
+ */
811
+ branchIndex?: number;
812
+ /**
813
+ * Whether this message is currently being streamed
814
+ */
815
+ isStreaming?: boolean;
816
+ /**
817
+ * Timestamp when the message was created
818
+ */
819
+ createdAt?: number;
820
+ }
821
+ /**
822
+ * The full conversation tree structure
823
+ */
824
+ interface ConversationTree {
825
+ /**
826
+ * All nodes indexed by their ID
827
+ */
828
+ nodes: Record<string, MessageNode>;
829
+ /**
830
+ * IDs of root-level messages (messages with no parent)
831
+ */
832
+ rootIds: string[];
833
+ /**
834
+ * The current "head" of the viewed branch
835
+ * This is the leaf node that determines which path we're viewing
836
+ */
837
+ activeLeafId: string | null;
838
+ }
839
+ /**
840
+ * Helper to check if a file is an image
841
+ */
842
+ declare function isImageFile(file: File): boolean;
843
+ /**
844
+ * Helper to create a preview URL for an image file
845
+ */
846
+ declare function createPreviewUrl(file: File): string | undefined;
847
+ /**
848
+ * Helper to revoke a preview URL when no longer needed
849
+ */
850
+ declare function revokePreviewUrl(url: string | undefined): void;
851
+ /**
852
+ * Generate a unique ID
853
+ */
854
+ declare function generateId(): string;
855
+ /**
856
+ * Create an empty conversation tree
857
+ */
858
+ declare function createEmptyTree(): ConversationTree;
859
+ /**
860
+ * Add a message to the tree
861
+ */
862
+ declare function addMessageToTree(tree: ConversationTree, message: Omit<MessageNode, 'children' | 'branchIndex'>, parentId?: string | null): ConversationTree;
863
+ /**
864
+ * Get the linear path from root to the active leaf
865
+ */
866
+ declare function getActivePathMessages(tree: ConversationTree): MessageNode[];
867
+ /**
868
+ * Get sibling count and current index for a node
869
+ */
870
+ declare function getSiblingInfo(tree: ConversationTree, nodeId: string): {
871
+ total: number;
872
+ current: number;
873
+ };
874
+ /**
875
+ * Switch to a different branch at a given node
876
+ */
877
+ declare function switchBranch(tree: ConversationTree, nodeId: string, direction: 'prev' | 'next'): ConversationTree;
878
+ /**
879
+ * Update a node's content (e.g., during streaming)
880
+ */
881
+ declare function updateNodeContent(tree: ConversationTree, nodeId: string, content: string, isStreaming?: boolean): ConversationTree;
882
+ /**
883
+ * Convert a flat message array to a conversation tree
884
+ */
885
+ declare function messagesToTree(messages: Array<{
886
+ id: string;
887
+ role: 'user' | 'assistant';
888
+ content: string;
889
+ isStreaming?: boolean;
890
+ }>): ConversationTree;
891
+ /**
892
+ * Check if a node has multiple children (is a branch point)
893
+ */
894
+ declare function isBranchPoint(tree: ConversationTree, nodeId: string): boolean;
895
+
896
+ interface ChatMessage {
897
+ id: string;
898
+ variant: 'user' | 'assistant';
899
+ content: string;
900
+ isStreaming?: boolean;
522
901
  }
523
- declare const Message: React.ForwardRefExoticComponent<MessageProps & React.RefAttributes<HTMLDivElement>>;
902
+ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
903
+ /**
904
+ * Array of messages in the conversation (flat mode)
905
+ * Use this OR conversationTree, not both
906
+ */
907
+ messages?: ChatMessage[];
908
+ /**
909
+ * Conversation tree for branching support
910
+ * Use this OR messages, not both
911
+ */
912
+ conversationTree?: ConversationTree;
913
+ /**
914
+ * Called when the conversation tree changes (for tree mode)
915
+ */
916
+ onTreeChange?: (tree: ConversationTree) => void;
917
+ /**
918
+ * List of past conversations for the sidebar
919
+ */
920
+ conversations?: Conversation[];
921
+ /**
922
+ * Called when a message is submitted
923
+ */
924
+ onMessageSubmit?: (message: string, attachments?: Attachment[]) => void;
925
+ /**
926
+ * Called when a user message is edited (creates a branch)
927
+ */
928
+ onEditMessage?: (messageId: string, newContent: string) => void;
929
+ /**
930
+ * Called when an assistant message is retried (creates a branch)
931
+ */
932
+ onRetryMessage?: (messageId: string) => void;
933
+ /**
934
+ * Called when Stop button is clicked during streaming
935
+ */
936
+ onStop?: () => void;
937
+ /**
938
+ * Called when a conversation is selected from sidebar
939
+ */
940
+ onSelectConversation?: (id: string) => void;
941
+ /**
942
+ * Called when "New Chat" is clicked
943
+ */
944
+ onNewChat?: () => void;
945
+ /**
946
+ * Whether the assistant is currently streaming a response
947
+ */
948
+ isStreaming?: boolean;
949
+ /**
950
+ * Whether to show the thinking indicator (before first response token)
951
+ */
952
+ isThinking?: boolean;
953
+ /**
954
+ * Input placeholder text
955
+ */
956
+ placeholder?: string;
957
+ /**
958
+ * Helper text shown in empty state
959
+ */
960
+ emptyStateHelper?: React$1.ReactNode;
961
+ /**
962
+ * Initial sidebar collapsed state
963
+ */
964
+ initialSidebarCollapsed?: boolean;
965
+ /**
966
+ * Custom empty state content
967
+ */
968
+ emptyState?: React$1.ReactNode;
969
+ /**
970
+ * Whether to show attachment button
971
+ */
972
+ showAttachmentButton?: boolean;
973
+ /**
974
+ * Whether to enable message actions (copy, edit, retry)
975
+ */
976
+ enableMessageActions?: boolean;
977
+ /**
978
+ * Current attachments for the input
979
+ */
980
+ attachments?: Attachment[];
981
+ /**
982
+ * Called when attachments change in the input
983
+ */
984
+ onAttachmentsChange?: (attachments: Attachment[]) => void;
985
+ }
986
+ /**
987
+ * ChatInterface is the main orchestrator for a full-featured chat experience.
988
+ *
989
+ * Features:
990
+ * - ConversationSidebar (left) — collapsible list of past conversations
991
+ * - ChatView (center) — main conversation area with smart scrolling
992
+ * - ArtifactsPanel (right) — agent-controlled panel for rich content
993
+ * - ChatInput — position-aware input that centers in empty state
994
+ * - Branching — support for conversation tree with branch navigation
995
+ * - Message Actions — copy, edit, retry
996
+ * - Thinking Indicator — shown between user message and response
997
+ */
998
+ declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<HTMLDivElement>>;
524
999
 
525
- interface ChatHistoryItem extends Omit<MessageProps, 'variant' | 'children'> {
1000
+ interface ChatViewItem extends Omit<MessageProps, 'variant' | 'children'> {
526
1001
  id?: string;
527
1002
  variant?: MessageVariant;
1003
+ /**
1004
+ * Branch navigation info for this message
1005
+ */
1006
+ branchInfo?: MessageBranchInfo;
1007
+ /**
1008
+ * Actions configuration for this message
1009
+ */
1010
+ actions?: MessageActionsConfig;
1011
+ }
1012
+ interface ChatViewProps extends React$1.HTMLAttributes<HTMLDivElement> {
1013
+ /**
1014
+ * Array of chat messages to display
1015
+ */
1016
+ messages: ChatViewItem[];
1017
+ /**
1018
+ * Index of the latest user message to anchor scroll to.
1019
+ * When this changes, the component scrolls that message to the top.
1020
+ */
1021
+ latestUserMessageIndex?: number;
1022
+ /**
1023
+ * Whether the assistant is currently streaming a response
1024
+ */
1025
+ isStreaming?: boolean;
1026
+ /**
1027
+ * Whether to show the thinking indicator (between user message and response)
1028
+ */
1029
+ isThinking?: boolean;
1030
+ /**
1031
+ * Callback when the user scrolls manually
1032
+ */
1033
+ onScroll?: (e: React$1.UIEvent<HTMLDivElement>) => void;
528
1034
  }
529
- interface ChatHistoryProps extends React.HTMLAttributes<HTMLDivElement> {
530
- /** Array of chat messages. Each item requires: content (string), variant ('user' | 'assistant'). Optional: id, isStreaming. */
531
- messages: ChatHistoryItem[];
1035
+ /**
1036
+ * ChatView displays a conversation thread with smart scrolling behavior.
1037
+ *
1038
+ * Key behaviors:
1039
+ * - When a user message is sent, it anchors to the top of the viewport
1040
+ * - Does NOT auto-scroll during streaming (respects user's reading position)
1041
+ * - Smooth transitions and animations
1042
+ */
1043
+ declare const ChatView: React$1.ForwardRefExoticComponent<ChatViewProps & React$1.RefAttributes<HTMLDivElement>>;
1044
+
1045
+ type ArtifactType = 'text' | 'image' | 'video';
1046
+ interface Artifact {
1047
+ id: string;
1048
+ type: ArtifactType;
1049
+ content?: string;
1050
+ src?: string;
1051
+ alt?: string;
1052
+ title?: string;
1053
+ subtitle?: string;
1054
+ isPending?: boolean;
1055
+ }
1056
+ interface UseArtifactParserReturn {
1057
+ /**
1058
+ * Content with artifact blocks stripped out (including incomplete ones)
1059
+ */
1060
+ cleanContent: string;
1061
+ /**
1062
+ * Parsed artifacts array
1063
+ */
1064
+ artifacts: Artifact[];
1065
+ /**
1066
+ * Whether there's an incomplete artifact currently being streamed
1067
+ */
1068
+ hasPendingArtifact: boolean;
532
1069
  }
533
- declare const ChatHistory: React.FC<ChatHistoryProps>;
1070
+ /**
1071
+ * Hook to parse :::artifact{...}::: blocks from streaming content.
1072
+ *
1073
+ * Key streaming behavior:
1074
+ * - As soon as :::artifact{ is detected, everything from that point is stripped
1075
+ * - This prevents artifact syntax from showing in the message during streaming
1076
+ * - Complete artifacts are parsed and returned
1077
+ * - Incomplete artifacts trigger hasPendingArtifact flag for loading states
1078
+ *
1079
+ * Supported artifact types:
1080
+ * - text: Rendered with MarkdownContent (content attribute)
1081
+ * - image: Rendered with ImageCard (src, alt, title, subtitle)
1082
+ * - video: Rendered with VideoCard (src, title, subtitle)
1083
+ */
1084
+ declare function useArtifactParser(content: string): UseArtifactParserReturn;
534
1085
 
535
- interface StreamingCursorProps extends React.HTMLAttributes<HTMLSpanElement> {
536
- variant?: 'block' | 'line' | 'underscore';
1086
+ interface ArtifactsPanelProps extends React$1.HTMLAttributes<HTMLDivElement> {
1087
+ /**
1088
+ * Array of artifacts to display
1089
+ */
1090
+ artifacts: Artifact[];
1091
+ /**
1092
+ * Whether the panel is visible
1093
+ */
1094
+ isOpen?: boolean;
1095
+ /**
1096
+ * Callback to close/collapse the panel
1097
+ */
1098
+ onClose?: () => void;
1099
+ /**
1100
+ * Whether artifacts are still loading (show skeletons)
1101
+ */
1102
+ isLoading?: boolean;
537
1103
  }
538
- declare const StreamingCursor: React.ForwardRefExoticComponent<StreamingCursorProps & React.RefAttributes<HTMLSpanElement>>;
1104
+ /**
1105
+ * ArtifactsPanel displays rich content artifacts in a slide-in panel.
1106
+ *
1107
+ * When collapsed, shows a thin strip with layers icon at top.
1108
+ * When expanded, shows chevron at top-right to collapse.
1109
+ */
1110
+ declare const ArtifactsPanel: React$1.ForwardRefExoticComponent<ArtifactsPanelProps & React$1.RefAttributes<HTMLDivElement>>;
1111
+ /**
1112
+ * Toggle button to expand collapsed artifacts panel
1113
+ */
1114
+ interface ArtifactsPanelToggleProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
1115
+ artifactCount?: number;
1116
+ onExpand?: () => void;
1117
+ }
1118
+ declare const ArtifactsPanelToggle: React$1.ForwardRefExoticComponent<ArtifactsPanelToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
539
1119
 
540
- interface MarkdownContentProps extends React.HTMLAttributes<HTMLDivElement> {
1120
+ type MessageActionsVariant = 'user' | 'assistant';
1121
+ interface MessageActionsProps extends React$1.HTMLAttributes<HTMLDivElement> {
1122
+ /**
1123
+ * Whether this is for a user or assistant message
1124
+ */
1125
+ variant: MessageActionsVariant;
1126
+ /**
1127
+ * The message content for copy functionality
1128
+ */
541
1129
  content: string;
542
- sanitizeConfig?: Config;
1130
+ /**
1131
+ * Called when user wants to edit their message
1132
+ * Consumer should handle creating a branch with the edited content
1133
+ */
1134
+ onEdit?: (newContent: string) => void;
1135
+ /**
1136
+ * Called when user wants to retry/regenerate the assistant response
1137
+ * Consumer should handle creating a branch with a new response
1138
+ */
1139
+ onRetry?: () => void;
1140
+ /**
1141
+ * Whether the message is currently being edited
1142
+ */
1143
+ isEditing?: boolean;
1144
+ /**
1145
+ * Callback to set editing state (controlled from parent)
1146
+ */
1147
+ onEditingChange?: (isEditing: boolean) => void;
1148
+ /**
1149
+ * Initial content for the edit input (defaults to content prop)
1150
+ */
1151
+ editValue?: string;
1152
+ }
1153
+ declare const MessageActions: React$1.ForwardRefExoticComponent<MessageActionsProps & React$1.RefAttributes<HTMLDivElement>>;
1154
+
1155
+ interface ThinkingIndicatorProps extends React$1.HTMLAttributes<HTMLDivElement> {
1156
+ /**
1157
+ * Whether the indicator is visible/active
1158
+ */
1159
+ isVisible?: boolean;
1160
+ /**
1161
+ * Interval between phrase changes in ms
1162
+ * @default 2500
1163
+ */
1164
+ phraseInterval?: number;
1165
+ /**
1166
+ * Custom phrases to cycle through (defaults to built-in phrases)
1167
+ */
1168
+ phrases?: string[];
1169
+ }
1170
+ declare const ThinkingIndicator: React$1.ForwardRefExoticComponent<ThinkingIndicatorProps & React$1.RefAttributes<HTMLDivElement>>;
1171
+
1172
+ interface BranchNavigatorProps extends React$1.HTMLAttributes<HTMLDivElement> {
1173
+ /**
1174
+ * Current branch index (1-based for display)
1175
+ */
1176
+ current: number;
1177
+ /**
1178
+ * Total number of sibling branches
1179
+ */
1180
+ total: number;
1181
+ /**
1182
+ * Called when navigating to previous branch
1183
+ */
1184
+ onPrevious?: () => void;
1185
+ /**
1186
+ * Called when navigating to next branch
1187
+ */
1188
+ onNext?: () => void;
1189
+ /**
1190
+ * Size variant
1191
+ */
1192
+ size?: 'sm' | 'md';
1193
+ /**
1194
+ * Whether to show the branch icon
1195
+ */
1196
+ showIcon?: boolean;
1197
+ }
1198
+ declare const BranchNavigator: React$1.ForwardRefExoticComponent<BranchNavigatorProps & React$1.RefAttributes<HTMLDivElement>>;
1199
+
1200
+ interface UseScrollAnchorOptions {
1201
+ /**
1202
+ * Behavior for scrolling. Defaults to 'smooth'.
1203
+ */
1204
+ behavior?: ScrollBehavior;
1205
+ /**
1206
+ * Block alignment for scrollIntoView. Defaults to 'start'.
1207
+ */
1208
+ block?: ScrollLogicalPosition;
1209
+ }
1210
+ interface UseScrollAnchorReturn {
1211
+ /**
1212
+ * Ref to attach to the scrollable container
1213
+ */
1214
+ containerRef: React.RefObject<HTMLDivElement | null>;
1215
+ /**
1216
+ * Ref to attach to the anchor element (latest user message)
1217
+ */
1218
+ anchorRef: React.RefObject<HTMLDivElement | null>;
1219
+ /**
1220
+ * Scroll the anchor element into view. Call this on user message submission.
1221
+ */
1222
+ scrollToAnchor: () => void;
1223
+ /**
1224
+ * Scroll to the bottom of the container.
1225
+ */
1226
+ scrollToBottom: () => void;
1227
+ /**
1228
+ * Check if user has scrolled away from the bottom.
1229
+ */
1230
+ isScrolledToBottom: () => boolean;
543
1231
  }
544
- declare const MarkdownContent: React.ForwardRefExoticComponent<MarkdownContentProps & React.RefAttributes<HTMLDivElement>>;
1232
+ /**
1233
+ * Hook for smart scroll behavior in chat interfaces.
1234
+ *
1235
+ * Key behaviors:
1236
+ * - Anchors user messages to the top of the viewport when they send a message
1237
+ * - Does NOT auto-scroll during streaming to respect user's reading position
1238
+ * - Allows manual scroll detection
1239
+ */
1240
+ declare function useScrollAnchor(options?: UseScrollAnchorOptions): UseScrollAnchorReturn;
545
1241
 
546
1242
  type BrandIconSize = 'sm' | 'md' | 'lg';
547
1243
  type BrandIconVariant = 'solid' | 'outline';
548
- interface BrandIconProps extends React.HTMLAttributes<HTMLDivElement> {
1244
+ interface BrandIconProps extends React$1.HTMLAttributes<HTMLDivElement> {
549
1245
  size?: BrandIconSize;
550
1246
  variant?: BrandIconVariant;
551
1247
  }
552
- declare const BrandIcon: React.ForwardRefExoticComponent<BrandIconProps & React.RefAttributes<HTMLDivElement>>;
1248
+ declare const BrandIcon: React$1.ForwardRefExoticComponent<BrandIconProps & React$1.RefAttributes<HTMLDivElement>>;
553
1249
 
554
- interface ColorSwatchProps extends React.HTMLAttributes<HTMLDivElement> {
1250
+ interface ColorSwatchProps extends React$1.HTMLAttributes<HTMLDivElement> {
555
1251
  color: string;
556
1252
  label?: string;
557
1253
  }
558
- declare const ColorSwatch: React.ForwardRefExoticComponent<ColorSwatchProps & React.RefAttributes<HTMLDivElement>>;
1254
+ declare const ColorSwatch: React$1.ForwardRefExoticComponent<ColorSwatchProps & React$1.RefAttributes<HTMLDivElement>>;
559
1255
 
560
1256
  type AspectRatioPreset = 'landscape' | 'portrait' | 'square';
561
1257
  type AspectRatio = AspectRatioPreset | `${number}/${number}`;
562
1258
  interface ImageCardProps extends Omit<CardProps, 'title'> {
563
1259
  src: string;
564
1260
  alt: string;
565
- title?: React.ReactNode;
566
- subtitle?: React.ReactNode;
1261
+ title?: React$1.ReactNode;
1262
+ subtitle?: React$1.ReactNode;
567
1263
  aspectRatio?: AspectRatio;
568
1264
  objectFit?: 'cover' | 'contain';
569
- overlay?: React.ReactNode;
1265
+ overlay?: React$1.ReactNode;
570
1266
  mediaClassName?: string;
571
1267
  contentClassName?: string;
572
1268
  }
573
- declare const ImageCard: React.ForwardRefExoticComponent<ImageCardProps & React.RefAttributes<HTMLDivElement>>;
1269
+ declare const ImageCard: React$1.ForwardRefExoticComponent<ImageCardProps & React$1.RefAttributes<HTMLDivElement>>;
574
1270
 
575
1271
  type VideoAspectRatioPreset = 'video' | 'cinema' | 'square';
576
1272
  type VideoAspectRatio = VideoAspectRatioPreset | `${number}/${number}`;
577
1273
  interface VideoCardProps extends Omit<CardProps, 'title'> {
578
1274
  src: string;
579
- title?: React.ReactNode;
580
- subtitle?: React.ReactNode;
1275
+ title?: React$1.ReactNode;
1276
+ subtitle?: React$1.ReactNode;
581
1277
  aspectRatio?: VideoAspectRatio;
582
1278
  playing?: boolean;
583
1279
  controls?: boolean;
@@ -589,13 +1285,13 @@ interface VideoCardProps extends Omit<CardProps, 'title'> {
589
1285
  contentClassName?: string;
590
1286
  playerProps?: any;
591
1287
  }
592
- declare const VideoCard: React.ForwardRefExoticComponent<VideoCardProps & React.RefAttributes<HTMLDivElement>>;
1288
+ declare const VideoCard: React$1.ForwardRefExoticComponent<VideoCardProps & React$1.RefAttributes<HTMLDivElement>>;
593
1289
 
594
1290
  type SectionHeadingLevel = 'h2' | 'h3';
595
- interface SectionHeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
1291
+ interface SectionHeadingProps extends React$1.HTMLAttributes<HTMLHeadingElement> {
596
1292
  level?: SectionHeadingLevel;
597
1293
  }
598
- declare const SectionHeading: React.ForwardRefExoticComponent<SectionHeadingProps & React.RefAttributes<HTMLHeadingElement>>;
1294
+ declare const SectionHeading: React$1.ForwardRefExoticComponent<SectionHeadingProps & React$1.RefAttributes<HTMLHeadingElement>>;
599
1295
 
600
1296
  /**
601
1297
  * Aurelius Design System
@@ -609,4 +1305,4 @@ declare const SectionHeading: React.ForwardRefExoticComponent<SectionHeadingProp
609
1305
 
610
1306
  declare const version = "2.0.0";
611
1307
 
612
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type AspectRatio, type AspectRatioPreset, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatHistory, type ChatHistoryItem, type ChatHistoryProps, Checkbox, type CheckboxProps, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, HelperText, type HelperTextProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, type MessageProps, type MessageVariant, Modal, type ModalProps, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, Pagination, type PaginationProps, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, useToast, version };
1308
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, type ArtifactType, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatInput, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatMessage, ChatView, type ChatViewItem, type ChatViewProps, Checkbox, type CheckboxProps, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, CollapsedSidebarToggle, type CollapsedSidebarToggleProps, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, ConversationSidebar, type ConversationSidebarProps, type ConversationTree, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, FileChip, type FileChipProps, type FileChipStatus, HelperText, type HelperTextProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, Pagination, type PaginationProps, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, type UseArtifactParserReturn, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addMessageToTree, createEmptyTree, createPreviewUrl, generateId, getActivePathMessages, getSiblingInfo, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, switchBranch, updateNodeContent, useArtifactParser, useScrollAnchor, useToast, version };