@lukeashford/aurelius 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,7 +56,7 @@ while staying within design system constraints.
56
56
 
57
57
  ```bash
58
58
  npm install @lukeashford/aurelius
59
- npm install -D eslint @typescript-eslint/parser eslint-plugin-better-tailwindcss @poupe/eslint-plugin-tailwindcss @eslint/css tailwind-csstree
59
+ npm install -D tailwindcss postcss @tailwindcss/postcss eslint @typescript-eslint/parser eslint-plugin-better-tailwindcss @poupe/eslint-plugin-tailwindcss @eslint/css tailwind-csstree
60
60
  ```
61
61
 
62
62
  ### 2. Import the design system
@@ -135,5 +135,3 @@ function LoginForm() {
135
135
  )
136
136
  }
137
137
  ```
138
-
139
- ---
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { Config } from 'dompurify';
2
3
 
3
4
  type ButtonVariant = 'primary' | 'important' | 'elevated' | 'outlined' | 'featured' | 'ghost' | 'danger';
4
5
  type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
@@ -18,10 +19,140 @@ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttri
18
19
 
19
20
  type CardVariant = 'default' | 'elevated' | 'outlined' | 'ghost' | 'featured';
20
21
  interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
22
+ /** Visual style variant */
21
23
  variant?: CardVariant;
24
+ /** Enables hover effects and cursor pointer */
22
25
  interactive?: boolean;
26
+ /** Shows selected state with checkmark */
27
+ selected?: boolean;
28
+ /** Remove default padding (useful with compound components) */
29
+ noPadding?: boolean;
23
30
  }
24
- declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
31
+ interface CardHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
32
+ /** Card title */
33
+ title?: React.ReactNode;
34
+ /** Subtitle or description */
35
+ subtitle?: React.ReactNode;
36
+ /** Action elements (buttons, icons, etc.) */
37
+ action?: React.ReactNode;
38
+ }
39
+ interface CardBodyProps extends React.HTMLAttributes<HTMLDivElement> {
40
+ }
41
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
42
+ /** Align content */
43
+ align?: 'start' | 'center' | 'end' | 'between';
44
+ }
45
+ interface CardMediaProps extends React.HTMLAttributes<HTMLDivElement> {
46
+ /** Image source */
47
+ src?: string;
48
+ /** Alt text for image */
49
+ alt?: string;
50
+ /** Aspect ratio */
51
+ aspect?: 'video' | 'square' | 'wide';
52
+ /** Position in card */
53
+ position?: 'top' | 'bottom';
54
+ }
55
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>> & {
56
+ Header: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
57
+ Body: React.ForwardRefExoticComponent<CardBodyProps & React.RefAttributes<HTMLDivElement>>;
58
+ Footer: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
59
+ Media: React.ForwardRefExoticComponent<CardMediaProps & React.RefAttributes<HTMLDivElement>>;
60
+ };
61
+
62
+ type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'fluid' | 'responsive';
63
+ interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
64
+ /** Container size variant */
65
+ size?: ContainerSize;
66
+ }
67
+ declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
68
+
69
+ type RowGutter = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
70
+ type RowJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
71
+ type RowAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
72
+ interface RowProps extends React.HTMLAttributes<HTMLDivElement> {
73
+ /** Gap between columns (both directions). Use gutterX/gutterY for independent control. */
74
+ gutter?: RowGutter;
75
+ /** Horizontal gap between columns */
76
+ gutterX?: RowGutter;
77
+ /** Vertical gap between rows */
78
+ gutterY?: RowGutter;
79
+ /** Horizontal alignment of columns */
80
+ justify?: RowJustify;
81
+ /** Vertical alignment of columns */
82
+ align?: RowAlign;
83
+ }
84
+ declare const Row: React.ForwardRefExoticComponent<RowProps & React.RefAttributes<HTMLDivElement>>;
85
+
86
+ type ColSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto' | 'full';
87
+ type ColOffset = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
88
+ type ColOrder = 'first' | 'last' | 'none' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
89
+ /** Responsive prop object for breakpoint-specific values */
90
+ interface ResponsiveValue<T> {
91
+ /** Base value (mobile-first) */
92
+ base?: T;
93
+ /** Value at sm breakpoint (640px+) */
94
+ sm?: T;
95
+ /** Value at md breakpoint (768px+) */
96
+ md?: T;
97
+ /** Value at lg breakpoint (1024px+) */
98
+ lg?: T;
99
+ /** Value at xl breakpoint (1280px+) */
100
+ xl?: T;
101
+ /** Value at 2xl breakpoint (1536px+) */
102
+ '2xl'?: T;
103
+ }
104
+ interface ColProps extends React.HTMLAttributes<HTMLDivElement> {
105
+ /**
106
+ * Column span (1-12), 'auto' for content-based width, or 'full' for full row width.
107
+ * Can be a single value or responsive object: { base: 12, md: 6, lg: 4 }
108
+ */
109
+ span?: ColSpan | ResponsiveValue<ColSpan>;
110
+ /**
111
+ * Column offset (0-11) - shifts column to the right.
112
+ * Can be a single value or responsive object.
113
+ */
114
+ offset?: ColOffset | ResponsiveValue<ColOffset>;
115
+ /**
116
+ * Column order for reordering.
117
+ * Can be a single value or responsive object.
118
+ */
119
+ order?: ColOrder | ResponsiveValue<ColOrder>;
120
+ }
121
+ declare const Col: React.ForwardRefExoticComponent<ColProps & React.RefAttributes<HTMLDivElement>>;
122
+
123
+ type StackDirection = 'horizontal' | 'vertical';
124
+ type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
125
+ type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
126
+ type StackGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;
127
+ interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
128
+ /** Stack direction */
129
+ direction?: StackDirection;
130
+ /** Alignment of items on the cross axis */
131
+ align?: StackAlign;
132
+ /** Justification of items on the main axis */
133
+ justify?: StackJustify;
134
+ /** Gap between items */
135
+ gap?: StackGap;
136
+ /** Whether items should wrap */
137
+ wrap?: boolean;
138
+ /** Render as a different element */
139
+ as?: 'div' | 'section' | 'article' | 'nav' | 'aside' | 'header' | 'footer' | 'main';
140
+ }
141
+ declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
142
+
143
+ type DividerOrientation = 'horizontal' | 'vertical';
144
+ type DividerVariant = 'solid' | 'dashed' | 'dotted';
145
+ interface DividerProps extends React.HTMLAttributes<HTMLHRElement> {
146
+ /** Orientation of the divider */
147
+ orientation?: DividerOrientation;
148
+ /** Visual style variant */
149
+ variant?: DividerVariant;
150
+ /** Optional label to show in the center */
151
+ label?: React.ReactNode;
152
+ /** Color variant */
153
+ color?: 'default' | 'gold' | 'muted';
154
+ }
155
+ declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLHRElement>>;
25
156
 
26
157
  type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
27
158
  type AvatarStatus = 'online' | 'offline' | 'busy';
@@ -49,6 +180,72 @@ interface TooltipProps {
49
180
  }
50
181
  declare const Tooltip: React.FC<TooltipProps>;
51
182
 
183
+ interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
184
+ /** Make the table horizontally scrollable */
185
+ responsive?: boolean;
186
+ }
187
+ declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
188
+ interface TableHeaderProps extends React.HTMLAttributes<HTMLTableSectionElement> {
189
+ }
190
+ declare const TableHeader: React.ForwardRefExoticComponent<TableHeaderProps & React.RefAttributes<HTMLTableSectionElement>>;
191
+ interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
192
+ }
193
+ declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
194
+ interface TableFooterProps extends React.HTMLAttributes<HTMLTableSectionElement> {
195
+ }
196
+ declare const TableFooter: React.ForwardRefExoticComponent<TableFooterProps & React.RefAttributes<HTMLTableSectionElement>>;
197
+ interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
198
+ /** Highlight row on hover */
199
+ hoverable?: boolean;
200
+ /** Show selected state */
201
+ selected?: boolean;
202
+ }
203
+ declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
204
+ interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
205
+ /** Enable sorting indicator */
206
+ sortable?: boolean;
207
+ /** Current sort direction */
208
+ sortDirection?: 'asc' | 'desc' | null;
209
+ }
210
+ declare const TableHead: React.ForwardRefExoticComponent<TableHeadProps & React.RefAttributes<HTMLTableCellElement>>;
211
+ interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
212
+ }
213
+ declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
214
+ interface TableCaptionProps extends React.HTMLAttributes<HTMLTableCaptionElement> {
215
+ }
216
+ declare const TableCaption: React.ForwardRefExoticComponent<TableCaptionProps & React.RefAttributes<HTMLTableCaptionElement>>;
217
+
218
+ interface ListProps extends React.HTMLAttributes<HTMLUListElement> {
219
+ /** Visual style variant */
220
+ variant?: 'default' | 'bordered' | 'divided';
221
+ /** Ordered list (numbered) */
222
+ ordered?: boolean;
223
+ }
224
+ declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLUListElement>>;
225
+ interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
226
+ /** Icon or avatar on the left */
227
+ leading?: React.ReactNode;
228
+ /** Action element on the right */
229
+ trailing?: React.ReactNode;
230
+ /** Make the item interactive (clickable) */
231
+ interactive?: boolean;
232
+ /** Selected state */
233
+ selected?: boolean;
234
+ /** Disabled state */
235
+ disabled?: boolean;
236
+ }
237
+ declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<HTMLLIElement>>;
238
+ interface ListItemTextProps extends React.HTMLAttributes<HTMLDivElement> {
239
+ /** Primary text */
240
+ primary: React.ReactNode;
241
+ /** Secondary text */
242
+ secondary?: React.ReactNode;
243
+ }
244
+ declare const ListItemText: React.ForwardRefExoticComponent<ListItemTextProps & React.RefAttributes<HTMLDivElement>>;
245
+ interface ListSubheaderProps extends React.HTMLAttributes<HTMLLIElement> {
246
+ }
247
+ declare const ListSubheader: React.ForwardRefExoticComponent<ListSubheaderProps & React.RefAttributes<HTMLLIElement>>;
248
+
52
249
  interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
53
250
  required?: boolean;
54
251
  }
@@ -92,6 +289,47 @@ interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
92
289
  }
93
290
  declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
94
291
 
292
+ interface SliderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
293
+ /** Current value */
294
+ value?: number;
295
+ /** Default value for uncontrolled mode */
296
+ defaultValue?: number;
297
+ /** Minimum value */
298
+ min?: number;
299
+ /** Maximum value */
300
+ max?: number;
301
+ /** Step increment */
302
+ step?: number;
303
+ /** Callback when value changes */
304
+ onChange?: (value: number) => void;
305
+ /** Callback when dragging ends */
306
+ onChangeEnd?: (value: number) => void;
307
+ /** Whether the slider is disabled */
308
+ disabled?: boolean;
309
+ /** Show value tooltip while dragging */
310
+ showTooltip?: boolean;
311
+ /** Format the displayed value */
312
+ formatValue?: (value: number) => string;
313
+ /** Size variant */
314
+ size?: 'sm' | 'md' | 'lg';
315
+ }
316
+ declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
317
+
318
+ interface InputGroupProps extends React.HTMLAttributes<HTMLDivElement> {
319
+ }
320
+ declare const InputGroup: React.ForwardRefExoticComponent<InputGroupProps & React.RefAttributes<HTMLDivElement>>;
321
+ interface InputAddonProps extends React.HTMLAttributes<HTMLDivElement> {
322
+ }
323
+ declare const InputLeftAddon: React.ForwardRefExoticComponent<InputAddonProps & React.RefAttributes<HTMLDivElement>>;
324
+ declare const InputRightAddon: React.ForwardRefExoticComponent<InputAddonProps & React.RefAttributes<HTMLDivElement>>;
325
+ interface InputElementProps extends React.HTMLAttributes<HTMLDivElement> {
326
+ }
327
+ declare const InputLeftElement: React.ForwardRefExoticComponent<InputElementProps & React.RefAttributes<HTMLDivElement>>;
328
+ declare const InputRightElement: React.ForwardRefExoticComponent<InputElementProps & React.RefAttributes<HTMLDivElement>>;
329
+ interface InputWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
330
+ }
331
+ declare const InputWrapper: React.ForwardRefExoticComponent<InputWrapperProps & React.RefAttributes<HTMLDivElement>>;
332
+
95
333
  type AlertVariant = 'info' | 'success' | 'warning' | 'error';
96
334
  interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
97
335
  variant?: AlertVariant;
@@ -112,6 +350,49 @@ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
112
350
  }
113
351
  declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
114
352
 
353
+ type ProgressSize = 'sm' | 'md' | 'lg';
354
+ type ProgressVariant = 'default' | 'success' | 'warning' | 'error';
355
+ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
356
+ /** Current value (0-100) */
357
+ value?: number;
358
+ /** Maximum value (defaults to 100) */
359
+ max?: number;
360
+ /** Size variant */
361
+ size?: ProgressSize;
362
+ /** Color variant */
363
+ variant?: ProgressVariant;
364
+ /** Whether to show the value label */
365
+ showValue?: boolean;
366
+ /** Custom label format function */
367
+ formatValue?: (value: number, max: number) => string;
368
+ /** Whether the progress is indeterminate */
369
+ indeterminate?: boolean;
370
+ }
371
+ declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
372
+
373
+ type ToastVariant = 'default' | 'success' | 'error' | 'warning' | 'info';
374
+ type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
375
+ interface ToastData {
376
+ id: string;
377
+ title?: string;
378
+ description?: string;
379
+ variant?: ToastVariant;
380
+ duration?: number;
381
+ action?: React.ReactNode;
382
+ }
383
+ declare function useToast(): {
384
+ toast: (options: Omit<ToastData, "id">) => string;
385
+ dismiss: (id: string) => void;
386
+ };
387
+ interface ToastProviderProps {
388
+ children: React.ReactNode;
389
+ /** Position of toasts on screen */
390
+ position?: ToastPosition;
391
+ /** Default duration for toasts (ms) */
392
+ defaultDuration?: number;
393
+ }
394
+ declare const ToastProvider: React.FC<ToastProviderProps>;
395
+
115
396
  interface ModalProps {
116
397
  isOpen: boolean;
117
398
  onClose: () => void;
@@ -124,6 +405,300 @@ declare const Modal: {
124
405
  displayName: string;
125
406
  };
126
407
 
408
+ type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
409
+ interface DrawerProps {
410
+ /** Whether the drawer is open */
411
+ isOpen: boolean;
412
+ /** Callback when the drawer should close */
413
+ onClose: () => void;
414
+ /** Position of the drawer */
415
+ position?: DrawerPosition;
416
+ /** Title for the drawer header */
417
+ title?: string;
418
+ /** Width/height of the drawer (depending on position) */
419
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
420
+ /** Content */
421
+ children: React.ReactNode;
422
+ /** Additional class name for the drawer panel */
423
+ className?: string;
424
+ }
425
+ declare const Drawer: React.FC<DrawerProps>;
426
+
427
+ type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
428
+ type PopoverAlign = 'start' | 'center' | 'end';
429
+ interface PopoverProps {
430
+ children: React.ReactNode;
431
+ /** The trigger element */
432
+ trigger: React.ReactElement;
433
+ /** Position relative to trigger */
434
+ position?: PopoverPosition;
435
+ /** Alignment along the position axis */
436
+ align?: PopoverAlign;
437
+ /** Controlled open state */
438
+ open?: boolean;
439
+ /** Callback when open state changes */
440
+ onOpenChange?: (open: boolean) => void;
441
+ /** Close when clicking outside */
442
+ closeOnClickOutside?: boolean;
443
+ }
444
+ declare const Popover: React.FC<PopoverProps>;
445
+
446
+ interface ConfirmDialogProps extends Omit<ModalProps, 'children'> {
447
+ /** Description text */
448
+ description?: React.ReactNode;
449
+ /** Text for the confirm button */
450
+ confirmText?: string;
451
+ /** Text for the cancel button */
452
+ cancelText?: string;
453
+ /** Callback when confirmed */
454
+ onConfirm: () => void | Promise<void>;
455
+ /** Callback when cancelled */
456
+ onCancel?: () => void;
457
+ /** Variant of the confirm button */
458
+ confirmVariant?: 'primary' | 'important' | 'danger';
459
+ /** Whether the confirm action is loading */
460
+ isLoading?: boolean;
461
+ }
462
+ declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
463
+ interface AlertDialogProps extends Omit<ModalProps, 'children'> {
464
+ /** Description text */
465
+ description?: React.ReactNode;
466
+ /** Text for the acknowledge button */
467
+ acknowledgeText?: string;
468
+ /** Variant based on alert type */
469
+ variant?: 'default' | 'warning' | 'error';
470
+ }
471
+ declare const AlertDialog: React.FC<AlertDialogProps>;
472
+ interface PromptDialogProps extends Omit<ModalProps, 'children'> {
473
+ /** Description text */
474
+ description?: React.ReactNode;
475
+ /** Placeholder for the input */
476
+ placeholder?: string;
477
+ /** Default value for the input */
478
+ defaultValue?: string;
479
+ /** Text for the submit button */
480
+ submitText?: string;
481
+ /** Text for the cancel button */
482
+ cancelText?: string;
483
+ /** Callback with the input value when submitted */
484
+ onSubmit: (value: string) => void | Promise<void>;
485
+ /** Callback when cancelled */
486
+ onCancel?: () => void;
487
+ /** Whether the submit action is loading */
488
+ isLoading?: boolean;
489
+ }
490
+ declare const PromptDialog: React.FC<PromptDialogProps>;
491
+
492
+ interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
493
+ /** The id of the initially active tab */
494
+ defaultValue?: string;
495
+ /** Controlled active tab value */
496
+ value?: string;
497
+ /** Callback when active tab changes */
498
+ onValueChange?: (value: string) => void;
499
+ }
500
+ declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
501
+ interface TabListProps extends React.HTMLAttributes<HTMLDivElement> {
502
+ }
503
+ declare const TabList: React.ForwardRefExoticComponent<TabListProps & React.RefAttributes<HTMLDivElement>>;
504
+ interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
505
+ /** Unique identifier for this tab */
506
+ value: string;
507
+ }
508
+ declare const Tab: React.ForwardRefExoticComponent<TabProps & React.RefAttributes<HTMLButtonElement>>;
509
+ interface TabPanelProps extends React.HTMLAttributes<HTMLDivElement> {
510
+ /** Value matching the corresponding Tab */
511
+ value: string;
512
+ /** Force the panel to stay mounted when inactive */
513
+ forceMount?: boolean;
514
+ }
515
+ declare const TabPanel: React.ForwardRefExoticComponent<TabPanelProps & React.RefAttributes<HTMLDivElement>>;
516
+
517
+ interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
518
+ /** Allow multiple items to be open at once */
519
+ type?: 'single' | 'multiple';
520
+ /** Default expanded item(s) */
521
+ defaultValue?: string | string[];
522
+ /** Controlled expanded item(s) */
523
+ value?: string | string[];
524
+ /** Callback when expanded items change */
525
+ onValueChange?: (value: string | string[]) => void;
526
+ }
527
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
528
+ interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
529
+ /** Unique identifier for this item */
530
+ value: string;
531
+ /** Disable this item */
532
+ disabled?: boolean;
533
+ }
534
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
535
+ interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
536
+ }
537
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
538
+ interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
539
+ }
540
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
541
+
542
+ interface MenuProps {
543
+ children: React.ReactNode;
544
+ /** Controlled open state */
545
+ open?: boolean;
546
+ /** Callback when open state changes */
547
+ onOpenChange?: (open: boolean) => void;
548
+ }
549
+ declare const Menu: React.FC<MenuProps>;
550
+ interface MenuTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
551
+ /** Render as a different element (using render props) */
552
+ asChild?: boolean;
553
+ }
554
+ declare const MenuTrigger: React.ForwardRefExoticComponent<MenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
555
+ interface MenuContentProps extends React.HTMLAttributes<HTMLDivElement> {
556
+ /** Alignment of the menu */
557
+ align?: 'start' | 'center' | 'end';
558
+ /** Side of the trigger to render on */
559
+ side?: 'top' | 'bottom';
560
+ }
561
+ declare const MenuContent: React.ForwardRefExoticComponent<MenuContentProps & React.RefAttributes<HTMLDivElement>>;
562
+ interface MenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
563
+ /** Icon to display before the label */
564
+ icon?: React.ReactNode;
565
+ /** Show destructive styling */
566
+ destructive?: boolean;
567
+ }
568
+ declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLButtonElement>>;
569
+ declare const MenuSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
570
+ declare const MenuLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
571
+
572
+ interface NavbarProps extends React.HTMLAttributes<HTMLElement> {
573
+ /** Fixed to top of viewport */
574
+ fixed?: boolean;
575
+ /** Add border at bottom */
576
+ bordered?: boolean;
577
+ }
578
+ declare const Navbar: React.ForwardRefExoticComponent<NavbarProps & React.RefAttributes<HTMLElement>>;
579
+ interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement> {
580
+ }
581
+ declare const NavbarBrand: React.ForwardRefExoticComponent<NavbarBrandProps & React.RefAttributes<HTMLDivElement>>;
582
+ interface NavbarContentProps extends React.HTMLAttributes<HTMLDivElement> {
583
+ /** Position of the content */
584
+ position?: 'start' | 'center' | 'end';
585
+ }
586
+ declare const NavbarContent: React.ForwardRefExoticComponent<NavbarContentProps & React.RefAttributes<HTMLDivElement>>;
587
+ interface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {
588
+ /** Active state */
589
+ active?: boolean;
590
+ }
591
+ declare const NavbarItem: React.ForwardRefExoticComponent<NavbarItemProps & React.RefAttributes<HTMLDivElement>>;
592
+ interface NavbarLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
593
+ /** Active state */
594
+ active?: boolean;
595
+ }
596
+ declare const NavbarLink: React.ForwardRefExoticComponent<NavbarLinkProps & React.RefAttributes<HTMLAnchorElement>>;
597
+ declare const NavbarDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
598
+
599
+ interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
600
+ /** Custom separator element */
601
+ separator?: React.ReactNode;
602
+ }
603
+ declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
604
+ interface BreadcrumbItemProps extends React.HTMLAttributes<HTMLSpanElement> {
605
+ /** Whether this is the current page */
606
+ current?: boolean;
607
+ }
608
+ declare const BreadcrumbItem: React.ForwardRefExoticComponent<BreadcrumbItemProps & React.RefAttributes<HTMLSpanElement>>;
609
+ interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
610
+ }
611
+ declare const BreadcrumbLink: React.ForwardRefExoticComponent<BreadcrumbLinkProps & React.RefAttributes<HTMLAnchorElement>>;
612
+
613
+ interface PaginationProps extends React.HTMLAttributes<HTMLElement> {
614
+ /** Current page (1-indexed) */
615
+ page: number;
616
+ /** Total number of pages */
617
+ totalPages: number;
618
+ /** Callback when page changes */
619
+ onPageChange: (page: number) => void;
620
+ /** Number of sibling pages to show */
621
+ siblingCount?: number;
622
+ /** Show first/last page buttons */
623
+ showEdges?: boolean;
624
+ }
625
+ declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
626
+
627
+ type StepStatus = 'complete' | 'error';
628
+ interface Step {
629
+ id: string | number;
630
+ label: string;
631
+ }
632
+ interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {
633
+ steps: Step[];
634
+ currentStep: string | number;
635
+ status?: StepStatus;
636
+ }
637
+ declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
638
+
639
+ type MessageVariant = 'user' | 'assistant';
640
+ interface MessageProps extends React.HTMLAttributes<HTMLDivElement> {
641
+ variant?: MessageVariant;
642
+ content: string;
643
+ isStreaming?: boolean;
644
+ }
645
+ declare const Message: React.ForwardRefExoticComponent<MessageProps & React.RefAttributes<HTMLDivElement>>;
646
+
647
+ interface ChatHistoryItem extends Omit<MessageProps, 'variant' | 'children'> {
648
+ id?: string;
649
+ variant?: MessageVariant;
650
+ }
651
+ interface ChatHistoryProps extends React.HTMLAttributes<HTMLDivElement> {
652
+ messages: ChatHistoryItem[];
653
+ }
654
+ declare const ChatHistory: React.ForwardRefExoticComponent<ChatHistoryProps & React.RefAttributes<HTMLDivElement>>;
655
+
656
+ interface StreamingCursorProps extends React.HTMLAttributes<HTMLSpanElement> {
657
+ variant?: 'block' | 'line' | 'underscore';
658
+ }
659
+ declare const StreamingCursor: React.ForwardRefExoticComponent<StreamingCursorProps & React.RefAttributes<HTMLSpanElement>>;
660
+
661
+ interface MarkdownContentProps extends React.HTMLAttributes<HTMLDivElement> {
662
+ content: string;
663
+ sanitizeConfig?: Config;
664
+ }
665
+ declare const MarkdownContent: React.ForwardRefExoticComponent<MarkdownContentProps & React.RefAttributes<HTMLDivElement>>;
666
+
667
+ type BrandIconSize = 'sm' | 'md' | 'lg';
668
+ type BrandIconVariant = 'solid' | 'outline';
669
+ interface BrandIconProps extends React.HTMLAttributes<HTMLDivElement> {
670
+ size?: BrandIconSize;
671
+ variant?: BrandIconVariant;
672
+ }
673
+ declare const BrandIcon: React.ForwardRefExoticComponent<BrandIconProps & React.RefAttributes<HTMLDivElement>>;
674
+
675
+ interface ColorSwatchProps extends React.HTMLAttributes<HTMLDivElement> {
676
+ color: string;
677
+ label?: string;
678
+ }
679
+ declare const ColorSwatch: React.ForwardRefExoticComponent<ColorSwatchProps & React.RefAttributes<HTMLDivElement>>;
680
+
681
+ type AspectRatioPreset = 'landscape' | 'portrait' | 'square';
682
+ type AspectRatio = AspectRatioPreset | `${number}/${number}`;
683
+ interface ImageCardProps extends Omit<CardProps, 'title'> {
684
+ src: string;
685
+ alt: string;
686
+ title?: React.ReactNode;
687
+ subtitle?: React.ReactNode;
688
+ aspectRatio?: AspectRatio;
689
+ objectFit?: 'cover' | 'contain';
690
+ overlay?: React.ReactNode;
691
+ mediaClassName?: string;
692
+ contentClassName?: string;
693
+ }
694
+ declare const ImageCard: React.ForwardRefExoticComponent<ImageCardProps & React.RefAttributes<HTMLDivElement>>;
695
+
696
+ type SectionHeadingLevel = 'h2' | 'h3';
697
+ interface SectionHeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
698
+ level?: SectionHeadingLevel;
699
+ }
700
+ declare const SectionHeading: React.ForwardRefExoticComponent<SectionHeadingProps & React.RefAttributes<HTMLHeadingElement>>;
701
+
127
702
  /**
128
703
  * Aurelius Design System
129
704
  *
@@ -136,4 +711,4 @@ declare const Modal: {
136
711
 
137
712
  declare const version = "2.0.0";
138
713
 
139
- export { Alert, type AlertProps, type AlertVariant, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardProps, type CardVariant, Checkbox, type CheckboxProps, HelperText, type HelperTextProps, Input, type InputProps, Label, type LabelProps, Modal, type ModalProps, Radio, type RadioProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, version };
714
+ 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, useToast, version };