@lzzjokerzzl/react-ui-components 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1 +1,3525 @@
1
- export {}
1
+ import { AnchorHTMLAttributes } from 'react';
2
+ import { ChangeEvent } from 'react';
3
+ import { ComponentPropsWithoutRef } from 'react';
4
+ import { default as default_2 } from 'react';
5
+ import { ElementType } from 'react';
6
+ import { FocusEvent as FocusEvent_2 } from 'react';
7
+ import { ForwardRefExoticComponent } from 'react';
8
+ import { HTMLAttributes } from 'react';
9
+ import { HTMLMotionProps } from 'framer-motion';
10
+ import { JSX } from 'react/jsx-runtime';
11
+ import { Key } from 'react';
12
+ import { KeyboardEvent as KeyboardEvent_2 } from 'react';
13
+ import { LegacyAnimationControls } from 'motion-dom';
14
+ import { MotionProps } from 'framer-motion';
15
+ import { MotionValue } from 'motion-dom';
16
+ import { MouseEvent as MouseEvent_2 } from 'react';
17
+ import * as React_2 from 'react';
18
+ import { ReactEventHandler } from 'react';
19
+ import { ReactNode } from 'react';
20
+ import { ReactPortal } from 'react';
21
+ import { RefAttributes } from 'react';
22
+ import { RefObject } from 'react';
23
+ import { Transition } from 'framer-motion';
24
+ import { Variants } from 'framer-motion';
25
+
26
+ /**
27
+ * Main Accordion component that provides accordion functionality with HeroUI styling
28
+ */
29
+ export declare const Accordion: default_2.FC<AccordionProps>;
30
+
31
+ /**
32
+ * Animation configuration for accordion components
33
+ */
34
+ declare interface AccordionAnimationConfig {
35
+ /** Animation preset */
36
+ preset?: AccordionAnimationPreset;
37
+ /** Custom spring configuration */
38
+ spring?: {
39
+ stiffness?: number;
40
+ damping?: number;
41
+ duration?: number;
42
+ };
43
+ /** Stagger delay between items (in seconds) */
44
+ staggerDelay?: number;
45
+ /** Enable stagger animation for multiple items */
46
+ enableStagger?: boolean;
47
+ }
48
+
49
+ /**
50
+ * Animation preset types for framer-motion
51
+ */
52
+ declare type AccordionAnimationPreset = "spring" | "tween" | "smooth" | "bouncy" | "slow";
53
+
54
+ /**
55
+ * Color variants for Accordion component
56
+ */
57
+ export declare type AccordionColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
58
+
59
+ /**
60
+ * Accordion content component with smooth animations
61
+ */
62
+ export declare const AccordionContent: default_2.FC<AccordionContentProps>;
63
+
64
+ /**
65
+ * Props for AccordionContent component
66
+ */
67
+ export declare interface AccordionContentProps {
68
+ /** Content to display */
69
+ children: ReactNode;
70
+ /** Whether the content is expanded */
71
+ isExpanded: boolean;
72
+ /** Additional CSS classes */
73
+ className?: string;
74
+ /** Custom styles */
75
+ style?: React.CSSProperties;
76
+ /** Test ID for testing */
77
+ "data-testid"?: string;
78
+ }
79
+
80
+ /**
81
+ * Accordion header component with click handling and accessibility
82
+ */
83
+ export declare const AccordionHeader: default_2.FC<AccordionHeaderProps>;
84
+
85
+ /**
86
+ * Props for AccordionHeader component
87
+ */
88
+ export declare interface AccordionHeaderProps {
89
+ /** Header content */
90
+ children: ReactNode;
91
+ /** Whether the item is expanded */
92
+ isExpanded: boolean;
93
+ /** Whether the item is disabled */
94
+ isDisabled?: boolean;
95
+ /** Click handler */
96
+ onClick?: () => void;
97
+ /** Additional CSS classes */
98
+ className?: string;
99
+ /** ARIA label */
100
+ ariaLabel?: string;
101
+ /** Test ID for testing */
102
+ "data-testid"?: string;
103
+ }
104
+
105
+ /**
106
+ * Indicator positions for the expand/collapse icon
107
+ */
108
+ declare type AccordionIndicatorPlacement = "start" | "end";
109
+
110
+ /**
111
+ * Individual accordion item component
112
+ */
113
+ export declare const AccordionItem: default_2.FC<AccordionItemProps>;
114
+
115
+ /**
116
+ * Individual accordion item configuration
117
+ */
118
+ declare interface AccordionItemConfig {
119
+ /** Unique key for the item */
120
+ key: string;
121
+ /** Title content for the header */
122
+ title: ReactNode;
123
+ /** Content to display when expanded */
124
+ content: ReactNode;
125
+ /** Whether this item starts expanded */
126
+ defaultExpanded?: boolean;
127
+ /** Whether this item is disabled */
128
+ isDisabled?: boolean;
129
+ /** Custom header content */
130
+ header?: ReactNode;
131
+ /** ARIA label for the item */
132
+ ariaLabel?: string;
133
+ /** Additional CSS classes for the item */
134
+ className?: string;
135
+ /** Custom styles for the item */
136
+ style?: React.CSSProperties;
137
+ }
138
+
139
+ /**
140
+ * Item placement positions
141
+ */
142
+ declare type AccordionItemPlacement = "start" | "end" | "outside";
143
+
144
+ /**
145
+ * Props for individual AccordionItem component
146
+ */
147
+ export declare interface AccordionItemProps {
148
+ /** Unique identifier for the item */
149
+ itemKey: string;
150
+ /** Title content for the header */
151
+ title: ReactNode;
152
+ /** Content to display when expanded */
153
+ children: ReactNode;
154
+ /** Whether this item is expanded */
155
+ isExpanded?: boolean;
156
+ /** Whether this item is disabled */
157
+ isDisabled?: boolean;
158
+ /** Whether to show divider */
159
+ showDivider?: boolean;
160
+ /** Custom header content */
161
+ header?: ReactNode;
162
+ /** Click handler for the item */
163
+ onToggle?: (key: string) => void;
164
+ /** Additional CSS classes */
165
+ className?: string;
166
+ /** Custom styles */
167
+ style?: React.CSSProperties;
168
+ /** ARIA label for accessibility */
169
+ ariaLabel?: string;
170
+ /** Test ID for testing */
171
+ "data-testid"?: string;
172
+ }
173
+
174
+ /**
175
+ * Main accordion component props
176
+ */
177
+ export declare interface AccordionProps {
178
+ /** Accordion items configuration */
179
+ items?: AccordionItemConfig[];
180
+ /** Children components (AccordionItem) */
181
+ children?: ReactNode;
182
+ /** Selection mode */
183
+ selectionMode?: AccordionSelectionMode;
184
+ /** Default expanded items (for uncontrolled) */
185
+ defaultExpandedKeys?: string[];
186
+ /** Expanded items (for controlled) */
187
+ expandedKeys?: string[];
188
+ /** Callback when expansion changes */
189
+ onExpandedChange?: (keys: string[]) => void;
190
+ /** Callback when a single selection changes */
191
+ onSelectionChange?: (key: string) => void;
192
+ /** Size variant */
193
+ size?: AccordionSize;
194
+ /** Color variant */
195
+ color?: AccordionColor;
196
+ /** Visual variant */
197
+ variant?: AccordionVariant;
198
+ /** Border radius */
199
+ radius?: AccordionRadius;
200
+ /** Whether the accordion is disabled */
201
+ isDisabled?: boolean;
202
+ /** Whether to show dividers between items */
203
+ showDivider?: boolean;
204
+ /** Whether to disable animations */
205
+ disableAnimation?: boolean;
206
+ /** Whether to disable the indicator icons */
207
+ disableIndicatorAnimation?: boolean;
208
+ /** Whether to keep content mounted when collapsed */
209
+ keepContentMounted?: boolean;
210
+ /** Animation configuration for framer-motion */
211
+ animationConfig?: AccordionAnimationConfig;
212
+ /** Indicator placement */
213
+ indicatorPlacement?: AccordionIndicatorPlacement;
214
+ /** Item placement */
215
+ itemPlacement?: AccordionItemPlacement;
216
+ /** Whether to compact mode */
217
+ isCompact?: boolean;
218
+ /** Additional CSS classes */
219
+ className?: string;
220
+ /** Custom styles */
221
+ style?: React.CSSProperties;
222
+ /** ARIA label for the accordion */
223
+ "aria-label"?: string;
224
+ /** Test ID for testing */
225
+ "data-testid"?: string;
226
+ }
227
+
228
+ /**
229
+ * Border radius variants for Accordion component
230
+ */
231
+ export declare type AccordionRadius = "none" | "sm" | "md" | "lg" | "xl" | "full";
232
+
233
+ /**
234
+ * Selection modes for Accordion
235
+ */
236
+ export declare type AccordionSelectionMode = "single" | "multiple" | "none";
237
+
238
+ /**
239
+ * Size variants for Accordion component
240
+ */
241
+ export declare type AccordionSize = "xs" | "sm" | "md" | "lg" | "xl";
242
+
243
+ /**
244
+ * Visual variants for Accordion component
245
+ */
246
+ export declare type AccordionVariant = "flat" | "bordered" | "shadow" | "splitted";
247
+
248
+ export declare interface AnimatedContainerConfig {
249
+ respectReducedMotion?: boolean;
250
+ defaultDuration?: number;
251
+ defaultEasing?: EasingType;
252
+ defaultTrigger?: TriggerType;
253
+ debugMode?: boolean;
254
+ }
255
+
256
+ declare type AnimationIntensity = 'low' | 'medium' | 'high';
257
+
258
+ declare type AnimationType = 'fadeIn' | 'slideIn' | 'scaleIn' | 'rotateIn' | 'bounce' | 'stagger';
259
+
260
+ export declare interface AnimationVariants {
261
+ initial: any;
262
+ animate: any;
263
+ exit?: any;
264
+ hover?: any;
265
+ tap?: any;
266
+ }
267
+
268
+ /**
269
+ * Main Autocomplete component following HeroUI design system
270
+ */
271
+ export declare const Autocomplete: ForwardRefExoticComponent<AutocompleteProps<AutocompleteItemData> & RefAttributes<HTMLDivElement>>;
272
+
273
+ /**
274
+ * Autocomplete color variants following HeroUI design system
275
+ */
276
+ declare type AutocompleteColor = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
277
+
278
+ /**
279
+ * AutocompleteItem component for individual list items in the autocomplete dropdown
280
+ */
281
+ export declare const AutocompleteItem: default_2.ForwardRefExoticComponent<AutocompleteItemProps & {
282
+ /** Whether this item is currently selected */
283
+ isSelected?: boolean;
284
+ /** Whether this item is currently focused */
285
+ isFocused?: boolean;
286
+ /** Whether this item is disabled */
287
+ isDisabled?: boolean;
288
+ /** Whether to show divider after this item */
289
+ showDivider?: boolean;
290
+ /** Current autocomplete variant for styling context */
291
+ variant?: "flat" | "bordered" | "faded" | "solid" | "light" | "shadow";
292
+ /** Current autocomplete color for styling context */
293
+ color?: "default" | "primary" | "secondary" | "success" | "warning" | "danger";
294
+ /** Current autocomplete size for styling context */
295
+ size?: "sm" | "md" | "lg";
296
+ /** Item key for selection handling */
297
+ itemKey?: Key;
298
+ /** Selection handler */
299
+ onSelectionChange?: (key: Key) => void;
300
+ } & default_2.RefAttributes<HTMLLIElement>>;
301
+
302
+ /**
303
+ * Generic item type for collections
304
+ */
305
+ declare interface AutocompleteItemData {
306
+ key: Key;
307
+ label: string;
308
+ value?: string;
309
+ description?: string;
310
+ isDisabled?: boolean;
311
+ startContent?: ReactNode;
312
+ endContent?: ReactNode;
313
+ className?: string;
314
+ textValue?: string;
315
+ }
316
+
317
+ /**
318
+ * AutocompleteItem component props
319
+ */
320
+ export declare interface AutocompleteItemProps extends ComponentPropsWithoutRef<"li"> {
321
+ /** Unique key for the item */
322
+ key?: Key;
323
+ /** Item text value for filtering */
324
+ textValue?: string;
325
+ /** Start content */
326
+ startContent?: ReactNode;
327
+ /** End content */
328
+ endContent?: ReactNode;
329
+ /** Description text */
330
+ description?: ReactNode;
331
+ /** Custom class names for slots */
332
+ classNames?: Partial<Record<keyof AutocompleteItemSlots, string>>;
333
+ /** Event handlers */
334
+ onPress?: () => void;
335
+ onPressStart?: () => void;
336
+ onPressEnd?: () => void;
337
+ }
338
+
339
+ /**
340
+ * AutocompleteItem slots
341
+ */
342
+ declare interface AutocompleteItemSlots {
343
+ /** Base wrapper for the item */
344
+ base: string;
345
+ /** Content wrapper */
346
+ wrapper: string;
347
+ /** Title text */
348
+ title: string;
349
+ /** Description text */
350
+ description: string;
351
+ /** Start content wrapper */
352
+ startContent: string;
353
+ /** End content wrapper */
354
+ endContent: string;
355
+ }
356
+
357
+ /**
358
+ * Autocomplete label placement options
359
+ */
360
+ declare type AutocompleteLabelPlacement = 'inside' | 'outside' | 'outside-left';
361
+
362
+ /**
363
+ * Base Autocomplete component props
364
+ */
365
+ export declare interface AutocompleteProps<T = AutocompleteItemData> extends Omit<ComponentPropsWithoutRef<"input">, "color" | "size" | "children" | "onChange" | "onSelect"> {
366
+ /** Content items (for static lists) */
367
+ children?: ReactNode;
368
+ /** Label for the autocomplete */
369
+ label?: ReactNode;
370
+ /** Visual variant */
371
+ variant?: AutocompleteVariant;
372
+ /** Color theme */
373
+ color?: AutocompleteColor;
374
+ /** Size variant */
375
+ size?: AutocompleteSize;
376
+ /** Items collection (for dynamic lists) */
377
+ items?: Iterable<T>;
378
+ /** Default items for uncontrolled usage */
379
+ defaultItems?: Iterable<T>;
380
+ /** Controlled input value */
381
+ inputValue?: string;
382
+ /** Default input value for uncontrolled usage */
383
+ defaultInputValue?: string;
384
+ /** Allow custom values not in the list */
385
+ allowsCustomValue?: boolean;
386
+ /** Allow empty collections */
387
+ allowsEmptyCollection?: boolean;
388
+ /** Close popover on blur */
389
+ shouldCloseOnBlur?: boolean;
390
+ /** Placeholder text */
391
+ placeholder?: string;
392
+ /** Description text */
393
+ description?: ReactNode;
394
+ /** When to trigger menu opening */
395
+ menuTrigger?: MenuTriggerAction;
396
+ /** Label placement */
397
+ labelPlacement?: AutocompleteLabelPlacement;
398
+ /** Controlled selected key */
399
+ selectedKey?: Key;
400
+ /** Default selected key for uncontrolled usage */
401
+ defaultSelectedKey?: Key;
402
+ /** Disabled item keys */
403
+ disabledKeys?: 'all' | Key[];
404
+ /** Error message */
405
+ errorMessage?: ReactNode | ((v: ValidationResult_2) => ReactNode);
406
+ /** Validation function */
407
+ validate?: (value: {
408
+ inputValue: string;
409
+ selectedKey: Key;
410
+ }) => ValidationError_2 | true | null | undefined;
411
+ /** Validation behavior */
412
+ validationBehavior?: ValidationBehavior_2;
413
+ /** Start content */
414
+ startContent?: ReactNode;
415
+ /** End content */
416
+ endContent?: ReactNode;
417
+ /** Auto focus */
418
+ autoFocus?: boolean;
419
+ /** Custom filter function */
420
+ defaultFilter?: FilterFunction;
421
+ /** Filter options for Intl.Collator */
422
+ filterOptions?: Intl.CollatorOptions;
423
+ /** Maximum listbox height for virtualization */
424
+ maxListboxHeight?: number;
425
+ /** Item height for virtualization */
426
+ itemHeight?: number;
427
+ /** Enable virtualization */
428
+ isVirtualized?: boolean;
429
+ /** Read-only state */
430
+ isReadOnly?: boolean;
431
+ /** Required state */
432
+ isRequired?: boolean;
433
+ /** Invalid state */
434
+ isInvalid?: boolean;
435
+ /** Disabled state */
436
+ isDisabled?: boolean;
437
+ /** Full width */
438
+ fullWidth?: boolean;
439
+ /** Custom selector icon */
440
+ selectorIcon?: ReactNode;
441
+ /** Custom clear icon */
442
+ clearIcon?: ReactNode;
443
+ /** Show scroll indicators */
444
+ showScrollIndicators?: boolean;
445
+ /** Allow clearing */
446
+ isClearable?: boolean;
447
+ /** Disable animations */
448
+ disableAnimation?: boolean;
449
+ /** Disable selector icon rotation */
450
+ disableSelectorIconRotation?: boolean;
451
+ /** Custom class names for slots */
452
+ classNames?: Partial<Record<keyof AutocompleteSlots, string>>;
453
+ /** Custom popover props */
454
+ popoverProps?: ComponentPropsWithoutRef<"div"> & {
455
+ isOpen?: boolean;
456
+ onOpenChange?: (isOpen: boolean) => void;
457
+ placement?: string;
458
+ offset?: number;
459
+ };
460
+ /** Custom listbox props */
461
+ listboxProps?: ComponentPropsWithoutRef<"ul"> & {
462
+ emptyContent?: ReactNode;
463
+ };
464
+ /** Custom input props */
465
+ inputProps?: ComponentPropsWithoutRef<"input">;
466
+ /** Custom scroll shadow props */
467
+ scrollShadowProps?: ComponentPropsWithoutRef<"div"> & {
468
+ hideScrollBar?: boolean;
469
+ };
470
+ /** Custom selector button props */
471
+ selectorButtonProps?: ComponentPropsWithoutRef<"button">;
472
+ /** Custom clear button props */
473
+ clearButtonProps?: ComponentPropsWithoutRef<"button">;
474
+ /** Event Handlers */
475
+ onOpenChange?: (isOpen: boolean, menuTrigger?: MenuTriggerAction) => void;
476
+ onInputChange?: (value: string) => void;
477
+ onSelectionChange?: (key: Key) => void;
478
+ onFocus?: (e: FocusEvent_2<HTMLInputElement>) => void;
479
+ onBlur?: (e: FocusEvent_2<HTMLInputElement>) => void;
480
+ onFocusChange?: (isFocused: boolean) => void;
481
+ onKeyDown?: (e: KeyboardEvent_2) => void;
482
+ onKeyUp?: (e: KeyboardEvent_2) => void;
483
+ onClose?: () => void;
484
+ onClear?: () => void;
485
+ }
486
+
487
+ /**
488
+ * AutocompleteSection component for grouping items in the autocomplete dropdown
489
+ */
490
+ export declare const AutocompleteSection: ForwardRefExoticComponent<AutocompleteSectionProps & {
491
+ /** Whether to show divider after this section */
492
+ showDivider?: boolean;
493
+ } & RefAttributes<HTMLDivElement>>;
494
+
495
+ /**
496
+ * AutocompleteSection component props
497
+ */
498
+ export declare interface AutocompleteSectionProps extends Omit<ComponentPropsWithoutRef<"div">, "title"> {
499
+ /** Section title */
500
+ title?: ReactNode;
501
+ /** Show divider */
502
+ showDivider?: boolean;
503
+ /** Custom class names for slots */
504
+ classNames?: Partial<Record<keyof AutocompleteSectionSlots, string>>;
505
+ }
506
+
507
+ /**
508
+ * AutocompleteSection slots
509
+ */
510
+ declare interface AutocompleteSectionSlots {
511
+ /** Base wrapper for the section */
512
+ base: string;
513
+ /** Section heading */
514
+ heading: string;
515
+ /** Group of items */
516
+ group: string;
517
+ /** Divider */
518
+ divider: string;
519
+ }
520
+
521
+ /**
522
+ * Autocomplete size variants
523
+ */
524
+ declare type AutocompleteSize = 'sm' | 'md' | 'lg';
525
+
526
+ /**
527
+ * Autocomplete slots for styling customization
528
+ */
529
+ declare interface AutocompleteSlots {
530
+ /** Main wrapper around input and popover */
531
+ base: string;
532
+ /** Input wrapper around the input field */
533
+ inputWrapper: string;
534
+ /** Wrapper around the listbox content */
535
+ listboxWrapper: string;
536
+ /** Popover content container */
537
+ popoverContent: string;
538
+ /** Wrapper for end content (clear + selector buttons) */
539
+ endContentWrapper: string;
540
+ /** Clear button styling */
541
+ clearButton: string;
542
+ /** Selector button styling */
543
+ selectorButton: string;
544
+ }
545
+
546
+ /**
547
+ * Autocomplete variant styles
548
+ */
549
+ declare type AutocompleteVariant = 'flat' | 'bordered' | 'faded' | 'underlined';
550
+
551
+ /**
552
+ * Avatar component following HeroUI design system
553
+ * Displays user profile picture, initials, or fallback icon
554
+ */
555
+ export declare const Avatar: default_2.ForwardRefExoticComponent<AvatarProps & default_2.RefAttributes<HTMLDivElement>>;
556
+
557
+ /**
558
+ * Avatar color variants following HeroUI design system
559
+ */
560
+ export declare type AvatarColor = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
561
+
562
+ /**
563
+ * AvatarGroup component following HeroUI design system
564
+ * Groups multiple avatars with overflow handling and consistent styling
565
+ */
566
+ export declare const AvatarGroup: default_2.ForwardRefExoticComponent<AvatarGroupProps & default_2.RefAttributes<HTMLDivElement>>;
567
+
568
+ /**
569
+ * Avatar Group context value
570
+ */
571
+ declare interface AvatarGroupContextValue {
572
+ /** Size applied to all avatars in the group */
573
+ size?: AvatarSize;
574
+ /** Color applied to all avatars in the group */
575
+ color?: AvatarColor;
576
+ /** Radius applied to all avatars in the group */
577
+ radius?: AvatarRadius;
578
+ /** Whether all avatars in the group are disabled */
579
+ isDisabled?: boolean;
580
+ /** Whether all avatars in the group should have borders */
581
+ isBordered?: boolean;
582
+ /** Maximum number of avatars to display */
583
+ max?: number;
584
+ /** Total number of avatars */
585
+ total?: number;
586
+ /** Whether to display avatars in a grid layout */
587
+ isGrid?: boolean;
588
+ /** Custom function to render the count indicator */
589
+ renderCount?: (count: number) => ReactNode;
590
+ }
591
+
592
+ /**
593
+ * Avatar Group component props
594
+ */
595
+ export declare interface AvatarGroupProps extends Omit<ComponentPropsWithoutRef<"div">, "color"> {
596
+ /** Maximum number of avatars to display */
597
+ max?: number;
598
+ /** Total number of avatars (for count display) */
599
+ total?: number;
600
+ /** Size applied to all avatars in the group */
601
+ size?: AvatarSize;
602
+ /** Color applied to all avatars in the group */
603
+ color?: AvatarColor;
604
+ /** Radius applied to all avatars in the group */
605
+ radius?: AvatarRadius;
606
+ /** Whether to display avatars in a grid layout */
607
+ isGrid?: boolean;
608
+ /** Whether all avatars in the group are disabled */
609
+ isDisabled?: boolean;
610
+ /** Whether all avatars in the group should have borders */
611
+ isBordered?: boolean;
612
+ /** Custom function to render the count indicator */
613
+ renderCount?: (count: number) => ReactNode;
614
+ /** Custom class names for avatar group slots */
615
+ classNames?: Partial<Record<keyof AvatarGroupSlots, string>>;
616
+ /** Data test id for testing */
617
+ "data-testid"?: string;
618
+ }
619
+
620
+ /**
621
+ * Avatar Group slots for styling customization
622
+ */
623
+ declare interface AvatarGroupSlots {
624
+ /** Base wrapper for the avatar group */
625
+ base: string;
626
+ /** Count indicator showing additional avatars */
627
+ count: string;
628
+ }
629
+
630
+ /**
631
+ * Default Avatar Icon component
632
+ * Used as fallback when no image or name is provided
633
+ */
634
+ export declare const AvatarIcon: default_2.FC<AvatarIconProps>;
635
+
636
+ /**
637
+ * Default Avatar Icon component props
638
+ */
639
+ export declare interface AvatarIconProps extends ComponentPropsWithoutRef<"svg"> {
640
+ /** Size of the icon */
641
+ size?: number;
642
+ /** Custom class name */
643
+ className?: string;
644
+ }
645
+
646
+ /**
647
+ * Base Avatar component props
648
+ */
649
+ export declare interface AvatarProps extends Omit<ComponentPropsWithoutRef<"div">, "color"> {
650
+ /** Image source URL for the avatar */
651
+ src?: string;
652
+ /** Color theme of the avatar */
653
+ color?: AvatarColor;
654
+ /** Border radius of the avatar */
655
+ radius?: AvatarRadius;
656
+ /** Size of the avatar */
657
+ size?: AvatarSize;
658
+ /** Name for generating initials and accessible background color */
659
+ name?: string;
660
+ /** Custom icon to display as fallback */
661
+ icon?: ReactNode;
662
+ /** Custom fallback component when image fails to load */
663
+ fallback?: ReactNode;
664
+ /** Whether the avatar should have a border */
665
+ isBordered?: boolean;
666
+ /** Whether the avatar is disabled */
667
+ isDisabled?: boolean;
668
+ /** Whether the avatar can receive focus */
669
+ isFocusable?: boolean;
670
+ /** Whether to show fallback when image fails to load */
671
+ showFallback?: boolean;
672
+ /** Custom component to use for the image element */
673
+ ImgComponent?: ElementType;
674
+ /** Props to pass to the image component */
675
+ imgProps?: ComponentPropsWithoutRef<"img">;
676
+ /** Custom function to generate initials from name */
677
+ getInitials?: GetInitialsFunction;
678
+ /** Custom class names for avatar slots */
679
+ classNames?: Partial<Record<keyof AvatarSlots, string>>;
680
+ /** Component to render as (default: "div") */
681
+ as?: ElementType;
682
+ /** Data test id for testing */
683
+ "data-testid"?: string;
684
+ }
685
+
686
+ /**
687
+ * Avatar props interface (based on common avatar patterns)
688
+ */
689
+ declare interface AvatarProps_2 {
690
+ /** Source URL for the avatar image */
691
+ src?: string;
692
+ /** Alt text for accessibility */
693
+ alt?: string;
694
+ /** Name to display when image is not available (shows initials) */
695
+ name?: string;
696
+ /** Size variant of the avatar */
697
+ size?: "sm" | "md" | "lg";
698
+ /** Custom CSS classes */
699
+ className?: string;
700
+ /** Whether the avatar should be squared */
701
+ isSquared?: boolean;
702
+ /** Color variant */
703
+ color?: "default" | "primary" | "secondary" | "success" | "warning" | "danger";
704
+ /** Whether the avatar is disabled */
705
+ isDisabled?: boolean;
706
+ /** Custom fallback element */
707
+ fallback?: ReactNode;
708
+ }
709
+
710
+ /**
711
+ * Avatar radius variants
712
+ */
713
+ export declare type AvatarRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
714
+
715
+ /**
716
+ * Avatar size variants
717
+ */
718
+ export declare type AvatarSize = 'sm' | 'md' | 'lg';
719
+
720
+ /**
721
+ * Avatar slots for styling customization
722
+ */
723
+ declare interface AvatarSlots {
724
+ /** Avatar wrapper, includes styles for focus ring, position, and general appearance */
725
+ base: string;
726
+ /** Image element within the avatar, includes styles for opacity transition and size */
727
+ img: string;
728
+ /** Fallback content when the image fails to load or is not provided */
729
+ fallback: string;
730
+ /** Initials displayed when image is not provided or fails to load */
731
+ name: string;
732
+ /** Icon element within the avatar, includes styles for centering and size */
733
+ icon: string;
734
+ }
735
+
736
+ /**
737
+ * Badge component following HeroUI design system
738
+ * A badge is a small component that represents a status or notification
739
+ */
740
+ export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes<HTMLDivElement>>;
741
+
742
+ export declare type BadgeColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
743
+
744
+ export declare type BadgePlacement = "top-right" | "top-left" | "bottom-right" | "bottom-left";
745
+
746
+ export declare interface BadgeProps {
747
+ /**
748
+ * The children to wrap with the badge
749
+ */
750
+ children?: ReactNode;
751
+ /**
752
+ * The content to display in the badge
753
+ */
754
+ content?: ReactNode;
755
+ /**
756
+ * The variant of the badge
757
+ * @default "solid"
758
+ */
759
+ variant?: BadgeVariant;
760
+ /**
761
+ * The color of the badge
762
+ * @default "default"
763
+ */
764
+ color?: BadgeColor;
765
+ /**
766
+ * The size of the badge
767
+ * @default "md"
768
+ */
769
+ size?: BadgeSize;
770
+ /**
771
+ * The shape of the badge
772
+ * @default "rectangle"
773
+ */
774
+ shape?: BadgeShape;
775
+ /**
776
+ * The placement of the badge relative to its children
777
+ * @default "top-right"
778
+ */
779
+ placement?: BadgePlacement;
780
+ /**
781
+ * Whether the badge is visible
782
+ * @default true
783
+ */
784
+ isOneChar?: boolean;
785
+ /**
786
+ * Whether to show an outline around the badge
787
+ * @default false
788
+ */
789
+ showOutline?: boolean;
790
+ /**
791
+ * Whether the badge should be invisible
792
+ * @default false
793
+ */
794
+ isInvisible?: boolean;
795
+ /**
796
+ * Whether to disable the scale animation
797
+ * @default false
798
+ */
799
+ disableAnimation?: boolean;
800
+ /**
801
+ * Custom class names for different slots
802
+ */
803
+ classNames?: BadgeSlots;
804
+ /**
805
+ * Custom class name for the base element
806
+ */
807
+ className?: string;
808
+ }
809
+
810
+ export declare type BadgeShape = "circle" | "rectangle";
811
+
812
+ export declare type BadgeSize = "sm" | "md" | "lg";
813
+
814
+ declare interface BadgeSlots {
815
+ /**
816
+ * Container element that wraps the content and badge
817
+ */
818
+ base?: string;
819
+ /**
820
+ * Badge element that displays the badge content
821
+ */
822
+ badge?: string;
823
+ }
824
+
825
+ export declare type BadgeVariant = "solid" | "flat" | "faded" | "shadow";
826
+
827
+ export declare interface BaseAnimatedContainerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
828
+ children: ReactNode;
829
+ trigger?: TriggerType;
830
+ delay?: number;
831
+ duration?: number;
832
+ easing?: EasingType;
833
+ disabled?: boolean;
834
+ variants?: Variants;
835
+ transition?: Transition;
836
+ className?: string;
837
+ style?: React.CSSProperties;
838
+ onAnimationStart?: () => void;
839
+ onAnimationComplete?: () => void;
840
+ }
841
+
842
+ export declare interface BaseAnimationProps {
843
+ children: ReactNode;
844
+ className?: string;
845
+ delay?: number;
846
+ duration?: number;
847
+ disabled?: boolean;
848
+ trigger?: 'hover' | 'tap' | 'inView' | 'manual';
849
+ once?: boolean;
850
+ threshold?: number;
851
+ style?: React.CSSProperties;
852
+ }
853
+
854
+ declare interface BaseSpinnerProps extends Omit<HTMLMotionProps<'div'>, 'children'> {
855
+ /** Type of spinner animation */
856
+ type?: SpinnerType;
857
+ /** Size of the spinner */
858
+ size?: SpinnerSize;
859
+ /** Color theme of the spinner */
860
+ color?: SpinnerColor;
861
+ /** Animation speed */
862
+ speed?: SpinnerSpeed;
863
+ /** Whether the spinner is visible */
864
+ visible?: boolean;
865
+ /** Custom animation configuration */
866
+ animationConfig?: Partial<SpinnerAnimationConfig>;
867
+ /** Additional CSS classes */
868
+ className?: string;
869
+ /** ARIA label for accessibility */
870
+ 'aria-label'?: string;
871
+ /** Test ID for testing */
872
+ 'data-testid'?: string;
873
+ }
874
+
875
+ /**
876
+ * Base props shared by all text animation components
877
+ */
878
+ export declare interface BaseTextProps {
879
+ /** Text content to animate */
880
+ text: string;
881
+ /** Additional CSS classes */
882
+ className?: string;
883
+ /** Animation trigger type */
884
+ trigger?: TextTrigger;
885
+ /** Whether to repeat the animation */
886
+ repeat?: boolean;
887
+ /** Delay before animation starts (in seconds) */
888
+ delay?: number;
889
+ /** Whether animation is disabled */
890
+ disabled?: boolean;
891
+ /** Manual trigger control when trigger is 'manual' */
892
+ isActive?: boolean;
893
+ /** Callback when animation completes */
894
+ onComplete?: () => void;
895
+ /** Callback when animation starts */
896
+ onStart?: () => void;
897
+ /** Test ID for testing */
898
+ 'data-testid'?: string;
899
+ }
900
+
901
+ /**
902
+ * Base tooltip props
903
+ */
904
+ declare interface BaseTooltipProps {
905
+ /** Tooltip content */
906
+ content: ReactNode;
907
+ /** Placement of tooltip */
908
+ placement?: TooltipPlacement;
909
+ /** How tooltip is triggered */
910
+ trigger?: TooltipTrigger;
911
+ /** Size variant */
912
+ size?: TooltipSize;
913
+ /** Color variant */
914
+ variant?: TooltipVariant;
915
+ /** Animation type */
916
+ animation?: TooltipAnimation;
917
+ /** Advanced animation configuration */
918
+ animationConfig?: TooltipAnimationConfig;
919
+ /** Custom offset */
920
+ offset?: TooltipOffset;
921
+ /** Arrow configuration */
922
+ arrow?: TooltipArrow;
923
+ /** Show/hide delays */
924
+ delay?: TooltipDelay;
925
+ /** Whether tooltip is disabled */
926
+ disabled?: boolean;
927
+ /** Whether tooltip is open (for manual trigger) */
928
+ open?: boolean;
929
+ /** Default open state (for uncontrolled) */
930
+ defaultOpen?: boolean;
931
+ /** Callback when open state changes */
932
+ onOpenChange?: (open: boolean) => void;
933
+ /** Custom z-index */
934
+ zIndex?: number;
935
+ /** Whether to render in portal */
936
+ portal?: boolean;
937
+ /** Portal container */
938
+ portalContainer?: Element | DocumentFragment;
939
+ /** Custom CSS classes */
940
+ className?: string;
941
+ /** Custom styles */
942
+ style?: React.CSSProperties;
943
+ /** ARIA label for accessibility */
944
+ 'aria-label'?: string;
945
+ /** ARIA described by for accessibility */
946
+ 'aria-describedby'?: string;
947
+ /** Custom ID */
948
+ id?: string;
949
+ }
950
+
951
+ /**
952
+ * Bounce Animation Component
953
+ *
954
+ * Creates a bouncing animation effect with customizable amplitude and frequency
955
+ */
956
+ export declare const Bounce: React.FC<BounceProps>;
957
+
958
+ export declare const BounceContainer: default_2.FC<BounceContainerProps>;
959
+
960
+ export declare interface BounceContainerProps extends BaseAnimatedContainerProps {
961
+ intensity?: AnimationIntensity;
962
+ bounceCount?: number;
963
+ startScale?: number;
964
+ }
965
+
966
+ export declare interface BounceProps extends BaseAnimationProps {
967
+ amplitude?: number;
968
+ frequency?: number;
969
+ damping?: number;
970
+ }
971
+
972
+ export declare const Breadcrumb: default_2.ForwardRefExoticComponent<BreadcrumbProps & default_2.RefAttributes<HTMLElement>>;
973
+
974
+ declare type BreadcrumbColor = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
975
+
976
+ export declare const BreadcrumbItem: default_2.ForwardRefExoticComponent<BreadcrumbItemProps & default_2.RefAttributes<HTMLAnchorElement>>;
977
+
978
+ export declare interface BreadcrumbItemProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {
979
+ children: ReactNode;
980
+ href?: string;
981
+ to?: string;
982
+ isDisabled?: boolean;
983
+ isCurrent?: boolean;
984
+ startContent?: ReactNode;
985
+ endContent?: ReactNode;
986
+ className?: string;
987
+ itemClassName?: string;
988
+ linkClassName?: string;
989
+ size?: BreadcrumbSize;
990
+ color?: BreadcrumbColor;
991
+ variant?: BreadcrumbVariant;
992
+ onPress?: (event: default_2.MouseEvent<HTMLAnchorElement>) => void;
993
+ }
994
+
995
+ export declare interface BreadcrumbProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
996
+ children: ReactNode;
997
+ size?: BreadcrumbSize;
998
+ color?: BreadcrumbColor;
999
+ variant?: BreadcrumbVariant;
1000
+ separator?: SeparatorType | ReactNode;
1001
+ separatorClassName?: string;
1002
+ itemsClassName?: string;
1003
+ hideSeparator?: boolean;
1004
+ maxItems?: number;
1005
+ showRoot?: boolean;
1006
+ isDisabled?: boolean;
1007
+ itemsBeforeCollapse?: number;
1008
+ itemsAfterCollapse?: number;
1009
+ renderEllipsis?: (hiddenItems: number) => ReactNode;
1010
+ className?: string;
1011
+ listProps?: HTMLAttributes<HTMLOListElement>;
1012
+ }
1013
+
1014
+ export declare const BreadcrumbSeparator: default_2.ForwardRefExoticComponent<BreadcrumbSeparatorProps & default_2.RefAttributes<HTMLSpanElement>>;
1015
+
1016
+ export declare interface BreadcrumbSeparatorProps {
1017
+ type?: SeparatorType;
1018
+ customIcon?: ReactNode;
1019
+ className?: string;
1020
+ size?: BreadcrumbSize;
1021
+ color?: BreadcrumbColor;
1022
+ }
1023
+
1024
+ declare type BreadcrumbSize = 'sm' | 'md' | 'lg';
1025
+
1026
+ declare type BreadcrumbVariant = 'solid' | 'bordered' | 'light' | 'flat';
1027
+
1028
+ /**
1029
+ * Enhanced Button component with Framer Motion animations
1030
+ * Supports multiple variants, colors, sizes, and interactive states
1031
+ * @param props - Button component properties
1032
+ * @returns JSX element representing a styled button
1033
+ */
1034
+ export declare const Button: ({ children, className, ariaLabel, color, disabled, isLoading, onClick, type, size, variant, radius, startIcon, endIcon, fullWidth, disableAnimation, hoverAnimation, clickAnimation, "data-testid": dataTestId, }: ButtonProps) => JSX.Element;
1035
+
1036
+ /**
1037
+ * Click animation variants for Button component
1038
+ */
1039
+ export declare type ButtonClickAnimation = "none" | "scale" | "bounce" | "ripple" | "press" | "punch" | "wiggle";
1040
+
1041
+ /**
1042
+ * Color variants for Button component
1043
+ */
1044
+ export declare type ButtonColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
1045
+
1046
+ /**
1047
+ * ButtonContent component for button text content
1048
+ * @param props - ButtonContent component properties
1049
+ * @returns JSX element representing button content
1050
+ */
1051
+ export declare const ButtonContent: ({ children, className, "data-testid": dataTestId, }: ButtonContentProps) => JSX.Element;
1052
+
1053
+ /**
1054
+ * Props interface for ButtonContent component
1055
+ */
1056
+ export declare interface ButtonContentProps {
1057
+ /** Content to render inside the button content */
1058
+ children: ReactNode;
1059
+ /** Additional CSS classes to apply */
1060
+ className?: string;
1061
+ /** Test ID for testing frameworks */
1062
+ "data-testid"?: string;
1063
+ }
1064
+
1065
+ /**
1066
+ * ButtonGroup component for grouping multiple buttons
1067
+ * @param props - ButtonGroup component properties
1068
+ * @returns JSX element representing a group of buttons
1069
+ */
1070
+ export declare const ButtonGroup: ({ children, className, size, color, variant, radius, isAttached, disabled, disableAnimation, "data-testid": dataTestId, }: ButtonGroupProps) => JSX.Element;
1071
+
1072
+ /**
1073
+ * Props interface for ButtonGroup component
1074
+ */
1075
+ export declare interface ButtonGroupProps {
1076
+ /** Button components to render inside the group */
1077
+ children: ReactNode;
1078
+ /** Additional CSS classes to apply */
1079
+ className?: string;
1080
+ /** Size variant for all buttons in group */
1081
+ size?: ButtonSize;
1082
+ /** Color theme for all buttons in group */
1083
+ color?: ButtonColor;
1084
+ /** Visual style variant for all buttons in group */
1085
+ variant?: ButtonVariant;
1086
+ /** Border radius for all buttons in group */
1087
+ radius?: ButtonRadius;
1088
+ /** Whether buttons are attached (no spacing) */
1089
+ isAttached?: boolean;
1090
+ /** Whether the group is disabled */
1091
+ disabled?: boolean;
1092
+ /** Whether to disable hover and focus animations for all buttons */
1093
+ disableAnimation?: boolean;
1094
+ /** Test ID for testing frameworks */
1095
+ "data-testid"?: string;
1096
+ }
1097
+
1098
+ /**
1099
+ * Hover animation variants for Button component
1100
+ */
1101
+ export declare type ButtonHoverAnimation = "none" | "scale" | "lift" | "bounce" | "pulse" | "shake" | "rotate" | "glow";
1102
+
1103
+ /**
1104
+ * ButtonIcon component for button icons
1105
+ * @param props - ButtonIcon component properties
1106
+ * @returns JSX element representing button icon
1107
+ */
1108
+ export declare const ButtonIcon: ({ children, className, position, "data-testid": dataTestId, }: ButtonIconProps) => JSX.Element;
1109
+
1110
+ /**
1111
+ * Props interface for ButtonIcon component
1112
+ */
1113
+ export declare interface ButtonIconProps {
1114
+ /** Icon element to render */
1115
+ children: ReactNode;
1116
+ /** Additional CSS classes to apply */
1117
+ className?: string;
1118
+ /** Position of the icon */
1119
+ position?: "start" | "end";
1120
+ /** Test ID for testing frameworks */
1121
+ "data-testid"?: string;
1122
+ }
1123
+
1124
+ /**
1125
+ * Props interface for the main Button component
1126
+ */
1127
+ export declare interface ButtonProps {
1128
+ /** Content to render inside the button */
1129
+ children: ReactNode;
1130
+ /** Additional CSS classes to apply */
1131
+ className?: string;
1132
+ /** Accessibility label for screen readers */
1133
+ ariaLabel?: string;
1134
+ /** Color theme of the button */
1135
+ color?: ButtonColor;
1136
+ /** Whether the button is disabled */
1137
+ disabled?: boolean;
1138
+ /** Whether the button is in loading state */
1139
+ isLoading?: boolean;
1140
+ /** Click handler function */
1141
+ onClick?: () => void;
1142
+ /** HTML button type attribute */
1143
+ type?: "button" | "submit" | "reset";
1144
+ /** Size variant of the button */
1145
+ size?: ButtonSize;
1146
+ /** Visual style variant */
1147
+ variant?: ButtonVariant;
1148
+ /** Border radius of the button */
1149
+ radius?: ButtonRadius;
1150
+ /** Icon to display before text */
1151
+ startIcon?: ReactNode;
1152
+ /** Icon to display after text */
1153
+ endIcon?: ReactNode;
1154
+ /** Whether to show full width */
1155
+ fullWidth?: boolean;
1156
+ /** Whether to disable hover and focus animations */
1157
+ disableAnimation?: boolean;
1158
+ /** Hover animation type - Framer Motion powered */
1159
+ hoverAnimation?: ButtonHoverAnimation;
1160
+ /** Click animation type - Framer Motion powered */
1161
+ clickAnimation?: ButtonClickAnimation;
1162
+ /** Test ID for testing frameworks */
1163
+ "data-testid"?: string;
1164
+ }
1165
+
1166
+ /**
1167
+ * Radius variants for Button component
1168
+ */
1169
+ export declare type ButtonRadius = "none" | "sm" | "md" | "lg" | "xl" | "full";
1170
+
1171
+ /**
1172
+ * Size variants for Button component
1173
+ */
1174
+ export declare type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
1175
+
1176
+ /**
1177
+ * ButtonText component for button text
1178
+ * @param props - ButtonText component properties
1179
+ * @returns JSX element representing button text
1180
+ */
1181
+ export declare const ButtonText: ({ children, className, "data-testid": dataTestId, }: ButtonTextProps) => JSX.Element;
1182
+
1183
+ /**
1184
+ * Props interface for ButtonText component
1185
+ */
1186
+ export declare interface ButtonTextProps {
1187
+ /** Text content to render */
1188
+ children: ReactNode;
1189
+ /** Additional CSS classes to apply */
1190
+ className?: string;
1191
+ /** Test ID for testing frameworks */
1192
+ "data-testid"?: string;
1193
+ }
1194
+
1195
+ /**
1196
+ * Visual variants for Button component
1197
+ */
1198
+ export declare type ButtonVariant = "solid" | "outline" | "ghost" | "link" | "gradient" | "faded" | "light" | "bordered" | "outlined";
1199
+
1200
+ /**
1201
+ * Reusable Card component with multiple variants, colors, and sizes
1202
+ * Supports accessibility features and consistent styling across the application
1203
+ * @param props - Card component properties
1204
+ * @returns JSX element representing a styled card
1205
+ */
1206
+ export declare const Card: ({ children, className, size, variant, color, radius, isClickable, isDisabled, isHoverable, onClick, "data-testid": dataTestId, }: CardProps) => JSX.Element;
1207
+
1208
+ /**
1209
+ * Color variants for Card component
1210
+ */
1211
+ declare type CardColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
1212
+
1213
+ /**
1214
+ * Props interface for the main Card component
1215
+ */
1216
+ export declare interface CardProps {
1217
+ /** Content to render inside the card */
1218
+ children: ReactNode;
1219
+ /** Additional CSS classes to apply */
1220
+ className?: string;
1221
+ /** Size variant of the card */
1222
+ size?: CardSize;
1223
+ /** Visual style variant */
1224
+ variant?: CardVariant;
1225
+ /** Color theme of the card */
1226
+ color?: CardColor;
1227
+ /** Border radius of the card */
1228
+ radius?: CardRadius;
1229
+ /** Whether the card is clickable */
1230
+ isClickable?: boolean;
1231
+ /** Whether the card is disabled */
1232
+ isDisabled?: boolean;
1233
+ /** Whether the card is hoverable */
1234
+ isHoverable?: boolean;
1235
+ /** Click handler function */
1236
+ onClick?: () => void;
1237
+ /** Test ID for testing frameworks */
1238
+ "data-testid"?: string;
1239
+ }
1240
+
1241
+ /**
1242
+ * Radius variants for Card component
1243
+ */
1244
+ declare type CardRadius = "none" | "sm" | "md" | "lg" | "xl" | "full";
1245
+
1246
+ /**
1247
+ * Size variants for Card component
1248
+ */
1249
+ declare type CardSize = "sm" | "md" | "lg" | "xl";
1250
+
1251
+ /**
1252
+ * Visual variants for Card component
1253
+ */
1254
+ declare type CardVariant = "elevated" | "bordered" | "shadow" | "flat";
1255
+
1256
+ /**
1257
+ * Enhanced Checkbox component with comprehensive features
1258
+ * Supports multiple sizes, colors, states, and custom icons
1259
+ * @param props - Checkbox component properties
1260
+ * @returns JSX element representing a styled checkbox
1261
+ */
1262
+ export declare const Checkbox: ({ children, icon: IconComponent, value, name, size, color, radius, lineThrough, isSelected: controlledSelected, defaultSelected, isRequired, isReadOnly, isDisabled, isIndeterminate, isInvalid, validationState, disableAnimation, className, classNames, onChange, onValueChange, "data-testid": dataTestId, }: CheckboxProps) => JSX.Element;
1263
+
1264
+ /**
1265
+ * Color variants for Checkbox component
1266
+ */
1267
+ declare type CheckboxColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
1268
+
1269
+ /**
1270
+ * Props interface for custom checkbox icon
1271
+ */
1272
+ declare interface CheckboxIconProps {
1273
+ /** Whether the checkbox is selected */
1274
+ isSelected?: boolean;
1275
+ /** Whether the checkbox is indeterminate */
1276
+ isIndeterminate?: boolean;
1277
+ /** Whether animations are disabled */
1278
+ disableAnimation?: boolean;
1279
+ /** Additional CSS classes */
1280
+ className?: string;
1281
+ }
1282
+
1283
+ /**
1284
+ * Props interface for the main Checkbox component
1285
+ */
1286
+ export declare interface CheckboxProps {
1287
+ /** Content to render as checkbox label */
1288
+ children?: ReactNode;
1289
+ /** Custom icon component for checkbox */
1290
+ icon?: React.ComponentType<CheckboxIconProps>;
1291
+ /** Value attribute for the checkbox input */
1292
+ value?: string;
1293
+ /** Name attribute for the checkbox input */
1294
+ name?: string;
1295
+ /** Size variant of the checkbox */
1296
+ size?: CheckboxSize;
1297
+ /** Color theme of the checkbox */
1298
+ color?: CheckboxColor;
1299
+ /** Border radius of the checkbox */
1300
+ radius?: CheckboxRadius;
1301
+ /** Whether to show line-through effect on label when checked */
1302
+ lineThrough?: boolean;
1303
+ /** Whether the checkbox is selected (controlled) */
1304
+ isSelected?: boolean;
1305
+ /** Default selected state (uncontrolled) */
1306
+ defaultSelected?: boolean;
1307
+ /** Whether the checkbox is required */
1308
+ isRequired?: boolean;
1309
+ /** Whether the checkbox is read-only */
1310
+ isReadOnly?: boolean;
1311
+ /** Whether the checkbox is disabled */
1312
+ isDisabled?: boolean;
1313
+ /** Whether the checkbox is in indeterminate state */
1314
+ isIndeterminate?: boolean;
1315
+ /** Whether the checkbox is invalid */
1316
+ isInvalid?: boolean;
1317
+ /** Validation state of the checkbox */
1318
+ validationState?: CheckboxValidationState;
1319
+ /** Whether to disable hover and focus animations */
1320
+ disableAnimation?: boolean;
1321
+ /** Additional CSS classes to apply */
1322
+ className?: string;
1323
+ /** Custom class names for different slots */
1324
+ classNames?: Partial<Record<"base" | "wrapper" | "icon" | "label" | "hiddenInput", string>>;
1325
+ /** Native change event handler */
1326
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
1327
+ /** Value change event handler */
1328
+ onValueChange?: (isSelected: boolean) => void;
1329
+ /** Test ID for testing frameworks */
1330
+ "data-testid"?: string;
1331
+ }
1332
+
1333
+ /**
1334
+ * Radius variants for Checkbox component
1335
+ */
1336
+ declare type CheckboxRadius = "none" | "sm" | "md" | "lg" | "full";
1337
+
1338
+ /**
1339
+ * Size variants for Checkbox component
1340
+ */
1341
+ declare type CheckboxSize = "sm" | "md" | "lg";
1342
+
1343
+ /**
1344
+ * Validation state for Checkbox component
1345
+ */
1346
+ declare type CheckboxValidationState = "valid" | "invalid";
1347
+
1348
+ /**
1349
+ * Chip component following HeroUI design system
1350
+ * A small block of essential information that represents an input, attribute, or action
1351
+ */
1352
+ export declare const Chip: ForwardRefExoticComponent<ChipProps & RefAttributes<HTMLDivElement>>;
1353
+
1354
+ export declare type ChipColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
1355
+
1356
+ export declare interface ChipProps {
1357
+ /**
1358
+ * The content to display inside the chip
1359
+ */
1360
+ children?: ReactNode;
1361
+ /**
1362
+ * The variant of the chip
1363
+ * @default "solid"
1364
+ */
1365
+ variant?: ChipVariant;
1366
+ /**
1367
+ * The color of the chip
1368
+ * @default "default"
1369
+ */
1370
+ color?: ChipColor;
1371
+ /**
1372
+ * The size of the chip
1373
+ * @default "md"
1374
+ */
1375
+ size?: ChipSize;
1376
+ /**
1377
+ * The radius of the chip
1378
+ * @default "full"
1379
+ */
1380
+ radius?: ChipRadius;
1381
+ /**
1382
+ * Avatar element to display on the left side
1383
+ */
1384
+ avatar?: ReactNode;
1385
+ /**
1386
+ * Content to display at the start of the chip
1387
+ */
1388
+ startContent?: ReactNode;
1389
+ /**
1390
+ * Content to display at the end of the chip
1391
+ */
1392
+ endContent?: ReactNode;
1393
+ /**
1394
+ * Whether the chip is disabled
1395
+ * @default false
1396
+ */
1397
+ isDisabled?: boolean;
1398
+ /**
1399
+ * Custom class names for different slots
1400
+ */
1401
+ classNames?: ChipSlots;
1402
+ /**
1403
+ * Custom class name for the chip
1404
+ */
1405
+ className?: string;
1406
+ /**
1407
+ * Handler called when the close button is clicked
1408
+ */
1409
+ onClose?: (e: MouseEvent_2<HTMLButtonElement>) => void;
1410
+ }
1411
+
1412
+ declare type ChipRadius = "none" | "sm" | "md" | "lg" | "full";
1413
+
1414
+ export declare type ChipSize = "sm" | "md" | "lg";
1415
+
1416
+ declare interface ChipSlots {
1417
+ /**
1418
+ * The base slot of the chip, it is the container of the chip
1419
+ */
1420
+ base?: string;
1421
+ /**
1422
+ * The content slot of the chip, it is the container of the chip children
1423
+ */
1424
+ content?: string;
1425
+ /**
1426
+ * Small dot on the left side of the chip. Visible when variant=dot
1427
+ */
1428
+ dot?: string;
1429
+ /**
1430
+ * Avatar classes of the chip. Visible when avatar prop is passed
1431
+ */
1432
+ avatar?: string;
1433
+ /**
1434
+ * Close button classes of the chip. Visible when onClose prop is passed
1435
+ */
1436
+ closeButton?: string;
1437
+ }
1438
+
1439
+ export declare type ChipVariant = "solid" | "bordered" | "light" | "flat" | "faded" | "shadow" | "dot";
1440
+
1441
+ /**
1442
+ * Column alignment options
1443
+ */
1444
+ declare type ColumnAlign = "start" | "center" | "end";
1445
+
1446
+ /**
1447
+ * Column definition interface
1448
+ */
1449
+ declare interface ColumnDef<T = any> {
1450
+ key: Key;
1451
+ label: ReactNode;
1452
+ align?: ColumnAlign;
1453
+ allowsSorting?: boolean;
1454
+ hideHeader?: boolean;
1455
+ isRowHeader?: boolean;
1456
+ sortIcon?: ReactNode;
1457
+ width?: string | number;
1458
+ minWidth?: string | number;
1459
+ maxWidth?: string | number;
1460
+ render?: (item: T) => ReactNode;
1461
+ }
1462
+
1463
+ /**
1464
+ * Content placement options
1465
+ */
1466
+ declare type ContentPlacement = "inside" | "outside";
1467
+
1468
+ /**
1469
+ * CounterText Component
1470
+ *
1471
+ * Animates a number from one value to another with formatting options
1472
+ * and customizable animation effects.
1473
+ *
1474
+ * @example
1475
+ * <CounterText
1476
+ * from={0}
1477
+ * to={1000}
1478
+ * duration={2}
1479
+ * format="currency"
1480
+ * currency="USD"
1481
+ * decimals={2}
1482
+ * />
1483
+ */
1484
+ export declare const CounterText: React_2.FC<CounterTextProps>;
1485
+
1486
+ /**
1487
+ * CounterText component props
1488
+ */
1489
+ export declare interface CounterTextProps extends Omit<BaseTextProps, 'text'> {
1490
+ /** Starting number */
1491
+ from: number;
1492
+ /** Ending number */
1493
+ to: number;
1494
+ /** Animation duration in seconds */
1495
+ duration?: number;
1496
+ /** Number of decimal places */
1497
+ decimals?: number;
1498
+ /** Number format (e.g., currency, percentage) */
1499
+ format?: 'number' | 'currency' | 'percentage';
1500
+ /** Currency symbol for currency format */
1501
+ currency?: string;
1502
+ /** Locale for number formatting */
1503
+ locale?: string;
1504
+ /** Custom formatter function */
1505
+ formatter?: (value: number) => string;
1506
+ /** Animation easing */
1507
+ easing?: TextEasing;
1508
+ /** Prefix text */
1509
+ prefix?: string;
1510
+ /** Suffix text */
1511
+ suffix?: string;
1512
+ }
1513
+
1514
+ /**
1515
+ * Typewriter cursor styles
1516
+ */
1517
+ export declare type CursorStyle = 'block' | 'line' | 'underscore' | 'none';
1518
+
1519
+ /**
1520
+ * Disabled behavior types
1521
+ */
1522
+ declare type DisabledBehavior = "selection" | "all";
1523
+
1524
+ declare type EasingType = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'backIn' | 'backOut' | 'backInOut' | 'bounceIn' | 'bounceOut' | 'bounceInOut' | 'elasticIn' | 'elasticOut' | 'elasticInOut';
1525
+
1526
+ declare type EasingType_2 = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'circIn' | 'circOut' | 'circInOut' | 'backIn' | 'backOut' | 'backInOut' | 'anticipate';
1527
+
1528
+ export declare interface EffectConfig {
1529
+ shadow?: boolean;
1530
+ shadowColor?: string;
1531
+ shadowBlur?: number;
1532
+ glow?: boolean;
1533
+ glowColor?: string;
1534
+ glowIntensity?: number;
1535
+ }
1536
+
1537
+ export declare const FadeContainer: default_2.FC<FadeContainerProps>;
1538
+
1539
+ export declare interface FadeContainerProps extends BaseAnimatedContainerProps {
1540
+ startOpacity?: number;
1541
+ endOpacity?: number;
1542
+ blur?: boolean;
1543
+ blurAmount?: number;
1544
+ }
1545
+
1546
+ /**
1547
+ * FadeIn Animation Component
1548
+ *
1549
+ * Animates opacity from transparent to opaque with customizable timing and triggers
1550
+ */
1551
+ export declare const FadeIn: React.FC<FadeInProps>;
1552
+
1553
+ export declare interface FadeInProps extends BaseAnimationProps {
1554
+ from?: number;
1555
+ to?: number;
1556
+ }
1557
+
1558
+ /**
1559
+ * Filter function type
1560
+ */
1561
+ declare type FilterFunction = (textValue: string, inputValue: string) => boolean;
1562
+
1563
+ export declare const FlipContainer: default_2.FC<FlipContainerProps>;
1564
+
1565
+ export declare interface FlipContainerProps extends BaseAnimatedContainerProps {
1566
+ direction?: FlipDirection;
1567
+ perspective?: number;
1568
+ backfaceVisible?: boolean;
1569
+ }
1570
+
1571
+ declare type FlipDirection = 'horizontal' | 'vertical' | 'both';
1572
+
1573
+ /**
1574
+ * Function to generate custom initials from name
1575
+ */
1576
+ declare type GetInitialsFunction = (name: string) => string;
1577
+
1578
+ /**
1579
+ * Glitch intensity levels
1580
+ */
1581
+ export declare type GlitchIntensity = 'low' | 'medium' | 'high' | 'extreme';
1582
+
1583
+ /**
1584
+ * GlitchText Component
1585
+ *
1586
+ * Creates a glitch effect on text with customizable intensity levels,
1587
+ * colors, and corruption effects. Supports continuous animation and
1588
+ * various trigger modes.
1589
+ *
1590
+ * @example
1591
+ * <GlitchText
1592
+ * text="GLITCH EFFECT"
1593
+ * intensity="high"
1594
+ * continuous={true}
1595
+ * colors={['#ff0000', '#00ff00', '#0000ff']}
1596
+ * corruptData={true}
1597
+ * />
1598
+ */
1599
+ export declare const GlitchText: React_2.FC<GlitchTextProps>;
1600
+
1601
+ /**
1602
+ * GlitchText component props
1603
+ */
1604
+ export declare interface GlitchTextProps extends BaseTextProps {
1605
+ /** Glitch effect intensity */
1606
+ intensity?: GlitchIntensity;
1607
+ /** Animation duration in seconds */
1608
+ duration?: number;
1609
+ /** Whether to animate continuously */
1610
+ continuous?: boolean;
1611
+ /** Glitch colors array */
1612
+ colors?: string[];
1613
+ /** Whether to include data corruption effect */
1614
+ corruptData?: boolean;
1615
+ /** Custom glitch characters */
1616
+ glitchChars?: string;
1617
+ /** Number of glitch layers */
1618
+ layers?: number;
1619
+ }
1620
+
1621
+ /**
1622
+ * Gradient animation directions
1623
+ */
1624
+ export declare type GradientDirection = 'horizontal' | 'vertical' | 'diagonal' | 'radial';
1625
+
1626
+ /**
1627
+ * GradientText Component
1628
+ *
1629
+ * Displays text with animated color gradients that can move in different directions.
1630
+ * Supports continuous animation and various gradient styles.
1631
+ *
1632
+ * @example
1633
+ * <GradientText
1634
+ * text="Texto con gradiente animado"
1635
+ * colors={['#ff0000', '#00ff00', '#0000ff']}
1636
+ * direction="horizontal"
1637
+ * animate={true}
1638
+ * duration={3}
1639
+ * />
1640
+ */
1641
+ export declare const GradientText: React_2.FC<GradientTextProps>;
1642
+
1643
+ /**
1644
+ * GradientText component props
1645
+ */
1646
+ export declare interface GradientTextProps extends BaseTextProps {
1647
+ /** Gradient colors array */
1648
+ colors: string[];
1649
+ /** Gradient animation direction */
1650
+ direction?: GradientDirection;
1651
+ /** Animation duration in seconds */
1652
+ duration?: number;
1653
+ /** Animation speed multiplier */
1654
+ speed?: number;
1655
+ /** Whether to animate continuously */
1656
+ animate?: boolean;
1657
+ /** Background size for gradient animation */
1658
+ backgroundSize?: string;
1659
+ /** Custom gradient stops */
1660
+ stops?: number[];
1661
+ }
1662
+
1663
+ /**
1664
+ * Enhanced Image component with comprehensive features
1665
+ * Supports lazy loading, fallback images, zoom effects, and blur effects
1666
+ * @param props - Image component properties
1667
+ * @returns JSX element representing a styled image
1668
+ */
1669
+ declare const Image_2: ({ src, srcSet, sizes, alt, width, height, radius, shadow, loading, fallbackSrc, isBlurred, isZoomed, removeWrapper, disableSkeleton, className, classNames, onLoad, onError, "data-testid": dataTestId, }: ImageProps) => JSX.Element;
1670
+ export { Image_2 as Image }
1671
+
1672
+ /**
1673
+ * Loading behavior for Image component
1674
+ */
1675
+ export declare type ImageLoading = "eager" | "lazy";
1676
+
1677
+ /**
1678
+ * Props interface for the main Image component
1679
+ */
1680
+ export declare interface ImageProps {
1681
+ /** Image source URL */
1682
+ src: string;
1683
+ /** Image source set for responsive images */
1684
+ srcSet?: string;
1685
+ /** Image sizes attribute for responsive images */
1686
+ sizes?: string;
1687
+ /** Alternative text for the image */
1688
+ alt: string;
1689
+ /** Image width */
1690
+ width?: number;
1691
+ /** Image height */
1692
+ height?: number;
1693
+ /** Border radius variant */
1694
+ radius?: ImageRadius;
1695
+ /** Shadow variant */
1696
+ shadow?: ImageShadow;
1697
+ /** Loading behavior */
1698
+ loading?: ImageLoading;
1699
+ /** Fallback image source URL when main image fails to load */
1700
+ fallbackSrc?: string;
1701
+ /** Whether to apply blur effect */
1702
+ isBlurred?: boolean;
1703
+ /** Whether to enable zoom on hover */
1704
+ isZoomed?: boolean;
1705
+ /** Whether to remove the wrapper div */
1706
+ removeWrapper?: boolean;
1707
+ /** Whether to disable skeleton loading animation */
1708
+ disableSkeleton?: boolean;
1709
+ /** Additional CSS classes to apply */
1710
+ className?: string;
1711
+ /** Custom class names for different slots */
1712
+ classNames?: Partial<Record<"img" | "wrapper" | "zoomedWrapper" | "blurredImg", string>>;
1713
+ /** Image load event handler */
1714
+ onLoad?: ReactEventHandler<HTMLImageElement>;
1715
+ /** Image error event handler */
1716
+ onError?: () => void;
1717
+ /** Test ID for testing frameworks */
1718
+ "data-testid"?: string;
1719
+ }
1720
+
1721
+ /**
1722
+ * Radius variants for Image component
1723
+ */
1724
+ export declare type ImageRadius = "none" | "sm" | "md" | "lg" | "full";
1725
+
1726
+ /**
1727
+ * Shadow variants for Image component
1728
+ */
1729
+ export declare type ImageShadow = "none" | "sm" | "md" | "lg";
1730
+
1731
+ /**
1732
+ * Input Component
1733
+ *
1734
+ * A comprehensive input component based on HeroUI design system.
1735
+ * Supports multiple variants, sizes, colors, validation, and advanced features.
1736
+ *
1737
+ * Features:
1738
+ * - Multiple variants (flat, bordered, faded, underlined)
1739
+ * - Color themes and sizes
1740
+ * - Label positioning (inside, outside, outside-left)
1741
+ * - Validation with error messages
1742
+ * - Clear button functionality
1743
+ * - Start and end content slots
1744
+ * - Password visibility toggle
1745
+ * - Full accessibility support
1746
+ *
1747
+ * @param props - Input component props
1748
+ * @returns JSX element representing the input
1749
+ */
1750
+ export declare const Input: default_2.ForwardRefExoticComponent<InputProps & default_2.RefAttributes<HTMLInputElement>>;
1751
+
1752
+ /**
1753
+ * Input class names for different slots
1754
+ */
1755
+ declare interface InputClassNames {
1756
+ /** Base wrapper element */
1757
+ base?: string;
1758
+ /** Label element */
1759
+ label?: string;
1760
+ /** Main wrapper for outside label placements */
1761
+ mainWrapper?: string;
1762
+ /** Input wrapper element */
1763
+ inputWrapper?: string;
1764
+ /** Inner wrapper for input and content */
1765
+ innerWrapper?: string;
1766
+ /** Input element itself */
1767
+ input?: string;
1768
+ /** Clear button element */
1769
+ clearButton?: string;
1770
+ /** Helper wrapper for description and error */
1771
+ helperWrapper?: string;
1772
+ /** Description text element */
1773
+ description?: string;
1774
+ /** Error message element */
1775
+ errorMessage?: string;
1776
+ }
1777
+
1778
+ /**
1779
+ * Input color variants
1780
+ */
1781
+ declare type InputColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
1782
+
1783
+ /**
1784
+ * Label placement options
1785
+ */
1786
+ declare type InputLabelPlacement = "inside" | "outside" | "outside-left";
1787
+
1788
+ /**
1789
+ * Main Input component props interface
1790
+ * Based on HeroUI Input component API
1791
+ */
1792
+ export declare interface InputProps {
1793
+ /** Input label */
1794
+ label?: ReactNode;
1795
+ /** Input placeholder text */
1796
+ placeholder?: string;
1797
+ /** Input description text */
1798
+ description?: ReactNode;
1799
+ /** Error message - can be static or function */
1800
+ errorMessage?: ReactNode | ((validation: ValidationResult) => ReactNode);
1801
+ /** Content to display at the start of the input */
1802
+ startContent?: ReactNode;
1803
+ /** Content to display at the end of the input */
1804
+ endContent?: ReactNode;
1805
+ /** Controlled input value */
1806
+ value?: string;
1807
+ /** Default value for uncontrolled input */
1808
+ defaultValue?: string;
1809
+ /** Visual variant of the input */
1810
+ variant?: InputVariant;
1811
+ /** Color theme */
1812
+ color?: InputColor;
1813
+ /** Size variant */
1814
+ size?: InputSize;
1815
+ /** Border radius */
1816
+ radius?: InputRadius;
1817
+ /** Label placement */
1818
+ labelPlacement?: InputLabelPlacement;
1819
+ /** Whether input takes full width */
1820
+ fullWidth?: boolean;
1821
+ /** Input type */
1822
+ type?: InputType;
1823
+ /** Minimum length validation */
1824
+ minLength?: number;
1825
+ /** Maximum length validation */
1826
+ maxLength?: number;
1827
+ /** Pattern for validation */
1828
+ pattern?: string;
1829
+ /** Whether the input is required */
1830
+ isRequired?: boolean;
1831
+ /** Whether the input is disabled */
1832
+ isDisabled?: boolean;
1833
+ /** Whether the input is read-only */
1834
+ isReadOnly?: boolean;
1835
+ /** Whether the input has validation errors */
1836
+ isInvalid?: boolean;
1837
+ /** Whether to show clear button */
1838
+ isClearable?: boolean;
1839
+ /** Whether to disable animations */
1840
+ disableAnimation?: boolean;
1841
+ /** Custom class names for different parts */
1842
+ classNames?: Partial<InputClassNames>;
1843
+ /** Additional CSS class */
1844
+ className?: string;
1845
+ /** Custom validation function */
1846
+ validate?: (value: string) => ValidationError | true | null | undefined;
1847
+ /** Validation behavior mode */
1848
+ validationBehavior?: ValidationBehavior;
1849
+ /** Ref to the base wrapper element */
1850
+ baseRef?: RefObject<HTMLDivElement>;
1851
+ /** Native change event handler */
1852
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
1853
+ /** Value change handler (HeroUI style) */
1854
+ onValueChange?: (value: string) => void;
1855
+ /** Clear button click handler */
1856
+ onClear?: () => void;
1857
+ /** Focus event handler */
1858
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
1859
+ /** Blur event handler */
1860
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
1861
+ /** Key down event handler */
1862
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
1863
+ /** Key up event handler */
1864
+ onKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
1865
+ /** Test ID for automated testing */
1866
+ "data-testid"?: string;
1867
+ /** ARIA label */
1868
+ "aria-label"?: string;
1869
+ /** ARIA labelledby */
1870
+ "aria-labelledby"?: string;
1871
+ /** ARIA describedby */
1872
+ "aria-describedby"?: string;
1873
+ }
1874
+
1875
+ /**
1876
+ * Input radius variants
1877
+ */
1878
+ declare type InputRadius = "none" | "sm" | "md" | "lg" | "full";
1879
+
1880
+ /**
1881
+ * Input size variants
1882
+ */
1883
+ declare type InputSize = "sm" | "md" | "lg";
1884
+
1885
+ /**
1886
+ * Input type variants
1887
+ */
1888
+ declare type InputType = "text" | "email" | "url" | "password" | "tel" | "search" | "file" | "number";
1889
+
1890
+ /**
1891
+ * Input visual variants
1892
+ */
1893
+ declare type InputVariant = "flat" | "bordered" | "faded" | "underlined";
1894
+
1895
+ export declare const LibraryLink: default_2.FC<LibraryLinkProps>;
1896
+
1897
+ export declare interface LibraryLinkProps {
1898
+ to: string;
1899
+ children: React.ReactNode;
1900
+ className?: string;
1901
+ activeClassName?: string;
1902
+ exact?: boolean;
1903
+ replace?: boolean;
1904
+ onClick?: (event: React.MouseEvent) => void;
1905
+ }
1906
+
1907
+ export declare interface LibraryRouterProps {
1908
+ children: React.ReactNode;
1909
+ basePath?: string;
1910
+ routes?: Route[];
1911
+ onRouteChange?: (path: string) => void;
1912
+ }
1913
+
1914
+ /**
1915
+ * Menu trigger behavior
1916
+ */
1917
+ declare type MenuTriggerAction = 'focus' | 'input' | 'manual';
1918
+
1919
+ export declare const Modal: ForwardRefExoticComponent<ModalProps & RefAttributes<HTMLDivElement>>;
1920
+
1921
+ declare type ModalBackdrop = 'transparent' | 'opaque' | 'blur';
1922
+
1923
+ declare type ModalPlacement = 'auto' | 'top' | 'top-center' | 'center' | 'bottom' | 'bottom-center';
1924
+
1925
+ export declare interface ModalProps {
1926
+ children?: ReactNode;
1927
+ size?: ModalSize;
1928
+ radius?: ModalRadius;
1929
+ shadow?: ModalShadow;
1930
+ backdrop?: ModalBackdrop;
1931
+ scrollBehavior?: ModalScrollBehavior;
1932
+ placement?: ModalPlacement;
1933
+ isOpen?: boolean;
1934
+ defaultOpen?: boolean;
1935
+ isDismissable?: boolean;
1936
+ isKeyboardDismissDisabled?: boolean;
1937
+ shouldBlockScroll?: boolean;
1938
+ hideCloseButton?: boolean;
1939
+ closeButton?: ReactNode;
1940
+ motionProps?: MotionProps;
1941
+ portalContainer?: HTMLElement;
1942
+ disableAnimation?: boolean;
1943
+ classNames?: Partial<ModalSlots>;
1944
+ className?: string;
1945
+ onOpenChange?: (isOpen: boolean) => void;
1946
+ onClose?: () => void;
1947
+ isDraggable?: boolean;
1948
+ allowOverflow?: boolean;
1949
+ }
1950
+
1951
+ declare type ModalRadius = 'none' | 'sm' | 'md' | 'lg';
1952
+
1953
+ declare type ModalScrollBehavior = 'normal' | 'inside' | 'outside';
1954
+
1955
+ declare type ModalShadow = 'none' | 'sm' | 'md' | 'lg';
1956
+
1957
+ declare type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'full';
1958
+
1959
+ declare interface ModalSlots {
1960
+ wrapper?: string;
1961
+ base?: string;
1962
+ backdrop?: string;
1963
+ header?: string;
1964
+ body?: string;
1965
+ footer?: string;
1966
+ closeButton?: string;
1967
+ }
1968
+
1969
+ export declare const MorphingContainer: default_2.FC<MorphingContainerProps>;
1970
+
1971
+ export declare interface MorphingContainerProps extends BaseAnimatedContainerProps {
1972
+ morphStates?: Array<{
1973
+ width?: string | number;
1974
+ height?: string | number;
1975
+ borderRadius?: string | number;
1976
+ backgroundColor?: string;
1977
+ transform?: string;
1978
+ }>;
1979
+ morphInterval?: number;
1980
+ autoMorph?: boolean;
1981
+ }
1982
+
1983
+ /**
1984
+ * MorphingText Component
1985
+ *
1986
+ * Animates between different texts with morphing transitions.
1987
+ * Supports multiple morph styles including fade, slide, and scramble effects.
1988
+ *
1989
+ * @example
1990
+ * <MorphingText
1991
+ * texts={['Hola', 'Mundo', 'Texto']}
1992
+ * displayDuration={2000}
1993
+ * morphDuration={800}
1994
+ * morphStyle="scramble"
1995
+ * loop={true}
1996
+ * />
1997
+ */
1998
+ export declare const MorphingText: React_2.FC<MorphingTextProps>;
1999
+
2000
+ /**
2001
+ * MorphingText component props
2002
+ */
2003
+ export declare interface MorphingTextProps extends Omit<BaseTextProps, 'text'> {
2004
+ /** Array of texts to morph between */
2005
+ texts: string[];
2006
+ /** Duration to show each text */
2007
+ displayDuration?: number;
2008
+ /** Morphing animation duration */
2009
+ morphDuration?: number;
2010
+ /** Whether to loop through texts */
2011
+ loop?: boolean;
2012
+ /** Morphing animation easing */
2013
+ easing?: TextEasing;
2014
+ /** Character morphing style */
2015
+ morphStyle?: 'fade' | 'slide' | 'scramble';
2016
+ }
2017
+
2018
+ export declare const Navbar: ForwardRefExoticComponent<NavbarProps & RefAttributes<HTMLElement>>;
2019
+
2020
+ declare type NavbarMaxWidth = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
2021
+
2022
+ declare type NavbarPosition = 'static' | 'sticky';
2023
+
2024
+ export declare interface NavbarProps {
2025
+ children?: ReactNode;
2026
+ height?: string | number;
2027
+ position?: NavbarPosition;
2028
+ maxWidth?: NavbarMaxWidth;
2029
+ parentRef?: React.RefObject<HTMLElement>;
2030
+ isBordered?: boolean;
2031
+ isBlurred?: boolean;
2032
+ isMenuOpen?: boolean;
2033
+ isMenuDefaultOpen?: boolean;
2034
+ shouldHideOnScroll?: boolean;
2035
+ disableScrollHandler?: boolean;
2036
+ disableAnimation?: boolean;
2037
+ classNames?: Partial<NavbarSlots>;
2038
+ className?: string;
2039
+ onMenuOpenChange?: (isOpen: boolean) => void;
2040
+ onScrollPositionChange?: (position: number) => void;
2041
+ }
2042
+
2043
+ declare interface NavbarSlots {
2044
+ base?: string;
2045
+ wrapper?: string;
2046
+ brand?: string;
2047
+ content?: string;
2048
+ item?: string;
2049
+ toggle?: string;
2050
+ toggleIcon?: string;
2051
+ menu?: string;
2052
+ menuItem?: string;
2053
+ }
2054
+
2055
+ export declare const Navigation: default_2.FC<NavigationProps>;
2056
+
2057
+ export declare interface NavigationProps {
2058
+ routes: RouteGroup[];
2059
+ className?: string;
2060
+ renderItem?: (route: Route, isActive: boolean) => React.ReactNode;
2061
+ }
2062
+
2063
+ /**
2064
+ * Main Pagination component that provides pagination functionality
2065
+ */
2066
+ export declare const Pagination: default_2.FC<PaginationProps>;
2067
+
2068
+ /**
2069
+ * Color variants for Pagination component
2070
+ */
2071
+ declare type PaginationColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
2072
+
2073
+ /**
2074
+ * Pagination context value
2075
+ */
2076
+ declare interface PaginationContextValue {
2077
+ /** Current page */
2078
+ activePage: number;
2079
+ /** Total pages */
2080
+ totalPages: number;
2081
+ /** Set page function */
2082
+ setPage: (page: number) => void;
2083
+ /** Size variant */
2084
+ size: PaginationSize;
2085
+ /** Color variant */
2086
+ color: PaginationColor;
2087
+ /** Visual variant */
2088
+ variant: PaginationVariant;
2089
+ /** Border radius */
2090
+ radius: PaginationRadius;
2091
+ /** Whether disabled */
2092
+ isDisabled: boolean;
2093
+ /** Whether animations are disabled */
2094
+ disableAnimation: boolean;
2095
+ /** Controls configuration */
2096
+ controls: Required<PaginationControlsConfig>;
2097
+ /** Display configuration */
2098
+ display: Required<PaginationDisplayConfig>;
2099
+ }
2100
+
2101
+ /**
2102
+ * Configuration for pagination controls
2103
+ */
2104
+ declare interface PaginationControlsConfig {
2105
+ /** Show previous/next buttons */
2106
+ showControls?: boolean;
2107
+ /** Show first/last page buttons */
2108
+ showFirstLast?: boolean;
2109
+ /** Placement of control buttons */
2110
+ placement?: PaginationControlsPlacement;
2111
+ /** Custom labels for controls */
2112
+ labels?: {
2113
+ prev?: string | ReactNode;
2114
+ next?: string | ReactNode;
2115
+ first?: string | ReactNode;
2116
+ last?: string | ReactNode;
2117
+ };
2118
+ }
2119
+
2120
+ /**
2121
+ * Placement options for pagination controls
2122
+ */
2123
+ declare type PaginationControlsPlacement = "start" | "end" | "both";
2124
+
2125
+ /**
2126
+ * Props for pagination cursor (prev/next buttons)
2127
+ */
2128
+ declare interface PaginationCursorProps {
2129
+ /** Direction of the cursor */
2130
+ direction: "prev" | "next";
2131
+ /** Whether the cursor is disabled */
2132
+ isDisabled?: boolean;
2133
+ /** Click handler */
2134
+ onClick?: () => void;
2135
+ /** Custom content to render */
2136
+ children?: ReactNode;
2137
+ /** Additional CSS classes */
2138
+ className?: string;
2139
+ /** Size variant */
2140
+ size?: PaginationSize;
2141
+ /** Color variant */
2142
+ color?: PaginationColor;
2143
+ /** Visual variant */
2144
+ variant?: PaginationVariant;
2145
+ /** Border radius */
2146
+ radius?: PaginationRadius;
2147
+ /** ARIA label for accessibility */
2148
+ "aria-label"?: string;
2149
+ /** Test ID for testing */
2150
+ "data-testid"?: string;
2151
+ }
2152
+
2153
+ /**
2154
+ * Configuration for pagination display
2155
+ */
2156
+ declare interface PaginationDisplayConfig {
2157
+ /** Whether to show page numbers */
2158
+ showPages?: boolean;
2159
+ /** Maximum number of page buttons to show */
2160
+ siblings?: number;
2161
+ /** Show dots when pages are collapsed */
2162
+ showDots?: boolean;
2163
+ /** Whether to loop from last to first page */
2164
+ loop?: boolean;
2165
+ /** Compact mode with minimal spacing */
2166
+ compact?: boolean;
2167
+ /** Show shadow effect */
2168
+ showShadow?: boolean;
2169
+ }
2170
+
2171
+ /**
2172
+ * Props for dots separator component
2173
+ */
2174
+ declare interface PaginationDotsProps {
2175
+ /** Additional CSS classes */
2176
+ className?: string;
2177
+ /** Size variant */
2178
+ size?: PaginationSize;
2179
+ /** Custom content */
2180
+ children?: ReactNode;
2181
+ /** Test ID for testing */
2182
+ "data-testid"?: string;
2183
+ }
2184
+
2185
+ /**
2186
+ * Pagination ellipsis/dots component for collapsed pages
2187
+ */
2188
+ export declare const PaginationEllipsis: ForwardRefExoticComponent<PaginationDotsProps & RefAttributes<HTMLSpanElement>>;
2189
+
2190
+ /**
2191
+ * First page button component
2192
+ */
2193
+ export declare const PaginationFirst: ForwardRefExoticComponent<Omit<PaginationCursorProps, "direction"> & RefAttributes<HTMLButtonElement>>;
2194
+
2195
+ /**
2196
+ * Individual pagination item component
2197
+ */
2198
+ export declare const PaginationItem: ForwardRefExoticComponent<PaginationItemProps & RefAttributes<HTMLButtonElement>>;
2199
+
2200
+ /**
2201
+ * Pagination item data structure
2202
+ */
2203
+ declare interface PaginationItemData {
2204
+ /** Type of the item */
2205
+ type: PaginationItemType;
2206
+ /** Value (page number for pages) */
2207
+ value: number | string;
2208
+ /** Whether the item is active */
2209
+ isActive: boolean;
2210
+ /** Whether the item is disabled */
2211
+ isDisabled: boolean;
2212
+ /** Key for React rendering */
2213
+ key: string;
2214
+ }
2215
+
2216
+ /**
2217
+ * Props for individual pagination item
2218
+ */
2219
+ export declare interface PaginationItemProps {
2220
+ /** Page number or item identifier */
2221
+ value: number | string;
2222
+ /** Type of pagination item */
2223
+ type: PaginationItemType;
2224
+ /** Whether the item is currently active */
2225
+ isActive?: boolean;
2226
+ /** Whether the item is disabled */
2227
+ isDisabled?: boolean;
2228
+ /** Click handler for the item */
2229
+ onClick?: (value: number | string) => void;
2230
+ /** Custom content to render */
2231
+ children?: ReactNode;
2232
+ /** Additional CSS classes */
2233
+ className?: string;
2234
+ /** Size variant */
2235
+ size?: PaginationSize;
2236
+ /** Color variant */
2237
+ color?: PaginationColor;
2238
+ /** Visual variant */
2239
+ variant?: PaginationVariant;
2240
+ /** Border radius */
2241
+ radius?: PaginationRadius;
2242
+ /** ARIA label for accessibility */
2243
+ "aria-label"?: string;
2244
+ /** Test ID for testing */
2245
+ "data-testid"?: string;
2246
+ }
2247
+
2248
+ /**
2249
+ * Item type for pagination items
2250
+ */
2251
+ declare type PaginationItemType = "page" | "prev" | "next" | "dots" | "first" | "last";
2252
+
2253
+ /**
2254
+ * Last page button component
2255
+ */
2256
+ export declare const PaginationLast: ForwardRefExoticComponent<Omit<PaginationCursorProps, "direction"> & RefAttributes<HTMLButtonElement>>;
2257
+
2258
+ /**
2259
+ * Next page button component
2260
+ */
2261
+ export declare const PaginationNext: ForwardRefExoticComponent<Omit<PaginationCursorProps, "direction"> & RefAttributes<HTMLButtonElement>>;
2262
+
2263
+ /**
2264
+ * Previous page button component
2265
+ */
2266
+ export declare const PaginationPrevious: ForwardRefExoticComponent<Omit<PaginationCursorProps, "direction"> & RefAttributes<HTMLButtonElement>>;
2267
+
2268
+ /**
2269
+ * Main pagination component props
2270
+ */
2271
+ export declare interface PaginationProps {
2272
+ /** Total number of pages */
2273
+ total: number;
2274
+ /** Current active page (1-based) */
2275
+ page?: number;
2276
+ /** Default page for uncontrolled component */
2277
+ defaultPage?: number;
2278
+ /** Initial page (alias for defaultPage) */
2279
+ initialPage?: number;
2280
+ /** Callback when page changes */
2281
+ onChange?: (page: number) => void;
2282
+ /** Callback when page is clicked */
2283
+ onPageChange?: (page: number) => void;
2284
+ /** Size variant */
2285
+ size?: PaginationSize;
2286
+ /** Color variant */
2287
+ color?: PaginationColor;
2288
+ /** Visual variant */
2289
+ variant?: PaginationVariant;
2290
+ /** Border radius */
2291
+ radius?: PaginationRadius;
2292
+ /** Whether the pagination is disabled */
2293
+ isDisabled?: boolean;
2294
+ /** Whether to disable animations */
2295
+ disableAnimation?: boolean;
2296
+ /** Controls configuration */
2297
+ controls?: PaginationControlsConfig;
2298
+ /** Display configuration */
2299
+ display?: PaginationDisplayConfig;
2300
+ /** Additional CSS classes */
2301
+ className?: string;
2302
+ /** Custom styles */
2303
+ style?: React.CSSProperties;
2304
+ /** ARIA label for the pagination */
2305
+ "aria-label"?: string;
2306
+ /** Test ID for testing */
2307
+ "data-testid"?: string;
2308
+ }
2309
+
2310
+ /**
2311
+ * Radius variants for Pagination component
2312
+ */
2313
+ declare type PaginationRadius = "none" | "sm" | "md" | "lg" | "xl" | "full";
2314
+
2315
+ /**
2316
+ * Size variants for Pagination component
2317
+ */
2318
+ declare type PaginationSize = "xs" | "sm" | "md" | "lg" | "xl";
2319
+
2320
+ /**
2321
+ * Visual variants for Pagination component
2322
+ */
2323
+ declare type PaginationVariant = "flat" | "bordered" | "light" | "faded";
2324
+
2325
+ export declare const ParallaxContainer: default_2.FC<ParallaxContainerProps>;
2326
+
2327
+ export declare interface ParallaxContainerProps extends BaseAnimatedContainerProps {
2328
+ speed?: number;
2329
+ direction?: 'vertical' | 'horizontal' | 'both';
2330
+ offset?: number;
2331
+ enableOnMobile?: boolean;
2332
+ }
2333
+
2334
+ export declare const Progress: ForwardRefExoticComponent<ProgressProps & RefAttributes<HTMLDivElement>>;
2335
+
2336
+ declare type ProgressColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
2337
+
2338
+ export declare interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
2339
+ /**
2340
+ * The current progress value (0-100)
2341
+ */
2342
+ value?: number;
2343
+ /**
2344
+ * The maximum value for progress calculation
2345
+ * @default 100
2346
+ */
2347
+ maxValue?: number;
2348
+ /**
2349
+ * The minimum value for progress calculation
2350
+ * @default 0
2351
+ */
2352
+ minValue?: number;
2353
+ /**
2354
+ * The color theme of the progress bar
2355
+ * @default "primary"
2356
+ */
2357
+ color?: ProgressColor;
2358
+ /**
2359
+ * The size of the progress bar
2360
+ * @default "md"
2361
+ */
2362
+ size?: ProgressSize;
2363
+ /**
2364
+ * The radius of the progress bar
2365
+ * @default "full"
2366
+ */
2367
+ radius?: ProgressRadius;
2368
+ /**
2369
+ * Whether to show the progress percentage as text
2370
+ * @default false
2371
+ */
2372
+ showValueLabel?: boolean;
2373
+ /**
2374
+ * Custom label to display instead of percentage
2375
+ */
2376
+ label?: string;
2377
+ /**
2378
+ * Whether to show a striped pattern
2379
+ * @default false
2380
+ */
2381
+ isStriped?: boolean;
2382
+ /**
2383
+ * Whether the progress is in an indeterminate state
2384
+ * @default false
2385
+ */
2386
+ isIndeterminate?: boolean;
2387
+ /**
2388
+ * Whether to disable the progress bar
2389
+ * @default false
2390
+ */
2391
+ isDisabled?: boolean;
2392
+ /**
2393
+ * Custom class name for the progress bar
2394
+ */
2395
+ className?: string;
2396
+ /**
2397
+ * Custom class name for the progress bar track
2398
+ */
2399
+ classNames?: {
2400
+ base?: string;
2401
+ track?: string;
2402
+ indicator?: string;
2403
+ label?: string;
2404
+ value?: string;
2405
+ };
2406
+ }
2407
+
2408
+ declare type ProgressRadius = "none" | "sm" | "md" | "lg" | "full";
2409
+
2410
+ declare type ProgressSize = "sm" | "md" | "lg";
2411
+
2412
+ /**
2413
+ * Text reveal modes
2414
+ */
2415
+ export declare type RevealMode = 'letter' | 'word' | 'line';
2416
+
2417
+ /**
2418
+ * RevealText Component
2419
+ *
2420
+ * Reveals text character by character, word by word, or line by line
2421
+ * with customizable animation effects and directions.
2422
+ *
2423
+ * @example
2424
+ * <RevealText
2425
+ * text="Texto que se revela gradualmente"
2426
+ * mode="letter"
2427
+ * direction="up"
2428
+ * staggerDelay={0.05}
2429
+ * />
2430
+ */
2431
+ export declare const RevealText: React_2.FC<RevealTextProps>;
2432
+
2433
+ /**
2434
+ * RevealText component props
2435
+ */
2436
+ export declare interface RevealTextProps extends BaseTextProps {
2437
+ /** How to reveal the text */
2438
+ mode?: RevealMode;
2439
+ /** Animation duration per unit (letter/word) */
2440
+ duration?: number;
2441
+ /** Stagger delay between units */
2442
+ staggerDelay?: number;
2443
+ /** Direction of reveal animation */
2444
+ direction?: TextDirection;
2445
+ /** Initial opacity of hidden text */
2446
+ initialOpacity?: number;
2447
+ /** Animation easing */
2448
+ easing?: TextEasing;
2449
+ /** Reveal with blur effect */
2450
+ withBlur?: boolean;
2451
+ /** Reveal with scale effect */
2452
+ withScale?: boolean;
2453
+ /** Reveal with rotation effect */
2454
+ withRotation?: boolean;
2455
+ }
2456
+
2457
+ declare type RotateDirection = 'clockwise' | 'counterclockwise';
2458
+
2459
+ /**
2460
+ * RotateIn Animation Component
2461
+ *
2462
+ * Animates elements rotating into view with customizable direction and rotation degrees
2463
+ */
2464
+ export declare const RotateIn: React.FC<RotateInProps>;
2465
+
2466
+ export declare interface RotateInProps extends BaseAnimationProps {
2467
+ direction?: RotateDirection;
2468
+ degrees?: number;
2469
+ transformOrigin?: string;
2470
+ }
2471
+
2472
+ export declare interface Route {
2473
+ path: string;
2474
+ element: React.ComponentType;
2475
+ label: string;
2476
+ icon?: React.ReactNode;
2477
+ category?: string;
2478
+ exact?: boolean;
2479
+ }
2480
+
2481
+ export declare interface RouteGroup {
2482
+ label: string;
2483
+ routes: Route[];
2484
+ }
2485
+
2486
+ export declare interface RouterContextType {
2487
+ routes: Route[];
2488
+ currentPath: string;
2489
+ navigate: (path: string) => void;
2490
+ goBack: () => void;
2491
+ goForward: () => void;
2492
+ addRoute: (route: Route) => void;
2493
+ removeRoute: (path: string) => void;
2494
+ getRoutesByCategory: (category: string) => Route[];
2495
+ }
2496
+
2497
+ /**
2498
+ * Row data interface
2499
+ */
2500
+ declare interface RowData {
2501
+ key: Key;
2502
+ [key: string]: any;
2503
+ }
2504
+
2505
+ export declare const ScaleContainer: default_2.FC<ScaleContainerProps>;
2506
+
2507
+ export declare interface ScaleContainerProps extends BaseAnimatedContainerProps {
2508
+ startScale?: number;
2509
+ endScale?: number;
2510
+ scaleOrigin?: string;
2511
+ bounce?: boolean;
2512
+ }
2513
+
2514
+ /**
2515
+ * ScaleIn Animation Component
2516
+ *
2517
+ * Animates elements scaling from small to full size with optional hover/tap effects
2518
+ */
2519
+ export declare const ScaleIn: React.FC<ScaleInProps>;
2520
+
2521
+ export declare interface ScaleInProps extends BaseAnimationProps {
2522
+ from?: number;
2523
+ to?: number;
2524
+ transformOrigin?: string;
2525
+ }
2526
+
2527
+ export declare interface ScrollConfig {
2528
+ target?: React.RefObject<HTMLElement>;
2529
+ offset?: [string, string];
2530
+ smooth?: boolean;
2531
+ }
2532
+
2533
+ /**
2534
+ * Selection type - can be "all" or a Set of keys
2535
+ */
2536
+ declare type Selection_2 = "all" | Set<Key>;
2537
+
2538
+ /**
2539
+ * Selection behavior types
2540
+ */
2541
+ declare type SelectionBehavior = "toggle" | "replace";
2542
+
2543
+ /**
2544
+ * Selection modes for table rows
2545
+ */
2546
+ declare type SelectionMode_2 = "none" | "single" | "multiple";
2547
+
2548
+ declare type SeparatorType = 'slash' | 'chevron' | 'arrow' | 'dot' | 'custom';
2549
+
2550
+ export declare const Sidebar: default_2.FC<SidebarProps>;
2551
+
2552
+ export declare const SidebarContent: default_2.FC<SidebarContentProps>;
2553
+
2554
+ export declare interface SidebarContentProps {
2555
+ children: ReactNode;
2556
+ className?: string;
2557
+ }
2558
+
2559
+ export declare interface SidebarContextType {
2560
+ isOpen: boolean;
2561
+ isMobile: boolean;
2562
+ toggle: () => void;
2563
+ open: () => void;
2564
+ close: () => void;
2565
+ }
2566
+
2567
+ export declare const SidebarFooter: default_2.FC<SidebarFooterProps>;
2568
+
2569
+ export declare interface SidebarFooterProps {
2570
+ children: ReactNode;
2571
+ className?: string;
2572
+ }
2573
+
2574
+ export declare const SidebarHeader: default_2.FC<SidebarHeaderProps>;
2575
+
2576
+ export declare interface SidebarHeaderProps {
2577
+ children: ReactNode;
2578
+ className?: string;
2579
+ showCloseButton?: boolean;
2580
+ onClose?: () => void;
2581
+ }
2582
+
2583
+ export declare const SidebarItem: default_2.FC<SidebarItemProps>;
2584
+
2585
+ export declare interface SidebarItemProps {
2586
+ children: ReactNode;
2587
+ icon?: ReactNode;
2588
+ isActive?: boolean;
2589
+ href?: string;
2590
+ to?: string;
2591
+ onClick?: () => void;
2592
+ className?: string;
2593
+ disabled?: boolean;
2594
+ }
2595
+
2596
+ export declare interface SidebarProps {
2597
+ children?: ReactNode;
2598
+ className?: string;
2599
+ width?: number | string;
2600
+ position?: "left" | "right";
2601
+ variant?: "permanent" | "temporary" | "persistent";
2602
+ backdrop?: boolean;
2603
+ closeOnBackdropClick?: boolean;
2604
+ closeOnEscape?: boolean;
2605
+ }
2606
+
2607
+ export declare const SidebarTrigger: default_2.FC<SidebarTriggerProps>;
2608
+
2609
+ export declare interface SidebarTriggerProps {
2610
+ children?: ReactNode;
2611
+ className?: string;
2612
+ "aria-label"?: string;
2613
+ }
2614
+
2615
+ export declare const SlideContainer: default_2.FC<SlideContainerProps>;
2616
+
2617
+ export declare interface SlideContainerProps extends BaseAnimatedContainerProps {
2618
+ direction?: SlideDirection;
2619
+ distance?: number;
2620
+ overshoot?: boolean;
2621
+ }
2622
+
2623
+ declare type SlideDirection = 'up' | 'down' | 'left' | 'right' | 'upLeft' | 'upRight' | 'downLeft' | 'downRight';
2624
+
2625
+ declare type SlideDirection_2 = 'up' | 'down' | 'left' | 'right';
2626
+
2627
+ /**
2628
+ * SlideIn Animation Component
2629
+ *
2630
+ * Animates elements sliding in from different directions (up, down, left, right)
2631
+ */
2632
+ export declare const SlideIn: React.FC<SlideInProps>;
2633
+
2634
+ export declare interface SlideInProps extends BaseAnimationProps {
2635
+ direction?: SlideDirection_2;
2636
+ distance?: number;
2637
+ }
2638
+
2639
+ /**
2640
+ * Sort descriptor interface
2641
+ */
2642
+ declare interface SortDescriptor {
2643
+ column?: Key;
2644
+ direction?: "ascending" | "descending";
2645
+ }
2646
+
2647
+ export declare const Spinner: default_2.FC<SpinnerProps>;
2648
+
2649
+ declare interface SpinnerAnimationConfig {
2650
+ duration?: number;
2651
+ delay?: number;
2652
+ repeat?: number;
2653
+ repeatType?: 'loop' | 'reverse' | 'mirror';
2654
+ repeatDelay?: number;
2655
+ }
2656
+
2657
+ declare type SpinnerColor = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'neutral';
2658
+
2659
+ export declare interface SpinnerProps extends BaseSpinnerProps {
2660
+ /** Optional label text to display below spinner */
2661
+ label?: string;
2662
+ /** Optional overlay mode */
2663
+ overlay?: boolean;
2664
+ /** Overlay background opacity (0-1) */
2665
+ overlayOpacity?: number;
2666
+ /** Custom overlay background color */
2667
+ overlayColor?: string;
2668
+ }
2669
+
2670
+ declare type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2671
+
2672
+ declare type SpinnerSpeed = 'slow' | 'normal' | 'fast';
2673
+
2674
+ declare type SpinnerType = 'rotating' | 'pulse' | 'bounce' | 'wave' | 'grid' | 'ring' | 'dots' | 'bars';
2675
+
2676
+ /**
2677
+ * Stagger Animation Component
2678
+ *
2679
+ * Animates multiple children with a staggered delay effect
2680
+ */
2681
+ export declare const Stagger: React.FC<StaggerProps>;
2682
+
2683
+ export declare const StaggerContainer: default_2.FC<StaggerContainerProps>;
2684
+
2685
+ export declare interface StaggerContainerProps extends BaseAnimatedContainerProps {
2686
+ staggerDelay?: number;
2687
+ staggerDirection?: 'normal' | 'reverse' | 'alternate';
2688
+ childSelector?: string;
2689
+ }
2690
+
2691
+ export declare interface StaggerProps {
2692
+ children: ReactNode[];
2693
+ className?: string;
2694
+ staggerDelay?: number;
2695
+ animationType?: AnimationType;
2696
+ direction?: SlideDirection_2;
2697
+ duration?: number;
2698
+ threshold?: number;
2699
+ }
2700
+
2701
+ /**
2702
+ * Enhanced Switch component with framer-motion animations
2703
+ * Supports multiple sizes, colors, states, and custom icons
2704
+ * @param props - Switch component properties
2705
+ * @returns JSX element representing a styled switch with smooth animations
2706
+ */
2707
+ export declare const Switch: ({ children, value, name, size, color, thumbIcon: ThumbIconComponent, startContent, endContent, isSelected: controlledSelected, defaultSelected, isReadOnly, isDisabled, disableAnimation, className, classNames, onChange, onValueChange, "data-testid": dataTestId, }: SwitchProps) => JSX.Element;
2708
+
2709
+ /**
2710
+ * Color variants for Switch component
2711
+ */
2712
+ declare type SwitchColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
2713
+
2714
+ /**
2715
+ * Props interface for the main Switch component
2716
+ */
2717
+ export declare interface SwitchProps {
2718
+ /** Content to render as switch label */
2719
+ children?: ReactNode;
2720
+ /** Value attribute for the switch input */
2721
+ value?: string;
2722
+ /** Name attribute for the switch input */
2723
+ name?: string;
2724
+ /** Size variant of the switch */
2725
+ size?: SwitchSize;
2726
+ /** Color theme of the switch */
2727
+ color?: SwitchColor;
2728
+ /** Custom icon component for thumb */
2729
+ thumbIcon?: React.ComponentType<ThumbIconProps>;
2730
+ /** Content to display at the start of the switch */
2731
+ startContent?: ReactNode;
2732
+ /** Content to display at the end of the switch */
2733
+ endContent?: ReactNode;
2734
+ /** Whether the switch is selected (controlled) */
2735
+ isSelected?: boolean;
2736
+ /** Default selected state (uncontrolled) */
2737
+ defaultSelected?: boolean;
2738
+ /** Whether the switch is read-only */
2739
+ isReadOnly?: boolean;
2740
+ /** Whether the switch is disabled */
2741
+ isDisabled?: boolean;
2742
+ /** Whether to disable animations */
2743
+ disableAnimation?: boolean;
2744
+ /** Additional CSS classes to apply */
2745
+ className?: string;
2746
+ /** Custom class names for different slots */
2747
+ classNames?: Partial<Record<"base" | "wrapper" | "thumb" | "label" | "startContent" | "endContent" | "thumbIcon" | "hiddenInput", string>>;
2748
+ /** Native change event handler */
2749
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
2750
+ /** Value change event handler */
2751
+ onValueChange?: (isSelected: boolean) => void;
2752
+ /** Test ID for testing frameworks */
2753
+ "data-testid"?: string;
2754
+ }
2755
+
2756
+ /**
2757
+ * Size variants for Switch component
2758
+ */
2759
+ declare type SwitchSize = "sm" | "md" | "lg";
2760
+
2761
+ export declare const Table: <T extends Record<string, any> = any>({ children, className, color, layout, radius, shadow, maxTableHeight, rowHeight, isVirtualized, hideHeader, isStriped, isCompact, isHeaderSticky, fullWidth, removeWrapper, topContent, bottomContent, topContentPlacement, bottomContentPlacement, showSelectionCheckboxes, sortDescriptor, selectedKeys, defaultSelectedKeys, disabledKeys, disallowEmptySelection, selectionMode, selectionBehavior, disabledBehavior, allowDuplicateSelectionEvents, disableAnimation, isKeyboardNavigationDisabled, columns, items, onRowAction, onCellAction, onSelectionChange, onSortChange, "data-testid": testId, ...props }: TableProps<T>) => JSX.Element;
2762
+
2763
+ /**
2764
+ * Table color variants
2765
+ */
2766
+ declare type TableColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger";
2767
+
2768
+ /**
2769
+ * Table layout types
2770
+ */
2771
+ declare type TableLayout = "auto" | "fixed";
2772
+
2773
+ /**
2774
+ * Table main component props
2775
+ */
2776
+ export declare interface TableProps<T = RowData> {
2777
+ children?: ReactNode;
2778
+ className?: string;
2779
+ color?: TableColor;
2780
+ layout?: TableLayout;
2781
+ radius?: TableRadius;
2782
+ shadow?: TableShadow;
2783
+ maxTableHeight?: number;
2784
+ rowHeight?: number;
2785
+ isVirtualized?: boolean;
2786
+ hideHeader?: boolean;
2787
+ isStriped?: boolean;
2788
+ isCompact?: boolean;
2789
+ isHeaderSticky?: boolean;
2790
+ fullWidth?: boolean;
2791
+ removeWrapper?: boolean;
2792
+ topContent?: ReactNode;
2793
+ bottomContent?: ReactNode;
2794
+ topContentPlacement?: ContentPlacement;
2795
+ bottomContentPlacement?: ContentPlacement;
2796
+ showSelectionCheckboxes?: boolean;
2797
+ sortDescriptor?: SortDescriptor;
2798
+ selectedKeys?: Selection_2;
2799
+ defaultSelectedKeys?: Selection_2;
2800
+ disabledKeys?: Selection_2;
2801
+ disallowEmptySelection?: boolean;
2802
+ selectionMode?: SelectionMode_2;
2803
+ selectionBehavior?: SelectionBehavior;
2804
+ disabledBehavior?: DisabledBehavior;
2805
+ allowDuplicateSelectionEvents?: boolean;
2806
+ disableAnimation?: boolean;
2807
+ isKeyboardNavigationDisabled?: boolean;
2808
+ columns?: ColumnDef<T>[];
2809
+ items?: T[];
2810
+ onRowAction?: (key: Key) => void;
2811
+ onCellAction?: (key: Key) => void;
2812
+ onSelectionChange?: (keys: Selection_2) => void;
2813
+ onSortChange?: (descriptor: SortDescriptor) => void;
2814
+ "data-testid"?: string;
2815
+ }
2816
+
2817
+ /**
2818
+ * Table radius options
2819
+ */
2820
+ declare type TableRadius = "none" | "sm" | "md" | "lg";
2821
+
2822
+ export declare const TableRow: <T extends Record<string, any> = any>({ children, className, textValue, item, "data-testid": testId, ...props }: TableRowProps<T>) => JSX.Element;
2823
+
2824
+ /**
2825
+ * Table row props
2826
+ */
2827
+ declare interface TableRowProps<T = any> {
2828
+ children?: ReactNode;
2829
+ className?: string;
2830
+ textValue?: string;
2831
+ item?: T;
2832
+ "data-testid"?: string;
2833
+ }
2834
+
2835
+ /**
2836
+ * Table shadow options
2837
+ */
2838
+ declare type TableShadow = "none" | "sm" | "md" | "lg";
2839
+
2840
+ /**
2841
+ * Animation directions for text reveals
2842
+ */
2843
+ export declare type TextDirection = 'left' | 'right' | 'up' | 'down' | 'center';
2844
+
2845
+ /**
2846
+ * Easing types for text animations
2847
+ */
2848
+ export declare type TextEasing = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'backIn' | 'backOut' | 'backInOut' | 'bounceIn' | 'bounceOut' | 'bounceInOut';
2849
+
2850
+ /**
2851
+ * Animation trigger types for text animations
2852
+ */
2853
+ export declare type TextTrigger = 'inView' | 'hover' | 'focus' | 'manual' | 'immediate';
2854
+
2855
+ /**
2856
+ * Props interface for custom thumb icon
2857
+ */
2858
+ declare interface ThumbIconProps {
2859
+ /** Whether the switch is selected */
2860
+ isSelected?: boolean;
2861
+ /** Additional CSS classes */
2862
+ className?: string;
2863
+ }
2864
+
2865
+ /**
2866
+ * Toast component for displaying notifications
2867
+ * @param props - Toast component properties
2868
+ * @returns JSX element representing a toast notification
2869
+ */
2870
+ export declare const Toast: ({ id, type, title, description, closable, action, icon, size, variant, radius, position, className, onRemove, onClose, "data-testid": dataTestId, }: ToastProps) => JSX.Element;
2871
+
2872
+ /**
2873
+ * ToastContainer component that renders all active toasts
2874
+ * @param props - ToastContainer component properties
2875
+ * @returns JSX element representing the toast container
2876
+ */
2877
+ export declare const ToastContainer: ({ position, className, maxToasts, "data-testid": dataTestId, }: ToastContainerProps) => ReactPortal | null;
2878
+
2879
+ /**
2880
+ * Toast container props
2881
+ */
2882
+ export declare interface ToastContainerProps {
2883
+ position?: ToastPosition;
2884
+ className?: string;
2885
+ maxToasts?: number;
2886
+ "data-testid"?: string;
2887
+ }
2888
+
2889
+ /**
2890
+ * Individual toast item interface
2891
+ */
2892
+ declare interface ToastItem {
2893
+ id: string;
2894
+ type: ToastType;
2895
+ title?: string;
2896
+ description?: string;
2897
+ duration?: number;
2898
+ closable?: boolean;
2899
+ action?: ReactNode;
2900
+ icon?: ReactNode;
2901
+ position?: ToastPosition;
2902
+ size?: ToastSize;
2903
+ variant?: ToastVariant;
2904
+ radius?: ToastRadius;
2905
+ className?: string;
2906
+ onClose?: (id: string) => void;
2907
+ }
2908
+
2909
+ /**
2910
+ * Toast options for quick methods
2911
+ */
2912
+ declare interface ToastOptions {
2913
+ title?: string;
2914
+ description?: string;
2915
+ duration?: number;
2916
+ closable?: boolean;
2917
+ action?: ReactNode;
2918
+ icon?: ReactNode;
2919
+ position?: ToastPosition;
2920
+ size?: ToastSize;
2921
+ variant?: ToastVariant;
2922
+ radius?: ToastRadius;
2923
+ className?: string;
2924
+ onClose?: (id: string) => void;
2925
+ }
2926
+
2927
+ /**
2928
+ * Toast positions on the screen
2929
+ */
2930
+ declare type ToastPosition = "top" | "top-left" | "top-right" | "bottom" | "bottom-left" | "bottom-right";
2931
+
2932
+ /**
2933
+ * Toast component props
2934
+ */
2935
+ export declare interface ToastProps extends ToastItem {
2936
+ onRemove: (id: string) => void;
2937
+ "data-testid"?: string;
2938
+ }
2939
+
2940
+ /**
2941
+ * Toast Provider component
2942
+ * Provides toast functionality to the application
2943
+ * @param props - ToastProvider component properties
2944
+ * @returns JSX element representing the toast provider
2945
+ */
2946
+ export declare const ToastProvider: ({ children, position, maxToasts, defaultDuration, }: ToastProviderProps) => JSX.Element;
2947
+
2948
+ /**
2949
+ * Toast provider props
2950
+ */
2951
+ export declare interface ToastProviderProps {
2952
+ children: ReactNode;
2953
+ position?: ToastPosition;
2954
+ maxToasts?: number;
2955
+ defaultDuration?: number;
2956
+ className?: string;
2957
+ }
2958
+
2959
+ /**
2960
+ * Toast radius options
2961
+ */
2962
+ declare type ToastRadius = "none" | "sm" | "md" | "lg" | "full";
2963
+
2964
+ /**
2965
+ * Toast sizes
2966
+ */
2967
+ declare type ToastSize = "sm" | "md" | "lg";
2968
+
2969
+ /**
2970
+ * Toast types for different notification styles
2971
+ */
2972
+ declare type ToastType = "success" | "error" | "warning" | "info" | "default";
2973
+
2974
+ /**
2975
+ * Toast variants
2976
+ */
2977
+ declare type ToastVariant = "solid" | "bordered" | "flat" | "faded" | "shadow";
2978
+
2979
+ export declare const Tooltip: default_2.FC<TooltipProps>;
2980
+
2981
+ /**
2982
+ * Animation types for tooltip entrance/exit
2983
+ */
2984
+ declare type TooltipAnimation = 'fade' | 'scale' | 'shift' | 'bounce' | 'rotate' | 'slide' | 'zoom' | 'flip' | 'elastic' | 'none';
2985
+
2986
+ /**
2987
+ * Advanced animation configuration
2988
+ */
2989
+ declare interface TooltipAnimationConfig {
2990
+ /** Animation type */
2991
+ type?: TooltipAnimation;
2992
+ /** Animation speed */
2993
+ speed?: TooltipAnimationSpeed;
2994
+ /** Animation easing */
2995
+ easing?: TooltipAnimationEasing;
2996
+ /** Custom duration in seconds */
2997
+ duration?: number;
2998
+ /** Delay before animation starts */
2999
+ delay?: number;
3000
+ /** Spring configuration for bouncy animations */
3001
+ spring?: {
3002
+ tension?: number;
3003
+ friction?: number;
3004
+ mass?: number;
3005
+ };
3006
+ }
3007
+
3008
+ /**
3009
+ * Animation easing types
3010
+ */
3011
+ declare type TooltipAnimationEasing = 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'backIn' | 'backOut' | 'backInOut' | 'elasticIn' | 'elasticOut' | 'elasticInOut' | 'bounceIn' | 'bounceOut' | 'bounceInOut';
3012
+
3013
+ /**
3014
+ * Animation speed configuration
3015
+ */
3016
+ declare type TooltipAnimationSpeed = 'slow' | 'normal' | 'fast' | 'instant';
3017
+
3018
+ /**
3019
+ * Arrow configuration
3020
+ */
3021
+ declare interface TooltipArrow {
3022
+ /** Whether to show arrow */
3023
+ enabled?: boolean;
3024
+ /** Arrow size in pixels */
3025
+ size?: number;
3026
+ /** Arrow offset from edge */
3027
+ offset?: number;
3028
+ }
3029
+
3030
+ /**
3031
+ * Delay configuration for tooltip show/hide
3032
+ */
3033
+ declare interface TooltipDelay {
3034
+ /** Delay before showing tooltip (ms) */
3035
+ show?: number;
3036
+ /** Delay before hiding tooltip (ms) */
3037
+ hide?: number;
3038
+ }
3039
+
3040
+ /**
3041
+ * Offset configuration for tooltip positioning
3042
+ */
3043
+ declare interface TooltipOffset {
3044
+ mainAxis?: number;
3045
+ crossAxis?: number;
3046
+ }
3047
+
3048
+ /**
3049
+ * Tooltip placement positions
3050
+ */
3051
+ declare type TooltipPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
3052
+
3053
+ /**
3054
+ * Main Tooltip component props
3055
+ */
3056
+ export declare interface TooltipProps extends BaseTooltipProps {
3057
+ /** Children to render as trigger */
3058
+ children: ReactNode;
3059
+ /** Whether children should be wrapped in span */
3060
+ asChild?: boolean;
3061
+ }
3062
+
3063
+ export declare const TooltipProvider: default_2.FC<TooltipProviderProps>;
3064
+
3065
+ /**
3066
+ * Tooltip provider context props
3067
+ */
3068
+ export declare interface TooltipProviderProps {
3069
+ /** Default delay configuration */
3070
+ delayDuration?: number;
3071
+ /** Skip delay when moving between tooltips */
3072
+ skipDelayDuration?: number;
3073
+ /** Disable hover card globally */
3074
+ disableHoverableContent?: boolean;
3075
+ /** Children */
3076
+ children: ReactNode;
3077
+ }
3078
+
3079
+ /**
3080
+ * Size variants for tooltip
3081
+ */
3082
+ declare type TooltipSize = 'xs' | 'sm' | 'md' | 'lg';
3083
+
3084
+ /**
3085
+ * Tooltip trigger types
3086
+ */
3087
+ declare type TooltipTrigger = 'hover' | 'click' | 'focus' | 'manual';
3088
+
3089
+ /**
3090
+ * Color variants for tooltip
3091
+ */
3092
+ declare type TooltipVariant = 'dark' | 'light' | 'primary' | 'success' | 'warning' | 'error';
3093
+
3094
+ export declare interface TransitionConfig {
3095
+ type?: 'spring' | 'tween' | 'keyframes' | 'inertia';
3096
+ duration?: number;
3097
+ delay?: number;
3098
+ ease?: EasingType_2 | number[];
3099
+ damping?: number;
3100
+ stiffness?: number;
3101
+ mass?: number;
3102
+ bounce?: number;
3103
+ }
3104
+
3105
+ export declare type TriggerType = 'inView' | 'hover' | 'focus' | 'manual' | 'immediate';
3106
+
3107
+ /**
3108
+ * TypeWriter Component
3109
+ *
3110
+ * Creates a typewriter effect where text appears character by character,
3111
+ * with optional cursor, deletion, and multiple text cycling.
3112
+ *
3113
+ * @example
3114
+ * <TypeWriter
3115
+ * text="Hola mundo"
3116
+ * speed={2}
3117
+ * showCursor={true}
3118
+ * cursor="line"
3119
+ * />
3120
+ */
3121
+ export declare const TypeWriter: React_2.FC<TypeWriterProps>;
3122
+
3123
+ /**
3124
+ * TypeWriter component props
3125
+ */
3126
+ export declare interface TypeWriterProps extends BaseTextProps {
3127
+ /** Typing speed in characters per second */
3128
+ speed?: number;
3129
+ /** Cursor style */
3130
+ cursor?: CursorStyle;
3131
+ /** Cursor color */
3132
+ cursorColor?: string;
3133
+ /** Whether to show blinking cursor */
3134
+ showCursor?: boolean;
3135
+ /** Whether to delete text after typing */
3136
+ deleteAfter?: boolean;
3137
+ /** Deletion speed in characters per second */
3138
+ deleteSpeed?: number;
3139
+ /** Pause duration before deletion (in seconds) */
3140
+ pauseBeforeDelete?: number;
3141
+ /** Multiple texts to cycle through */
3142
+ texts?: string[];
3143
+ /** Loop through texts infinitely */
3144
+ loop?: boolean;
3145
+ }
3146
+
3147
+ /**
3148
+ * Custom hook for managing accordion state and behavior
3149
+ */
3150
+ export declare const useAccordion: (config?: UseAccordionConfig) => UseAccordionReturn;
3151
+
3152
+ /**
3153
+ * Configuration for useAccordion hook
3154
+ */
3155
+ declare interface UseAccordionConfig {
3156
+ /** Selection mode */
3157
+ selectionMode?: AccordionSelectionMode;
3158
+ /** Default expanded keys */
3159
+ defaultExpandedKeys?: string[];
3160
+ /** Controlled expanded keys */
3161
+ expandedKeys?: string[];
3162
+ /** Change handler */
3163
+ onExpandedChange?: (keys: string[]) => void;
3164
+ /** Single selection change handler */
3165
+ onSelectionChange?: (key: string) => void;
3166
+ /** Whether disabled */
3167
+ isDisabled?: boolean;
3168
+ }
3169
+
3170
+ /**
3171
+ * Return type for useAccordion hook
3172
+ */
3173
+ declare interface UseAccordionReturn {
3174
+ /** Currently expanded keys */
3175
+ expandedKeys: string[];
3176
+ /** Check if an item is expanded */
3177
+ isExpanded: (key: string) => boolean;
3178
+ /** Toggle a specific item */
3179
+ toggle: (key: string) => void;
3180
+ /** Expand a specific item */
3181
+ expand: (key: string) => void;
3182
+ /** Collapse a specific item */
3183
+ collapse: (key: string) => void;
3184
+ /** Expand all items */
3185
+ expandAll: () => void;
3186
+ /** Collapse all items */
3187
+ collapseAll: () => void;
3188
+ /** Set expanded keys directly */
3189
+ setExpandedKeys: (keys: string[]) => void;
3190
+ }
3191
+
3192
+ /**
3193
+ * Custom useAutocomplete hook for managing autocomplete state and behavior
3194
+ */
3195
+ export declare function useAutocomplete<T = AutocompleteItemData>(props: AutocompleteProps<T>): UseAutocompleteReturn<T>;
3196
+
3197
+ /**
3198
+ * Hook return type for useAutocomplete
3199
+ */
3200
+ declare interface UseAutocompleteReturn<T = AutocompleteItemData> {
3201
+ /** Input value state */
3202
+ inputValue: string;
3203
+ /** Selected key state */
3204
+ selectedKey: Key | null;
3205
+ /** Open state */
3206
+ isOpen: boolean;
3207
+ /** Loading state */
3208
+ isLoading: boolean;
3209
+ /** Filtered items */
3210
+ filteredItems: T[];
3211
+ /** Focused item key */
3212
+ focusedKey: Key | null;
3213
+ /** Input props */
3214
+ inputProps: ComponentPropsWithoutRef<"input"> & {
3215
+ ref: default_2.RefObject<HTMLInputElement | null>;
3216
+ };
3217
+ /** Listbox props */
3218
+ listboxProps: ComponentPropsWithoutRef<"ul">;
3219
+ /** Popover props */
3220
+ popoverProps: {
3221
+ isOpen: boolean;
3222
+ onOpenChange: (isOpen: boolean) => void;
3223
+ };
3224
+ /** Clear button props */
3225
+ clearButtonProps: ComponentPropsWithoutRef<"button">;
3226
+ /** Selector button props */
3227
+ selectorButtonProps: ComponentPropsWithoutRef<"button">;
3228
+ /** Container ref for click outside detection */
3229
+ containerRef: default_2.RefObject<HTMLDivElement | null>;
3230
+ /** Methods */
3231
+ clearValue: () => void;
3232
+ selectItem: (key: Key) => void;
3233
+ close: () => void;
3234
+ open: () => void;
3235
+ /** State setters */
3236
+ setInputValue: (value: string) => void;
3237
+ setSelectedKey: (key: Key | null) => void;
3238
+ setIsOpen: (isOpen: boolean) => void;
3239
+ }
3240
+
3241
+ /**
3242
+ * useAvatar hook for custom Avatar implementations
3243
+ * Handles image loading, fallback logic, and initials generation
3244
+ */
3245
+ export declare const useAvatar: (props: AvatarProps) => UseAvatarReturn;
3246
+
3247
+ /**
3248
+ * useAvatarGroup hook for custom AvatarGroup implementations
3249
+ * Handles child counting, context creation, and overflow logic
3250
+ */
3251
+ export declare const useAvatarGroup: (props: AvatarGroupProps) => UseAvatarGroupReturn;
3252
+
3253
+ /**
3254
+ * Avatar Group hook return type for custom implementations
3255
+ */
3256
+ declare interface UseAvatarGroupReturn {
3257
+ /** Context value for child avatars */
3258
+ context: AvatarGroupContextValue;
3259
+ /** Number of remaining avatars not displayed */
3260
+ remainingCount: number;
3261
+ /** Whether to show the count indicator */
3262
+ shouldShowCount: boolean;
3263
+ /** Props for the base wrapper element */
3264
+ baseProps: ComponentPropsWithoutRef<"div">;
3265
+ /** Props for the count element */
3266
+ countProps: ComponentPropsWithoutRef<"div">;
3267
+ }
3268
+
3269
+ /**
3270
+ * Avatar hook return type for custom implementations
3271
+ */
3272
+ declare interface UseAvatarReturn {
3273
+ /** Whether the image has loaded successfully */
3274
+ isImgLoaded: boolean;
3275
+ /** Whether to show the fallback content */
3276
+ shouldShowFallback: boolean;
3277
+ /** Generated initials from name */
3278
+ initials: string;
3279
+ /** Props for the image element */
3280
+ imgProps: ComponentPropsWithoutRef<"img">;
3281
+ /** Props for the base wrapper element */
3282
+ baseProps: ComponentPropsWithoutRef<"div">;
3283
+ /** Props for the fallback element */
3284
+ fallbackProps: ComponentPropsWithoutRef<"div">;
3285
+ }
3286
+
3287
+ export declare const useLibraryNavigation: () => {
3288
+ navigateTo: (path: string, replace?: boolean) => void;
3289
+ goBack: () => void;
3290
+ goForward: () => void;
3291
+ isActive: (path: string, exact?: boolean) => boolean;
3292
+ currentPath: string;
3293
+ getCurrentRoute: () => Route | undefined;
3294
+ getRouteByPath: (path: string) => Route | undefined;
3295
+ routes: Route[];
3296
+ };
3297
+
3298
+ export declare function useModal(props?: UseModalProps): UseModalReturn;
3299
+
3300
+ declare interface UseModalProps {
3301
+ isOpen?: boolean;
3302
+ defaultOpen?: boolean;
3303
+ onOpenChange?: (isOpen: boolean) => void;
3304
+ onClose?: () => void;
3305
+ }
3306
+
3307
+ declare interface UseModalReturn {
3308
+ isOpen: boolean;
3309
+ onOpen: () => void;
3310
+ onClose: () => void;
3311
+ onOpenChange: (isOpen: boolean) => void;
3312
+ }
3313
+
3314
+ export declare const useMorphingContainer: (morphStates: any[]) => {
3315
+ currentIndex: number;
3316
+ controls: LegacyAnimationControls;
3317
+ morphToNext: () => void;
3318
+ morphToPrevious: () => void;
3319
+ morphToIndex: (index: number) => void;
3320
+ };
3321
+
3322
+ /**
3323
+ * Custom hook for pagination logic and state management
3324
+ * @param config - Pagination configuration
3325
+ * @returns Pagination state and methods
3326
+ */
3327
+ export declare function usePagination(config: UsePaginationConfig): UsePaginationReturn;
3328
+
3329
+ /**
3330
+ * Hook configuration for usePagination
3331
+ */
3332
+ declare interface UsePaginationConfig {
3333
+ /** Total number of pages */
3334
+ total: number;
3335
+ /** Current page */
3336
+ page?: number;
3337
+ /** Default page */
3338
+ defaultPage?: number;
3339
+ /** Initial page */
3340
+ initialPage?: number;
3341
+ /** Number of siblings to show */
3342
+ siblings?: number;
3343
+ /** Whether to show dots */
3344
+ showDots?: boolean;
3345
+ /** Whether to loop pages */
3346
+ loop?: boolean;
3347
+ /** Callback when page changes */
3348
+ onChange?: (page: number) => void;
3349
+ }
3350
+
3351
+ /**
3352
+ * Hook to access pagination context
3353
+ */
3354
+ export declare const usePaginationContext: () => PaginationContextValue;
3355
+
3356
+ /**
3357
+ * Return type for usePagination hook
3358
+ */
3359
+ declare interface UsePaginationReturn {
3360
+ /** Current active page */
3361
+ activePage: number;
3362
+ /** Array of pagination items */
3363
+ range: PaginationItemData[];
3364
+ /** Go to specific page */
3365
+ setPage: (page: number) => void;
3366
+ /** Go to next page */
3367
+ next: () => void;
3368
+ /** Go to previous page */
3369
+ previous: () => void;
3370
+ /** Go to first page */
3371
+ first: () => void;
3372
+ /** Go to last page */
3373
+ last: () => void;
3374
+ /** Whether on first page */
3375
+ isFirst: boolean;
3376
+ /** Whether on last page */
3377
+ isLast: boolean;
3378
+ /** Total number of pages */
3379
+ totalPages: number;
3380
+ }
3381
+
3382
+ export declare const useParallaxContainer: (options?: {
3383
+ speed?: number;
3384
+ direction?: "vertical" | "horizontal" | "both";
3385
+ enableOnMobile?: boolean;
3386
+ }) => {
3387
+ isActive: boolean;
3388
+ isMobile: boolean;
3389
+ scrollY: MotionValue<number>;
3390
+ transformValue: {
3391
+ x?: undefined;
3392
+ y?: undefined;
3393
+ } | {
3394
+ x: MotionValue<number>;
3395
+ y?: undefined;
3396
+ } | {
3397
+ x: MotionValue<number>;
3398
+ y: MotionValue<number>;
3399
+ } | {
3400
+ y: MotionValue<number>;
3401
+ x?: undefined;
3402
+ };
3403
+ smoothY: MotionValue<number>;
3404
+ smoothX: MotionValue<number>;
3405
+ };
3406
+
3407
+ /**
3408
+ * User component - Display user information with avatar and name
3409
+ *
3410
+ * Features:
3411
+ * - Avatar with image, initials, or fallback icon
3412
+ * - Name and description text
3413
+ * - Focusable interaction support
3414
+ * - Customizable styling through classNames
3415
+ * - Responsive design
3416
+ *
3417
+ * @param props - User component properties
3418
+ * @returns JSX element representing a user display
3419
+ */
3420
+ export declare const User: ForwardRefExoticComponent<UserProps & RefAttributes<HTMLDivElement>>;
3421
+
3422
+ /**
3423
+ * Props interface for the User component
3424
+ */
3425
+ export declare interface UserProps {
3426
+ /** Name of the user */
3427
+ name?: string;
3428
+ /** Description or subtitle of the user */
3429
+ description?: ReactNode;
3430
+ /** Whether the user component is focusable */
3431
+ isFocusable?: boolean;
3432
+ /** Props to pass to the avatar component */
3433
+ avatarProps?: AvatarProps_2;
3434
+ /** Additional CSS classes to apply */
3435
+ className?: string;
3436
+ /** Custom class names for different slots */
3437
+ classNames?: Partial<Record<"base" | "wrapper" | "name" | "description", string>>;
3438
+ /** Click handler for the user component */
3439
+ onClick?: () => void;
3440
+ /** Test ID for testing frameworks */
3441
+ "data-testid"?: string;
3442
+ }
3443
+
3444
+ /**
3445
+ * Custom hook for easy toast management
3446
+ * Provides convenient methods for showing different types of toasts
3447
+ * @returns Object with toast methods
3448
+ */
3449
+ export declare const useToast: () => UseToastReturn;
3450
+
3451
+ /**
3452
+ * UseToast hook return type
3453
+ */
3454
+ declare interface UseToastReturn {
3455
+ toast: (message: string, options?: ToastOptions) => string;
3456
+ success: (message: string, options?: Omit<ToastOptions, "type">) => string;
3457
+ error: (message: string, options?: Omit<ToastOptions, "type">) => string;
3458
+ warning: (message: string, options?: Omit<ToastOptions, "type">) => string;
3459
+ info: (message: string, options?: Omit<ToastOptions, "type">) => string;
3460
+ dismiss: (id: string) => void;
3461
+ dismissAll: () => void;
3462
+ update: (id: string, updates: Partial<ToastItem>) => void;
3463
+ }
3464
+
3465
+ /**
3466
+ * Validation behavior options
3467
+ */
3468
+ declare type ValidationBehavior = "native" | "aria";
3469
+
3470
+ /**
3471
+ * Validation behavior types
3472
+ */
3473
+ declare type ValidationBehavior_2 = 'native' | 'aria';
3474
+
3475
+ /**
3476
+ * Custom validation error type
3477
+ */
3478
+ declare type ValidationError = string | string[];
3479
+
3480
+ /**
3481
+ * Validation error type
3482
+ */
3483
+ declare type ValidationError_2 = string | string[];
3484
+
3485
+ /**
3486
+ * Validation result interface
3487
+ */
3488
+ declare interface ValidationResult {
3489
+ /** Indicates whether the field value is valid */
3490
+ isInvalid: boolean;
3491
+ /** Array of validation errors */
3492
+ validationErrors: string[];
3493
+ /** Details about native validation state */
3494
+ validationDetails: {
3495
+ badInput?: boolean;
3496
+ patternMismatch?: boolean;
3497
+ rangeOverflow?: boolean;
3498
+ rangeUnderflow?: boolean;
3499
+ stepMismatch?: boolean;
3500
+ tooLong?: boolean;
3501
+ tooShort?: boolean;
3502
+ typeMismatch?: boolean;
3503
+ valueMissing?: boolean;
3504
+ valid?: boolean;
3505
+ };
3506
+ }
3507
+
3508
+ /**
3509
+ * Validation result interface
3510
+ */
3511
+ declare interface ValidationResult_2 {
3512
+ isInvalid: boolean;
3513
+ validationErrors: string[];
3514
+ validationDetails: Record<string, any>;
3515
+ }
3516
+
3517
+ export { Variants }
3518
+
3519
+ export declare interface ViewportConfig {
3520
+ once?: boolean;
3521
+ margin?: string;
3522
+ amount?: number | 'some' | 'all';
3523
+ }
3524
+
3525
+ export { }