react-18-ui-library 0.1.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.
Files changed (156) hide show
  1. package/README.md +202 -0
  2. package/dist/components/actions/CopyButton/CopyButton.d.ts +14 -0
  3. package/dist/components/actions/CopyButton/index.d.ts +2 -0
  4. package/dist/components/display/Avatar/Avatar.d.ts +21 -0
  5. package/dist/components/display/Avatar/index.d.ts +2 -0
  6. package/dist/components/display/Badge/Badge.d.ts +20 -0
  7. package/dist/components/display/Badge/index.d.ts +2 -0
  8. package/dist/components/display/Box/Box.d.ts +18 -0
  9. package/dist/components/display/Box/index.d.ts +2 -0
  10. package/dist/components/display/Card/Card.d.ts +11 -0
  11. package/dist/components/display/Card/index.d.ts +2 -0
  12. package/dist/components/display/Collapsible/Collapsible.d.ts +15 -0
  13. package/dist/components/display/Collapsible/index.d.ts +2 -0
  14. package/dist/components/display/DataTable/DataTable.d.ts +46 -0
  15. package/dist/components/display/EmptyState/EmptyState.d.ts +10 -0
  16. package/dist/components/display/EmptyState/index.d.ts +2 -0
  17. package/dist/components/display/Icon/Icon.d.ts +9 -0
  18. package/dist/components/display/Icon/index.d.ts +2 -0
  19. package/dist/components/display/Image/Image.d.ts +15 -0
  20. package/dist/components/display/Image/index.d.ts +2 -0
  21. package/dist/components/display/List/List.d.ts +24 -0
  22. package/dist/components/display/List/index.d.ts +2 -0
  23. package/dist/components/display/MarkdownReader/MarkdownReader.d.ts +7 -0
  24. package/dist/components/display/SVG/SVG.d.ts +18 -0
  25. package/dist/components/display/SVG/index.d.ts +2 -0
  26. package/dist/components/display/Stat/Stat.d.ts +13 -0
  27. package/dist/components/display/Stat/index.d.ts +2 -0
  28. package/dist/components/display/Table/Table.d.ts +31 -0
  29. package/dist/components/display/Table/index.d.ts +2 -0
  30. package/dist/components/display/Tag/Tag.d.ts +16 -0
  31. package/dist/components/display/Tag/index.d.ts +2 -0
  32. package/dist/components/display/Timeline/Timeline.d.ts +15 -0
  33. package/dist/components/display/Timeline/index.d.ts +2 -0
  34. package/dist/components/display/TreeView/TreeView.d.ts +23 -0
  35. package/dist/components/display/TreeView/index.d.ts +2 -0
  36. package/dist/components/feedback/Alert/Alert.d.ts +15 -0
  37. package/dist/components/feedback/Alert/index.d.ts +2 -0
  38. package/dist/components/feedback/ErrorBoundary/ErrorBoundary.d.ts +18 -0
  39. package/dist/components/feedback/ErrorBoundary/index.d.ts +2 -0
  40. package/dist/components/feedback/FullScreenLoader/FullScreenLoader.d.ts +27 -0
  41. package/dist/components/feedback/ProgressBar/ProgressBar.d.ts +15 -0
  42. package/dist/components/feedback/ProgressBar/index.d.ts +2 -0
  43. package/dist/components/feedback/Skeleton/Skeleton.d.ts +16 -0
  44. package/dist/components/feedback/Skeleton/index.d.ts +2 -0
  45. package/dist/components/feedback/Spinner/Spinner.d.ts +9 -0
  46. package/dist/components/feedback/Spinner/index.d.ts +2 -0
  47. package/dist/components/feedback/Toast/Toast.d.ts +7 -0
  48. package/dist/components/feedback/Toast/index.d.ts +2 -0
  49. package/dist/components/forms/FileUpload/FileUpload.d.ts +24 -0
  50. package/dist/components/forms/FileUpload/index.d.ts +2 -0
  51. package/dist/components/forms/FormField/FormField.d.ts +12 -0
  52. package/dist/components/forms/FormField/index.d.ts +2 -0
  53. package/dist/components/forms/JSONForm/FormValidator.d.ts +157 -0
  54. package/dist/components/forms/JSONForm/JSONForm.d.ts +53 -0
  55. package/dist/components/forms/JSONForm/index.d.ts +4 -0
  56. package/dist/components/inputs/Button/Button.d.ts +15 -0
  57. package/dist/components/inputs/Button/index.d.ts +2 -0
  58. package/dist/components/inputs/Checkbox/Checkbox.d.ts +14 -0
  59. package/dist/components/inputs/Checkbox/index.d.ts +2 -0
  60. package/dist/components/inputs/ChipSelect/ChipSelect.d.ts +24 -0
  61. package/dist/components/inputs/DatePicker/DatePicker.d.ts +39 -0
  62. package/dist/components/inputs/DatePicker/index.d.ts +2 -0
  63. package/dist/components/inputs/IconButton/IconButton.d.ts +14 -0
  64. package/dist/components/inputs/IconButton/index.d.ts +2 -0
  65. package/dist/components/inputs/MultiSelect/MultiSelect.d.ts +35 -0
  66. package/dist/components/inputs/MultiSelect/index.d.ts +2 -0
  67. package/dist/components/inputs/NumberInput/NumberInput.d.ts +23 -0
  68. package/dist/components/inputs/NumberInput/index.d.ts +2 -0
  69. package/dist/components/inputs/OTPInput/OTPInput.d.ts +18 -0
  70. package/dist/components/inputs/OTPInput/index.d.ts +2 -0
  71. package/dist/components/inputs/PhoneInput/PhoneInput.d.ts +35 -0
  72. package/dist/components/inputs/PhoneInput/index.d.ts +2 -0
  73. package/dist/components/inputs/Radio/Radio.d.ts +20 -0
  74. package/dist/components/inputs/Radio/index.d.ts +2 -0
  75. package/dist/components/inputs/Rating/Rating.d.ts +19 -0
  76. package/dist/components/inputs/Rating/index.d.ts +2 -0
  77. package/dist/components/inputs/SearchSelect/SearchSelect.d.ts +39 -0
  78. package/dist/components/inputs/Select/Select.d.ts +25 -0
  79. package/dist/components/inputs/Select/index.d.ts +2 -0
  80. package/dist/components/inputs/Slider/Slider.d.ts +20 -0
  81. package/dist/components/inputs/Slider/index.d.ts +2 -0
  82. package/dist/components/inputs/Switch/Switch.d.ts +14 -0
  83. package/dist/components/inputs/Switch/index.d.ts +2 -0
  84. package/dist/components/inputs/TagInput/TagInput.d.ts +17 -0
  85. package/dist/components/inputs/TextArea/TextArea.d.ts +18 -0
  86. package/dist/components/inputs/TextArea/index.d.ts +2 -0
  87. package/dist/components/inputs/TextField/TextField.d.ts +21 -0
  88. package/dist/components/inputs/TextField/index.d.ts +2 -0
  89. package/dist/components/layout/AppShell/AppShell.d.ts +12 -0
  90. package/dist/components/layout/AppShell/index.d.ts +2 -0
  91. package/dist/components/layout/Container/Container.d.ts +8 -0
  92. package/dist/components/layout/Container/index.d.ts +2 -0
  93. package/dist/components/layout/Divider/Divider.d.ts +10 -0
  94. package/dist/components/layout/Divider/index.d.ts +2 -0
  95. package/dist/components/layout/Grid/Grid.d.ts +13 -0
  96. package/dist/components/layout/Grid/index.d.ts +2 -0
  97. package/dist/components/layout/Navbar/Navbar.d.ts +19 -0
  98. package/dist/components/layout/Navbar/index.d.ts +2 -0
  99. package/dist/components/layout/Sidebar/Sidebar.d.ts +24 -0
  100. package/dist/components/layout/Sidebar/index.d.ts +2 -0
  101. package/dist/components/layout/Spacer/Spacer.d.ts +6 -0
  102. package/dist/components/layout/Spacer/index.d.ts +2 -0
  103. package/dist/components/layout/Stack/Stack.d.ts +14 -0
  104. package/dist/components/layout/Stack/index.d.ts +2 -0
  105. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +13 -0
  106. package/dist/components/navigation/Breadcrumb/index.d.ts +2 -0
  107. package/dist/components/navigation/Pagination/Pagination.d.ts +10 -0
  108. package/dist/components/navigation/Pagination/index.d.ts +2 -0
  109. package/dist/components/navigation/StepIndicator/StepIndicator.d.ts +15 -0
  110. package/dist/components/navigation/StepIndicator/index.d.ts +2 -0
  111. package/dist/components/navigation/Tabs/Tabs.d.ts +25 -0
  112. package/dist/components/navigation/Tabs/index.d.ts +2 -0
  113. package/dist/components/overlay/CommandPalette/CommandPalette.d.ts +35 -0
  114. package/dist/components/overlay/CommandPalette/index.d.ts +2 -0
  115. package/dist/components/overlay/ConfirmDialog/ConfirmDialog.d.ts +20 -0
  116. package/dist/components/overlay/ContextMenu/ContextMenu.d.ts +19 -0
  117. package/dist/components/overlay/ContextMenu/index.d.ts +2 -0
  118. package/dist/components/overlay/Drawer/Drawer.d.ts +18 -0
  119. package/dist/components/overlay/Drawer/index.d.ts +2 -0
  120. package/dist/components/overlay/Modal/Modal.d.ts +17 -0
  121. package/dist/components/overlay/Modal/index.d.ts +2 -0
  122. package/dist/components/overlay/Popover/Popover.d.ts +15 -0
  123. package/dist/components/overlay/Popover/index.d.ts +2 -0
  124. package/dist/components/overlay/Tooltip/Tooltip.d.ts +13 -0
  125. package/dist/components/overlay/Tooltip/index.d.ts +2 -0
  126. package/dist/components/typography/Code/Code.d.ts +11 -0
  127. package/dist/components/typography/Code/index.d.ts +2 -0
  128. package/dist/components/typography/Heading/Heading.d.ts +12 -0
  129. package/dist/components/typography/Heading/index.d.ts +2 -0
  130. package/dist/components/typography/Kbd/Kbd.d.ts +8 -0
  131. package/dist/components/typography/Kbd/index.d.ts +2 -0
  132. package/dist/components/typography/Label/Label.d.ts +8 -0
  133. package/dist/components/typography/Label/index.d.ts +2 -0
  134. package/dist/components/typography/Link/Link.d.ts +9 -0
  135. package/dist/components/typography/Link/index.d.ts +2 -0
  136. package/dist/components/typography/Text/Text.d.ts +16 -0
  137. package/dist/components/typography/Text/index.d.ts +2 -0
  138. package/dist/hooks/useClickOutside.d.ts +2 -0
  139. package/dist/hooks/useClipboard.d.ts +11 -0
  140. package/dist/hooks/useDebounce.d.ts +1 -0
  141. package/dist/hooks/useIntersectionObserver.d.ts +5 -0
  142. package/dist/hooks/useKeyboard.d.ts +9 -0
  143. package/dist/hooks/useLocalStorage.d.ts +1 -0
  144. package/dist/hooks/useMediaQuery.d.ts +1 -0
  145. package/dist/hooks/useTheme.d.ts +4 -0
  146. package/dist/hooks/useToast.d.ts +16 -0
  147. package/dist/hooks/useWindowSize.d.ts +8 -0
  148. package/dist/index.cjs.js +3639 -0
  149. package/dist/index.cjs.js.map +1 -0
  150. package/dist/index.d.ts +1587 -0
  151. package/dist/index.esm.js +3512 -0
  152. package/dist/index.esm.js.map +1 -0
  153. package/dist/styles.css +1 -0
  154. package/dist/theme/ThemeProvider.d.ts +59 -0
  155. package/dist/utils/cn.d.ts +2 -0
  156. package/package.json +112 -0
@@ -0,0 +1,1587 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React, { ReactNode, RefObject, Component, ErrorInfo } from 'react';
3
+ import { ClassValue } from 'clsx';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { DateRange } from 'react-day-picker';
7
+ import { RegisterOptions, SubmitHandler } from 'react-hook-form';
8
+ import { Accept } from 'react-dropzone';
9
+ import { LucideProps, LucideIcon } from 'lucide-react';
10
+ import * as RadixLabel from '@radix-ui/react-label';
11
+
12
+ interface ThemeTokens {
13
+ colorPrimary?: string;
14
+ colorPrimaryHover?: string;
15
+ colorPrimaryForeground?: string;
16
+ colorSecondary?: string;
17
+ colorSecondaryHover?: string;
18
+ colorSecondaryForeground?: string;
19
+ colorBackground?: string;
20
+ colorSurface?: string;
21
+ colorSurfaceHover?: string;
22
+ colorBorder?: string;
23
+ colorBorderFocus?: string;
24
+ colorText?: string;
25
+ colorTextMuted?: string;
26
+ colorTextDisabled?: string;
27
+ colorError?: string;
28
+ colorErrorBg?: string;
29
+ colorSuccess?: string;
30
+ colorSuccessBg?: string;
31
+ colorWarning?: string;
32
+ colorWarningBg?: string;
33
+ colorInfo?: string;
34
+ colorInfoBg?: string;
35
+ colorOverlay?: string;
36
+ colorNavbar?: string;
37
+ colorSidebar?: string;
38
+ colorSidebarText?: string;
39
+ colorSidebarActive?: string;
40
+ colorSidebarActiveBg?: string;
41
+ radiusSm?: string;
42
+ radiusMd?: string;
43
+ radiusLg?: string;
44
+ radiusXl?: string;
45
+ fontFamilyBase?: string;
46
+ fontFamilyMono?: string;
47
+ shadowSm?: string;
48
+ shadowMd?: string;
49
+ shadowLg?: string;
50
+ shadowXl?: string;
51
+ transitionFast?: string;
52
+ transitionSpeed?: string;
53
+ transitionSlow?: string;
54
+ navbarHeight?: string;
55
+ sidebarWidth?: string;
56
+ sidebarCollapsedWidth?: string;
57
+ }
58
+ interface ThemeProviderProps {
59
+ tokens?: ThemeTokens;
60
+ children: ReactNode;
61
+ }
62
+ declare function ThemeProvider({ tokens, children }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
63
+
64
+ declare function useTheme(): {
65
+ getToken: (token: string) => string;
66
+ setToken: (token: string, value: string) => void;
67
+ };
68
+
69
+ declare function useMediaQuery(query: string): boolean;
70
+
71
+ declare function useClickOutside<T extends HTMLElement>(ref: RefObject<T>, handler: (event: MouseEvent | TouchEvent) => void, enabled?: boolean): void;
72
+
73
+ declare function useDebounce<T>(value: T, delay?: number): T;
74
+
75
+ type ToastVariant = 'info' | 'success' | 'warning' | 'error';
76
+ type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
77
+ interface Toast {
78
+ id: string;
79
+ title?: string;
80
+ description?: string;
81
+ variant?: ToastVariant;
82
+ duration?: number;
83
+ }
84
+ interface UseToastReturn {
85
+ toasts: Toast[];
86
+ toast: (options: Omit<Toast, 'id'>) => string;
87
+ dismiss: (id: string) => void;
88
+ dismissAll: () => void;
89
+ }
90
+ declare function useToast(): UseToastReturn;
91
+
92
+ declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void, () => void];
93
+
94
+ interface UseClipboardOptions {
95
+ timeout?: number;
96
+ onSuccess?: (value: string) => void;
97
+ onError?: (error: Error) => void;
98
+ }
99
+ interface UseClipboardReturn {
100
+ copied: boolean;
101
+ copy: (value: string) => Promise<void>;
102
+ reset: () => void;
103
+ }
104
+ declare function useClipboard(options?: UseClipboardOptions): UseClipboardReturn;
105
+
106
+ interface WindowSize {
107
+ width: number;
108
+ height: number;
109
+ isMobile: boolean;
110
+ isTablet: boolean;
111
+ isDesktop: boolean;
112
+ }
113
+ declare function useWindowSize(): WindowSize;
114
+
115
+ interface UseIntersectionObserverOptions extends IntersectionObserverInit {
116
+ freezeOnceVisible?: boolean;
117
+ }
118
+ declare function useIntersectionObserver<T extends Element>(options?: UseIntersectionObserverOptions): [RefObject<T>, boolean, IntersectionObserverEntry | null];
119
+
120
+ type KeyboardModifier = 'ctrl' | 'meta' | 'shift' | 'alt';
121
+ interface KeyboardShortcut {
122
+ key: string;
123
+ modifiers?: KeyboardModifier[];
124
+ handler: (event: KeyboardEvent) => void;
125
+ enabled?: boolean;
126
+ preventDefault?: boolean;
127
+ }
128
+ declare function useKeyboard(shortcuts: KeyboardShortcut | KeyboardShortcut[]): void;
129
+
130
+ declare function cn(...inputs: ClassValue[]): string;
131
+
132
+ interface NavbarLink {
133
+ label: string;
134
+ href?: string;
135
+ onClick?: () => void;
136
+ active?: boolean;
137
+ icon?: React.ReactNode;
138
+ }
139
+ interface NavbarProps {
140
+ logo?: React.ReactNode;
141
+ links?: NavbarLink[];
142
+ actions?: React.ReactNode;
143
+ sticky?: boolean;
144
+ fixed?: boolean;
145
+ bordered?: boolean;
146
+ className?: string;
147
+ onMenuToggle?: (open: boolean) => void;
148
+ }
149
+ declare function Navbar({ logo, links, actions, sticky, fixed, bordered, className, onMenuToggle, }: NavbarProps): react_jsx_runtime.JSX.Element;
150
+
151
+ interface SidebarItem {
152
+ id: string;
153
+ label: string;
154
+ icon?: React.ReactNode;
155
+ href?: string;
156
+ onClick?: () => void;
157
+ active?: boolean;
158
+ badge?: string | number;
159
+ children?: SidebarItem[];
160
+ }
161
+ interface SidebarProps {
162
+ items?: SidebarItem[];
163
+ collapsed?: boolean;
164
+ defaultCollapsed?: boolean;
165
+ onCollapsedChange?: (collapsed: boolean) => void;
166
+ header?: React.ReactNode;
167
+ footer?: React.ReactNode;
168
+ overlay?: boolean;
169
+ open?: boolean;
170
+ onClose?: () => void;
171
+ className?: string;
172
+ }
173
+ declare function Sidebar({ items, collapsed: controlledCollapsed, defaultCollapsed, onCollapsedChange, header, footer, overlay, open, onClose, className, }: SidebarProps): react_jsx_runtime.JSX.Element;
174
+
175
+ interface AppShellProps {
176
+ navbar?: NavbarProps;
177
+ sidebar?: SidebarProps;
178
+ children: React.ReactNode;
179
+ defaultSidebarCollapsed?: boolean;
180
+ className?: string;
181
+ contentClassName?: string;
182
+ }
183
+ declare function AppShell({ navbar, sidebar, children, defaultSidebarCollapsed, className, contentClassName, }: AppShellProps): react_jsx_runtime.JSX.Element;
184
+
185
+ type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
186
+ interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
187
+ size?: ContainerSize;
188
+ centered?: boolean;
189
+ padded?: boolean;
190
+ }
191
+ declare function Container({ size, centered, padded, className, children, ...props }: ContainerProps): react_jsx_runtime.JSX.Element;
192
+
193
+ type StackDirection = 'row' | 'col';
194
+ type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
195
+ type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
196
+ type StackGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
197
+ interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
198
+ direction?: StackDirection;
199
+ align?: StackAlign;
200
+ justify?: StackJustify;
201
+ gap?: StackGap;
202
+ wrap?: boolean;
203
+ inline?: boolean;
204
+ }
205
+ declare function Stack({ direction, align, justify, gap, wrap, inline, className, children, ...props }: StackProps): react_jsx_runtime.JSX.Element;
206
+
207
+ type GridCols = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
208
+ type GridGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
209
+ interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
210
+ cols?: GridCols;
211
+ smCols?: GridCols;
212
+ mdCols?: GridCols;
213
+ lgCols?: GridCols;
214
+ gap?: GridGap;
215
+ autoFill?: boolean;
216
+ minColWidth?: string;
217
+ }
218
+ declare function Grid({ cols, smCols, mdCols, lgCols, gap, autoFill, minColWidth, className, style, children, ...props }: GridProps): react_jsx_runtime.JSX.Element;
219
+
220
+ interface DividerProps {
221
+ orientation?: 'horizontal' | 'vertical';
222
+ label?: React.ReactNode;
223
+ labelPosition?: 'left' | 'center' | 'right';
224
+ className?: string;
225
+ style?: React.CSSProperties;
226
+ id?: string;
227
+ }
228
+ declare function Divider({ orientation, label, labelPosition, className, style, id, }: DividerProps): react_jsx_runtime.JSX.Element;
229
+
230
+ interface SpacerProps {
231
+ size?: number | string;
232
+ axis?: 'horizontal' | 'vertical' | 'both';
233
+ className?: string;
234
+ }
235
+ declare function Spacer({ size, axis, className }: SpacerProps): react_jsx_runtime.JSX.Element;
236
+
237
+ interface BreadcrumbItem {
238
+ label: string;
239
+ href?: string;
240
+ onClick?: () => void;
241
+ }
242
+ interface BreadcrumbProps {
243
+ items: BreadcrumbItem[];
244
+ separator?: React.ReactNode;
245
+ maxItems?: number;
246
+ className?: string;
247
+ }
248
+ declare function Breadcrumb({ items, separator, maxItems, className, }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
249
+
250
+ type TabsVariant = 'underline' | 'pill' | 'card';
251
+ interface TabItem {
252
+ value: string;
253
+ label: string;
254
+ icon?: React.ReactNode;
255
+ disabled?: boolean;
256
+ badge?: string | number;
257
+ }
258
+ interface TabsProps {
259
+ items: TabItem[];
260
+ defaultValue?: string;
261
+ value?: string;
262
+ onValueChange?: (value: string) => void;
263
+ variant?: TabsVariant;
264
+ children?: React.ReactNode;
265
+ className?: string;
266
+ listClassName?: string;
267
+ }
268
+ declare function Tabs({ items, defaultValue, value, onValueChange, variant, children, className, listClassName, }: TabsProps): react_jsx_runtime.JSX.Element;
269
+ declare function TabsContent({ value, children, className, }: {
270
+ value: string;
271
+ children: React.ReactNode;
272
+ className?: string;
273
+ }): react_jsx_runtime.JSX.Element;
274
+
275
+ interface PaginationProps {
276
+ page: number;
277
+ pageSize?: number;
278
+ total: number;
279
+ siblingCount?: number;
280
+ showFirstLast?: boolean;
281
+ onPageChange: (page: number) => void;
282
+ className?: string;
283
+ }
284
+ declare function Pagination({ page, pageSize, total, siblingCount, showFirstLast, onPageChange, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
285
+
286
+ type StepStatus = 'completed' | 'current' | 'upcoming';
287
+ interface Step {
288
+ id: string;
289
+ label: string;
290
+ description?: string;
291
+ icon?: React.ReactNode;
292
+ }
293
+ interface StepIndicatorProps {
294
+ steps: Step[];
295
+ currentStep: number;
296
+ orientation?: 'horizontal' | 'vertical';
297
+ className?: string;
298
+ }
299
+ declare function StepIndicator({ steps, currentStep, orientation, className, }: StepIndicatorProps): react_jsx_runtime.JSX.Element;
300
+
301
+ declare const buttonVariants: (props?: ({
302
+ variant?: "link" | "success" | "primary" | "secondary" | "outline" | "ghost" | "danger" | null | undefined;
303
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
304
+ fullWidth?: boolean | null | undefined;
305
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
306
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
307
+ loading?: boolean;
308
+ leftIcon?: React.ReactNode;
309
+ rightIcon?: React.ReactNode;
310
+ asChild?: boolean;
311
+ }
312
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
313
+
314
+ declare const iconButtonVariants: (props?: ({
315
+ variant?: "primary" | "secondary" | "outline" | "ghost" | "danger" | null | undefined;
316
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
317
+ rounded?: boolean | null | undefined;
318
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
319
+ interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
320
+ icon: React.ReactNode;
321
+ loading?: boolean;
322
+ 'aria-label': string;
323
+ }
324
+ declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
325
+
326
+ type TextFieldSize = 'sm' | 'md' | 'lg';
327
+ interface TextFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
328
+ label?: string;
329
+ helperText?: string;
330
+ error?: string;
331
+ size?: TextFieldSize;
332
+ prefixIcon?: React.ReactNode;
333
+ prefixImage?: string;
334
+ prefixText?: string;
335
+ suffixIcon?: React.ReactNode;
336
+ suffixImage?: string;
337
+ suffixText?: string;
338
+ clearable?: boolean;
339
+ onClear?: () => void;
340
+ fullWidth?: boolean;
341
+ showMaxLength?: boolean;
342
+ containerClassName?: string;
343
+ inputClassName?: string;
344
+ }
345
+ declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement>>;
346
+
347
+ interface TextAreaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'prefix'> {
348
+ label?: string;
349
+ helperText?: string;
350
+ error?: string;
351
+ prefixIcon?: React.ReactNode;
352
+ prefixImage?: string;
353
+ suffixIcon?: React.ReactNode;
354
+ suffixImage?: string;
355
+ autoResize?: boolean;
356
+ showCharCount?: boolean;
357
+ showMaxLength?: boolean;
358
+ maxLength?: number;
359
+ fullWidth?: boolean;
360
+ containerClassName?: string;
361
+ textareaClassName?: string;
362
+ }
363
+ declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
364
+
365
+ interface SelectOption {
366
+ value: string;
367
+ label: string;
368
+ disabled?: boolean;
369
+ }
370
+ interface SelectGroup {
371
+ label: string;
372
+ options: SelectOption[];
373
+ }
374
+ interface SelectProps {
375
+ options?: SelectOption[];
376
+ groups?: SelectGroup[];
377
+ value?: string;
378
+ defaultValue?: string;
379
+ onValueChange?: (value: string) => void;
380
+ placeholder?: string;
381
+ label?: string;
382
+ helperText?: string;
383
+ error?: string;
384
+ disabled?: boolean;
385
+ required?: boolean;
386
+ fullWidth?: boolean;
387
+ className?: string;
388
+ }
389
+ declare function Select({ options, groups, value, defaultValue, onValueChange, placeholder, label, helperText, error, disabled, required, fullWidth, className, }: SelectProps): react_jsx_runtime.JSX.Element;
390
+
391
+ interface CheckboxProps {
392
+ label?: string;
393
+ description?: string;
394
+ checked?: boolean | 'indeterminate';
395
+ defaultChecked?: boolean;
396
+ onCheckedChange?: (checked: boolean | 'indeterminate') => void;
397
+ disabled?: boolean;
398
+ required?: boolean;
399
+ error?: string;
400
+ size?: 'sm' | 'md' | 'lg';
401
+ className?: string;
402
+ id?: string;
403
+ }
404
+ declare function Checkbox({ label, description, checked, defaultChecked, onCheckedChange, disabled, required, error, size, className, id: externalId, }: CheckboxProps): react_jsx_runtime.JSX.Element;
405
+
406
+ interface RadioOption {
407
+ value: string;
408
+ label: string;
409
+ description?: string;
410
+ disabled?: boolean;
411
+ }
412
+ interface RadioGroupProps {
413
+ options: RadioOption[];
414
+ value?: string;
415
+ defaultValue?: string;
416
+ onValueChange?: (value: string) => void;
417
+ orientation?: 'horizontal' | 'vertical';
418
+ label?: string;
419
+ error?: string;
420
+ disabled?: boolean;
421
+ required?: boolean;
422
+ size?: 'sm' | 'md' | 'lg';
423
+ className?: string;
424
+ }
425
+ declare function RadioGroup({ options, value, defaultValue, onValueChange, orientation, label, error, disabled, required, size, className, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
426
+
427
+ interface SwitchProps {
428
+ label?: string;
429
+ description?: string;
430
+ checked?: boolean;
431
+ defaultChecked?: boolean;
432
+ onCheckedChange?: (checked: boolean) => void;
433
+ disabled?: boolean;
434
+ required?: boolean;
435
+ size?: 'sm' | 'md' | 'lg';
436
+ labelPosition?: 'left' | 'right';
437
+ className?: string;
438
+ id?: string;
439
+ }
440
+ declare function Switch({ label, description, checked, defaultChecked, onCheckedChange, disabled, required, size, labelPosition, className, id: externalId, }: SwitchProps): react_jsx_runtime.JSX.Element;
441
+
442
+ interface SearchSelectOption {
443
+ value: string;
444
+ label: string;
445
+ disabled?: boolean;
446
+ icon?: React.ReactNode;
447
+ }
448
+ interface SearchSelectGroup {
449
+ label: string;
450
+ options: SearchSelectOption[];
451
+ }
452
+ interface SearchSelectBaseProps {
453
+ options?: SearchSelectOption[];
454
+ groups?: SearchSelectGroup[];
455
+ placeholder?: string;
456
+ searchPlaceholder?: string;
457
+ label?: string;
458
+ helperText?: string;
459
+ error?: string;
460
+ disabled?: boolean;
461
+ required?: boolean;
462
+ clearable?: boolean;
463
+ fullWidth?: boolean;
464
+ className?: string;
465
+ maxSelected?: number;
466
+ }
467
+ interface SearchSelectSingleProps extends SearchSelectBaseProps {
468
+ multiple?: false;
469
+ value?: string;
470
+ onChange?: (value: string) => void;
471
+ }
472
+ interface SearchSelectMultiProps extends SearchSelectBaseProps {
473
+ multiple: true;
474
+ value?: string[];
475
+ onChange?: (value: string[]) => void;
476
+ }
477
+ type SearchSelectProps = SearchSelectSingleProps | SearchSelectMultiProps;
478
+ declare function SearchSelect(props: SearchSelectProps): react_jsx_runtime.JSX.Element;
479
+
480
+ interface ChipSelectOption {
481
+ value: string;
482
+ label: string;
483
+ icon?: React.ReactNode;
484
+ disabled?: boolean;
485
+ }
486
+ type ChipSelectSize = 'sm' | 'md' | 'lg';
487
+ interface ChipSelectProps {
488
+ options: ChipSelectOption[];
489
+ value?: string[];
490
+ onChange?: (value: string[]) => void;
491
+ multiple?: boolean;
492
+ maxSelect?: number;
493
+ label?: string;
494
+ helperText?: string;
495
+ error?: string;
496
+ disabled?: boolean;
497
+ required?: boolean;
498
+ size?: ChipSelectSize;
499
+ className?: string;
500
+ fullWidth?: boolean;
501
+ }
502
+ declare function ChipSelect({ options, value, onChange, multiple, maxSelect, label, helperText, error, disabled, required, size, className, fullWidth, }: ChipSelectProps): react_jsx_runtime.JSX.Element;
503
+
504
+ type TagSeparator = 'space' | 'comma' | 'enter';
505
+ interface TagInputProps {
506
+ value?: string[];
507
+ onChange?: (value: string[]) => void;
508
+ separator?: TagSeparator[];
509
+ placeholder?: string;
510
+ label?: string;
511
+ helperText?: string;
512
+ error?: string;
513
+ disabled?: boolean;
514
+ required?: boolean;
515
+ maxTags?: number;
516
+ allowDuplicates?: boolean;
517
+ fullWidth?: boolean;
518
+ className?: string;
519
+ }
520
+ declare function TagInput({ value, onChange, separator, placeholder, label, helperText, error, disabled, required, maxTags, allowDuplicates, fullWidth, className, }: TagInputProps): react_jsx_runtime.JSX.Element;
521
+
522
+ type SliderSize = 'sm' | 'md' | 'lg';
523
+ interface SliderProps {
524
+ value?: number[];
525
+ defaultValue?: number[];
526
+ onValueChange?: (value: number[]) => void;
527
+ onValueCommit?: (value: number[]) => void;
528
+ min?: number;
529
+ max?: number;
530
+ step?: number;
531
+ disabled?: boolean;
532
+ orientation?: 'horizontal' | 'vertical';
533
+ size?: SliderSize;
534
+ showTooltip?: boolean;
535
+ showMarks?: boolean;
536
+ formatValue?: (value: number) => string;
537
+ label?: string;
538
+ helperText?: string;
539
+ className?: string;
540
+ }
541
+ declare function Slider({ value, defaultValue, onValueChange, onValueCommit, min, max, step, disabled, orientation, size, showTooltip, showMarks, formatValue, label, helperText, className, }: SliderProps): react_jsx_runtime.JSX.Element;
542
+
543
+ type NumberInputSize = 'sm' | 'md' | 'lg';
544
+ interface NumberInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'value' | 'onChange' | 'type'> {
545
+ value?: number;
546
+ defaultValue?: number;
547
+ onChange?: (value: number | undefined) => void;
548
+ min?: number;
549
+ max?: number;
550
+ step?: number;
551
+ precision?: number;
552
+ prefix?: string;
553
+ suffix?: string;
554
+ label?: string;
555
+ helperText?: string;
556
+ error?: string;
557
+ size?: NumberInputSize;
558
+ fullWidth?: boolean;
559
+ hideControls?: boolean;
560
+ showMaxLength?: boolean;
561
+ formatValue?: (value: number) => string;
562
+ containerClassName?: string;
563
+ }
564
+ declare const NumberInput: React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;
565
+
566
+ interface CountryCode {
567
+ code: string;
568
+ dialCode: string;
569
+ flag: string;
570
+ name: string;
571
+ }
572
+ declare const DEFAULT_COUNTRY_CODES: CountryCode[];
573
+ type PhoneInputSize = 'sm' | 'md' | 'lg';
574
+ interface PhoneInputValue {
575
+ countryCode: CountryCode;
576
+ number: string;
577
+ /** Full value e.g. "+91 9876543210" */
578
+ full: string;
579
+ }
580
+ interface PhoneInputProps {
581
+ value?: PhoneInputValue;
582
+ defaultCountry?: string;
583
+ onChange?: (value: PhoneInputValue) => void;
584
+ label?: string;
585
+ helperText?: string;
586
+ error?: string;
587
+ placeholder?: string;
588
+ disabled?: boolean;
589
+ required?: boolean;
590
+ size?: PhoneInputSize;
591
+ fullWidth?: boolean;
592
+ maxLength?: number;
593
+ showMaxLength?: boolean;
594
+ countryCodes?: CountryCode[];
595
+ className?: string;
596
+ containerClassName?: string;
597
+ id?: string;
598
+ }
599
+ declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<HTMLInputElement>>;
600
+
601
+ type OTPInputSize = 'sm' | 'md' | 'lg';
602
+ interface OTPInputProps {
603
+ length?: number;
604
+ value?: string;
605
+ onChange?: (value: string) => void;
606
+ onComplete?: (value: string) => void;
607
+ size?: OTPInputSize;
608
+ mask?: boolean;
609
+ disabled?: boolean;
610
+ error?: string;
611
+ label?: string;
612
+ helperText?: string;
613
+ separator?: boolean;
614
+ separatorAt?: number[];
615
+ autoFocus?: boolean;
616
+ className?: string;
617
+ }
618
+ declare function OTPInput({ length, value: controlledValue, onChange, onComplete, size, mask, disabled, error, label, helperText, separator, separatorAt, autoFocus, className, }: OTPInputProps): react_jsx_runtime.JSX.Element;
619
+
620
+ type RatingSize = 'sm' | 'md' | 'lg';
621
+ interface RatingProps {
622
+ value?: number;
623
+ defaultValue?: number;
624
+ onChange?: (value: number) => void;
625
+ max?: number;
626
+ size?: RatingSize;
627
+ disabled?: boolean;
628
+ readOnly?: boolean;
629
+ allowHalf?: boolean;
630
+ allowClear?: boolean;
631
+ label?: string;
632
+ helperText?: string;
633
+ className?: string;
634
+ icon?: React.ReactNode;
635
+ emptyIcon?: React.ReactNode;
636
+ }
637
+ declare function Rating({ value: controlledValue, defaultValue, onChange, max, size, disabled, readOnly, allowHalf, allowClear, label, helperText, className, icon, emptyIcon, }: RatingProps): react_jsx_runtime.JSX.Element;
638
+
639
+ interface MultiSelectOption {
640
+ value: string;
641
+ label: string;
642
+ description?: string;
643
+ icon?: React.ReactNode;
644
+ disabled?: boolean;
645
+ }
646
+ interface MultiSelectGroup {
647
+ label: string;
648
+ options: MultiSelectOption[];
649
+ }
650
+ interface MultiSelectProps {
651
+ options?: MultiSelectOption[];
652
+ groups?: MultiSelectGroup[];
653
+ value?: string[];
654
+ defaultValue?: string[];
655
+ onChange?: (value: string[]) => void;
656
+ placeholder?: string;
657
+ searchPlaceholder?: string;
658
+ label?: string;
659
+ helperText?: string;
660
+ error?: string;
661
+ disabled?: boolean;
662
+ required?: boolean;
663
+ searchable?: boolean;
664
+ clearable?: boolean;
665
+ maxSelected?: number;
666
+ maxDisplayed?: number;
667
+ size?: 'sm' | 'md' | 'lg';
668
+ fullWidth?: boolean;
669
+ className?: string;
670
+ containerClassName?: string;
671
+ }
672
+ declare function MultiSelect({ options, groups, value: controlledValue, defaultValue, onChange, placeholder, searchPlaceholder, label, helperText, error, disabled, required, searchable, clearable, maxSelected, maxDisplayed, size, fullWidth, className, containerClassName, }: MultiSelectProps): react_jsx_runtime.JSX.Element;
673
+
674
+ type DatePickerMode = 'single' | 'range';
675
+ type DatePickerSize = 'sm' | 'md' | 'lg';
676
+ interface DatePickerSingleProps {
677
+ mode?: 'single';
678
+ value?: Date;
679
+ defaultValue?: Date;
680
+ onChange?: (date: Date | undefined) => void;
681
+ }
682
+ interface DatePickerRangeProps {
683
+ mode: 'range';
684
+ value?: DateRange;
685
+ defaultValue?: DateRange;
686
+ onChange?: (range: DateRange | undefined) => void;
687
+ }
688
+ type DatePickerBaseProps = {
689
+ label?: string;
690
+ helperText?: string;
691
+ error?: string;
692
+ placeholder?: string;
693
+ dateFormat?: string;
694
+ disabled?: boolean;
695
+ required?: boolean;
696
+ clearable?: boolean;
697
+ size?: DatePickerSize;
698
+ fullWidth?: boolean;
699
+ minDate?: Date;
700
+ maxDate?: Date;
701
+ disabledDates?: Date[];
702
+ /** How many years before current year to show in the year dropdown (default: 10) */
703
+ yearRangeBefore?: number;
704
+ /** How many years after current year to show in the year dropdown (default: 5) */
705
+ yearRangeAfter?: number;
706
+ className?: string;
707
+ containerClassName?: string;
708
+ };
709
+ type DatePickerProps = DatePickerBaseProps & (DatePickerSingleProps | DatePickerRangeProps);
710
+ declare function DatePicker(props: DatePickerProps): react_jsx_runtime.JSX.Element;
711
+
712
+ interface FormFieldProps {
713
+ label?: string;
714
+ helperText?: string;
715
+ error?: string;
716
+ required?: boolean;
717
+ disabled?: boolean;
718
+ htmlFor?: string;
719
+ children: React.ReactNode;
720
+ className?: string;
721
+ }
722
+ declare function FormField({ label, helperText, error, required, disabled, htmlFor, children, className, }: FormFieldProps): react_jsx_runtime.JSX.Element;
723
+
724
+ type ValidateFn = (value: unknown) => boolean | string;
725
+ interface CompiledRules {
726
+ required?: RegisterOptions['required'];
727
+ minLength?: RegisterOptions['minLength'];
728
+ maxLength?: RegisterOptions['maxLength'];
729
+ min?: RegisterOptions['min'];
730
+ max?: RegisterOptions['max'];
731
+ pattern?: RegisterOptions['pattern'];
732
+ validate?: Record<string, ValidateFn>;
733
+ }
734
+ declare abstract class BaseValidator<T extends BaseValidator<T>> {
735
+ protected _required: string | false;
736
+ protected _validates: Record<string, ValidateFn>;
737
+ required(message?: string): T;
738
+ custom(name: string, fn: ValidateFn, message?: string): T;
739
+ abstract compile(): CompiledRules;
740
+ }
741
+ declare class StringValidator extends BaseValidator<StringValidator> {
742
+ private _minLength?;
743
+ private _maxLength?;
744
+ private _pattern?;
745
+ private _mustBeString;
746
+ mustBe(_type: 'string'): StringValidator;
747
+ minLength(len: number, message?: string): StringValidator;
748
+ maxLength(len: number, message?: string): StringValidator;
749
+ lengthBetween(min: number, max: number, message?: string): StringValidator;
750
+ length(exact: number, message?: string): StringValidator;
751
+ shouldMatch(pattern: RegExp, message?: string): StringValidator;
752
+ shouldBeIn(list: string[], message?: string): StringValidator;
753
+ notEmpty(message?: string): StringValidator;
754
+ noSpaces(message?: string): StringValidator;
755
+ alphanumeric(message?: string): StringValidator;
756
+ startsWith(prefix: string, message?: string): StringValidator;
757
+ endsWith(suffix: string, message?: string): StringValidator;
758
+ compile(): CompiledRules;
759
+ }
760
+ declare class NumberValidator extends BaseValidator<NumberValidator> {
761
+ private _min?;
762
+ private _max?;
763
+ private _maxLength?;
764
+ private _mustBeNumber;
765
+ mustBe(_type: 'number'): NumberValidator;
766
+ min(value: number, message?: string): NumberValidator;
767
+ max(value: number, message?: string): NumberValidator;
768
+ between(min: number, max: number, message?: string): NumberValidator;
769
+ length(digits: number, message?: string): NumberValidator;
770
+ positive(message?: string): NumberValidator;
771
+ integer(message?: string): NumberValidator;
772
+ nonZero(message?: string): NumberValidator;
773
+ negative(message?: string): NumberValidator;
774
+ multipleOf(factor: number, message?: string): NumberValidator;
775
+ compile(): CompiledRules;
776
+ }
777
+ declare class EmailValidator extends BaseValidator<EmailValidator> {
778
+ private static EMAIL_RE;
779
+ mustBe(_type: 'string'): EmailValidator;
780
+ shouldMatch(pattern: RegExp, message?: string): EmailValidator;
781
+ domain(allowedDomains: string[], message?: string): EmailValidator;
782
+ blockedDomains(blocked: string[], message?: string): EmailValidator;
783
+ compile(): CompiledRules;
784
+ }
785
+ declare class UrlValidator extends BaseValidator<UrlValidator> {
786
+ private static URL_RE;
787
+ mustBe(_type: 'string'): UrlValidator;
788
+ httpsOnly(message?: string): UrlValidator;
789
+ allowedDomains(domains: string[], message?: string): UrlValidator;
790
+ noTrailingSlash(message?: string): UrlValidator;
791
+ compile(): CompiledRules;
792
+ }
793
+ declare class TelValidator extends BaseValidator<TelValidator> {
794
+ length(digits: number, message?: string): TelValidator;
795
+ minLength(digits: number, message?: string): TelValidator;
796
+ maxLength(digits: number, message?: string): TelValidator;
797
+ shouldMatch(pattern: RegExp, message?: string): TelValidator;
798
+ compile(): CompiledRules;
799
+ }
800
+ declare class BooleanValidator extends BaseValidator<BooleanValidator> {
801
+ mustBeTrue(message?: string): BooleanValidator;
802
+ compile(): CompiledRules;
803
+ }
804
+ declare class ArrayValidator extends BaseValidator<ArrayValidator> {
805
+ private _min?;
806
+ private _max?;
807
+ minItems(count: number, message?: string): ArrayValidator;
808
+ maxItems(count: number, message?: string): ArrayValidator;
809
+ exactItems(count: number, message?: string): ArrayValidator;
810
+ noEmpty(message?: string): ArrayValidator;
811
+ shouldBeIn(list: string[], message?: string): ArrayValidator;
812
+ compile(): CompiledRules;
813
+ }
814
+ declare class PasswordValidator extends BaseValidator<PasswordValidator> {
815
+ private _minLength?;
816
+ private _maxLength?;
817
+ minLength(len: number, message?: string): PasswordValidator;
818
+ maxLength(len: number, message?: string): PasswordValidator;
819
+ hasUppercase(message?: string): PasswordValidator;
820
+ hasLowercase(message?: string): PasswordValidator;
821
+ hasDigit(message?: string): PasswordValidator;
822
+ hasSpecialChar(message?: string): PasswordValidator;
823
+ noSpaces(message?: string): PasswordValidator;
824
+ /** Confirm this field matches another field value — pass a getter for the other field */
825
+ confirmMatch(getOtherValue: () => unknown, message?: string): PasswordValidator;
826
+ /** Shorthand: minLength(8) + uppercase + lowercase + digit + special char */
827
+ strong(message?: string): PasswordValidator;
828
+ compile(): CompiledRules;
829
+ }
830
+ declare class DateValidator extends BaseValidator<DateValidator> {
831
+ private _toDate;
832
+ validDate(message?: string): DateValidator;
833
+ minDate(date: Date, message?: string): DateValidator;
834
+ maxDate(date: Date, message?: string): DateValidator;
835
+ notInPast(message?: string): DateValidator;
836
+ notInFuture(message?: string): DateValidator;
837
+ between(minDate: Date, maxDate: Date, message?: string): DateValidator;
838
+ compile(): CompiledRules;
839
+ }
840
+ declare class SelectValidator extends BaseValidator<SelectValidator> {
841
+ shouldBeIn(list: string[], message?: string): SelectValidator;
842
+ notEmpty(message?: string): SelectValidator;
843
+ compile(): CompiledRules;
844
+ }
845
+ declare class FileValidator extends BaseValidator<FileValidator> {
846
+ /** Max file size in bytes */
847
+ maxSize(bytes: number, message?: string): FileValidator;
848
+ allowedTypes(mimeTypes: string[], message?: string): FileValidator;
849
+ allowedExtensions(exts: string[], message?: string): FileValidator;
850
+ maxFiles(count: number, message?: string): FileValidator;
851
+ minFiles(count: number, message?: string): FileValidator;
852
+ compile(): CompiledRules;
853
+ }
854
+ declare const v: {
855
+ /** text, textarea fields — lengthBetween, shouldMatch, shouldBeIn, noSpaces, alphanumeric */
856
+ string: () => StringValidator;
857
+ /** number fields — between, integer, multipleOf, nonZero, length */
858
+ number: () => NumberValidator;
859
+ /** password fields — strong(), hasUppercase, hasDigit, hasSpecialChar, confirmMatch */
860
+ password: () => PasswordValidator;
861
+ /** email fields — auto email regex, domain whitelist/blacklist */
862
+ email: () => EmailValidator;
863
+ /** url fields — httpsOnly, allowedDomains, noTrailingSlash */
864
+ url: () => UrlValidator;
865
+ /** tel/phone fields — length, minLength, maxLength, shouldMatch */
866
+ tel: () => TelValidator;
867
+ /** DatePicker fields — minDate, maxDate, notInPast, notInFuture */
868
+ date: () => DateValidator;
869
+ /** select/radio fields — shouldBeIn, notEmpty */
870
+ select: () => SelectValidator;
871
+ /** checkbox/switch fields — mustBeTrue */
872
+ boolean: () => BooleanValidator;
873
+ /** multiselect/chipselect/taginput — minItems, maxItems, exactItems, shouldBeIn, noEmpty */
874
+ array: () => ArrayValidator;
875
+ /** FileUpload fields — maxSize, allowedTypes, allowedExtensions, maxFiles, minFiles */
876
+ file: () => FileValidator;
877
+ };
878
+ type AnyValidator = StringValidator | NumberValidator | PasswordValidator | EmailValidator | UrlValidator | TelValidator | DateValidator | SelectValidator | BooleanValidator | ArrayValidator | FileValidator;
879
+
880
+ type JSONFieldType = 'text' | 'email' | 'password' | 'number' | 'url' | 'tel' | 'textarea' | 'select' | 'multiselect' | 'searchselect' | 'multisearchselect' | 'chipselect' | 'taginput' | 'checkbox' | 'switch' | 'radio' | 'hidden';
881
+ interface JSONFormOption {
882
+ value: string;
883
+ label: string;
884
+ disabled?: boolean;
885
+ }
886
+ interface JSONFormField {
887
+ name: string;
888
+ type: JSONFieldType;
889
+ label?: string;
890
+ placeholder?: string;
891
+ helperText?: string;
892
+ required?: boolean;
893
+ disabled?: boolean;
894
+ defaultValue?: unknown;
895
+ options?: JSONFormOption[];
896
+ prefixIcon?: React.ReactNode;
897
+ prefixImage?: string;
898
+ prefixText?: string;
899
+ suffixIcon?: React.ReactNode;
900
+ suffixImage?: string;
901
+ suffixText?: string;
902
+ validation?: {
903
+ min?: number;
904
+ max?: number;
905
+ minLength?: number;
906
+ maxLength?: number;
907
+ pattern?: RegExp;
908
+ validate?: (value: unknown) => boolean | string;
909
+ };
910
+ /** Fluent validator built with v.string(), v.number(), v.email() etc. Takes precedence over validation object */
911
+ validator?: AnyValidator;
912
+ colSpan?: 1 | 2 | 3;
913
+ rows?: number;
914
+ autoResize?: boolean;
915
+ showCharCount?: boolean;
916
+ }
917
+ interface JSONFormProps {
918
+ schema: JSONFormField[];
919
+ defaultValues?: Record<string, unknown>;
920
+ onSubmit: SubmitHandler<Record<string, unknown>>;
921
+ onCancel?: () => void;
922
+ submitLabel?: string;
923
+ cancelLabel?: string;
924
+ loading?: boolean;
925
+ columns?: 1 | 2 | 3;
926
+ className?: string;
927
+ actionsClassName?: string;
928
+ }
929
+ declare function JSONForm({ schema, defaultValues, onSubmit, onCancel, submitLabel, cancelLabel, loading, columns, className, actionsClassName, }: JSONFormProps): react_jsx_runtime.JSX.Element;
930
+
931
+ interface UploadedFile {
932
+ file: File;
933
+ id: string;
934
+ preview?: string;
935
+ progress?: number;
936
+ error?: string;
937
+ }
938
+ interface FileUploadProps {
939
+ accept?: Accept;
940
+ maxFiles?: number;
941
+ maxSize?: number;
942
+ multiple?: boolean;
943
+ disabled?: boolean;
944
+ label?: string;
945
+ helperText?: string;
946
+ error?: string;
947
+ files?: UploadedFile[];
948
+ onFilesChange?: (files: UploadedFile[]) => void;
949
+ onFileRemove?: (id: string) => void;
950
+ showPreview?: boolean;
951
+ className?: string;
952
+ }
953
+ declare function FileUpload({ accept, maxFiles, maxSize, multiple, disabled, label, helperText, error, files, onFilesChange, onFileRemove, showPreview, className, }: FileUploadProps): react_jsx_runtime.JSX.Element;
954
+
955
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
956
+ header?: React.ReactNode;
957
+ footer?: React.ReactNode;
958
+ hoverable?: boolean;
959
+ clickable?: boolean;
960
+ bordered?: boolean;
961
+ shadow?: 'none' | 'sm' | 'md' | 'lg';
962
+ padding?: 'none' | 'sm' | 'md' | 'lg';
963
+ }
964
+ declare function Card({ header, footer, hoverable, clickable, bordered, shadow, padding, className, children, onClick, ...props }: CardProps): react_jsx_runtime.JSX.Element;
965
+
966
+ interface BoxProps {
967
+ as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span' | 'p';
968
+ bg?: 'surface' | 'background' | 'primary' | 'secondary' | 'error' | 'success' | 'warning' | 'info';
969
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
970
+ shadow?: 'none' | 'sm' | 'md' | 'lg';
971
+ bordered?: boolean;
972
+ padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
973
+ className?: string;
974
+ children?: React.ReactNode;
975
+ style?: React.CSSProperties;
976
+ id?: string;
977
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
978
+ role?: string;
979
+ tabIndex?: number;
980
+ 'aria-label'?: string;
981
+ }
982
+ declare function Box({ as: Component, bg, rounded, shadow, bordered, padding, className, children, ...props }: BoxProps): react_jsx_runtime.JSX.Element;
983
+
984
+ type ImageFit = 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
985
+ type ImageRatio = '1/1' | '4/3' | '16/9' | '3/2' | '2/3' | 'auto';
986
+ interface ImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'src'> {
987
+ src: string;
988
+ fallbackSrc?: string;
989
+ fallbackIcon?: React.ReactNode;
990
+ fit?: ImageFit;
991
+ ratio?: ImageRatio;
992
+ lazy?: boolean;
993
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
994
+ blur?: boolean;
995
+ containerClassName?: string;
996
+ }
997
+ declare function Image({ src, fallbackSrc, fallbackIcon, fit, ratio, lazy, rounded, blur, containerClassName, className, alt, ...props }: ImageProps): react_jsx_runtime.JSX.Element;
998
+
999
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
1000
+ type AvatarStatus = 'online' | 'offline' | 'away' | 'busy';
1001
+ interface AvatarProps {
1002
+ src?: string;
1003
+ alt?: string;
1004
+ name?: string;
1005
+ icon?: React.ReactNode;
1006
+ size?: AvatarSize;
1007
+ status?: AvatarStatus;
1008
+ rounded?: boolean;
1009
+ className?: string;
1010
+ }
1011
+ interface AvatarGroupProps {
1012
+ avatars: AvatarProps[];
1013
+ max?: number;
1014
+ size?: AvatarSize;
1015
+ className?: string;
1016
+ }
1017
+ declare function Avatar({ src, alt, name, icon, size, status, rounded, className, }: AvatarProps): react_jsx_runtime.JSX.Element;
1018
+ declare function AvatarGroup({ avatars, max, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
1019
+
1020
+ declare const badgeVariants: (props?: ({
1021
+ variant?: "error" | "info" | "success" | "warning" | "primary" | "secondary" | "outline" | "ghost" | null | undefined;
1022
+ size?: "sm" | "md" | "lg" | null | undefined;
1023
+ dot?: boolean | null | undefined;
1024
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1025
+ interface BadgeProps extends VariantProps<typeof badgeVariants> {
1026
+ children?: React.ReactNode;
1027
+ className?: string;
1028
+ }
1029
+ declare function Badge({ variant, size, dot, children, className }: BadgeProps): react_jsx_runtime.JSX.Element;
1030
+ interface BadgeAnchorProps {
1031
+ children: React.ReactNode;
1032
+ badge?: React.ReactNode;
1033
+ position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
1034
+ className?: string;
1035
+ }
1036
+ declare function BadgeAnchor({ children, badge, position, className }: BadgeAnchorProps): react_jsx_runtime.JSX.Element;
1037
+
1038
+ declare const tagVariants: (props?: ({
1039
+ variant?: "error" | "info" | "success" | "warning" | "default" | "primary" | null | undefined;
1040
+ size?: "sm" | "md" | "lg" | null | undefined;
1041
+ rounded?: boolean | null | undefined;
1042
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1043
+ interface TagProps extends VariantProps<typeof tagVariants> {
1044
+ children: React.ReactNode;
1045
+ icon?: React.ReactNode;
1046
+ removable?: boolean;
1047
+ onRemove?: () => void;
1048
+ className?: string;
1049
+ }
1050
+ declare function Tag({ variant, size, rounded, children, icon, removable, onRemove, className }: TagProps): react_jsx_runtime.JSX.Element;
1051
+
1052
+ type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1053
+ interface IconProps extends Omit<LucideProps, 'size'> {
1054
+ icon: LucideIcon;
1055
+ size?: IconSize | number;
1056
+ color?: string;
1057
+ className?: string;
1058
+ }
1059
+ declare function Icon({ icon: LucideIconComponent, size, color, className, ...props }: IconProps): react_jsx_runtime.JSX.Element;
1060
+
1061
+ interface SVGProps {
1062
+ src?: string;
1063
+ children?: React.ReactNode;
1064
+ width?: number | string;
1065
+ height?: number | string;
1066
+ size?: number | string;
1067
+ color?: string;
1068
+ className?: string;
1069
+ title?: string;
1070
+ role?: string;
1071
+ 'aria-label'?: string;
1072
+ 'aria-hidden'?: boolean | 'true' | 'false';
1073
+ viewBox?: string;
1074
+ fill?: string;
1075
+ stroke?: string;
1076
+ }
1077
+ declare function SVG({ src, children, width, height, size, color, className, title, role, viewBox, fill, stroke, ...props }: SVGProps): react_jsx_runtime.JSX.Element;
1078
+
1079
+ type SortDirection$1 = 'asc' | 'desc' | null;
1080
+ interface TableColumn<T = Record<string, unknown>> {
1081
+ key: string;
1082
+ header: React.ReactNode;
1083
+ accessor?: (row: T) => React.ReactNode;
1084
+ sortable?: boolean;
1085
+ width?: string | number;
1086
+ align?: 'left' | 'center' | 'right';
1087
+ className?: string;
1088
+ }
1089
+ interface TableProps<T = Record<string, unknown>> {
1090
+ columns: TableColumn<T>[];
1091
+ data: T[];
1092
+ keyExtractor: (row: T, index: number) => string;
1093
+ selectable?: boolean;
1094
+ selectedKeys?: string[];
1095
+ onSelectionChange?: (keys: string[]) => void;
1096
+ sortKey?: string;
1097
+ sortDirection?: SortDirection$1;
1098
+ onSortChange?: (key: string, direction: SortDirection$1) => void;
1099
+ loading?: boolean;
1100
+ emptyMessage?: React.ReactNode;
1101
+ stickyHeader?: boolean;
1102
+ striped?: boolean;
1103
+ hoverable?: boolean;
1104
+ bordered?: boolean;
1105
+ compact?: boolean;
1106
+ className?: string;
1107
+ }
1108
+ declare function Table<T = Record<string, unknown>>({ columns, data, keyExtractor, selectable, selectedKeys, onSelectionChange, sortKey, sortDirection, onSortChange, loading, emptyMessage, stickyHeader, striped, hoverable, bordered, compact, className, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1109
+
1110
+ type SortDirection = 'asc' | 'desc' | null;
1111
+ interface DataTableColumn<T = Record<string, unknown>> {
1112
+ key: string;
1113
+ header: React.ReactNode;
1114
+ accessor?: (row: T) => React.ReactNode;
1115
+ sortValue?: (row: T) => string | number;
1116
+ sortable?: boolean;
1117
+ width?: string | number;
1118
+ align?: 'left' | 'center' | 'right';
1119
+ className?: string;
1120
+ pin?: 'left' | 'right';
1121
+ }
1122
+ interface DataTablePagination {
1123
+ mode: 'client' | 'server';
1124
+ pageSize?: number;
1125
+ pageSizeOptions?: number[];
1126
+ totalRows?: number;
1127
+ page?: number;
1128
+ onPageChange?: (page: number) => void;
1129
+ onPageSizeChange?: (size: number) => void;
1130
+ }
1131
+ interface DataTableProps<T = Record<string, unknown>> {
1132
+ columns: DataTableColumn<T>[];
1133
+ data: T[];
1134
+ keyExtractor: (row: T, index: number) => string;
1135
+ selectable?: boolean;
1136
+ selectedKeys?: string[];
1137
+ onSelectionChange?: (keys: string[]) => void;
1138
+ sortKey?: string;
1139
+ sortDirection?: SortDirection;
1140
+ onSortChange?: (key: string, direction: SortDirection) => void;
1141
+ loading?: boolean;
1142
+ emptyMessage?: React.ReactNode;
1143
+ stickyHeader?: boolean;
1144
+ striped?: boolean;
1145
+ hoverable?: boolean;
1146
+ bordered?: boolean;
1147
+ compact?: boolean;
1148
+ className?: string;
1149
+ pagination?: DataTablePagination;
1150
+ toolbar?: React.ReactNode;
1151
+ rowActions?: (row: T) => React.ReactNode;
1152
+ caption?: string;
1153
+ }
1154
+ declare function DataTable<T = Record<string, unknown>>({ columns, data, keyExtractor, selectable, selectedKeys, onSelectionChange, sortKey, sortDirection, onSortChange, loading, emptyMessage, stickyHeader, striped, hoverable, bordered, compact, className, pagination, toolbar, rowActions, caption, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
1155
+
1156
+ interface ListItemProps {
1157
+ id?: string;
1158
+ primary: React.ReactNode;
1159
+ secondary?: React.ReactNode;
1160
+ leading?: React.ReactNode;
1161
+ trailing?: React.ReactNode;
1162
+ onClick?: () => void;
1163
+ active?: boolean;
1164
+ disabled?: boolean;
1165
+ divider?: boolean;
1166
+ className?: string;
1167
+ }
1168
+ interface ListProps {
1169
+ items?: ListItemProps[];
1170
+ ordered?: boolean;
1171
+ divided?: boolean;
1172
+ hoverable?: boolean;
1173
+ compact?: boolean;
1174
+ children?: React.ReactNode;
1175
+ className?: string;
1176
+ }
1177
+ declare function ListItem({ primary, secondary, leading, trailing, onClick, active, disabled, divider, className, }: ListItemProps): react_jsx_runtime.JSX.Element;
1178
+ declare function List({ items, ordered, divided, hoverable, compact, children, className, }: ListProps): react_jsx_runtime.JSX.Element;
1179
+
1180
+ interface TimelineItem {
1181
+ id: string;
1182
+ title: React.ReactNode;
1183
+ description?: React.ReactNode;
1184
+ timestamp?: React.ReactNode;
1185
+ icon?: React.ReactNode;
1186
+ variant?: 'default' | 'success' | 'error' | 'warning' | 'info';
1187
+ }
1188
+ interface TimelineProps {
1189
+ items: TimelineItem[];
1190
+ orientation?: 'vertical' | 'horizontal';
1191
+ className?: string;
1192
+ }
1193
+ declare function Timeline({ items, orientation, className }: TimelineProps): react_jsx_runtime.JSX.Element;
1194
+
1195
+ interface StatProps {
1196
+ label: string;
1197
+ value: React.ReactNode;
1198
+ delta?: number;
1199
+ deltaLabel?: string;
1200
+ icon?: React.ReactNode;
1201
+ iconBg?: 'primary' | 'success' | 'error' | 'warning' | 'info';
1202
+ description?: string;
1203
+ loading?: boolean;
1204
+ className?: string;
1205
+ }
1206
+ declare function Stat({ label, value, delta, deltaLabel, icon, iconBg, description, loading, className, }: StatProps): react_jsx_runtime.JSX.Element;
1207
+
1208
+ interface EmptyStateProps {
1209
+ title?: string;
1210
+ description?: string;
1211
+ illustration?: React.ReactNode;
1212
+ icon?: React.ReactNode;
1213
+ action?: React.ReactNode;
1214
+ className?: string;
1215
+ }
1216
+ declare function EmptyState({ title, description, illustration, icon, action, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
1217
+
1218
+ interface MarkdownReaderProps {
1219
+ children: string;
1220
+ className?: string;
1221
+ codeTheme?: 'dark' | 'light';
1222
+ showLineNumbers?: boolean;
1223
+ }
1224
+ declare function MarkdownReader({ children, className, codeTheme, showLineNumbers, }: MarkdownReaderProps): react_jsx_runtime.JSX.Element;
1225
+
1226
+ interface CollapsibleProps {
1227
+ title: React.ReactNode;
1228
+ children: React.ReactNode;
1229
+ defaultOpen?: boolean;
1230
+ open?: boolean;
1231
+ onOpenChange?: (open: boolean) => void;
1232
+ disabled?: boolean;
1233
+ icon?: React.ReactNode;
1234
+ variant?: 'default' | 'bordered' | 'filled';
1235
+ className?: string;
1236
+ triggerClassName?: string;
1237
+ contentClassName?: string;
1238
+ }
1239
+ declare function Collapsible({ title, children, defaultOpen, open: controlledOpen, onOpenChange, disabled, icon, variant, className, triggerClassName, contentClassName, }: CollapsibleProps): react_jsx_runtime.JSX.Element;
1240
+
1241
+ interface TreeViewItem {
1242
+ id: string;
1243
+ label: React.ReactNode;
1244
+ icon?: React.ReactNode;
1245
+ children?: TreeViewItem[];
1246
+ disabled?: boolean;
1247
+ badge?: React.ReactNode;
1248
+ }
1249
+ interface TreeViewProps {
1250
+ items: TreeViewItem[];
1251
+ selectedId?: string;
1252
+ onSelect?: (id: string, item: TreeViewItem) => void;
1253
+ defaultExpandedIds?: string[];
1254
+ expandedIds?: string[];
1255
+ onExpandedChange?: (ids: string[]) => void;
1256
+ multiSelect?: boolean;
1257
+ selectedIds?: string[];
1258
+ onMultiSelect?: (ids: string[]) => void;
1259
+ indent?: number;
1260
+ className?: string;
1261
+ }
1262
+ declare function TreeView({ items, selectedId, onSelect, defaultExpandedIds, expandedIds: controlledExpandedIds, onExpandedChange, multiSelect, selectedIds, onMultiSelect, indent, className, }: TreeViewProps): react_jsx_runtime.JSX.Element;
1263
+
1264
+ declare const alertVariants: (props?: ({
1265
+ variant?: "error" | "info" | "success" | "warning" | null | undefined;
1266
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1267
+ interface AlertProps extends VariantProps<typeof alertVariants> {
1268
+ title?: string;
1269
+ children?: React.ReactNode;
1270
+ dismissible?: boolean;
1271
+ onDismiss?: () => void;
1272
+ icon?: React.ReactNode;
1273
+ className?: string;
1274
+ }
1275
+ declare function Alert({ variant, title, children, dismissible, onDismiss, icon, className, }: AlertProps): react_jsx_runtime.JSX.Element | null;
1276
+
1277
+ interface ToastProviderProps {
1278
+ toasts: Toast[];
1279
+ onDismiss: (id: string) => void;
1280
+ position?: ToastPosition;
1281
+ }
1282
+ declare function ToastProvider({ toasts, onDismiss, position }: ToastProviderProps): react_jsx_runtime.JSX.Element;
1283
+
1284
+ type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
1285
+ interface SpinnerProps {
1286
+ size?: SpinnerSize;
1287
+ color?: 'primary' | 'secondary' | 'white' | 'current';
1288
+ label?: string;
1289
+ overlay?: boolean;
1290
+ className?: string;
1291
+ }
1292
+ declare function Spinner({ size, color, label, overlay, className }: SpinnerProps): react_jsx_runtime.JSX.Element;
1293
+
1294
+ type SkeletonVariant = 'text' | 'rect' | 'circle';
1295
+ interface SkeletonProps {
1296
+ variant?: SkeletonVariant;
1297
+ width?: string | number;
1298
+ height?: string | number;
1299
+ lines?: number;
1300
+ className?: string;
1301
+ animated?: boolean;
1302
+ }
1303
+ declare function Skeleton({ variant, width, height, lines, className, animated, }: SkeletonProps): react_jsx_runtime.JSX.Element;
1304
+ interface SkeletonCardProps {
1305
+ showAvatar?: boolean;
1306
+ lines?: number;
1307
+ className?: string;
1308
+ }
1309
+ declare function SkeletonCard({ showAvatar, lines, className }: SkeletonCardProps): react_jsx_runtime.JSX.Element;
1310
+
1311
+ type ProgressVariant = 'primary' | 'success' | 'error' | 'warning' | 'info';
1312
+ type ProgressSize = 'xs' | 'sm' | 'md' | 'lg';
1313
+ interface ProgressBarProps {
1314
+ value?: number;
1315
+ max?: number;
1316
+ variant?: ProgressVariant;
1317
+ size?: ProgressSize;
1318
+ label?: string;
1319
+ showValue?: boolean;
1320
+ striped?: boolean;
1321
+ animated?: boolean;
1322
+ indeterminate?: boolean;
1323
+ className?: string;
1324
+ }
1325
+ declare function ProgressBar({ value, max, variant, size, label, showValue, striped, animated, indeterminate, className, }: ProgressBarProps): react_jsx_runtime.JSX.Element;
1326
+
1327
+ interface ErrorBoundaryProps {
1328
+ children: ReactNode;
1329
+ fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);
1330
+ onError?: (error: Error, errorInfo: ErrorInfo) => void;
1331
+ }
1332
+ interface ErrorBoundaryState {
1333
+ hasError: boolean;
1334
+ error: Error | null;
1335
+ }
1336
+ declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
1337
+ constructor(props: ErrorBoundaryProps);
1338
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
1339
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
1340
+ reset: () => void;
1341
+ render(): string | number | boolean | Iterable<React.ReactNode> | react_jsx_runtime.JSX.Element | null | undefined;
1342
+ }
1343
+
1344
+ interface FullScreenLoaderState {
1345
+ visible: boolean;
1346
+ text?: string;
1347
+ icon?: React.ReactNode;
1348
+ blur?: boolean;
1349
+ }
1350
+ interface FullScreenLoaderControls {
1351
+ show: (options?: Partial<Omit<FullScreenLoaderState, 'visible'>>) => void;
1352
+ hide: () => void;
1353
+ update: (options: Partial<Omit<FullScreenLoaderState, 'visible'>>) => void;
1354
+ }
1355
+ interface FullScreenLoaderProviderProps {
1356
+ children: React.ReactNode;
1357
+ defaultText?: string;
1358
+ defaultBlur?: boolean;
1359
+ }
1360
+ declare function FullScreenLoaderProvider({ children, defaultText, defaultBlur, }: FullScreenLoaderProviderProps): react_jsx_runtime.JSX.Element;
1361
+ declare function useFullScreenLoader(): FullScreenLoaderControls;
1362
+ interface FullScreenLoaderProps {
1363
+ visible?: boolean;
1364
+ text?: string;
1365
+ icon?: React.ReactNode;
1366
+ blur?: boolean;
1367
+ className?: string;
1368
+ }
1369
+ declare function FullScreenLoader({ visible, text, icon, blur, className, }: FullScreenLoaderProps): React.ReactPortal | null;
1370
+
1371
+ type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
1372
+ interface ModalProps {
1373
+ open?: boolean;
1374
+ defaultOpen?: boolean;
1375
+ onOpenChange?: (open: boolean) => void;
1376
+ title?: React.ReactNode;
1377
+ description?: React.ReactNode;
1378
+ footer?: React.ReactNode;
1379
+ size?: ModalSize;
1380
+ showClose?: boolean;
1381
+ closeOnOverlayClick?: boolean;
1382
+ children?: React.ReactNode;
1383
+ trigger?: React.ReactNode;
1384
+ className?: string;
1385
+ }
1386
+ declare function Modal({ open, defaultOpen, onOpenChange, title, description, footer, size, showClose, closeOnOverlayClick, children, trigger, className, }: ModalProps): react_jsx_runtime.JSX.Element;
1387
+
1388
+ type DrawerSide = 'left' | 'right' | 'top' | 'bottom';
1389
+ type DrawerSize = 'sm' | 'md' | 'lg' | 'xl';
1390
+ interface DrawerProps {
1391
+ open?: boolean;
1392
+ defaultOpen?: boolean;
1393
+ onOpenChange?: (open: boolean) => void;
1394
+ side?: DrawerSide;
1395
+ size?: DrawerSize;
1396
+ title?: React.ReactNode;
1397
+ description?: React.ReactNode;
1398
+ footer?: React.ReactNode;
1399
+ showClose?: boolean;
1400
+ children?: React.ReactNode;
1401
+ trigger?: React.ReactNode;
1402
+ className?: string;
1403
+ }
1404
+ declare function Drawer({ open, defaultOpen, onOpenChange, side, size, title, description, footer, showClose, children, trigger, className, }: DrawerProps): react_jsx_runtime.JSX.Element;
1405
+
1406
+ type TooltipPlacement = 'top' | 'right' | 'bottom' | 'left';
1407
+ interface TooltipProps {
1408
+ content: React.ReactNode;
1409
+ children: React.ReactNode;
1410
+ placement?: TooltipPlacement;
1411
+ delay?: number;
1412
+ arrow?: boolean;
1413
+ className?: string;
1414
+ contentClassName?: string;
1415
+ disabled?: boolean;
1416
+ }
1417
+ declare function Tooltip({ content, children, placement, delay, arrow, className, contentClassName, disabled, }: TooltipProps): react_jsx_runtime.JSX.Element;
1418
+
1419
+ type PopoverPlacement = 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end';
1420
+ interface PopoverProps {
1421
+ content: React.ReactNode;
1422
+ children: React.ReactNode;
1423
+ placement?: PopoverPlacement;
1424
+ open?: boolean;
1425
+ defaultOpen?: boolean;
1426
+ onOpenChange?: (open: boolean) => void;
1427
+ showClose?: boolean;
1428
+ arrow?: boolean;
1429
+ className?: string;
1430
+ contentClassName?: string;
1431
+ }
1432
+ declare function Popover({ content, children, placement, open, defaultOpen, onOpenChange, showClose, arrow, className, contentClassName, }: PopoverProps): react_jsx_runtime.JSX.Element;
1433
+
1434
+ interface ContextMenuItem {
1435
+ type?: 'item' | 'separator' | 'label' | 'checkbox' | 'radio';
1436
+ label?: string;
1437
+ icon?: React.ReactNode;
1438
+ shortcut?: string;
1439
+ disabled?: boolean;
1440
+ destructive?: boolean;
1441
+ checked?: boolean;
1442
+ onCheckedChange?: (checked: boolean) => void;
1443
+ onClick?: () => void;
1444
+ children?: ContextMenuItem[];
1445
+ }
1446
+ interface ContextMenuProps {
1447
+ items: ContextMenuItem[];
1448
+ children: React.ReactNode;
1449
+ className?: string;
1450
+ }
1451
+ declare function ContextMenu({ items, children, className }: ContextMenuProps): react_jsx_runtime.JSX.Element;
1452
+
1453
+ type ConfirmVariant = 'default' | 'danger' | 'warning';
1454
+ interface ConfirmOptions {
1455
+ title?: string;
1456
+ description?: string;
1457
+ confirmLabel?: string;
1458
+ cancelLabel?: string;
1459
+ variant?: ConfirmVariant;
1460
+ }
1461
+ declare function useConfirm(): (options?: ConfirmOptions) => Promise<boolean>;
1462
+ interface ConfirmDialogProviderProps {
1463
+ children: React.ReactNode;
1464
+ }
1465
+ declare function ConfirmDialogProvider({ children }: ConfirmDialogProviderProps): react_jsx_runtime.JSX.Element;
1466
+ interface ConfirmDialogProps extends ConfirmOptions {
1467
+ open: boolean;
1468
+ onConfirm: () => void;
1469
+ onCancel: () => void;
1470
+ }
1471
+ declare function ConfirmDialog({ open, onConfirm, onCancel, title, description, confirmLabel, cancelLabel, variant, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
1472
+
1473
+ interface CommandItem {
1474
+ id: string;
1475
+ label: string;
1476
+ description?: string;
1477
+ icon?: React.ReactNode;
1478
+ shortcut?: string[];
1479
+ group?: string;
1480
+ disabled?: boolean;
1481
+ onSelect: () => void;
1482
+ }
1483
+ interface CommandGroup {
1484
+ id: string;
1485
+ label: string;
1486
+ items: CommandItem[];
1487
+ }
1488
+ interface CommandPaletteProps {
1489
+ open: boolean;
1490
+ onClose: () => void;
1491
+ items?: CommandItem[];
1492
+ groups?: CommandGroup[];
1493
+ placeholder?: string;
1494
+ emptyMessage?: string;
1495
+ loading?: boolean;
1496
+ onSearch?: (query: string) => void;
1497
+ hotkey?: string;
1498
+ maxHeight?: number;
1499
+ className?: string;
1500
+ }
1501
+ declare function CommandPalette({ open, onClose, items, groups, placeholder, emptyMessage, loading, onSearch, maxHeight, className, }: CommandPaletteProps): React.ReactPortal | null;
1502
+ declare function useCommandPalette(): {
1503
+ open: boolean;
1504
+ setOpen: React.Dispatch<React.SetStateAction<boolean>>;
1505
+ toggle: () => void;
1506
+ };
1507
+
1508
+ type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
1509
+ type HeadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
1510
+ type HeadingWeight = 'normal' | 'medium' | 'semibold' | 'bold';
1511
+ interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
1512
+ level?: HeadingLevel;
1513
+ size?: HeadingSize;
1514
+ weight?: HeadingWeight;
1515
+ truncate?: boolean;
1516
+ color?: 'default' | 'muted' | 'primary' | 'error' | 'success' | 'warning';
1517
+ }
1518
+ declare function Heading({ level, size, weight, truncate, color, className, children, ...props }: HeadingProps): react_jsx_runtime.JSX.Element;
1519
+
1520
+ type TextSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl';
1521
+ type TextWeight = 'normal' | 'medium' | 'semibold' | 'bold';
1522
+ type TextColor = 'default' | 'muted' | 'disabled' | 'primary' | 'error' | 'success' | 'warning' | 'inherit';
1523
+ type TextAs = 'p' | 'span' | 'div' | 'strong' | 'em' | 'small';
1524
+ interface TextProps extends React.HTMLAttributes<HTMLParagraphElement> {
1525
+ as?: TextAs;
1526
+ size?: TextSize;
1527
+ weight?: TextWeight;
1528
+ color?: TextColor;
1529
+ truncate?: boolean;
1530
+ clamp?: 1 | 2 | 3 | 4 | 5;
1531
+ italic?: boolean;
1532
+ underline?: boolean;
1533
+ }
1534
+ declare function Text({ as: Tag, size, weight, color, truncate, clamp, italic, underline, className, children, ...props }: TextProps): react_jsx_runtime.JSX.Element;
1535
+
1536
+ interface LabelProps extends React.ComponentPropsWithoutRef<typeof RadixLabel.Root> {
1537
+ required?: boolean;
1538
+ optional?: boolean;
1539
+ size?: 'sm' | 'md' | 'lg';
1540
+ }
1541
+ declare function Label({ required, optional, size, className, children, ...props }: LabelProps): react_jsx_runtime.JSX.Element;
1542
+
1543
+ type CodeTheme = 'dark' | 'light';
1544
+ interface CodeProps extends React.HTMLAttributes<HTMLElement> {
1545
+ block?: boolean;
1546
+ language?: string;
1547
+ theme?: CodeTheme;
1548
+ showLineNumbers?: boolean;
1549
+ copyable?: boolean;
1550
+ filename?: string;
1551
+ }
1552
+ declare function Code({ block, language, theme, showLineNumbers, copyable, filename, className, children, ...props }: CodeProps): react_jsx_runtime.JSX.Element;
1553
+
1554
+ type LinkUnderline = 'always' | 'hover' | 'none';
1555
+ interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
1556
+ external?: boolean;
1557
+ underline?: LinkUnderline;
1558
+ color?: 'primary' | 'text' | 'muted' | 'inherit';
1559
+ showExternalIcon?: boolean;
1560
+ }
1561
+ declare function Link({ external, underline, color, showExternalIcon, className, children, target, rel, ...props }: LinkProps): react_jsx_runtime.JSX.Element;
1562
+
1563
+ type KbdSize = 'sm' | 'md' | 'lg';
1564
+ interface KbdProps {
1565
+ children: React.ReactNode;
1566
+ size?: KbdSize;
1567
+ className?: string;
1568
+ }
1569
+ declare function Kbd({ children, size, className }: KbdProps): react_jsx_runtime.JSX.Element;
1570
+
1571
+ type CopyButtonSize = 'sm' | 'md' | 'lg';
1572
+ type CopyButtonVariant = 'ghost' | 'outline' | 'solid';
1573
+ interface CopyButtonProps {
1574
+ value: string;
1575
+ size?: CopyButtonSize;
1576
+ variant?: CopyButtonVariant;
1577
+ label?: string;
1578
+ copiedLabel?: string;
1579
+ timeout?: number;
1580
+ onCopy?: (value: string) => void;
1581
+ className?: string;
1582
+ disabled?: boolean;
1583
+ }
1584
+ declare function CopyButton({ value, size, variant, label, copiedLabel, timeout, onCopy, className, disabled, }: CopyButtonProps): react_jsx_runtime.JSX.Element;
1585
+
1586
+ export { Alert, AppShell, ArrayValidator, Avatar, AvatarGroup, Badge, BadgeAnchor, BooleanValidator, Box, Breadcrumb, Button, Card, Checkbox, ChipSelect, Code, Collapsible, CommandPalette, ConfirmDialog, ConfirmDialogProvider, Container, ContextMenu, CopyButton, DEFAULT_COUNTRY_CODES, DataTable, DatePicker, DateValidator, Divider, Drawer, EmailValidator, EmptyState, ErrorBoundary, FileUpload, FileValidator, FormField, FullScreenLoader, FullScreenLoaderProvider, Grid, Heading, Icon, IconButton, Image, JSONForm, Kbd, Label, Link, List, ListItem, MarkdownReader, Modal, MultiSelect, Navbar, NumberInput, NumberValidator, OTPInput, Pagination, PasswordValidator, PhoneInput, Popover, ProgressBar, RadioGroup, Rating, SVG, SearchSelect, Select, SelectValidator, Sidebar, Skeleton, SkeletonCard, Slider, Spacer, Spinner, Stack, Stat, StepIndicator, StringValidator, Switch, Table, Tabs, TabsContent, Tag, TagInput, TelValidator, Text, TextArea, TextField, ThemeProvider, Timeline, ToastProvider, Tooltip, TreeView, UrlValidator, buttonVariants, cn, useClickOutside, useClipboard, useCommandPalette, useConfirm, useDebounce, useFullScreenLoader, useIntersectionObserver, useKeyboard, useLocalStorage, useMediaQuery, useTheme, useToast, useWindowSize, v };
1587
+ export type { AlertProps, AnyValidator, AppShellProps, AvatarGroupProps, AvatarProps, AvatarSize, AvatarStatus, BadgeAnchorProps, BadgeProps, BoxProps, BreadcrumbItem, BreadcrumbProps, ButtonProps, CardProps, CheckboxProps, ChipSelectOption, ChipSelectProps, ChipSelectSize, CodeProps, CodeTheme, CollapsibleProps, CommandGroup, CommandItem, CommandPaletteProps, CompiledRules, ConfirmDialogProps, ConfirmDialogProviderProps, ConfirmOptions, ConfirmVariant, ContainerProps, ContainerSize, ContextMenuItem, ContextMenuProps, CopyButtonProps, CopyButtonSize, CopyButtonVariant, CountryCode, DataTableColumn, DataTablePagination, DataTableProps, DatePickerMode, DatePickerProps, DatePickerRangeProps, DatePickerSingleProps, DatePickerSize, DividerProps, DrawerProps, DrawerSide, DrawerSize, EmptyStateProps, ErrorBoundaryProps, FileUploadProps, FormFieldProps, FullScreenLoaderControls, FullScreenLoaderProps, FullScreenLoaderProviderProps, FullScreenLoaderState, GridCols, GridGap, GridProps, HeadingLevel, HeadingProps, HeadingSize, HeadingWeight, IconButtonProps, IconProps, IconSize, ImageFit, ImageProps, ImageRatio, JSONFieldType, JSONFormField, JSONFormOption, JSONFormProps, KbdProps, KbdSize, KeyboardModifier, KeyboardShortcut, LabelProps, LinkProps, LinkUnderline, ListItemProps, ListProps, MarkdownReaderProps, ModalProps, ModalSize, MultiSelectGroup, MultiSelectOption, MultiSelectProps, NavbarLink, NavbarProps, NumberInputProps, NumberInputSize, OTPInputProps, OTPInputSize, PaginationProps, PhoneInputProps, PhoneInputSize, PhoneInputValue, PopoverPlacement, PopoverProps, ProgressBarProps, ProgressSize, ProgressVariant, RadioGroupProps, RadioOption, RatingProps, RatingSize, SVGProps, SearchSelectGroup, SearchSelectMultiProps, SearchSelectOption, SearchSelectProps, SearchSelectSingleProps, SelectGroup, SelectOption, SelectProps, SidebarItem, SidebarProps, SkeletonCardProps, SkeletonProps, SkeletonVariant, SliderProps, SliderSize, SortDirection$1 as SortDirection, SpacerProps, SpinnerProps, SpinnerSize, StackAlign, StackDirection, StackGap, StackJustify, StackProps, StatProps, Step, StepIndicatorProps, StepStatus, SwitchProps, TabItem, TableColumn, TableProps, TabsProps, TabsVariant, TagInputProps, TagProps, TagSeparator, TextAreaProps, TextAs, TextColor, TextFieldProps, TextFieldSize, TextProps, TextSize, TextWeight, ThemeProviderProps, ThemeTokens, TimelineItem, TimelineProps, Toast, ToastPosition, ToastProviderProps, ToastVariant, TooltipPlacement, TooltipProps, TreeViewItem, TreeViewProps, UploadedFile, UseClipboardOptions, UseClipboardReturn, UseIntersectionObserverOptions, UseToastReturn, WindowSize };