ui_zenkit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4776 @@
1
+ import * as react from 'react';
2
+ import react__default, { CSSProperties, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, FormHTMLAttributes, HTMLAttributes, ElementType, ReactElement, ImgHTMLAttributes, ThHTMLAttributes, TdHTMLAttributes, SVGAttributes, AnchorHTMLAttributes, Component, ErrorInfo } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { ClassValue } from 'clsx';
5
+
6
+ type Size = 'sm' | 'md' | 'lg';
7
+ type Variant = 'solid' | 'outline' | 'ghost' | 'link';
8
+ type ColorScheme$1 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';
9
+ interface BaseProps {
10
+ className?: string;
11
+ style?: CSSProperties;
12
+ children?: ReactNode;
13
+ }
14
+ type PolymorphicRef<T extends React.ElementType> = React.ComponentPropsWithRef<T>['ref'];
15
+ type PolymorphicComponentProps<T extends React.ElementType, Props = object> = Props & Omit<React.ComponentPropsWithoutRef<T>, keyof Props> & {
16
+ as?: T;
17
+ };
18
+ type PolymorphicComponentPropsWithRef<T extends React.ElementType, Props = object> = PolymorphicComponentProps<T, Props> & {
19
+ ref?: PolymorphicRef<T>;
20
+ };
21
+
22
+ type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'link' | 'soft';
23
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
24
+ variant?: ButtonVariant;
25
+ colorScheme?: ColorScheme$1;
26
+ size?: Size;
27
+ fullWidth?: boolean;
28
+ loading?: boolean;
29
+ loadingText?: string;
30
+ leftIcon?: ReactNode;
31
+ rightIcon?: ReactNode;
32
+ iconOnly?: boolean;
33
+ }
34
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
35
+
36
+ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
37
+ /** Input size variant */
38
+ size?: Size;
39
+ /** Error state */
40
+ error?: boolean;
41
+ /** Prefix element (icon or text) */
42
+ prefix?: ReactNode;
43
+ /** Suffix element (icon or text) */
44
+ suffix?: ReactNode;
45
+ /** Show clear button */
46
+ allowClear?: boolean;
47
+ /** Callback when clear button is clicked */
48
+ onClear?: () => void;
49
+ /** Full width input */
50
+ fullWidth?: boolean;
51
+ /** Wrapper className */
52
+ wrapperClassName?: string;
53
+ }
54
+ declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
55
+
56
+ interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
57
+ /** Textarea size variant */
58
+ size?: Size;
59
+ /** Error state */
60
+ error?: boolean;
61
+ /** Auto grow based on content */
62
+ autoGrow?: boolean;
63
+ /** Minimum rows for auto grow */
64
+ minRows?: number;
65
+ /** Maximum rows for auto grow */
66
+ maxRows?: number;
67
+ /** Show character counter */
68
+ showCount?: boolean;
69
+ /** Full width textarea */
70
+ fullWidth?: boolean;
71
+ }
72
+ declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
73
+
74
+ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
75
+ /** Checkbox label */
76
+ label?: ReactNode;
77
+ /** Checkbox size */
78
+ size?: Size;
79
+ /** Color scheme */
80
+ colorScheme?: ColorScheme$1;
81
+ /** Indeterminate state */
82
+ indeterminate?: boolean;
83
+ /** Error state */
84
+ error?: boolean;
85
+ /** Label position */
86
+ labelPosition?: 'left' | 'right';
87
+ }
88
+ declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
89
+
90
+ interface RadioGroupProps {
91
+ children: ReactNode;
92
+ name?: string;
93
+ value?: string;
94
+ defaultValue?: string;
95
+ onChange?: (value: string) => void;
96
+ size?: Size;
97
+ colorScheme?: ColorScheme$1;
98
+ disabled?: boolean;
99
+ direction?: 'horizontal' | 'vertical';
100
+ className?: string;
101
+ }
102
+ declare const RadioGroup: {
103
+ ({ children, name, value, onChange, size, colorScheme, disabled, direction, className, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
104
+ displayName: string;
105
+ };
106
+ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
107
+ /** Radio label */
108
+ label?: ReactNode;
109
+ /** Radio size */
110
+ size?: Size;
111
+ /** Color scheme */
112
+ colorScheme?: ColorScheme$1;
113
+ /** Error state */
114
+ error?: boolean;
115
+ /** Label position */
116
+ labelPosition?: 'left' | 'right';
117
+ }
118
+ declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
119
+
120
+ interface SelectOption {
121
+ value: string | number;
122
+ label: string;
123
+ disabled?: boolean;
124
+ }
125
+ interface SelectOptionGroup {
126
+ label: string;
127
+ options: SelectOption[];
128
+ }
129
+ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size' | 'prefix'> {
130
+ /** Select options */
131
+ options?: (SelectOption | SelectOptionGroup)[];
132
+ /** Placeholder text */
133
+ placeholder?: string;
134
+ /** Select size */
135
+ size?: Size;
136
+ /** Error state */
137
+ error?: boolean;
138
+ /** Full width */
139
+ fullWidth?: boolean;
140
+ /** Loading state */
141
+ loading?: boolean;
142
+ /** Prefix element */
143
+ prefixIcon?: ReactNode;
144
+ }
145
+ declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
146
+
147
+ interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
148
+ /** Switch label */
149
+ label?: ReactNode;
150
+ /** Switch size */
151
+ size?: Size;
152
+ /** Color scheme */
153
+ colorScheme?: ColorScheme$1;
154
+ /** Loading state */
155
+ loading?: boolean;
156
+ /** Error state */
157
+ error?: boolean;
158
+ /** Label position */
159
+ labelPosition?: 'left' | 'right';
160
+ }
161
+ declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLInputElement>>;
162
+
163
+ interface FormContextValue {
164
+ layout?: 'vertical' | 'horizontal' | 'inline';
165
+ size?: 'sm' | 'md' | 'lg';
166
+ disabled?: boolean;
167
+ requiredMark?: boolean | 'optional';
168
+ }
169
+ declare const useFormContext: () => FormContextValue;
170
+ interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
171
+ /** Form layout */
172
+ layout?: 'vertical' | 'horizontal' | 'inline';
173
+ /** Form size */
174
+ size?: 'sm' | 'md' | 'lg';
175
+ /** Disable all form fields */
176
+ disabled?: boolean;
177
+ /** Show required mark */
178
+ requiredMark?: boolean | 'optional';
179
+ }
180
+ declare const Form: react.ForwardRefExoticComponent<FormProps & react.RefAttributes<HTMLFormElement>>;
181
+ interface FormItemProps {
182
+ /** Label text */
183
+ label?: ReactNode;
184
+ /** Helper text */
185
+ helperText?: ReactNode;
186
+ /** Error message */
187
+ error?: ReactNode;
188
+ /** Required field */
189
+ required?: boolean;
190
+ /** HTML for attribute */
191
+ htmlFor?: string;
192
+ /** Children elements */
193
+ children?: ReactNode;
194
+ /** Additional class name */
195
+ className?: string;
196
+ }
197
+ declare const FormItem: {
198
+ ({ label, helperText, error, required, htmlFor, children, className, }: FormItemProps): react_jsx_runtime.JSX.Element;
199
+ displayName: string;
200
+ };
201
+
202
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'body1' | 'body2' | 'caption' | 'overline';
203
+ interface TypographyProps extends HTMLAttributes<HTMLElement> {
204
+ /** Typography variant */
205
+ variant?: TypographyVariant;
206
+ /** Custom element type */
207
+ as?: ElementType;
208
+ /** Color */
209
+ color?: ColorScheme$1 | 'muted' | 'inherit';
210
+ /** Text alignment */
211
+ align?: 'left' | 'center' | 'right' | 'justify';
212
+ /** Truncate text */
213
+ truncate?: boolean;
214
+ /** Number of lines before truncation */
215
+ lineClamp?: number;
216
+ /** Font weight */
217
+ weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
218
+ /** Italic text */
219
+ italic?: boolean;
220
+ /** Underline text */
221
+ underline?: boolean;
222
+ /** Strikethrough text */
223
+ strikethrough?: boolean;
224
+ /** Disable margin */
225
+ noMargin?: boolean;
226
+ }
227
+ declare const Typography: react.ForwardRefExoticComponent<TypographyProps & react.RefAttributes<HTMLElement>>;
228
+ declare const Heading: react.ForwardRefExoticComponent<Omit<TypographyProps, "variant"> & {
229
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
230
+ } & react.RefAttributes<HTMLHeadingElement>>;
231
+ declare const Text: react.ForwardRefExoticComponent<Omit<TypographyProps, "variant"> & {
232
+ size?: "sm" | "md";
233
+ } & react.RefAttributes<HTMLParagraphElement>>;
234
+
235
+ type ColSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto';
236
+ type Gap$1 = 0 | 1 | 2 | 3 | 4 | 5;
237
+ interface GridProps extends HTMLAttributes<HTMLDivElement> {
238
+ /** Number of columns */
239
+ columns?: number;
240
+ /** Gap between items */
241
+ gap?: Gap$1;
242
+ /** Row gap */
243
+ rowGap?: Gap$1;
244
+ /** Column gap */
245
+ columnGap?: Gap$1;
246
+ /** Align items */
247
+ alignItems?: CSSProperties['alignItems'];
248
+ /** Justify content */
249
+ justifyContent?: CSSProperties['justifyContent'];
250
+ }
251
+ interface ColProps extends HTMLAttributes<HTMLDivElement> {
252
+ /** Column span */
253
+ span?: ColSpan;
254
+ /** Offset */
255
+ offset?: number;
256
+ /** Small breakpoint span */
257
+ sm?: ColSpan;
258
+ /** Medium breakpoint span */
259
+ md?: ColSpan;
260
+ /** Large breakpoint span */
261
+ lg?: ColSpan;
262
+ /** Extra large breakpoint span */
263
+ xl?: ColSpan;
264
+ }
265
+ declare const Grid: react.ForwardRefExoticComponent<GridProps & react.RefAttributes<HTMLDivElement>>;
266
+ declare const Col: react.ForwardRefExoticComponent<ColProps & react.RefAttributes<HTMLDivElement>>;
267
+
268
+ type Gap = 0 | 1 | 2 | 3 | 4 | 5;
269
+ interface FlexProps extends HTMLAttributes<HTMLDivElement> {
270
+ /** Flex direction */
271
+ direction?: CSSProperties['flexDirection'];
272
+ /** Align items */
273
+ align?: CSSProperties['alignItems'];
274
+ /** Justify content */
275
+ justify?: CSSProperties['justifyContent'];
276
+ /** Flex wrap */
277
+ wrap?: CSSProperties['flexWrap'];
278
+ /** Gap between items */
279
+ gap?: Gap;
280
+ /** Display inline-flex */
281
+ inline?: boolean;
282
+ }
283
+ declare const Flex: react.ForwardRefExoticComponent<FlexProps & react.RefAttributes<HTMLDivElement>>;
284
+
285
+ type SpaceSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
286
+ interface SpaceProps extends HTMLAttributes<HTMLDivElement> {
287
+ /** Direction of space */
288
+ direction?: 'horizontal' | 'vertical';
289
+ /** Size of spacing */
290
+ size?: SpaceSize;
291
+ /** Wrap items */
292
+ wrap?: boolean;
293
+ /** Alignment */
294
+ align?: 'start' | 'end' | 'center' | 'baseline';
295
+ /** Divider between items */
296
+ divider?: React.ReactNode;
297
+ }
298
+ declare const Space: react.ForwardRefExoticComponent<SpaceProps & react.RefAttributes<HTMLDivElement>>;
299
+
300
+ type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'fluid';
301
+ interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
302
+ /** Container max-width size */
303
+ size?: ContainerSize;
304
+ /** Center the container */
305
+ centered?: boolean;
306
+ /** Add padding */
307
+ padding?: boolean;
308
+ }
309
+ declare const Container: react.ForwardRefExoticComponent<ContainerProps & react.RefAttributes<HTMLDivElement>>;
310
+
311
+ interface CardProps extends HTMLAttributes<HTMLDivElement> {
312
+ /** Card variant */
313
+ variant?: 'default' | 'outlined' | 'filled' | 'elevated';
314
+ /** Hover effect */
315
+ hoverable?: boolean;
316
+ /** Clickable card */
317
+ clickable?: boolean;
318
+ /** Card size */
319
+ size?: 'sm' | 'md' | 'lg';
320
+ /** Full width */
321
+ fullWidth?: boolean;
322
+ }
323
+ interface CardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
324
+ /** Header title */
325
+ title?: ReactNode;
326
+ /** Header subtitle */
327
+ subtitle?: ReactNode;
328
+ /** Extra content (right side) */
329
+ extra?: ReactNode;
330
+ }
331
+ interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
332
+ }
333
+ interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
334
+ }
335
+ declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
336
+ declare const CardHeader: react.ForwardRefExoticComponent<CardHeaderProps & react.RefAttributes<HTMLDivElement>>;
337
+ declare const CardBody: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLDivElement>>;
338
+ declare const CardFooter: react.ForwardRefExoticComponent<CardFooterProps & react.RefAttributes<HTMLDivElement>>;
339
+
340
+ type AlertVariant = 'filled' | 'outlined' | 'soft';
341
+ type AlertStatus = 'info' | 'success' | 'warning' | 'danger';
342
+ interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
343
+ /** Alert status/type */
344
+ status?: AlertStatus;
345
+ /** Alert variant */
346
+ variant?: AlertVariant;
347
+ /** Alert title */
348
+ title?: ReactNode;
349
+ /** Alert icon */
350
+ icon?: ReactNode;
351
+ /** Show close button */
352
+ closable?: boolean;
353
+ /** Close callback */
354
+ onClose?: () => void;
355
+ /** Custom close button */
356
+ closeButton?: ReactNode;
357
+ /** Action buttons */
358
+ action?: ReactNode;
359
+ }
360
+ declare const Alert: react.ForwardRefExoticComponent<AlertProps & react.RefAttributes<HTMLDivElement>>;
361
+
362
+ type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
363
+ interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
364
+ /** Whether modal is open */
365
+ isOpen: boolean;
366
+ /** Close callback */
367
+ onClose: () => void;
368
+ /** Modal title */
369
+ title?: ReactNode;
370
+ /** Modal size */
371
+ size?: ModalSize;
372
+ /** Show close button */
373
+ showCloseButton?: boolean;
374
+ /** Close on overlay click */
375
+ closeOnOverlayClick?: boolean;
376
+ /** Close on escape key */
377
+ closeOnEscape?: boolean;
378
+ /** Center modal vertically */
379
+ centered?: boolean;
380
+ /** Scrollable body */
381
+ scrollable?: boolean;
382
+ /** Footer content */
383
+ footer?: ReactNode;
384
+ /** Prevent body scroll when open */
385
+ lockScroll?: boolean;
386
+ }
387
+ declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>>;
388
+ interface ModalHeaderProps extends HTMLAttributes<HTMLDivElement> {
389
+ onClose?: () => void;
390
+ showCloseButton?: boolean;
391
+ }
392
+ declare const ModalHeader: react.ForwardRefExoticComponent<ModalHeaderProps & react.RefAttributes<HTMLDivElement>>;
393
+ declare const ModalBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
394
+ declare const ModalFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
395
+
396
+ type Theme = 'light' | 'dark' | 'system';
397
+ type ColorScheme = 'light' | 'dark';
398
+ interface ZenKitContextValue {
399
+ theme: Theme;
400
+ colorScheme: ColorScheme;
401
+ setTheme: (theme: Theme) => void;
402
+ toggleTheme: () => void;
403
+ }
404
+ interface ZenKitProviderProps {
405
+ children: ReactNode;
406
+ /** Default theme */
407
+ defaultTheme?: Theme;
408
+ /** Storage key for persisting theme */
409
+ storageKey?: string;
410
+ /** Attribute to set on document element */
411
+ attribute?: 'class' | 'data-theme';
412
+ }
413
+ declare const ZenKitProvider: {
414
+ ({ children, defaultTheme, storageKey, attribute, }: ZenKitProviderProps): react_jsx_runtime.JSX.Element;
415
+ displayName: string;
416
+ };
417
+ declare const useTheme: () => ZenKitContextValue;
418
+ declare const useThemeOptional: () => ZenKitContextValue | undefined;
419
+
420
+ type TabsVariant = 'default' | 'pills' | 'underline';
421
+ interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
422
+ /** Default active tab key */
423
+ defaultActiveKey?: string;
424
+ /** Controlled active tab key */
425
+ activeKey?: string;
426
+ /** Tab change callback */
427
+ onChange?: (key: string) => void;
428
+ /** Tabs variant */
429
+ variant?: TabsVariant;
430
+ /** Full width tabs */
431
+ fullWidth?: boolean;
432
+ }
433
+ interface TabListProps extends HTMLAttributes<HTMLDivElement> {
434
+ }
435
+ interface TabProps extends ButtonHTMLAttributes<HTMLButtonElement> {
436
+ /** Tab key identifier */
437
+ tabKey: string;
438
+ /** Disabled state */
439
+ disabled?: boolean;
440
+ /** Tab icon */
441
+ icon?: ReactNode;
442
+ }
443
+ interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {
444
+ /** Panel key matching tab key */
445
+ tabKey: string;
446
+ }
447
+ declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
448
+ declare const TabList: react.ForwardRefExoticComponent<TabListProps & react.RefAttributes<HTMLDivElement>>;
449
+ declare const Tab: react.ForwardRefExoticComponent<TabProps & react.RefAttributes<HTMLButtonElement>>;
450
+ declare const TabPanel: react.ForwardRefExoticComponent<TabPanelProps & react.RefAttributes<HTMLDivElement>>;
451
+
452
+ interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
453
+ /** Current page */
454
+ current?: number;
455
+ /** Total number of pages */
456
+ total: number;
457
+ /** Items per page */
458
+ pageSize?: number;
459
+ /** Page change callback */
460
+ onChange?: (page: number) => void;
461
+ /** Show size changer */
462
+ showSizeChanger?: boolean;
463
+ /** Size change callback */
464
+ onSizeChange?: (size: number) => void;
465
+ /** Disabled state */
466
+ disabled?: boolean;
467
+ /** Show quick jumper */
468
+ showQuickJumper?: boolean;
469
+ /** Pagination size */
470
+ size?: 'sm' | 'md' | 'lg';
471
+ /** Show total count */
472
+ showTotal?: boolean;
473
+ }
474
+ declare const Pagination: react.ForwardRefExoticComponent<PaginationProps & react.RefAttributes<HTMLElement>>;
475
+
476
+ interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
477
+ /** Custom separator */
478
+ separator?: ReactNode;
479
+ }
480
+ interface BreadcrumbItemProps extends HTMLAttributes<HTMLLIElement> {
481
+ /** Link href */
482
+ href?: string;
483
+ /** Active/current item */
484
+ active?: boolean;
485
+ /** Custom icon */
486
+ icon?: ReactNode;
487
+ }
488
+ declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
489
+ declare const BreadcrumbItem: react.ForwardRefExoticComponent<BreadcrumbItemProps & react.RefAttributes<HTMLLIElement>>;
490
+
491
+ type MenuMode = 'vertical' | 'horizontal' | 'inline';
492
+ interface MenuProps extends Omit<HTMLAttributes<HTMLElement>, 'onSelect'> {
493
+ /** Menu mode */
494
+ mode?: MenuMode;
495
+ /** Default active menu item key */
496
+ defaultActiveKey?: string;
497
+ /** Controlled active menu item key */
498
+ activeKey?: string;
499
+ /** Default open submenu keys */
500
+ defaultOpenKeys?: string[];
501
+ /** Controlled open submenu keys */
502
+ openKeys?: string[];
503
+ /** Active key change callback */
504
+ onSelect?: (key: string) => void;
505
+ /** Open keys change callback */
506
+ onOpenChange?: (keys: string[]) => void;
507
+ /** Collapsed state (for inline mode) */
508
+ collapsed?: boolean;
509
+ }
510
+ interface MenuItemProps extends HTMLAttributes<HTMLLIElement> {
511
+ /** Menu item key */
512
+ itemKey: string;
513
+ /** Disabled state */
514
+ disabled?: boolean;
515
+ /** Item icon */
516
+ icon?: ReactNode;
517
+ }
518
+ interface SubMenuProps extends Omit<HTMLAttributes<HTMLLIElement>, 'title'> {
519
+ /** Submenu key */
520
+ subKey: string;
521
+ /** Submenu title */
522
+ title: ReactNode;
523
+ /** Submenu icon */
524
+ icon?: ReactNode;
525
+ /** Disabled state */
526
+ disabled?: boolean;
527
+ }
528
+ interface MenuGroupProps extends Omit<HTMLAttributes<HTMLLIElement>, 'title'> {
529
+ /** Group title */
530
+ title: ReactNode;
531
+ }
532
+ interface MenuDividerProps extends HTMLAttributes<HTMLLIElement> {
533
+ }
534
+ declare const Menu: react.ForwardRefExoticComponent<MenuProps & react.RefAttributes<HTMLElement>>;
535
+ declare const MenuItem: react.ForwardRefExoticComponent<MenuItemProps & react.RefAttributes<HTMLLIElement>>;
536
+ declare const SubMenu: react.ForwardRefExoticComponent<SubMenuProps & react.RefAttributes<HTMLLIElement>>;
537
+ declare const MenuGroup: react.ForwardRefExoticComponent<MenuGroupProps & react.RefAttributes<HTMLLIElement>>;
538
+ declare const MenuDivider: react.ForwardRefExoticComponent<MenuDividerProps & react.RefAttributes<HTMLLIElement>>;
539
+
540
+ type StepsDirection = 'horizontal' | 'vertical';
541
+ type StepStatus = 'wait' | 'process' | 'finish' | 'error';
542
+ interface StepsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
543
+ /** Current step index (0-based) */
544
+ current?: number;
545
+ /** Steps direction */
546
+ direction?: StepsDirection;
547
+ /** Size variant */
548
+ size?: 'sm' | 'md';
549
+ /** Clickable steps */
550
+ clickable?: boolean;
551
+ /** Step click callback */
552
+ onChange?: (step: number) => void;
553
+ }
554
+ interface StepProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
555
+ /** Step title */
556
+ title: ReactNode;
557
+ /** Step description */
558
+ description?: ReactNode;
559
+ /** Step icon */
560
+ icon?: ReactNode;
561
+ /** Step status override */
562
+ status?: StepStatus;
563
+ /** Disabled state */
564
+ disabled?: boolean;
565
+ }
566
+ declare const Steps: react.ForwardRefExoticComponent<StepsProps & react.RefAttributes<HTMLDivElement>>;
567
+ declare const Step: react.ForwardRefExoticComponent<StepProps & react.RefAttributes<HTMLDivElement>>;
568
+
569
+ type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
570
+ interface DropdownProps extends HTMLAttributes<HTMLDivElement> {
571
+ /** Controlled open state */
572
+ open?: boolean;
573
+ /** Open state change callback */
574
+ onOpenChange?: (open: boolean) => void;
575
+ /** Placement of dropdown menu */
576
+ placement?: DropdownPlacement;
577
+ }
578
+ interface DropdownTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
579
+ /** As child - renders children as trigger */
580
+ asChild?: boolean;
581
+ }
582
+ interface DropdownMenuProps extends HTMLAttributes<HTMLDivElement> {
583
+ }
584
+ interface DropdownItemProps extends HTMLAttributes<HTMLDivElement> {
585
+ /** Disabled state */
586
+ disabled?: boolean;
587
+ /** Danger/destructive action */
588
+ danger?: boolean;
589
+ /** Icon */
590
+ icon?: ReactNode;
591
+ /** Click handler */
592
+ onSelect?: () => void;
593
+ }
594
+ interface DropdownDividerProps extends HTMLAttributes<HTMLHRElement> {
595
+ }
596
+ interface DropdownHeaderProps extends HTMLAttributes<HTMLDivElement> {
597
+ }
598
+ declare const Dropdown: react.ForwardRefExoticComponent<DropdownProps & react.RefAttributes<HTMLDivElement>>;
599
+ declare const DropdownTrigger: react.ForwardRefExoticComponent<DropdownTriggerProps & react.RefAttributes<HTMLButtonElement>>;
600
+ declare const DropdownMenu: react.ForwardRefExoticComponent<DropdownMenuProps & react.RefAttributes<HTMLDivElement>>;
601
+ declare const DropdownItem: react.ForwardRefExoticComponent<DropdownItemProps & react.RefAttributes<HTMLDivElement>>;
602
+ declare const DropdownDivider: react.ForwardRefExoticComponent<DropdownDividerProps & react.RefAttributes<HTMLHRElement>>;
603
+ declare const DropdownHeader: react.ForwardRefExoticComponent<DropdownHeaderProps & react.RefAttributes<HTMLDivElement>>;
604
+
605
+ type TooltipPlacement = 'top' | 'right' | 'bottom' | 'left';
606
+ interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
607
+ /** Tooltip content */
608
+ content: React.ReactNode;
609
+ /** Tooltip placement */
610
+ placement?: TooltipPlacement;
611
+ /** Delay before showing (ms) */
612
+ delay?: number;
613
+ /** Disabled state */
614
+ disabled?: boolean;
615
+ /** Arrow visibility */
616
+ arrow?: boolean;
617
+ /** Trigger element */
618
+ children: ReactElement;
619
+ }
620
+ declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
621
+
622
+ type PopoverPlacement = 'top' | 'right' | 'bottom' | 'left';
623
+ type PopoverTrigger = 'click' | 'hover';
624
+ interface PopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content' | 'title'> {
625
+ /** Popover title */
626
+ title?: ReactNode;
627
+ /** Popover content */
628
+ content: ReactNode;
629
+ /** Popover placement */
630
+ placement?: PopoverPlacement;
631
+ /** Trigger mode */
632
+ trigger?: PopoverTrigger;
633
+ /** Controlled open state */
634
+ open?: boolean;
635
+ /** Open state change callback */
636
+ onOpenChange?: (open: boolean) => void;
637
+ /** Arrow visibility */
638
+ arrow?: boolean;
639
+ /** Trigger element */
640
+ children: ReactElement;
641
+ }
642
+ declare const Popover: react.ForwardRefExoticComponent<PopoverProps & react.RefAttributes<HTMLDivElement>>;
643
+
644
+ type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
645
+ type DrawerSize = 'sm' | 'md' | 'lg' | 'full';
646
+ interface DrawerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
647
+ /** Drawer open state */
648
+ open: boolean;
649
+ /** Close callback */
650
+ onClose: () => void;
651
+ /** Drawer title */
652
+ title?: ReactNode;
653
+ /** Drawer placement */
654
+ placement?: DrawerPlacement;
655
+ /** Drawer size */
656
+ size?: DrawerSize;
657
+ /** Show close button */
658
+ closable?: boolean;
659
+ /** Show overlay/mask */
660
+ mask?: boolean;
661
+ /** Close on mask click */
662
+ maskClosable?: boolean;
663
+ /** Close on escape key */
664
+ closeOnEsc?: boolean;
665
+ /** Footer content */
666
+ footer?: ReactNode;
667
+ /** Custom width (overrides size) */
668
+ width?: number | string;
669
+ /** Custom height (overrides size for top/bottom) */
670
+ height?: number | string;
671
+ }
672
+ declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<HTMLDivElement>>;
673
+
674
+ type ProgressStatus = 'default' | 'success' | 'warning' | 'danger';
675
+ interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
676
+ /** Progress value (0-100) */
677
+ value?: number;
678
+ /** Maximum value */
679
+ max?: number;
680
+ /** Show percentage label */
681
+ showLabel?: boolean;
682
+ /** Progress size */
683
+ size?: 'sm' | 'md' | 'lg';
684
+ /** Striped style */
685
+ striped?: boolean;
686
+ /** Animated stripes */
687
+ animated?: boolean;
688
+ /** Progress status/color */
689
+ status?: ProgressStatus;
690
+ /** Indeterminate loading state */
691
+ indeterminate?: boolean;
692
+ }
693
+ declare const Progress: react.ForwardRefExoticComponent<ProgressProps & react.RefAttributes<HTMLDivElement>>;
694
+
695
+ type SpinnerSize = 'sm' | 'md' | 'lg';
696
+ type SpinnerVariant = 'border' | 'grow';
697
+ interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {
698
+ /** Spinner size */
699
+ size?: SpinnerSize;
700
+ /** Spinner variant */
701
+ variant?: SpinnerVariant;
702
+ /** Spinner color */
703
+ color?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';
704
+ /** Accessible label */
705
+ label?: string;
706
+ }
707
+ declare const Spinner: react.ForwardRefExoticComponent<SpinnerProps & react.RefAttributes<HTMLDivElement>>;
708
+
709
+ type NotificationType = 'info' | 'success' | 'warning' | 'error';
710
+ type NotificationPlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';
711
+ interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
712
+ /** Notification type */
713
+ type?: NotificationType;
714
+ /** Notification title */
715
+ title?: ReactNode;
716
+ /** Notification message */
717
+ message: ReactNode;
718
+ /** Custom icon */
719
+ icon?: ReactNode;
720
+ /** Show close button */
721
+ closable?: boolean;
722
+ /** Close callback */
723
+ onClose?: () => void;
724
+ /** Auto close duration in ms (0 to disable) */
725
+ duration?: number;
726
+ /** Action buttons */
727
+ action?: ReactNode;
728
+ }
729
+ interface NotificationContainerProps {
730
+ placement?: NotificationPlacement;
731
+ notifications: NotificationItem[];
732
+ onClose: (id: string) => void;
733
+ }
734
+ interface NotificationItem {
735
+ id: string;
736
+ props: NotificationProps;
737
+ }
738
+ declare const Notification: react.ForwardRefExoticComponent<NotificationProps & react.RefAttributes<HTMLDivElement>>;
739
+ declare const NotificationContainer: react.ForwardRefExoticComponent<NotificationContainerProps & react.RefAttributes<HTMLDivElement>>;
740
+
741
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
742
+ type AvatarShape = 'circle' | 'square' | 'rounded';
743
+ interface AvatarProps extends HTMLAttributes<HTMLSpanElement> {
744
+ /** Image source */
745
+ src?: string;
746
+ /** Image alt text */
747
+ alt?: string;
748
+ /** Avatar size */
749
+ size?: AvatarSize;
750
+ /** Avatar shape */
751
+ shape?: AvatarShape;
752
+ /** Fallback text (initials) */
753
+ fallback?: string;
754
+ /** Custom image props */
755
+ imgProps?: ImgHTMLAttributes<HTMLImageElement>;
756
+ }
757
+ interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
758
+ /** Maximum avatars to show */
759
+ max?: number;
760
+ /** Avatar size for group */
761
+ size?: AvatarSize;
762
+ }
763
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
764
+ declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
765
+
766
+ type BadgeVariant = 'solid' | 'soft' | 'outline';
767
+ type BadgeColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
768
+ type BadgeSize = 'sm' | 'md' | 'lg';
769
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
770
+ /** Badge variant */
771
+ variant?: BadgeVariant;
772
+ /** Badge color */
773
+ color?: BadgeColor;
774
+ /** Badge size */
775
+ size?: BadgeSize;
776
+ /** Pill shape */
777
+ pill?: boolean;
778
+ /** Dot indicator (no text) */
779
+ dot?: boolean;
780
+ }
781
+ declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
782
+
783
+ type TagVariant = 'solid' | 'soft' | 'outline';
784
+ type TagColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'default';
785
+ type TagSize = 'sm' | 'md' | 'lg';
786
+ interface TagProps extends HTMLAttributes<HTMLSpanElement> {
787
+ /** Tag variant */
788
+ variant?: TagVariant;
789
+ /** Tag color */
790
+ color?: TagColor;
791
+ /** Tag size */
792
+ size?: TagSize;
793
+ /** Closable tag */
794
+ closable?: boolean;
795
+ /** Close callback */
796
+ onClose?: () => void;
797
+ /** Left icon */
798
+ icon?: ReactNode;
799
+ }
800
+ declare const Tag: react.ForwardRefExoticComponent<TagProps & react.RefAttributes<HTMLSpanElement>>;
801
+
802
+ interface CollapseProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
803
+ /** Default active panel keys */
804
+ defaultActiveKey?: string | string[];
805
+ /** Controlled active panel keys */
806
+ activeKey?: string | string[];
807
+ /** Active key change callback */
808
+ onChange?: (keys: string[]) => void;
809
+ /** Accordion mode (only one panel open) */
810
+ accordion?: boolean;
811
+ /** Bordered style */
812
+ bordered?: boolean;
813
+ }
814
+ interface CollapsePanelProps extends HTMLAttributes<HTMLDivElement> {
815
+ /** Panel unique key */
816
+ panelKey: string;
817
+ /** Panel header */
818
+ header: ReactNode;
819
+ /** Disabled state */
820
+ disabled?: boolean;
821
+ /** Show arrow icon */
822
+ showArrow?: boolean;
823
+ /** Extra content in header */
824
+ extra?: ReactNode;
825
+ }
826
+ declare const Collapse: react.ForwardRefExoticComponent<CollapseProps & react.RefAttributes<HTMLDivElement>>;
827
+ declare const CollapsePanel: react.ForwardRefExoticComponent<CollapsePanelProps & react.RefAttributes<HTMLDivElement>>;
828
+
829
+ type DividerOrientation = 'horizontal' | 'vertical';
830
+ type DividerVariant = 'solid' | 'dashed' | 'dotted';
831
+ interface DividerProps extends HTMLAttributes<HTMLDivElement> {
832
+ /** Divider orientation */
833
+ orientation?: DividerOrientation;
834
+ /** Divider style variant */
835
+ variant?: DividerVariant;
836
+ /** Text label position */
837
+ labelPosition?: 'left' | 'center' | 'right';
838
+ /** Text content */
839
+ children?: ReactNode;
840
+ }
841
+ declare const Divider: react.ForwardRefExoticComponent<DividerProps & react.RefAttributes<HTMLDivElement>>;
842
+
843
+ interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
844
+ /** Slider value */
845
+ value?: number;
846
+ /** Default value */
847
+ defaultValue?: number;
848
+ /** Minimum value */
849
+ min?: number;
850
+ /** Maximum value */
851
+ max?: number;
852
+ /** Step increment */
853
+ step?: number;
854
+ /** Show marks */
855
+ showMarks?: boolean;
856
+ /** Show tooltip */
857
+ showTooltip?: boolean;
858
+ /** Slider size */
859
+ size?: 'sm' | 'md' | 'lg';
860
+ /** Slider color */
861
+ color?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning';
862
+ }
863
+ declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLInputElement>>;
864
+
865
+ type TableSize = 'sm' | 'md' | 'lg';
866
+ type TableVariant = 'default' | 'striped' | 'bordered';
867
+ interface TableProps extends HTMLAttributes<HTMLTableElement> {
868
+ /** Table size */
869
+ size?: TableSize;
870
+ /** Table variant */
871
+ variant?: TableVariant;
872
+ /** Hoverable rows */
873
+ hoverable?: boolean;
874
+ /** Fixed header */
875
+ stickyHeader?: boolean;
876
+ /** Responsive wrapper */
877
+ responsive?: boolean;
878
+ /** Caption text */
879
+ caption?: ReactNode;
880
+ /** Caption placement */
881
+ captionSide?: 'top' | 'bottom';
882
+ }
883
+ interface TableHeadProps extends HTMLAttributes<HTMLTableSectionElement> {
884
+ }
885
+ interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
886
+ }
887
+ interface TableFootProps extends HTMLAttributes<HTMLTableSectionElement> {
888
+ }
889
+ interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
890
+ /** Selected state */
891
+ selected?: boolean;
892
+ }
893
+ interface TableHeaderProps extends ThHTMLAttributes<HTMLTableCellElement> {
894
+ /** Sortable column */
895
+ sortable?: boolean;
896
+ /** Sort direction */
897
+ sortDirection?: 'asc' | 'desc' | null;
898
+ /** Sort click handler */
899
+ onSort?: () => void;
900
+ }
901
+ interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
902
+ }
903
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
904
+ declare const TableHead: react.ForwardRefExoticComponent<TableHeadProps & react.RefAttributes<HTMLTableSectionElement>>;
905
+ declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLTableSectionElement>>;
906
+ declare const TableFoot: react.ForwardRefExoticComponent<TableFootProps & react.RefAttributes<HTMLTableSectionElement>>;
907
+ declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
908
+ declare const TableHeader: react.ForwardRefExoticComponent<TableHeaderProps & react.RefAttributes<HTMLTableCellElement>>;
909
+ declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
910
+
911
+ type ListSize = 'sm' | 'md' | 'lg';
912
+ interface ListProps extends HTMLAttributes<HTMLDivElement> {
913
+ /** List size */
914
+ size?: ListSize;
915
+ /** Bordered list */
916
+ bordered?: boolean;
917
+ /** Split items with divider */
918
+ split?: boolean;
919
+ /** List header */
920
+ header?: ReactNode;
921
+ /** List footer */
922
+ footer?: ReactNode;
923
+ /** Loading state */
924
+ loading?: boolean;
925
+ /** Empty content when no items */
926
+ emptyText?: ReactNode;
927
+ }
928
+ interface ListItemProps extends HTMLAttributes<HTMLDivElement> {
929
+ /** Extra content (right side) */
930
+ extra?: ReactNode;
931
+ /** Actions (bottom right) */
932
+ actions?: ReactNode[];
933
+ }
934
+ interface ListItemMetaProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
935
+ /** Avatar/image */
936
+ avatar?: ReactNode;
937
+ /** Title */
938
+ title?: ReactNode;
939
+ /** Description */
940
+ description?: ReactNode;
941
+ }
942
+ declare const List: react.ForwardRefExoticComponent<ListProps & react.RefAttributes<HTMLDivElement>>;
943
+ declare const ListItem: react.ForwardRefExoticComponent<ListItemProps & react.RefAttributes<HTMLDivElement>>;
944
+ declare const ListItemMeta: react.ForwardRefExoticComponent<ListItemMetaProps & react.RefAttributes<HTMLDivElement>>;
945
+
946
+ type DescriptionsLayout = 'horizontal' | 'vertical';
947
+ type DescriptionsSize = 'sm' | 'md' | 'lg';
948
+ interface DescriptionsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
949
+ /** Title */
950
+ title?: ReactNode;
951
+ /** Extra content (top right) */
952
+ extra?: ReactNode;
953
+ /** Layout direction */
954
+ layout?: DescriptionsLayout;
955
+ /** Number of columns */
956
+ column?: number;
957
+ /** Bordered style */
958
+ bordered?: boolean;
959
+ /** Size */
960
+ size?: DescriptionsSize;
961
+ /** Colon after label */
962
+ colon?: boolean;
963
+ }
964
+ interface DescriptionsItemProps extends HTMLAttributes<HTMLDivElement> {
965
+ /** Item label */
966
+ label: ReactNode;
967
+ /** Span columns */
968
+ span?: number;
969
+ }
970
+ declare const Descriptions: react.ForwardRefExoticComponent<DescriptionsProps & react.RefAttributes<HTMLDivElement>>;
971
+ declare const DescriptionsItem: react.ForwardRefExoticComponent<DescriptionsItemProps & react.RefAttributes<HTMLDivElement>>;
972
+
973
+ type TimelineMode = 'left' | 'right' | 'alternate';
974
+ interface TimelineProps extends HTMLAttributes<HTMLUListElement> {
975
+ /** Timeline mode */
976
+ mode?: TimelineMode;
977
+ /** Pending item at the end */
978
+ pending?: ReactNode;
979
+ /** Pending dot */
980
+ pendingDot?: ReactNode;
981
+ /** Reverse order */
982
+ reverse?: boolean;
983
+ }
984
+ interface TimelineItemProps extends HTMLAttributes<HTMLLIElement> {
985
+ /** Custom dot */
986
+ dot?: ReactNode;
987
+ /** Dot color */
988
+ color?: 'primary' | 'success' | 'danger' | 'warning' | 'gray';
989
+ /** Label (for alternate mode) */
990
+ label?: ReactNode;
991
+ /** Position override */
992
+ position?: 'left' | 'right';
993
+ }
994
+ declare const Timeline: react.ForwardRefExoticComponent<TimelineProps & react.RefAttributes<HTMLUListElement>>;
995
+ declare const TimelineItem: react.ForwardRefExoticComponent<TimelineItemProps & react.RefAttributes<HTMLLIElement>>;
996
+
997
+ interface StatisticProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'prefix'> {
998
+ /** Statistic title */
999
+ title?: ReactNode;
1000
+ /** Statistic value */
1001
+ value: ReactNode;
1002
+ /** Value prefix */
1003
+ prefix?: ReactNode;
1004
+ /** Value suffix */
1005
+ suffix?: ReactNode;
1006
+ /** Precision for number values */
1007
+ precision?: number;
1008
+ /** Loading state */
1009
+ loading?: boolean;
1010
+ /** Value style */
1011
+ valueStyle?: React.CSSProperties;
1012
+ /** Formatter function */
1013
+ formatter?: (value: ReactNode) => ReactNode;
1014
+ }
1015
+ declare const Statistic: react.ForwardRefExoticComponent<StatisticProps & react.RefAttributes<HTMLDivElement>>;
1016
+ interface StatisticGroupProps extends HTMLAttributes<HTMLDivElement> {
1017
+ /** Divider between items */
1018
+ divider?: boolean;
1019
+ }
1020
+ declare const StatisticGroup: react.ForwardRefExoticComponent<StatisticGroupProps & react.RefAttributes<HTMLDivElement>>;
1021
+
1022
+ interface EmptyProps extends HTMLAttributes<HTMLDivElement> {
1023
+ /** Custom image/icon */
1024
+ image?: ReactNode;
1025
+ /** Image size */
1026
+ imageSize?: number;
1027
+ /** Description text */
1028
+ description?: ReactNode;
1029
+ /** Action buttons */
1030
+ children?: ReactNode;
1031
+ }
1032
+ declare const Empty: react.ForwardRefExoticComponent<EmptyProps & react.RefAttributes<HTMLDivElement>>;
1033
+
1034
+ interface ImageProps extends ImgHTMLAttributes<HTMLImageElement> {
1035
+ /** Fallback content when image fails to load */
1036
+ fallback?: ReactNode;
1037
+ /** Preview on click */
1038
+ preview?: boolean;
1039
+ /** Placeholder while loading */
1040
+ placeholder?: ReactNode;
1041
+ /** Border radius */
1042
+ rounded?: boolean | 'sm' | 'md' | 'lg' | 'full';
1043
+ /** Object fit */
1044
+ fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
1045
+ }
1046
+ declare const Image: react.ForwardRefExoticComponent<ImageProps & react.RefAttributes<HTMLImageElement>>;
1047
+
1048
+ type ResultStatus = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500';
1049
+ interface ResultProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
1050
+ /** Result status */
1051
+ status?: ResultStatus;
1052
+ /** Custom icon */
1053
+ icon?: ReactNode;
1054
+ /** Title */
1055
+ title?: ReactNode;
1056
+ /** Subtitle/description */
1057
+ subtitle?: ReactNode;
1058
+ /** Extra content (buttons) */
1059
+ extra?: ReactNode;
1060
+ }
1061
+ declare const Result: react.ForwardRefExoticComponent<ResultProps & react.RefAttributes<HTMLDivElement>>;
1062
+
1063
+ type SkeletonVariant = 'text' | 'circular' | 'rectangular' | 'rounded';
1064
+ interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
1065
+ /** Skeleton variant */
1066
+ variant?: SkeletonVariant;
1067
+ /** Width */
1068
+ width?: number | string;
1069
+ /** Height */
1070
+ height?: number | string;
1071
+ /** Animation */
1072
+ animation?: 'pulse' | 'wave' | false;
1073
+ /** Number of lines (for text variant) */
1074
+ lines?: number;
1075
+ }
1076
+ declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
1077
+ interface SkeletonAvatarProps extends HTMLAttributes<HTMLDivElement> {
1078
+ /** Avatar size */
1079
+ size?: number;
1080
+ /** Animation */
1081
+ animation?: 'pulse' | 'wave' | false;
1082
+ }
1083
+ declare const SkeletonAvatar: react.ForwardRefExoticComponent<SkeletonAvatarProps & react.RefAttributes<HTMLDivElement>>;
1084
+ interface SkeletonCardProps extends HTMLAttributes<HTMLDivElement> {
1085
+ /** Show avatar */
1086
+ avatar?: boolean;
1087
+ /** Number of text lines */
1088
+ lines?: number;
1089
+ /** Animation */
1090
+ animation?: 'pulse' | 'wave' | false;
1091
+ }
1092
+ declare const SkeletonCard: react.ForwardRefExoticComponent<SkeletonCardProps & react.RefAttributes<HTMLDivElement>>;
1093
+
1094
+ interface RateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1095
+ /** Current value */
1096
+ value?: number;
1097
+ /** Default value */
1098
+ defaultValue?: number;
1099
+ /** Number of stars */
1100
+ count?: number;
1101
+ /** Allow half rating */
1102
+ allowHalf?: boolean;
1103
+ /** Allow clear */
1104
+ allowClear?: boolean;
1105
+ /** Disabled state */
1106
+ disabled?: boolean;
1107
+ /** Read only */
1108
+ readOnly?: boolean;
1109
+ /** Custom character */
1110
+ character?: ReactNode;
1111
+ /** Change callback */
1112
+ onChange?: (value: number) => void;
1113
+ /** Size */
1114
+ size?: 'sm' | 'md' | 'lg';
1115
+ /** Tooltips for each star */
1116
+ tooltips?: string[];
1117
+ }
1118
+ declare const Rate: react.ForwardRefExoticComponent<RateProps & react.RefAttributes<HTMLDivElement>>;
1119
+
1120
+ interface BackTopProps extends HTMLAttributes<HTMLDivElement> {
1121
+ /** Scroll target (defaults to window) */
1122
+ target?: () => HTMLElement | Window;
1123
+ /** Visibility threshold (px from top) */
1124
+ visibilityHeight?: number;
1125
+ /** Duration of scroll animation (ms) */
1126
+ duration?: number;
1127
+ /** Custom content */
1128
+ children?: ReactNode;
1129
+ /** Click callback */
1130
+ onClick?: () => void;
1131
+ }
1132
+ declare const BackTop: react.ForwardRefExoticComponent<BackTopProps & react.RefAttributes<HTMLDivElement>>;
1133
+
1134
+ type ButtonGroupSize = 'sm' | 'md' | 'lg';
1135
+ type ButtonGroupVariant = 'solid' | 'outline' | 'ghost';
1136
+ interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
1137
+ /** Size of buttons in the group */
1138
+ size?: ButtonGroupSize;
1139
+ /** Variant of buttons in the group */
1140
+ variant?: ButtonGroupVariant;
1141
+ /** Disable all buttons */
1142
+ disabled?: boolean;
1143
+ /** Vertical orientation */
1144
+ vertical?: boolean;
1145
+ /** Attached buttons (no gap) */
1146
+ attached?: boolean;
1147
+ }
1148
+ declare const ButtonGroup: react.ForwardRefExoticComponent<ButtonGroupProps & react.RefAttributes<HTMLDivElement>>;
1149
+
1150
+ type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1151
+ interface IconProps extends SVGAttributes<SVGSVGElement> {
1152
+ /** Icon size */
1153
+ size?: IconSize;
1154
+ /** Icon color */
1155
+ color?: string;
1156
+ /** Spin animation */
1157
+ spin?: boolean;
1158
+ /** Icon name (for icon fonts) */
1159
+ name?: string;
1160
+ }
1161
+ declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<SVGSVGElement>>;
1162
+ declare const Icons: {
1163
+ Check: () => react_jsx_runtime.JSX.Element;
1164
+ X: () => react_jsx_runtime.JSX.Element;
1165
+ ChevronDown: () => react_jsx_runtime.JSX.Element;
1166
+ ChevronUp: () => react_jsx_runtime.JSX.Element;
1167
+ ChevronLeft: () => react_jsx_runtime.JSX.Element;
1168
+ ChevronRight: () => react_jsx_runtime.JSX.Element;
1169
+ Search: () => react_jsx_runtime.JSX.Element;
1170
+ Menu: () => react_jsx_runtime.JSX.Element;
1171
+ Plus: () => react_jsx_runtime.JSX.Element;
1172
+ Minus: () => react_jsx_runtime.JSX.Element;
1173
+ Info: () => react_jsx_runtime.JSX.Element;
1174
+ Warning: () => react_jsx_runtime.JSX.Element;
1175
+ Error: () => react_jsx_runtime.JSX.Element;
1176
+ Success: () => react_jsx_runtime.JSX.Element;
1177
+ Loading: () => react_jsx_runtime.JSX.Element;
1178
+ };
1179
+
1180
+ type IconButtonSize = 'sm' | 'md' | 'lg';
1181
+ type IconButtonVariant = 'solid' | 'outline' | 'ghost' | 'light';
1182
+ interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1183
+ /** Button size */
1184
+ size?: IconButtonSize;
1185
+ /** Button variant */
1186
+ variant?: IconButtonVariant;
1187
+ /** Color scheme */
1188
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
1189
+ /** Icon element */
1190
+ icon: ReactNode;
1191
+ /** Loading state */
1192
+ loading?: boolean;
1193
+ /** Rounded style */
1194
+ rounded?: boolean;
1195
+ /** Accessible label */
1196
+ 'aria-label': string;
1197
+ }
1198
+ declare const IconButton: react.ForwardRefExoticComponent<IconButtonProps & react.RefAttributes<HTMLButtonElement>>;
1199
+
1200
+ type ChipSize = 'sm' | 'md' | 'lg';
1201
+ type ChipVariant = 'solid' | 'outline' | 'light';
1202
+ type ChipColor = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
1203
+ interface ChipProps extends HTMLAttributes<HTMLSpanElement> {
1204
+ /** Chip size */
1205
+ size?: ChipSize;
1206
+ /** Chip variant */
1207
+ variant?: ChipVariant;
1208
+ /** Color scheme */
1209
+ color?: ChipColor;
1210
+ /** Avatar or icon on left */
1211
+ avatar?: ReactNode;
1212
+ /** Start content */
1213
+ startContent?: ReactNode;
1214
+ /** End content */
1215
+ endContent?: ReactNode;
1216
+ /** Deletable chip */
1217
+ onClose?: () => void;
1218
+ /** Disabled state */
1219
+ disabled?: boolean;
1220
+ /** Clickable chip */
1221
+ clickable?: boolean;
1222
+ }
1223
+ declare const Chip: react.ForwardRefExoticComponent<ChipProps & react.RefAttributes<HTMLSpanElement>>;
1224
+ interface ChipGroupProps extends HTMLAttributes<HTMLDivElement> {
1225
+ /** Gap between chips */
1226
+ gap?: 'sm' | 'md' | 'lg';
1227
+ }
1228
+ declare const ChipGroup: react.ForwardRefExoticComponent<ChipGroupProps & react.RefAttributes<HTMLDivElement>>;
1229
+
1230
+ type CloseButtonSize = 'sm' | 'md' | 'lg';
1231
+ interface CloseButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1232
+ /** Button size */
1233
+ size?: CloseButtonSize;
1234
+ /** Accessible label */
1235
+ 'aria-label'?: string;
1236
+ }
1237
+ declare const CloseButton: react.ForwardRefExoticComponent<CloseButtonProps & react.RefAttributes<HTMLButtonElement>>;
1238
+
1239
+ interface CodeProps extends HTMLAttributes<HTMLElement> {
1240
+ /** Color scheme */
1241
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
1242
+ }
1243
+ declare const Code: react.ForwardRefExoticComponent<CodeProps & react.RefAttributes<HTMLElement>>;
1244
+ interface CodeBlockProps extends HTMLAttributes<HTMLPreElement> {
1245
+ /** Language for syntax highlighting */
1246
+ language?: string;
1247
+ /** Show line numbers */
1248
+ showLineNumbers?: boolean;
1249
+ /** Filename header */
1250
+ filename?: string;
1251
+ /** Copy button */
1252
+ copyable?: boolean;
1253
+ /** Code content */
1254
+ children: string;
1255
+ }
1256
+ declare const CodeBlock: react.ForwardRefExoticComponent<CodeBlockProps & react.RefAttributes<HTMLPreElement>>;
1257
+
1258
+ type StackDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
1259
+ type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
1260
+ type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
1261
+ type StackSpacing = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1262
+ interface StackProps extends HTMLAttributes<HTMLDivElement> {
1263
+ /** Stack direction */
1264
+ direction?: StackDirection;
1265
+ /** Align items */
1266
+ align?: StackAlign;
1267
+ /** Justify content */
1268
+ justify?: StackJustify;
1269
+ /** Gap between items */
1270
+ spacing?: StackSpacing;
1271
+ /** Wrap items */
1272
+ wrap?: boolean;
1273
+ /** Divider between items */
1274
+ divider?: boolean;
1275
+ }
1276
+ declare const Stack: react.ForwardRefExoticComponent<StackProps & react.RefAttributes<HTMLDivElement>>;
1277
+ interface VStackProps extends Omit<StackProps, 'direction'> {
1278
+ }
1279
+ declare const VStack: react.ForwardRefExoticComponent<VStackProps & react.RefAttributes<HTMLDivElement>>;
1280
+ interface HStackProps extends Omit<StackProps, 'direction'> {
1281
+ }
1282
+ declare const HStack: react.ForwardRefExoticComponent<HStackProps & react.RefAttributes<HTMLDivElement>>;
1283
+
1284
+ interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
1285
+ /** Aspect ratio (e.g., 16/9, 4/3, 1) */
1286
+ ratio?: number;
1287
+ }
1288
+ declare const AspectRatio: react.ForwardRefExoticComponent<AspectRatioProps & react.RefAttributes<HTMLDivElement>>;
1289
+
1290
+ interface MasonryProps extends HTMLAttributes<HTMLDivElement> {
1291
+ /** Number of columns */
1292
+ columns?: number | {
1293
+ sm?: number;
1294
+ md?: number;
1295
+ lg?: number;
1296
+ xl?: number;
1297
+ };
1298
+ /** Gap between items */
1299
+ gap?: 'none' | 'sm' | 'md' | 'lg';
1300
+ }
1301
+ declare const Masonry: react.ForwardRefExoticComponent<MasonryProps & react.RefAttributes<HTMLDivElement>>;
1302
+ interface MasonryItemProps extends HTMLAttributes<HTMLDivElement> {
1303
+ }
1304
+ declare const MasonryItem: react.ForwardRefExoticComponent<MasonryItemProps & react.RefAttributes<HTMLDivElement>>;
1305
+
1306
+ interface SplitterProps extends HTMLAttributes<HTMLDivElement> {
1307
+ /** Orientation */
1308
+ orientation?: 'horizontal' | 'vertical';
1309
+ /** Initial sizes (percentages) */
1310
+ defaultSizes?: number[];
1311
+ /** Minimum size for panels (px) */
1312
+ minSize?: number;
1313
+ /** Gutter size (px) */
1314
+ gutterSize?: number;
1315
+ /** Disable resizing */
1316
+ disabled?: boolean;
1317
+ }
1318
+ declare const Splitter: react.ForwardRefExoticComponent<SplitterProps & react.RefAttributes<HTMLDivElement>>;
1319
+ interface SplitterPanelProps extends HTMLAttributes<HTMLDivElement> {
1320
+ /** Default size (percentage) */
1321
+ defaultSize?: number;
1322
+ /** Minimum size (px) */
1323
+ minSize?: number;
1324
+ /** Maximum size (px) */
1325
+ maxSize?: number;
1326
+ /** Collapsible */
1327
+ collapsible?: boolean;
1328
+ }
1329
+ declare const SplitterPanel: react.ForwardRefExoticComponent<SplitterPanelProps & react.RefAttributes<HTMLDivElement>>;
1330
+
1331
+ type LinkVariant = 'default' | 'subtle' | 'underline';
1332
+ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
1333
+ /** Link variant */
1334
+ variant?: LinkVariant;
1335
+ /** Color */
1336
+ color?: 'primary' | 'secondary' | 'inherit';
1337
+ /** External link */
1338
+ external?: boolean;
1339
+ /** Show external icon */
1340
+ showExternalIcon?: boolean;
1341
+ /** Disabled state */
1342
+ disabled?: boolean;
1343
+ }
1344
+ declare const Link: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
1345
+
1346
+ interface NavbarProps extends HTMLAttributes<HTMLElement> {
1347
+ /** Fixed position */
1348
+ position?: 'static' | 'sticky' | 'fixed';
1349
+ /** Max width */
1350
+ maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
1351
+ /** Bordered bottom */
1352
+ bordered?: boolean;
1353
+ /** Blur background */
1354
+ blurred?: boolean;
1355
+ }
1356
+ declare const Navbar: react.ForwardRefExoticComponent<NavbarProps & react.RefAttributes<HTMLElement>>;
1357
+ interface NavbarBrandProps extends HTMLAttributes<HTMLDivElement> {
1358
+ }
1359
+ declare const NavbarBrand: react.ForwardRefExoticComponent<NavbarBrandProps & react.RefAttributes<HTMLDivElement>>;
1360
+ interface NavbarContentProps extends HTMLAttributes<HTMLUListElement> {
1361
+ /** Justify content */
1362
+ justify?: 'start' | 'center' | 'end';
1363
+ }
1364
+ declare const NavbarContent: react.ForwardRefExoticComponent<NavbarContentProps & react.RefAttributes<HTMLUListElement>>;
1365
+ interface NavbarItemProps extends HTMLAttributes<HTMLLIElement> {
1366
+ /** Active state */
1367
+ active?: boolean;
1368
+ }
1369
+ declare const NavbarItem: react.ForwardRefExoticComponent<NavbarItemProps & react.RefAttributes<HTMLLIElement>>;
1370
+ interface NavbarMenuToggleProps extends HTMLAttributes<HTMLButtonElement> {
1371
+ /** Is menu open */
1372
+ isOpen?: boolean;
1373
+ }
1374
+ declare const NavbarMenuToggle: react.ForwardRefExoticComponent<NavbarMenuToggleProps & react.RefAttributes<HTMLButtonElement>>;
1375
+ interface NavbarMenuProps extends HTMLAttributes<HTMLDivElement> {
1376
+ /** Is menu open */
1377
+ isOpen?: boolean;
1378
+ }
1379
+ declare const NavbarMenu: react.ForwardRefExoticComponent<NavbarMenuProps & react.RefAttributes<HTMLDivElement>>;
1380
+ interface NavbarMenuItemProps extends HTMLAttributes<HTMLDivElement> {
1381
+ }
1382
+ declare const NavbarMenuItem: react.ForwardRefExoticComponent<NavbarMenuItemProps & react.RefAttributes<HTMLDivElement>>;
1383
+
1384
+ interface SidebarContextValue {
1385
+ collapsed: boolean;
1386
+ setCollapsed: (collapsed: boolean) => void;
1387
+ }
1388
+ declare const useSidebar: () => SidebarContextValue;
1389
+ interface SidebarProps extends HTMLAttributes<HTMLElement> {
1390
+ /** Collapsed state */
1391
+ collapsed?: boolean;
1392
+ /** Default collapsed state */
1393
+ defaultCollapsed?: boolean;
1394
+ /** On collapse change */
1395
+ onCollapsedChange?: (collapsed: boolean) => void;
1396
+ /** Width when expanded */
1397
+ width?: number;
1398
+ /** Width when collapsed */
1399
+ collapsedWidth?: number;
1400
+ /** Position */
1401
+ position?: 'left' | 'right';
1402
+ }
1403
+ declare const Sidebar: react.ForwardRefExoticComponent<SidebarProps & react.RefAttributes<HTMLElement>>;
1404
+ interface SidebarHeaderProps extends HTMLAttributes<HTMLDivElement> {
1405
+ }
1406
+ declare const SidebarHeader: react.ForwardRefExoticComponent<SidebarHeaderProps & react.RefAttributes<HTMLDivElement>>;
1407
+ interface SidebarContentProps extends HTMLAttributes<HTMLDivElement> {
1408
+ }
1409
+ declare const SidebarContent: react.ForwardRefExoticComponent<SidebarContentProps & react.RefAttributes<HTMLDivElement>>;
1410
+ interface SidebarFooterProps extends HTMLAttributes<HTMLDivElement> {
1411
+ }
1412
+ declare const SidebarFooter: react.ForwardRefExoticComponent<SidebarFooterProps & react.RefAttributes<HTMLDivElement>>;
1413
+ interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
1414
+ /** Group label */
1415
+ label?: ReactNode;
1416
+ }
1417
+ declare const SidebarGroup: react.ForwardRefExoticComponent<SidebarGroupProps & react.RefAttributes<HTMLDivElement>>;
1418
+ interface SidebarItemProps extends HTMLAttributes<HTMLDivElement> {
1419
+ /** Icon */
1420
+ icon?: ReactNode;
1421
+ /** Active state */
1422
+ active?: boolean;
1423
+ /** Disabled state */
1424
+ disabled?: boolean;
1425
+ }
1426
+ declare const SidebarItem: react.ForwardRefExoticComponent<SidebarItemProps & react.RefAttributes<HTMLDivElement>>;
1427
+ interface SidebarToggleProps extends HTMLAttributes<HTMLButtonElement> {
1428
+ }
1429
+ declare const SidebarToggle: react.ForwardRefExoticComponent<SidebarToggleProps & react.RefAttributes<HTMLButtonElement>>;
1430
+
1431
+ interface AnchorItem {
1432
+ key: string;
1433
+ href: string;
1434
+ title: ReactNode;
1435
+ children?: AnchorItem[];
1436
+ }
1437
+ interface AnchorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1438
+ /** Anchor items */
1439
+ items: AnchorItem[];
1440
+ /** Offset from top (px) */
1441
+ offsetTop?: number;
1442
+ /** Target offset (px) */
1443
+ targetOffset?: number;
1444
+ /** Show ink indicator */
1445
+ showInk?: boolean;
1446
+ /** Affix mode */
1447
+ affix?: boolean;
1448
+ /** Current active link */
1449
+ activeLink?: string;
1450
+ /** On change callback */
1451
+ onChange?: (activeLink: string) => void;
1452
+ /** On click callback */
1453
+ onLinkClick?: (e: React.MouseEvent, link: {
1454
+ title: ReactNode;
1455
+ href: string;
1456
+ }) => void;
1457
+ }
1458
+ declare const Anchor: react.ForwardRefExoticComponent<AnchorProps & react.RefAttributes<HTMLDivElement>>;
1459
+
1460
+ interface CommandItem {
1461
+ id: string;
1462
+ label: string;
1463
+ description?: string;
1464
+ icon?: ReactNode;
1465
+ shortcut?: string[];
1466
+ group?: string;
1467
+ onSelect?: () => void;
1468
+ disabled?: boolean;
1469
+ }
1470
+ interface CommandPaletteProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
1471
+ /** Is palette open */
1472
+ open?: boolean;
1473
+ /** On open change */
1474
+ onOpenChange?: (open: boolean) => void;
1475
+ /** Command items */
1476
+ items: CommandItem[];
1477
+ /** Placeholder text */
1478
+ placeholder?: string;
1479
+ /** Empty state text */
1480
+ emptyText?: string;
1481
+ /** On item select */
1482
+ onSelect?: (item: CommandItem) => void;
1483
+ /** Filter function */
1484
+ filter?: (item: CommandItem, search: string) => boolean;
1485
+ }
1486
+ declare const CommandPalette: react.ForwardRefExoticComponent<CommandPaletteProps & react.RefAttributes<HTMLDivElement>>;
1487
+
1488
+ interface ContextMenuItem {
1489
+ key: string;
1490
+ label: ReactNode;
1491
+ icon?: ReactNode;
1492
+ shortcut?: string;
1493
+ disabled?: boolean;
1494
+ danger?: boolean;
1495
+ children?: ContextMenuItem[];
1496
+ onSelect?: () => void;
1497
+ }
1498
+ interface ContextMenuProps extends HTMLAttributes<HTMLDivElement> {
1499
+ /** Menu items */
1500
+ items: ContextMenuItem[];
1501
+ /** Trigger element */
1502
+ children: ReactNode;
1503
+ /** Disabled state */
1504
+ disabled?: boolean;
1505
+ }
1506
+ declare const ContextMenu: react.ForwardRefExoticComponent<ContextMenuProps & react.RefAttributes<HTMLDivElement>>;
1507
+ declare const ContextMenuSeparator: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
1508
+
1509
+ interface SpeedDialAction {
1510
+ key: string;
1511
+ icon: ReactNode;
1512
+ label?: string;
1513
+ onClick?: () => void;
1514
+ disabled?: boolean;
1515
+ }
1516
+ interface SpeedDialProps extends HTMLAttributes<HTMLDivElement> {
1517
+ /** Actions */
1518
+ actions: SpeedDialAction[];
1519
+ /** Main button icon */
1520
+ icon?: ReactNode;
1521
+ /** Open icon (when expanded) */
1522
+ openIcon?: ReactNode;
1523
+ /** Direction */
1524
+ direction?: 'up' | 'down' | 'left' | 'right';
1525
+ /** Position */
1526
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
1527
+ /** Controlled open state */
1528
+ open?: boolean;
1529
+ /** On open change */
1530
+ onOpenChange?: (open: boolean) => void;
1531
+ /** Show labels */
1532
+ showLabels?: boolean;
1533
+ /** Disabled state */
1534
+ disabled?: boolean;
1535
+ }
1536
+ declare const SpeedDial: react.ForwardRefExoticComponent<SpeedDialProps & react.RefAttributes<HTMLDivElement>>;
1537
+
1538
+ interface BottomNavigationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {
1539
+ /** Active item key */
1540
+ activeKey?: string;
1541
+ /** On change callback */
1542
+ onChange?: (key: string) => void;
1543
+ /** Show labels */
1544
+ showLabels?: boolean;
1545
+ /** Hide on scroll */
1546
+ hideOnScroll?: boolean;
1547
+ }
1548
+ declare const BottomNavigation: react.ForwardRefExoticComponent<BottomNavigationProps & react.RefAttributes<HTMLElement>>;
1549
+ interface BottomNavigationItemProps extends HTMLAttributes<HTMLButtonElement> {
1550
+ /** Item key */
1551
+ itemKey: string;
1552
+ /** Icon */
1553
+ icon: ReactNode;
1554
+ /** Label */
1555
+ label?: string;
1556
+ /** Active state */
1557
+ active?: boolean;
1558
+ /** Badge count */
1559
+ badge?: number | boolean;
1560
+ /** Disabled state */
1561
+ disabled?: boolean;
1562
+ }
1563
+ declare const BottomNavigationItem: react.ForwardRefExoticComponent<BottomNavigationItemProps & react.RefAttributes<HTMLButtonElement>>;
1564
+
1565
+ interface MenubarItem {
1566
+ key: string;
1567
+ label: ReactNode;
1568
+ icon?: ReactNode;
1569
+ shortcut?: string;
1570
+ disabled?: boolean;
1571
+ children?: MenubarItem[];
1572
+ onSelect?: () => void;
1573
+ type?: 'item' | 'separator' | 'checkbox' | 'radio';
1574
+ checked?: boolean;
1575
+ }
1576
+ interface MenubarProps extends HTMLAttributes<HTMLDivElement> {
1577
+ /** Loop keyboard navigation */
1578
+ loop?: boolean;
1579
+ }
1580
+ declare const Menubar: react.ForwardRefExoticComponent<MenubarProps & react.RefAttributes<HTMLDivElement>>;
1581
+ interface MenubarMenuProps extends HTMLAttributes<HTMLDivElement> {
1582
+ /** Trigger label */
1583
+ trigger: ReactNode;
1584
+ /** Menu items */
1585
+ items: MenubarItem[];
1586
+ }
1587
+ declare const MenubarMenu: react.ForwardRefExoticComponent<MenubarMenuProps & react.RefAttributes<HTMLDivElement>>;
1588
+
1589
+ interface NavigationMenuProps extends HTMLAttributes<HTMLElement> {
1590
+ /** Default active item */
1591
+ defaultValue?: string;
1592
+ /** Controlled active value */
1593
+ value?: string;
1594
+ /** On value change */
1595
+ onValueChange?: (value: string) => void;
1596
+ /** Orientation */
1597
+ orientation?: 'horizontal' | 'vertical';
1598
+ }
1599
+ declare const NavigationMenu: react.ForwardRefExoticComponent<NavigationMenuProps & react.RefAttributes<HTMLElement>>;
1600
+ interface NavigationMenuItemProps extends HTMLAttributes<HTMLDivElement> {
1601
+ /** Item value */
1602
+ value: string;
1603
+ }
1604
+ declare const NavigationMenuItem: react.ForwardRefExoticComponent<NavigationMenuItemProps & react.RefAttributes<HTMLDivElement>>;
1605
+ interface NavigationMenuTriggerProps extends HTMLAttributes<HTMLButtonElement> {
1606
+ /** Disable chevron */
1607
+ hideChevron?: boolean;
1608
+ }
1609
+ declare const NavigationMenuTrigger: react.ForwardRefExoticComponent<NavigationMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1610
+ interface NavigationMenuContentProps extends HTMLAttributes<HTMLDivElement> {
1611
+ }
1612
+ declare const NavigationMenuContent: react.ForwardRefExoticComponent<NavigationMenuContentProps & react.RefAttributes<HTMLDivElement>>;
1613
+ interface NavigationMenuLinkProps extends HTMLAttributes<HTMLAnchorElement> {
1614
+ /** Link href */
1615
+ href?: string;
1616
+ /** Active state */
1617
+ active?: boolean;
1618
+ }
1619
+ declare const NavigationMenuLink: react.ForwardRefExoticComponent<NavigationMenuLinkProps & react.RefAttributes<HTMLAnchorElement>>;
1620
+ interface NavigationMenuViewportProps extends HTMLAttributes<HTMLDivElement> {
1621
+ }
1622
+ declare const NavigationMenuViewport: react.ForwardRefExoticComponent<NavigationMenuViewportProps & react.RefAttributes<HTMLDivElement>>;
1623
+ interface NavigationMenuIndicatorProps extends HTMLAttributes<HTMLDivElement> {
1624
+ }
1625
+ declare const NavigationMenuIndicator: react.ForwardRefExoticComponent<NavigationMenuIndicatorProps & react.RefAttributes<HTMLDivElement>>;
1626
+
1627
+ interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
1628
+ /** Selected date */
1629
+ value?: Date | null;
1630
+ /** On change callback */
1631
+ onChange?: (date: Date | null) => void;
1632
+ /** Placeholder text */
1633
+ placeholder?: string;
1634
+ /** Date format */
1635
+ format?: string;
1636
+ /** Minimum date */
1637
+ minDate?: Date;
1638
+ /** Maximum date */
1639
+ maxDate?: Date;
1640
+ /** Disabled dates */
1641
+ disabledDates?: Date[];
1642
+ /** Clearable */
1643
+ clearable?: boolean;
1644
+ /** Size */
1645
+ size?: 'sm' | 'md' | 'lg';
1646
+ /** Error state */
1647
+ error?: boolean;
1648
+ }
1649
+ declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<HTMLInputElement>>;
1650
+
1651
+ interface DateRange {
1652
+ start: Date | null;
1653
+ end: Date | null;
1654
+ }
1655
+ interface DateRangePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1656
+ /** Selected date range */
1657
+ value?: DateRange;
1658
+ /** On change callback */
1659
+ onChange?: (range: DateRange) => void;
1660
+ /** Start placeholder */
1661
+ startPlaceholder?: string;
1662
+ /** End placeholder */
1663
+ endPlaceholder?: string;
1664
+ /** Minimum date */
1665
+ minDate?: Date;
1666
+ /** Maximum date */
1667
+ maxDate?: Date;
1668
+ /** Size */
1669
+ size?: 'sm' | 'md' | 'lg';
1670
+ /** Error state */
1671
+ error?: boolean;
1672
+ /** Disabled state */
1673
+ disabled?: boolean;
1674
+ }
1675
+ declare const DateRangePicker: react.ForwardRefExoticComponent<DateRangePickerProps & react.RefAttributes<HTMLDivElement>>;
1676
+
1677
+ interface TimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
1678
+ /** Selected time */
1679
+ value?: string;
1680
+ /** On change callback */
1681
+ onChange?: (time: string) => void;
1682
+ /** Use 12-hour format */
1683
+ use12Hours?: boolean;
1684
+ /** Show seconds */
1685
+ showSeconds?: boolean;
1686
+ /** Hour step */
1687
+ hourStep?: number;
1688
+ /** Minute step */
1689
+ minuteStep?: number;
1690
+ /** Second step */
1691
+ secondStep?: number;
1692
+ /** Size */
1693
+ size?: 'sm' | 'md' | 'lg';
1694
+ /** Error state */
1695
+ error?: boolean;
1696
+ /** Clearable */
1697
+ clearable?: boolean;
1698
+ }
1699
+ declare const TimePicker: react.ForwardRefExoticComponent<TimePickerProps & react.RefAttributes<HTMLInputElement>>;
1700
+
1701
+ interface AutocompleteOption {
1702
+ value: string;
1703
+ label: ReactNode;
1704
+ disabled?: boolean;
1705
+ }
1706
+ interface AutocompleteProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size'> {
1707
+ /** Options */
1708
+ options: AutocompleteOption[];
1709
+ /** Selected value */
1710
+ value?: string;
1711
+ /** On change callback */
1712
+ onChange?: (value: string) => void;
1713
+ /** On search callback */
1714
+ onSearch?: (value: string) => void;
1715
+ /** Loading state */
1716
+ loading?: boolean;
1717
+ /** Allow free text */
1718
+ freeSolo?: boolean;
1719
+ /** Size */
1720
+ size?: 'sm' | 'md' | 'lg';
1721
+ /** Error state */
1722
+ error?: boolean;
1723
+ /** Empty text */
1724
+ emptyText?: string;
1725
+ }
1726
+ declare const Autocomplete: react.ForwardRefExoticComponent<AutocompleteProps & react.RefAttributes<HTMLInputElement>>;
1727
+
1728
+ interface UploadFile {
1729
+ uid: string;
1730
+ name: string;
1731
+ size: number;
1732
+ type: string;
1733
+ status: 'uploading' | 'done' | 'error';
1734
+ percent?: number;
1735
+ url?: string;
1736
+ originFile?: File;
1737
+ }
1738
+ interface UploadProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1739
+ /** File list */
1740
+ fileList?: UploadFile[];
1741
+ /** On change callback */
1742
+ onChange?: (fileList: UploadFile[]) => void;
1743
+ /** Custom upload handler */
1744
+ customRequest?: (file: File) => Promise<string>;
1745
+ /** Accept file types */
1746
+ accept?: string;
1747
+ /** Multiple files */
1748
+ multiple?: boolean;
1749
+ /** Max file count */
1750
+ maxCount?: number;
1751
+ /** Max file size (bytes) */
1752
+ maxSize?: number;
1753
+ /** Disabled state */
1754
+ disabled?: boolean;
1755
+ /** Show file list */
1756
+ showFileList?: boolean;
1757
+ /** List type */
1758
+ listType?: 'text' | 'picture' | 'picture-card';
1759
+ /** Custom content */
1760
+ children?: ReactNode;
1761
+ }
1762
+ declare const Upload: react.ForwardRefExoticComponent<UploadProps & react.RefAttributes<HTMLDivElement>>;
1763
+
1764
+ interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'type' | 'prefix' | 'size'> {
1765
+ /** Value */
1766
+ value?: number;
1767
+ /** On change callback */
1768
+ onChange?: (value: number | undefined) => void;
1769
+ /** Minimum value */
1770
+ min?: number;
1771
+ /** Maximum value */
1772
+ max?: number;
1773
+ /** Step value */
1774
+ step?: number;
1775
+ /** Precision */
1776
+ precision?: number;
1777
+ /** Size */
1778
+ size?: 'sm' | 'md' | 'lg';
1779
+ /** Error state */
1780
+ error?: boolean;
1781
+ /** Hide controls */
1782
+ hideControls?: boolean;
1783
+ /** Prefix */
1784
+ prefix?: React.ReactNode;
1785
+ /** Suffix */
1786
+ suffix?: React.ReactNode;
1787
+ }
1788
+ declare const NumberInput: react.ForwardRefExoticComponent<NumberInputProps & react.RefAttributes<HTMLInputElement>>;
1789
+
1790
+ interface ColorPickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1791
+ /** Selected color */
1792
+ value?: string;
1793
+ /** On change callback */
1794
+ onChange?: (color: string) => void;
1795
+ /** Preset colors */
1796
+ presets?: string[];
1797
+ /** Show alpha slider */
1798
+ showAlpha?: boolean;
1799
+ /** Size */
1800
+ size?: 'sm' | 'md' | 'lg';
1801
+ /** Disabled state */
1802
+ disabled?: boolean;
1803
+ /** Format */
1804
+ format?: 'hex' | 'rgb' | 'hsl';
1805
+ }
1806
+ declare const ColorPicker: react.ForwardRefExoticComponent<ColorPickerProps & react.RefAttributes<HTMLDivElement>>;
1807
+
1808
+ interface MentionOption {
1809
+ value: string;
1810
+ label: string;
1811
+ avatar?: string;
1812
+ }
1813
+ interface MentionsProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {
1814
+ /** Mention options */
1815
+ options: MentionOption[];
1816
+ /** Value */
1817
+ value?: string;
1818
+ /** On change callback */
1819
+ onChange?: (value: string) => void;
1820
+ /** On mention callback */
1821
+ onMention?: (option: MentionOption) => void;
1822
+ /** Trigger character */
1823
+ trigger?: string;
1824
+ /** Size */
1825
+ size?: 'sm' | 'md' | 'lg';
1826
+ /** Error state */
1827
+ error?: boolean;
1828
+ }
1829
+ declare const Mentions: react.ForwardRefExoticComponent<MentionsProps & react.RefAttributes<HTMLTextAreaElement>>;
1830
+
1831
+ interface CascaderOption {
1832
+ value: string;
1833
+ label: ReactNode;
1834
+ children?: CascaderOption[];
1835
+ disabled?: boolean;
1836
+ }
1837
+ interface CascaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1838
+ /** Options */
1839
+ options: CascaderOption[];
1840
+ /** Selected value path */
1841
+ value?: string[];
1842
+ /** On change callback */
1843
+ onChange?: (value: string[], options: CascaderOption[]) => void;
1844
+ /** Placeholder */
1845
+ placeholder?: string;
1846
+ /** Size */
1847
+ size?: 'sm' | 'md' | 'lg';
1848
+ /** Error state */
1849
+ error?: boolean;
1850
+ /** Disabled state */
1851
+ disabled?: boolean;
1852
+ /** Show full path in input */
1853
+ showFullPath?: boolean;
1854
+ /** Separator for display */
1855
+ separator?: string;
1856
+ }
1857
+ declare const Cascader: react.ForwardRefExoticComponent<CascaderProps & react.RefAttributes<HTMLDivElement>>;
1858
+
1859
+ interface TreeSelectNode {
1860
+ key: string;
1861
+ title: ReactNode;
1862
+ value: string;
1863
+ children?: TreeSelectNode[];
1864
+ disabled?: boolean;
1865
+ selectable?: boolean;
1866
+ }
1867
+ interface TreeSelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1868
+ /** Tree data */
1869
+ treeData: TreeSelectNode[];
1870
+ /** Selected value(s) */
1871
+ value?: string | string[];
1872
+ /** On change callback */
1873
+ onChange?: (value: string | string[]) => void;
1874
+ /** Multiple selection */
1875
+ multiple?: boolean;
1876
+ /** Placeholder */
1877
+ placeholder?: string;
1878
+ /** Size */
1879
+ size?: 'sm' | 'md' | 'lg';
1880
+ /** Error state */
1881
+ error?: boolean;
1882
+ /** Disabled state */
1883
+ disabled?: boolean;
1884
+ /** Show checkbox */
1885
+ showCheckbox?: boolean;
1886
+ /** Default expanded keys */
1887
+ defaultExpandedKeys?: string[];
1888
+ }
1889
+ declare const TreeSelect: react.ForwardRefExoticComponent<TreeSelectProps & react.RefAttributes<HTMLDivElement>>;
1890
+
1891
+ interface TransferItem {
1892
+ key: string;
1893
+ title: ReactNode;
1894
+ description?: string;
1895
+ disabled?: boolean;
1896
+ }
1897
+ interface TransferProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1898
+ /** Data source */
1899
+ dataSource: TransferItem[];
1900
+ /** Target keys */
1901
+ targetKeys?: string[];
1902
+ /** On change callback */
1903
+ onChange?: (targetKeys: string[], direction: 'left' | 'right', moveKeys: string[]) => void;
1904
+ /** Titles for both lists */
1905
+ titles?: [ReactNode, ReactNode];
1906
+ /** Show search */
1907
+ showSearch?: boolean;
1908
+ /** Disabled state */
1909
+ disabled?: boolean;
1910
+ /** One way mode */
1911
+ oneWay?: boolean;
1912
+ }
1913
+ declare const Transfer: react.ForwardRefExoticComponent<TransferProps & react.RefAttributes<HTMLDivElement>>;
1914
+
1915
+ interface InputOTPProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1916
+ /** Number of inputs */
1917
+ length?: number;
1918
+ /** Value */
1919
+ value?: string;
1920
+ /** On change callback */
1921
+ onChange?: (value: string) => void;
1922
+ /** On complete callback */
1923
+ onComplete?: (value: string) => void;
1924
+ /** Mask input */
1925
+ mask?: boolean;
1926
+ /** Size */
1927
+ size?: 'sm' | 'md' | 'lg';
1928
+ /** Error state */
1929
+ error?: boolean;
1930
+ /** Disabled state */
1931
+ disabled?: boolean;
1932
+ /** Auto focus first input */
1933
+ autoFocus?: boolean;
1934
+ /** Type */
1935
+ type?: 'numeric' | 'alphanumeric';
1936
+ }
1937
+ declare const InputOTP: react.ForwardRefExoticComponent<InputOTPProps & react.RefAttributes<HTMLDivElement>>;
1938
+
1939
+ interface TagsInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1940
+ /** Tags */
1941
+ value?: string[];
1942
+ /** On change callback */
1943
+ onChange?: (tags: string[]) => void;
1944
+ /** Placeholder */
1945
+ placeholder?: string;
1946
+ /** Max tags */
1947
+ maxTags?: number;
1948
+ /** Size */
1949
+ size?: 'sm' | 'md' | 'lg';
1950
+ /** Error state */
1951
+ error?: boolean;
1952
+ /** Disabled state */
1953
+ disabled?: boolean;
1954
+ /** Allow duplicates */
1955
+ allowDuplicates?: boolean;
1956
+ /** Separator keys */
1957
+ separatorKeys?: string[];
1958
+ }
1959
+ declare const TagsInput: react.ForwardRefExoticComponent<TagsInputProps & react.RefAttributes<HTMLDivElement>>;
1960
+
1961
+ interface DropzoneProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onDrop'> {
1962
+ /** On drop callback */
1963
+ onDrop?: (files: File[]) => void;
1964
+ /** Accept file types */
1965
+ accept?: string;
1966
+ /** Multiple files */
1967
+ multiple?: boolean;
1968
+ /** Max file size (bytes) */
1969
+ maxSize?: number;
1970
+ /** Max files */
1971
+ maxFiles?: number;
1972
+ /** Disabled state */
1973
+ disabled?: boolean;
1974
+ /** Custom content */
1975
+ children?: ReactNode;
1976
+ /** Loading state */
1977
+ loading?: boolean;
1978
+ }
1979
+ declare const Dropzone: react.ForwardRefExoticComponent<DropzoneProps & react.RefAttributes<HTMLDivElement>>;
1980
+
1981
+ interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
1982
+ /** Size */
1983
+ size?: 'sm' | 'md' | 'lg';
1984
+ /** Error state */
1985
+ error?: boolean;
1986
+ /** Show strength indicator */
1987
+ showStrength?: boolean;
1988
+ /** Visible by default */
1989
+ defaultVisible?: boolean;
1990
+ }
1991
+ declare const PasswordInput: react.ForwardRefExoticComponent<PasswordInputProps & react.RefAttributes<HTMLInputElement>>;
1992
+
1993
+ interface PinInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
1994
+ /** Number of inputs */
1995
+ length?: number;
1996
+ /** Value */
1997
+ value?: string;
1998
+ /** On change callback */
1999
+ onChange?: (value: string) => void;
2000
+ /** On complete callback */
2001
+ onComplete?: (value: string) => void;
2002
+ /** Mask input */
2003
+ mask?: boolean;
2004
+ /** Size */
2005
+ size?: 'sm' | 'md' | 'lg';
2006
+ /** Error state */
2007
+ error?: boolean;
2008
+ /** Disabled state */
2009
+ disabled?: boolean;
2010
+ /** Type */
2011
+ type?: 'numeric' | 'alphanumeric';
2012
+ /** Placeholder character */
2013
+ placeholder?: string;
2014
+ /** Auto focus */
2015
+ autoFocus?: boolean;
2016
+ }
2017
+ declare const PinInput: react.ForwardRefExoticComponent<PinInputProps & react.RefAttributes<HTMLDivElement>>;
2018
+
2019
+ interface FieldsetProps extends HTMLAttributes<HTMLFieldSetElement> {
2020
+ /** Legend/title */
2021
+ legend?: ReactNode;
2022
+ /** Disabled state */
2023
+ disabled?: boolean;
2024
+ /** Variant */
2025
+ variant?: 'default' | 'outlined' | 'filled';
2026
+ }
2027
+ declare const Fieldset: react.ForwardRefExoticComponent<FieldsetProps & react.RefAttributes<HTMLFieldSetElement>>;
2028
+ interface FieldProps extends HTMLAttributes<HTMLDivElement> {
2029
+ /** Field label */
2030
+ label?: ReactNode;
2031
+ /** Label position */
2032
+ labelPosition?: 'top' | 'left';
2033
+ /** Required indicator */
2034
+ required?: boolean;
2035
+ /** Help text */
2036
+ help?: ReactNode;
2037
+ /** Error text */
2038
+ error?: ReactNode;
2039
+ }
2040
+ declare const Field: react.ForwardRefExoticComponent<FieldProps & react.RefAttributes<HTMLDivElement>>;
2041
+
2042
+ interface EditableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'onSubmit'> {
2043
+ /** Value */
2044
+ value?: string;
2045
+ /** Default value */
2046
+ defaultValue?: string;
2047
+ /** On change callback */
2048
+ onChange?: (value: string) => void;
2049
+ /** On submit callback */
2050
+ onSubmit?: (value: string) => void;
2051
+ /** On cancel callback */
2052
+ onCancel?: () => void;
2053
+ /** Placeholder */
2054
+ placeholder?: string;
2055
+ /** Disabled state */
2056
+ disabled?: boolean;
2057
+ /** Start in edit mode */
2058
+ startWithEditView?: boolean;
2059
+ /** Submit on blur */
2060
+ submitOnBlur?: boolean;
2061
+ /** Select all on focus */
2062
+ selectAllOnFocus?: boolean;
2063
+ /** As element type */
2064
+ as?: 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
2065
+ }
2066
+ declare const Editable: react.ForwardRefExoticComponent<EditableProps & react.RefAttributes<HTMLDivElement>>;
2067
+
2068
+ interface DataGridColumn<T> {
2069
+ key: string;
2070
+ title: ReactNode;
2071
+ dataIndex?: keyof T;
2072
+ width?: number | string;
2073
+ minWidth?: number;
2074
+ sortable?: boolean;
2075
+ filterable?: boolean;
2076
+ resizable?: boolean;
2077
+ fixed?: 'left' | 'right';
2078
+ render?: (value: any, record: T, index: number) => ReactNode;
2079
+ }
2080
+ interface DataGridProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
2081
+ /** Columns configuration */
2082
+ columns: DataGridColumn<T>[];
2083
+ /** Data source */
2084
+ dataSource: T[];
2085
+ /** Row key */
2086
+ rowKey: keyof T | ((record: T) => string);
2087
+ /** Loading state */
2088
+ loading?: boolean;
2089
+ /** Bordered */
2090
+ bordered?: boolean;
2091
+ /** Striped rows */
2092
+ striped?: boolean;
2093
+ /** Hover effect */
2094
+ hover?: boolean;
2095
+ /** Fixed header */
2096
+ stickyHeader?: boolean;
2097
+ /** Height */
2098
+ height?: number | string;
2099
+ /** Empty text */
2100
+ emptyText?: ReactNode;
2101
+ /** Row selection */
2102
+ rowSelection?: {
2103
+ selectedRowKeys: string[];
2104
+ onChange: (selectedRowKeys: string[]) => void;
2105
+ };
2106
+ /** On row click */
2107
+ onRowClick?: (record: T, index: number) => void;
2108
+ }
2109
+ declare const DataGrid: react.ForwardRefExoticComponent<DataGridProps<any> & react.RefAttributes<HTMLDivElement>>;
2110
+
2111
+ interface CarouselProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2112
+ /** Autoplay */
2113
+ autoplay?: boolean;
2114
+ /** Autoplay interval (ms) */
2115
+ interval?: number;
2116
+ /** Show arrows */
2117
+ arrows?: boolean;
2118
+ /** Show dots */
2119
+ dots?: boolean;
2120
+ /** Dots position */
2121
+ dotsPosition?: 'bottom' | 'top' | 'left' | 'right';
2122
+ /** Loop infinitely */
2123
+ loop?: boolean;
2124
+ /** Pause on hover */
2125
+ pauseOnHover?: boolean;
2126
+ /** On slide change */
2127
+ onChange?: (index: number) => void;
2128
+ }
2129
+ declare const Carousel: react.ForwardRefExoticComponent<CarouselProps & react.RefAttributes<HTMLDivElement>>;
2130
+ interface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {
2131
+ }
2132
+ declare const CarouselItem: react.ForwardRefExoticComponent<CarouselItemProps & react.RefAttributes<HTMLDivElement>>;
2133
+
2134
+ interface TreeNode {
2135
+ key: string;
2136
+ title: ReactNode;
2137
+ children?: TreeNode[];
2138
+ disabled?: boolean;
2139
+ isLeaf?: boolean;
2140
+ icon?: ReactNode;
2141
+ }
2142
+ interface TreeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
2143
+ /** Tree data */
2144
+ treeData: TreeNode[];
2145
+ /** Expanded keys */
2146
+ expandedKeys?: string[];
2147
+ /** Default expanded keys */
2148
+ defaultExpandedKeys?: string[];
2149
+ /** Selected keys */
2150
+ selectedKeys?: string[];
2151
+ /** Default selected keys */
2152
+ defaultSelectedKeys?: string[];
2153
+ /** Checked keys (for checkable tree) */
2154
+ checkedKeys?: string[];
2155
+ /** Checkable tree */
2156
+ checkable?: boolean;
2157
+ /** Multiple selection */
2158
+ multiple?: boolean;
2159
+ /** Show lines */
2160
+ showLine?: boolean;
2161
+ /** Show icon */
2162
+ showIcon?: boolean;
2163
+ /** On expand */
2164
+ onExpand?: (expandedKeys: string[], node: TreeNode, expanded: boolean) => void;
2165
+ /** On select */
2166
+ onSelect?: (selectedKeys: string[], node: TreeNode, selected: boolean) => void;
2167
+ /** On check */
2168
+ onCheck?: (checkedKeys: string[], node: TreeNode, checked: boolean) => void;
2169
+ }
2170
+ declare const Tree: react.ForwardRefExoticComponent<TreeProps & react.RefAttributes<HTMLDivElement>>;
2171
+
2172
+ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2173
+ /** Selected date */
2174
+ value?: Date;
2175
+ /** On change callback */
2176
+ onChange?: (date: Date) => void;
2177
+ /** Mode */
2178
+ mode?: 'month' | 'year';
2179
+ /** On mode change */
2180
+ onModeChange?: (mode: 'month' | 'year') => void;
2181
+ /** Full screen mode */
2182
+ fullscreen?: boolean;
2183
+ /** Disabled dates */
2184
+ disabledDate?: (date: Date) => boolean;
2185
+ /** Custom date cell render */
2186
+ dateCellRender?: (date: Date) => ReactNode;
2187
+ /** Custom month cell render */
2188
+ monthCellRender?: (month: number) => ReactNode;
2189
+ /** Header render */
2190
+ headerRender?: (config: {
2191
+ value: Date;
2192
+ onChange: (date: Date) => void;
2193
+ }) => ReactNode;
2194
+ }
2195
+ declare const Calendar: react.ForwardRefExoticComponent<CalendarProps & react.RefAttributes<HTMLDivElement>>;
2196
+
2197
+ interface QRCodeProps extends HTMLAttributes<HTMLDivElement> {
2198
+ /** Value to encode */
2199
+ value: string;
2200
+ /** Size in pixels */
2201
+ size?: number;
2202
+ /** Background color */
2203
+ bgColor?: string;
2204
+ /** Foreground color */
2205
+ fgColor?: string;
2206
+ /** Error correction level */
2207
+ level?: 'L' | 'M' | 'Q' | 'H';
2208
+ /** Include margin */
2209
+ includeMargin?: boolean;
2210
+ /** Icon in center */
2211
+ icon?: string;
2212
+ /** Icon size */
2213
+ iconSize?: number;
2214
+ /** Status */
2215
+ status?: 'active' | 'expired' | 'loading';
2216
+ /** On refresh (for expired) */
2217
+ onRefresh?: () => void;
2218
+ }
2219
+ declare const QRCode: react.ForwardRefExoticComponent<QRCodeProps & react.RefAttributes<HTMLDivElement>>;
2220
+
2221
+ interface SegmentedOption {
2222
+ value: string;
2223
+ label: ReactNode;
2224
+ icon?: ReactNode;
2225
+ disabled?: boolean;
2226
+ }
2227
+ interface SegmentedProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2228
+ /** Options */
2229
+ options: (string | SegmentedOption)[];
2230
+ /** Selected value */
2231
+ value?: string;
2232
+ /** On change callback */
2233
+ onChange?: (value: string) => void;
2234
+ /** Size */
2235
+ size?: 'sm' | 'md' | 'lg';
2236
+ /** Block mode (full width) */
2237
+ block?: boolean;
2238
+ /** Disabled state */
2239
+ disabled?: boolean;
2240
+ }
2241
+ declare const Segmented: react.ForwardRefExoticComponent<SegmentedProps & react.RefAttributes<HTMLDivElement>>;
2242
+
2243
+ interface KbdProps extends HTMLAttributes<HTMLElement> {
2244
+ /** Key combination (array for multiple keys) */
2245
+ keys?: string | string[];
2246
+ /** Size */
2247
+ size?: 'sm' | 'md' | 'lg';
2248
+ }
2249
+ declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
2250
+
2251
+ interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
2252
+ /** Scroll direction */
2253
+ type?: 'auto' | 'always' | 'scroll' | 'hover';
2254
+ /** Scrollbar size */
2255
+ scrollbarSize?: number;
2256
+ /** Hide delay (ms) */
2257
+ scrollHideDelay?: number;
2258
+ /** Orientation */
2259
+ orientation?: 'vertical' | 'horizontal' | 'both';
2260
+ }
2261
+ declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaProps & react.RefAttributes<HTMLDivElement>>;
2262
+
2263
+ interface HoverCardProps extends HTMLAttributes<HTMLDivElement> {
2264
+ /** Trigger element */
2265
+ trigger: ReactNode;
2266
+ /** Open delay (ms) */
2267
+ openDelay?: number;
2268
+ /** Close delay (ms) */
2269
+ closeDelay?: number;
2270
+ /** Placement */
2271
+ placement?: 'top' | 'bottom' | 'left' | 'right';
2272
+ /** Disabled */
2273
+ disabled?: boolean;
2274
+ }
2275
+ declare const HoverCard: react.ForwardRefExoticComponent<HoverCardProps & react.RefAttributes<HTMLDivElement>>;
2276
+ interface HoverCardHeaderProps extends HTMLAttributes<HTMLDivElement> {
2277
+ }
2278
+ declare const HoverCardHeader: react.ForwardRefExoticComponent<HoverCardHeaderProps & react.RefAttributes<HTMLDivElement>>;
2279
+ interface HoverCardBodyProps extends HTMLAttributes<HTMLDivElement> {
2280
+ }
2281
+ declare const HoverCardBody: react.ForwardRefExoticComponent<HoverCardBodyProps & react.RefAttributes<HTMLDivElement>>;
2282
+ interface HoverCardFooterProps extends HTMLAttributes<HTMLDivElement> {
2283
+ }
2284
+ declare const HoverCardFooter: react.ForwardRefExoticComponent<HoverCardFooterProps & react.RefAttributes<HTMLDivElement>>;
2285
+
2286
+ interface ToggleProps extends ButtonHTMLAttributes<HTMLButtonElement> {
2287
+ /** Pressed state */
2288
+ pressed?: boolean;
2289
+ /** Default pressed state */
2290
+ defaultPressed?: boolean;
2291
+ /** On pressed change */
2292
+ onPressedChange?: (pressed: boolean) => void;
2293
+ /** Size */
2294
+ size?: 'sm' | 'md' | 'lg';
2295
+ /** Variant */
2296
+ variant?: 'default' | 'outline';
2297
+ }
2298
+ declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLButtonElement>>;
2299
+
2300
+ interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2301
+ /** Selection type */
2302
+ type?: 'single' | 'multiple';
2303
+ /** Selected value(s) */
2304
+ value?: string | string[];
2305
+ /** Default value(s) */
2306
+ defaultValue?: string | string[];
2307
+ /** On value change */
2308
+ onValueChange?: (value: string | string[]) => void;
2309
+ /** Size */
2310
+ size?: 'sm' | 'md' | 'lg';
2311
+ /** Variant */
2312
+ variant?: 'default' | 'outline';
2313
+ /** Disabled state */
2314
+ disabled?: boolean;
2315
+ /** Orientation */
2316
+ orientation?: 'horizontal' | 'vertical';
2317
+ }
2318
+ declare const ToggleGroup: react.ForwardRefExoticComponent<ToggleGroupProps & react.RefAttributes<HTMLDivElement>>;
2319
+ interface ToggleGroupItemProps extends HTMLAttributes<HTMLButtonElement> {
2320
+ /** Item value */
2321
+ value: string;
2322
+ /** Disabled state */
2323
+ disabled?: boolean;
2324
+ }
2325
+ declare const ToggleGroupItem: react.ForwardRefExoticComponent<ToggleGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
2326
+
2327
+ interface SnippetProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCopy'> {
2328
+ /** Code content */
2329
+ children: string;
2330
+ /** Symbol prefix */
2331
+ symbol?: string;
2332
+ /** Color variant */
2333
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
2334
+ /** Size */
2335
+ size?: 'sm' | 'md' | 'lg';
2336
+ /** Show copy button */
2337
+ copyable?: boolean;
2338
+ /** Disable copy */
2339
+ disableCopy?: boolean;
2340
+ /** Hide symbol */
2341
+ hideSymbol?: boolean;
2342
+ /** Copy text (overrides children) */
2343
+ copyText?: string;
2344
+ /** On copy callback */
2345
+ onCopy?: (text: string) => void;
2346
+ }
2347
+ declare const Snippet: react.ForwardRefExoticComponent<SnippetProps & react.RefAttributes<HTMLDivElement>>;
2348
+
2349
+ interface ImageListProps extends HTMLAttributes<HTMLDivElement> {
2350
+ /** Image items */
2351
+ items?: ImageListItem[];
2352
+ /** Number of columns */
2353
+ cols?: number;
2354
+ /** Gap between items */
2355
+ gap?: number;
2356
+ /** Row height */
2357
+ rowHeight?: number | 'auto';
2358
+ /** Variant */
2359
+ variant?: 'standard' | 'masonry' | 'quilted' | 'woven';
2360
+ /** On item click */
2361
+ onItemClick?: (item: ImageListItem, index: number) => void;
2362
+ }
2363
+ declare const ImageList: react.ForwardRefExoticComponent<ImageListProps & react.RefAttributes<HTMLDivElement>>;
2364
+ interface ImageListItemProps extends HTMLAttributes<HTMLDivElement> {
2365
+ /** Image source */
2366
+ src?: string;
2367
+ /** Alt text */
2368
+ alt?: string;
2369
+ /** Title */
2370
+ title?: string;
2371
+ /** Subtitle */
2372
+ subtitle?: string;
2373
+ /** Column span */
2374
+ cols?: number;
2375
+ /** Row span */
2376
+ rows?: number;
2377
+ /** Children (for custom content) */
2378
+ children?: ReactNode;
2379
+ }
2380
+ interface ImageListItem {
2381
+ src: string;
2382
+ alt?: string;
2383
+ title?: string;
2384
+ subtitle?: string;
2385
+ cols?: number;
2386
+ rows?: number;
2387
+ }
2388
+ declare const ImageListItem: react.ForwardRefExoticComponent<ImageListItemProps & react.RefAttributes<HTMLDivElement>>;
2389
+ interface ImageListItemBarProps extends HTMLAttributes<HTMLDivElement> {
2390
+ /** Bar position */
2391
+ position?: 'top' | 'bottom';
2392
+ /** Action buttons */
2393
+ actionIcon?: ReactNode;
2394
+ /** Action position */
2395
+ actionPosition?: 'left' | 'right';
2396
+ }
2397
+ declare const ImageListItemBar: react.ForwardRefExoticComponent<ImageListItemBarProps & react.RefAttributes<HTMLDivElement>>;
2398
+
2399
+ interface AlertDialogProps extends HTMLAttributes<HTMLDivElement> {
2400
+ /** Open state */
2401
+ open?: boolean;
2402
+ /** On open change */
2403
+ onOpenChange?: (open: boolean) => void;
2404
+ }
2405
+ declare const AlertDialog: react.ForwardRefExoticComponent<AlertDialogProps & react.RefAttributes<HTMLDivElement>>;
2406
+ interface AlertDialogContentProps extends HTMLAttributes<HTMLDivElement> {
2407
+ }
2408
+ declare const AlertDialogContent: react.ForwardRefExoticComponent<AlertDialogContentProps & react.RefAttributes<HTMLDivElement>>;
2409
+ interface AlertDialogHeaderProps extends HTMLAttributes<HTMLDivElement> {
2410
+ }
2411
+ declare const AlertDialogHeader: react.ForwardRefExoticComponent<AlertDialogHeaderProps & react.RefAttributes<HTMLDivElement>>;
2412
+ interface AlertDialogTitleProps extends HTMLAttributes<HTMLHeadingElement> {
2413
+ }
2414
+ declare const AlertDialogTitle: react.ForwardRefExoticComponent<AlertDialogTitleProps & react.RefAttributes<HTMLHeadingElement>>;
2415
+ interface AlertDialogDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
2416
+ }
2417
+ declare const AlertDialogDescription: react.ForwardRefExoticComponent<AlertDialogDescriptionProps & react.RefAttributes<HTMLParagraphElement>>;
2418
+ interface AlertDialogFooterProps extends HTMLAttributes<HTMLDivElement> {
2419
+ }
2420
+ declare const AlertDialogFooter: react.ForwardRefExoticComponent<AlertDialogFooterProps & react.RefAttributes<HTMLDivElement>>;
2421
+ interface AlertDialogActionProps extends HTMLAttributes<HTMLButtonElement> {
2422
+ /** Destructive action */
2423
+ destructive?: boolean;
2424
+ }
2425
+ declare const AlertDialogAction: react.ForwardRefExoticComponent<AlertDialogActionProps & react.RefAttributes<HTMLButtonElement>>;
2426
+ interface AlertDialogCancelProps extends HTMLAttributes<HTMLButtonElement> {
2427
+ }
2428
+ declare const AlertDialogCancel: react.ForwardRefExoticComponent<AlertDialogCancelProps & react.RefAttributes<HTMLButtonElement>>;
2429
+
2430
+ type MessageType = 'info' | 'success' | 'warning' | 'error' | 'loading';
2431
+ interface MessageProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
2432
+ /** Message type */
2433
+ type?: MessageType;
2434
+ /** Message content */
2435
+ content: ReactNode;
2436
+ /** Duration in ms (0 for manual close) */
2437
+ duration?: number;
2438
+ /** On close callback */
2439
+ onClose?: () => void;
2440
+ /** Show icon */
2441
+ showIcon?: boolean;
2442
+ /** Closable */
2443
+ closable?: boolean;
2444
+ }
2445
+ declare const Message: react.ForwardRefExoticComponent<MessageProps & react.RefAttributes<HTMLDivElement>>;
2446
+ interface MessageContainerProps extends HTMLAttributes<HTMLDivElement> {
2447
+ /** Position */
2448
+ position?: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
2449
+ }
2450
+ declare const MessageContainer: react.ForwardRefExoticComponent<MessageContainerProps & react.RefAttributes<HTMLDivElement>>;
2451
+
2452
+ interface CircularProgressProps extends HTMLAttributes<HTMLDivElement> {
2453
+ /** Progress value (0-100) */
2454
+ value?: number;
2455
+ /** Size in pixels */
2456
+ size?: number;
2457
+ /** Stroke width */
2458
+ strokeWidth?: number;
2459
+ /** Indeterminate state */
2460
+ indeterminate?: boolean;
2461
+ /** Color */
2462
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
2463
+ /** Show value label */
2464
+ showValue?: boolean;
2465
+ /** Track color */
2466
+ trackColor?: string;
2467
+ /** Custom formatter */
2468
+ formatValue?: (value: number) => string;
2469
+ }
2470
+ declare const CircularProgress: react.ForwardRefExoticComponent<CircularProgressProps & react.RefAttributes<HTMLDivElement>>;
2471
+
2472
+ interface PopconfirmProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
2473
+ /** Title */
2474
+ title: ReactNode;
2475
+ /** Description */
2476
+ description?: ReactNode;
2477
+ /** Trigger element */
2478
+ children: ReactNode;
2479
+ /** On confirm callback */
2480
+ onConfirm?: () => void;
2481
+ /** On cancel callback */
2482
+ onCancel?: () => void;
2483
+ /** Confirm button text */
2484
+ okText?: string;
2485
+ /** Cancel button text */
2486
+ cancelText?: string;
2487
+ /** Placement */
2488
+ placement?: 'top' | 'bottom' | 'left' | 'right';
2489
+ /** Show icon */
2490
+ showIcon?: boolean;
2491
+ /** Icon */
2492
+ icon?: ReactNode;
2493
+ /** Disabled */
2494
+ disabled?: boolean;
2495
+ /** Ok button type */
2496
+ okType?: 'primary' | 'danger';
2497
+ }
2498
+ declare const Popconfirm: react.ForwardRefExoticComponent<PopconfirmProps & react.RefAttributes<HTMLDivElement>>;
2499
+
2500
+ interface WatermarkProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
2501
+ /** Watermark text */
2502
+ content?: string | string[];
2503
+ /** Font size */
2504
+ fontSize?: number;
2505
+ /** Font color */
2506
+ fontColor?: string;
2507
+ /** Font family */
2508
+ fontFamily?: string;
2509
+ /** Rotation angle */
2510
+ rotate?: number;
2511
+ /** Gap between watermarks */
2512
+ gap?: [number, number];
2513
+ /** Offset from origin */
2514
+ offset?: [number, number];
2515
+ /** Z-index */
2516
+ zIndex?: number;
2517
+ /** Image source (alternative to text) */
2518
+ image?: string;
2519
+ /** Image width */
2520
+ imageWidth?: number;
2521
+ /** Image height */
2522
+ imageHeight?: number;
2523
+ }
2524
+ declare const Watermark: react.ForwardRefExoticComponent<WatermarkProps & react.RefAttributes<HTMLDivElement>>;
2525
+
2526
+ interface TourStep {
2527
+ /** Target element selector or ref */
2528
+ target: string | HTMLElement | null;
2529
+ /** Step title */
2530
+ title: ReactNode;
2531
+ /** Step description */
2532
+ description?: ReactNode;
2533
+ /** Placement */
2534
+ placement?: 'top' | 'bottom' | 'left' | 'right';
2535
+ /** Cover image */
2536
+ cover?: ReactNode;
2537
+ /** Custom arrow style */
2538
+ arrow?: boolean;
2539
+ }
2540
+ interface TourProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2541
+ /** Tour steps */
2542
+ steps: TourStep[];
2543
+ /** Open state */
2544
+ open?: boolean;
2545
+ /** On open change */
2546
+ onOpenChange?: (open: boolean) => void;
2547
+ /** Current step index */
2548
+ current?: number;
2549
+ /** On step change */
2550
+ onChange?: (current: number) => void;
2551
+ /** On finish callback */
2552
+ onFinish?: () => void;
2553
+ /** Show mask */
2554
+ mask?: boolean;
2555
+ /** Arrow visibility */
2556
+ arrow?: boolean;
2557
+ /** Next button text */
2558
+ nextText?: string;
2559
+ /** Previous button text */
2560
+ prevText?: string;
2561
+ /** Finish button text */
2562
+ finishText?: string;
2563
+ /** Skip button text */
2564
+ skipText?: string;
2565
+ /** Show skip button */
2566
+ showSkip?: boolean;
2567
+ }
2568
+ declare const Tour: react.ForwardRefExoticComponent<TourProps & react.RefAttributes<HTMLDivElement>>;
2569
+
2570
+ interface SheetProps extends HTMLAttributes<HTMLDivElement> {
2571
+ /** Open state */
2572
+ open?: boolean;
2573
+ /** On open change */
2574
+ onOpenChange?: (open: boolean) => void;
2575
+ /** Side */
2576
+ side?: 'top' | 'bottom' | 'left' | 'right';
2577
+ /** Close on overlay click */
2578
+ closeOnOverlayClick?: boolean;
2579
+ }
2580
+ declare const Sheet: react.ForwardRefExoticComponent<SheetProps & react.RefAttributes<HTMLDivElement>>;
2581
+ interface SheetHeaderProps extends HTMLAttributes<HTMLDivElement> {
2582
+ }
2583
+ declare const SheetHeader: react.ForwardRefExoticComponent<SheetHeaderProps & react.RefAttributes<HTMLDivElement>>;
2584
+ interface SheetTitleProps extends HTMLAttributes<HTMLHeadingElement> {
2585
+ }
2586
+ declare const SheetTitle: react.ForwardRefExoticComponent<SheetTitleProps & react.RefAttributes<HTMLHeadingElement>>;
2587
+ interface SheetDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
2588
+ }
2589
+ declare const SheetDescription: react.ForwardRefExoticComponent<SheetDescriptionProps & react.RefAttributes<HTMLParagraphElement>>;
2590
+ interface SheetContentProps extends HTMLAttributes<HTMLDivElement> {
2591
+ }
2592
+ declare const SheetContent: react.ForwardRefExoticComponent<SheetContentProps & react.RefAttributes<HTMLDivElement>>;
2593
+ interface SheetFooterProps extends HTMLAttributes<HTMLDivElement> {
2594
+ }
2595
+ declare const SheetFooter: react.ForwardRefExoticComponent<SheetFooterProps & react.RefAttributes<HTMLDivElement>>;
2596
+ interface SheetCloseProps extends HTMLAttributes<HTMLButtonElement> {
2597
+ /** On close callback */
2598
+ onClose?: () => void;
2599
+ }
2600
+ declare const SheetClose: react.ForwardRefExoticComponent<SheetCloseProps & react.RefAttributes<HTMLButtonElement>>;
2601
+
2602
+ interface ConfigProviderProps {
2603
+ /** Children */
2604
+ children: ReactNode;
2605
+ /** Theme mode */
2606
+ theme?: 'light' | 'dark' | 'system';
2607
+ /** Locale */
2608
+ locale?: string;
2609
+ /** Component size */
2610
+ size?: 'small' | 'medium' | 'large';
2611
+ /** Prefix for class names */
2612
+ prefixCls?: string;
2613
+ /** Direction */
2614
+ direction?: 'ltr' | 'rtl';
2615
+ /** Custom config */
2616
+ config?: Record<string, unknown>;
2617
+ }
2618
+ interface ConfigContextValue {
2619
+ theme: 'light' | 'dark' | 'system';
2620
+ locale: string;
2621
+ size: 'small' | 'medium' | 'large';
2622
+ prefixCls: string;
2623
+ direction: 'ltr' | 'rtl';
2624
+ config: Record<string, unknown>;
2625
+ }
2626
+ declare const useConfig: () => ConfigContextValue;
2627
+ declare const ConfigProvider: {
2628
+ ({ children, theme, locale, size, prefixCls, direction, config, }: ConfigProviderProps): react_jsx_runtime.JSX.Element;
2629
+ displayName: string;
2630
+ };
2631
+
2632
+ interface PortalProps {
2633
+ /** Children to render in portal */
2634
+ children: ReactNode;
2635
+ /** Target container element or selector */
2636
+ container?: HTMLElement | string | null;
2637
+ /** Whether portal is disabled (render inline) */
2638
+ disabled?: boolean;
2639
+ }
2640
+ declare const Portal: {
2641
+ ({ children, container, disabled, }: PortalProps): react_jsx_runtime.JSX.Element | null;
2642
+ displayName: string;
2643
+ };
2644
+
2645
+ type TransitionType = 'fade' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right' | 'scale' | 'scale-y' | 'scale-x' | 'rotate' | 'flip' | 'collapse';
2646
+ interface TransitionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
2647
+ /** Whether to show the element */
2648
+ show: boolean;
2649
+ /** Transition type */
2650
+ type?: TransitionType;
2651
+ /** Duration in milliseconds */
2652
+ duration?: number;
2653
+ /** Delay in milliseconds */
2654
+ delay?: number;
2655
+ /** Timing function */
2656
+ timing?: 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';
2657
+ /** Whether to unmount when hidden */
2658
+ unmountOnExit?: boolean;
2659
+ /** Enter callback */
2660
+ onEnter?: () => void;
2661
+ /** Entered callback */
2662
+ onEntered?: () => void;
2663
+ /** Exit callback */
2664
+ onExit?: () => void;
2665
+ /** Exited callback */
2666
+ onExited?: () => void;
2667
+ /** Children */
2668
+ children: ReactNode;
2669
+ }
2670
+ declare const Transition: react.ForwardRefExoticComponent<TransitionProps & react.RefAttributes<HTMLDivElement>>;
2671
+
2672
+ interface AffixProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
2673
+ /** Offset from top when affixed */
2674
+ offsetTop?: number;
2675
+ /** Offset from bottom when affixed */
2676
+ offsetBottom?: number;
2677
+ /** Target container for scroll events */
2678
+ target?: () => HTMLElement | Window | null;
2679
+ /** Callback when affix state changes */
2680
+ onChange?: (affixed: boolean) => void;
2681
+ /** Children */
2682
+ children: ReactNode;
2683
+ }
2684
+ declare const Affix: react.ForwardRefExoticComponent<AffixProps & react.RefAttributes<HTMLDivElement>>;
2685
+
2686
+ interface FloatButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
2687
+ /** Icon to display */
2688
+ icon?: ReactNode;
2689
+ /** Tooltip text */
2690
+ tooltip?: string;
2691
+ /** Shape of the button */
2692
+ shape?: 'circle' | 'square';
2693
+ /** Button type/variant */
2694
+ variant?: 'default' | 'primary';
2695
+ /** Badge content */
2696
+ badge?: ReactNode;
2697
+ /** Position */
2698
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
2699
+ /** Href for link button */
2700
+ href?: string;
2701
+ /** Target for link */
2702
+ target?: string;
2703
+ }
2704
+ declare const FloatButton: react__default.ForwardRefExoticComponent<FloatButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
2705
+ interface FloatButtonGroupProps extends Omit<ButtonHTMLAttributes<HTMLDivElement>, 'onClick'> {
2706
+ /** Trigger type */
2707
+ trigger?: 'click' | 'hover';
2708
+ /** Open state (controlled) */
2709
+ open?: boolean;
2710
+ /** On open change */
2711
+ onOpenChange?: (open: boolean) => void;
2712
+ /** Icon when closed */
2713
+ icon?: ReactNode;
2714
+ /** Icon when open */
2715
+ closeIcon?: ReactNode;
2716
+ /** Shape */
2717
+ shape?: 'circle' | 'square';
2718
+ /** Position */
2719
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
2720
+ /** Children (FloatButton items) */
2721
+ children: ReactNode;
2722
+ }
2723
+ declare const FloatButtonGroup: react__default.ForwardRefExoticComponent<FloatButtonGroupProps & react__default.RefAttributes<HTMLDivElement>>;
2724
+ interface FloatBackTopProps extends Omit<FloatButtonProps, 'onClick' | 'target'> {
2725
+ /** Visibility threshold (scroll distance) */
2726
+ visibilityHeight?: number;
2727
+ /** Target scroll container */
2728
+ target?: () => HTMLElement | Window | null;
2729
+ /** Duration of scroll animation */
2730
+ duration?: number;
2731
+ /** On click callback */
2732
+ onClick?: () => void;
2733
+ }
2734
+ declare const FloatBackTop: react__default.ForwardRefExoticComponent<FloatBackTopProps & react__default.RefAttributes<HTMLButtonElement>>;
2735
+
2736
+ type ResizeDirection = 'top' | 'bottom' | 'left' | 'right' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
2737
+ interface ResizableProps extends HTMLAttributes<HTMLDivElement> {
2738
+ /** Minimum width */
2739
+ minWidth?: number;
2740
+ /** Maximum width */
2741
+ maxWidth?: number;
2742
+ /** Minimum height */
2743
+ minHeight?: number;
2744
+ /** Maximum height */
2745
+ maxHeight?: number;
2746
+ /** Initial width */
2747
+ defaultWidth?: number;
2748
+ /** Initial height */
2749
+ defaultHeight?: number;
2750
+ /** Controlled width */
2751
+ width?: number;
2752
+ /** Controlled height */
2753
+ height?: number;
2754
+ /** Enabled resize directions */
2755
+ directions?: ResizeDirection[];
2756
+ /** Handle size */
2757
+ handleSize?: number;
2758
+ /** On resize callback */
2759
+ onResize?: (width: number, height: number) => void;
2760
+ /** On resize start */
2761
+ onResizeStart?: () => void;
2762
+ /** On resize end */
2763
+ onResizeEnd?: (width: number, height: number) => void;
2764
+ /** Children */
2765
+ children: ReactNode;
2766
+ }
2767
+ declare const Resizable: react.ForwardRefExoticComponent<ResizableProps & react.RefAttributes<HTMLDivElement>>;
2768
+
2769
+ interface ToastProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'title'> {
2770
+ /** Toast title */
2771
+ title?: react__default.ReactNode;
2772
+ /** Toast description/message */
2773
+ description?: react__default.ReactNode;
2774
+ /** Toast type */
2775
+ type?: 'default' | 'success' | 'error' | 'warning' | 'info';
2776
+ /** Duration in ms before auto-dismiss (0 = no auto-dismiss) */
2777
+ duration?: number;
2778
+ /** Show close button */
2779
+ closable?: boolean;
2780
+ /** Action button */
2781
+ action?: react__default.ReactNode;
2782
+ /** Called when toast is dismissed */
2783
+ onDismiss?: () => void;
2784
+ /** Toast position */
2785
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
2786
+ /** Whether the toast is open */
2787
+ open?: boolean;
2788
+ }
2789
+ declare const Toast: react__default.ForwardRefExoticComponent<ToastProps & react__default.RefAttributes<HTMLDivElement>>;
2790
+ interface ToastContainerProps extends react__default.HTMLAttributes<HTMLDivElement> {
2791
+ /** Position of the toast container */
2792
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
2793
+ }
2794
+ declare const ToastContainer: react__default.ForwardRefExoticComponent<ToastContainerProps & react__default.RefAttributes<HTMLDivElement>>;
2795
+
2796
+ interface DialogProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'title'> {
2797
+ /** Whether the dialog is open */
2798
+ open?: boolean;
2799
+ /** Called when the dialog should close */
2800
+ onOpenChange?: (open: boolean) => void;
2801
+ /** Dialog title */
2802
+ title?: react__default.ReactNode;
2803
+ /** Dialog description */
2804
+ description?: react__default.ReactNode;
2805
+ /** Whether to show overlay */
2806
+ overlay?: boolean;
2807
+ /** Whether clicking overlay closes the dialog */
2808
+ closeOnOverlayClick?: boolean;
2809
+ /** Whether pressing Escape closes the dialog */
2810
+ closeOnEscape?: boolean;
2811
+ /** Whether to render in a portal */
2812
+ portal?: boolean;
2813
+ /** Dialog size */
2814
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
2815
+ }
2816
+ declare const Dialog: react__default.ForwardRefExoticComponent<DialogProps & react__default.RefAttributes<HTMLDivElement>>;
2817
+ interface DialogHeaderProps extends react__default.HTMLAttributes<HTMLDivElement> {
2818
+ }
2819
+ declare const DialogHeader: react__default.ForwardRefExoticComponent<DialogHeaderProps & react__default.RefAttributes<HTMLDivElement>>;
2820
+ interface DialogBodyProps extends react__default.HTMLAttributes<HTMLDivElement> {
2821
+ }
2822
+ declare const DialogBody: react__default.ForwardRefExoticComponent<DialogBodyProps & react__default.RefAttributes<HTMLDivElement>>;
2823
+ interface DialogFooterProps extends react__default.HTMLAttributes<HTMLDivElement> {
2824
+ }
2825
+ declare const DialogFooter: react__default.ForwardRefExoticComponent<DialogFooterProps & react__default.RefAttributes<HTMLDivElement>>;
2826
+ interface DialogCloseProps extends react__default.ButtonHTMLAttributes<HTMLButtonElement> {
2827
+ }
2828
+ declare const DialogClose: react__default.ForwardRefExoticComponent<DialogCloseProps & react__default.RefAttributes<HTMLButtonElement>>;
2829
+
2830
+ interface LabelProps extends react__default.LabelHTMLAttributes<HTMLLabelElement> {
2831
+ /** Whether the field is required */
2832
+ required?: boolean;
2833
+ /** Whether the label is disabled */
2834
+ disabled?: boolean;
2835
+ /** Size of the label */
2836
+ size?: 'sm' | 'md' | 'lg';
2837
+ /** Optional description text */
2838
+ description?: react__default.ReactNode;
2839
+ /** Whether to show optional indicator */
2840
+ showOptional?: boolean;
2841
+ }
2842
+ declare const Label: react__default.ForwardRefExoticComponent<LabelProps & react__default.RefAttributes<HTMLLabelElement>>;
2843
+
2844
+ interface SeparatorProps extends react__default.HTMLAttributes<HTMLDivElement> {
2845
+ /** Orientation of the separator */
2846
+ orientation?: 'horizontal' | 'vertical';
2847
+ /** Whether the separator is decorative */
2848
+ decorative?: boolean;
2849
+ /** Size/thickness of the separator */
2850
+ size?: 'sm' | 'md' | 'lg';
2851
+ /** Label to show in the middle */
2852
+ label?: react__default.ReactNode;
2853
+ /** Label position */
2854
+ labelPosition?: 'left' | 'center' | 'right';
2855
+ }
2856
+ declare const Separator: react__default.ForwardRefExoticComponent<SeparatorProps & react__default.RefAttributes<HTMLDivElement>>;
2857
+
2858
+ interface HeadingProps extends react__default.HTMLAttributes<HTMLHeadingElement> {
2859
+ /** Heading level (h1-h6) */
2860
+ as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
2861
+ /** Visual size (independent from semantic level) */
2862
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2863
+ /** Font weight */
2864
+ weight?: 'normal' | 'medium' | 'semibold' | 'bold';
2865
+ /** Text alignment */
2866
+ align?: 'left' | 'center' | 'right';
2867
+ /** Whether to truncate text with ellipsis */
2868
+ truncate?: boolean;
2869
+ /** Color variant */
2870
+ color?: 'default' | 'muted' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';
2871
+ /** Line height */
2872
+ lineHeight?: 'tight' | 'normal' | 'relaxed';
2873
+ }
2874
+ declare const HeadingText: react__default.ForwardRefExoticComponent<HeadingProps & react__default.RefAttributes<HTMLHeadingElement>>;
2875
+
2876
+ interface TextProps {
2877
+ /** HTML element to render */
2878
+ as?: 'p' | 'span' | 'div' | 'label' | 'small' | 'strong' | 'em';
2879
+ /** Text size */
2880
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2881
+ /** Font weight */
2882
+ weight?: 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
2883
+ /** Text alignment */
2884
+ align?: 'left' | 'center' | 'right' | 'justify';
2885
+ /** Whether to truncate text with ellipsis */
2886
+ truncate?: boolean;
2887
+ /** Number of lines before truncating (requires truncate) */
2888
+ lineClamp?: number;
2889
+ /** Color variant */
2890
+ color?: 'default' | 'muted' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';
2891
+ /** Line height */
2892
+ lineHeight?: 'tight' | 'normal' | 'relaxed' | 'loose';
2893
+ /** Whether text is inline */
2894
+ inline?: boolean;
2895
+ /** Text transform */
2896
+ transform?: 'uppercase' | 'lowercase' | 'capitalize' | 'none';
2897
+ /** Whether to inherit parent styles */
2898
+ inherit?: boolean;
2899
+ /** Additional class name */
2900
+ className?: string;
2901
+ /** Inline styles */
2902
+ style?: react__default.CSSProperties;
2903
+ /** Children */
2904
+ children?: react__default.ReactNode;
2905
+ }
2906
+ declare const TextBlock: react__default.ForwardRefExoticComponent<TextProps & react__default.HTMLAttributes<HTMLElement> & react__default.RefAttributes<HTMLElement>>;
2907
+
2908
+ interface BoxProps extends react__default.HTMLAttributes<HTMLDivElement> {
2909
+ /** HTML element to render */
2910
+ as?: react__default.ElementType;
2911
+ /** Padding */
2912
+ p?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2913
+ /** Padding horizontal */
2914
+ px?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2915
+ /** Padding vertical */
2916
+ py?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2917
+ /** Margin */
2918
+ m?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';
2919
+ /** Margin horizontal */
2920
+ mx?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';
2921
+ /** Margin vertical */
2922
+ my?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';
2923
+ /** Background color */
2924
+ bg?: 'transparent' | 'primary' | 'secondary' | 'muted' | 'accent' | 'surface';
2925
+ /** Border radius */
2926
+ radius?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
2927
+ /** Shadow */
2928
+ shadow?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
2929
+ /** Display */
2930
+ display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none';
2931
+ /** Width */
2932
+ w?: 'auto' | 'full' | 'screen' | 'fit' | 'min' | 'max';
2933
+ /** Height */
2934
+ h?: 'auto' | 'full' | 'screen' | 'fit' | 'min' | 'max';
2935
+ /** Border */
2936
+ border?: boolean;
2937
+ }
2938
+ declare const Box: react__default.ForwardRefExoticComponent<BoxProps & react__default.RefAttributes<HTMLDivElement>>;
2939
+
2940
+ interface CenterProps extends react__default.HTMLAttributes<HTMLDivElement> {
2941
+ /** HTML element to render */
2942
+ as?: react__default.ElementType;
2943
+ /** Whether to center inline (horizontal only) */
2944
+ inline?: boolean;
2945
+ /** Padding */
2946
+ p?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2947
+ /** Gap between children */
2948
+ gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2949
+ /** Direction of children */
2950
+ direction?: 'row' | 'column';
2951
+ }
2952
+ declare const Center: react__default.ForwardRefExoticComponent<CenterProps & react__default.RefAttributes<HTMLDivElement>>;
2953
+
2954
+ interface FileInputProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'type' | 'value' | 'onChange' | 'size'> {
2955
+ /** Current file(s) */
2956
+ value?: File | File[] | null;
2957
+ /** Called when files change */
2958
+ onChange?: (files: File | File[] | null) => void;
2959
+ /** Whether to accept multiple files */
2960
+ multiple?: boolean;
2961
+ /** Accepted file types */
2962
+ accept?: string;
2963
+ /** Size variant */
2964
+ size?: 'sm' | 'md' | 'lg';
2965
+ /** Placeholder text */
2966
+ placeholder?: string;
2967
+ /** Whether the input is in error state */
2968
+ error?: boolean;
2969
+ /** Whether to show clear button */
2970
+ clearable?: boolean;
2971
+ /** Label for the button */
2972
+ buttonLabel?: string;
2973
+ /** Variant style */
2974
+ variant?: 'default' | 'filled' | 'unstyled';
2975
+ }
2976
+ declare const FileInput: react__default.ForwardRefExoticComponent<FileInputProps & react__default.RefAttributes<HTMLInputElement>>;
2977
+
2978
+ interface RangeSliderProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
2979
+ /** Current range value [min, max] */
2980
+ value?: [number, number];
2981
+ /** Default range value */
2982
+ defaultValue?: [number, number];
2983
+ /** Called when value changes */
2984
+ onChange?: (value: [number, number]) => void;
2985
+ /** Minimum value */
2986
+ min?: number;
2987
+ /** Maximum value */
2988
+ max?: number;
2989
+ /** Step increment */
2990
+ step?: number;
2991
+ /** Whether the slider is disabled */
2992
+ disabled?: boolean;
2993
+ /** Size variant */
2994
+ size?: 'sm' | 'md' | 'lg';
2995
+ /** Color variant */
2996
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error';
2997
+ /** Show marks */
2998
+ marks?: boolean | {
2999
+ value: number;
3000
+ label?: string;
3001
+ }[];
3002
+ /** Show tooltip with value */
3003
+ showTooltip?: boolean;
3004
+ /** Orientation */
3005
+ orientation?: 'horizontal' | 'vertical';
3006
+ /** Minimum range between handles */
3007
+ minRange?: number;
3008
+ /** Label */
3009
+ label?: react__default.ReactNode;
3010
+ }
3011
+ declare const RangeSlider: react__default.ForwardRefExoticComponent<RangeSliderProps & react__default.RefAttributes<HTMLDivElement>>;
3012
+
3013
+ interface MultiSelectOption {
3014
+ value: string;
3015
+ label: string;
3016
+ disabled?: boolean;
3017
+ group?: string;
3018
+ }
3019
+ interface MultiSelectProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3020
+ /** Available options */
3021
+ options: MultiSelectOption[];
3022
+ /** Selected values */
3023
+ value?: string[];
3024
+ /** Default selected values */
3025
+ defaultValue?: string[];
3026
+ /** Called when selection changes */
3027
+ onChange?: (value: string[]) => void;
3028
+ /** Placeholder text */
3029
+ placeholder?: string;
3030
+ /** Whether the select is disabled */
3031
+ disabled?: boolean;
3032
+ /** Whether the select is searchable */
3033
+ searchable?: boolean;
3034
+ /** Whether to allow clearing all selections */
3035
+ clearable?: boolean;
3036
+ /** Size variant */
3037
+ size?: 'sm' | 'md' | 'lg';
3038
+ /** Error state */
3039
+ error?: boolean;
3040
+ /** Maximum number of selections */
3041
+ maxSelections?: number;
3042
+ /** Label */
3043
+ label?: react__default.ReactNode;
3044
+ /** Whether to show checkboxes */
3045
+ withCheckbox?: boolean;
3046
+ /** Hide selected options from dropdown */
3047
+ hideSelected?: boolean;
3048
+ }
3049
+ declare const MultiSelect: react__default.ForwardRefExoticComponent<MultiSelectProps & react__default.RefAttributes<HTMLDivElement>>;
3050
+
3051
+ interface ComboboxOption {
3052
+ value: string;
3053
+ label: string;
3054
+ disabled?: boolean;
3055
+ description?: string;
3056
+ }
3057
+ interface ComboboxProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3058
+ /** Available options */
3059
+ options: ComboboxOption[];
3060
+ /** Selected value */
3061
+ value?: string;
3062
+ /** Default value */
3063
+ defaultValue?: string;
3064
+ /** Called when selection changes */
3065
+ onChange?: (value: string) => void;
3066
+ /** Called when input value changes */
3067
+ onInputChange?: (value: string) => void;
3068
+ /** Placeholder text */
3069
+ placeholder?: string;
3070
+ /** Whether the combobox is disabled */
3071
+ disabled?: boolean;
3072
+ /** Whether to allow custom values */
3073
+ allowCustomValue?: boolean;
3074
+ /** Size variant */
3075
+ size?: 'sm' | 'md' | 'lg';
3076
+ /** Error state */
3077
+ error?: boolean;
3078
+ /** Label */
3079
+ label?: react__default.ReactNode;
3080
+ /** Whether selection is required */
3081
+ required?: boolean;
3082
+ /** Empty state message */
3083
+ emptyMessage?: string;
3084
+ /** Loading state */
3085
+ loading?: boolean;
3086
+ }
3087
+ declare const Combobox: react__default.ForwardRefExoticComponent<ComboboxProps & react__default.RefAttributes<HTMLDivElement>>;
3088
+
3089
+ interface ColorInputProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
3090
+ /** Current color value (hex) */
3091
+ value?: string;
3092
+ /** Default color value */
3093
+ defaultValue?: string;
3094
+ /** Called when color changes */
3095
+ onChange?: (value: string) => void;
3096
+ /** Size variant */
3097
+ size?: 'sm' | 'md' | 'lg';
3098
+ /** Whether the input is disabled */
3099
+ disabled?: boolean;
3100
+ /** Error state */
3101
+ error?: boolean;
3102
+ /** Label */
3103
+ label?: react__default.ReactNode;
3104
+ /** Preset colors to show */
3105
+ swatches?: string[];
3106
+ /** Whether to show the color picker popup */
3107
+ withPicker?: boolean;
3108
+ /** Format for the color value */
3109
+ format?: 'hex' | 'rgb' | 'hsl';
3110
+ /** Whether to allow opacity/alpha */
3111
+ withAlpha?: boolean;
3112
+ }
3113
+ declare const ColorInput: react__default.ForwardRefExoticComponent<ColorInputProps & react__default.RefAttributes<HTMLInputElement>>;
3114
+
3115
+ interface CopyButtonProps extends Omit<react__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onError'> {
3116
+ /** Value to copy to clipboard */
3117
+ value: string;
3118
+ /** Timeout in ms before resetting to default state */
3119
+ timeout?: number;
3120
+ /** Size variant */
3121
+ size?: 'sm' | 'md' | 'lg';
3122
+ /** Variant style */
3123
+ variant?: 'default' | 'filled' | 'outline' | 'subtle';
3124
+ /** Color variant */
3125
+ color?: 'default' | 'primary' | 'secondary';
3126
+ /** Called after copying */
3127
+ onCopy?: () => void;
3128
+ /** Called on copy error */
3129
+ onError?: (error: Error) => void;
3130
+ /** Custom children (receives copied state) */
3131
+ children?: (props: {
3132
+ copied: boolean;
3133
+ copy: () => void;
3134
+ }) => react__default.ReactNode;
3135
+ /** Copy icon/label */
3136
+ copyLabel?: react__default.ReactNode;
3137
+ /** Copied icon/label */
3138
+ copiedLabel?: react__default.ReactNode;
3139
+ }
3140
+ declare const CopyButton: react__default.ForwardRefExoticComponent<CopyButtonProps & react__default.RefAttributes<HTMLButtonElement>>;
3141
+
3142
+ interface CheckboxGroupOption {
3143
+ value: string;
3144
+ label: react__default.ReactNode;
3145
+ disabled?: boolean;
3146
+ description?: string;
3147
+ }
3148
+ interface CheckboxGroupContextValue {
3149
+ value: string[];
3150
+ onChange: (value: string) => void;
3151
+ disabled?: boolean;
3152
+ size?: 'sm' | 'md' | 'lg';
3153
+ name?: string;
3154
+ }
3155
+ declare const useCheckboxGroup: () => CheckboxGroupContextValue | null;
3156
+ interface CheckboxGroupProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3157
+ /** Current selected values */
3158
+ value?: string[];
3159
+ /** Default selected values */
3160
+ defaultValue?: string[];
3161
+ /** Called when selection changes */
3162
+ onChange?: (value: string[]) => void;
3163
+ /** Options to render */
3164
+ options?: CheckboxGroupOption[];
3165
+ /** Whether the group is disabled */
3166
+ disabled?: boolean;
3167
+ /** Size variant */
3168
+ size?: 'sm' | 'md' | 'lg';
3169
+ /** Layout orientation */
3170
+ orientation?: 'horizontal' | 'vertical';
3171
+ /** Name for form submission */
3172
+ name?: string;
3173
+ /** Label for the group */
3174
+ label?: react__default.ReactNode;
3175
+ /** Whether selection is required */
3176
+ required?: boolean;
3177
+ /** Error state */
3178
+ error?: boolean;
3179
+ /** Error message */
3180
+ errorMessage?: react__default.ReactNode;
3181
+ /** Gap between items */
3182
+ gap?: 'xs' | 'sm' | 'md' | 'lg';
3183
+ }
3184
+ declare const CheckboxGroup: react__default.ForwardRefExoticComponent<CheckboxGroupProps & react__default.RefAttributes<HTMLDivElement>>;
3185
+ interface CheckboxGroupItemProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> {
3186
+ /** Item value */
3187
+ value: string;
3188
+ /** Item label */
3189
+ label?: react__default.ReactNode;
3190
+ /** Item description */
3191
+ description?: react__default.ReactNode;
3192
+ }
3193
+ declare const CheckboxGroupItem: react__default.ForwardRefExoticComponent<CheckboxGroupItemProps & react__default.RefAttributes<HTMLInputElement>>;
3194
+
3195
+ interface AppShellContextValue {
3196
+ navbarCollapsed: boolean;
3197
+ asideCollapsed: boolean;
3198
+ toggleNavbar: () => void;
3199
+ toggleAside: () => void;
3200
+ }
3201
+ declare const useAppShell: () => AppShellContextValue;
3202
+ interface AppShellProps extends react__default.HTMLAttributes<HTMLDivElement> {
3203
+ /** Header height */
3204
+ headerHeight?: number | string;
3205
+ /** Footer height */
3206
+ footerHeight?: number | string;
3207
+ /** Navbar width */
3208
+ navbarWidth?: number | string;
3209
+ /** Aside width */
3210
+ asideWidth?: number | string;
3211
+ /** Whether navbar is initially collapsed */
3212
+ navbarCollapsed?: boolean;
3213
+ /** Whether aside is initially collapsed */
3214
+ asideCollapsed?: boolean;
3215
+ /** Padding for main content */
3216
+ padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3217
+ /** Layout variant */
3218
+ layout?: 'default' | 'alt';
3219
+ /** Whether header is fixed */
3220
+ fixedHeader?: boolean;
3221
+ }
3222
+ declare const AppShell: react__default.ForwardRefExoticComponent<AppShellProps & react__default.RefAttributes<HTMLDivElement>>;
3223
+ interface AppShellHeaderProps extends react__default.HTMLAttributes<HTMLElement> {
3224
+ }
3225
+ declare const AppShellHeader: react__default.ForwardRefExoticComponent<AppShellHeaderProps & react__default.RefAttributes<HTMLElement>>;
3226
+ interface AppShellNavbarProps extends react__default.HTMLAttributes<HTMLElement> {
3227
+ /** Collapsed width */
3228
+ collapsedWidth?: number | string;
3229
+ }
3230
+ declare const AppShellNavbar: react__default.ForwardRefExoticComponent<AppShellNavbarProps & react__default.RefAttributes<HTMLElement>>;
3231
+ interface AppShellMainProps extends react__default.HTMLAttributes<HTMLElement> {
3232
+ }
3233
+ declare const AppShellMain: react__default.ForwardRefExoticComponent<AppShellMainProps & react__default.RefAttributes<HTMLElement>>;
3234
+ interface AppShellAsideProps extends react__default.HTMLAttributes<HTMLElement> {
3235
+ }
3236
+ declare const AppShellAside: react__default.ForwardRefExoticComponent<AppShellAsideProps & react__default.RefAttributes<HTMLElement>>;
3237
+ interface AppShellFooterProps extends react__default.HTMLAttributes<HTMLElement> {
3238
+ }
3239
+ declare const AppShellFooter: react__default.ForwardRefExoticComponent<AppShellFooterProps & react__default.RefAttributes<HTMLElement>>;
3240
+
3241
+ interface AppBarProps extends react__default.HTMLAttributes<HTMLElement> {
3242
+ /** Position of the app bar */
3243
+ position?: 'fixed' | 'absolute' | 'sticky' | 'static' | 'relative';
3244
+ /** Color variant */
3245
+ color?: 'default' | 'primary' | 'secondary' | 'transparent';
3246
+ /** Whether to show elevation/shadow */
3247
+ elevation?: boolean;
3248
+ /** Whether the app bar is dense */
3249
+ dense?: boolean;
3250
+ }
3251
+ declare const AppBar: react__default.ForwardRefExoticComponent<AppBarProps & react__default.RefAttributes<HTMLElement>>;
3252
+ interface AppBarToolbarProps extends react__default.HTMLAttributes<HTMLDivElement> {
3253
+ /** Whether toolbar content should be centered */
3254
+ centered?: boolean;
3255
+ /** Whether the toolbar is dense */
3256
+ dense?: boolean;
3257
+ /** Disable gutters (horizontal padding) */
3258
+ disableGutters?: boolean;
3259
+ }
3260
+ declare const AppBarToolbar: react__default.ForwardRefExoticComponent<AppBarToolbarProps & react__default.RefAttributes<HTMLDivElement>>;
3261
+
3262
+ interface PaperProps extends react__default.HTMLAttributes<HTMLDivElement> {
3263
+ /** HTML element to render */
3264
+ as?: react__default.ElementType;
3265
+ /** Elevation level (shadow depth) */
3266
+ elevation?: 0 | 1 | 2 | 3 | 4 | 5;
3267
+ /** Whether to use square corners */
3268
+ square?: boolean;
3269
+ /** Border radius size */
3270
+ radius?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
3271
+ /** Variant style */
3272
+ variant?: 'elevation' | 'outlined' | 'filled';
3273
+ /** Padding */
3274
+ p?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3275
+ /** Whether paper is interactive (hoverable) */
3276
+ interactive?: boolean;
3277
+ /** Background color */
3278
+ bg?: 'default' | 'muted' | 'subtle';
3279
+ }
3280
+ declare const Paper: react__default.ForwardRefExoticComponent<PaperProps & react__default.RefAttributes<HTMLDivElement>>;
3281
+
3282
+ interface BackdropProps extends react__default.HTMLAttributes<HTMLDivElement> {
3283
+ /** Whether the backdrop is visible */
3284
+ open?: boolean;
3285
+ /** Called when backdrop is clicked */
3286
+ onClick?: (event: react__default.MouseEvent<HTMLDivElement>) => void;
3287
+ /** Whether the backdrop is invisible */
3288
+ invisible?: boolean;
3289
+ /** Z-index of the backdrop */
3290
+ zIndex?: number;
3291
+ /** Whether to use portal */
3292
+ portal?: boolean;
3293
+ /** Whether to lock body scroll */
3294
+ lockScroll?: boolean;
3295
+ /** Transition duration in ms */
3296
+ transitionDuration?: number;
3297
+ }
3298
+ declare const Backdrop: react__default.ForwardRefExoticComponent<BackdropProps & react__default.RefAttributes<HTMLDivElement>>;
3299
+
3300
+ interface LoadingOverlayProps extends react__default.HTMLAttributes<HTMLDivElement> {
3301
+ /** Whether the overlay is visible */
3302
+ visible?: boolean;
3303
+ /** Z-index of the overlay */
3304
+ zIndex?: number;
3305
+ /** Overlay background opacity */
3306
+ overlayOpacity?: number;
3307
+ /** Overlay background blur */
3308
+ blur?: number;
3309
+ /** Custom loader element */
3310
+ loader?: react__default.ReactNode;
3311
+ /** Loading text */
3312
+ loaderText?: react__default.ReactNode;
3313
+ /** Loader size */
3314
+ loaderSize?: 'sm' | 'md' | 'lg' | 'xl';
3315
+ /** Transition duration in ms */
3316
+ transitionDuration?: number;
3317
+ /** Whether the overlay covers the entire viewport */
3318
+ fullscreen?: boolean;
3319
+ }
3320
+ declare const LoadingOverlay: react__default.ForwardRefExoticComponent<LoadingOverlayProps & react__default.RefAttributes<HTMLDivElement>>;
3321
+
3322
+ interface RingProgressSection {
3323
+ value: number;
3324
+ color: string;
3325
+ tooltip?: string;
3326
+ }
3327
+ interface RingProgressProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'children'> {
3328
+ /** Progress value (0-100) or sections */
3329
+ value?: number;
3330
+ /** Multiple sections */
3331
+ sections?: RingProgressSection[];
3332
+ /** Size of the ring */
3333
+ size?: number;
3334
+ /** Thickness of the ring */
3335
+ thickness?: number;
3336
+ /** Round end caps */
3337
+ roundCaps?: boolean;
3338
+ /** Label in the center */
3339
+ label?: react__default.ReactNode;
3340
+ /** Root color (background ring) */
3341
+ rootColor?: string;
3342
+ /** Progress color (single value) */
3343
+ color?: string;
3344
+ }
3345
+ declare const RingProgress: react__default.ForwardRefExoticComponent<RingProgressProps & react__default.RefAttributes<HTMLDivElement>>;
3346
+
3347
+ interface VisuallyHiddenProps extends react__default.HTMLAttributes<HTMLSpanElement> {
3348
+ /** HTML element to render */
3349
+ as?: react__default.ElementType;
3350
+ /** Whether to make content focusable (shows on focus) */
3351
+ focusable?: boolean;
3352
+ }
3353
+ declare const VisuallyHidden: react__default.ForwardRefExoticComponent<VisuallyHiddenProps & react__default.RefAttributes<HTMLSpanElement>>;
3354
+ declare const visuallyHiddenStyles: react__default.CSSProperties;
3355
+
3356
+ interface FocusTrapProps extends react__default.HTMLAttributes<HTMLDivElement> {
3357
+ /** Whether the focus trap is active */
3358
+ active?: boolean;
3359
+ /** Whether to focus the first element on mount */
3360
+ autoFocus?: boolean;
3361
+ /** Whether to return focus on unmount */
3362
+ returnFocus?: boolean;
3363
+ /** Called when escape is pressed */
3364
+ onEscape?: () => void;
3365
+ /** Initial focus element selector or ref */
3366
+ initialFocus?: string | react__default.RefObject<HTMLElement>;
3367
+ /** Final focus element (for return focus) */
3368
+ finalFocus?: react__default.RefObject<HTMLElement>;
3369
+ }
3370
+ declare const FocusTrap: react__default.ForwardRefExoticComponent<FocusTrapProps & react__default.RefAttributes<HTMLDivElement>>;
3371
+
3372
+ interface HighlightProps extends react__default.HTMLAttributes<HTMLSpanElement> {
3373
+ /** Text to highlight within */
3374
+ children: string;
3375
+ /** Query string or array of strings to highlight */
3376
+ highlight: string | string[];
3377
+ /** Color of the highlight */
3378
+ color?: 'yellow' | 'green' | 'blue' | 'red' | 'purple' | 'orange';
3379
+ /** Whether the highlight should be case sensitive */
3380
+ caseSensitive?: boolean;
3381
+ /** Custom highlight component */
3382
+ highlightComponent?: react__default.ElementType;
3383
+ /** Props to pass to highlight element */
3384
+ highlightProps?: react__default.HTMLAttributes<HTMLElement>;
3385
+ }
3386
+ declare const Highlight: react__default.ForwardRefExoticComponent<HighlightProps & react__default.RefAttributes<HTMLSpanElement>>;
3387
+
3388
+ interface IndicatorProps extends react__default.HTMLAttributes<HTMLDivElement> {
3389
+ /** Position of the indicator */
3390
+ position?: 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-center' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
3391
+ /** Color of the indicator */
3392
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'gray';
3393
+ /** Size of the indicator */
3394
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3395
+ /** Offset from the corner */
3396
+ offset?: number;
3397
+ /** Whether to show the indicator */
3398
+ disabled?: boolean;
3399
+ /** Whether to show a processing animation */
3400
+ processing?: boolean;
3401
+ /** Whether the indicator has a border */
3402
+ withBorder?: boolean;
3403
+ /** Label to show in the indicator */
3404
+ label?: react__default.ReactNode;
3405
+ /** Inline mode (no absolute positioning) */
3406
+ inline?: boolean;
3407
+ /** Z-index of the indicator */
3408
+ zIndex?: number;
3409
+ }
3410
+ declare const Indicator: react__default.ForwardRefExoticComponent<IndicatorProps & react__default.RefAttributes<HTMLDivElement>>;
3411
+
3412
+ interface SpoilerProps extends react__default.HTMLAttributes<HTMLDivElement> {
3413
+ /** Maximum height when collapsed */
3414
+ maxHeight?: number;
3415
+ /** Label for show more button */
3416
+ showLabel?: react__default.ReactNode;
3417
+ /** Label for show less button */
3418
+ hideLabel?: react__default.ReactNode;
3419
+ /** Whether to hide the control button */
3420
+ hideControls?: boolean;
3421
+ /** Initial expanded state */
3422
+ initialExpanded?: boolean;
3423
+ /** Controlled expanded state */
3424
+ expanded?: boolean;
3425
+ /** Called when expanded state changes */
3426
+ onExpandedChange?: (expanded: boolean) => void;
3427
+ /** Transition duration in ms */
3428
+ transitionDuration?: number;
3429
+ }
3430
+ declare const Spoiler: react__default.ForwardRefExoticComponent<SpoilerProps & react__default.RefAttributes<HTMLDivElement>>;
3431
+
3432
+ interface StepperContextValue {
3433
+ activeStep: number;
3434
+ orientation: 'horizontal' | 'vertical';
3435
+ size: 'sm' | 'md' | 'lg';
3436
+ color: 'primary' | 'secondary' | 'success';
3437
+ }
3438
+ declare const useStepper: () => StepperContextValue;
3439
+ interface StepperProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3440
+ /** Current active step (0-indexed) */
3441
+ activeStep?: number;
3442
+ /** Called when step changes */
3443
+ onStepChange?: (step: number) => void;
3444
+ /** Orientation of the stepper */
3445
+ orientation?: 'horizontal' | 'vertical';
3446
+ /** Size variant */
3447
+ size?: 'sm' | 'md' | 'lg';
3448
+ /** Color variant */
3449
+ color?: 'primary' | 'secondary' | 'success';
3450
+ /** Whether to allow clicking on steps */
3451
+ allowStepClick?: boolean;
3452
+ /** Whether to show step numbers */
3453
+ showStepNumbers?: boolean;
3454
+ /** Icon for completed steps */
3455
+ completedIcon?: react__default.ReactNode;
3456
+ }
3457
+ declare const Stepper: react__default.ForwardRefExoticComponent<StepperProps & react__default.RefAttributes<HTMLDivElement>>;
3458
+ interface StepperStepProps extends react__default.HTMLAttributes<HTMLDivElement> {
3459
+ /** Step label */
3460
+ label?: react__default.ReactNode;
3461
+ /** Step description */
3462
+ description?: react__default.ReactNode;
3463
+ /** Optional icon */
3464
+ icon?: react__default.ReactNode;
3465
+ /** Whether step has an error */
3466
+ error?: boolean;
3467
+ /** Whether step is loading */
3468
+ loading?: boolean;
3469
+ }
3470
+ declare const StepperStep: react__default.ForwardRefExoticComponent<StepperStepProps & react__default.RefAttributes<HTMLDivElement>>;
3471
+
3472
+ interface NavLinkProps extends react__default.AnchorHTMLAttributes<HTMLAnchorElement> {
3473
+ /** Whether the link is active */
3474
+ active?: boolean;
3475
+ /** Label for the link */
3476
+ label?: react__default.ReactNode;
3477
+ /** Description text */
3478
+ description?: react__default.ReactNode;
3479
+ /** Left section (icon) */
3480
+ leftSection?: react__default.ReactNode;
3481
+ /** Right section (badge, arrow) */
3482
+ rightSection?: react__default.ReactNode;
3483
+ /** Whether the link is disabled */
3484
+ disabled?: boolean;
3485
+ /** Variant style */
3486
+ variant?: 'light' | 'filled' | 'subtle';
3487
+ /** Color when active */
3488
+ color?: 'primary' | 'secondary' | 'gray';
3489
+ /** Whether to show active indicator */
3490
+ noActiveIndicator?: boolean;
3491
+ /** Nested nav links */
3492
+ children?: react__default.ReactNode;
3493
+ /** Whether the nested links are open */
3494
+ opened?: boolean;
3495
+ /** Called when clicked */
3496
+ onClick?: (event: react__default.MouseEvent<HTMLAnchorElement>) => void;
3497
+ /** Component to render as */
3498
+ as?: react__default.ElementType;
3499
+ }
3500
+ declare const NavLink: react__default.ForwardRefExoticComponent<NavLinkProps & react__default.RefAttributes<HTMLAnchorElement>>;
3501
+
3502
+ interface ChartDataPoint {
3503
+ label: string;
3504
+ value: number;
3505
+ color?: string;
3506
+ }
3507
+ interface ChartProps extends react__default.HTMLAttributes<HTMLDivElement> {
3508
+ /** Chart data */
3509
+ data: ChartDataPoint[];
3510
+ /** Chart type */
3511
+ type?: 'bar' | 'line' | 'pie' | 'donut';
3512
+ /** Chart height */
3513
+ height?: number;
3514
+ /** Chart width */
3515
+ width?: number | string;
3516
+ /** Whether to show labels */
3517
+ showLabels?: boolean;
3518
+ /** Whether to show values */
3519
+ showValues?: boolean;
3520
+ /** Whether to show legend */
3521
+ showLegend?: boolean;
3522
+ /** Whether to show grid lines */
3523
+ showGrid?: boolean;
3524
+ /** Color palette */
3525
+ colors?: string[];
3526
+ /** Animation duration in ms */
3527
+ animationDuration?: number;
3528
+ /** Whether chart is loading */
3529
+ loading?: boolean;
3530
+ /** Empty state message */
3531
+ emptyMessage?: string;
3532
+ }
3533
+ declare const Chart: react__default.ForwardRefExoticComponent<ChartProps & react__default.RefAttributes<HTMLDivElement>>;
3534
+
3535
+ interface JsonInputProps extends Omit<react__default.TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'onChange'> {
3536
+ /** Current JSON value */
3537
+ value?: string;
3538
+ /** Default JSON value */
3539
+ defaultValue?: string;
3540
+ /** Called when value changes */
3541
+ onChange?: (value: string) => void;
3542
+ /** Called when JSON is valid/invalid */
3543
+ onValidationChange?: (isValid: boolean, error?: string) => void;
3544
+ /** Whether to validate on change */
3545
+ validateOnChange?: boolean;
3546
+ /** Whether to format on blur */
3547
+ formatOnBlur?: boolean;
3548
+ /** Indentation spaces */
3549
+ indentation?: number;
3550
+ /** Size variant */
3551
+ size?: 'sm' | 'md' | 'lg';
3552
+ /** Minimum rows */
3553
+ minRows?: number;
3554
+ /** Maximum rows */
3555
+ maxRows?: number;
3556
+ /** Label */
3557
+ label?: react__default.ReactNode;
3558
+ /** Error message */
3559
+ error?: react__default.ReactNode;
3560
+ /** Whether to show line numbers */
3561
+ showLineNumbers?: boolean;
3562
+ }
3563
+ declare const JsonInput: react__default.ForwardRefExoticComponent<JsonInputProps & react__default.RefAttributes<HTMLTextAreaElement>>;
3564
+
3565
+ interface AngleSliderProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3566
+ /** Current angle value (0-360) */
3567
+ value?: number;
3568
+ /** Default angle value */
3569
+ defaultValue?: number;
3570
+ /** Called when angle changes */
3571
+ onChange?: (value: number) => void;
3572
+ /** Size of the slider */
3573
+ size?: number;
3574
+ /** Whether the slider is disabled */
3575
+ disabled?: boolean;
3576
+ /** Step increment */
3577
+ step?: number;
3578
+ /** Color of the track */
3579
+ trackColor?: string;
3580
+ /** Color of the thumb */
3581
+ thumbColor?: string;
3582
+ /** Whether to show the value label */
3583
+ showValue?: boolean;
3584
+ /** Format function for the value */
3585
+ formatValue?: (value: number) => string;
3586
+ /** Label */
3587
+ label?: react__default.ReactNode;
3588
+ }
3589
+ declare const AngleSlider: react__default.ForwardRefExoticComponent<AngleSliderProps & react__default.RefAttributes<HTMLDivElement>>;
3590
+
3591
+ interface TableOfContentsItem {
3592
+ id: string;
3593
+ label: string;
3594
+ level: number;
3595
+ children?: TableOfContentsItem[];
3596
+ }
3597
+ interface TableOfContentsProps extends react__default.HTMLAttributes<HTMLElement> {
3598
+ /** Items to display */
3599
+ items?: TableOfContentsItem[];
3600
+ /** Active item ID */
3601
+ activeId?: string;
3602
+ /** Called when item is clicked */
3603
+ onItemClick?: (id: string) => void;
3604
+ /** Whether to highlight based on scroll position */
3605
+ highlightOnScroll?: boolean;
3606
+ /** Selector for heading elements to auto-generate items */
3607
+ headingSelector?: string;
3608
+ /** Offset for scroll spy */
3609
+ scrollOffset?: number;
3610
+ /** Size variant */
3611
+ size?: 'sm' | 'md' | 'lg';
3612
+ /** Maximum heading level to include */
3613
+ maxLevel?: number;
3614
+ /** Whether to show line connector */
3615
+ withLine?: boolean;
3616
+ /** Label for the TOC */
3617
+ label?: react__default.ReactNode;
3618
+ }
3619
+ declare const TableOfContents: react__default.ForwardRefExoticComponent<TableOfContentsProps & react__default.RefAttributes<HTMLElement>>;
3620
+
3621
+ interface SemiCircleProgressProps extends react__default.HTMLAttributes<HTMLDivElement> {
3622
+ /** Progress value (0-100) */
3623
+ value?: number;
3624
+ /** Size of the component */
3625
+ size?: number;
3626
+ /** Thickness of the progress arc */
3627
+ thickness?: number;
3628
+ /** Color of the progress */
3629
+ color?: string;
3630
+ /** Color of the track */
3631
+ trackColor?: string;
3632
+ /** Label to show */
3633
+ label?: react__default.ReactNode;
3634
+ /** Whether to show percentage */
3635
+ showPercentage?: boolean;
3636
+ /** Format function for percentage */
3637
+ formatPercentage?: (value: number) => string;
3638
+ /** Orientation */
3639
+ orientation?: 'up' | 'down';
3640
+ /** Whether to animate */
3641
+ animate?: boolean;
3642
+ }
3643
+ declare const SemiCircleProgress: react__default.ForwardRefExoticComponent<SemiCircleProgressProps & react__default.RefAttributes<HTMLDivElement>>;
3644
+
3645
+ interface CheckboxCardProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
3646
+ /** Card label/title */
3647
+ label?: react__default.ReactNode;
3648
+ /** Card description */
3649
+ description?: react__default.ReactNode;
3650
+ /** Icon or image to display */
3651
+ icon?: react__default.ReactNode;
3652
+ /** Whether the card is checked */
3653
+ checked?: boolean;
3654
+ /** Default checked state */
3655
+ defaultChecked?: boolean;
3656
+ /** Called when checked state changes */
3657
+ onChange?: (event: react__default.ChangeEvent<HTMLInputElement>) => void;
3658
+ /** Size variant */
3659
+ size?: 'sm' | 'md' | 'lg';
3660
+ /** Whether the checkbox is inside or overlaid */
3661
+ checkboxPosition?: 'top-start' | 'top-end' | 'hidden';
3662
+ /** Whether to show as radio instead of checkbox */
3663
+ radio?: boolean;
3664
+ /** Border radius */
3665
+ radius?: 'sm' | 'md' | 'lg';
3666
+ }
3667
+ declare const CheckboxCard: react__default.ForwardRefExoticComponent<CheckboxCardProps & react__default.RefAttributes<HTMLInputElement>>;
3668
+
3669
+ interface ScrollShadowProps extends react__default.HTMLAttributes<HTMLDivElement> {
3670
+ /** Orientation of scroll */
3671
+ orientation?: 'horizontal' | 'vertical' | 'both';
3672
+ /** Shadow size */
3673
+ shadowSize?: number;
3674
+ /** Shadow color */
3675
+ shadowColor?: string;
3676
+ /** Whether to hide scrollbar */
3677
+ hideScrollbar?: boolean;
3678
+ /** Offset before showing shadow */
3679
+ offset?: number;
3680
+ }
3681
+ declare const ScrollShadow: react__default.ForwardRefExoticComponent<ScrollShadowProps & react__default.RefAttributes<HTMLDivElement>>;
3682
+
3683
+ interface ColorSwatchProps extends react__default.HTMLAttributes<HTMLDivElement> {
3684
+ /** Color to display */
3685
+ color: string;
3686
+ /** Size of the swatch */
3687
+ size?: number | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
3688
+ /** Border radius */
3689
+ radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
3690
+ /** Whether to show a border */
3691
+ withShadow?: boolean;
3692
+ /** Whether the swatch is selected */
3693
+ selected?: boolean;
3694
+ /** Children to render inside (e.g., checkmark) */
3695
+ children?: react__default.ReactNode;
3696
+ }
3697
+ declare const ColorSwatch: react__default.ForwardRefExoticComponent<ColorSwatchProps & react__default.RefAttributes<HTMLDivElement>>;
3698
+
3699
+ interface ThemeIconProps extends react__default.HTMLAttributes<HTMLDivElement> {
3700
+ /** Size of the icon container */
3701
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
3702
+ /** Border radius */
3703
+ radius?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
3704
+ /** Color variant */
3705
+ color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'gray';
3706
+ /** Variant style */
3707
+ variant?: 'filled' | 'light' | 'outline' | 'gradient';
3708
+ /** Gradient (when variant is gradient) */
3709
+ gradient?: {
3710
+ from: string;
3711
+ to: string;
3712
+ deg?: number;
3713
+ };
3714
+ /** Custom background color */
3715
+ bg?: string;
3716
+ /** Custom icon color */
3717
+ iconColor?: string;
3718
+ }
3719
+ declare const ThemeIcon: react__default.ForwardRefExoticComponent<ThemeIconProps & react__default.RefAttributes<HTMLDivElement>>;
3720
+
3721
+ interface DateTimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
3722
+ /** Selected date and time */
3723
+ value?: Date | null;
3724
+ /** On change callback */
3725
+ onChange?: (date: Date | null) => void;
3726
+ /** Placeholder text */
3727
+ placeholder?: string;
3728
+ /** Date format */
3729
+ format?: string;
3730
+ /** Minimum date */
3731
+ minDate?: Date;
3732
+ /** Maximum date */
3733
+ maxDate?: Date;
3734
+ /** Clearable */
3735
+ clearable?: boolean;
3736
+ /** Size */
3737
+ size?: 'sm' | 'md' | 'lg';
3738
+ /** Error state */
3739
+ error?: boolean;
3740
+ /** Time step in minutes */
3741
+ timeStep?: number;
3742
+ /** 12 or 24 hour format */
3743
+ hourFormat?: '12' | '24';
3744
+ }
3745
+ declare const DateTimePicker: react.ForwardRefExoticComponent<DateTimePickerProps & react.RefAttributes<HTMLInputElement>>;
3746
+
3747
+ interface MonthPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
3748
+ /** Selected month (0-11) and year */
3749
+ value?: {
3750
+ month: number;
3751
+ year: number;
3752
+ } | null;
3753
+ /** On change callback */
3754
+ onChange?: (value: {
3755
+ month: number;
3756
+ year: number;
3757
+ } | null) => void;
3758
+ /** Placeholder text */
3759
+ placeholder?: string;
3760
+ /** Format for display */
3761
+ format?: 'short' | 'long';
3762
+ /** Minimum year */
3763
+ minYear?: number;
3764
+ /** Maximum year */
3765
+ maxYear?: number;
3766
+ /** Clearable */
3767
+ clearable?: boolean;
3768
+ /** Size */
3769
+ size?: 'sm' | 'md' | 'lg';
3770
+ /** Error state */
3771
+ error?: boolean;
3772
+ }
3773
+ declare const MonthPicker: react.ForwardRefExoticComponent<MonthPickerProps & react.RefAttributes<HTMLInputElement>>;
3774
+
3775
+ interface YearPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'size'> {
3776
+ /** Selected year */
3777
+ value?: number | null;
3778
+ /** On change callback */
3779
+ onChange?: (year: number | null) => void;
3780
+ /** Placeholder text */
3781
+ placeholder?: string;
3782
+ /** Minimum year */
3783
+ minYear?: number;
3784
+ /** Maximum year */
3785
+ maxYear?: number;
3786
+ /** Clearable */
3787
+ clearable?: boolean;
3788
+ /** Size */
3789
+ size?: 'sm' | 'md' | 'lg';
3790
+ /** Error state */
3791
+ error?: boolean;
3792
+ /** Number of years to show per page */
3793
+ yearsPerPage?: number;
3794
+ }
3795
+ declare const YearPicker: react.ForwardRefExoticComponent<YearPickerProps & react.RefAttributes<HTMLInputElement>>;
3796
+
3797
+ interface RadioCardGroupContextValue {
3798
+ name?: string;
3799
+ value?: string;
3800
+ onChange?: (value: string) => void;
3801
+ disabled?: boolean;
3802
+ size?: 'sm' | 'md' | 'lg';
3803
+ }
3804
+ interface RadioCardGroupProps {
3805
+ /** Children */
3806
+ children: ReactNode;
3807
+ /** Group name */
3808
+ name?: string;
3809
+ /** Selected value */
3810
+ value?: string;
3811
+ /** Default value */
3812
+ defaultValue?: string;
3813
+ /** On change callback */
3814
+ onChange?: (value: string) => void;
3815
+ /** Disabled state */
3816
+ disabled?: boolean;
3817
+ /** Size */
3818
+ size?: 'sm' | 'md' | 'lg';
3819
+ /** Layout direction */
3820
+ direction?: 'horizontal' | 'vertical';
3821
+ /** Number of columns (when horizontal) */
3822
+ columns?: number;
3823
+ /** Gap between cards */
3824
+ gap?: 'sm' | 'md' | 'lg';
3825
+ /** Class name */
3826
+ className?: string;
3827
+ }
3828
+ declare const RadioCardGroup: {
3829
+ ({ children, name, value, onChange, disabled, size, direction, columns, gap, className, }: RadioCardGroupProps): react_jsx_runtime.JSX.Element;
3830
+ displayName: string;
3831
+ };
3832
+ interface RadioCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'title'> {
3833
+ /** Card title */
3834
+ title?: ReactNode;
3835
+ /** Card description */
3836
+ description?: ReactNode;
3837
+ /** Card icon */
3838
+ icon?: ReactNode;
3839
+ /** Size */
3840
+ size?: 'sm' | 'md' | 'lg';
3841
+ /** With border */
3842
+ withBorder?: boolean;
3843
+ /** With check indicator */
3844
+ withIndicator?: boolean;
3845
+ /** Custom content */
3846
+ children?: ReactNode;
3847
+ }
3848
+ declare const RadioCard: react.ForwardRefExoticComponent<RadioCardProps & react.RefAttributes<HTMLInputElement>>;
3849
+ declare const useRadioCardGroup: () => RadioCardGroupContextValue;
3850
+
3851
+ interface ToolbarContextValue {
3852
+ orientation?: 'horizontal' | 'vertical';
3853
+ size?: 'sm' | 'md' | 'lg';
3854
+ }
3855
+ interface ToolbarProps extends HTMLAttributes<HTMLDivElement> {
3856
+ /** Orientation */
3857
+ orientation?: 'horizontal' | 'vertical';
3858
+ /** Size */
3859
+ size?: 'sm' | 'md' | 'lg';
3860
+ /** Aria label */
3861
+ 'aria-label'?: string;
3862
+ }
3863
+ declare const Toolbar: react.ForwardRefExoticComponent<ToolbarProps & react.RefAttributes<HTMLDivElement>>;
3864
+ interface ToolbarButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3865
+ /** Is active/pressed */
3866
+ isActive?: boolean;
3867
+ /** Variant */
3868
+ variant?: 'default' | 'ghost' | 'outline';
3869
+ /** Tooltip text */
3870
+ tooltip?: string;
3871
+ }
3872
+ declare const ToolbarButton: react.ForwardRefExoticComponent<ToolbarButtonProps & react.RefAttributes<HTMLButtonElement>>;
3873
+ interface ToolbarSeparatorProps extends HTMLAttributes<HTMLDivElement> {
3874
+ }
3875
+ declare const ToolbarSeparator: react.ForwardRefExoticComponent<ToolbarSeparatorProps & react.RefAttributes<HTMLDivElement>>;
3876
+ interface ToolbarGroupProps extends HTMLAttributes<HTMLDivElement> {
3877
+ /** Spacing between items */
3878
+ spacing?: 'none' | 'sm' | 'md';
3879
+ }
3880
+ declare const ToolbarGroup: react.ForwardRefExoticComponent<ToolbarGroupProps & react.RefAttributes<HTMLDivElement>>;
3881
+ interface ToolbarToggleGroupProps extends HTMLAttributes<HTMLDivElement> {
3882
+ /** Type of selection */
3883
+ type?: 'single' | 'multiple';
3884
+ /** Selected value(s) */
3885
+ value?: string | string[];
3886
+ /** On value change */
3887
+ onValueChange?: (value: string | string[]) => void;
3888
+ }
3889
+ declare const ToolbarToggleGroup: react.ForwardRefExoticComponent<ToolbarToggleGroupProps & react.RefAttributes<HTMLDivElement>>;
3890
+ interface ToolbarLinkProps extends HTMLAttributes<HTMLAnchorElement> {
3891
+ /** Link href */
3892
+ href?: string;
3893
+ /** Target */
3894
+ target?: string;
3895
+ }
3896
+ declare const ToolbarLink: react.ForwardRefExoticComponent<ToolbarLinkProps & react.RefAttributes<HTMLAnchorElement>>;
3897
+ declare const useToolbar: () => ToolbarContextValue;
3898
+
3899
+ type ResponsiveValue<T> = T | {
3900
+ base?: T;
3901
+ sm?: T;
3902
+ md?: T;
3903
+ lg?: T;
3904
+ xl?: T;
3905
+ '2xl'?: T;
3906
+ };
3907
+ interface SimpleGridProps extends HTMLAttributes<HTMLDivElement> {
3908
+ /** Number of columns */
3909
+ cols?: ResponsiveValue<number>;
3910
+ /** Minimum child width (auto-fit) */
3911
+ minChildWidth?: string;
3912
+ /** Gap between items */
3913
+ spacing?: ResponsiveValue<string | number>;
3914
+ /** Horizontal spacing */
3915
+ spacingX?: ResponsiveValue<string | number>;
3916
+ /** Vertical spacing */
3917
+ spacingY?: ResponsiveValue<string | number>;
3918
+ }
3919
+ declare const SimpleGrid: react.ForwardRefExoticComponent<SimpleGridProps & react.RefAttributes<HTMLDivElement>>;
3920
+
3921
+ interface BlockquoteProps extends HTMLAttributes<HTMLQuoteElement> {
3922
+ /** Quote citation/source */
3923
+ cite?: string;
3924
+ /** Author name */
3925
+ author?: ReactNode;
3926
+ /** Author title/role */
3927
+ authorTitle?: ReactNode;
3928
+ /** Author avatar */
3929
+ avatar?: ReactNode;
3930
+ /** Color variant */
3931
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';
3932
+ /** Border position */
3933
+ borderPosition?: 'left' | 'top' | 'none';
3934
+ /** Icon to show */
3935
+ icon?: ReactNode;
3936
+ /** Size variant */
3937
+ size?: 'sm' | 'md' | 'lg';
3938
+ /** With background */
3939
+ withBackground?: boolean;
3940
+ }
3941
+ declare const Blockquote: react.ForwardRefExoticComponent<BlockquoteProps & react.RefAttributes<HTMLQuoteElement>>;
3942
+
3943
+ interface VirtualListProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onScroll'> {
3944
+ /** Data items to render */
3945
+ data: T[];
3946
+ /** Height of each item (or function for variable heights) */
3947
+ itemHeight: number | ((index: number, item: T) => number);
3948
+ /** Container height */
3949
+ height: number | string;
3950
+ /** Width of the container */
3951
+ width?: number | string;
3952
+ /** Render function for each item */
3953
+ renderItem: (item: T, index: number, style: CSSProperties) => ReactNode;
3954
+ /** Number of items to overscan */
3955
+ overscan?: number;
3956
+ /** On scroll callback with scroll position */
3957
+ onScrollChange?: (scrollTop: number) => void;
3958
+ /** Key extractor */
3959
+ getKey?: (item: T, index: number) => string | number;
3960
+ /** Loading state */
3961
+ loading?: boolean;
3962
+ /** Loading component */
3963
+ loadingComponent?: ReactNode;
3964
+ /** Empty state component */
3965
+ emptyComponent?: ReactNode;
3966
+ /** Gap between items */
3967
+ gap?: number;
3968
+ /** Scroll to index */
3969
+ scrollToIndex?: number;
3970
+ }
3971
+ declare const VirtualList: <T>(props: VirtualListProps<T> & {
3972
+ ref?: React.ForwardedRef<HTMLDivElement>;
3973
+ }) => JSX.Element;
3974
+
3975
+ interface InfiniteScrollProps extends HTMLAttributes<HTMLDivElement> {
3976
+ /** Children to render */
3977
+ children: ReactNode;
3978
+ /** Callback when more items should be loaded */
3979
+ onLoadMore: () => void | Promise<void>;
3980
+ /** Whether there are more items to load */
3981
+ hasMore: boolean;
3982
+ /** Whether currently loading */
3983
+ loading?: boolean;
3984
+ /** Loading indicator component */
3985
+ loader?: ReactNode;
3986
+ /** End message when no more items */
3987
+ endMessage?: ReactNode;
3988
+ /** Threshold in pixels before triggering load */
3989
+ threshold?: number;
3990
+ /** Scroll direction */
3991
+ direction?: 'down' | 'up';
3992
+ /** Use window scroll instead of container */
3993
+ useWindow?: boolean;
3994
+ /** Inverse scroll (for chat-like interfaces) */
3995
+ inverse?: boolean;
3996
+ /** Initial load */
3997
+ initialLoad?: boolean;
3998
+ /** Scroll container height */
3999
+ height?: number | string;
4000
+ }
4001
+ declare const InfiniteScroll: react.ForwardRefExoticComponent<InfiniteScrollProps & react.RefAttributes<HTMLDivElement>>;
4002
+
4003
+ interface SplitButtonOption {
4004
+ /** Option label */
4005
+ label: ReactNode;
4006
+ /** Option value */
4007
+ value: string;
4008
+ /** Option icon */
4009
+ icon?: ReactNode;
4010
+ /** Disabled state */
4011
+ disabled?: boolean;
4012
+ /** On click handler */
4013
+ onClick?: () => void;
4014
+ }
4015
+ interface SplitButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onSelect'> {
4016
+ /** Button variant */
4017
+ variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
4018
+ /** Button size */
4019
+ size?: 'sm' | 'md' | 'lg';
4020
+ /** Primary button content */
4021
+ children: ReactNode;
4022
+ /** Primary button click handler */
4023
+ onClick?: () => void;
4024
+ /** Dropdown options */
4025
+ options: SplitButtonOption[];
4026
+ /** Selected option value */
4027
+ selectedValue?: string;
4028
+ /** On option select */
4029
+ onSelect?: (value: string) => void;
4030
+ /** Loading state */
4031
+ loading?: boolean;
4032
+ /** Dropdown placement */
4033
+ placement?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
4034
+ /** Icon for dropdown trigger */
4035
+ dropdownIcon?: ReactNode;
4036
+ }
4037
+ declare const SplitButton: react.ForwardRefExoticComponent<SplitButtonProps & react.RefAttributes<HTMLButtonElement>>;
4038
+
4039
+ interface NumberFormatterProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
4040
+ /** Number value to format */
4041
+ value: number;
4042
+ /** Number of decimal places */
4043
+ decimalPlaces?: number;
4044
+ /** Locale for formatting */
4045
+ locale?: string;
4046
+ /** Format style */
4047
+ formatStyle?: 'decimal' | 'currency' | 'percent' | 'unit';
4048
+ /** Currency code (for currency style) */
4049
+ currency?: string;
4050
+ /** Currency display type */
4051
+ currencyDisplay?: 'symbol' | 'narrowSymbol' | 'code' | 'name';
4052
+ /** Unit type (for unit style) */
4053
+ unit?: string;
4054
+ /** Unit display type */
4055
+ unitDisplay?: 'short' | 'long' | 'narrow';
4056
+ /** Notation style */
4057
+ notation?: 'standard' | 'scientific' | 'engineering' | 'compact';
4058
+ /** Compact display */
4059
+ compactDisplay?: 'short' | 'long';
4060
+ /** Sign display */
4061
+ signDisplay?: 'auto' | 'never' | 'always' | 'exceptZero';
4062
+ /** Use grouping separators */
4063
+ useGrouping?: boolean;
4064
+ /** Prefix text */
4065
+ prefix?: string;
4066
+ /** Suffix text */
4067
+ suffix?: string;
4068
+ /** Minimum integer digits */
4069
+ minimumIntegerDigits?: number;
4070
+ /** Minimum fraction digits */
4071
+ minimumFractionDigits?: number;
4072
+ /** Maximum fraction digits */
4073
+ maximumFractionDigits?: number;
4074
+ /** Minimum significant digits */
4075
+ minimumSignificantDigits?: number;
4076
+ /** Maximum significant digits */
4077
+ maximumSignificantDigits?: number;
4078
+ }
4079
+ declare const NumberFormatter: react.ForwardRefExoticComponent<NumberFormatterProps & react.RefAttributes<HTMLSpanElement>>;
4080
+ declare const formatNumber: (value: number, options?: Partial<Omit<NumberFormatterProps, "className" | "style" | "id">>) => string;
4081
+ declare const formatCurrency: (value: number, currency?: string, locale?: string) => string;
4082
+ declare const formatPercent: (value: number, decimalPlaces?: number, locale?: string) => string;
4083
+ declare const formatCompact: (value: number, locale?: string) => string;
4084
+
4085
+ interface SortableItem {
4086
+ id: string | number;
4087
+ [key: string]: unknown;
4088
+ }
4089
+ interface SortableProps<T extends SortableItem> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
4090
+ /** Items to sort */
4091
+ items: T[];
4092
+ /** On items reorder */
4093
+ onReorder: (items: T[]) => void;
4094
+ /** Render item function */
4095
+ renderItem: (item: T, index: number, isDragging: boolean, dragHandleProps: DragHandleProps) => ReactNode;
4096
+ /** Direction of the list */
4097
+ direction?: 'vertical' | 'horizontal';
4098
+ /** Gap between items */
4099
+ gap?: number;
4100
+ /** Handle selector (if not provided, entire item is draggable) */
4101
+ handleSelector?: string;
4102
+ /** Disabled state */
4103
+ disabled?: boolean;
4104
+ /** Animation duration in ms */
4105
+ animationDuration?: number;
4106
+ /** Lock axis during drag */
4107
+ lockAxis?: 'x' | 'y' | null;
4108
+ /** Placeholder style */
4109
+ placeholderStyle?: CSSProperties;
4110
+ }
4111
+ interface DragHandleProps {
4112
+ draggable: boolean;
4113
+ onDragStart: (e: React.DragEvent) => void;
4114
+ onDragEnd: (e: React.DragEvent) => void;
4115
+ 'data-drag-handle': boolean;
4116
+ style: CSSProperties;
4117
+ }
4118
+ declare const Sortable: <T extends SortableItem>(props: SortableProps<T> & {
4119
+ ref?: React.ForwardedRef<HTMLDivElement>;
4120
+ }) => JSX.Element;
4121
+ interface SortableHandleProps extends HTMLAttributes<HTMLDivElement> {
4122
+ /** Drag handle props from parent */
4123
+ dragHandleProps?: DragHandleProps;
4124
+ }
4125
+ declare const SortableHandle: react.ForwardRefExoticComponent<SortableHandleProps & react.RefAttributes<HTMLDivElement>>;
4126
+
4127
+ interface ErrorBoundaryProps {
4128
+ /** Children to render */
4129
+ children: ReactNode;
4130
+ /** Fallback UI when error occurs */
4131
+ fallback?: ReactNode | ((error: Error, resetError: () => void) => ReactNode);
4132
+ /** Error callback */
4133
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
4134
+ /** Reset callback */
4135
+ onReset?: () => void;
4136
+ /** Reset keys - when these change, the error boundary resets */
4137
+ resetKeys?: unknown[];
4138
+ /** Class name */
4139
+ className?: string;
4140
+ }
4141
+ interface ErrorBoundaryState {
4142
+ hasError: boolean;
4143
+ error: Error | null;
4144
+ }
4145
+ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
4146
+ static displayName: string;
4147
+ constructor(props: ErrorBoundaryProps);
4148
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
4149
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
4150
+ componentDidUpdate(prevProps: ErrorBoundaryProps): void;
4151
+ resetError: () => void;
4152
+ render(): ReactNode;
4153
+ }
4154
+ interface UseErrorBoundaryReturn {
4155
+ showBoundary: (error: Error) => void;
4156
+ }
4157
+ interface ErrorBoundaryWrapperProps extends Omit<ErrorBoundaryProps, 'fallback'> {
4158
+ /** Fallback component */
4159
+ FallbackComponent?: React.ComponentType<{
4160
+ error: Error;
4161
+ resetError: () => void;
4162
+ }>;
4163
+ }
4164
+ declare const withErrorBoundary: <P extends object>(WrappedComponent: React.ComponentType<P>, errorBoundaryProps?: Omit<ErrorBoundaryProps, "children">) => React.FC<P>;
4165
+ interface ErrorFallbackProps {
4166
+ error: Error;
4167
+ resetError: () => void;
4168
+ title?: string;
4169
+ message?: string;
4170
+ showStack?: boolean;
4171
+ className?: string;
4172
+ }
4173
+ declare const ErrorFallback: React.FC<ErrorFallbackProps>;
4174
+
4175
+ interface RichTextEditorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
4176
+ /** Editor value (HTML string) */
4177
+ value?: string;
4178
+ /** Default value */
4179
+ defaultValue?: string;
4180
+ /** On change callback */
4181
+ onChange?: (value: string) => void;
4182
+ /** On blur callback */
4183
+ onBlur?: () => void;
4184
+ /** On focus callback */
4185
+ onFocus?: () => void;
4186
+ /** Placeholder text */
4187
+ placeholder?: string;
4188
+ /** Disabled state */
4189
+ disabled?: boolean;
4190
+ /** Read-only state */
4191
+ readOnly?: boolean;
4192
+ /** Error state */
4193
+ error?: boolean;
4194
+ /** Min height */
4195
+ minHeight?: number | string;
4196
+ /** Max height */
4197
+ maxHeight?: number | string;
4198
+ /** Toolbar options */
4199
+ toolbar?: ToolbarOption[];
4200
+ /** Hide toolbar */
4201
+ hideToolbar?: boolean;
4202
+ /** Sticky toolbar */
4203
+ stickyToolbar?: boolean;
4204
+ /** Auto focus */
4205
+ autoFocus?: boolean;
4206
+ }
4207
+ type ToolbarOption = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'heading1' | 'heading2' | 'heading3' | 'bulletList' | 'orderedList' | 'blockquote' | 'code' | 'link' | 'image' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'undo' | 'redo' | 'clear';
4208
+ declare const RichTextEditor: react.ForwardRefExoticComponent<RichTextEditorProps & react.RefAttributes<HTMLDivElement>>;
4209
+
4210
+ interface SparklineProps extends Omit<SVGAttributes<SVGSVGElement>, 'children'> {
4211
+ /** Data points */
4212
+ data: number[];
4213
+ /** Chart type */
4214
+ type?: 'line' | 'bar' | 'area';
4215
+ /** Width */
4216
+ width?: number;
4217
+ /** Height */
4218
+ height?: number;
4219
+ /** Stroke color */
4220
+ stroke?: string;
4221
+ /** Fill color (for area/bar) */
4222
+ fill?: string;
4223
+ /** Stroke width */
4224
+ strokeWidth?: number;
4225
+ /** Show dots on data points */
4226
+ showDots?: boolean;
4227
+ /** Dot radius */
4228
+ dotRadius?: number;
4229
+ /** Curved line */
4230
+ curved?: boolean;
4231
+ /** Highlight min/max */
4232
+ highlightMinMax?: boolean;
4233
+ /** Min color */
4234
+ minColor?: string;
4235
+ /** Max color */
4236
+ maxColor?: string;
4237
+ /** Bar gap ratio (0-1) */
4238
+ barGap?: number;
4239
+ /** Animation duration */
4240
+ animationDuration?: number;
4241
+ /** Reference line value */
4242
+ referenceLine?: number;
4243
+ /** Reference line color */
4244
+ referenceLineColor?: string;
4245
+ /** Tooltip formatter */
4246
+ tooltipFormatter?: (value: number, index: number) => string;
4247
+ }
4248
+ declare const Sparkline: react.ForwardRefExoticComponent<SparklineProps & react.RefAttributes<SVGSVGElement>>;
4249
+
4250
+ interface GaugeProps extends Omit<SVGAttributes<SVGSVGElement>, 'children'> {
4251
+ /** Current value */
4252
+ value: number;
4253
+ /** Minimum value */
4254
+ min?: number;
4255
+ /** Maximum value */
4256
+ max?: number;
4257
+ /** Size of the gauge */
4258
+ size?: number;
4259
+ /** Thickness of the arc */
4260
+ thickness?: number;
4261
+ /** Start angle in degrees (0 is top) */
4262
+ startAngle?: number;
4263
+ /** End angle in degrees */
4264
+ endAngle?: number;
4265
+ /** Color of the filled arc */
4266
+ color?: string;
4267
+ /** Background color of the arc */
4268
+ trackColor?: string;
4269
+ /** Show value label */
4270
+ showValue?: boolean;
4271
+ /** Value formatter */
4272
+ valueFormatter?: (value: number) => string;
4273
+ /** Value label */
4274
+ label?: ReactNode;
4275
+ /** Sub label */
4276
+ subLabel?: ReactNode;
4277
+ /** Gradient colors */
4278
+ gradient?: {
4279
+ offset: number;
4280
+ color: string;
4281
+ }[];
4282
+ /** Color segments */
4283
+ segments?: {
4284
+ start: number;
4285
+ end: number;
4286
+ color: string;
4287
+ }[];
4288
+ /** Show ticks */
4289
+ showTicks?: boolean;
4290
+ /** Number of ticks */
4291
+ tickCount?: number;
4292
+ /** Animated */
4293
+ animated?: boolean;
4294
+ /** Animation duration */
4295
+ animationDuration?: number;
4296
+ /** Needle style */
4297
+ needle?: boolean;
4298
+ /** Needle color */
4299
+ needleColor?: string;
4300
+ }
4301
+ declare const Gauge: react.ForwardRefExoticComponent<GaugeProps & react.RefAttributes<SVGSVGElement>>;
4302
+
4303
+ interface LazyLoadProps extends HTMLAttributes<HTMLDivElement> {
4304
+ /** Children to lazy load */
4305
+ children: ReactNode;
4306
+ /** Placeholder content while loading */
4307
+ placeholder?: ReactNode;
4308
+ /** Height of the placeholder */
4309
+ height?: number | string;
4310
+ /** Width of the placeholder */
4311
+ width?: number | string;
4312
+ /** Offset from viewport to trigger load */
4313
+ offset?: number | string;
4314
+ /** Root margin for intersection observer */
4315
+ rootMargin?: string;
4316
+ /** Threshold for intersection observer */
4317
+ threshold?: number | number[];
4318
+ /** Once loaded, keep rendered */
4319
+ once?: boolean;
4320
+ /** Callback when element becomes visible */
4321
+ onVisible?: () => void;
4322
+ /** Callback when element is hidden */
4323
+ onHidden?: () => void;
4324
+ /** Animation when appearing */
4325
+ animation?: 'fade' | 'slide' | 'zoom' | 'none';
4326
+ /** Animation duration */
4327
+ animationDuration?: number;
4328
+ /** Disabled lazy loading */
4329
+ disabled?: boolean;
4330
+ /** Use skeleton placeholder */
4331
+ skeleton?: boolean;
4332
+ /** Skeleton animation */
4333
+ skeletonAnimation?: 'pulse' | 'wave' | 'none';
4334
+ }
4335
+ declare const LazyLoad: react.ForwardRefExoticComponent<LazyLoadProps & react.RefAttributes<HTMLDivElement>>;
4336
+ interface LazyImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'onLoad' | 'onError'> {
4337
+ /** Placeholder image src */
4338
+ placeholderSrc?: string;
4339
+ /** Blur placeholder data URL */
4340
+ blurDataURL?: string;
4341
+ /** On load callback */
4342
+ onLoad?: () => void;
4343
+ /** On error callback */
4344
+ onError?: () => void;
4345
+ /** Offset from viewport */
4346
+ offset?: number | string;
4347
+ /** Animation style */
4348
+ animation?: 'fade' | 'blur' | 'none';
4349
+ /** Animation duration */
4350
+ animationDuration?: number;
4351
+ }
4352
+ declare const LazyImage: react.ForwardRefExoticComponent<LazyImageProps & react.RefAttributes<HTMLImageElement>>;
4353
+
4354
+ type GroupGap = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 0;
4355
+ type GroupJustify = 'left' | 'center' | 'right' | 'apart' | 'around' | 'evenly';
4356
+ type GroupAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
4357
+ interface GroupProps extends HTMLAttributes<HTMLDivElement> {
4358
+ /** Gap between items */
4359
+ gap?: GroupGap;
4360
+ /** Horizontal alignment */
4361
+ justify?: GroupJustify;
4362
+ /** Vertical alignment */
4363
+ align?: GroupAlign;
4364
+ /** Prevent items from wrapping */
4365
+ nowrap?: boolean;
4366
+ /** Allow items to grow to fill space */
4367
+ grow?: boolean;
4368
+ /** Prevent items from growing */
4369
+ preventGrow?: boolean;
4370
+ }
4371
+ declare const Group: react.ForwardRefExoticComponent<GroupProps & react.RefAttributes<HTMLDivElement>>;
4372
+
4373
+ type FloatPlacement = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'left-center' | 'right-center' | 'center';
4374
+ type FloatOffset = 1 | 2 | 3 | 4;
4375
+ interface FloatProps extends HTMLAttributes<HTMLDivElement> {
4376
+ /** Position of the floating element */
4377
+ placement?: FloatPlacement;
4378
+ /** Offset from the edge */
4379
+ offset?: FloatOffset;
4380
+ /** Place element outside the container */
4381
+ outside?: boolean;
4382
+ }
4383
+ declare const Float: react.ForwardRefExoticComponent<FloatProps & react.RefAttributes<HTMLDivElement>>;
4384
+
4385
+ type OverlayOpacity = 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90;
4386
+ type OverlayBlur = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4387
+ type OverlayRadius = 'sm' | 'md' | 'lg';
4388
+ interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
4389
+ /** Background opacity (10-90) */
4390
+ opacity?: OverlayOpacity;
4391
+ /** Backdrop blur level */
4392
+ blur?: OverlayBlur;
4393
+ /** Use fixed positioning instead of absolute */
4394
+ fixed?: boolean;
4395
+ /** Center content within overlay */
4396
+ center?: boolean;
4397
+ /** Use white background instead of black */
4398
+ white?: boolean;
4399
+ /** Use gradient background */
4400
+ gradient?: boolean;
4401
+ /** Border radius */
4402
+ radius?: OverlayRadius;
4403
+ /** Custom z-index */
4404
+ zIndex?: number;
4405
+ }
4406
+ declare const Overlay: react.ForwardRefExoticComponent<OverlayProps & react.RefAttributes<HTMLDivElement>>;
4407
+
4408
+ type ActionIconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4409
+ type ActionIconVariant = 'default' | 'filled' | 'light' | 'outline' | 'subtle' | 'transparent';
4410
+ type ActionIconColor = 'default' | 'primary' | 'success' | 'warning' | 'danger';
4411
+ interface ActionIconProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4412
+ /** Icon size */
4413
+ size?: ActionIconSize;
4414
+ /** Visual variant */
4415
+ variant?: ActionIconVariant;
4416
+ /** Color theme */
4417
+ color?: ActionIconColor;
4418
+ /** Loading state */
4419
+ loading?: boolean;
4420
+ /** Custom loader element */
4421
+ loader?: ReactNode;
4422
+ }
4423
+ declare const ActionIcon: react.ForwardRefExoticComponent<ActionIconProps & react.RefAttributes<HTMLButtonElement>>;
4424
+
4425
+ interface UnstyledButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4426
+ /** Make button full width */
4427
+ block?: boolean;
4428
+ }
4429
+ declare const UnstyledButton: react.ForwardRefExoticComponent<UnstyledButtonProps & react.RefAttributes<HTMLButtonElement>>;
4430
+
4431
+ interface FileButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'children' | 'onChange'> {
4432
+ /** Render function for the button */
4433
+ children: (props: {
4434
+ onClick: () => void;
4435
+ }) => ReactNode;
4436
+ /** Callback when files are selected */
4437
+ onChange?: (files: File | File[] | null) => void;
4438
+ /** Allow multiple file selection */
4439
+ multiple?: boolean;
4440
+ /** Reset input value after each selection */
4441
+ resetRef?: React.RefObject<() => void>;
4442
+ }
4443
+ interface FileButtonRef {
4444
+ reset: () => void;
4445
+ }
4446
+ declare const FileButton: react.ForwardRefExoticComponent<FileButtonProps & react.RefAttributes<FileButtonRef>>;
4447
+
4448
+ type FloatingIndicatorVariant = 'default' | 'filled' | 'light' | 'outline';
4449
+ interface FloatingIndicatorProps extends HTMLAttributes<HTMLDivElement> {
4450
+ /** Visual variant */
4451
+ variant?: FloatingIndicatorVariant;
4452
+ /** Disable transition animation */
4453
+ noTransition?: boolean;
4454
+ /** Hide the indicator */
4455
+ hidden?: boolean;
4456
+ /** Target element dimensions and position */
4457
+ target?: {
4458
+ width: number;
4459
+ height: number;
4460
+ x: number;
4461
+ y: number;
4462
+ };
4463
+ }
4464
+ declare const FloatingIndicator: react.ForwardRefExoticComponent<FloatingIndicatorProps & react.RefAttributes<HTMLDivElement>>;
4465
+
4466
+ type PillSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4467
+ type PillVariant = 'default' | 'filled' | 'outline';
4468
+ interface PillProps extends HTMLAttributes<HTMLSpanElement> {
4469
+ /** Size variant */
4470
+ size?: PillSize;
4471
+ /** Visual variant */
4472
+ variant?: PillVariant;
4473
+ /** Show remove button */
4474
+ withRemoveButton?: boolean;
4475
+ /** Callback when remove button clicked */
4476
+ onRemove?: () => void;
4477
+ /** Disabled state */
4478
+ disabled?: boolean;
4479
+ /** Icon displayed before label */
4480
+ leftSection?: ReactNode;
4481
+ }
4482
+ declare const Pill: react.ForwardRefExoticComponent<PillProps & react.RefAttributes<HTMLSpanElement>>;
4483
+
4484
+ type MarkColor = 'yellow' | 'blue' | 'cyan' | 'green' | 'lime' | 'orange' | 'pink' | 'red' | 'grape' | 'violet' | 'indigo' | 'teal' | 'dark' | 'light';
4485
+ interface MarkProps extends HTMLAttributes<HTMLElement> {
4486
+ /** Highlight color */
4487
+ color?: MarkColor;
4488
+ }
4489
+ declare const Mark: react.ForwardRefExoticComponent<MarkProps & react.RefAttributes<HTMLElement>>;
4490
+
4491
+ type UserSize = 'xs' | 'sm' | 'md' | 'lg';
4492
+ interface UserProps extends HTMLAttributes<HTMLDivElement> {
4493
+ /** User's display name */
4494
+ name: string;
4495
+ /** Description or subtitle */
4496
+ description?: string;
4497
+ /** Avatar element */
4498
+ avatar?: ReactNode;
4499
+ /** Size variant */
4500
+ size?: UserSize;
4501
+ /** Show border around avatar */
4502
+ bordered?: boolean;
4503
+ /** Make user card interactive/clickable */
4504
+ interactive?: boolean;
4505
+ /** Use squared avatar instead of circular */
4506
+ squared?: boolean;
4507
+ /** Vertical layout */
4508
+ vertical?: boolean;
4509
+ }
4510
+ declare const User: react.ForwardRefExoticComponent<UserProps & react.RefAttributes<HTMLDivElement>>;
4511
+
4512
+ type DataListSize = 'sm' | 'md' | 'lg';
4513
+ type DataListOrientation = 'vertical' | 'horizontal';
4514
+ interface DataListItemProps {
4515
+ /** Label for the data item */
4516
+ label: string;
4517
+ /** Value to display */
4518
+ value: ReactNode;
4519
+ }
4520
+ interface DataListProps extends HTMLAttributes<HTMLDListElement> {
4521
+ /** Data items to display */
4522
+ items: DataListItemProps[];
4523
+ /** Size variant */
4524
+ size?: DataListSize;
4525
+ /** Layout orientation */
4526
+ orientation?: DataListOrientation;
4527
+ /** Display items inline (label and value on same line) */
4528
+ inline?: boolean;
4529
+ /** Add dividers between items */
4530
+ divided?: boolean;
4531
+ /** Striped background */
4532
+ striped?: boolean;
4533
+ }
4534
+ declare const DataList: react.ForwardRefExoticComponent<DataListProps & react.RefAttributes<HTMLDListElement>>;
4535
+
4536
+ type BackgroundImageRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4537
+ type BackgroundImageRatio = '16-9' | '4-3' | '1-1' | '21-9';
4538
+ type BackgroundImageOverlay = 'dark' | 'light' | 'gradient';
4539
+ interface BackgroundImageProps extends HTMLAttributes<HTMLDivElement> {
4540
+ /** Image source URL */
4541
+ src: string;
4542
+ /** Border radius */
4543
+ radius?: BackgroundImageRadius;
4544
+ /** Aspect ratio */
4545
+ ratio?: BackgroundImageRatio;
4546
+ /** Fill container (width and height 100%) */
4547
+ fill?: boolean;
4548
+ /** Fixed background attachment (parallax effect) */
4549
+ fixed?: boolean;
4550
+ /** Overlay type */
4551
+ overlay?: BackgroundImageOverlay;
4552
+ /** Content to render on top of the image */
4553
+ children?: ReactNode;
4554
+ }
4555
+ declare const BackgroundImage: react.ForwardRefExoticComponent<BackgroundImageProps & react.RefAttributes<HTMLDivElement>>;
4556
+
4557
+ interface SkipNavLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
4558
+ /** Target content ID (without #) */
4559
+ contentId?: string;
4560
+ /** Position in center of screen instead of top-left */
4561
+ center?: boolean;
4562
+ }
4563
+ declare const SkipNavLink: react.ForwardRefExoticComponent<SkipNavLinkProps & react.RefAttributes<HTMLAnchorElement>>;
4564
+ interface SkipNavContentProps extends React.HTMLAttributes<HTMLDivElement> {
4565
+ /** Content ID (must match SkipNavLink's contentId) */
4566
+ id?: string;
4567
+ }
4568
+ declare const SkipNavContent: react.ForwardRefExoticComponent<SkipNavContentProps & react.RefAttributes<HTMLDivElement>>;
4569
+
4570
+ type AbsoluteCenterAxis = 'both' | 'horizontal' | 'vertical';
4571
+ interface AbsoluteCenterProps extends HTMLAttributes<HTMLDivElement> {
4572
+ /** Axis to center on */
4573
+ axis?: AbsoluteCenterAxis;
4574
+ }
4575
+ declare const AbsoluteCenter: react.ForwardRefExoticComponent<AbsoluteCenterProps & react.RefAttributes<HTMLDivElement>>;
4576
+
4577
+ type PillsInputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4578
+ type PillsInputVariant = 'default' | 'filled' | 'unstyled';
4579
+ interface PillsInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
4580
+ /** Pills to display */
4581
+ children?: ReactNode;
4582
+ /** Size variant */
4583
+ size?: PillsInputSize;
4584
+ /** Visual variant */
4585
+ variant?: PillsInputVariant;
4586
+ /** Error state */
4587
+ error?: boolean;
4588
+ /** Callback when wrapper is clicked */
4589
+ onWrapperClick?: () => void;
4590
+ }
4591
+ interface PillsInputFieldProps extends InputHTMLAttributes<HTMLInputElement> {
4592
+ /** Callback when Enter is pressed */
4593
+ onEnter?: (value: string) => void;
4594
+ }
4595
+ declare const PillsInput: react.ForwardRefExoticComponent<PillsInputProps & react.RefAttributes<HTMLDivElement>>;
4596
+ declare const PillsInputField: react.ForwardRefExoticComponent<PillsInputFieldProps & react.RefAttributes<HTMLInputElement>>;
4597
+
4598
+ type BurgerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4599
+ interface BurgerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4600
+ /** Whether the burger is in opened state */
4601
+ opened: boolean;
4602
+ /** Size variant */
4603
+ size?: BurgerSize;
4604
+ /** Accessible label */
4605
+ 'aria-label'?: string;
4606
+ }
4607
+ declare const Burger: react.ForwardRefExoticComponent<BurgerProps & react.RefAttributes<HTMLButtonElement>>;
4608
+
4609
+ type ListboxSize = 'sm' | 'md' | 'lg';
4610
+ interface ListboxProps extends HTMLAttributes<HTMLDivElement> {
4611
+ /** Size variant */
4612
+ size?: ListboxSize;
4613
+ /** Allow multiple selection */
4614
+ multiple?: boolean;
4615
+ }
4616
+ interface ListboxButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4617
+ /** Placeholder text when no selection */
4618
+ placeholder?: string;
4619
+ /** Icon to show */
4620
+ icon?: ReactNode;
4621
+ }
4622
+ interface ListboxOptionsProps extends HTMLAttributes<HTMLUListElement> {
4623
+ }
4624
+ interface ListboxOptionProps extends HTMLAttributes<HTMLLIElement> {
4625
+ /** Option value */
4626
+ value: string;
4627
+ /** Whether option is selected */
4628
+ selected?: boolean;
4629
+ /** Whether option is disabled */
4630
+ disabled?: boolean;
4631
+ /** Whether option is currently active/focused */
4632
+ active?: boolean;
4633
+ /** Icon to display */
4634
+ icon?: ReactNode;
4635
+ /** Description text */
4636
+ description?: string;
4637
+ }
4638
+ interface ListboxGroupProps extends HTMLAttributes<HTMLDivElement> {
4639
+ /** Group label */
4640
+ label: string;
4641
+ }
4642
+ declare const Listbox: react.ForwardRefExoticComponent<ListboxProps & react.RefAttributes<HTMLDivElement>>;
4643
+ declare const ListboxButton: react.ForwardRefExoticComponent<ListboxButtonProps & react.RefAttributes<HTMLButtonElement>>;
4644
+ declare const ListboxOptions: react.ForwardRefExoticComponent<ListboxOptionsProps & react.RefAttributes<HTMLUListElement>>;
4645
+ declare const ListboxOption: react.ForwardRefExoticComponent<ListboxOptionProps & react.RefAttributes<HTMLLIElement>>;
4646
+ declare const ListboxGroup: react.ForwardRefExoticComponent<ListboxGroupProps & react.RefAttributes<HTMLDivElement>>;
4647
+ declare const ListboxDivider: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
4648
+ declare const ListboxEmpty: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & react.RefAttributes<HTMLDivElement>>;
4649
+
4650
+ interface LinkBoxProps extends HTMLAttributes<HTMLDivElement> {
4651
+ }
4652
+ interface LinkOverlayProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
4653
+ /** Remove default link styling */
4654
+ unstyled?: boolean;
4655
+ }
4656
+ /**
4657
+ * LinkBox - Container that makes its child LinkOverlay cover the entire box.
4658
+ * Use this to make entire cards or sections clickable while keeping other
4659
+ * interactive elements accessible.
4660
+ */
4661
+ declare const LinkBox: react.ForwardRefExoticComponent<LinkBoxProps & react.RefAttributes<HTMLDivElement>>;
4662
+ /**
4663
+ * LinkOverlay - A link that stretches to cover its nearest LinkBox parent.
4664
+ * Place this inside a LinkBox to make the entire box clickable.
4665
+ */
4666
+ declare const LinkOverlay: react.ForwardRefExoticComponent<LinkOverlayProps & react.RefAttributes<HTMLAnchorElement>>;
4667
+
4668
+ type ToggletipPlacement = 'top' | 'bottom' | 'left' | 'right';
4669
+ interface ToggletipProps extends HTMLAttributes<HTMLDivElement> {
4670
+ /** Controlled open state */
4671
+ open?: boolean;
4672
+ /** Default open state (uncontrolled) */
4673
+ defaultOpen?: boolean;
4674
+ /** Callback when open state changes */
4675
+ onOpenChange?: (open: boolean) => void;
4676
+ /** Placement of the content */
4677
+ placement?: ToggletipPlacement;
4678
+ /** Show close button in content */
4679
+ withCloseButton?: boolean;
4680
+ }
4681
+ interface ToggletipTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4682
+ /** Icon to display */
4683
+ icon?: ReactNode;
4684
+ }
4685
+ interface ToggletipContentProps extends HTMLAttributes<HTMLDivElement> {
4686
+ }
4687
+ declare const Toggletip: react.ForwardRefExoticComponent<ToggletipProps & react.RefAttributes<HTMLDivElement>>;
4688
+ declare const ToggletipTrigger: react.ForwardRefExoticComponent<ToggletipTriggerProps & react.RefAttributes<HTMLButtonElement>>;
4689
+ declare const ToggletipContent: react.ForwardRefExoticComponent<ToggletipContentProps & react.RefAttributes<HTMLDivElement>>;
4690
+ interface ToggletipCloseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4691
+ }
4692
+ declare const ToggletipClose: react.ForwardRefExoticComponent<ToggletipCloseProps & react.RefAttributes<HTMLButtonElement>>;
4693
+
4694
+ type DisclosureSize = 'sm' | 'md' | 'lg';
4695
+ type DisclosureVariant = 'default' | 'flush' | 'card';
4696
+ interface DisclosureProps extends HTMLAttributes<HTMLDivElement> {
4697
+ /** Controlled open state */
4698
+ open?: boolean;
4699
+ /** Default open state (uncontrolled) */
4700
+ defaultOpen?: boolean;
4701
+ /** Callback when open state changes */
4702
+ onOpenChange?: (open: boolean) => void;
4703
+ /** Size variant */
4704
+ size?: DisclosureSize;
4705
+ /** Visual variant */
4706
+ variant?: DisclosureVariant;
4707
+ /** Disabled state */
4708
+ disabled?: boolean;
4709
+ }
4710
+ interface DisclosureButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4711
+ /** Icon to display */
4712
+ icon?: ReactNode;
4713
+ }
4714
+ interface DisclosurePanelProps extends HTMLAttributes<HTMLDivElement> {
4715
+ }
4716
+ interface DisclosureGroupProps extends HTMLAttributes<HTMLDivElement> {
4717
+ /** Whether only one item can be open at a time */
4718
+ accordion?: boolean;
4719
+ /** Separated items (with gap) */
4720
+ separated?: boolean;
4721
+ }
4722
+ declare const Disclosure: react.ForwardRefExoticComponent<DisclosureProps & react.RefAttributes<HTMLDivElement>>;
4723
+ declare const DisclosureButton: react.ForwardRefExoticComponent<DisclosureButtonProps & react.RefAttributes<HTMLButtonElement>>;
4724
+ declare const DisclosurePanel: react.ForwardRefExoticComponent<DisclosurePanelProps & react.RefAttributes<HTMLDivElement>>;
4725
+ declare const DisclosureGroup: react.ForwardRefExoticComponent<DisclosureGroupProps & react.RefAttributes<HTMLDivElement>>;
4726
+
4727
+ type RangeCalendarSize = 'sm' | 'md' | 'lg';
4728
+ interface CalendarDateRange {
4729
+ start: Date | null;
4730
+ end: Date | null;
4731
+ }
4732
+ interface RangeCalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
4733
+ /** Selected date range */
4734
+ value?: CalendarDateRange;
4735
+ /** Default date range (uncontrolled) */
4736
+ defaultValue?: CalendarDateRange;
4737
+ /** Callback when range changes */
4738
+ onChange?: (range: CalendarDateRange) => void;
4739
+ /** Minimum selectable date */
4740
+ minDate?: Date;
4741
+ /** Maximum selectable date */
4742
+ maxDate?: Date;
4743
+ /** Size variant */
4744
+ size?: RangeCalendarSize;
4745
+ /** Show two months side by side */
4746
+ dual?: boolean;
4747
+ /** Locale for formatting */
4748
+ locale?: string;
4749
+ /** Week starts on (0 = Sunday, 1 = Monday) */
4750
+ weekStartsOn?: 0 | 1;
4751
+ /** Preset ranges */
4752
+ presets?: Array<{
4753
+ label: string;
4754
+ value: CalendarDateRange;
4755
+ }>;
4756
+ }
4757
+ declare const RangeCalendar: react.ForwardRefExoticComponent<RangeCalendarProps & react.RefAttributes<HTMLDivElement>>;
4758
+
4759
+ interface ClientOnlyProps {
4760
+ /** Content to render only on client */
4761
+ children: ReactNode;
4762
+ /** Fallback to show during SSR */
4763
+ fallback?: ReactNode;
4764
+ }
4765
+ /**
4766
+ * ClientOnly - Renders children only on the client side.
4767
+ * Useful for components that depend on browser APIs or need to avoid hydration mismatches.
4768
+ */
4769
+ declare function ClientOnly({ children, fallback }: ClientOnlyProps): react_jsx_runtime.JSX.Element;
4770
+ declare namespace ClientOnly {
4771
+ var displayName: string;
4772
+ }
4773
+
4774
+ declare function cn(...inputs: ClassValue[]): string;
4775
+
4776
+ export { AbsoluteCenter, type AbsoluteCenterAxis, type AbsoluteCenterProps, ActionIcon, type ActionIconColor, type ActionIconProps, type ActionIconSize, type ActionIconVariant, Affix, type AffixProps, Alert, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogFooter, type AlertDialogFooterProps, AlertDialogHeader, type AlertDialogHeaderProps, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, type AlertProps, Anchor, type AnchorItem, type AnchorProps, AngleSlider, type AngleSliderProps, AppBar, type AppBarProps, AppBarToolbar, type AppBarToolbarProps, AppShell, AppShellAside, type AppShellAsideProps, type AppShellContextValue, AppShellFooter, type AppShellFooterProps, AppShellHeader, type AppShellHeaderProps, AppShellMain, type AppShellMainProps, AppShellNavbar, type AppShellNavbarProps, type AppShellProps, AspectRatio, type AspectRatioProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, BackTop, type BackTopProps, Backdrop, type BackdropProps, BackgroundImage, type BackgroundImageOverlay, type BackgroundImageProps, type BackgroundImageRadius, type BackgroundImageRatio, Badge, type BadgeProps, type BaseProps, Blockquote, type BlockquoteProps, BottomNavigation, BottomNavigationItem, type BottomNavigationItemProps, type BottomNavigationProps, Box, type BoxProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, type BreadcrumbProps, Burger, type BurgerProps, type BurgerSize, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonVariant, Calendar, type CalendarDateRange, type CalendarProps, Card, CardBody, type CardBodyProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, Carousel, CarouselItem, type CarouselItemProps, type CarouselProps, Cascader, type CascaderOption, type CascaderProps, Center, type CenterProps, Chart, type ChartDataPoint, type ChartProps, Checkbox, CheckboxCard, type CheckboxCardProps, CheckboxGroup, type CheckboxGroupContextValue, CheckboxGroupItem, type CheckboxGroupItemProps, type CheckboxGroupOption, type CheckboxGroupProps, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CircularProgress, type CircularProgressProps, ClientOnly, type ClientOnlyProps, CloseButton, type CloseButtonProps, Code, CodeBlock, type CodeBlockProps, type CodeProps, Col, type ColProps, Collapse, CollapsePanel, type CollapsePanelProps, type CollapseProps, ColorInput, type ColorInputProps, ColorPicker, type ColorPickerProps, type ColorScheme$1 as ColorScheme, ColorSwatch, type ColorSwatchProps, Combobox, type ComboboxOption, type ComboboxProps, type CommandItem, CommandPalette, type CommandPaletteProps, type ConfigContextValue, ConfigProvider, type ConfigProviderProps, Container, type ContainerProps, ContextMenu, type ContextMenuItem, type ContextMenuProps, ContextMenuSeparator, CopyButton, type CopyButtonProps, DataGrid, type DataGridColumn, type DataGridProps, DataList, type DataListItemProps, type DataListOrientation, type DataListProps, type DataListSize, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Descriptions, DescriptionsItem, type DescriptionsItemProps, type DescriptionsProps, Dialog, DialogBody, type DialogBodyProps, DialogClose, type DialogCloseProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, type DialogProps, Disclosure, DisclosureButton, type DisclosureButtonProps, DisclosureGroup, type DisclosureGroupProps, DisclosurePanel, type DisclosurePanelProps, type DisclosureProps, type DisclosureSize, type DisclosureVariant, Divider, type DividerProps, type DragHandleProps, Drawer, type DrawerProps, Dropdown, DropdownDivider, type DropdownDividerProps, DropdownHeader, type DropdownHeaderProps, DropdownItem, type DropdownItemProps, DropdownMenu, type DropdownMenuProps, type DropdownProps, DropdownTrigger, type DropdownTriggerProps, Dropzone, type DropzoneProps, Editable, type EditableProps, Empty, type EmptyProps, ErrorBoundary, type ErrorBoundaryProps, type ErrorBoundaryWrapperProps, ErrorFallback, type ErrorFallbackProps, Field, type FieldProps, Fieldset, type FieldsetProps, FileButton, type FileButtonProps, type FileButtonRef, FileInput, type FileInputProps, Flex, type FlexProps, Float, FloatBackTop, type FloatBackTopProps, FloatButton, FloatButtonGroup, type FloatButtonGroupProps, type FloatButtonProps, type FloatOffset, type FloatPlacement, type FloatProps, FloatingIndicator, type FloatingIndicatorProps, type FloatingIndicatorVariant, FocusTrap, type FocusTrapProps, Form, FormItem, type FormItemProps, type FormProps, Gauge, type GaugeProps, Grid, type GridProps, Group, type GroupAlign, type GroupGap, type GroupJustify, type GroupProps, HStack, type HStackProps, Heading, type HeadingProps, HeadingText, Highlight, type HighlightProps, HoverCard, HoverCardBody, type HoverCardBodyProps, HoverCardFooter, type HoverCardFooterProps, HoverCardHeader, type HoverCardHeaderProps, type HoverCardProps, Icon, IconButton, type IconButtonProps, type IconProps, Icons, Image, ImageList, ImageListItem, ImageListItemBar, type ImageListItemBarProps, type ImageListItemProps, ImageListItem as ImageListItemType, type ImageListProps, type ImageProps, Indicator, type IndicatorProps, InfiniteScroll, type InfiniteScrollProps, Input, InputOTP, type InputOTPProps, type InputProps, JsonInput, type JsonInputProps, Kbd, type KbdProps, Label, type LabelProps, LazyImage, type LazyImageProps, LazyLoad, type LazyLoadProps, Link, LinkBox, type LinkBoxProps, LinkOverlay, type LinkOverlayProps, type LinkProps, List, ListItem, ListItemMeta, type ListItemMetaProps, type ListItemProps, type ListProps, Listbox, ListboxButton, type ListboxButtonProps, ListboxDivider, ListboxEmpty, ListboxGroup, type ListboxGroupProps, ListboxOption, type ListboxOptionProps, ListboxOptions, type ListboxOptionsProps, type ListboxProps, type ListboxSize, LoadingOverlay, type LoadingOverlayProps, Mark, type MarkColor, type MarkProps, Masonry, MasonryItem, type MasonryItemProps, type MasonryProps, type MentionOption, Mentions, type MentionsProps, Menu, MenuDivider, type MenuDividerProps, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemProps, type MenuProps, Menubar, type MenubarItem, MenubarMenu, type MenubarMenuProps, type MenubarProps, Message, MessageContainer, type MessageContainerProps, type MessageProps, type MessageType, Modal, ModalBody, ModalFooter, ModalHeader, type ModalHeaderProps, type ModalProps, MonthPicker, type MonthPickerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, NavLink, type NavLinkProps, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarItem, type NavbarItemProps, NavbarMenu, NavbarMenuItem, type NavbarMenuItemProps, type NavbarMenuProps, NavbarMenuToggle, type NavbarMenuToggleProps, type NavbarProps, NavigationMenu, NavigationMenuContent, type NavigationMenuContentProps, NavigationMenuIndicator, type NavigationMenuIndicatorProps, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, type NavigationMenuLinkProps, type NavigationMenuProps, NavigationMenuTrigger, type NavigationMenuTriggerProps, NavigationMenuViewport, type NavigationMenuViewportProps, Notification, NotificationContainer, type NotificationProps, NumberFormatter, type NumberFormatterProps, NumberInput, type NumberInputProps, Overlay, type OverlayBlur, type OverlayOpacity, type OverlayProps, type OverlayRadius, Pagination, type PaginationProps, Paper, type PaperProps, PasswordInput, type PasswordInputProps, Pill, type PillProps, type PillSize, type PillVariant, PillsInput, PillsInputField, type PillsInputFieldProps, type PillsInputProps, type PillsInputSize, type PillsInputVariant, PinInput, type PinInputProps, type PolymorphicComponentProps, type PolymorphicComponentPropsWithRef, type PolymorphicRef, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, Portal, type PortalProps, Progress, type ProgressProps, QRCode, type QRCodeProps, Radio, RadioCard, RadioCardGroup, type RadioCardGroupProps, type RadioCardProps, RadioGroup, type RadioGroupProps, type RadioProps, RangeCalendar, type RangeCalendarProps, type RangeCalendarSize, RangeSlider, type RangeSliderProps, Rate, type RateProps, Resizable, type ResizableProps, type ResizeDirection, Result, type ResultProps, RichTextEditor, type RichTextEditorProps, RingProgress, type RingProgressProps, type RingProgressSection, ScrollArea, type ScrollAreaProps, ScrollShadow, type ScrollShadowProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectOption, type SelectOptionGroup, type SelectProps, SemiCircleProgress, type SemiCircleProgressProps, Separator, type SeparatorProps, Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, type SheetDescriptionProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, type SheetProps, SheetTitle, type SheetTitleProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarToggle, type SidebarToggleProps, SimpleGrid, type SimpleGridProps, type Size, Skeleton, SkeletonAvatar, type SkeletonAvatarProps, SkeletonCard, type SkeletonCardProps, type SkeletonProps, SkipNavContent, type SkipNavContentProps, SkipNavLink, type SkipNavLinkProps, Slider, type SliderProps, Snippet, type SnippetProps, Sortable, SortableHandle, type SortableHandleProps, type SortableItem, type SortableProps, Space, type SpaceProps, Sparkline, type SparklineProps, SpeedDial, type SpeedDialAction, type SpeedDialProps, Spinner, type SpinnerProps, SplitButton, type SplitButtonOption, type SplitButtonProps, Splitter, SplitterPanel, type SplitterPanelProps, type SplitterProps, Spoiler, type SpoilerProps, Stack, type StackProps, Statistic, StatisticGroup, type StatisticGroupProps, type StatisticProps, Step, type StepProps, Stepper, type StepperContextValue, type StepperProps, StepperStep, type StepperStepProps, Steps, type StepsProps, SubMenu, type SubMenuProps, Switch, type SwitchProps, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableFoot, type TableFootProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableOfContents, type TableOfContentsItem, type TableOfContentsProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, Tag, type TagProps, TagsInput, type TagsInputProps, Text, TextBlock, type TextProps, Textarea, type TextareaProps, ThemeIcon, type ThemeIconProps, TimePicker, type TimePickerProps, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, Toast, ToastContainer, type ToastContainerProps, type ToastProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Toggletip, ToggletipClose, type ToggletipCloseProps, ToggletipContent, type ToggletipContentProps, type ToggletipPlacement, type ToggletipProps, ToggletipTrigger, type ToggletipTriggerProps, Toolbar, ToolbarButton, type ToolbarButtonProps, ToolbarGroup, type ToolbarGroupProps, ToolbarLink, type ToolbarLinkProps, type ToolbarProps, ToolbarSeparator, type ToolbarSeparatorProps, ToolbarToggleGroup, type ToolbarToggleGroupProps, Tooltip, type TooltipProps, Tour, type TourProps, type TourStep, Transfer, type TransferItem, type TransferProps, Transition, type TransitionProps, type TransitionType, Tree, type TreeNode, type TreeProps, TreeSelect, type TreeSelectNode, type TreeSelectProps, Typography, type TypographyProps, UnstyledButton, type UnstyledButtonProps, Upload, type UploadFile, type UploadProps, type UseErrorBoundaryReturn, User, type UserProps, type UserSize, VStack, type VStackProps, type Variant, VirtualList, type VirtualListProps, VisuallyHidden, type VisuallyHiddenProps, Watermark, type WatermarkProps, YearPicker, type YearPickerProps, ZenKitProvider, type ZenKitProviderProps, cn, formatCompact, formatCurrency, formatNumber, formatPercent, useAppShell, useCheckboxGroup, useConfig, useFormContext, useRadioCardGroup, useSidebar, useStepper, useTheme, useThemeOptional, useToolbar, visuallyHiddenStyles, withErrorBoundary };