@uxuissk/design-system 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,53 @@
1
1
  import { default as default_2 } from 'react';
2
2
  import { JSX } from 'react/jsx-runtime';
3
3
 
4
+ export declare function Accordion({ type, items, defaultOpen, value, onChange, className, }: AccordionProps): JSX.Element;
5
+
6
+ export declare namespace Accordion {
7
+ var displayName: string;
8
+ }
9
+
10
+ export declare function AccordionItem({ title, children, open, onToggle, icon }: AccordionItemProps): JSX.Element;
11
+
12
+ export declare namespace AccordionItem {
13
+ var displayName: string;
14
+ }
15
+
16
+ export declare interface AccordionItemProps {
17
+ /** Header text */
18
+ title: string;
19
+ /** Content to display when expanded */
20
+ children: default_2.ReactNode;
21
+ /** Whether this item is open */
22
+ open: boolean;
23
+ /** Toggle callback */
24
+ onToggle: () => void;
25
+ /** Optional leading icon */
26
+ icon?: default_2.ReactNode;
27
+ }
28
+
29
+ export declare interface AccordionProps {
30
+ /** Expand behavior */
31
+ type?: AccordionType;
32
+ /** Item definitions */
33
+ items: {
34
+ id: string;
35
+ title: string;
36
+ content: default_2.ReactNode;
37
+ icon?: default_2.ReactNode;
38
+ }[];
39
+ /** Initially open item(s) */
40
+ defaultOpen?: string | string[];
41
+ /** Controlled open state (for single: string | null, for multiple: string[]) */
42
+ value?: string | null | string[];
43
+ /** Change callback */
44
+ onChange?: (value: string | null | string[]) => void;
45
+ /** Additional class name */
46
+ className?: string;
47
+ }
48
+
49
+ export declare type AccordionType = "single" | "multiple";
50
+
4
51
  export declare function Alert({ variant, title, children, dismissible, onDismiss, action, icon, className }: AlertProps): JSX.Element | null;
5
52
 
6
53
  declare interface AlertProps {
@@ -16,6 +63,44 @@ declare interface AlertProps {
16
63
 
17
64
  export declare type AlertVariant = "info" | "success" | "warning" | "error";
18
65
 
66
+ export declare function Avatar({ src, name, size, status, className }: AvatarProps): JSX.Element;
67
+
68
+ export declare namespace Avatar {
69
+ var displayName: string;
70
+ }
71
+
72
+ export declare function AvatarGroup({ children, max, className }: AvatarGroupProps): JSX.Element;
73
+
74
+ export declare namespace AvatarGroup {
75
+ var displayName: string;
76
+ }
77
+
78
+ export declare interface AvatarGroupProps {
79
+ /** Avatar elements */
80
+ children: default_2.ReactNode;
81
+ /** Maximum number of avatars to display before showing +N */
82
+ max?: number;
83
+ /** Additional class name */
84
+ className?: string;
85
+ }
86
+
87
+ export declare interface AvatarProps {
88
+ /** Image URL */
89
+ src?: string;
90
+ /** Full name (used for initials fallback) */
91
+ name?: string;
92
+ /** Avatar size */
93
+ size?: AvatarSize;
94
+ /** Status indicator */
95
+ status?: AvatarStatus;
96
+ /** Additional class name */
97
+ className?: string;
98
+ }
99
+
100
+ export declare type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
101
+
102
+ export declare type AvatarStatus = "online" | "offline" | "busy" | "away";
103
+
19
104
  export declare function Badge({ children, variant, size, icon, dot, removable, onRemove, className, }: BadgeProps): JSX.Element;
20
105
 
21
106
  declare interface BadgeProps {
@@ -33,6 +118,32 @@ export declare type BadgeSize = "sm" | "md" | "lg";
33
118
 
34
119
  export declare type BadgeVariant = "default" | "secondary" | "outline" | "destructive" | "success" | "warning";
35
120
 
121
+ export declare function Breadcrumb({ items, separator, size, maxItems, }: BreadcrumbProps): JSX.Element;
122
+
123
+ export declare interface BreadcrumbItem {
124
+ label: string;
125
+ href?: string;
126
+ icon?: default_2.ReactNode;
127
+ }
128
+
129
+ declare interface BreadcrumbItem_2 {
130
+ /** Display label */
131
+ label: string;
132
+ /** Optional href for navigation */
133
+ href?: string;
134
+ }
135
+
136
+ export declare interface BreadcrumbProps {
137
+ items: BreadcrumbItem[];
138
+ separator?: BreadcrumbSeparator;
139
+ size?: BreadcrumbSize;
140
+ maxItems?: number;
141
+ }
142
+
143
+ export declare type BreadcrumbSeparator = "chevron" | "slash" | "dot";
144
+
145
+ export declare type BreadcrumbSize = "sm" | "md" | "lg";
146
+
36
147
  export declare function ButtonGroup({ children, className, }: {
37
148
  children: default_2.ReactNode;
38
149
  className?: string;
@@ -42,6 +153,46 @@ export declare type ButtonSize = "sm" | "md" | "lg" | "xl";
42
153
 
43
154
  export declare type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "destructive" | "link";
44
155
 
156
+ export declare function Card({ children, className, hover, elevation }: CardProps): JSX.Element;
157
+
158
+ export declare namespace Card {
159
+ var displayName: string;
160
+ }
161
+
162
+ export declare function CardBody({ children }: {
163
+ children: default_2.ReactNode;
164
+ }): JSX.Element;
165
+
166
+ export declare namespace CardBody {
167
+ var displayName: string;
168
+ }
169
+
170
+ export declare function CardFooter({ children }: {
171
+ children: default_2.ReactNode;
172
+ }): JSX.Element;
173
+
174
+ export declare namespace CardFooter {
175
+ var displayName: string;
176
+ }
177
+
178
+ export declare function CardHeader({ children, action }: CardHeaderProps): JSX.Element;
179
+
180
+ export declare namespace CardHeader {
181
+ var displayName: string;
182
+ }
183
+
184
+ export declare interface CardHeaderProps {
185
+ children: default_2.ReactNode;
186
+ action?: default_2.ReactNode;
187
+ }
188
+
189
+ export declare interface CardProps {
190
+ children: default_2.ReactNode;
191
+ className?: string;
192
+ hover?: boolean;
193
+ elevation?: "none" | "sm" | "md" | "lg";
194
+ }
195
+
45
196
  export declare function CheckboxGroup({ label, children, direction, className }: CheckboxGroupProps): JSX.Element;
46
197
 
47
198
  declare interface CheckboxGroupProps {
@@ -67,6 +218,20 @@ declare interface CheckboxProps {
67
218
 
68
219
  export declare type CheckboxSize = "sm" | "md" | "lg";
69
220
 
221
+ export declare function ColorPicker({ value, onChange, label, presets, showInput, showFormats, size, }: ColorPickerProps): JSX.Element;
222
+
223
+ export declare interface ColorPickerProps {
224
+ value: string;
225
+ onChange: (v: string) => void;
226
+ label?: string;
227
+ presets?: string[];
228
+ showInput?: boolean;
229
+ showFormats?: boolean;
230
+ size?: ColorPickerSize;
231
+ }
232
+
233
+ export declare type ColorPickerSize = "sm" | "md" | "lg";
234
+
70
235
  export declare function ConfirmDialog({ open, onClose, onConfirm, title, description, confirmLabel, cancelLabel, variant, }: ConfirmDialogProps): JSX.Element;
71
236
 
72
237
  declare interface ConfirmDialogProps {
@@ -147,6 +312,99 @@ export declare type DatePickerState = "default" | "error" | "success";
147
312
 
148
313
  export declare type DatePickerVariant = "default" | "outlined" | "filled" | "ghost";
149
314
 
315
+ export declare function Divider({ label, orientation, dashed, spacing, className, }: DividerProps): JSX.Element;
316
+
317
+ export declare namespace Divider {
318
+ var displayName: string;
319
+ }
320
+
321
+ export declare type DividerOrientation = "horizontal" | "vertical";
322
+
323
+ export declare interface DividerProps {
324
+ label?: string;
325
+ orientation?: DividerOrientation;
326
+ dashed?: boolean;
327
+ spacing?: DividerSpacing;
328
+ className?: string;
329
+ }
330
+
331
+ export declare type DividerSpacing = "sm" | "md" | "lg";
332
+
333
+ export declare function Drawer({ open, onClose, title, children, side, size, footer, className, }: DrawerProps): JSX.Element | null;
334
+
335
+ export declare namespace Drawer {
336
+ var displayName: string;
337
+ }
338
+
339
+ export declare interface DrawerProps {
340
+ open: boolean;
341
+ onClose: () => void;
342
+ title?: string;
343
+ children: default_2.ReactNode;
344
+ side?: DrawerSide;
345
+ size?: DrawerSize;
346
+ footer?: default_2.ReactNode;
347
+ className?: string;
348
+ }
349
+
350
+ export declare type DrawerSide = "left" | "right" | "top" | "bottom";
351
+
352
+ export declare type DrawerSize = "sm" | "md" | "lg";
353
+
354
+ export declare const Dropdown: default_2.ForwardRefExoticComponent<DropdownProps & default_2.RefAttributes<HTMLDivElement>>;
355
+
356
+ export declare interface DropdownOption {
357
+ value: string;
358
+ label: string;
359
+ disabled?: boolean;
360
+ icon?: default_2.ReactNode;
361
+ avatar?: string;
362
+ description?: string;
363
+ group?: string;
364
+ }
365
+
366
+ export declare interface DropdownProps {
367
+ options: DropdownOption[];
368
+ value?: string | string[];
369
+ defaultValue?: string | string[];
370
+ onChange?: (value: string | string[]) => void;
371
+ placeholder?: string;
372
+ label?: string;
373
+ helperText?: string;
374
+ errorMessage?: string;
375
+ successMessage?: string;
376
+ size?: DropdownSize;
377
+ variant?: DropdownVariant;
378
+ state?: DropdownState;
379
+ disabled?: boolean;
380
+ loading?: boolean;
381
+ searchable?: boolean;
382
+ clearable?: boolean;
383
+ multiple?: boolean;
384
+ maxSelections?: number;
385
+ grouped?: boolean;
386
+ required?: boolean;
387
+ id?: string;
388
+ className?: string;
389
+ showSelectAll?: boolean;
390
+ tagLimit?: number;
391
+ creatable?: boolean;
392
+ onCreateOption?: (label: string) => void;
393
+ createLabel?: string;
394
+ emptyState?: default_2.ReactNode;
395
+ footer?: default_2.ReactNode;
396
+ onSearch?: (query: string) => void;
397
+ searchDebounce?: number;
398
+ searchLoading?: boolean;
399
+ renderOption?: (option: DropdownOption, isSelected: boolean) => default_2.ReactNode;
400
+ }
401
+
402
+ export declare type DropdownSize = "sm" | "md" | "lg";
403
+
404
+ export declare type DropdownState = "default" | "error" | "success" | "warning";
405
+
406
+ export declare type DropdownVariant = "default" | "outlined" | "filled" | "ghost";
407
+
150
408
  export declare const DSButton: default_2.ForwardRefExoticComponent<DSButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
151
409
 
152
410
  export declare interface DSButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -203,6 +461,42 @@ export declare interface DSTextareaProps extends Omit<default_2.TextareaHTMLAttr
203
461
  required?: boolean;
204
462
  }
205
463
 
464
+ export declare function EmptyState({ icon, title, description, action, secondaryAction, size, }: EmptyStateProps): JSX.Element;
465
+
466
+ export declare interface EmptyStateAction {
467
+ label: string;
468
+ onClick: () => void;
469
+ icon?: default_2.ReactNode;
470
+ }
471
+
472
+ export declare interface EmptyStateProps {
473
+ icon?: default_2.ReactNode;
474
+ title: string;
475
+ description?: string;
476
+ action?: EmptyStateAction;
477
+ secondaryAction?: {
478
+ label: string;
479
+ onClick: () => void;
480
+ };
481
+ size?: EmptyStateSize;
482
+ }
483
+
484
+ export declare type EmptyStateSize = "sm" | "md" | "lg";
485
+
486
+ export declare function FileUpload({ accept, maxSize, multiple, disabled, variant, label, description, }: FileUploadProps): JSX.Element;
487
+
488
+ export declare interface FileUploadProps {
489
+ accept?: string;
490
+ maxSize?: number;
491
+ multiple?: boolean;
492
+ disabled?: boolean;
493
+ variant?: FileUploadVariant;
494
+ label?: string;
495
+ description?: string;
496
+ }
497
+
498
+ export declare type FileUploadVariant = "dropzone" | "button" | "avatar";
499
+
206
500
  export declare const IconButton: default_2.ForwardRefExoticComponent<IconButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
207
501
 
208
502
  export declare interface IconButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -213,12 +507,65 @@ export declare interface IconButtonProps extends default_2.ButtonHTMLAttributes<
213
507
  "aria-label": string;
214
508
  }
215
509
 
510
+ export declare function ImagePreview({ images, initialIndex }: ImagePreviewProps): JSX.Element;
511
+
512
+ export declare interface ImagePreviewItem {
513
+ src: string;
514
+ alt: string;
515
+ thumbnail?: string;
516
+ }
517
+
518
+ export declare interface ImagePreviewProps {
519
+ images: ImagePreviewItem[];
520
+ initialIndex?: number;
521
+ }
522
+
216
523
  export declare type InputSize = "sm" | "md" | "lg";
217
524
 
218
525
  export declare type InputState = "default" | "error" | "success" | "warning";
219
526
 
220
527
  export declare type InputVariant = "default" | "outlined" | "filled" | "ghost";
221
528
 
529
+ export declare function Menu({ items, open, onClose, triggerRef, className }: MenuProps): default_2.ReactPortal | null;
530
+
531
+ export declare namespace Menu {
532
+ var displayName: string;
533
+ }
534
+
535
+ export declare interface MenuItem {
536
+ /** Display text */
537
+ text?: string;
538
+ /** Leading icon */
539
+ icon?: default_2.ReactNode;
540
+ /** Keyboard shortcut label */
541
+ shortcut?: string;
542
+ /** Click handler */
543
+ onClick?: () => void;
544
+ /** Render as a divider line */
545
+ divider?: boolean;
546
+ /** Render as a group label */
547
+ label?: string;
548
+ /** Destructive (red) styling */
549
+ destructive?: boolean;
550
+ /** Disabled state */
551
+ disabled?: boolean;
552
+ /** Nested sub-menu items */
553
+ children?: MenuItem[];
554
+ }
555
+
556
+ export declare interface MenuProps {
557
+ /** Menu item definitions */
558
+ items: MenuItem[];
559
+ /** Whether the menu is open */
560
+ open: boolean;
561
+ /** Close callback */
562
+ onClose: () => void;
563
+ /** Ref to the trigger element for positioning */
564
+ triggerRef: default_2.RefObject<HTMLElement | null>;
565
+ /** Additional class name */
566
+ className?: string;
567
+ }
568
+
222
569
  export declare function Modal({ open, onClose, title, description, size, children, footer, closeOnOverlay, showCloseButton, className, }: ModalProps): JSX.Element | null;
223
570
 
224
571
  declare interface ModalProps {
@@ -236,6 +583,41 @@ declare interface ModalProps {
236
583
 
237
584
  export declare type ModalSize = "sm" | "md" | "lg" | "xl" | "full";
238
585
 
586
+ declare function Notification_2({ type, title, message, closable, onClose, action, avatar, time, read, }: NotificationProps): JSX.Element;
587
+ export { Notification_2 as Notification }
588
+
589
+ export declare function NotificationCenter({ items }: NotificationCenterProps): JSX.Element;
590
+
591
+ export declare interface NotificationCenterItem {
592
+ id: string;
593
+ type: NotificationType;
594
+ title: string;
595
+ message?: string;
596
+ time: string;
597
+ read: boolean;
598
+ }
599
+
600
+ export declare interface NotificationCenterProps {
601
+ items: NotificationCenterItem[];
602
+ }
603
+
604
+ export declare interface NotificationProps {
605
+ type?: NotificationType;
606
+ title: string;
607
+ message?: string;
608
+ closable?: boolean;
609
+ onClose?: () => void;
610
+ action?: {
611
+ label: string;
612
+ onClick: () => void;
613
+ };
614
+ avatar?: string;
615
+ time?: string;
616
+ read?: boolean;
617
+ }
618
+
619
+ export declare type NotificationType = "info" | "success" | "warning" | "error";
620
+
239
621
  export declare function Pagination({ currentPage, totalPages, onPageChange, siblingCount, showFirstLast, showPrevNext, showPageSize, pageSizeOptions, pageSize, onPageSizeChange, totalItems, size, variant, disabled, showPageInfo, showItemsInfo, prevLabel, nextLabel, }: PaginationProps): JSX.Element;
240
622
 
241
623
  export declare interface PaginationProps {
@@ -281,6 +663,38 @@ export declare type PaginationSize = "sm" | "md" | "lg";
281
663
 
282
664
  export declare type PaginationVariant = "default" | "outlined" | "filled" | "minimal";
283
665
 
666
+ export declare function Popover({ trigger, children, placement, title, open: controlled, onOpenChange, }: PopoverProps): JSX.Element;
667
+
668
+ export declare type PopoverPlacement = "top" | "bottom" | "left" | "right";
669
+
670
+ export declare interface PopoverProps {
671
+ trigger: default_2.ReactNode;
672
+ children: default_2.ReactNode;
673
+ placement?: PopoverPlacement;
674
+ title?: string;
675
+ open?: boolean;
676
+ onOpenChange?: (v: boolean) => void;
677
+ }
678
+
679
+ export declare function ProgressBar({ value, max, size, color, label, showValue, indeterminate, className, }: ProgressBarProps): JSX.Element;
680
+
681
+ export declare namespace ProgressBar {
682
+ var displayName: string;
683
+ }
684
+
685
+ export declare interface ProgressBarProps {
686
+ value?: number;
687
+ max?: number;
688
+ size?: ProgressBarSize;
689
+ color?: string;
690
+ label?: string;
691
+ showValue?: boolean;
692
+ indeterminate?: boolean;
693
+ className?: string;
694
+ }
695
+
696
+ export declare type ProgressBarSize = "sm" | "md" | "lg";
697
+
284
698
  export declare function RadioGroup({ name, value: controlled, defaultValue, onChange, label, size, disabled, direction, children, error, className, }: RadioGroupProps): JSX.Element;
285
699
 
286
700
  declare interface RadioGroupProps {
@@ -308,6 +722,24 @@ declare interface RadioProps {
308
722
 
309
723
  export declare type RadioSize = "sm" | "md" | "lg";
310
724
 
725
+ export declare function Rating({ value, onChange, max, size, disabled, readOnly, icon, showValue, label, }: RatingProps): JSX.Element;
726
+
727
+ export declare type RatingIcon = "star" | "heart" | "thumb";
728
+
729
+ export declare interface RatingProps {
730
+ value?: number;
731
+ onChange?: (v: number) => void;
732
+ max?: number;
733
+ size?: RatingSize;
734
+ disabled?: boolean;
735
+ readOnly?: boolean;
736
+ icon?: RatingIcon;
737
+ showValue?: boolean;
738
+ label?: string;
739
+ }
740
+
741
+ export declare type RatingSize = "sm" | "md" | "lg";
742
+
311
743
  export declare function SearchField({ value: controlled, onChange, onSearch, placeholder, size, variant, loading, suggestions, onSuggestionSelect, clearable, disabled, autoFocus, debounce, className, }: SearchFieldProps): JSX.Element;
312
744
 
313
745
  declare interface SearchFieldProps {
@@ -338,6 +770,166 @@ declare interface SearchSuggestion {
338
770
 
339
771
  export declare type SearchVariant = "default" | "outlined" | "filled";
340
772
 
773
+ export declare function Sidebar({ brand, groups, activeItem, onNavigate, collapsed, onCollapsedChange, className, }: SidebarProps): JSX.Element;
774
+
775
+ export declare namespace Sidebar {
776
+ var displayName: string;
777
+ }
778
+
779
+ export declare interface SidebarBrand {
780
+ /** Brand name */
781
+ name: string;
782
+ /** Brand logo URL */
783
+ logo?: string;
784
+ }
785
+
786
+ export declare interface SidebarGroup {
787
+ /** Group label (displayed as uppercase header) */
788
+ label: string;
789
+ /** Items in this group */
790
+ items: SidebarItem[];
791
+ }
792
+
793
+ export declare interface SidebarItem {
794
+ /** Unique item identifier */
795
+ id: string;
796
+ /** Display label */
797
+ label: string;
798
+ /** Leading icon */
799
+ icon?: default_2.ReactNode;
800
+ /** Badge text (e.g., count) */
801
+ badge?: string;
802
+ }
803
+
804
+ export declare interface SidebarProps {
805
+ /** Brand card in header */
806
+ brand?: SidebarBrand;
807
+ /** Navigation groups */
808
+ groups: SidebarGroup[];
809
+ /** Active item ID */
810
+ activeItem?: string;
811
+ /** Navigation callback */
812
+ onNavigate?: (item: SidebarItem) => void;
813
+ /** Collapse to icon-only mode */
814
+ collapsed?: boolean;
815
+ /** Toggle collapse callback */
816
+ onCollapsedChange?: (collapsed: boolean) => void;
817
+ /** Sidebar width (default: 256px) */
818
+ width?: string;
819
+ /** Additional class name */
820
+ className?: string;
821
+ }
822
+
823
+ export declare function Skeleton({ width, height, variant, animate, className, }: SkeletonProps): JSX.Element;
824
+
825
+ export declare function SkeletonCard(): JSX.Element;
826
+
827
+ export declare function SkeletonList(): JSX.Element;
828
+
829
+ export declare interface SkeletonProps {
830
+ width?: string | number;
831
+ height?: string | number;
832
+ variant?: SkeletonVariant;
833
+ animate?: boolean;
834
+ className?: string;
835
+ }
836
+
837
+ export declare function SkeletonTable(): JSX.Element;
838
+
839
+ export declare type SkeletonVariant = "text" | "rectangular" | "circular" | "rounded";
840
+
841
+ export declare function Spinner({ size, color, className }: SpinnerProps): JSX.Element;
842
+
843
+ export declare namespace Spinner {
844
+ var displayName: string;
845
+ }
846
+
847
+ export declare interface SpinnerProps {
848
+ /** Spinner size */
849
+ size?: SpinnerSize;
850
+ /** Spinner color (CSS value) */
851
+ color?: string;
852
+ /** Additional class name */
853
+ className?: string;
854
+ }
855
+
856
+ export declare type SpinnerSize = "sm" | "md" | "lg" | "xl";
857
+
858
+ export declare function StatCard({ title, value, prefix, trend, trendLabel, icon, iconBg, }: StatCardProps): JSX.Element;
859
+
860
+ export declare interface StatCardProps {
861
+ title: string;
862
+ value: string | number;
863
+ prefix?: default_2.ReactNode;
864
+ trend?: StatisticTrend;
865
+ trendLabel?: string;
866
+ icon?: default_2.ReactNode;
867
+ iconBg?: string;
868
+ }
869
+
870
+ export declare function Statistic({ title, value, prefix, suffix, trend, trendLabel, icon, size, loading, }: StatisticProps): JSX.Element;
871
+
872
+ export declare interface StatisticProps {
873
+ title: string;
874
+ value: string | number;
875
+ prefix?: default_2.ReactNode;
876
+ suffix?: string;
877
+ trend?: StatisticTrend;
878
+ trendLabel?: string;
879
+ icon?: default_2.ReactNode;
880
+ size?: StatisticSize;
881
+ loading?: boolean;
882
+ }
883
+
884
+ export declare type StatisticSize = "sm" | "md" | "lg";
885
+
886
+ export declare interface StatisticTrend {
887
+ value: number;
888
+ direction: "up" | "down" | "neutral";
889
+ }
890
+
891
+ export declare interface StepDefinition {
892
+ /** Step title */
893
+ title: string;
894
+ /** Optional step description */
895
+ description?: string;
896
+ }
897
+
898
+ export declare function Stepper({ steps, current, orientation, onStepClick, className, }: StepperProps): JSX.Element;
899
+
900
+ export declare namespace Stepper {
901
+ var displayName: string;
902
+ }
903
+
904
+ export declare interface StepperProps {
905
+ /** Step definitions */
906
+ steps: StepDefinition[];
907
+ /** Current active step (0-based) */
908
+ current: number;
909
+ /** Layout direction */
910
+ orientation?: "horizontal" | "vertical";
911
+ /** Step click handler (for navigating to completed steps) */
912
+ onStepClick?: (index: number) => void;
913
+ /** Additional class name */
914
+ className?: string;
915
+ }
916
+
917
+ export declare function Switch({ checked, onChange, label, description, size, disabled, color, }: SwitchProps): JSX.Element;
918
+
919
+ export declare type SwitchColor = "primary" | "success" | "warning" | "destructive";
920
+
921
+ export declare interface SwitchProps {
922
+ checked: boolean;
923
+ onChange: (v: boolean) => void;
924
+ label?: string;
925
+ description?: string;
926
+ size?: SwitchSize;
927
+ disabled?: boolean;
928
+ color?: SwitchColor;
929
+ }
930
+
931
+ export declare type SwitchSize = "sm" | "md" | "lg";
932
+
341
933
  export declare interface TabItem {
342
934
  id: string;
343
935
  label: string;
@@ -391,6 +983,81 @@ declare interface TabsProps {
391
983
 
392
984
  export declare type TabVariant = "default" | "bordered" | "pills" | "underline";
393
985
 
986
+ export declare function Tag({ children, color, size, icon, closable, onClose, className, }: TagProps): JSX.Element;
987
+
988
+ export declare namespace Tag {
989
+ var displayName: string;
990
+ }
991
+
992
+ export declare type TagColor = "default" | "primary" | "success" | "warning" | "destructive" | "info";
993
+
994
+ export declare function TagInput({ tags, onChange, placeholder, disabled, maxTags, variant, className, }: TagInputProps): JSX.Element;
995
+
996
+ export declare namespace TagInput {
997
+ var displayName: string;
998
+ }
999
+
1000
+ export declare interface TagInputProps {
1001
+ /** Array of tag values */
1002
+ tags: string[];
1003
+ /** Callback when tags change */
1004
+ onChange: (tags: string[]) => void;
1005
+ /** Input placeholder text */
1006
+ placeholder?: string;
1007
+ /** Disable input */
1008
+ disabled?: boolean;
1009
+ /** Maximum number of tags */
1010
+ maxTags?: number;
1011
+ /** Visual variant */
1012
+ variant?: TagInputVariant;
1013
+ /** Additional class name */
1014
+ className?: string;
1015
+ }
1016
+
1017
+ export declare type TagInputVariant = "default" | "outline" | "filled";
1018
+
1019
+ export declare interface TagProps {
1020
+ /** Tag content */
1021
+ children: default_2.ReactNode;
1022
+ /** Color variant */
1023
+ color?: TagColor;
1024
+ /** Tag size */
1025
+ size?: TagSize;
1026
+ /** Leading icon element */
1027
+ icon?: default_2.ReactNode;
1028
+ /** Show close button */
1029
+ closable?: boolean;
1030
+ /** Close callback */
1031
+ onClose?: () => void;
1032
+ /** Additional class name */
1033
+ className?: string;
1034
+ }
1035
+
1036
+ export declare type TagSize = "sm" | "md" | "lg";
1037
+
1038
+ export declare function Timeline({ items, variant, size, }: TimelineProps): JSX.Element;
1039
+
1040
+ export declare interface TimelineItem {
1041
+ title: string;
1042
+ description?: string;
1043
+ time?: string;
1044
+ icon?: default_2.ReactNode;
1045
+ status?: TimelineItemStatus;
1046
+ children?: default_2.ReactNode;
1047
+ }
1048
+
1049
+ export declare type TimelineItemStatus = "completed" | "current" | "pending" | "error";
1050
+
1051
+ export declare interface TimelineProps {
1052
+ items: TimelineItem[];
1053
+ variant?: TimelineVariant;
1054
+ size?: TimelineSize;
1055
+ }
1056
+
1057
+ export declare type TimelineSize = "sm" | "md" | "lg";
1058
+
1059
+ export declare type TimelineVariant = "default" | "alternate" | "compact";
1060
+
394
1061
  export declare const toast: {
395
1062
  show: (opts: Omit<ToastData, "id">) => void;
396
1063
  info: (message: string, title?: string) => void;
@@ -410,4 +1077,116 @@ declare interface ToastData {
410
1077
  duration?: number;
411
1078
  }
412
1079
 
1080
+ export declare function Tooltip({ children, content, placement, className, }: TooltipProps): JSX.Element;
1081
+
1082
+ export declare namespace Tooltip {
1083
+ var displayName: string;
1084
+ }
1085
+
1086
+ export declare type TooltipPlacement = "top" | "bottom" | "left" | "right";
1087
+
1088
+ export declare interface TooltipProps {
1089
+ /** Trigger element */
1090
+ children: default_2.ReactNode;
1091
+ /** Tooltip content */
1092
+ content: string;
1093
+ /** Tooltip position */
1094
+ placement?: TooltipPlacement;
1095
+ /** Additional class name for the wrapper */
1096
+ className?: string;
1097
+ }
1098
+
1099
+ export declare function TopNavbar({ brand, breadcrumbs, actions, user, height, showSearch, searchPlaceholder, onSearchClick, notificationCount, onNotificationClick, onMobileMenuClick, onUserClick, onBreadcrumbClick, className, }: TopNavbarProps): JSX.Element;
1100
+
1101
+ export declare namespace TopNavbar {
1102
+ var displayName: string;
1103
+ }
1104
+
1105
+ export declare interface TopNavbarBrand {
1106
+ /** Brand name */
1107
+ name: string;
1108
+ /** Logo URL or ReactNode */
1109
+ logo?: string | default_2.ReactNode;
1110
+ }
1111
+
1112
+ export declare interface TopNavbarProps {
1113
+ /** Brand logo and name */
1114
+ brand?: TopNavbarBrand;
1115
+ /** Breadcrumb items */
1116
+ breadcrumbs?: BreadcrumbItem_2[];
1117
+ /** Right-side action area */
1118
+ actions?: default_2.ReactNode;
1119
+ /** User avatar */
1120
+ user?: TopNavbarUser;
1121
+ /** Navbar height */
1122
+ height?: string;
1123
+ /** Show search bar */
1124
+ showSearch?: boolean;
1125
+ /** Search placeholder text */
1126
+ searchPlaceholder?: string;
1127
+ /** Search click handler */
1128
+ onSearchClick?: () => void;
1129
+ /** Notification count (0 = hidden) */
1130
+ notificationCount?: number;
1131
+ /** Notification click handler */
1132
+ onNotificationClick?: () => void;
1133
+ /** Mobile menu click handler */
1134
+ onMobileMenuClick?: () => void;
1135
+ /** User click handler */
1136
+ onUserClick?: () => void;
1137
+ /** Breadcrumb click handler */
1138
+ onBreadcrumbClick?: (item: BreadcrumbItem_2, index: number) => void;
1139
+ /** Additional class name */
1140
+ className?: string;
1141
+ }
1142
+
1143
+ export declare interface TopNavbarUser {
1144
+ /** User display name */
1145
+ name: string;
1146
+ /** Avatar image URL */
1147
+ avatar?: string;
1148
+ }
1149
+
1150
+ export declare interface TransferItem {
1151
+ id: string;
1152
+ label: string;
1153
+ disabled?: boolean;
1154
+ }
1155
+
1156
+ export declare function TransferList({ sourceTitle, targetTitle, items, defaultTarget, searchable, }: TransferListProps): JSX.Element;
1157
+
1158
+ export declare interface TransferListProps {
1159
+ sourceTitle?: string;
1160
+ targetTitle?: string;
1161
+ items: TransferItem[];
1162
+ defaultTarget?: string[];
1163
+ searchable?: boolean;
1164
+ }
1165
+
1166
+ export declare function Tree({ data, selectable, showLines, defaultExpanded, }: TreeProps): JSX.Element;
1167
+
1168
+ export declare interface TreeNode {
1169
+ id: string;
1170
+ label: string;
1171
+ icon?: default_2.ReactNode;
1172
+ children?: TreeNode[];
1173
+ disabled?: boolean;
1174
+ }
1175
+
1176
+ export declare interface TreeProps {
1177
+ data: TreeNode[];
1178
+ selectable?: boolean;
1179
+ showLines?: boolean;
1180
+ defaultExpanded?: string[];
1181
+ }
1182
+
1183
+ export declare interface UploadedFile {
1184
+ id: string;
1185
+ name: string;
1186
+ size: number;
1187
+ type: string;
1188
+ progress: number;
1189
+ status: "uploading" | "done" | "error";
1190
+ }
1191
+
413
1192
  export { }