@clarlabs/ui 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -28,6 +28,51 @@ export declare interface AlertProps {
28
28
 
29
29
  export declare type AlertVariant = 'info' | 'success' | 'warning' | 'error';
30
30
 
31
+ declare const Audio_2: default_2.ForwardRefExoticComponent<AudioProps & default_2.RefAttributes<HTMLAudioElement>>;
32
+ export { Audio_2 as Audio }
33
+
34
+ export declare interface AudioProps extends Omit<default_2.AudioHTMLAttributes<HTMLAudioElement>, 'className'> {
35
+ /** Audio source URL */
36
+ src: string;
37
+ /** Alternative sources for different formats */
38
+ sources?: {
39
+ src: string;
40
+ type: string;
41
+ }[];
42
+ /** Title/name of the audio track */
43
+ title?: string;
44
+ /** Artist or creator name */
45
+ artist?: string;
46
+ /** Album or collection name */
47
+ album?: string;
48
+ /** Cover art/thumbnail URL */
49
+ coverArt?: string;
50
+ /** Variant style of the player */
51
+ variant?: AudioVariant;
52
+ /** Whether to show native controls */
53
+ controls?: boolean;
54
+ /** Whether to autoplay the audio */
55
+ autoPlay?: boolean;
56
+ /** Whether to loop the audio */
57
+ loop?: boolean;
58
+ /** Whether to mute the audio */
59
+ muted?: boolean;
60
+ /** Whether to preload the audio */
61
+ preload?: 'none' | 'metadata' | 'auto';
62
+ /** Custom className for the container */
63
+ className?: string;
64
+ /** Error callback */
65
+ onError?: (error: default_2.SyntheticEvent<HTMLAudioElement>) => void;
66
+ /** Play callback */
67
+ onPlay?: () => void;
68
+ /** Pause callback */
69
+ onPause?: () => void;
70
+ /** Ended callback */
71
+ onEnded?: () => void;
72
+ }
73
+
74
+ export declare type AudioVariant = 'minimal' | 'standard' | 'detailed';
75
+
31
76
  export declare function Avatar({ src, alt, initials, size, status, className }: AvatarProps): default_2.JSX.Element;
32
77
 
33
78
  export declare interface AvatarProps {
@@ -114,6 +159,37 @@ export declare interface CheckboxProps extends Omit<default_2.InputHTMLAttribute
114
159
  indeterminate?: boolean;
115
160
  }
116
161
 
162
+ export declare type ColorFormat = 'hex' | 'rgb' | 'hsl';
163
+
164
+ export declare function ColorPicker({ value: controlledValue, defaultValue, onChange, format, label, disabled, showPresets, presets, showAlpha, className, helperText, error }: ColorPickerProps): default_2.JSX.Element;
165
+
166
+ export declare interface ColorPickerProps {
167
+ /** Current color value */
168
+ value?: string;
169
+ /** Default color value */
170
+ defaultValue?: string;
171
+ /** Callback when color changes */
172
+ onChange?: (color: string) => void;
173
+ /** Color format */
174
+ format?: ColorFormat;
175
+ /** Label for the picker */
176
+ label?: string;
177
+ /** Whether the picker is disabled */
178
+ disabled?: boolean;
179
+ /** Show preset colors */
180
+ showPresets?: boolean;
181
+ /** Custom preset colors */
182
+ presets?: string[];
183
+ /** Show alpha channel */
184
+ showAlpha?: boolean;
185
+ /** Custom className */
186
+ className?: string;
187
+ /** Helper text */
188
+ helperText?: string;
189
+ /** Error message */
190
+ error?: string;
191
+ }
192
+
117
193
  export declare function Combobox({ options, value: controlledValue, defaultValue, onChange, placeholder, disabled, className, allowCustomValue, filterFunction }: ComboboxProps): default_2.JSX.Element;
118
194
 
119
195
  export declare interface ComboboxOption {
@@ -134,6 +210,61 @@ export declare interface ComboboxProps {
134
210
  filterFunction?: (option: ComboboxOption, searchTerm: string) => boolean;
135
211
  }
136
212
 
213
+ export declare function Container({ size, padding, centered, fluid, className, children, ...props }: ContainerProps): default_2.JSX.Element;
214
+
215
+ export declare type ContainerPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
216
+
217
+ export declare interface ContainerProps extends default_2.HTMLAttributes<HTMLDivElement> {
218
+ /** Maximum width of the container */
219
+ size?: ContainerSize;
220
+ /** Padding on the sides */
221
+ padding?: ContainerPadding;
222
+ /** Whether to center the container */
223
+ centered?: boolean;
224
+ /** Whether the container should be fluid (no max-width) */
225
+ fluid?: boolean;
226
+ /** Custom className */
227
+ className?: string;
228
+ /** Children */
229
+ children: default_2.ReactNode;
230
+ }
231
+
232
+ export declare type ContainerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
233
+
234
+ export declare function ContextMenu({ items, children, className, disabled }: ContextMenuProps): default_2.JSX.Element;
235
+
236
+ export declare interface ContextMenuItem {
237
+ /** Unique identifier */
238
+ id: string;
239
+ /** Label to display */
240
+ label: string;
241
+ /** Icon element */
242
+ icon?: default_2.ReactNode;
243
+ /** Callback when item is clicked */
244
+ onClick?: () => void;
245
+ /** Whether the item is disabled */
246
+ disabled?: boolean;
247
+ /** Separator after this item */
248
+ separator?: boolean;
249
+ /** Keyboard shortcut to display */
250
+ shortcut?: string;
251
+ /** Danger variant (red styling) */
252
+ danger?: boolean;
253
+ /** Submenu items */
254
+ submenu?: ContextMenuItem[];
255
+ }
256
+
257
+ export declare interface ContextMenuProps {
258
+ /** Menu items */
259
+ items: ContextMenuItem[];
260
+ /** Trigger element */
261
+ children: default_2.ReactNode;
262
+ /** Custom className */
263
+ className?: string;
264
+ /** Disabled state */
265
+ disabled?: boolean;
266
+ }
267
+
137
268
  export declare function Datagrid<T extends Record<string, any>>({ columns, data, onRowClick, striped, hoverable, className }: DatagridProps<T>): default_2.JSX.Element;
138
269
 
139
270
  export declare interface DatagridColumn<T = any> {
@@ -152,6 +283,52 @@ export declare interface DatagridProps<T = any> {
152
283
  className?: string;
153
284
  }
154
285
 
286
+ export declare function DataList({ items, orientation, size, dividers, boldLabels, className, labelWidth, striped, onCopy }: DataListProps): default_2.JSX.Element;
287
+
288
+ export declare interface DataListItem {
289
+ /** Unique identifier */
290
+ id: string;
291
+ /** Label/key to display */
292
+ label: string;
293
+ /** Value to display */
294
+ value: default_2.ReactNode;
295
+ /** Optional icon */
296
+ icon?: default_2.ReactNode;
297
+ /** Optional help text for the label */
298
+ helpText?: string;
299
+ /** Custom className for the item */
300
+ className?: string;
301
+ /** Highlight this item */
302
+ highlight?: boolean;
303
+ /** Make the value copyable */
304
+ copyable?: boolean;
305
+ }
306
+
307
+ export declare type DataListOrientation = 'horizontal' | 'vertical';
308
+
309
+ export declare interface DataListProps {
310
+ /** List of items to display */
311
+ items: DataListItem[];
312
+ /** Orientation of the list */
313
+ orientation?: DataListOrientation;
314
+ /** Size variant */
315
+ size?: DataListSize;
316
+ /** Show dividers between items */
317
+ dividers?: boolean;
318
+ /** Make labels bold */
319
+ boldLabels?: boolean;
320
+ /** Custom className */
321
+ className?: string;
322
+ /** Custom label width (for horizontal orientation) */
323
+ labelWidth?: string;
324
+ /** Striped rows */
325
+ striped?: boolean;
326
+ /** Callback when a copyable value is copied */
327
+ onCopy?: (item: DataListItem) => void;
328
+ }
329
+
330
+ export declare type DataListSize = 'sm' | 'md' | 'lg';
331
+
155
332
  export declare function DatePicker({ value, onChange, minDate, maxDate, className, ...props }: DatePickerProps): default_2.JSX.Element;
156
333
 
157
334
  export declare interface DatePickerProps extends Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'type' | 'value' | 'onChange'> {
@@ -227,6 +404,134 @@ export declare interface FilePickerProps {
227
404
 
228
405
  export declare type FileStatus = 'idle' | 'processing' | 'uploaded' | 'failed';
229
406
 
407
+ export declare interface GalleryImage {
408
+ /** Unique identifier */
409
+ id: string;
410
+ /** Image source URL */
411
+ src: string;
412
+ /** Alt text for accessibility */
413
+ alt: string;
414
+ /** Optional caption */
415
+ caption?: string;
416
+ /** Optional thumbnail (for performance) */
417
+ thumbnail?: string;
418
+ /** Optional title */
419
+ title?: string;
420
+ }
421
+
422
+ export declare function Gauge({ value, min, max, size, variant, thickness, label, showValue, valueFormatter, showMinMax, startAngle, endAngle, animate, className, unit }: GaugeProps): default_2.JSX.Element;
423
+
424
+ export declare interface GaugeProps {
425
+ /** Current value */
426
+ value: number;
427
+ /** Minimum value */
428
+ min?: number;
429
+ /** Maximum value */
430
+ max?: number;
431
+ /** Size of the gauge */
432
+ size?: GaugeSize;
433
+ /** Visual variant (color scheme) */
434
+ variant?: GaugeVariant;
435
+ /** Thickness of the gauge arc */
436
+ thickness?: number;
437
+ /** Label to display in the center */
438
+ label?: string;
439
+ /** Show the numeric value */
440
+ showValue?: boolean;
441
+ /** Custom value formatter */
442
+ valueFormatter?: (value: number) => string;
443
+ /** Show min/max labels */
444
+ showMinMax?: boolean;
445
+ /** Start angle in degrees (0 = top, 90 = right) */
446
+ startAngle?: number;
447
+ /** End angle in degrees */
448
+ endAngle?: number;
449
+ /** Whether to animate the gauge */
450
+ animate?: boolean;
451
+ /** Custom className */
452
+ className?: string;
453
+ /** Unit to display after the value */
454
+ unit?: string;
455
+ }
456
+
457
+ export declare type GaugeSize = 'sm' | 'md' | 'lg' | 'xl';
458
+
459
+ export declare type GaugeVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
460
+
461
+ export declare function Grid({ columns, columnsSm, columnsMd, columnsLg, columnsXl, gap, rowGap, columnGap, alignItems, justifyItems, justifyContent, autoFlow, className, children, ...props }: GridProps): default_2.JSX.Element;
462
+
463
+ export declare namespace Grid {
464
+ var Item: typeof GridItem;
465
+ }
466
+
467
+ export declare type GridAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
468
+
469
+ export declare type GridColumns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
470
+
471
+ export declare type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
472
+
473
+ export declare function GridItem({ colSpan, colSpanSm, colSpanMd, colSpanLg, colSpanXl, rowSpan, colStart, colEnd, rowStart, rowEnd, className, children, ...props }: GridItemProps): default_2.JSX.Element;
474
+
475
+ export declare interface GridItemProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'className'> {
476
+ /** Column span (1-12) */
477
+ colSpan?: GridColumns | 'full';
478
+ /** Column span on small screens */
479
+ colSpanSm?: GridColumns | 'full';
480
+ /** Column span on medium screens */
481
+ colSpanMd?: GridColumns | 'full';
482
+ /** Column span on large screens */
483
+ colSpanLg?: GridColumns | 'full';
484
+ /** Column span on extra large screens */
485
+ colSpanXl?: GridColumns | 'full';
486
+ /** Row span */
487
+ rowSpan?: number;
488
+ /** Column start position */
489
+ colStart?: number;
490
+ /** Column end position */
491
+ colEnd?: number;
492
+ /** Row start position */
493
+ rowStart?: number;
494
+ /** Row end position */
495
+ rowEnd?: number;
496
+ /** Custom className */
497
+ className?: string;
498
+ /** Children */
499
+ children?: default_2.ReactNode;
500
+ }
501
+
502
+ export declare type GridJustify = 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
503
+
504
+ export declare interface GridProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'className'> {
505
+ /** Number of columns (1-12) */
506
+ columns?: GridColumns;
507
+ /** Number of columns on small screens (mobile) */
508
+ columnsSm?: GridColumns;
509
+ /** Number of columns on medium screens (tablet) */
510
+ columnsMd?: GridColumns;
511
+ /** Number of columns on large screens (desktop) */
512
+ columnsLg?: GridColumns;
513
+ /** Number of columns on extra large screens */
514
+ columnsXl?: GridColumns;
515
+ /** Gap between grid items */
516
+ gap?: GridGap;
517
+ /** Row gap between grid items */
518
+ rowGap?: GridGap;
519
+ /** Column gap between grid items */
520
+ columnGap?: GridGap;
521
+ /** Align items along the cross axis */
522
+ alignItems?: GridAlign;
523
+ /** Justify items along the main axis */
524
+ justifyItems?: GridAlign;
525
+ /** Justify content along the main axis */
526
+ justifyContent?: GridJustify;
527
+ /** Whether grid items should auto-flow */
528
+ autoFlow?: 'row' | 'column' | 'dense' | 'row-dense' | 'column-dense';
529
+ /** Custom className */
530
+ className?: string;
531
+ /** Children */
532
+ children: default_2.ReactNode;
533
+ }
534
+
230
535
  export declare function Header({ logo, title, children, actions, sticky, className }: HeaderProps): default_2.JSX.Element;
231
536
 
232
537
  export declare interface HeaderProps {
@@ -238,6 +543,47 @@ export declare interface HeaderProps {
238
543
  className?: string;
239
544
  }
240
545
 
546
+ export declare function ImageGallery({ images, variant, size, initialIndex, showThumbnails, showCaptions, autoPlay, columns, gap, lightbox, className, onImageClick, onIndexChange, showArrows, showIndicators, infinite }: ImageGalleryProps): default_2.JSX.Element;
547
+
548
+ export declare interface ImageGalleryProps {
549
+ /** Array of images to display */
550
+ images: GalleryImage[];
551
+ /** Gallery variant */
552
+ variant?: ImageGalleryVariant;
553
+ /** Size variant */
554
+ size?: ImageGallerySize;
555
+ /** Initial image index (for carousel) */
556
+ initialIndex?: number;
557
+ /** Show thumbnails (carousel only) */
558
+ showThumbnails?: boolean;
559
+ /** Show captions */
560
+ showCaptions?: boolean;
561
+ /** Auto-play interval in ms (carousel only, 0 to disable) */
562
+ autoPlay?: number;
563
+ /** Grid columns (grid/masonry only) */
564
+ columns?: number;
565
+ /** Gap between images */
566
+ gap?: number;
567
+ /** Enable lightbox on click */
568
+ lightbox?: boolean;
569
+ /** Custom className */
570
+ className?: string;
571
+ /** Callback when image is clicked */
572
+ onImageClick?: (image: GalleryImage, index: number) => void;
573
+ /** Callback when current index changes (carousel only) */
574
+ onIndexChange?: (index: number) => void;
575
+ /** Show navigation arrows */
576
+ showArrows?: boolean;
577
+ /** Show indicators/dots */
578
+ showIndicators?: boolean;
579
+ /** Enable infinite loop */
580
+ infinite?: boolean;
581
+ }
582
+
583
+ export declare type ImageGallerySize = 'sm' | 'md' | 'lg';
584
+
585
+ export declare type ImageGalleryVariant = 'carousel' | 'grid' | 'masonry';
586
+
241
587
  export declare const Input: default_2.ForwardRefExoticComponent<InputProps & default_2.RefAttributes<HTMLInputElement>>;
242
588
 
243
589
  export declare interface InputProps extends Omit<default_2.InputHTMLAttributes<HTMLInputElement>, 'size'> {
@@ -324,6 +670,51 @@ export declare interface PaginationProps {
324
670
  className?: string;
325
671
  }
326
672
 
673
+ export declare function PinInput({ length, type, size, variant, mask, autoFocus, disabled, placeholder, label, error, helperText, onChange, onComplete, value: controlledValue, defaultValue, selectOnFocus, className }: PinInputProps): default_2.JSX.Element;
674
+
675
+ export declare interface PinInputProps {
676
+ /** Number of input fields */
677
+ length?: number;
678
+ /** Type of characters allowed */
679
+ type?: PinInputType;
680
+ /** Size of the input fields */
681
+ size?: PinInputSize;
682
+ /** Variant style */
683
+ variant?: PinInputVariant;
684
+ /** Whether to mask the input (show dots) */
685
+ mask?: boolean;
686
+ /** Whether to focus on mount */
687
+ autoFocus?: boolean;
688
+ /** Whether the input is disabled */
689
+ disabled?: boolean;
690
+ /** Placeholder character */
691
+ placeholder?: string;
692
+ /** Label for the input */
693
+ label?: string;
694
+ /** Error message */
695
+ error?: string;
696
+ /** Helper text */
697
+ helperText?: string;
698
+ /** Callback when value changes */
699
+ onChange?: (value: string) => void;
700
+ /** Callback when all fields are filled */
701
+ onComplete?: (value: string) => void;
702
+ /** Value (controlled) */
703
+ value?: string;
704
+ /** Default value (uncontrolled) */
705
+ defaultValue?: string;
706
+ /** Whether to select input content on focus */
707
+ selectOnFocus?: boolean;
708
+ /** Custom className */
709
+ className?: string;
710
+ }
711
+
712
+ export declare type PinInputSize = 'sm' | 'md' | 'lg';
713
+
714
+ export declare type PinInputType = 'numeric' | 'alphanumeric' | 'alphabetic';
715
+
716
+ export declare type PinInputVariant = 'default' | 'error' | 'success';
717
+
327
718
  export declare function ProgressBar({ value, max, variant, size, showLabel, label, animated, striped, className }: ProgressBarProps): default_2.JSX.Element;
328
719
 
329
720
  export declare interface ProgressBarProps {
@@ -366,6 +757,47 @@ export declare interface RangeInputProps extends Omit<default_2.InputHTMLAttribu
366
757
  onChange?: (event: default_2.ChangeEvent<HTMLInputElement>) => void;
367
758
  }
368
759
 
760
+ export declare function Rating({ value: controlledValue, defaultValue, max, precision, size, readOnly, disabled, label, showValue, emptyIcon, filledIcon, halfIcon, onChange, onHoverChange, className, helperText }: RatingProps): default_2.JSX.Element;
761
+
762
+ export declare type RatingPrecision = 0.5 | 1;
763
+
764
+ export declare interface RatingProps {
765
+ /** Current rating value */
766
+ value?: number;
767
+ /** Default value (uncontrolled) */
768
+ defaultValue?: number;
769
+ /** Maximum rating value */
770
+ max?: number;
771
+ /** Precision of the rating (0.5 for half stars, 1 for full stars) */
772
+ precision?: RatingPrecision;
773
+ /** Size of the rating stars */
774
+ size?: RatingSize;
775
+ /** Whether the rating is read-only */
776
+ readOnly?: boolean;
777
+ /** Whether the rating is disabled */
778
+ disabled?: boolean;
779
+ /** Label for the rating */
780
+ label?: string;
781
+ /** Show the numeric value */
782
+ showValue?: boolean;
783
+ /** Custom empty icon */
784
+ emptyIcon?: default_2.ReactNode;
785
+ /** Custom filled icon */
786
+ filledIcon?: default_2.ReactNode;
787
+ /** Custom half icon (for half star precision) */
788
+ halfIcon?: default_2.ReactNode;
789
+ /** Callback when value changes */
790
+ onChange?: (value: number) => void;
791
+ /** Callback when hover value changes */
792
+ onHoverChange?: (value: number) => void;
793
+ /** Custom className */
794
+ className?: string;
795
+ /** Helper text */
796
+ helperText?: string;
797
+ }
798
+
799
+ export declare type RatingSize = 'sm' | 'md' | 'lg';
800
+
369
801
  export declare function RichSelect({ options, value, onChange, placeholder, disabled, searchable, className }: RichSelectProps): default_2.JSX.Element;
370
802
 
371
803
  export declare interface RichSelectOption {
@@ -386,6 +818,29 @@ export declare interface RichSelectProps {
386
818
  className?: string;
387
819
  }
388
820
 
821
+ export declare const Select: default_2.ForwardRefExoticComponent<SelectProps & default_2.RefAttributes<HTMLSelectElement>>;
822
+
823
+ export declare interface SelectOption {
824
+ value: string;
825
+ label: string;
826
+ disabled?: boolean;
827
+ }
828
+
829
+ export declare interface SelectProps extends Omit<default_2.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
830
+ label?: string;
831
+ error?: string;
832
+ helperText?: string;
833
+ size?: SelectSize;
834
+ variant?: SelectVariant;
835
+ fullWidth?: boolean;
836
+ options: SelectOption[];
837
+ placeholder?: string;
838
+ }
839
+
840
+ export declare type SelectSize = 'sm' | 'md' | 'lg';
841
+
842
+ export declare type SelectVariant = 'default' | 'error' | 'success';
843
+
389
844
  export declare function SidePanel({ isOpen, onClose, title, children, footer, position, size, closeOnOverlayClick, showCloseButton, className }: SidePanelProps): default_2.JSX.Element | null;
390
845
 
391
846
  export declare type SidePanelPosition = 'left' | 'right';
@@ -416,6 +871,58 @@ export declare interface SignpostProps {
416
871
  className?: string;
417
872
  }
418
873
 
874
+ export declare function Skeleton({ variant, width, height, animation, className, lines, ...props }: SkeletonProps): default_2.JSX.Element;
875
+
876
+ export declare namespace Skeleton {
877
+ var Text: typeof SkeletonText;
878
+ var Circle: typeof SkeletonCircle;
879
+ var Rectangle: typeof SkeletonRectangle;
880
+ }
881
+
882
+ export declare type SkeletonAnimation = 'pulse' | 'wave' | 'none';
883
+
884
+ export declare function SkeletonCircle({ size, ...props }: Omit<SkeletonProps, 'variant' | 'width' | 'height'> & {
885
+ size?: number;
886
+ }): default_2.JSX.Element;
887
+
888
+ export declare interface SkeletonProps extends default_2.HTMLAttributes<HTMLDivElement> {
889
+ /** Variant of the skeleton */
890
+ variant?: SkeletonVariant;
891
+ /** Width of the skeleton */
892
+ width?: string | number;
893
+ /** Height of the skeleton */
894
+ height?: string | number;
895
+ /** Animation type */
896
+ animation?: SkeletonAnimation;
897
+ /** Custom className */
898
+ className?: string;
899
+ /** Number of lines (for text variant) */
900
+ lines?: number;
901
+ }
902
+
903
+ export declare function SkeletonRectangle({ width, height, ...props }: Omit<SkeletonProps, 'variant'>): default_2.JSX.Element;
904
+
905
+ export declare function SkeletonText({ lines, ...props }: Omit<SkeletonProps, 'variant'>): default_2.JSX.Element;
906
+
907
+ export declare type SkeletonVariant = 'text' | 'circular' | 'rectangular' | 'rounded';
908
+
909
+ export declare function Spacer({ size, axis, spacing, className }: SpacerProps): default_2.JSX.Element;
910
+
911
+ export declare type SpacerAxis = 'horizontal' | 'vertical' | 'both';
912
+
913
+ export declare interface SpacerProps {
914
+ /** Size of the spacer */
915
+ size?: SpacerSize;
916
+ /** Direction of spacing */
917
+ axis?: SpacerAxis;
918
+ /** Custom spacing value (overrides size) */
919
+ spacing?: string | number;
920
+ /** Custom className */
921
+ className?: string;
922
+ }
923
+
924
+ export declare type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
925
+
419
926
  export declare function Spinner({ size, variant, className, label }: SpinnerProps): default_2.JSX.Element;
420
927
 
421
928
  export declare interface SpinnerProps {
@@ -429,6 +936,35 @@ export declare type SpinnerSize = 'sm' | 'md' | 'lg';
429
936
 
430
937
  export declare type SpinnerVariant = 'default' | 'primary' | 'secondary';
431
938
 
939
+ export declare function Split({ direction, initialSize, minSize, maxSize, children, onResize, className, disabled, snapPositions, snapThreshold, gutterSize }: SplitProps): default_2.JSX.Element;
940
+
941
+ export declare type SplitDirection = 'horizontal' | 'vertical';
942
+
943
+ export declare interface SplitProps {
944
+ /** Direction of the split */
945
+ direction?: SplitDirection;
946
+ /** Initial size of the first pane (in percentage, 0-100) */
947
+ initialSize?: number;
948
+ /** Minimum size of the first pane (in pixels) */
949
+ minSize?: number;
950
+ /** Maximum size of the first pane (in pixels) */
951
+ maxSize?: number;
952
+ /** First pane content */
953
+ children: [default_2.ReactNode, default_2.ReactNode];
954
+ /** Callback when size changes */
955
+ onResize?: (size: number) => void;
956
+ /** Custom className */
957
+ className?: string;
958
+ /** Disable resizing */
959
+ disabled?: boolean;
960
+ /** Show snap guides at common positions */
961
+ snapPositions?: number[];
962
+ /** Snap threshold in pixels */
963
+ snapThreshold?: number;
964
+ /** Gutter size in pixels */
965
+ gutterSize?: number;
966
+ }
967
+
432
968
  export declare function StackView({ children, direction, align, justify, spacing, wrap, className, style }: StackViewProps): default_2.JSX.Element;
433
969
 
434
970
  export declare type StackViewAlign = 'start' | 'center' | 'end' | 'stretch';
@@ -450,6 +986,45 @@ export declare interface StackViewProps {
450
986
 
451
987
  export declare type StackViewSpacing = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
452
988
 
989
+ export declare function StatCard({ value, label, icon, variant, size, change, trend, description, footer, loading, className, onClick, bordered, prefix, suffix }: StatCardProps): default_2.JSX.Element;
990
+
991
+ export declare interface StatCardProps {
992
+ /** Main statistic value */
993
+ value: string | number;
994
+ /** Label for the statistic */
995
+ label: string;
996
+ /** Optional icon */
997
+ icon?: default_2.ReactNode;
998
+ /** Color variant */
999
+ variant?: StatCardVariant;
1000
+ /** Size variant */
1001
+ size?: StatCardSize;
1002
+ /** Change amount (e.g., "+12.5%") */
1003
+ change?: string;
1004
+ /** Trend direction */
1005
+ trend?: TrendDirection;
1006
+ /** Description or additional info */
1007
+ description?: string;
1008
+ /** Footer content */
1009
+ footer?: default_2.ReactNode;
1010
+ /** Loading state */
1011
+ loading?: boolean;
1012
+ /** Custom className */
1013
+ className?: string;
1014
+ /** Click handler */
1015
+ onClick?: () => void;
1016
+ /** Show border */
1017
+ bordered?: boolean;
1018
+ /** Prefix for the value (e.g., "$", "€") */
1019
+ prefix?: string;
1020
+ /** Suffix for the value (e.g., "%", "ms") */
1021
+ suffix?: string;
1022
+ }
1023
+
1024
+ export declare type StatCardSize = 'sm' | 'md' | 'lg';
1025
+
1026
+ export declare type StatCardVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
1027
+
453
1028
  export declare function Stepper({ steps, currentStep, orientation, onStepClick, className }: StepperProps): default_2.JSX.Element;
454
1029
 
455
1030
  export declare type StepperOrientation = 'horizontal' | 'vertical';
@@ -509,6 +1084,56 @@ export declare interface TabsProps {
509
1084
 
510
1085
  export declare type TabsVariant = 'default' | 'pills' | 'underline';
511
1086
 
1087
+ export declare interface Tag {
1088
+ id: string;
1089
+ label: string;
1090
+ }
1091
+
1092
+ export declare function TagInput({ tags, onChange, onTagAdd, onTagRemove, placeholder, label, error, helperText, size, variant, disabled, maxTags, separators, allowDuplicates, validate, removable, fullWidth, className }: TagInputProps): default_2.JSX.Element;
1093
+
1094
+ export declare interface TagInputProps {
1095
+ /** Array of tags */
1096
+ tags?: Tag[];
1097
+ /** Callback when tags change */
1098
+ onChange?: (tags: Tag[]) => void;
1099
+ /** Callback when a tag is added */
1100
+ onTagAdd?: (tag: Tag) => void;
1101
+ /** Callback when a tag is removed */
1102
+ onTagRemove?: (tag: Tag) => void;
1103
+ /** Placeholder text */
1104
+ placeholder?: string;
1105
+ /** Label for the input */
1106
+ label?: string;
1107
+ /** Error message */
1108
+ error?: string;
1109
+ /** Helper text */
1110
+ helperText?: string;
1111
+ /** Size of the input */
1112
+ size?: TagInputSize;
1113
+ /** Variant style */
1114
+ variant?: TagInputVariant;
1115
+ /** Whether the input is disabled */
1116
+ disabled?: boolean;
1117
+ /** Maximum number of tags allowed */
1118
+ maxTags?: number;
1119
+ /** Separator characters (default: Enter, comma) */
1120
+ separators?: string[];
1121
+ /** Whether to allow duplicate tags */
1122
+ allowDuplicates?: boolean;
1123
+ /** Custom validation function */
1124
+ validate?: (value: string) => boolean;
1125
+ /** Whether tags should be removable */
1126
+ removable?: boolean;
1127
+ /** Full width */
1128
+ fullWidth?: boolean;
1129
+ /** Custom className */
1130
+ className?: string;
1131
+ }
1132
+
1133
+ export declare type TagInputSize = 'sm' | 'md' | 'lg';
1134
+
1135
+ export declare type TagInputVariant = 'default' | 'error' | 'success';
1136
+
512
1137
  export declare const Textarea: default_2.ForwardRefExoticComponent<TextareaProps & default_2.RefAttributes<HTMLTextAreaElement>>;
513
1138
 
514
1139
  export declare interface TextareaProps extends default_2.TextareaHTMLAttributes<HTMLTextAreaElement> {
@@ -609,6 +1234,8 @@ export declare interface TreeViewProps {
609
1234
  className?: string;
610
1235
  }
611
1236
 
1237
+ export declare type TrendDirection = 'up' | 'down' | 'neutral';
1238
+
612
1239
  export declare function useToast(): ToastContextValue;
613
1240
 
614
1241
  export declare function VerticalNav({ items, orientation, defaultExpandedIds, onItemClick, className, collapsed }: VerticalNavProps): default_2.JSX.Element;
@@ -622,4 +1249,94 @@ export declare interface VerticalNavProps {
622
1249
  collapsed?: boolean;
623
1250
  }
624
1251
 
1252
+ export declare const Video: default_2.ForwardRefExoticComponent<VideoProps & default_2.RefAttributes<HTMLVideoElement>>;
1253
+
1254
+ export declare type VideoAspectRatio = '16:9' | '4:3' | '1:1' | '21:9' | 'auto';
1255
+
1256
+ export declare interface VideoProps extends Omit<default_2.VideoHTMLAttributes<HTMLVideoElement>, 'className'> {
1257
+ /** Video source URL */
1258
+ src: string;
1259
+ /** Alternative sources for different formats */
1260
+ sources?: {
1261
+ src: string;
1262
+ type: string;
1263
+ }[];
1264
+ /** Poster image URL */
1265
+ poster?: string;
1266
+ /** Aspect ratio of the video */
1267
+ aspectRatio?: VideoAspectRatio;
1268
+ /** Whether to show native controls */
1269
+ controls?: boolean;
1270
+ /** Whether to autoplay the video */
1271
+ autoPlay?: boolean;
1272
+ /** Whether to loop the video */
1273
+ loop?: boolean;
1274
+ /** Whether to mute the video */
1275
+ muted?: boolean;
1276
+ /** Whether to play inline on mobile */
1277
+ playsInline?: boolean;
1278
+ /** Width of the video container */
1279
+ width?: string | number;
1280
+ /** Height of the video container */
1281
+ height?: string | number;
1282
+ /** Custom className for the container */
1283
+ className?: string;
1284
+ /** Loading state placeholder */
1285
+ loading?: 'lazy' | 'eager';
1286
+ /** Error message to display if video fails to load */
1287
+ onError?: (error: default_2.SyntheticEvent<HTMLVideoElement>) => void;
1288
+ }
1289
+
1290
+ declare function Window_2({ title, size, variant, open, closable, minimizable, maximizable, resizable, draggable, onClose, onMinimize, onMaximize, width, height, initialX, initialY, children, className, showControls, toolbar, footer }: WindowProps): default_2.JSX.Element | null;
1291
+ export { Window_2 as Window }
1292
+
1293
+ export declare interface WindowProps {
1294
+ /** Window title */
1295
+ title?: string;
1296
+ /** Window size preset */
1297
+ size?: WindowSize;
1298
+ /** Visual variant */
1299
+ variant?: WindowVariant;
1300
+ /** Whether the window is open */
1301
+ open?: boolean;
1302
+ /** Whether the window can be closed */
1303
+ closable?: boolean;
1304
+ /** Whether the window can be minimized */
1305
+ minimizable?: boolean;
1306
+ /** Whether the window can be maximized */
1307
+ maximizable?: boolean;
1308
+ /** Whether the window is resizable */
1309
+ resizable?: boolean;
1310
+ /** Whether the window is draggable */
1311
+ draggable?: boolean;
1312
+ /** Callback when close button is clicked */
1313
+ onClose?: () => void;
1314
+ /** Callback when minimize button is clicked */
1315
+ onMinimize?: () => void;
1316
+ /** Callback when maximize button is clicked */
1317
+ onMaximize?: () => void;
1318
+ /** Custom width */
1319
+ width?: string | number;
1320
+ /** Custom height */
1321
+ height?: string | number;
1322
+ /** Initial position X */
1323
+ initialX?: number;
1324
+ /** Initial position Y */
1325
+ initialY?: number;
1326
+ /** Window content */
1327
+ children: default_2.ReactNode;
1328
+ /** Custom className */
1329
+ className?: string;
1330
+ /** Show window controls */
1331
+ showControls?: boolean;
1332
+ /** Custom toolbar content */
1333
+ toolbar?: default_2.ReactNode;
1334
+ /** Footer content */
1335
+ footer?: default_2.ReactNode;
1336
+ }
1337
+
1338
+ export declare type WindowSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
1339
+
1340
+ export declare type WindowVariant = 'default' | 'dark' | 'light';
1341
+
625
1342
  export { }