my-animated-components 1.5.5 → 2.0.1

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.
Files changed (4) hide show
  1. package/dist/index.d.ts +559 -298
  2. package/dist/index.js +2862 -2160
  3. package/package.json +13 -3
  4. package/readme.md +91 -38
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { Variants, HTMLMotionProps, Transition, motion, MotionProps } from 'framer-motion';
2
+ import { Variants, HTMLMotionProps, Transition, MotionProps } from 'framer-motion';
3
3
 
4
4
  declare const motionVariants: Record<string, Variants>;
5
5
 
@@ -7,37 +7,116 @@ interface BaseProps {
7
7
  className?: string;
8
8
  }
9
9
  interface WithChildren {
10
- children: React.ReactNode;
10
+ children?: React.ReactNode;
11
11
  }
12
- type Color$e = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
13
- type Size$2 = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
12
+ type Color$h = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
13
+ type Size$3 = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
14
+ type Radius = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
15
+ type Variant = 'solid' | 'outline' | 'ghost' | 'glass' | 'gradient' | 'flat' | 'elevated';
14
16
  interface ColorProps {
15
- color?: Color$e;
17
+ color?: Color$h;
16
18
  }
17
19
  interface SizeProps {
20
+ size?: Size$3;
21
+ }
22
+ interface RadiusProps {
23
+ radius?: Radius;
24
+ }
25
+ interface VariantProps {
26
+ variant?: Variant;
27
+ }
28
+
29
+ type Color$g = 'primary' | 'secondary' | 'danger' | 'success' | 'info' | 'warning' | string;
30
+ type AccordionVariant = 'solid' | 'outline' | 'ghost' | 'glass' | 'elevated' | string;
31
+ interface AccordionItem {
32
+ title: string;
33
+ content: React$1.ReactNode;
34
+ disabled?: boolean;
35
+ }
36
+ interface AccordionProps extends BaseProps, RadiusProps {
37
+ items: AccordionItem[];
38
+ color?: Color$g;
39
+ variant?: AccordionVariant;
40
+ motionVariant?: keyof typeof motionVariants;
41
+ allowMultipleOpen?: boolean;
42
+ defaultOpenIndex?: number[];
43
+ customIcon?: React$1.ReactNode;
44
+ iconPosition?: 'left' | 'right';
45
+ wrapperClassName?: string;
46
+ headerClassName?: string;
47
+ contentClassName?: string;
48
+ }
49
+ declare const Accordion: React$1.FC<AccordionProps>;
50
+
51
+ type Color$f = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
52
+ type AlertVariant = 'flat' | 'solid' | 'glass' | string;
53
+ interface AlertProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children"> {
54
+ children?: React$1.ReactNode;
55
+ onClose?: () => void;
56
+ motionVariant?: keyof typeof motionVariants;
57
+ color?: Color$f;
58
+ variant?: AlertVariant;
59
+ }
60
+ declare const Alert: React$1.FC<AlertProps>;
61
+
62
+ interface AvatarProps extends BaseProps, SizeProps, RadiusProps, Omit<HTMLMotionProps<'div'>, 'children'> {
63
+ src?: string;
64
+ alt?: string;
65
+ initials?: string;
66
+ fallbackIcon?: React$1.ReactNode;
67
+ }
68
+ declare const Avatar: React$1.FC<AvatarProps>;
69
+
70
+ type Color$e = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
71
+ type Size$2 = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | string;
72
+ interface BadgeProps extends BaseProps, RadiusProps, VariantProps, Omit<HTMLMotionProps<"span">, "children"> {
73
+ children?: React$1.ReactNode;
74
+ motionVariant?: keyof typeof motionVariants;
75
+ color?: Color$e;
18
76
  size?: Size$2;
19
77
  }
78
+ declare const Badge: React$1.FC<BadgeProps>;
20
79
 
21
80
  type Color$d = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
22
- type ButtonVariant = 'solid' | 'outline' | 'ghost' | string;
23
- type Size$1 = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | string;
24
- type MotionVariantKey$4 = keyof typeof motionVariants;
25
- interface ButtonProps extends BaseProps, SizeProps, HTMLMotionProps<'button'> {
81
+ interface BreadcrumbProps extends BaseProps, Omit<HTMLMotionProps<"nav">, "children"> {
82
+ items: {
83
+ label: string;
84
+ href: string;
85
+ }[];
86
+ motionVariant?: keyof typeof motionVariants;
87
+ color?: Color$d;
88
+ }
89
+ declare const Breadcrumb: React$1.FC<BreadcrumbProps>;
90
+
91
+ type Color$c = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
92
+ type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'glass' | 'gradient' | string;
93
+ type Size$1 = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | string;
94
+ type MotionVariantKey$5 = keyof typeof motionVariants;
95
+ interface ButtonProps extends BaseProps, SizeProps, RadiusProps, Omit<HTMLMotionProps<'button'>, 'children'> {
96
+ /**
97
+ * Button content
98
+ */
99
+ children?: React$1.ReactNode;
26
100
  /**
27
101
  * Visual style of the button
28
102
  * @default 'solid'
29
103
  */
30
104
  variant?: ButtonVariant;
105
+ /**
106
+ * Border radius
107
+ * @default 'xl'
108
+ */
109
+ radius?: Radius;
31
110
  /**
32
111
  * Color theme of the button
33
112
  * @default 'primary'
34
113
  */
35
- color?: Color$d;
114
+ color?: Color$c;
36
115
  /**
37
116
  * Predefined motion variant from motionVariants for initial animation
38
117
  * @default 'fadeIn'
39
118
  */
40
- motionVariant?: MotionVariantKey$4;
119
+ motionVariant?: MotionVariantKey$5;
41
120
  /**
42
121
  * Custom animation variants to override default motionVariants
43
122
  */
@@ -45,15 +124,15 @@ interface ButtonProps extends BaseProps, SizeProps, HTMLMotionProps<'button'> {
45
124
  /**
46
125
  * Predefined motion variant for hover animation
47
126
  */
48
- whileHoverAnimation?: MotionVariantKey$4;
127
+ whileHoverAnimation?: MotionVariantKey$5;
49
128
  /**
50
129
  * Predefined motion variant for tap animation
51
130
  */
52
- whileTapAnimation?: MotionVariantKey$4;
131
+ whileTapAnimation?: MotionVariantKey$5;
53
132
  /**
54
133
  * Predefined motion variant for focus animation
55
134
  */
56
- whileFocusAnimation?: MotionVariantKey$4;
135
+ whileFocusAnimation?: MotionVariantKey$5;
57
136
  /**
58
137
  * Custom transition for initial animation
59
138
  */
@@ -84,7 +163,7 @@ interface ButtonProps extends BaseProps, SizeProps, HTMLMotionProps<'button'> {
84
163
  */
85
164
  customClasses?: {
86
165
  [variant in ButtonVariant]?: {
87
- [color in Color$d]?: string;
166
+ [color in Color$c]?: string;
88
167
  };
89
168
  };
90
169
  /**
@@ -110,184 +189,385 @@ interface ButtonProps extends BaseProps, SizeProps, HTMLMotionProps<'button'> {
110
189
  * @default 'button'
111
190
  */
112
191
  type?: 'button' | 'submit' | 'reset';
192
+ /**
193
+ * Show loading spinner and disable the button
194
+ * @default false
195
+ */
196
+ loading?: boolean;
197
+ /**
198
+ * Icon to display before the button text
199
+ */
200
+ leftIcon?: React$1.ReactNode;
201
+ /**
202
+ * Icon to display after the button text
203
+ */
204
+ rightIcon?: React$1.ReactNode;
205
+ /**
206
+ * Make the button full width
207
+ * @default false
208
+ */
209
+ fullWidth?: boolean;
113
210
  }
114
211
  declare const Button: React$1.FC<ButtonProps>;
115
212
 
116
- type Color$c = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
117
- interface IconButtonProps extends BaseProps, SizeProps {
213
+ type Color$b = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
214
+ type IconButtonVariant = 'solid' | 'outline' | 'ghost' | 'glass' | 'gradient' | string;
215
+ type MotionVariantKey$4 = keyof typeof motionVariants;
216
+ interface IconButtonProps extends BaseProps, SizeProps, RadiusProps, Omit<HTMLMotionProps<'button'>, 'children'> {
118
217
  icon: React$1.ReactNode;
119
- onClick?: () => void;
120
- disabled?: boolean;
121
- variant?: 'solid' | 'outline' | 'ghost';
122
- color?: Color$c;
123
- motionVariant?: keyof typeof motionVariants;
124
- whileHover?: React$1.ComponentProps<typeof motion.button>['whileHover'];
125
- whileTap?: React$1.ComponentProps<typeof motion.button>['whileTap'];
126
- whileFocus?: React$1.ComponentProps<typeof motion.button>['whileFocus'];
127
- whileHoverAnimation?: keyof typeof motionVariants;
128
- whileTapAnimation?: keyof typeof motionVariants;
129
- whileFocusAnimation?: keyof typeof motionVariants;
130
- }
131
- declare const IconButton: React$1.FC<IconButtonProps>;
132
-
133
- type Color$b = 'primary' | 'secondary' | 'danger' | 'success' | 'info' | 'warning';
134
- type Variant$1 = 'solid' | 'outline' | 'ghost';
135
- interface AccordionItem {
136
- title: string;
137
- content: React$1.ReactNode;
138
- disabled?: boolean;
139
- }
140
- interface AccordionProps extends BaseProps, WithChildren {
141
- items: AccordionItem[];
218
+ variant?: IconButtonVariant;
142
219
  color?: Color$b;
143
- variant?: Variant$1;
144
- motionVariant?: keyof typeof motionVariants;
145
- allowMultipleOpen?: boolean;
146
- defaultOpenIndex?: number[];
147
- customIcon?: React$1.ReactNode;
148
- iconPosition?: 'left' | 'right';
149
- wrapperClassName?: string;
150
- headerClassName?: string;
151
- contentClassName?: string;
152
- }
153
- declare const Accordion: React$1.FC<AccordionProps>;
154
-
155
- interface AlertProps extends BaseProps, WithChildren, ColorProps {
156
- onClose?: () => void;
157
- motionVariant?: keyof typeof motionVariants;
158
- }
159
- declare const Alert: React$1.FC<AlertProps>;
160
-
161
- interface AvatarProps extends BaseProps, SizeProps, HTMLMotionProps<'div'> {
162
- src?: string;
163
- alt?: string;
164
- initials?: string;
165
- }
166
- declare const Avatar: React$1.FC<AvatarProps>;
167
-
168
- interface BadgeProps extends BaseProps, WithChildren, ColorProps, SizeProps {
169
- motionVariant?: keyof typeof motionVariants;
170
- }
171
- declare const Badge: React$1.FC<BadgeProps>;
172
-
173
- type Color$a = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
174
- interface BreadcrumbProps extends BaseProps {
175
- items: {
176
- label: string;
177
- href: string;
178
- }[];
179
- motionVariant?: keyof typeof motionVariants;
180
- color?: Color$a;
220
+ motionVariant?: MotionVariantKey$4;
221
+ whileHoverAnimation?: MotionVariantKey$4;
222
+ whileTapAnimation?: MotionVariantKey$4;
223
+ whileFocusAnimation?: MotionVariantKey$4;
181
224
  }
182
- declare const Breadcrumb: React$1.FC<BreadcrumbProps>;
225
+ declare const IconButton: React$1.FC<IconButtonProps>;
183
226
 
184
- interface CardProps extends BaseProps, WithChildren {
227
+ interface CardProps extends BaseProps, RadiusProps, VariantProps, Omit<HTMLMotionProps<"div">, "children"> {
228
+ children?: React$1.ReactNode;
185
229
  motionVariant?: keyof typeof motionVariants;
230
+ hoverable?: boolean;
186
231
  }
187
232
  declare const Card: React$1.FC<CardProps>;
188
233
 
189
- interface CardBodyProps extends BaseProps, WithChildren {
234
+ interface CardBodyProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children"> {
235
+ children?: React$1.ReactNode;
190
236
  motionVariant?: keyof typeof motionVariants;
191
237
  }
192
238
  declare const CardBody: React$1.FC<CardBodyProps>;
193
239
 
194
- interface CardFooterProps extends BaseProps, WithChildren {
240
+ interface CardFooterProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children"> {
241
+ children?: React$1.ReactNode;
195
242
  motionVariant?: keyof typeof motionVariants;
196
243
  }
197
244
  declare const CardFooter: React$1.FC<CardFooterProps>;
198
245
 
199
- interface CardHeaderProps extends BaseProps, WithChildren {
246
+ interface CardHeaderProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children"> {
247
+ children?: React$1.ReactNode;
200
248
  motionVariant?: keyof typeof motionVariants;
201
249
  }
202
250
  declare const CardHeader: React$1.FC<CardHeaderProps>;
203
251
 
204
- interface DropdownProps extends BaseProps, WithChildren {
252
+ interface DropdownProps extends BaseProps, RadiusProps {
253
+ /** The element that triggers the dropdown */
205
254
  trigger: React$1.ReactNode;
255
+ /** Dropdown content */
256
+ children?: React$1.ReactNode;
257
+ /** Predefined motion variant name */
206
258
  motionVariant?: keyof typeof motionVariants;
259
+ /** Callback when dropdown opens */
260
+ onOpen?: () => void;
261
+ /** Callback when dropdown closes */
262
+ onClose?: () => void;
263
+ /** Whether the dropdown is disabled */
264
+ disabled?: boolean;
207
265
  }
208
266
  declare const Dropdown: React$1.FC<DropdownProps>;
209
267
 
210
- declare const DropdownItem: React$1.FC<BaseProps & WithChildren>;
268
+ interface DropdownItemProps extends BaseProps, WithChildren {
269
+ /** Click handler */
270
+ onClick?: (e: React$1.MouseEvent) => void;
271
+ /** Link destination */
272
+ href?: string;
273
+ /** Whether the item is disabled */
274
+ disabled?: boolean;
275
+ /** Render as a different element */
276
+ as?: 'a' | 'button' | 'div';
277
+ }
278
+ declare const DropdownItem: React$1.FC<DropdownItemProps>;
211
279
 
212
280
  type CheckboxColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
213
281
  interface CheckboxProps extends BaseProps {
282
+ /** Label text */
214
283
  label: string;
284
+ /** Whether the checkbox is checked */
215
285
  checked?: boolean;
286
+ /** Default checked state for uncontrolled usage */
287
+ defaultChecked?: boolean;
288
+ /** Change handler */
216
289
  onChange?: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
290
+ /** Color theme */
217
291
  color?: CheckboxColor;
292
+ /** Predefined motion variant */
218
293
  motionVariant?: keyof typeof motionVariants;
294
+ /** Whether the checkbox is disabled */
295
+ disabled?: boolean;
296
+ /** Checkbox id */
297
+ id?: string;
298
+ /** Checkbox name */
299
+ name?: string;
300
+ /** Error state */
301
+ error?: boolean | string;
302
+ /** Helper text */
303
+ helperText?: string;
304
+ /** Whether to animate on mount */
305
+ useAnimation?: boolean;
219
306
  }
220
- declare const Checkbox: React$1.FC<CheckboxProps>;
307
+ declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>;
221
308
 
222
309
  type ButtonColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
223
310
  interface FileUploadProps extends BaseProps {
311
+ /** File change handler */
224
312
  onChange: (file: File | null) => void;
313
+ /** Multiple files change handler */
314
+ onMultipleChange?: (files: FileList | null) => void;
315
+ /** Accepted file types */
225
316
  accept?: string;
317
+ /** Allow multiple files */
226
318
  multiple?: boolean;
319
+ /** Button color theme */
227
320
  buttonColor?: ButtonColor;
321
+ /** Predefined motion variant */
228
322
  motionVariant?: keyof typeof motionVariants;
323
+ /** Custom button text */
324
+ buttonText?: string;
325
+ /** Whether the upload is disabled */
326
+ disabled?: boolean;
327
+ /** Whether to animate on mount */
328
+ useAnimation?: boolean;
329
+ /** Max file size in bytes */
330
+ maxSize?: number;
331
+ /** Error callback when file exceeds max size */
332
+ onError?: (error: string) => void;
229
333
  }
230
334
  declare const FileUpload: React$1.FC<FileUploadProps>;
231
335
 
232
336
  type InputColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
233
337
  type TextColor = 'black' | 'gray' | 'white' | 'blue' | 'green' | 'red';
234
- interface InputProps extends BaseProps, SizeProps {
235
- type?: 'text' | 'password' | 'email' | 'number';
338
+ interface InputProps extends BaseProps, SizeProps, RadiusProps {
339
+ /** Input type */
340
+ type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
341
+ /** Placeholder text */
236
342
  placeholder?: string;
343
+ /** Current value */
237
344
  value?: string;
345
+ /** Default value for uncontrolled usage */
346
+ defaultValue?: string;
347
+ /** Change handler */
238
348
  onChange?: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
349
+ /** Color theme */
239
350
  color?: InputColor;
351
+ /** Text color */
240
352
  textColor?: TextColor;
353
+ /** Predefined motion variant */
354
+ motionVariant?: keyof typeof motionVariants;
355
+ /** Label text */
356
+ label?: string;
357
+ /** Error state - shows red border and error text */
358
+ error?: boolean | string;
359
+ /** Helper text below the input */
360
+ helperText?: string;
361
+ /** Whether the input is disabled */
362
+ disabled?: boolean;
363
+ /** Whether the input is required */
364
+ required?: boolean;
365
+ /** Whether the input is read-only */
366
+ readOnly?: boolean;
367
+ /** Input id */
368
+ id?: string;
369
+ /** Input name */
370
+ name?: string;
371
+ /** Whether to animate on mount */
372
+ useAnimation?: boolean;
241
373
  }
242
- declare const Input: React$1.FC<InputProps>;
374
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
243
375
 
244
- type Color$9 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
376
+ type Color$a = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
245
377
  interface RadioProps extends BaseProps, SizeProps {
378
+ /** Label text */
246
379
  label: string;
380
+ /** Radio group name */
247
381
  name: string;
382
+ /** Radio value */
248
383
  value: string;
384
+ /** Whether the radio is checked */
249
385
  checked?: boolean;
386
+ /** Default checked state for uncontrolled usage */
387
+ defaultChecked?: boolean;
388
+ /** Change handler */
250
389
  onChange?: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
251
- color?: Color$9;
390
+ /** Color theme */
391
+ color?: Color$a;
392
+ /** Predefined motion variant */
252
393
  motionVariant?: keyof typeof motionVariants;
394
+ /** Whether the radio is disabled */
395
+ disabled?: boolean;
396
+ /** Radio id */
397
+ id?: string;
398
+ /** Error state */
399
+ error?: boolean | string;
400
+ /** Helper text */
401
+ helperText?: string;
402
+ /** Whether to animate on mount */
403
+ useAnimation?: boolean;
253
404
  }
254
- declare const Radio: React$1.FC<RadioProps>;
405
+ declare const Radio: React$1.ForwardRefExoticComponent<RadioProps & React$1.RefAttributes<HTMLInputElement>>;
255
406
 
256
- type Color$8 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
257
- interface SelectProps extends BaseProps, SizeProps {
258
- options: {
259
- value: string;
260
- label: string;
261
- }[];
407
+ type Color$9 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
408
+ interface SelectOption {
409
+ value: string;
410
+ label: string;
411
+ disabled?: boolean;
412
+ }
413
+ interface SelectProps extends BaseProps, SizeProps, RadiusProps {
414
+ /** Options to display */
415
+ options: SelectOption[];
416
+ /** Current value */
262
417
  value?: string;
418
+ /** Default value for uncontrolled usage */
419
+ defaultValue?: string;
420
+ /** Change handler */
263
421
  onChange?: (e: React$1.ChangeEvent<HTMLSelectElement>) => void;
264
- color?: Color$8;
422
+ /** Color theme */
423
+ color?: Color$9;
424
+ /** Predefined motion variant */
265
425
  motionVariant?: keyof typeof motionVariants;
266
- }
267
- declare const Select: React$1.FC<SelectProps>;
268
-
269
- type Color$7 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
270
- interface SwitchProps extends BaseProps {
271
- checked: boolean;
272
- onChange: (checked: boolean) => void;
426
+ /** Label text */
273
427
  label?: string;
274
- color?: Color$7;
275
- motionVariant?: keyof typeof motionVariants;
428
+ /** Placeholder option text */
429
+ placeholder?: string;
430
+ /** Error state */
431
+ error?: boolean | string;
432
+ /** Helper text below the select */
433
+ helperText?: string;
434
+ /** Whether the select is disabled */
435
+ disabled?: boolean;
436
+ /** Whether the select is required */
437
+ required?: boolean;
438
+ /** Select id */
439
+ id?: string;
440
+ /** Select name */
441
+ name?: string;
442
+ /** Whether to animate on mount */
443
+ useAnimation?: boolean;
276
444
  }
277
- declare const Switch: React$1.FC<SwitchProps>;
445
+ declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
278
446
 
279
- type Color$6 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
280
- interface TextareaProps extends BaseProps, SizeProps {
447
+ type Color$8 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
448
+ interface TextareaProps extends BaseProps, SizeProps, RadiusProps {
449
+ /** Placeholder text */
281
450
  placeholder?: string;
451
+ /** Current value */
282
452
  value?: string;
453
+ /** Default value for uncontrolled usage */
454
+ defaultValue?: string;
455
+ /** Change handler */
283
456
  onChange?: (e: React$1.ChangeEvent<HTMLTextAreaElement>) => void;
457
+ /** Number of rows */
284
458
  rows?: number;
285
- color?: Color$6;
459
+ /** Color theme */
460
+ color?: Color$8;
461
+ /** Predefined motion variant */
286
462
  motionVariant?: keyof typeof motionVariants;
463
+ /** Label text */
464
+ label?: string;
465
+ /** Error state */
466
+ error?: boolean | string;
467
+ /** Helper text below the textarea */
468
+ helperText?: string;
469
+ /** Whether the textarea is disabled */
470
+ disabled?: boolean;
471
+ /** Whether the textarea is required */
472
+ required?: boolean;
473
+ /** Whether the textarea is read-only */
474
+ readOnly?: boolean;
475
+ /** Textarea id */
476
+ id?: string;
477
+ /** Textarea name */
478
+ name?: string;
479
+ /** Whether to animate on mount */
480
+ useAnimation?: boolean;
481
+ /** Allow resize */
482
+ resize?: 'none' | 'vertical' | 'horizontal' | 'both';
483
+ /** Max length */
484
+ maxLength?: number;
485
+ /** Show character count */
486
+ showCharCount?: boolean;
287
487
  }
288
- declare const Textarea: React$1.FC<TextareaProps>;
488
+ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
289
489
 
290
- interface ContainerProps extends BaseProps, WithChildren {
490
+ type NavigationStyle = 'arrows' | 'dots' | 'thumbnails' | 'both' | 'arrows-dots' | 'none';
491
+ type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full' | string;
492
+ type Direction = 'horizontal' | 'vertical';
493
+ type MotionVariantKey$3 = keyof typeof motionVariants;
494
+ interface CarouselImage {
495
+ src: string;
496
+ alt: string;
497
+ title?: string;
498
+ description?: string;
499
+ thumbnail?: string;
500
+ }
501
+ interface CustomIcons {
502
+ prevIcon?: React$1.ReactNode;
503
+ nextIcon?: React$1.ReactNode;
504
+ playIcon?: React$1.ReactNode;
505
+ pauseIcon?: React$1.ReactNode;
506
+ }
507
+ interface CarouselProps extends BaseProps {
508
+ images: CarouselImage[];
509
+ motionVariant?: MotionVariantKey$3;
510
+ navigationStyle?: NavigationStyle;
511
+ size?: Size;
512
+ autoPlay?: number;
513
+ autoPlayDirection?: 'forward' | 'backward';
514
+ showPlayPause?: boolean;
515
+ loop?: boolean;
516
+ enableSwipe?: boolean;
517
+ swipeThreshold?: number;
518
+ direction?: Direction;
519
+ customVariants?: Variants;
520
+ transitionDuration?: number;
521
+ customTransition?: Transition;
522
+ customClasses?: {
523
+ container?: string;
524
+ imageWrapper?: string;
525
+ image?: string;
526
+ navigation?: string;
527
+ arrows?: string;
528
+ dots?: string;
529
+ thumbnails?: string;
530
+ overlay?: string;
531
+ playPause?: string;
532
+ };
533
+ customSizeClasses?: Record<Size, string>;
534
+ aspectRatio?: string;
535
+ showOverlay?: boolean;
536
+ overlayPosition?: 'bottom' | 'top' | 'center';
537
+ onSlideChange?: (index: number) => void;
538
+ initialSlide?: number;
539
+ baseClassName?: string;
540
+ unstyled?: boolean;
541
+ customIcons?: CustomIcons;
542
+ thumbnailSize?: 'sm' | 'md' | 'lg';
543
+ arrowPosition?: 'inside' | 'outside';
544
+ dotStyle?: 'line' | 'circle' | 'square';
545
+ pauseOnHover?: boolean;
546
+ keyboard?: boolean;
547
+ slidesPerView?: number;
548
+ spaceBetween?: number;
549
+ centeredSlides?: boolean;
550
+ }
551
+ declare const Carousel: React$1.FC<CarouselProps>;
552
+
553
+ type ImageEditorProps$1 = {
554
+ imageFile: File;
555
+ onSave: (file: File) => void;
556
+ onCancel: () => void;
557
+ className?: string;
558
+ };
559
+ declare const ImageEditor: ({ imageFile, onSave, onCancel, className }: ImageEditorProps$1) => React$1.ReactPortal;
560
+
561
+ interface ImageEditorProps {
562
+ imageFile: File;
563
+ onSave: (file: File) => void;
564
+ onCancel: () => void;
565
+ className?: string;
566
+ }
567
+ declare const Imageeditor: React$1.FC<ImageEditorProps>;
568
+
569
+ interface ContainerProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children"> {
570
+ children?: React$1.ReactNode;
291
571
  fluid?: boolean;
292
572
  motionVariant?: keyof typeof motionVariants;
293
573
  duration?: number;
@@ -295,7 +575,8 @@ interface ContainerProps extends BaseProps, WithChildren {
295
575
  }
296
576
  declare const Container: React$1.FC<ContainerProps>;
297
577
 
298
- interface FlexProps extends BaseProps, WithChildren {
578
+ interface FlexProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children" | "direction"> {
579
+ children?: React$1.ReactNode;
299
580
  direction?: 'row' | 'col';
300
581
  justify?: 'start' | 'center' | 'end' | 'between' | 'around';
301
582
  align?: 'start' | 'center' | 'end' | 'stretch';
@@ -306,37 +587,49 @@ interface FlexProps extends BaseProps, WithChildren {
306
587
  }
307
588
  declare const Flex: React$1.FC<FlexProps>;
308
589
 
309
- interface GridProps extends BaseProps, WithChildren {
310
- cols?: number;
311
- gap?: number;
590
+ interface GridProps extends BaseProps, Omit<HTMLMotionProps<"div">, "children"> {
591
+ children?: React$1.ReactNode;
592
+ cols?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
593
+ gap?: number | string;
312
594
  motionVariant?: keyof typeof motionVariants;
313
595
  duration?: number;
314
596
  loop?: boolean;
315
597
  }
316
598
  declare const Grid: React$1.FC<GridProps>;
317
599
 
318
- interface ListProps extends BaseProps, WithChildren {
600
+ type ListVariant = 'flat' | 'elevated' | 'glass' | 'ghost' | string;
601
+ interface ListProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"ul">, "children" | "variant"> {
602
+ children?: React$1.ReactNode;
319
603
  as?: 'ul' | 'ol';
320
604
  motionVariant?: keyof typeof motionVariants;
321
- duration?: number;
322
- loop?: boolean;
605
+ variant?: ListVariant;
323
606
  }
324
607
  declare const List: React$1.FC<ListProps>;
325
608
 
326
- type MotionVariantKey$3 = keyof typeof motionVariants;
327
- interface ListItemProps extends BaseProps, WithChildren {
328
- motionVariant?: MotionVariantKey$3;
329
- duration?: number;
330
- loop?: boolean;
609
+ type MotionVariantKey$2 = keyof typeof motionVariants;
610
+ interface ListItemProps extends BaseProps, Omit<HTMLMotionProps<"li">, "children"> {
611
+ children?: React$1.ReactNode;
612
+ motionVariant?: MotionVariantKey$2;
331
613
  }
332
614
  declare const ListItem: React$1.FC<ListItemProps>;
333
615
 
334
- interface ModalProps extends BaseProps, WithChildren {
616
+ interface ModalProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children"> {
617
+ /** Controls visibility of the modal */
335
618
  isOpen: boolean;
619
+ /** Callback when modal should close */
336
620
  onClose: () => void;
621
+ /** Modal content */
622
+ children?: React$1.ReactNode;
623
+ /** Predefined motion variant name */
337
624
  motionVariant?: keyof typeof motionVariants;
625
+ /** Animation duration in seconds */
338
626
  duration?: number;
627
+ /** Loop the animation */
339
628
  loop?: boolean;
629
+ /** Close modal on Escape key */
630
+ closeOnEscape?: boolean;
631
+ /** Close modal on overlay click */
632
+ closeOnOverlayClick?: boolean;
340
633
  }
341
634
  declare const Modal: React$1.FC<ModalProps>;
342
635
 
@@ -346,12 +639,35 @@ declare const ModalFooter: React$1.FC<BaseProps & WithChildren>;
346
639
 
347
640
  declare const ModalHeader: React$1.FC<BaseProps & WithChildren>;
348
641
 
349
- /**
350
- * A fully customizable navigation link with motion and style props.
351
- */
352
- type MotionVariantKey$2 = keyof typeof motionVariants;
353
- interface NavItemProps extends BaseProps, WithChildren {
354
- /** Link destination */
642
+ type NavbarVariant = 'flat' | 'solid' | 'glass' | 'elevated' | string;
643
+ interface NavbarProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"nav">, "children" | "className" | "variant"> {
644
+ /** Brand/logo element */
645
+ brand?: React$1.ReactNode;
646
+ /** Variant of the navbar */
647
+ variant?: NavbarVariant;
648
+ /** Whether the navbar should stick to the top */
649
+ sticky?: boolean;
650
+ /** Container max-width wrapper class */
651
+ containerClassName?: string;
652
+ /** Class for desktop menu wrapper */
653
+ desktopMenuClassName?: string;
654
+ /** Class for mobile menu wrapper */
655
+ mobileMenuWrapperClassName?: string;
656
+ /** Custom hamburger icon */
657
+ menuIcon?: React$1.ReactNode;
658
+ /** Custom close icon */
659
+ closeIcon?: React$1.ReactNode;
660
+ /** Framer Motion props for nav container */
661
+ navMotion?: Partial<MotionProps>;
662
+ /** Framer Motion props for mobile menu */
663
+ mobileMotion?: Partial<MotionProps>;
664
+ /** Optional children */
665
+ children?: React$1.ReactNode;
666
+ }
667
+ declare const Navbar: React$1.FC<NavbarProps>;
668
+
669
+ type MotionVariantKey$1 = keyof typeof motionVariants;
670
+ interface NavItemProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"a">, "children" | "href" | "className"> {
355
671
  href: string;
356
672
  /** Whether this item is active */
357
673
  active?: boolean;
@@ -359,11 +675,8 @@ interface NavItemProps extends BaseProps, WithChildren {
359
675
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
360
676
  /** Customize size classes */
361
677
  sizeClasses?: Partial<Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>>;
362
- /** Motion variant key */
363
- motionVariant?: MotionVariantKey$2;
364
- /** Animation duration override (seconds) */
678
+ motionVariant?: MotionVariantKey$1;
365
679
  duration?: number;
366
- /** Loop the animation */
367
680
  loop?: boolean;
368
681
  /** Text color classes when inactive */
369
682
  textColorClass?: string;
@@ -371,55 +684,19 @@ interface NavItemProps extends BaseProps, WithChildren {
371
684
  hoverTextColorClass?: string;
372
685
  /** Text color classes when active */
373
686
  activeTextColorClass?: string;
374
- /** Border classes when active */
375
- activeBorderClass?: string;
376
687
  /** Scale on hover */
377
688
  hoverScale?: number;
378
689
  /** Scale on tap */
379
690
  tapScale?: number;
691
+ /** Custom children rendering */
692
+ children?: React$1.ReactNode;
380
693
  }
381
694
  declare const NavItem: React$1.FC<NavItemProps>;
382
695
 
383
- /**
384
- * Fully customizable, responsive Navbar with mobile menu.
385
- * All styling and behavior can be overridden via props.
386
- */
387
- interface NavbarProps extends BaseProps, WithChildren {
388
- /** Brand/logo element */
389
- brand?: React$1.ReactNode;
390
- /** Tailwind class for navbar background */
391
- bgColorClass?: string;
392
- /** Tailwind class for navbar text */
393
- textColorClass?: string;
394
- /** Tailwind class for hover state on menu items */
395
- hoverTextColorClass?: string;
396
- /** Tailwind class for navbar shadow */
397
- shadowClass?: string;
398
- /** Container max-width wrapper class */
399
- containerClassName?: string;
400
- /** Class for desktop menu wrapper */
401
- desktopMenuClassName?: string;
402
- /** Class for mobile menu wrapper */
403
- mobileMenuWrapperClassName?: string;
404
- /** Class for individual mobile menu item */
405
- mobileMenuItemClassName?: string;
406
- /** Custom hamburger icon */
407
- menuIcon?: React$1.ReactNode;
408
- /** Custom close icon */
409
- closeIcon?: React$1.ReactNode;
410
- /** Framer Motion props for nav container */
411
- navMotion?: Partial<MotionProps>;
412
- /** Framer Motion props for mobile menu */
413
- mobileMotion?: Partial<MotionProps>;
414
- duration?: number;
415
- loop?: boolean;
416
- }
417
- declare const Navbar: React$1.FC<NavbarProps>;
418
-
419
696
  /**
420
697
  * A fully customizable offcanvas panel component.
421
698
  */
422
- interface OffcanvasProps extends BaseProps, WithChildren {
699
+ interface OffcanvasProps extends BaseProps, RadiusProps, Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "className"> {
423
700
  /** Controls visibility of the panel */
424
701
  isOpen: boolean;
425
702
  /** Callback when panel should close */
@@ -438,15 +715,10 @@ interface OffcanvasProps extends BaseProps, WithChildren {
438
715
  zIndex?: string;
439
716
  /** If true, clicking the overlay closes the panel */
440
717
  closeOnOverlayClick?: boolean;
441
- /** Duration of open/close animations in seconds */
442
- duration?: number;
443
718
  /** Custom close icon placed inside the panel */
444
719
  customCloseIcon?: ReactNode;
445
- /** Override motion props on the overlay */
446
- overlayMotion?: Partial<MotionProps>;
447
- /** Override motion props on the panel */
448
- panelMotion?: Partial<MotionProps>;
449
- loop?: boolean;
720
+ /** Optional children rendering */
721
+ children?: ReactNode;
450
722
  }
451
723
  declare const Offcanvas: React$1.FC<OffcanvasProps>;
452
724
 
@@ -457,25 +729,30 @@ interface OffcanvasHeaderProps extends BaseProps, WithChildren {
457
729
  }
458
730
  declare const OffcanvasHeader: React$1.FC<OffcanvasHeaderProps>;
459
731
 
460
- type Color$5 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
461
- interface PaginationProps extends BaseProps {
732
+ type Color$7 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
733
+ type PaginationVariant = 'flat' | 'solid' | 'glass' | string;
734
+ interface PaginationProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"nav">, "children" | "color" | "className" | "variant"> {
462
735
  currentPage: number;
463
736
  totalPages: number;
464
737
  onPageChange: (page: number) => void;
465
- color?: Color$5;
738
+ color?: Color$7;
739
+ variant?: PaginationVariant;
466
740
  motionVariant?: keyof typeof motionVariants;
467
741
  }
468
742
  declare const Pagination: React$1.FC<PaginationProps>;
469
743
 
470
- type MotionVariantKey$1 = keyof typeof motionVariants;
471
- type Color$4 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
472
- interface ProgressBarProps extends BaseProps, ColorProps, MotionProps {
744
+ type MotionVariantKey = keyof typeof motionVariants;
745
+ type Color$6 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
746
+ type ProgressVariant = 'flat' | 'glow' | 'gradient' | string;
747
+ interface ProgressBarProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children" | "variant"> {
473
748
  /** Current value */
474
749
  value: number;
475
750
  /** Maximum value */
476
751
  max?: number;
477
752
  /** Semantic color key */
478
- color?: Color$4;
753
+ color?: Color$6;
754
+ /** Variant style */
755
+ variant?: ProgressVariant;
479
756
  /** Override height utility class */
480
757
  heightClass?: string;
481
758
  /** Container background class */
@@ -483,7 +760,7 @@ interface ProgressBarProps extends BaseProps, ColorProps, MotionProps {
483
760
  /** Bar background class override (falls back to color key) */
484
761
  barBgClass?: string;
485
762
  /** Motion variant key */
486
- motionVariant?: MotionVariantKey$1;
763
+ motionVariant?: MotionVariantKey;
487
764
  /** Animation duration in seconds */
488
765
  duration?: number;
489
766
  /** Loop animation */
@@ -495,93 +772,132 @@ interface ProgressBarProps extends BaseProps, ColorProps, MotionProps {
495
772
  }
496
773
  declare const ProgressBar: React$1.FC<ProgressBarProps>;
497
774
 
498
- type Color$3 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
499
- interface SkeletonProps extends BaseProps {
775
+ type Color$5 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'default' | string;
776
+ type SkeletonVariant = 'pulse' | 'shimmer' | string;
777
+ interface SkeletonProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children" | "variant"> {
500
778
  width?: string;
501
779
  height?: string;
502
- color?: Color$3;
780
+ color?: Color$5;
781
+ variant?: SkeletonVariant;
503
782
  motionVariant?: keyof typeof motionVariants;
504
783
  }
505
784
  declare const Skeleton: React$1.FC<SkeletonProps>;
506
785
 
507
- interface SliderProps extends BaseProps {
786
+ interface RangeSliderProps extends BaseProps {
508
787
  min: number;
509
788
  max: number;
510
- value: number;
511
- onChange: (value: number) => void;
789
+ values: [number, number];
790
+ onChange: (values: [number, number]) => void;
512
791
  step?: number;
513
792
  color?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
514
793
  motionVariant?: keyof typeof motionVariants;
515
794
  }
516
- declare const Slider: React$1.FC<SliderProps>;
795
+ declare const RangeSlider: React$1.FC<RangeSliderProps>;
517
796
 
518
- interface RangeSliderProps extends BaseProps {
797
+ type Color$4 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
798
+ type SliderVariant = 'flat' | 'glow' | string;
799
+ interface SliderProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children" | "onChange" | "color" | "variant"> {
519
800
  min: number;
520
801
  max: number;
521
- values: [number, number];
522
- onChange: (values: [number, number]) => void;
802
+ value: number;
803
+ onChange: (value: number) => void;
523
804
  step?: number;
524
- color?: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
805
+ color?: Color$4;
806
+ variant?: SliderVariant;
525
807
  motionVariant?: keyof typeof motionVariants;
526
808
  }
527
- declare const RangeSlider: React$1.FC<RangeSliderProps>;
809
+ declare const Slider: React$1.FC<SliderProps>;
528
810
 
529
- type Color$2 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
811
+ type Color$3 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
530
812
  interface StepperProps extends BaseProps {
531
813
  steps: string[];
532
814
  currentStep: number;
533
815
  color?: {
534
- active?: Color$2;
535
- inactive?: Color$2;
536
- connector?: Color$2;
816
+ active?: Color$3;
817
+ inactive?: Color$3;
818
+ connector?: Color$3;
537
819
  };
538
820
  size?: 'sm' | 'md' | 'lg' | 'xs' | 'xl';
539
821
  orientation?: 'horizontal' | 'vertical';
540
822
  }
541
823
  declare const Stepper: React$1.FC<StepperProps>;
542
824
 
543
- type Color$1 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
544
- interface TableProps extends BaseProps, WithChildren, SizeProps {
825
+ type Color$2 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
826
+ type TableVariant = 'flat' | 'elevated' | 'glass' | string;
827
+ interface TableProps extends BaseProps, SizeProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children" | "color" | "variant"> {
828
+ children?: React$1.ReactNode;
829
+ /** Predefined motion variant */
545
830
  motionVariant?: keyof typeof motionVariants;
546
- color?: Color$1;
831
+ /** Color theme */
832
+ color?: Color$2;
833
+ /** Visual variant */
834
+ variant?: TableVariant;
835
+ /** Striped rows */
836
+ striped?: boolean;
837
+ /** Hoverable rows */
838
+ hoverable?: boolean;
839
+ /** Show borders */
840
+ bordered?: boolean;
841
+ /** Whether to animate on mount */
842
+ useAnimation?: boolean;
547
843
  }
548
844
  declare const Table: React$1.FC<TableProps>;
549
845
 
550
846
  declare const TableBody: React$1.FC<BaseProps & WithChildren>;
551
847
 
552
- interface TableCellProps extends BaseProps, WithChildren {
848
+ interface TableCellProps extends BaseProps, React$1.TdHTMLAttributes<HTMLTableCellElement> {
553
849
  as?: 'td' | 'th';
850
+ children?: React$1.ReactNode;
554
851
  }
555
852
  declare const TableCell: React$1.FC<TableCellProps>;
556
853
 
557
854
  declare const TableHead: React$1.FC<BaseProps & WithChildren>;
558
855
 
559
- declare const TableRow: React$1.FC<BaseProps & WithChildren>;
856
+ interface TableRowProps extends BaseProps, Omit<HTMLMotionProps<"tr">, "children"> {
857
+ children?: React$1.ReactNode;
858
+ motionVariant?: keyof typeof motionVariants;
859
+ isHeader?: boolean;
860
+ }
861
+ declare const TableRow: React$1.FC<TableRowProps>;
560
862
 
561
- type Color = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
562
- type Variant = 'solid' | 'outline' | 'ghost';
863
+ type Color$1 = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
864
+ type TabsVariant = 'underlined' | 'pills' | 'solid' | string;
563
865
  interface TabItem {
564
866
  label: string;
565
867
  content: React$1.ReactNode;
566
868
  disabled?: boolean;
567
869
  }
568
- interface TabsProps extends BaseProps, WithChildren {
870
+ interface TabsProps extends BaseProps, RadiusProps {
871
+ /** Array of tab items */
569
872
  tabs: TabItem[];
570
873
  motionVariant?: keyof typeof motionVariants;
571
- color?: Color;
572
- variant?: Variant;
874
+ color?: Color$1;
875
+ variant?: TabsVariant;
573
876
  fullWidth?: boolean;
574
877
  tabClassName?: string;
575
878
  panelClassName?: string;
576
879
  }
577
880
  declare const Tabs: React$1.FC<TabsProps>;
578
881
 
579
- type TooltipColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
580
- interface TooltipProps extends BaseProps, WithChildren {
581
- content: string;
882
+ type TooltipColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | string;
883
+ type TooltipVariant = 'flat' | 'solid' | 'glass' | string;
884
+ interface TooltipProps extends BaseProps, RadiusProps, Omit<HTMLMotionProps<"div">, "children" | "content" | "color" | "className" | "variant"> {
885
+ /** The element the tooltip wraps */
886
+ children: React$1.ReactNode;
887
+ /** Tooltip content text */
888
+ content: string | React$1.ReactNode;
889
+ /** Position of the tooltip */
582
890
  position?: 'top' | 'right' | 'bottom' | 'left';
891
+ /** Color theme */
583
892
  color?: TooltipColor;
893
+ /** Visual Variant */
894
+ variant?: TooltipVariant;
895
+ /** Predefined motion variant */
584
896
  motionVariant?: keyof typeof motionVariants;
897
+ /** Delay before showing tooltip (ms) */
898
+ delay?: number;
899
+ /** Whether the tooltip is disabled */
900
+ disabled?: boolean;
585
901
  }
586
902
  declare const Tooltip: React$1.FC<TooltipProps>;
587
903
 
@@ -595,83 +911,28 @@ interface TextProps extends BaseProps, WithChildren, SizeProps {
595
911
  }
596
912
  declare const Text: React$1.FC<TextProps>;
597
913
 
598
- interface ImageEditorProps$1 {
599
- imageFile: File;
600
- onSave: (file: File) => void;
601
- onCancel: () => void;
602
- className?: string;
603
- }
604
- declare const Imageeditor: React$1.FC<ImageEditorProps$1>;
605
-
606
- type ImageEditorProps = {
607
- imageFile: File;
608
- onSave: (file: File) => void;
609
- onCancel: () => void;
610
- className?: string;
611
- };
612
- declare const ImageEditor: ({ imageFile, onSave, onCancel, className }: ImageEditorProps) => React$1.ReactPortal;
613
-
614
- type NavigationStyle = 'arrows' | 'dots' | 'thumbnails' | 'both' | 'arrows-dots' | 'none';
615
- type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full' | string;
616
- type Direction = 'horizontal' | 'vertical';
617
- type MotionVariantKey = keyof typeof motionVariants;
618
- interface CarouselImage {
619
- src: string;
620
- alt: string;
621
- title?: string;
622
- description?: string;
623
- thumbnail?: string;
624
- }
625
- interface CustomIcons {
626
- prevIcon?: React$1.ReactNode;
627
- nextIcon?: React$1.ReactNode;
628
- playIcon?: React$1.ReactNode;
629
- pauseIcon?: React$1.ReactNode;
630
- }
631
- interface CarouselProps extends BaseProps {
632
- images: CarouselImage[];
633
- motionVariant?: MotionVariantKey;
634
- navigationStyle?: NavigationStyle;
635
- size?: Size;
636
- autoPlay?: number;
637
- autoPlayDirection?: 'forward' | 'backward';
638
- showPlayPause?: boolean;
639
- loop?: boolean;
640
- enableSwipe?: boolean;
641
- swipeThreshold?: number;
642
- direction?: Direction;
643
- customVariants?: Variants;
644
- transitionDuration?: number;
645
- customTransition?: Transition;
646
- customClasses?: {
647
- container?: string;
648
- imageWrapper?: string;
649
- image?: string;
650
- navigation?: string;
651
- arrows?: string;
652
- dots?: string;
653
- thumbnails?: string;
654
- overlay?: string;
655
- playPause?: string;
656
- };
657
- customSizeClasses?: Record<Size, string>;
658
- aspectRatio?: string;
659
- showOverlay?: boolean;
660
- overlayPosition?: 'bottom' | 'top' | 'center';
661
- onSlideChange?: (index: number) => void;
662
- initialSlide?: number;
663
- baseClassName?: string;
664
- unstyled?: boolean;
665
- customIcons?: CustomIcons;
666
- thumbnailSize?: 'sm' | 'md' | 'lg';
667
- arrowPosition?: 'inside' | 'outside';
668
- dotStyle?: 'line' | 'circle' | 'square';
669
- pauseOnHover?: boolean;
670
- keyboard?: boolean;
671
- slidesPerView?: number;
672
- spaceBetween?: number;
673
- centeredSlides?: boolean;
914
+ type Color = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
915
+ interface SwitchProps extends BaseProps {
916
+ /** Whether the switch is on */
917
+ checked: boolean;
918
+ /** Change handler */
919
+ onChange: (checked: boolean) => void;
920
+ /** Label text */
921
+ label?: string;
922
+ /** Color theme */
923
+ color?: Color;
924
+ /** Predefined motion variant */
925
+ motionVariant?: keyof typeof motionVariants;
926
+ /** Whether the switch is disabled */
927
+ disabled?: boolean;
928
+ /** Switch id */
929
+ id?: string;
930
+ /** Switch name */
931
+ name?: string;
932
+ /** Size of the switch */
933
+ size?: 'sm' | 'md' | 'lg';
934
+ /** Whether to animate on mount */
935
+ useAnimation?: boolean;
674
936
  }
675
- declare const Carousel: React$1.FC<CarouselProps>;
676
937
 
677
- export { Accordion, Alert, Avatar, Badge, Breadcrumb, Button, Card, CardBody, CardFooter, CardHeader, Carousel, Checkbox, Container, Dropdown, DropdownItem, FileUpload, Flex, Grid, Heading, IconButton, ImageEditor, Imageeditor, Input, List, ListItem, Modal, ModalBody, ModalFooter, ModalHeader, NavItem, Navbar, Offcanvas, OffcanvasBody, OffcanvasHeader, Pagination, ProgressBar, Radio, RangeSlider, Select, Skeleton, Slider, Stepper, Switch, Table, TableBody, TableCell, TableHead, TableRow, Tabs, Text, Textarea, Tooltip, motionVariants };
938
+ export { Accordion, type AccordionItem, type AccordionProps, Alert, type AlertProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BaseProps, Breadcrumb, type BreadcrumbProps, Button, type ButtonProps, Card, CardBody, type CardBodyProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, Carousel, type CarouselImage, type CarouselProps, Checkbox, type CheckboxProps, type Color$h as Color, type ColorProps, Container, type ContainerProps, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, FileUpload, type FileUploadProps, Flex, type FlexProps, Grid, type GridProps, Heading, type HeadingProps, IconButton, type IconButtonProps, ImageEditor, Imageeditor, Input, type InputProps, List, ListItem, type ListItemProps, type ListProps, Modal, ModalBody, ModalFooter, ModalHeader, type ModalProps, NavItem, type NavItemProps, Navbar, type NavbarProps, Offcanvas, OffcanvasBody, OffcanvasHeader, type OffcanvasProps, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, Radio, type RadioProps, type Radius, type RadiusProps, RangeSlider, type RangeSliderProps, Select, type SelectOption, type SelectProps, type Size$3 as Size, type SizeProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Stepper, type StepperProps, type SwitchProps, type TabItem, Table, TableBody, TableCell, type TableCellProps, TableHead, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, Text, type TextProps, Textarea, type TextareaProps, Tooltip, type TooltipProps, type Variant, type VariantProps, type WithChildren, motionVariants };