banhaten-ui 0.0.12 → 0.0.14
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/README.md +22 -7
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +569 -62
- package/dist/index.js +3519 -1522
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +5 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
import { ClassValue } from 'clsx';
|
|
2
3
|
import { default as default_2 } from 'react';
|
|
3
4
|
import { ForwardRefExoticComponent } from 'react';
|
|
4
5
|
import { HTMLAttributes } from 'react';
|
|
@@ -59,7 +60,7 @@ export declare interface AccordionProps extends Omit<HTMLAttributes<HTMLDivEleme
|
|
|
59
60
|
rtlDescription?: string;
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
export declare type AccordionState = "Default" | "Hover";
|
|
63
|
+
export declare type AccordionState = "Default" | "Hover" | "NoHover";
|
|
63
64
|
|
|
64
65
|
export declare type AccordionStyle = "Default" | "Boxed";
|
|
65
66
|
|
|
@@ -100,6 +101,91 @@ export declare interface AlertProps extends Omit<default_2.HTMLAttributes<HTMLDi
|
|
|
100
101
|
rtlSecondaryAction?: string;
|
|
101
102
|
}
|
|
102
103
|
|
|
104
|
+
export declare const Avatar: ForwardRefExoticComponent<AvatarProps & RefAttributes<HTMLDivElement>>;
|
|
105
|
+
|
|
106
|
+
export declare const AvatarCallToAction: ForwardRefExoticComponent<AvatarCallToActionProps & RefAttributes<HTMLButtonElement>>;
|
|
107
|
+
|
|
108
|
+
export declare interface AvatarCallToActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
109
|
+
/** Size of the avatar */
|
|
110
|
+
size?: AvatarSize;
|
|
111
|
+
/** Shape of the avatar */
|
|
112
|
+
shape?: AvatarShape;
|
|
113
|
+
/** RTL mode */
|
|
114
|
+
rtl?: boolean;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export declare const AvatarGroup: ForwardRefExoticComponent<AvatarGroupProps & RefAttributes<HTMLDivElement>>;
|
|
118
|
+
|
|
119
|
+
export declare interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
120
|
+
/** Size of avatars */
|
|
121
|
+
size?: AvatarSize;
|
|
122
|
+
/** Shape of avatars */
|
|
123
|
+
shape?: AvatarShape;
|
|
124
|
+
/** Maximum number of avatars to show */
|
|
125
|
+
max?: number;
|
|
126
|
+
/** Array of avatar sources or initials */
|
|
127
|
+
avatars: Array<{
|
|
128
|
+
src?: string;
|
|
129
|
+
alt?: string;
|
|
130
|
+
initials?: string;
|
|
131
|
+
showIcon?: boolean;
|
|
132
|
+
}>;
|
|
133
|
+
/** RTL mode */
|
|
134
|
+
rtl?: boolean;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export declare const AvatarProfile: ForwardRefExoticComponent<AvatarProfileProps & RefAttributes<HTMLDivElement>>;
|
|
138
|
+
|
|
139
|
+
export declare interface AvatarProfileProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
140
|
+
/** Size of avatar */
|
|
141
|
+
size?: AvatarSize;
|
|
142
|
+
/** Shape of avatar */
|
|
143
|
+
shape?: AvatarShape;
|
|
144
|
+
/** Avatar image source */
|
|
145
|
+
src?: string;
|
|
146
|
+
/** Alt text for image */
|
|
147
|
+
alt?: string;
|
|
148
|
+
/** Initials to display (if no image) */
|
|
149
|
+
initials?: string;
|
|
150
|
+
/** Show icon if no image or initials */
|
|
151
|
+
showIcon?: boolean;
|
|
152
|
+
/** Status indicator */
|
|
153
|
+
status?: AvatarStatus;
|
|
154
|
+
/** Primary text (name) */
|
|
155
|
+
name: string;
|
|
156
|
+
/** Secondary text (description/subtitle) */
|
|
157
|
+
description?: string;
|
|
158
|
+
/** RTL mode */
|
|
159
|
+
rtl?: boolean;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export declare interface AvatarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
163
|
+
/** Size of the avatar */
|
|
164
|
+
size?: AvatarSize;
|
|
165
|
+
/** Avatar image source */
|
|
166
|
+
src?: string;
|
|
167
|
+
/** Alt text for image */
|
|
168
|
+
alt?: string;
|
|
169
|
+
/** Initials to display (if no image) */
|
|
170
|
+
initials?: string;
|
|
171
|
+
/** Show icon if no image or initials */
|
|
172
|
+
showIcon?: boolean;
|
|
173
|
+
/** Status indicator */
|
|
174
|
+
status?: AvatarStatus;
|
|
175
|
+
/** Shape of the avatar */
|
|
176
|
+
shape?: AvatarShape;
|
|
177
|
+
/** RTL mode */
|
|
178
|
+
rtl?: boolean;
|
|
179
|
+
/** Show border */
|
|
180
|
+
showBorder?: boolean;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export declare type AvatarShape = 'circle' | 'square';
|
|
184
|
+
|
|
185
|
+
export declare type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
|
|
186
|
+
|
|
187
|
+
export declare type AvatarStatus = 'online' | 'offline' | 'away' | 'busy' | 'blocked' | 'none';
|
|
188
|
+
|
|
103
189
|
/**
|
|
104
190
|
* Badge component for displaying labels, statuses, and notifications.
|
|
105
191
|
* Supports multiple types, styles, sizes, and colors with RTL support.
|
|
@@ -131,12 +217,16 @@ export declare interface BadgeProps extends Omit<HTMLAttributes<HTMLDivElement>,
|
|
|
131
217
|
number?: number;
|
|
132
218
|
/** The badge text content */
|
|
133
219
|
children?: ReactNode;
|
|
134
|
-
/** Icon to display on the left (for LeadingIcon type) */
|
|
135
|
-
leadingIcon?: ReactNode;
|
|
136
|
-
/** Icon to display on the right (for TrailingIcon type) */
|
|
137
|
-
trailingIcon?: ReactNode;
|
|
220
|
+
/** Icon or image to display on the left (for LeadingIcon type) - accepts icon component or image URL */
|
|
221
|
+
leadingIcon?: ReactNode | string;
|
|
222
|
+
/** Icon or image to display on the right (for TrailingIcon type) - accepts icon component or image URL */
|
|
223
|
+
trailingIcon?: ReactNode | string;
|
|
138
224
|
/** Flag icon (for Flag type) */
|
|
139
225
|
flagIcon?: ReactNode;
|
|
226
|
+
/** Image source URL (deprecated, use leadingIcon or trailingIcon instead) */
|
|
227
|
+
imgSrc?: string;
|
|
228
|
+
/** Image alt text */
|
|
229
|
+
imgAlt?: string;
|
|
140
230
|
/** Enable RTL (Right-to-Left) mode */
|
|
141
231
|
rtl?: boolean;
|
|
142
232
|
}
|
|
@@ -145,7 +235,47 @@ export declare type BadgeSize = "sm" | "lg";
|
|
|
145
235
|
|
|
146
236
|
export declare type BadgeStyle = "Light" | "Outline" | "Solid";
|
|
147
237
|
|
|
148
|
-
export declare type BadgeType = "Default" | "LeadingIcon" | "TrailingIcon" | "Dot" | "Flag";
|
|
238
|
+
export declare type BadgeType = "Default" | "LeadingIcon" | "TrailingIcon" | "Dot" | "Flag" | "LeadingImg";
|
|
239
|
+
|
|
240
|
+
export declare interface BreadcrumbItem {
|
|
241
|
+
/** Label for the breadcrumb item */
|
|
242
|
+
label: string;
|
|
243
|
+
/** Optional href for navigation */
|
|
244
|
+
href?: string;
|
|
245
|
+
/** Optional icon */
|
|
246
|
+
icon?: ReactNode;
|
|
247
|
+
/** Whether this is the current page (last item) */
|
|
248
|
+
isCurrent?: boolean;
|
|
249
|
+
/** Click handler */
|
|
250
|
+
onClick?: () => void;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export declare const Breadcrumbs: ForwardRefExoticComponent<BreadcrumbsProps & RefAttributes<HTMLElement>>;
|
|
254
|
+
|
|
255
|
+
export declare type BreadcrumbSeparator = 'chevron' | 'slash' | 'dot';
|
|
256
|
+
|
|
257
|
+
export declare type BreadcrumbSize = 'sm' | 'md' | 'lg';
|
|
258
|
+
|
|
259
|
+
export declare interface BreadcrumbsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
260
|
+
/** Array of breadcrumb items */
|
|
261
|
+
items: BreadcrumbItem[];
|
|
262
|
+
/** Size variant */
|
|
263
|
+
size?: BreadcrumbSize;
|
|
264
|
+
/** Visual variant */
|
|
265
|
+
variant?: BreadcrumbVariant;
|
|
266
|
+
/** Separator style */
|
|
267
|
+
separator?: BreadcrumbSeparator;
|
|
268
|
+
/** Show home icon for first item */
|
|
269
|
+
showHomeIcon?: boolean;
|
|
270
|
+
/** Maximum items to show before collapsing */
|
|
271
|
+
maxItems?: number;
|
|
272
|
+
/** Show border around breadcrumbs */
|
|
273
|
+
bordered?: boolean;
|
|
274
|
+
/** RTL mode */
|
|
275
|
+
rtl?: boolean;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export declare type BreadcrumbVariant = 'default' | 'boxed';
|
|
149
279
|
|
|
150
280
|
/**
|
|
151
281
|
* Primary UI component for user interaction.
|
|
@@ -167,11 +297,11 @@ export declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttribut
|
|
|
167
297
|
|
|
168
298
|
export declare const ButtonGroup: default_2.ForwardRefExoticComponent<ButtonGroupProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
169
299
|
|
|
170
|
-
declare interface ButtonGroupItem {
|
|
300
|
+
export declare interface ButtonGroupItem {
|
|
171
301
|
/** Button text label */
|
|
172
302
|
label?: string;
|
|
173
|
-
/** Icon component
|
|
174
|
-
icon?:
|
|
303
|
+
/** Icon component (ReactNode) */
|
|
304
|
+
icon?: ReactNode;
|
|
175
305
|
/** Click handler for this button */
|
|
176
306
|
onClick?: () => void;
|
|
177
307
|
/** Whether this button is disabled */
|
|
@@ -183,21 +313,31 @@ declare interface ButtonGroupItem {
|
|
|
183
313
|
export declare interface ButtonGroupProps extends Omit<default_2.HTMLAttributes<HTMLDivElement>, 'style'> {
|
|
184
314
|
/** Array of button items */
|
|
185
315
|
items: ButtonGroupItem[];
|
|
316
|
+
/** Button group variant/style */
|
|
317
|
+
variant?: ButtonGroupVariant;
|
|
186
318
|
/** Button group size */
|
|
187
|
-
size?:
|
|
188
|
-
/** Button group
|
|
189
|
-
|
|
319
|
+
size?: ButtonGroupSize;
|
|
320
|
+
/** Button group shape */
|
|
321
|
+
shape?: ButtonGroupShape;
|
|
322
|
+
/** Icon-only mode (no labels) */
|
|
323
|
+
iconOnly?: boolean;
|
|
190
324
|
/** RTL mode */
|
|
191
325
|
rtl?: boolean;
|
|
192
|
-
/** RTL button labels (array matching items) */
|
|
193
|
-
rtlLabels?: string[];
|
|
194
326
|
}
|
|
195
327
|
|
|
328
|
+
export declare type ButtonGroupShape = 'rounded' | 'pill' | 'square';
|
|
329
|
+
|
|
330
|
+
export declare type ButtonGroupSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
331
|
+
|
|
332
|
+
export declare type ButtonGroupVariant = 'primary' | 'soft' | 'outline' | 'ghost';
|
|
333
|
+
|
|
196
334
|
export declare interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
197
335
|
/** The visual style variant of the button */
|
|
198
336
|
variant?: ButtonVariant;
|
|
199
337
|
/** The size of the button */
|
|
200
338
|
size?: ButtonSize;
|
|
339
|
+
/** The shape/border-radius of the button */
|
|
340
|
+
shape?: ButtonShape;
|
|
201
341
|
/** Whether the button is in a loading state */
|
|
202
342
|
loading?: boolean;
|
|
203
343
|
/** Whether the button is disabled */
|
|
@@ -214,18 +354,41 @@ export declare interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButto
|
|
|
214
354
|
endIcon?: ReactNode;
|
|
215
355
|
/** Icon for icon-only buttons */
|
|
216
356
|
icon?: ReactNode;
|
|
357
|
+
/** Show chevron icon for link buttons */
|
|
358
|
+
showChevron?: boolean;
|
|
359
|
+
/** Underline the link button text */
|
|
360
|
+
underline?: boolean;
|
|
217
361
|
/** Enable RTL (Right-to-Left) mode for Arabic, Hebrew, and other RTL languages */
|
|
218
362
|
rtl?: boolean;
|
|
219
363
|
/** Button content */
|
|
220
364
|
children?: ReactNode;
|
|
221
365
|
}
|
|
222
366
|
|
|
367
|
+
export declare type ButtonShape = "rounded" | "pill" | "square" | "circle";
|
|
368
|
+
|
|
223
369
|
export declare type ButtonSize = "xs" | "sm" | "md" | "lg";
|
|
224
370
|
|
|
225
|
-
export declare type ButtonVariant = "primary" | "soft" | "secondary" | "dashed" | "white" | "outline" | "ghost" | "ghost-primary" | "danger" | "soft-danger";
|
|
371
|
+
export declare type ButtonVariant = "primary" | "soft" | "secondary" | "dashed" | "white" | "outline" | "ghost" | "ghost-primary" | "danger" | "soft-danger" | "link" | "link-danger" | "link-neutral";
|
|
226
372
|
|
|
227
373
|
export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
|
|
228
374
|
|
|
375
|
+
export declare const CheckboxCard: ForwardRefExoticComponent<CheckboxCardProps & RefAttributes<HTMLInputElement>>;
|
|
376
|
+
|
|
377
|
+
export declare interface CheckboxCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
378
|
+
/** Card label/title */
|
|
379
|
+
label?: string;
|
|
380
|
+
/** Card description */
|
|
381
|
+
description?: string;
|
|
382
|
+
/** Optional icon or image */
|
|
383
|
+
icon?: ReactNode;
|
|
384
|
+
/** Indeterminate state */
|
|
385
|
+
indeterminate?: boolean;
|
|
386
|
+
/** RTL mode */
|
|
387
|
+
rtl?: boolean;
|
|
388
|
+
/** Checkbox position */
|
|
389
|
+
checkboxPosition?: 'left' | 'right';
|
|
390
|
+
}
|
|
391
|
+
|
|
229
392
|
export declare interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
230
393
|
/** Checkbox label */
|
|
231
394
|
label?: string;
|
|
@@ -272,7 +435,7 @@ export declare interface CheckmarkCardProps extends Omit<HTMLAttributes<HTMLElem
|
|
|
272
435
|
onChange?: (selected: boolean) => void;
|
|
273
436
|
}
|
|
274
437
|
|
|
275
|
-
export declare function cn(...inputs:
|
|
438
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
276
439
|
|
|
277
440
|
export declare const CodeBlock: ({ code, language, className }: CodeBlockProps) => JSX_2.Element;
|
|
278
441
|
|
|
@@ -295,66 +458,314 @@ export declare interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
295
458
|
spacing?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
296
459
|
}
|
|
297
460
|
|
|
298
|
-
export declare const
|
|
461
|
+
export declare const Input: ForwardRefExoticComponent<InputProps & RefAttributes<HTMLInputElement>>;
|
|
299
462
|
|
|
300
|
-
declare interface
|
|
301
|
-
/**
|
|
302
|
-
type?: 'default' | 'multiline' | 'cta' | 'progress' | 'button' | 'divider' | 'label' | 'caption';
|
|
303
|
-
/** Item state */
|
|
304
|
-
state?: 'default' | 'hover' | 'disabled';
|
|
305
|
-
/** Main label text */
|
|
463
|
+
export declare interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
464
|
+
/** Input label */
|
|
306
465
|
label?: string;
|
|
307
|
-
/**
|
|
308
|
-
|
|
466
|
+
/** RTL label */
|
|
467
|
+
rtlLabel?: string;
|
|
468
|
+
/** Hint text below input */
|
|
469
|
+
hintText?: string;
|
|
470
|
+
/** RTL hint text */
|
|
471
|
+
rtlHintText?: string;
|
|
472
|
+
/** Error message */
|
|
473
|
+
error?: string;
|
|
474
|
+
/** RTL error message */
|
|
475
|
+
rtlError?: string;
|
|
476
|
+
/** Success message */
|
|
477
|
+
success?: string;
|
|
478
|
+
/** RTL success message */
|
|
479
|
+
rtlSuccess?: string;
|
|
480
|
+
/** Leading icon or element */
|
|
481
|
+
leadingIcon?: ReactNode;
|
|
482
|
+
/** Trailing icon or element */
|
|
483
|
+
trailingIcon?: ReactNode;
|
|
484
|
+
/** Prefix text (e.g., "https://") */
|
|
485
|
+
prefix?: string;
|
|
486
|
+
/** Suffix text (e.g., ".com") */
|
|
487
|
+
suffix?: string;
|
|
488
|
+
/** Action button text (e.g., "Send") */
|
|
489
|
+
actionButton?: string;
|
|
490
|
+
/** Action button click handler */
|
|
491
|
+
onActionClick?: () => void;
|
|
492
|
+
/** Shortcut text (e.g., "⌘K") */
|
|
493
|
+
shortcut?: string;
|
|
494
|
+
/** RTL mode */
|
|
495
|
+
rtl?: boolean;
|
|
496
|
+
/** Optional indicator */
|
|
497
|
+
optional?: boolean;
|
|
498
|
+
/** Required indicator */
|
|
499
|
+
required?: boolean;
|
|
500
|
+
/** Allow clearing the input */
|
|
501
|
+
clearable?: boolean;
|
|
502
|
+
/** Clear handler */
|
|
503
|
+
onClear?: () => void;
|
|
504
|
+
/** Input size */
|
|
505
|
+
inputSize?: 'sm' | 'md' | 'lg';
|
|
506
|
+
/** Full width */
|
|
507
|
+
fullWidth?: boolean;
|
|
508
|
+
/** Custom class for container */
|
|
509
|
+
containerClassName?: string;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
export declare const Menu: ForwardRefExoticComponent<MenuProps & RefAttributes<HTMLDivElement>>;
|
|
513
|
+
|
|
514
|
+
export declare const MenuItem: ForwardRefExoticComponent<MenuItemProps & RefAttributes<HTMLDivElement>>;
|
|
515
|
+
|
|
516
|
+
export declare interface MenuItemProps {
|
|
517
|
+
/** Main label */
|
|
518
|
+
label: string;
|
|
519
|
+
/** RTL label */
|
|
520
|
+
rtlLabel?: string;
|
|
521
|
+
/** Supporting text */
|
|
522
|
+
supportingText?: string;
|
|
523
|
+
/** RTL supporting text */
|
|
524
|
+
rtlSupportingText?: string;
|
|
309
525
|
/** Leading icon */
|
|
310
|
-
leadingIcon?:
|
|
311
|
-
/**
|
|
312
|
-
|
|
313
|
-
/** Avatar
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
|
|
323
|
-
/**
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
|
|
327
|
-
/** Switch change handler */
|
|
328
|
-
onSwitchChange?: (active: boolean) => void;
|
|
329
|
-
/** Button text (for CTA items) */
|
|
330
|
-
buttonText?: string;
|
|
331
|
-
/** Button click handler */
|
|
332
|
-
onButtonClick?: () => void;
|
|
333
|
-
/** Progress percentage (for progress items) */
|
|
334
|
-
progress?: number;
|
|
335
|
-
/** Progress label */
|
|
336
|
-
progressLabel?: string;
|
|
337
|
-
/** Progress optional text */
|
|
338
|
-
progressOptional?: string;
|
|
339
|
-
/** Caption text (for label/caption items) */
|
|
340
|
-
caption?: string;
|
|
526
|
+
leadingIcon?: ReactNode;
|
|
527
|
+
/** Avatar component or image URL */
|
|
528
|
+
avatar?: ReactNode | string;
|
|
529
|
+
/** Avatar size */
|
|
530
|
+
avatarSize?: 'sm' | 'md' | 'lg';
|
|
531
|
+
/** Badge component */
|
|
532
|
+
badge?: ReactNode;
|
|
533
|
+
/** Toggle switch */
|
|
534
|
+
toggle?: ReactNode;
|
|
535
|
+
/** Trailing icon (chevron or custom) */
|
|
536
|
+
trailingIcon?: 'chevron' | 'none' | ReactNode;
|
|
537
|
+
/** Show trailing text */
|
|
538
|
+
trailingText?: string;
|
|
539
|
+
/** RTL trailing text */
|
|
540
|
+
rtlTrailingText?: string;
|
|
541
|
+
/** Show add button */
|
|
542
|
+
showAddButton?: boolean;
|
|
341
543
|
/** RTL mode */
|
|
342
544
|
rtl?: boolean;
|
|
545
|
+
/** Disabled state */
|
|
546
|
+
disabled?: boolean;
|
|
343
547
|
/** Click handler */
|
|
344
548
|
onClick?: () => void;
|
|
549
|
+
/** Custom class */
|
|
550
|
+
className?: string;
|
|
345
551
|
}
|
|
346
552
|
|
|
347
|
-
export declare
|
|
348
|
-
|
|
349
|
-
export declare interface MenuProps extends HTMLAttributes<HTMLDivElement> {
|
|
553
|
+
export declare interface MenuProps {
|
|
350
554
|
/** Menu items */
|
|
351
|
-
children
|
|
352
|
-
/**
|
|
353
|
-
|
|
555
|
+
children: ReactNode;
|
|
556
|
+
/** RTL mode */
|
|
557
|
+
rtl?: boolean;
|
|
558
|
+
/** Custom class */
|
|
559
|
+
className?: string;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
export declare const NumberInput: ForwardRefExoticComponent<NumberInputProps & RefAttributes<HTMLInputElement>>;
|
|
563
|
+
|
|
564
|
+
export declare interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'onChange'> {
|
|
565
|
+
/** Input label */
|
|
566
|
+
label?: string;
|
|
567
|
+
/** RTL label */
|
|
568
|
+
rtlLabel?: string;
|
|
569
|
+
/** Hint text below input */
|
|
570
|
+
hintText?: string;
|
|
571
|
+
/** RTL hint text */
|
|
572
|
+
rtlHintText?: string;
|
|
573
|
+
/** Error message */
|
|
574
|
+
error?: string;
|
|
575
|
+
/** RTL error message */
|
|
576
|
+
rtlError?: string;
|
|
577
|
+
/** Value */
|
|
578
|
+
value?: number;
|
|
579
|
+
/** Change handler */
|
|
580
|
+
onChange?: (value: number) => void;
|
|
581
|
+
/** Minimum value */
|
|
582
|
+
min?: number;
|
|
583
|
+
/** Maximum value */
|
|
584
|
+
max?: number;
|
|
585
|
+
/** Step */
|
|
586
|
+
step?: number;
|
|
587
|
+
/** RTL mode */
|
|
588
|
+
rtl?: boolean;
|
|
589
|
+
/** Show spinner buttons */
|
|
590
|
+
showSpinner?: boolean;
|
|
591
|
+
/** Full width */
|
|
592
|
+
fullWidth?: boolean;
|
|
593
|
+
/** Custom class for container */
|
|
594
|
+
containerClassName?: string;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
/**
|
|
598
|
+
* Pagination component for navigating through pages of content.
|
|
599
|
+
* Supports multiple sizes, RTL mode, and configurable display options.
|
|
600
|
+
*
|
|
601
|
+
* Features:
|
|
602
|
+
* - Page number buttons with intelligent ellipsis
|
|
603
|
+
* - Previous/Next navigation
|
|
604
|
+
* - First/Last page buttons (optional)
|
|
605
|
+
* - Simple variant (text-based)
|
|
606
|
+
* - RTL support
|
|
607
|
+
* - Accessible keyboard navigation
|
|
608
|
+
*/
|
|
609
|
+
export declare const Pagination: ForwardRefExoticComponent<PaginationProps & RefAttributes<HTMLDivElement>>;
|
|
610
|
+
|
|
611
|
+
export declare interface PaginationProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
612
|
+
/** Current active page (1-indexed) */
|
|
613
|
+
currentPage: number;
|
|
614
|
+
/** Total number of pages */
|
|
615
|
+
totalPages: number;
|
|
616
|
+
/** Callback when page changes */
|
|
617
|
+
onPageChange?: (page: number) => void;
|
|
618
|
+
/** Size variant */
|
|
619
|
+
size?: PaginationSize;
|
|
620
|
+
/** Visual variant */
|
|
621
|
+
variant?: PaginationVariant;
|
|
622
|
+
/** Show first/last page buttons */
|
|
623
|
+
showFirstLast?: boolean;
|
|
624
|
+
/** Show previous/next buttons */
|
|
625
|
+
showPrevNext?: boolean;
|
|
626
|
+
/** Number of page buttons to show on each side of current page */
|
|
627
|
+
siblingCount?: number;
|
|
628
|
+
/** Enable RTL (Right-to-Left) mode */
|
|
629
|
+
rtl?: boolean;
|
|
630
|
+
/** Disable all pagination controls */
|
|
631
|
+
disabled?: boolean;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
export declare type PaginationSize = "sm" | "md" | "lg";
|
|
635
|
+
|
|
636
|
+
export declare type PaginationVariant = "default" | "simple";
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* ProgressBar component for displaying progress visually.
|
|
640
|
+
* Supports multiple sizes, colors, labels, helper text, and inline indicators.
|
|
641
|
+
* Includes RTL (Right-to-Left) support for Arabic, Hebrew, and other RTL languages.
|
|
642
|
+
*
|
|
643
|
+
* Size Specifications:
|
|
644
|
+
* - sm: 4px height
|
|
645
|
+
* - lg: 8px height
|
|
646
|
+
*/
|
|
647
|
+
export declare const ProgressBar: ForwardRefExoticComponent<ProgressBarProps & RefAttributes<HTMLDivElement>>;
|
|
648
|
+
|
|
649
|
+
export declare type ProgressBarColor = "default" | "green" | "golden" | "amber" | "red" | "purple" | "sky" | "neutral";
|
|
650
|
+
|
|
651
|
+
export declare type ProgressBarLabelType = "top" | "bottom" | "none";
|
|
652
|
+
|
|
653
|
+
export declare interface ProgressBarProps extends Omit<HTMLAttributes<HTMLDivElement>, "color"> {
|
|
654
|
+
/** Progress value from 0 to 100 */
|
|
655
|
+
value?: number;
|
|
656
|
+
/** The size of the progress bar */
|
|
657
|
+
size?: ProgressBarSize;
|
|
658
|
+
/** The color of the progress bar fill */
|
|
659
|
+
color?: ProgressBarColor;
|
|
660
|
+
/** Label text */
|
|
661
|
+
label?: string;
|
|
662
|
+
/** Label position (top, bottom, or none) */
|
|
663
|
+
labelType?: ProgressBarLabelType;
|
|
664
|
+
/** Helper text below the progress bar */
|
|
665
|
+
helperText?: string;
|
|
666
|
+
/** Whether helper text indicates danger/error */
|
|
667
|
+
helperDanger?: boolean;
|
|
668
|
+
/** Show inline progress indicator */
|
|
669
|
+
showInlineIndicator?: boolean;
|
|
670
|
+
/** Type of progress indicator */
|
|
671
|
+
indicatorType?: ProgressIndicatorType;
|
|
672
|
+
/** Custom icon for indicator */
|
|
673
|
+
customIcon?: ReactNode;
|
|
674
|
+
/** Enable RTL (Right-to-Left) mode */
|
|
675
|
+
rtl?: boolean;
|
|
676
|
+
/** RTL label text */
|
|
677
|
+
rtlLabel?: string;
|
|
678
|
+
/** RTL helper text */
|
|
679
|
+
rtlHelperText?: string;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export declare type ProgressBarSize = "sm" | "lg";
|
|
683
|
+
|
|
684
|
+
export declare type ProgressIndicatorType = "loading" | "completed" | "error" | "custom" | "none";
|
|
685
|
+
|
|
686
|
+
export declare const Radio: ForwardRefExoticComponent<RadioProps & RefAttributes<HTMLInputElement>>;
|
|
687
|
+
|
|
688
|
+
export declare const RadioCard: ForwardRefExoticComponent<RadioCardProps & RefAttributes<HTMLInputElement>>;
|
|
689
|
+
|
|
690
|
+
export declare interface RadioCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
691
|
+
/** Card label/title */
|
|
692
|
+
label: string;
|
|
693
|
+
/** Description text below label */
|
|
694
|
+
description?: string;
|
|
695
|
+
/** RTL label (Arabic) */
|
|
696
|
+
rtlLabel?: string;
|
|
697
|
+
/** RTL description (Arabic) */
|
|
698
|
+
rtlDescription?: string;
|
|
699
|
+
/** Icon or image to display */
|
|
700
|
+
leadingIcon?: ReactNode;
|
|
701
|
+
/** Support text on the right side */
|
|
702
|
+
supportText?: string;
|
|
703
|
+
/** RTL support text */
|
|
704
|
+
rtlSupportText?: string;
|
|
705
|
+
/** Radio position */
|
|
706
|
+
radioLocation?: 'leading' | 'trailing';
|
|
707
|
+
/** RTL mode */
|
|
708
|
+
rtl?: boolean;
|
|
709
|
+
/** Error state */
|
|
710
|
+
error?: boolean;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
export declare interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
714
|
+
/** Radio label */
|
|
715
|
+
label?: string;
|
|
716
|
+
/** Support text below label */
|
|
717
|
+
supportText?: string;
|
|
718
|
+
/** RTL label (Arabic) */
|
|
719
|
+
rtlLabel?: string;
|
|
720
|
+
/** RTL support text (Arabic) */
|
|
721
|
+
rtlSupportText?: string;
|
|
722
|
+
/** Radio position relative to label */
|
|
723
|
+
radioLocation?: 'leading' | 'trailing';
|
|
354
724
|
/** RTL mode */
|
|
355
725
|
rtl?: boolean;
|
|
726
|
+
/** Error state */
|
|
727
|
+
error?: boolean;
|
|
356
728
|
}
|
|
357
729
|
|
|
730
|
+
export declare const Slider: ForwardRefExoticComponent<SliderProps & RefAttributes<HTMLInputElement>>;
|
|
731
|
+
|
|
732
|
+
export declare interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
733
|
+
/** Slider size */
|
|
734
|
+
size?: SliderSize;
|
|
735
|
+
/** Minimum value */
|
|
736
|
+
min?: number;
|
|
737
|
+
/** Maximum value */
|
|
738
|
+
max?: number;
|
|
739
|
+
/** Step increment */
|
|
740
|
+
step?: number;
|
|
741
|
+
/** Current value */
|
|
742
|
+
value?: number;
|
|
743
|
+
/** Default value */
|
|
744
|
+
defaultValue?: number;
|
|
745
|
+
/** Show value label above thumb */
|
|
746
|
+
showValue?: boolean;
|
|
747
|
+
/** Show min/max labels */
|
|
748
|
+
showMinMax?: boolean;
|
|
749
|
+
/** Label text */
|
|
750
|
+
label?: string;
|
|
751
|
+
/** RTL label (Arabic) */
|
|
752
|
+
rtlLabel?: string;
|
|
753
|
+
/** Helper text below slider */
|
|
754
|
+
helperText?: string;
|
|
755
|
+
/** RTL helper text */
|
|
756
|
+
rtlHelperText?: string;
|
|
757
|
+
/** RTL mode */
|
|
758
|
+
rtl?: boolean;
|
|
759
|
+
/** Error state */
|
|
760
|
+
error?: boolean;
|
|
761
|
+
/** Custom value formatter */
|
|
762
|
+
formatValue?: (value: number) => string;
|
|
763
|
+
/** Callback when value changes */
|
|
764
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
export declare type SliderSize = 'sm' | 'md' | 'lg';
|
|
768
|
+
|
|
358
769
|
/**
|
|
359
770
|
* SocialButton component for social media authentication buttons.
|
|
360
771
|
* Supports multiple platforms (Facebook, LinkedIn, Apple, WhatsApp, Google, X),
|
|
@@ -414,4 +825,100 @@ export declare interface SwitcherProps extends Omit<InputHTMLAttributes<HTMLInpu
|
|
|
414
825
|
|
|
415
826
|
export declare type SwitcherSize = 'sm' | 'md' | 'lg';
|
|
416
827
|
|
|
828
|
+
export declare const Tab: {
|
|
829
|
+
({ value, children, disabled, icon, badge, className, onClick, ...props }: TabProps): JSX_2.Element;
|
|
830
|
+
displayName: string;
|
|
831
|
+
};
|
|
832
|
+
|
|
833
|
+
export declare interface TabProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
834
|
+
/** Tab value (must be unique) */
|
|
835
|
+
value: string;
|
|
836
|
+
/** Tab label */
|
|
837
|
+
children: ReactNode;
|
|
838
|
+
/** Disabled state */
|
|
839
|
+
disabled?: boolean;
|
|
840
|
+
/** Optional icon */
|
|
841
|
+
icon?: ReactNode;
|
|
842
|
+
/** Badge/count to display */
|
|
843
|
+
badge?: number | string;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
export declare const Tabs: {
|
|
847
|
+
({ defaultValue, value: controlledValue, onChange, variant, size, fullWidth, children, className, ...props }: TabsProps): JSX_2.Element;
|
|
848
|
+
displayName: string;
|
|
849
|
+
};
|
|
850
|
+
|
|
851
|
+
export declare const TabsContent: {
|
|
852
|
+
({ value, children, className, ...props }: TabsContentProps): JSX_2.Element | null;
|
|
853
|
+
displayName: string;
|
|
854
|
+
};
|
|
855
|
+
|
|
856
|
+
export declare interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
857
|
+
/** Value matching the tab */
|
|
858
|
+
value: string;
|
|
859
|
+
/** Content to display */
|
|
860
|
+
children: ReactNode;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export declare const TabsList: {
|
|
864
|
+
({ children, className, ...props }: TabsListProps): JSX_2.Element;
|
|
865
|
+
displayName: string;
|
|
866
|
+
};
|
|
867
|
+
|
|
868
|
+
export declare interface TabsListProps extends HTMLAttributes<HTMLDivElement> {
|
|
869
|
+
children: ReactNode;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
export declare interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
873
|
+
/** Default active tab value */
|
|
874
|
+
defaultValue?: string;
|
|
875
|
+
/** Controlled active tab value */
|
|
876
|
+
value?: string;
|
|
877
|
+
/** Callback when tab changes */
|
|
878
|
+
onChange?: (value: string) => void;
|
|
879
|
+
/** Tabs variant */
|
|
880
|
+
variant?: TabsVariant;
|
|
881
|
+
/** Tabs size */
|
|
882
|
+
size?: TabsSize;
|
|
883
|
+
/** Make tabs full width */
|
|
884
|
+
fullWidth?: boolean;
|
|
885
|
+
/** Children (TabsList and TabsContent) */
|
|
886
|
+
children: ReactNode;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
export declare type TabsSize = 'sm' | 'md' | 'lg';
|
|
890
|
+
|
|
891
|
+
export declare type TabsVariant = 'line' | 'contained' | 'pills';
|
|
892
|
+
|
|
893
|
+
export declare const Toggle: ForwardRefExoticComponent<ToggleProps & RefAttributes<HTMLInputElement>>;
|
|
894
|
+
|
|
895
|
+
export declare interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
896
|
+
/** Toggle size */
|
|
897
|
+
size?: ToggleSize;
|
|
898
|
+
/** Label text */
|
|
899
|
+
label?: string;
|
|
900
|
+
/** RTL label (Arabic) */
|
|
901
|
+
rtlLabel?: string;
|
|
902
|
+
/** Support text below label */
|
|
903
|
+
supportText?: string;
|
|
904
|
+
/** RTL support text */
|
|
905
|
+
rtlSupportText?: string;
|
|
906
|
+
/** Label position relative to toggle */
|
|
907
|
+
labelPosition?: 'leading' | 'trailing';
|
|
908
|
+
/** Show icon inside toggle when checked */
|
|
909
|
+
showIcon?: boolean;
|
|
910
|
+
/** Custom icon to show when toggle is ON (checked) */
|
|
911
|
+
iconOn?: ReactNode;
|
|
912
|
+
/** Custom icon to show when toggle is OFF (unchecked) */
|
|
913
|
+
iconOff?: ReactNode;
|
|
914
|
+
/** RTL mode */
|
|
915
|
+
rtl?: boolean;
|
|
916
|
+
/** Error state */
|
|
917
|
+
error?: boolean;
|
|
918
|
+
/** Callback when toggle changes */
|
|
919
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
export declare type ToggleSize = 'sm' | 'md' | 'lg';
|
|
923
|
+
|
|
417
924
|
export { }
|