@masumdev/rn-ui 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.
@@ -0,0 +1,1593 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { TextStyle, ViewStyle, ImageStyle, StyleProp, ModalProps, ViewProps, View, ImageProps, PressableProps, TextProps as TextProps$1, TextInputProps, TextInput, KeyboardAvoidingViewProps, ScrollViewProps, GestureResponderEvent } from 'react-native';
3
+ import { Calendar as Calendar$1 } from 'react-native-calendars';
4
+ import { BottomSheetProps as BottomSheetProps$1, BottomSheetBackdrop } from '@gorhom/bottom-sheet';
5
+ export { BottomSheetBackdropProps, BottomSheetFlatList, BottomSheetModal, BottomSheetModalProps, BottomSheetModalProvider, BottomSheetScrollView, BottomSheetSectionList, BottomSheetTextInput, BottomSheetView, BottomSheetProps as GorhomBottomSheetProps, BottomSheetView as SheetContent, useBottomSheet, useBottomSheetModal } from '@gorhom/bottom-sheet';
6
+ import { BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
7
+ export { BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
8
+ import { SharedValue } from 'react-native-reanimated';
9
+
10
+ type ThemeMode = "light" | "dark";
11
+ type ColorSchemePreference = ThemeMode | "system";
12
+ type ThemeStyle = ViewStyle | TextStyle | ImageStyle;
13
+ type ThemeNamedStyles<T> = {
14
+ [P in keyof T]: ThemeStyle;
15
+ };
16
+ type ThemeStyleFactory<T extends ThemeNamedStyles<T>> = (theme: Theme) => T;
17
+ type DeepPartial<T> = {
18
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
19
+ };
20
+ interface ThemeColors {
21
+ background: string;
22
+ backgroundMuted: string;
23
+ backgroundSubtle: string;
24
+ surface: string;
25
+ surfaceRaised: string;
26
+ surfaceMuted: string;
27
+ text: string;
28
+ textMuted: string;
29
+ textSubtle: string;
30
+ textInverse: string;
31
+ primary: string;
32
+ primarySoft: string;
33
+ primaryStrong: string;
34
+ onPrimary: string;
35
+ secondary: string;
36
+ secondarySoft: string;
37
+ onSecondary: string;
38
+ accent: string;
39
+ accentSoft: string;
40
+ onAccent: string;
41
+ success: string;
42
+ successSoft: string;
43
+ onSuccess: string;
44
+ warning: string;
45
+ warningSoft: string;
46
+ onWarning: string;
47
+ danger: string;
48
+ dangerSoft: string;
49
+ onDanger: string;
50
+ info: string;
51
+ infoSoft: string;
52
+ onInfo: string;
53
+ border: string;
54
+ borderMuted: string;
55
+ divider: string;
56
+ input: string;
57
+ placeholder: string;
58
+ disabled: string;
59
+ disabledText: string;
60
+ overlay: string;
61
+ transparent: string;
62
+ }
63
+ interface TypographyVariant {
64
+ fontFamily?: string;
65
+ fontSize: number;
66
+ lineHeight: number;
67
+ fontWeight?: TextStyle["fontWeight"];
68
+ letterSpacing?: number;
69
+ }
70
+ interface ThemeTypography {
71
+ display: TypographyVariant;
72
+ h1: TypographyVariant;
73
+ h2: TypographyVariant;
74
+ h3: TypographyVariant;
75
+ title: TypographyVariant;
76
+ subtitle: TypographyVariant;
77
+ body: TypographyVariant;
78
+ bodySmall: TypographyVariant;
79
+ label: TypographyVariant;
80
+ labelSmall: TypographyVariant;
81
+ caption: TypographyVariant;
82
+ }
83
+ interface ThemeFonts {
84
+ regular?: string;
85
+ medium?: string;
86
+ semibold?: string;
87
+ bold?: string;
88
+ mono?: string;
89
+ }
90
+ interface ThemeSpacing {
91
+ none: number;
92
+ xxs: number;
93
+ xs: number;
94
+ sm: number;
95
+ md: number;
96
+ lg: number;
97
+ xl: number;
98
+ xxl: number;
99
+ xxxl: number;
100
+ }
101
+ interface ThemeRadii {
102
+ none: number;
103
+ xs: number;
104
+ sm: number;
105
+ md: number;
106
+ lg: number;
107
+ xl: number;
108
+ xxl: number;
109
+ full: number;
110
+ }
111
+ interface ThemeShadow {
112
+ shadowColor: string;
113
+ shadowOffset: {
114
+ width: number;
115
+ height: number;
116
+ };
117
+ shadowOpacity: number;
118
+ shadowRadius: number;
119
+ elevation: number;
120
+ }
121
+ interface ThemeShadows {
122
+ none: ThemeShadow;
123
+ sm: ThemeShadow;
124
+ md: ThemeShadow;
125
+ lg: ThemeShadow;
126
+ }
127
+ interface ThemeComponents {
128
+ borderWidth: {
129
+ default: number;
130
+ strong: number;
131
+ focus: number;
132
+ ring: number;
133
+ hairline: number;
134
+ };
135
+ button: {
136
+ height: Record<"xs" | "sm" | "md" | "lg" | "xl", number>;
137
+ paddingX: Record<"xs" | "sm" | "md" | "lg" | "xl", number>;
138
+ iconSize: Record<"xs" | "sm" | "md" | "lg" | "xl", number>;
139
+ };
140
+ iconButton: {
141
+ size: Record<"sm" | "md" | "lg", number>;
142
+ iconSize: Record<"sm" | "md" | "lg", number>;
143
+ badge: {
144
+ size: number;
145
+ minWidth: number;
146
+ offset: number;
147
+ paddingX: number;
148
+ borderWidth: number;
149
+ fontSize: number;
150
+ lineHeight: number;
151
+ };
152
+ };
153
+ timeline: {
154
+ indicatorSize: number;
155
+ connectorWidth: number;
156
+ connectorMinHeight: number;
157
+ };
158
+ table: {
159
+ minColumnWidth: number;
160
+ };
161
+ metricCard: {
162
+ iconSize: number;
163
+ };
164
+ floatingActionButton: {
165
+ size: Record<"sm" | "md" | "lg", number>;
166
+ iconSize: Record<"sm" | "md" | "lg", number>;
167
+ paddingX: Record<"sm" | "md" | "lg", number>;
168
+ };
169
+ switch: {
170
+ width: Record<"sm" | "md" | "lg", number>;
171
+ height: Record<"sm" | "md" | "lg", number>;
172
+ thumbSize: Record<"sm" | "md" | "lg", number>;
173
+ iconSize: Record<"sm" | "md" | "lg", number>;
174
+ };
175
+ slider: {
176
+ height: number;
177
+ trackHeight: number;
178
+ thumbSize: number;
179
+ activeThumbSize: number;
180
+ hitSlop: number;
181
+ };
182
+ }
183
+ interface Theme {
184
+ mode: ThemeMode;
185
+ dark: boolean;
186
+ colors: ThemeColors;
187
+ fonts: ThemeFonts;
188
+ typography: ThemeTypography;
189
+ spacing: ThemeSpacing;
190
+ radii: ThemeRadii;
191
+ shadows: ThemeShadows;
192
+ components: ThemeComponents;
193
+ }
194
+ type ThemeInput = DeepPartial<Omit<Theme, "mode" | "dark">>;
195
+ interface ThemeStorage {
196
+ getItem: (key: string) => string | null | Promise<string | null>;
197
+ setItem: (key: string, value: string) => void | Promise<void>;
198
+ }
199
+ interface ThemeProviderProps {
200
+ children: ReactNode;
201
+ colorScheme?: ColorSchemePreference;
202
+ defaultColorScheme?: ColorSchemePreference;
203
+ themes?: Partial<Record<ThemeMode, ThemeInput>>;
204
+ storage?: ThemeStorage;
205
+ storageKey?: string;
206
+ waitForStorage?: boolean;
207
+ fallback?: ReactNode;
208
+ onColorSchemeChange?: (scheme: ColorSchemePreference) => void;
209
+ }
210
+ interface ThemeContextValue {
211
+ theme: Theme;
212
+ colors: ThemeColors;
213
+ fonts: ThemeFonts;
214
+ typography: ThemeTypography;
215
+ spacing: ThemeSpacing;
216
+ radii: ThemeRadii;
217
+ shadows: ThemeShadows;
218
+ components: ThemeComponents;
219
+ colorScheme: ColorSchemePreference;
220
+ resolvedColorScheme: ThemeMode;
221
+ isDark: boolean;
222
+ isHydrated: boolean;
223
+ setColorScheme: (scheme: ColorSchemePreference) => void;
224
+ toggleColorScheme: () => void;
225
+ }
226
+
227
+ declare function ThemeProvider({ children, colorScheme, defaultColorScheme, themes, storage, storageKey, waitForStorage, fallback, onColorSchemeChange, }: ThemeProviderProps): React.JSX.Element;
228
+
229
+ declare function mergeTheme<T extends object>(base: T, override?: DeepPartial<T>): T;
230
+ declare function createTheme(mode: ThemeMode, override?: ThemeInput): Theme;
231
+
232
+ declare function useTheme(): ThemeContextValue;
233
+
234
+ declare function useThemeStyles<T extends ThemeNamedStyles<T>>(factory: ThemeStyleFactory<T>): T;
235
+
236
+ declare const fonts: ThemeFonts;
237
+ declare const spacing: ThemeSpacing;
238
+ declare const radii: ThemeRadii;
239
+ declare const typography: ThemeTypography;
240
+ declare const lightTheme: Theme;
241
+ declare const darkTheme: Theme;
242
+ declare const defaultThemes: {
243
+ readonly light: Theme;
244
+ readonly dark: Theme;
245
+ };
246
+
247
+ type ThemeColorName = keyof ThemeColors;
248
+ type RenderIcon = ReactNode | ((props: {
249
+ color: string;
250
+ size: number;
251
+ }) => ReactNode);
252
+
253
+ interface AccordionItem {
254
+ id: string;
255
+ title: React.ReactNode;
256
+ content: React.ReactNode;
257
+ subtitle?: React.ReactNode;
258
+ icon?: RenderIcon;
259
+ disabled?: boolean;
260
+ }
261
+ interface AccordionIndicatorProps {
262
+ expanded: boolean;
263
+ color: string;
264
+ size: number;
265
+ }
266
+ interface AccordionAnimatedContentProps {
267
+ expanded: boolean;
268
+ children: React.ReactNode;
269
+ duration: number;
270
+ style?: StyleProp<ViewStyle>;
271
+ }
272
+ interface AccordionAnimatedIndicatorProps {
273
+ expanded: boolean;
274
+ children: React.ReactNode;
275
+ duration: number;
276
+ style?: StyleProp<ViewStyle>;
277
+ }
278
+ interface AccordionAnimationComponents {
279
+ Content?: React.ComponentType<AccordionAnimatedContentProps>;
280
+ Indicator?: React.ComponentType<AccordionAnimatedIndicatorProps>;
281
+ }
282
+ type AccordionIndicator = React.ReactNode | ((props: AccordionIndicatorProps) => React.ReactNode);
283
+ interface AccordionProps {
284
+ items: AccordionItem[];
285
+ allowMultiple?: boolean;
286
+ defaultOpenIds?: string[];
287
+ openIds?: string[];
288
+ onOpenChange?: (openIds: string[]) => void;
289
+ disabled?: boolean;
290
+ animated?: boolean;
291
+ animationDuration?: number;
292
+ animationComponents?: AccordionAnimationComponents;
293
+ indicator?: AccordionIndicator;
294
+ itemStyle?: StyleProp<ViewStyle>;
295
+ headerStyle?: StyleProp<ViewStyle>;
296
+ titleStyle?: StyleProp<TextStyle>;
297
+ subtitleStyle?: StyleProp<TextStyle>;
298
+ contentStyle?: StyleProp<ViewStyle>;
299
+ style?: StyleProp<ViewStyle>;
300
+ }
301
+ declare function Accordion({ items, allowMultiple, defaultOpenIds, openIds, onOpenChange, disabled, animated, animationDuration, animationComponents, indicator, itemStyle, headerStyle, titleStyle, subtitleStyle, contentStyle, style, }: AccordionProps): React.JSX.Element;
302
+
303
+ type AlertTone = "primary" | "success" | "warning" | "danger" | "info" | "secondary";
304
+ type AlertVariant = "soft" | "outline" | "solid";
305
+ interface AlertAction {
306
+ label: string;
307
+ onPress: () => void;
308
+ icon?: RenderIcon;
309
+ }
310
+ interface AlertProps {
311
+ title?: React.ReactNode;
312
+ children?: React.ReactNode;
313
+ tone?: AlertTone;
314
+ variant?: AlertVariant;
315
+ icon?: RenderIcon;
316
+ action?: AlertAction;
317
+ dismissible?: boolean;
318
+ animated?: boolean;
319
+ animationDuration?: number;
320
+ onClose?: () => void;
321
+ closeIcon?: RenderIcon;
322
+ style?: StyleProp<ViewStyle>;
323
+ contentStyle?: StyleProp<ViewStyle>;
324
+ titleStyle?: StyleProp<TextStyle>;
325
+ textStyle?: StyleProp<TextStyle>;
326
+ }
327
+ declare function Alert({ title, children, tone, variant, icon, action, dismissible, animated, animationDuration, onClose, closeIcon, style, contentStyle, titleStyle, textStyle, }: AlertProps): React.JSX.Element | null;
328
+
329
+ type AlertDialogTone = "primary" | "success" | "warning" | "danger" | "info" | "secondary";
330
+ interface AlertDialogProps {
331
+ visible: boolean;
332
+ title?: React.ReactNode;
333
+ description?: React.ReactNode;
334
+ children?: React.ReactNode;
335
+ tone?: AlertDialogTone;
336
+ icon?: RenderIcon;
337
+ closeIcon?: RenderIcon;
338
+ confirmText?: string;
339
+ cancelText?: string;
340
+ onConfirm?: () => void;
341
+ onCancel?: () => void;
342
+ onClose?: () => void;
343
+ confirmLoading?: boolean;
344
+ confirmDisabled?: boolean;
345
+ cancelDisabled?: boolean;
346
+ dismissOnBackdropPress?: boolean;
347
+ animated?: boolean;
348
+ animationDuration?: number;
349
+ modalProps?: Omit<ModalProps, "visible" | "transparent" | "animationType" | "onRequestClose">;
350
+ overlayStyle?: StyleProp<ViewStyle>;
351
+ style?: StyleProp<ViewStyle>;
352
+ contentStyle?: StyleProp<ViewStyle>;
353
+ titleStyle?: StyleProp<TextStyle>;
354
+ descriptionStyle?: StyleProp<TextStyle>;
355
+ }
356
+ declare function AlertDialog({ visible, title, description, children, tone, icon, closeIcon, confirmText, cancelText, onConfirm, onCancel, onClose, confirmLoading, confirmDisabled, cancelDisabled, dismissOnBackdropPress, animated, animationDuration, modalProps, overlayStyle, style, contentStyle, titleStyle, descriptionStyle, }: AlertDialogProps): React.JSX.Element | null;
357
+
358
+ interface AspectRatioProps extends ViewProps {
359
+ /**
360
+ * The aspect ratio of the container, e.g., 16/9, 4/3, 1.
361
+ * Defaults to 1.
362
+ */
363
+ ratio?: number;
364
+ /**
365
+ * The border radius token from the theme.
366
+ */
367
+ radius?: keyof ReturnType<typeof useTheme>["radii"];
368
+ /**
369
+ * The content to render inside the AspectRatio container.
370
+ */
371
+ children?: React.ReactNode;
372
+ }
373
+ declare function AspectRatio({ ratio, radius, children, style, ...props }: AspectRatioProps): React.JSX.Element;
374
+
375
+ type AttachmentLayout = "card" | "row";
376
+ type AttachmentDescriptionTone = "default" | "info" | "success" | "warning" | "danger";
377
+ interface AttachmentProps {
378
+ /**
379
+ * Layout style of the attachment.
380
+ * - 'card': A square card layout, ideal for grid-like previews of images.
381
+ * - 'row': A full-width horizontal row, ideal for document/file listings.
382
+ * Defaults to 'row'.
383
+ */
384
+ layout?: AttachmentLayout;
385
+ /**
386
+ * Name of the file, e.g., 'workspace.png'.
387
+ */
388
+ name: string;
389
+ /**
390
+ * Description or metadata, e.g., 'PNG • 820 KB' or 'Uploading • 64%'.
391
+ */
392
+ description?: string;
393
+ /**
394
+ * Pluggable icon/thumbnail for the attachment.
395
+ * Can be a URI string (rendered as Image), a ReactNode, or a RenderIcon function.
396
+ */
397
+ thumbnail?: string | RenderIcon;
398
+ /**
399
+ * Pluggable fallback file icon when no thumbnail is provided.
400
+ */
401
+ fileIcon?: RenderIcon;
402
+ /**
403
+ * Tone for the description text. Use this instead of deriving visual state from copy.
404
+ */
405
+ descriptionTone?: AttachmentDescriptionTone;
406
+ /**
407
+ * If true, shows a loading spinner in the thumbnail slot.
408
+ */
409
+ loading?: boolean;
410
+ /**
411
+ * Callback triggered when the remove button is pressed.
412
+ * Shows a close button on the right side if defined.
413
+ */
414
+ onRemove?: () => void;
415
+ /**
416
+ * Pluggable close/remove icon.
417
+ */
418
+ closeIcon?: RenderIcon;
419
+ /**
420
+ * Callback triggered when pressing the entire attachment card/row.
421
+ */
422
+ onPress?: () => void;
423
+ /**
424
+ * Style overrides for the root container.
425
+ */
426
+ style?: StyleProp<ViewStyle>;
427
+ /**
428
+ * Style overrides for the name text.
429
+ */
430
+ nameStyle?: StyleProp<TextStyle>;
431
+ /**
432
+ * Style overrides for the description text.
433
+ */
434
+ descriptionStyle?: StyleProp<TextStyle>;
435
+ }
436
+ declare function Attachment({ layout, name, description, thumbnail, loading, onRemove, closeIcon, fileIcon, descriptionTone, onPress, style, nameStyle, descriptionStyle, ...props }: AttachmentProps): React.JSX.Element;
437
+
438
+ type AvatarSize = "default" | "sm" | "lg";
439
+ interface AvatarProps extends React.ComponentPropsWithoutRef<typeof View> {
440
+ size?: AvatarSize;
441
+ style?: StyleProp<ViewStyle>;
442
+ children?: React.ReactNode;
443
+ }
444
+ declare function Avatar({ size, style, children, ...props }: AvatarProps): React.JSX.Element;
445
+ interface AvatarImageProps extends Omit<ImageProps, "style"> {
446
+ style?: StyleProp<ImageStyle>;
447
+ }
448
+ declare function AvatarImage({ source, style, onLoad, onError, ...props }: AvatarImageProps): React.JSX.Element | null;
449
+ interface AvatarFallbackProps extends React.ComponentPropsWithoutRef<typeof View> {
450
+ style?: StyleProp<ViewStyle>;
451
+ textStyle?: StyleProp<TextStyle>;
452
+ children?: React.ReactNode;
453
+ }
454
+ declare function AvatarFallback({ style, textStyle, children, ...props }: AvatarFallbackProps): React.JSX.Element | null;
455
+ interface AvatarBadgeProps extends React.ComponentPropsWithoutRef<typeof View> {
456
+ style?: StyleProp<ViewStyle>;
457
+ bg?: string;
458
+ }
459
+ declare function AvatarBadge({ style, bg, ...props }: AvatarBadgeProps): React.JSX.Element;
460
+ interface AvatarGroupProps extends React.ComponentPropsWithoutRef<typeof View> {
461
+ size?: AvatarSize;
462
+ style?: StyleProp<ViewStyle>;
463
+ children?: React.ReactNode;
464
+ }
465
+ declare function AvatarGroup({ size, style, children, ...props }: AvatarGroupProps): React.JSX.Element;
466
+ interface AvatarGroupCountProps extends React.ComponentPropsWithoutRef<typeof View> {
467
+ count: number;
468
+ style?: StyleProp<ViewStyle>;
469
+ textStyle?: StyleProp<TextStyle>;
470
+ }
471
+ declare function AvatarGroupCount({ count, style, textStyle, ...props }: AvatarGroupCountProps): React.JSX.Element;
472
+
473
+ type BubbleVariant = "default" | "secondary" | "muted" | "tinted" | "outline" | "ghost" | "destructive";
474
+ type BubbleAlign = "start" | "end";
475
+ interface BubbleGroupProps extends React.ComponentPropsWithoutRef<typeof View> {
476
+ style?: StyleProp<ViewStyle>;
477
+ children?: React.ReactNode;
478
+ }
479
+ declare function BubbleGroup({ style, children, ...props }: BubbleGroupProps): React.JSX.Element;
480
+ interface BubbleProps extends React.ComponentPropsWithoutRef<typeof View> {
481
+ variant?: BubbleVariant;
482
+ align?: BubbleAlign;
483
+ style?: StyleProp<ViewStyle>;
484
+ children?: React.ReactNode;
485
+ }
486
+ declare function Bubble({ variant, align, style, children, ...props }: BubbleProps): React.JSX.Element;
487
+ interface BubbleContentProps extends Omit<PressableProps, "style"> {
488
+ style?: StyleProp<ViewStyle>;
489
+ textStyle?: StyleProp<TextStyle>;
490
+ onPress?: () => void;
491
+ children?: React.ReactNode;
492
+ }
493
+ declare function BubbleContent({ style, textStyle, onPress, children, ...props }: BubbleContentProps): React.JSX.Element;
494
+ interface BubbleReactionsProps extends React.ComponentPropsWithoutRef<typeof View> {
495
+ side?: "top" | "bottom";
496
+ align?: "start" | "end";
497
+ style?: StyleProp<ViewStyle>;
498
+ children?: React.ReactNode;
499
+ }
500
+ declare function BubbleReactions({ side, align, style, children, ...props }: BubbleReactionsProps): React.JSX.Element;
501
+
502
+ type ButtonGroupOrientation = "horizontal" | "vertical";
503
+ interface ButtonGroupProps extends ViewProps {
504
+ orientation?: ButtonGroupOrientation;
505
+ style?: StyleProp<ViewStyle>;
506
+ children?: React.ReactNode;
507
+ }
508
+ declare function ButtonGroup({ orientation, style, children, ...props }: ButtonGroupProps): React.JSX.Element;
509
+ interface ButtonGroupTextProps extends React.ComponentPropsWithoutRef<typeof View> {
510
+ style?: StyleProp<ViewStyle>;
511
+ textStyle?: StyleProp<TextStyle>;
512
+ children?: React.ReactNode;
513
+ }
514
+ declare function ButtonGroupText({ style, textStyle, children, ...props }: ButtonGroupTextProps): React.JSX.Element;
515
+ interface ButtonGroupSeparatorProps extends React.ComponentPropsWithoutRef<typeof View> {
516
+ orientation?: ButtonGroupOrientation;
517
+ style?: StyleProp<ViewStyle>;
518
+ }
519
+ declare function ButtonGroupSeparator({ orientation, style, ...props }: ButtonGroupSeparatorProps): React.JSX.Element;
520
+
521
+ interface CalendarDayData {
522
+ year: number;
523
+ month: number;
524
+ day: number;
525
+ timestamp: number;
526
+ dateString: string;
527
+ }
528
+ interface CalendarDayMarking {
529
+ selected?: boolean;
530
+ startingDay?: boolean;
531
+ endingDay?: boolean;
532
+ color?: string;
533
+ textColor?: string;
534
+ disabled?: boolean;
535
+ isMiddle?: boolean;
536
+ }
537
+ interface CalendarProps extends Omit<React.ComponentProps<typeof Calendar$1>, "current"> {
538
+ style?: StyleProp<ViewStyle>;
539
+ current?: string;
540
+ enableYearMonthPicker?: boolean;
541
+ }
542
+ declare function Calendar({ style, theme, markingType, markedDates, current, enableYearMonthPicker, ...props }: CalendarProps): React.JSX.Element;
543
+
544
+ type BadgeTone = "primary" | "secondary" | "accent" | "success" | "warning" | "danger" | "info";
545
+ type BadgeVariant = "solid" | "soft" | "outline";
546
+ type BadgeSize = "sm" | "md" | "lg";
547
+ interface BadgeProps {
548
+ children: string;
549
+ tone?: BadgeTone;
550
+ variant?: BadgeVariant;
551
+ size?: BadgeSize;
552
+ icon?: RenderIcon;
553
+ style?: StyleProp<ViewStyle>;
554
+ }
555
+ declare function Badge({ children, tone, variant, size, icon, style, }: BadgeProps): React.JSX.Element;
556
+
557
+ type Space$1 = keyof ReturnType<typeof useTheme>["spacing"];
558
+ interface BoxProps extends ViewProps {
559
+ bg?: ThemeColorName;
560
+ borderColor?: ThemeColorName;
561
+ radius?: keyof ReturnType<typeof useTheme>["radii"];
562
+ p?: Space$1;
563
+ px?: Space$1;
564
+ py?: Space$1;
565
+ m?: Space$1;
566
+ mx?: Space$1;
567
+ my?: Space$1;
568
+ flex?: number;
569
+ row?: boolean;
570
+ center?: boolean;
571
+ gap?: Space$1;
572
+ }
573
+ declare function Box({ bg, borderColor, radius, p, px, py, m, mx, my, flex, row, center, gap, style, ...props }: BoxProps): React.JSX.Element;
574
+
575
+ interface BreadcrumbProps extends ViewProps {
576
+ style?: StyleProp<ViewStyle>;
577
+ }
578
+ declare function Breadcrumb({ style, ...props }: BreadcrumbProps): React.JSX.Element;
579
+ interface BreadcrumbItemProps extends ViewProps {
580
+ style?: StyleProp<ViewStyle>;
581
+ }
582
+ declare function BreadcrumbItem({ style, ...props }: BreadcrumbItemProps): React.JSX.Element;
583
+ interface BreadcrumbLinkProps extends PressableProps {
584
+ children?: React.ReactNode;
585
+ }
586
+ interface BreadcrumbPageProps {
587
+ children?: React.ReactNode;
588
+ }
589
+ interface BreadcrumbSeparatorProps {
590
+ children?: React.ReactNode;
591
+ }
592
+ declare function BreadcrumbLink({ children, disabled, ...props }: BreadcrumbLinkProps): React.JSX.Element;
593
+ declare function BreadcrumbPage({ children }: BreadcrumbPageProps): React.JSX.Element;
594
+ declare function BreadcrumbSeparator({ children, }: BreadcrumbSeparatorProps): React.JSX.Element;
595
+
596
+ type GorhomBackdropComponentProps = React.ComponentProps<typeof BottomSheetBackdrop>;
597
+ interface BottomSheetProps extends BottomSheetProps$1 {
598
+ withBackdrop?: boolean;
599
+ backdropOpacity?: number;
600
+ backdropAppearsOnIndex?: number;
601
+ backdropDisappearsOnIndex?: number;
602
+ backdropPressBehavior?: GorhomBackdropComponentProps["pressBehavior"];
603
+ backdropStyle?: StyleProp<ViewStyle>;
604
+ }
605
+ declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<BottomSheetMethods>>;
606
+
607
+ type ButtonVariant = "filled" | "outline" | "ghost" | "soft" | "danger";
608
+ type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
609
+ type ButtonTone = "primary" | "secondary" | "accent" | "success" | "warning" | "danger" | "info";
610
+ type ButtonShape = "rounded" | "pill" | "square";
611
+ interface ButtonProps extends Omit<PressableProps, "children" | "style"> {
612
+ children: React.ReactNode;
613
+ variant?: ButtonVariant;
614
+ size?: ButtonSize;
615
+ tone?: ButtonTone;
616
+ shape?: ButtonShape;
617
+ leftIcon?: RenderIcon;
618
+ rightIcon?: RenderIcon;
619
+ loading?: boolean;
620
+ fullWidth?: boolean;
621
+ style?: StyleProp<ViewStyle>;
622
+ textStyle?: StyleProp<TextStyle>;
623
+ }
624
+ declare function Button({ children, variant, size, tone, shape, leftIcon, rightIcon, loading, fullWidth, disabled, style, textStyle, ...props }: ButtonProps): React.JSX.Element;
625
+
626
+ interface CardProps extends ViewProps {
627
+ padded?: boolean;
628
+ elevated?: boolean;
629
+ outlined?: boolean;
630
+ }
631
+ declare function Card({ padded, elevated, outlined, style, ...props }: CardProps): React.JSX.Element;
632
+
633
+ interface CommandItem {
634
+ value: string;
635
+ label: string;
636
+ description?: string;
637
+ icon?: RenderIcon;
638
+ disabled?: boolean;
639
+ }
640
+ interface CommandProps {
641
+ visible: boolean;
642
+ items: CommandItem[];
643
+ title?: string;
644
+ placeholder?: string;
645
+ emptyText?: string;
646
+ onClose: () => void;
647
+ onSelect?: (value: string, item: CommandItem) => void;
648
+ style?: StyleProp<ViewStyle>;
649
+ }
650
+ declare function Command({ visible, items, title, placeholder, emptyText, onClose, onSelect, style, }: CommandProps): React.JSX.Element;
651
+
652
+ interface DataListProps extends ViewProps {
653
+ style?: StyleProp<ViewStyle>;
654
+ }
655
+ interface DataListItemProps extends ViewProps {
656
+ style?: StyleProp<ViewStyle>;
657
+ }
658
+ interface DataListLabelProps {
659
+ children?: React.ReactNode;
660
+ }
661
+ interface DataListValueProps {
662
+ children?: React.ReactNode;
663
+ }
664
+ declare function DataList({ style, ...props }: DataListProps): React.JSX.Element;
665
+ declare function DataListItem({ style, ...props }: DataListItemProps): React.JSX.Element;
666
+ declare function DataListLabel({ children }: DataListLabelProps): React.JSX.Element;
667
+ declare function DataListValue({ children }: DataListValueProps): React.JSX.Element;
668
+
669
+ interface DividerProps {
670
+ inset?: number;
671
+ vertical?: boolean;
672
+ style?: ViewStyle;
673
+ }
674
+ declare function Divider({ inset, vertical, style }: DividerProps): React.JSX.Element;
675
+
676
+ type EmptyMediaVariant = "default" | "icon";
677
+ interface EmptyProps extends ViewProps {
678
+ bordered?: boolean;
679
+ style?: StyleProp<ViewStyle>;
680
+ }
681
+ declare function Empty({ bordered, style, ...props }: EmptyProps): React.JSX.Element;
682
+ interface EmptyHeaderProps extends ViewProps {
683
+ style?: StyleProp<ViewStyle>;
684
+ }
685
+ declare function EmptyHeader({ style, ...props }: EmptyHeaderProps): React.JSX.Element;
686
+ interface EmptyMediaProps extends ViewProps {
687
+ variant?: EmptyMediaVariant;
688
+ style?: StyleProp<ViewStyle>;
689
+ }
690
+ declare function EmptyMedia({ variant, style, ...props }: EmptyMediaProps): React.JSX.Element;
691
+ interface EmptyTitleProps {
692
+ children?: React.ReactNode;
693
+ style?: StyleProp<TextStyle>;
694
+ }
695
+ declare function EmptyTitle({ children, style }: EmptyTitleProps): React.JSX.Element;
696
+ interface EmptyDescriptionProps {
697
+ children?: React.ReactNode;
698
+ style?: StyleProp<TextStyle>;
699
+ }
700
+ declare function EmptyDescription({ children, style }: EmptyDescriptionProps): React.JSX.Element;
701
+ interface EmptyContentProps extends ViewProps {
702
+ style?: StyleProp<ViewStyle>;
703
+ }
704
+ declare function EmptyContent({ style, ...props }: EmptyContentProps): React.JSX.Element;
705
+
706
+ type DropdownMenuAlign = "start" | "end";
707
+ type DropdownMenuItemVariant = "default" | "destructive";
708
+ interface DropdownMenuTriggerLayout {
709
+ pageX: number;
710
+ pageY: number;
711
+ width: number;
712
+ height: number;
713
+ }
714
+ interface DropdownMenuContextProps {
715
+ open: boolean;
716
+ setOpen: (open: boolean) => void;
717
+ triggerLayout: DropdownMenuTriggerLayout;
718
+ setTriggerLayout: (layout: DropdownMenuTriggerLayout) => void;
719
+ colors: ThemeColors;
720
+ }
721
+ declare function useDropdownMenu(): DropdownMenuContextProps;
722
+ interface DropdownMenuProps {
723
+ open?: boolean;
724
+ defaultOpen?: boolean;
725
+ onOpenChange?: (open: boolean) => void;
726
+ children?: React.ReactNode;
727
+ }
728
+ declare function DropdownMenu({ open: controlledOpen, defaultOpen, onOpenChange, children, }: DropdownMenuProps): React.JSX.Element;
729
+ interface DropdownMenuTriggerProps {
730
+ children?: React.ReactNode;
731
+ style?: StyleProp<ViewStyle>;
732
+ disabled?: boolean;
733
+ }
734
+ declare function DropdownMenuTrigger({ children, style, disabled, }: DropdownMenuTriggerProps): React.JSX.Element;
735
+ interface DropdownMenuContentProps {
736
+ children?: React.ReactNode;
737
+ align?: DropdownMenuAlign;
738
+ width?: number;
739
+ maxHeight?: number;
740
+ sideOffset?: number;
741
+ style?: StyleProp<ViewStyle>;
742
+ overlayStyle?: StyleProp<ViewStyle>;
743
+ modalProps?: Omit<ModalProps, "visible" | "transparent" | "animationType" | "onRequestClose">;
744
+ }
745
+ declare function DropdownMenuContent({ children, align, width, maxHeight, sideOffset, style, overlayStyle, modalProps, }: DropdownMenuContentProps): React.JSX.Element | null;
746
+ interface DropdownMenuItemProps {
747
+ onPress?: () => void;
748
+ children?: React.ReactNode;
749
+ variant?: DropdownMenuItemVariant;
750
+ disabled?: boolean;
751
+ style?: StyleProp<ViewStyle>;
752
+ }
753
+ declare function DropdownMenuItem({ onPress, children, variant, disabled, style, }: DropdownMenuItemProps): React.JSX.Element;
754
+ interface DropdownMenuCheckboxItemProps {
755
+ checked?: boolean;
756
+ onCheckedChange?: (checked: boolean) => void;
757
+ children?: React.ReactNode;
758
+ disabled?: boolean;
759
+ style?: StyleProp<ViewStyle>;
760
+ checkIcon?: RenderIcon;
761
+ }
762
+ declare function DropdownMenuCheckboxItem({ checked, onCheckedChange, children, disabled, style, checkIcon, }: DropdownMenuCheckboxItemProps): React.JSX.Element;
763
+ interface DropdownMenuSeparatorProps {
764
+ style?: StyleProp<ViewStyle>;
765
+ }
766
+ declare function DropdownMenuSeparator({ style }: DropdownMenuSeparatorProps): React.JSX.Element;
767
+ interface DropdownMenuLabelProps {
768
+ children?: React.ReactNode;
769
+ style?: StyleProp<ViewStyle>;
770
+ }
771
+ declare function DropdownMenuLabel({ children, style }: DropdownMenuLabelProps): React.JSX.Element;
772
+ interface DropdownMenuShortcutProps {
773
+ children?: React.ReactNode;
774
+ style?: StyleProp<TextStyle>;
775
+ }
776
+ declare function DropdownMenuShortcut({ children, style, }: DropdownMenuShortcutProps): React.JSX.Element;
777
+
778
+ type IconButtonVariant = "filled" | "outline" | "ghost" | "soft";
779
+ type IconButtonSize = "sm" | "md" | "lg";
780
+ type IconButtonTone = "primary" | "secondary" | "accent" | "success" | "warning" | "danger" | "info";
781
+ interface IconButtonProps extends Omit<PressableProps, "children" | "style"> {
782
+ icon: RenderIcon;
783
+ variant?: IconButtonVariant;
784
+ size?: IconButtonSize;
785
+ tone?: IconButtonTone;
786
+ color?: ThemeColorName | string;
787
+ loading?: boolean;
788
+ badge?: number;
789
+ style?: StyleProp<ViewStyle>;
790
+ }
791
+ declare function IconButton({ icon, variant, size, tone, color, loading, disabled, badge, style, ...props }: IconButtonProps): React.JSX.Element;
792
+
793
+ interface LabelProps extends TextProps$1 {
794
+ required?: boolean;
795
+ requiredIndicator?: React.ReactNode;
796
+ requiredIndicatorStyle?: StyleProp<TextStyle>;
797
+ disabled?: boolean;
798
+ invalid?: boolean;
799
+ style?: StyleProp<TextStyle>;
800
+ }
801
+ declare function Label({ required, requiredIndicator, requiredIndicatorStyle, disabled, invalid, style, children, ...props }: LabelProps): React.JSX.Element;
802
+
803
+ type HoverCardAlign = "start" | "center" | "end";
804
+ type HoverCardTriggerMode = "longPress" | "press" | "manual";
805
+ interface HoverCardTriggerLayout {
806
+ pageX: number;
807
+ pageY: number;
808
+ width: number;
809
+ height: number;
810
+ }
811
+ interface HoverCardContextProps {
812
+ open: boolean;
813
+ setOpen: (open: boolean) => void;
814
+ triggerLayout: HoverCardTriggerLayout;
815
+ setTriggerLayout: (layout: HoverCardTriggerLayout) => void;
816
+ openDelay: number;
817
+ closeDelay: number;
818
+ triggerMode: HoverCardTriggerMode;
819
+ colors: ThemeColors;
820
+ }
821
+ declare function useHoverCard(): HoverCardContextProps;
822
+ interface HoverCardProps {
823
+ open?: boolean;
824
+ defaultOpen?: boolean;
825
+ onOpenChange?: (open: boolean) => void;
826
+ openDelay?: number;
827
+ closeDelay?: number;
828
+ triggerMode?: HoverCardTriggerMode;
829
+ children?: React.ReactNode;
830
+ }
831
+ declare function HoverCard({ open: controlledOpen, defaultOpen, onOpenChange, openDelay, closeDelay, triggerMode, children, }: HoverCardProps): React.JSX.Element;
832
+ interface HoverCardTriggerProps {
833
+ children?: React.ReactNode;
834
+ disabled?: boolean;
835
+ style?: StyleProp<ViewStyle>;
836
+ }
837
+ declare function HoverCardTrigger({ children, disabled, style, }: HoverCardTriggerProps): React.JSX.Element;
838
+ interface HoverCardContentProps {
839
+ children?: React.ReactNode;
840
+ align?: HoverCardAlign;
841
+ width?: number;
842
+ maxHeight?: number;
843
+ sideOffset?: number;
844
+ style?: StyleProp<ViewStyle>;
845
+ overlayStyle?: StyleProp<ViewStyle>;
846
+ modalProps?: Omit<ModalProps, "visible" | "transparent" | "animationType" | "onRequestClose">;
847
+ }
848
+ declare function HoverCardContent({ children, align, width, maxHeight, sideOffset, style, overlayStyle, modalProps, }: HoverCardContentProps): React.JSX.Element | null;
849
+
850
+ type InputSize = "sm" | "md" | "lg";
851
+ type InputType = "text" | "email" | "number" | "password" | "tel" | "url";
852
+ interface InputProps extends Omit<TextInputProps, "style"> {
853
+ type?: InputType;
854
+ size?: InputSize;
855
+ invalid?: boolean;
856
+ disabled?: boolean;
857
+ fullWidth?: boolean;
858
+ style?: StyleProp<TextStyle>;
859
+ }
860
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<TextInput>>;
861
+
862
+ type InputGroupAddonAlign = "inline-start" | "inline-end" | "block-start" | "block-end";
863
+ type InputGroupButtonSize = "xs" | "sm" | "icon-xs" | "icon-sm";
864
+ type InputGroupOrientation = "inline" | "block";
865
+ interface InputGroupProps extends ViewProps {
866
+ orientation?: InputGroupOrientation;
867
+ invalid?: boolean;
868
+ disabled?: boolean;
869
+ style?: StyleProp<ViewStyle>;
870
+ }
871
+ declare function InputGroup({ orientation, invalid, disabled, style, children, ...props }: InputGroupProps): React.JSX.Element;
872
+ interface InputGroupAddonProps extends ViewProps {
873
+ align?: InputGroupAddonAlign;
874
+ style?: StyleProp<ViewStyle>;
875
+ }
876
+ declare function InputGroupAddon({ align, style, children, ...props }: InputGroupAddonProps): React.JSX.Element;
877
+ interface InputGroupButtonProps extends Omit<ButtonProps, "size" | "children"> {
878
+ size?: InputGroupButtonSize;
879
+ variant?: ButtonVariant;
880
+ children?: React.ReactNode;
881
+ }
882
+ declare function InputGroupButton({ size, variant, shape, children, style, ...props }: InputGroupButtonProps): React.JSX.Element;
883
+ interface InputGroupTextProps extends ViewProps {
884
+ textStyle?: StyleProp<TextStyle>;
885
+ }
886
+ declare function InputGroupText({ style, textStyle, children, ...props }: InputGroupTextProps): React.JSX.Element;
887
+ interface InputGroupInputProps extends InputProps {
888
+ }
889
+ declare const InputGroupInput: React.ForwardRefExoticComponent<InputGroupInputProps & React.RefAttributes<TextInput>>;
890
+ interface InputGroupTextareaProps extends Omit<InputGroupInputProps, "multiline"> {
891
+ }
892
+ declare const InputGroupTextarea: React.ForwardRefExoticComponent<InputGroupTextareaProps & React.RefAttributes<TextInput>>;
893
+
894
+ interface InputOTPSlotState {
895
+ char: string;
896
+ hasFakeCaret: boolean;
897
+ isActive: boolean;
898
+ }
899
+ interface InputOTPContextValue {
900
+ slots: InputOTPSlotState[];
901
+ disabled: boolean;
902
+ invalid: boolean;
903
+ focused: boolean;
904
+ focus: () => void;
905
+ }
906
+ declare const InputOTPContext: React.Context<InputOTPContextValue | null>;
907
+ interface InputOTPProps extends Omit<PressableProps, "children" | "style"> {
908
+ children: React.ReactNode;
909
+ value?: string;
910
+ defaultValue?: string;
911
+ onChangeText?: (value: string) => void;
912
+ maxLength?: number;
913
+ disabled?: boolean;
914
+ invalid?: boolean;
915
+ autoFocus?: boolean;
916
+ textInputProps?: Omit<TextInputProps, "value" | "defaultValue" | "onChangeText" | "maxLength" | "editable">;
917
+ style?: StyleProp<ViewStyle>;
918
+ }
919
+ declare function InputOTP({ children, value, defaultValue, onChangeText, maxLength, disabled, invalid, autoFocus, textInputProps, style, onPress, ...props }: InputOTPProps): React.JSX.Element;
920
+ interface InputOTPGroupProps extends ViewProps {
921
+ style?: StyleProp<ViewStyle>;
922
+ }
923
+ declare function InputOTPGroup({ style, ...props }: InputOTPGroupProps): React.JSX.Element;
924
+ interface InputOTPSlotProps extends ViewProps {
925
+ index: number;
926
+ style?: StyleProp<ViewStyle>;
927
+ }
928
+ declare function InputOTPSlot({ index, style, ...props }: InputOTPSlotProps): React.JSX.Element;
929
+ interface InputOTPSeparatorProps extends ViewProps {
930
+ style?: StyleProp<ViewStyle>;
931
+ }
932
+ declare function InputOTPSeparator({ style, children, ...props }: InputOTPSeparatorProps): React.JSX.Element;
933
+
934
+ type ItemVariant = "default" | "outline" | "muted";
935
+ type ItemSize = "default" | "sm" | "xs";
936
+ type ItemMediaVariant = "default" | "icon" | "image";
937
+ interface ItemGroupProps extends ViewProps {
938
+ size?: ItemSize;
939
+ style?: StyleProp<ViewStyle>;
940
+ }
941
+ declare function ItemGroup({ size, style, ...props }: ItemGroupProps): React.JSX.Element;
942
+ interface ItemSeparatorProps extends ViewProps {
943
+ style?: StyleProp<ViewStyle>;
944
+ }
945
+ declare function ItemSeparator({ style, ...props }: ItemSeparatorProps): React.JSX.Element;
946
+ interface ItemProps extends Omit<PressableProps, "style"> {
947
+ variant?: ItemVariant;
948
+ size?: ItemSize;
949
+ style?: StyleProp<ViewStyle> | ((state: {
950
+ pressed: boolean;
951
+ }) => StyleProp<ViewStyle>);
952
+ }
953
+ declare function Item({ variant, size, disabled, style, ...props }: ItemProps): React.JSX.Element;
954
+ interface ItemMediaProps extends ViewProps {
955
+ variant?: ItemMediaVariant;
956
+ size?: ItemSize;
957
+ style?: StyleProp<ViewStyle>;
958
+ }
959
+ declare function ItemMedia({ variant, size, style, ...props }: ItemMediaProps): React.JSX.Element;
960
+ interface ItemContentProps extends ViewProps {
961
+ style?: StyleProp<ViewStyle>;
962
+ }
963
+ declare function ItemContent({ style, ...props }: ItemContentProps): React.JSX.Element;
964
+ interface ItemTitleProps extends TextProps$1 {
965
+ style?: StyleProp<TextStyle>;
966
+ }
967
+ declare function ItemTitle({ style, ...props }: ItemTitleProps): React.JSX.Element;
968
+ interface ItemDescriptionProps extends TextProps$1 {
969
+ style?: StyleProp<TextStyle>;
970
+ }
971
+ declare function ItemDescription({ style, ...props }: ItemDescriptionProps): React.JSX.Element;
972
+ interface ItemActionsProps extends ViewProps {
973
+ style?: StyleProp<ViewStyle>;
974
+ }
975
+ declare function ItemActions({ style, ...props }: ItemActionsProps): React.JSX.Element;
976
+ interface ItemHeaderProps extends ViewProps {
977
+ style?: StyleProp<ViewStyle>;
978
+ }
979
+ declare function ItemHeader({ style, ...props }: ItemHeaderProps): React.JSX.Element;
980
+ interface ItemFooterProps extends ViewProps {
981
+ style?: StyleProp<ViewStyle>;
982
+ }
983
+ declare function ItemFooter({ style, ...props }: ItemFooterProps): React.JSX.Element;
984
+
985
+ type Space = keyof ReturnType<typeof useTheme>["spacing"];
986
+ interface KeyboardAvoidingProps extends Omit<KeyboardAvoidingViewProps, "style"> {
987
+ bg?: ThemeColorName;
988
+ p?: Space;
989
+ px?: Space;
990
+ py?: Space;
991
+ gap?: Space;
992
+ scroll?: boolean;
993
+ fullHeight?: boolean;
994
+ contentContainerStyle?: StyleProp<ViewStyle>;
995
+ scrollViewProps?: ScrollViewProps;
996
+ style?: StyleProp<ViewStyle>;
997
+ }
998
+ declare function KeyboardAvoiding({ bg, p, px, py, gap, scroll, fullHeight, behavior, keyboardVerticalOffset, enabled, contentContainerStyle, scrollViewProps, style, children, ...props }: KeyboardAvoidingProps): React.JSX.Element;
999
+
1000
+ interface MetricCardProps extends ViewProps {
1001
+ label: React.ReactNode;
1002
+ value: React.ReactNode;
1003
+ delta?: React.ReactNode;
1004
+ icon?: RenderIcon;
1005
+ style?: StyleProp<ViewStyle>;
1006
+ }
1007
+ declare function MetricCard({ label, value, delta, icon, style, ...props }: MetricCardProps): React.JSX.Element;
1008
+
1009
+ interface PaginationProps extends ViewProps {
1010
+ page: number;
1011
+ pageCount: number;
1012
+ onPageChange?: (page: number) => void;
1013
+ previousLabel?: string;
1014
+ nextLabel?: string;
1015
+ style?: StyleProp<ViewStyle>;
1016
+ }
1017
+ declare function Pagination({ page, pageCount, onPageChange, previousLabel, nextLabel, style, ...props }: PaginationProps): React.JSX.Element;
1018
+
1019
+ interface PopoverProps {
1020
+ open?: boolean;
1021
+ defaultOpen?: boolean;
1022
+ onOpenChange?: (open: boolean) => void;
1023
+ children: React.ReactNode;
1024
+ }
1025
+ declare function Popover({ open, defaultOpen, onOpenChange, children, }: PopoverProps): React.JSX.Element;
1026
+ interface PopoverTriggerProps extends PressableProps {
1027
+ triggerMode?: "press" | "longPress";
1028
+ }
1029
+ declare function PopoverTrigger({ triggerMode, onPress, onLongPress, ...props }: PopoverTriggerProps): React.JSX.Element;
1030
+ interface PopoverContentProps {
1031
+ children?: React.ReactNode;
1032
+ width?: number;
1033
+ style?: StyleProp<ViewStyle>;
1034
+ }
1035
+ declare function PopoverContent({ children, width, style, }: PopoverContentProps): React.JSX.Element | null;
1036
+
1037
+ interface ProgressProps extends ViewProps {
1038
+ value?: number;
1039
+ max?: number;
1040
+ animated?: boolean;
1041
+ style?: StyleProp<ViewStyle>;
1042
+ indicatorStyle?: StyleProp<ViewStyle>;
1043
+ }
1044
+ declare function Progress({ value, max, animated, style, indicatorStyle, ...props }: ProgressProps): React.JSX.Element;
1045
+
1046
+ interface RadioGroupContextValue {
1047
+ value?: string;
1048
+ disabled: boolean;
1049
+ onValueChange?: (value: string) => void;
1050
+ }
1051
+ interface RadioGroupProps extends ViewProps {
1052
+ value?: string;
1053
+ defaultValue?: string;
1054
+ disabled?: boolean;
1055
+ onValueChange?: (value: string) => void;
1056
+ style?: StyleProp<ViewStyle>;
1057
+ }
1058
+ declare function RadioGroup({ value, defaultValue, disabled, onValueChange, style, ...props }: RadioGroupProps): React.JSX.Element;
1059
+ interface RadioGroupItemProps extends Omit<PressableProps, "style"> {
1060
+ value: string;
1061
+ label?: React.ReactNode;
1062
+ description?: React.ReactNode;
1063
+ disabled?: boolean;
1064
+ style?: StyleProp<ViewStyle>;
1065
+ }
1066
+ declare function RadioGroupItem({ value, label, description, disabled, style, ...props }: RadioGroupItemProps): React.JSX.Element;
1067
+
1068
+ declare const Sheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<BottomSheetMethods>>;
1069
+
1070
+ interface SheetHeaderProps extends ViewProps {
1071
+ style?: StyleProp<ViewStyle>;
1072
+ }
1073
+ declare function SheetHeader({ style, ...props }: SheetHeaderProps): React.JSX.Element;
1074
+ interface SheetTitleProps {
1075
+ children?: React.ReactNode;
1076
+ style?: StyleProp<TextStyle>;
1077
+ }
1078
+ declare function SheetTitle({ children, style }: SheetTitleProps): React.JSX.Element;
1079
+ interface SheetDescriptionProps {
1080
+ children?: React.ReactNode;
1081
+ style?: StyleProp<TextStyle>;
1082
+ }
1083
+ declare function SheetDescription({ children, style }: SheetDescriptionProps): React.JSX.Element;
1084
+ interface SheetFooterProps extends ViewProps {
1085
+ style?: StyleProp<ViewStyle>;
1086
+ }
1087
+ declare function SheetFooter({ style, ...props }: SheetFooterProps): React.JSX.Element;
1088
+
1089
+ interface SkeletonProps extends ViewProps {
1090
+ animated?: boolean;
1091
+ radius?: keyof ReturnType<typeof useTheme>["radii"];
1092
+ style?: StyleProp<ViewStyle>;
1093
+ }
1094
+ declare function Skeleton({ animated, radius, style, ...props }: SkeletonProps): React.JSX.Element;
1095
+
1096
+ type SliderTone = "primary" | "secondary" | "accent" | "success" | "warning" | "danger" | "info";
1097
+ interface SliderProps extends Omit<ViewProps, "style"> {
1098
+ value?: number;
1099
+ defaultValue?: number;
1100
+ min?: number;
1101
+ max?: number;
1102
+ step?: number;
1103
+ disabled?: boolean;
1104
+ tone?: SliderTone;
1105
+ onValueChange?: (value: number) => void;
1106
+ onSlidingStart?: (value: number) => void;
1107
+ onSlidingComplete?: (value: number) => void;
1108
+ style?: StyleProp<ViewStyle>;
1109
+ trackStyle?: StyleProp<ViewStyle>;
1110
+ activeTrackStyle?: StyleProp<ViewStyle>;
1111
+ thumbStyle?: StyleProp<ViewStyle>;
1112
+ }
1113
+ declare function Slider({ value, defaultValue, min, max, step, disabled, tone, onValueChange, onSlidingStart, onSlidingComplete, style, trackStyle, activeTrackStyle, thumbStyle, onLayout, ...props }: SliderProps): React.JSX.Element;
1114
+
1115
+ interface StepperProps extends ViewProps {
1116
+ value?: number;
1117
+ defaultValue?: number;
1118
+ min?: number;
1119
+ max?: number;
1120
+ step?: number;
1121
+ disabled?: boolean;
1122
+ onValueChange?: (value: number) => void;
1123
+ decrementIcon?: RenderIcon;
1124
+ incrementIcon?: RenderIcon;
1125
+ style?: StyleProp<ViewStyle>;
1126
+ }
1127
+ declare function Stepper({ value, defaultValue, min, max, step, disabled, onValueChange, decrementIcon, incrementIcon, style, ...props }: StepperProps): React.JSX.Element;
1128
+
1129
+ type SwitchSize = "sm" | "md" | "lg";
1130
+ type SwitchTone = "primary" | "secondary" | "accent" | "success" | "warning" | "danger" | "info";
1131
+ interface SwitchRenderThumbParams {
1132
+ checked: boolean;
1133
+ disabled: boolean;
1134
+ invalid: boolean;
1135
+ color: string;
1136
+ size: number;
1137
+ }
1138
+ type SwitchThumbContent = React.ReactNode | ((params: SwitchRenderThumbParams) => React.ReactNode);
1139
+ interface SwitchProps extends Omit<PressableProps, "onPress" | "style" | "children"> {
1140
+ value?: boolean;
1141
+ defaultValue?: boolean;
1142
+ onValueChange?: (value: boolean) => void;
1143
+ disabled?: boolean;
1144
+ invalid?: boolean;
1145
+ size?: SwitchSize;
1146
+ tone?: SwitchTone;
1147
+ style?: StyleProp<ViewStyle>;
1148
+ trackStyle?: StyleProp<ViewStyle>;
1149
+ thumbStyle?: StyleProp<ViewStyle>;
1150
+ activeIcon?: RenderIcon;
1151
+ inactiveIcon?: RenderIcon;
1152
+ thumbContent?: SwitchThumbContent;
1153
+ activeThumbContent?: SwitchThumbContent;
1154
+ inactiveThumbContent?: SwitchThumbContent;
1155
+ renderThumb?: (params: SwitchRenderThumbParams) => React.ReactNode;
1156
+ onPress?: (event: GestureResponderEvent) => void;
1157
+ }
1158
+ declare function Switch({ value, defaultValue, onValueChange, disabled, invalid, size, tone, style, trackStyle, thumbStyle, activeIcon, inactiveIcon, thumbContent, activeThumbContent, inactiveThumbContent, renderThumb, onPress, onPressIn, onPressOut, accessibilityLabel, ...props }: SwitchProps): React.JSX.Element;
1159
+
1160
+ interface TabsContextValue {
1161
+ value?: string;
1162
+ onValueChange?: (value: string) => void;
1163
+ }
1164
+ interface TabsProps extends ViewProps {
1165
+ value?: string;
1166
+ defaultValue?: string;
1167
+ onValueChange?: (value: string) => void;
1168
+ style?: StyleProp<ViewStyle>;
1169
+ }
1170
+ declare function Tabs({ value, defaultValue, onValueChange, style, ...props }: TabsProps): React.JSX.Element;
1171
+ interface TabsListProps extends ViewProps {
1172
+ style?: StyleProp<ViewStyle>;
1173
+ }
1174
+ declare function TabsList({ style, ...props }: TabsListProps): React.JSX.Element;
1175
+ interface TabsTriggerProps extends Omit<PressableProps, "style"> {
1176
+ value: string;
1177
+ children?: React.ReactNode;
1178
+ style?: StyleProp<ViewStyle>;
1179
+ }
1180
+ declare function TabsTrigger({ value, children, style, disabled, ...props }: TabsTriggerProps): React.JSX.Element;
1181
+ interface TabsContentProps extends ViewProps {
1182
+ value: string;
1183
+ forceMount?: boolean;
1184
+ style?: StyleProp<ViewStyle>;
1185
+ }
1186
+ declare function TabsContent({ value, forceMount, style, ...props }: TabsContentProps): React.JSX.Element | null;
1187
+
1188
+ interface TextProps extends TextProps$1 {
1189
+ variant?: keyof ReturnType<typeof useTheme>["typography"];
1190
+ color?: ThemeColorName;
1191
+ align?: TextStyle["textAlign"];
1192
+ weight?: TextStyle["fontWeight"];
1193
+ }
1194
+ declare function Text({ variant, color, align, weight, style, ...props }: TextProps): React.JSX.Element;
1195
+
1196
+ interface TextareaProps extends Omit<InputProps, "multiline"> {
1197
+ minRows?: number;
1198
+ }
1199
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<TextInput>>;
1200
+
1201
+ interface SelectOption {
1202
+ value: string;
1203
+ label: string;
1204
+ description?: string;
1205
+ disabled?: boolean;
1206
+ }
1207
+ interface SelectProps {
1208
+ value?: string;
1209
+ defaultValue?: string;
1210
+ options: SelectOption[];
1211
+ placeholder?: string;
1212
+ disabled?: boolean;
1213
+ title?: string;
1214
+ onValueChange?: (value: string) => void;
1215
+ chevronIcon?: RenderIcon;
1216
+ checkIcon?: RenderIcon;
1217
+ style?: StyleProp<ViewStyle>;
1218
+ }
1219
+ declare function Select({ value, defaultValue, options, placeholder, disabled, title, onValueChange, chevronIcon, checkIcon, style, }: SelectProps): React.JSX.Element;
1220
+
1221
+ interface TableProps extends ViewProps {
1222
+ horizontal?: boolean;
1223
+ style?: StyleProp<ViewStyle>;
1224
+ }
1225
+ interface TableRowProps extends ViewProps {
1226
+ style?: StyleProp<ViewStyle>;
1227
+ }
1228
+ interface TableHeadProps extends ViewProps {
1229
+ children?: React.ReactNode;
1230
+ style?: StyleProp<ViewStyle>;
1231
+ }
1232
+ interface TableCellProps extends ViewProps {
1233
+ children?: React.ReactNode;
1234
+ style?: StyleProp<ViewStyle>;
1235
+ }
1236
+ declare function Table({ horizontal, style, children, ...props }: TableProps): React.JSX.Element;
1237
+ declare function TableRow({ style, ...props }: TableRowProps): React.JSX.Element;
1238
+ declare function TableHead({ children, style, ...props }: TableHeadProps): React.JSX.Element;
1239
+ declare function TableCell({ children, style, ...props }: TableCellProps): React.JSX.Element;
1240
+
1241
+ interface TimelineProps extends ViewProps {
1242
+ style?: StyleProp<ViewStyle>;
1243
+ }
1244
+ interface TimelineItemProps extends ViewProps {
1245
+ active?: boolean;
1246
+ style?: StyleProp<ViewStyle>;
1247
+ }
1248
+ interface TimelineTitleProps {
1249
+ children?: React.ReactNode;
1250
+ }
1251
+ interface TimelineDescriptionProps {
1252
+ children?: React.ReactNode;
1253
+ }
1254
+ declare function Timeline({ style, ...props }: TimelineProps): React.JSX.Element;
1255
+ declare function TimelineItem({ active, style, children, ...props }: TimelineItemProps): React.JSX.Element;
1256
+ declare function TimelineTitle({ children }: TimelineTitleProps): React.JSX.Element;
1257
+ declare function TimelineDescription({ children }: TimelineDescriptionProps): React.JSX.Element;
1258
+
1259
+ interface FormFieldContextValue {
1260
+ invalid: boolean;
1261
+ disabled: boolean;
1262
+ required: boolean;
1263
+ }
1264
+ declare function useFormField(): FormFieldContextValue | null;
1265
+ interface FormFieldProps extends ViewProps {
1266
+ invalid?: boolean;
1267
+ disabled?: boolean;
1268
+ required?: boolean;
1269
+ style?: StyleProp<ViewStyle>;
1270
+ }
1271
+ declare function FormField({ invalid, disabled, required, style, ...props }: FormFieldProps): React.JSX.Element;
1272
+ interface FormLabelProps extends LabelProps {
1273
+ }
1274
+ declare function FormLabel(props: FormLabelProps): React.JSX.Element;
1275
+ interface FormControlProps extends ViewProps {
1276
+ style?: StyleProp<ViewStyle>;
1277
+ }
1278
+ declare function FormControl({ style, ...props }: FormControlProps): React.JSX.Element;
1279
+ interface FormDescriptionProps {
1280
+ children?: React.ReactNode;
1281
+ style?: StyleProp<TextStyle>;
1282
+ }
1283
+ declare function FormDescription({ children, style }: FormDescriptionProps): React.JSX.Element;
1284
+ interface FormMessageProps {
1285
+ children?: React.ReactNode;
1286
+ style?: StyleProp<TextStyle>;
1287
+ }
1288
+ declare function FormMessage({ children, style }: FormMessageProps): React.JSX.Element | null;
1289
+
1290
+ type FloatingActionButtonSize = "sm" | "md" | "lg";
1291
+ type FloatingActionButtonPlacement = "none" | "bottom-end" | "bottom-start" | "top-end" | "top-start";
1292
+ interface FloatingActionButtonProps extends Omit<PressableProps, "children" | "style"> {
1293
+ icon?: RenderIcon;
1294
+ label?: React.ReactNode;
1295
+ extended?: boolean;
1296
+ size?: FloatingActionButtonSize;
1297
+ tone?: ButtonTone;
1298
+ variant?: Exclude<ButtonVariant, "danger">;
1299
+ placement?: FloatingActionButtonPlacement;
1300
+ offset?: number;
1301
+ visible?: boolean;
1302
+ animated?: boolean;
1303
+ loading?: boolean;
1304
+ fullWidth?: boolean;
1305
+ style?: StyleProp<ViewStyle>;
1306
+ textStyle?: StyleProp<TextStyle>;
1307
+ }
1308
+ declare function FloatingActionButton({ icon, label, extended, size, tone, variant, placement, offset, visible, animated, loading, disabled, fullWidth, style, textStyle, onPressIn, onPressOut, ...props }: FloatingActionButtonProps): React.JSX.Element | null;
1309
+
1310
+ type ToastTone = "default" | "success" | "warning" | "danger" | "info";
1311
+ type ToastPlacement = "top" | "bottom";
1312
+ interface ToastOptions {
1313
+ id?: string;
1314
+ title?: React.ReactNode;
1315
+ description?: React.ReactNode;
1316
+ tone?: ToastTone;
1317
+ icon?: RenderIcon;
1318
+ closeIcon?: RenderIcon;
1319
+ action?: ToastAction;
1320
+ duration?: number;
1321
+ }
1322
+ interface ToastRecord extends Required<Pick<ToastOptions, "id">> {
1323
+ title?: React.ReactNode;
1324
+ description?: React.ReactNode;
1325
+ tone: ToastTone;
1326
+ icon?: RenderIcon;
1327
+ closeIcon?: RenderIcon;
1328
+ action?: ToastAction;
1329
+ duration: number;
1330
+ open: boolean;
1331
+ }
1332
+ interface ToastContextValue {
1333
+ show: (options: ToastOptions) => string;
1334
+ dismiss: (id?: string) => void;
1335
+ update: (id: string, options: Omit<ToastOptions, "id">) => void;
1336
+ }
1337
+ declare const ToastContext: React.Context<ToastContextValue | null>;
1338
+ interface ToastProviderProps {
1339
+ children: React.ReactNode;
1340
+ placement?: ToastPlacement;
1341
+ offset?: number;
1342
+ duration?: number;
1343
+ maxToasts?: number;
1344
+ swipeToDismiss?: boolean;
1345
+ renderToast?: (toast: ToastRecord, controls: ToastContextValue) => React.ReactNode;
1346
+ viewportStyle?: StyleProp<ViewStyle>;
1347
+ }
1348
+ declare function ToastProvider({ children, placement, offset, duration, maxToasts, swipeToDismiss, renderToast, viewportStyle, }: ToastProviderProps): React.JSX.Element;
1349
+ declare function useToast(): ToastContextValue;
1350
+ interface ToastViewportProps extends ViewProps {
1351
+ placement?: ToastPlacement;
1352
+ offset?: number;
1353
+ style?: StyleProp<ViewStyle>;
1354
+ }
1355
+ declare function ToastViewport({ placement, offset, style, ...props }: ToastViewportProps): React.JSX.Element;
1356
+ interface ToastProps extends ViewProps {
1357
+ toast: ToastRecord;
1358
+ placement?: ToastPlacement;
1359
+ swipeToDismiss?: boolean;
1360
+ onDismiss?: () => void;
1361
+ onCloseComplete?: () => void;
1362
+ style?: StyleProp<ViewStyle>;
1363
+ }
1364
+ declare function Toast({ toast, placement, swipeToDismiss, onDismiss, onCloseComplete, style, ...props }: ToastProps): React.JSX.Element;
1365
+ interface ToastContentProps extends ViewProps {
1366
+ style?: StyleProp<ViewStyle>;
1367
+ }
1368
+ declare function ToastContent({ style, ...props }: ToastContentProps): React.JSX.Element;
1369
+ interface ToastTitleProps {
1370
+ children?: React.ReactNode;
1371
+ style?: StyleProp<TextStyle>;
1372
+ }
1373
+ declare function ToastTitle({ children, style }: ToastTitleProps): React.JSX.Element;
1374
+ interface ToastDescriptionProps {
1375
+ children?: React.ReactNode;
1376
+ style?: StyleProp<TextStyle>;
1377
+ }
1378
+ declare function ToastDescription({ children, style }: ToastDescriptionProps): React.JSX.Element;
1379
+ interface ToastActionProps {
1380
+ label: string;
1381
+ onPress?: () => void;
1382
+ }
1383
+ interface ToastAction {
1384
+ label: string;
1385
+ onPress: () => void;
1386
+ }
1387
+ declare function ToastAction({ label, onPress }: ToastActionProps): React.JSX.Element;
1388
+ interface ToastCloseProps {
1389
+ onPress?: () => void;
1390
+ icon?: RenderIcon;
1391
+ }
1392
+ declare function ToastClose({ onPress, icon }: ToastCloseProps): React.JSX.Element;
1393
+
1394
+ interface CarouselProps {
1395
+ itemWidth?: number;
1396
+ onIndexChange?: (index: number) => void;
1397
+ showPagination?: boolean;
1398
+ style?: StyleProp<ViewStyle>;
1399
+ children?: React.ReactNode;
1400
+ }
1401
+ interface CarouselContextProps {
1402
+ scrollX: SharedValue<number>;
1403
+ itemWidth: number;
1404
+ activeIndex: number;
1405
+ totalItems: number;
1406
+ setTotalItems: React.Dispatch<React.SetStateAction<number>>;
1407
+ scrollPrev: () => void;
1408
+ scrollNext: () => void;
1409
+ canScrollPrev: boolean;
1410
+ canScrollNext: boolean;
1411
+ scrollViewRef: React.RefObject<any>;
1412
+ setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
1413
+ }
1414
+ declare function useCarousel(): CarouselContextProps;
1415
+ declare function Carousel({ itemWidth, onIndexChange, showPagination, style, children, ...props }: CarouselProps): React.JSX.Element;
1416
+ interface CarouselContentProps {
1417
+ style?: StyleProp<ViewStyle>;
1418
+ children?: React.ReactNode;
1419
+ }
1420
+ declare function CarouselContent({ style, children }: CarouselContentProps): React.JSX.Element;
1421
+ interface CarouselItemProps {
1422
+ index?: number;
1423
+ style?: StyleProp<ViewStyle>;
1424
+ children?: React.ReactNode;
1425
+ }
1426
+ declare function CarouselItem({ index, style, children, ...props }: CarouselItemProps): React.JSX.Element;
1427
+ interface CarouselButtonProps {
1428
+ style?: StyleProp<ViewStyle>;
1429
+ icon?: RenderIcon;
1430
+ }
1431
+ declare function CarouselPrevious({ style, icon }: CarouselButtonProps): React.JSX.Element | null;
1432
+ declare function CarouselNext({ style, icon }: CarouselButtonProps): React.JSX.Element | null;
1433
+
1434
+ interface CheckboxProps {
1435
+ checked?: boolean;
1436
+ onCheckedChange?: (checked: boolean) => void;
1437
+ disabled?: boolean;
1438
+ invalid?: boolean;
1439
+ style?: StyleProp<ViewStyle>;
1440
+ icon?: RenderIcon;
1441
+ }
1442
+ declare function Checkbox({ checked, onCheckedChange, disabled, invalid, style, icon, ...props }: CheckboxProps): React.JSX.Element;
1443
+
1444
+ interface CollapsibleProps {
1445
+ open?: boolean;
1446
+ defaultOpen?: boolean;
1447
+ onOpenChange?: (open: boolean) => void;
1448
+ children?: React.ReactNode;
1449
+ style?: StyleProp<ViewStyle>;
1450
+ }
1451
+ interface CollapsibleContextProps {
1452
+ open: boolean;
1453
+ toggle: () => void;
1454
+ }
1455
+ declare function useCollapsible(): CollapsibleContextProps;
1456
+ declare function Collapsible({ open: controlledOpen, defaultOpen, onOpenChange, children, style, ...props }: CollapsibleProps): React.JSX.Element;
1457
+ interface CollapsibleTriggerProps {
1458
+ children?: React.ReactNode;
1459
+ style?: StyleProp<ViewStyle>;
1460
+ }
1461
+ declare function CollapsibleTrigger({ children, style, ...props }: CollapsibleTriggerProps): React.JSX.Element;
1462
+ interface CollapsibleContentProps {
1463
+ children?: React.ReactNode;
1464
+ style?: StyleProp<ViewStyle>;
1465
+ }
1466
+ declare function CollapsibleContent({ children, style, ...props }: CollapsibleContentProps): React.JSX.Element;
1467
+
1468
+ interface ComboboxProps {
1469
+ value?: string;
1470
+ onValueChange?: (value: string) => void;
1471
+ open?: boolean;
1472
+ onOpenChange?: (open: boolean) => void;
1473
+ children?: React.ReactNode;
1474
+ }
1475
+ interface ComboboxContextProps {
1476
+ value: string;
1477
+ onValueChange: (value: string) => void;
1478
+ open: boolean;
1479
+ setOpen: (open: boolean) => void;
1480
+ inputValue: string;
1481
+ setInputValue: (val: string) => void;
1482
+ triggerRef: React.RefObject<any>;
1483
+ triggerLayout: {
1484
+ pageX: number;
1485
+ pageY: number;
1486
+ width: number;
1487
+ height: number;
1488
+ };
1489
+ measureTrigger: () => void;
1490
+ colors: ThemeColors;
1491
+ }
1492
+ declare function useCombobox(): ComboboxContextProps;
1493
+ declare function Combobox({ value: controlledValue, onValueChange, open: controlledOpen, onOpenChange, children, }: ComboboxProps): React.JSX.Element;
1494
+ interface ComboboxInputProps {
1495
+ placeholder?: string;
1496
+ style?: StyleProp<ViewStyle>;
1497
+ inputStyle?: StyleProp<TextStyle>;
1498
+ disabled?: boolean;
1499
+ chevronIcon?: RenderIcon;
1500
+ }
1501
+ declare function ComboboxInput({ placeholder, style, inputStyle, disabled, chevronIcon, }: ComboboxInputProps): React.JSX.Element;
1502
+ interface ComboboxContentProps {
1503
+ children?: React.ReactNode;
1504
+ style?: StyleProp<ViewStyle>;
1505
+ overlayStyle?: StyleProp<ViewStyle>;
1506
+ modalProps?: Omit<ModalProps, "visible" | "transparent" | "animationType" | "onRequestClose">;
1507
+ }
1508
+ declare function ComboboxContent({ children, style, overlayStyle, modalProps, }: ComboboxContentProps): React.JSX.Element | null;
1509
+ interface ComboboxListProps {
1510
+ children?: React.ReactNode;
1511
+ style?: StyleProp<ViewStyle>;
1512
+ }
1513
+ declare function ComboboxList({ children, style }: ComboboxListProps): React.JSX.Element;
1514
+ interface ComboboxItemProps {
1515
+ value: string;
1516
+ label: string;
1517
+ children?: React.ReactNode;
1518
+ style?: StyleProp<ViewStyle>;
1519
+ checkIcon?: RenderIcon;
1520
+ }
1521
+ declare function ComboboxItem({ value, label, children, style, checkIcon, }: ComboboxItemProps): React.JSX.Element | null;
1522
+ interface ComboboxEmptyProps {
1523
+ children?: React.ReactNode;
1524
+ style?: StyleProp<ViewStyle>;
1525
+ }
1526
+ declare function ComboboxEmpty({ children, style, }: ComboboxEmptyProps): React.JSX.Element;
1527
+
1528
+ interface ContextMenuProps {
1529
+ children?: React.ReactNode;
1530
+ }
1531
+ interface ContextMenuContextProps {
1532
+ open: boolean;
1533
+ setOpen: (open: boolean) => void;
1534
+ triggerLayout: {
1535
+ pageX: number;
1536
+ pageY: number;
1537
+ width: number;
1538
+ height: number;
1539
+ };
1540
+ setTriggerLayout: (layout: any) => void;
1541
+ colors: ThemeColors;
1542
+ }
1543
+ declare function useContextMenu(): ContextMenuContextProps;
1544
+ declare function ContextMenu({ children }: ContextMenuProps): React.JSX.Element;
1545
+ interface ContextMenuTriggerProps {
1546
+ children?: React.ReactNode;
1547
+ style?: StyleProp<ViewStyle>;
1548
+ disabled?: boolean;
1549
+ }
1550
+ declare function ContextMenuTrigger({ children, style, disabled, }: ContextMenuTriggerProps): React.JSX.Element;
1551
+ interface ContextMenuContentProps {
1552
+ children?: React.ReactNode;
1553
+ style?: StyleProp<ViewStyle>;
1554
+ overlayStyle?: StyleProp<ViewStyle>;
1555
+ modalProps?: Omit<ModalProps, "visible" | "transparent" | "animationType" | "onRequestClose">;
1556
+ width?: number;
1557
+ }
1558
+ declare function ContextMenuContent({ children, style, overlayStyle, modalProps, width, }: ContextMenuContentProps): React.JSX.Element | null;
1559
+ interface ContextMenuItemProps {
1560
+ onPress?: () => void;
1561
+ children?: React.ReactNode;
1562
+ variant?: "default" | "destructive";
1563
+ disabled?: boolean;
1564
+ style?: StyleProp<ViewStyle>;
1565
+ }
1566
+ declare function ContextMenuItem({ onPress, children, variant, disabled, style, }: ContextMenuItemProps): React.JSX.Element;
1567
+ interface ContextMenuSeparatorProps {
1568
+ style?: StyleProp<ViewStyle>;
1569
+ }
1570
+ declare function ContextMenuSeparator({ style }: ContextMenuSeparatorProps): React.JSX.Element;
1571
+ interface ContextMenuLabelProps {
1572
+ children?: React.ReactNode;
1573
+ style?: StyleProp<ViewStyle>;
1574
+ }
1575
+ declare function ContextMenuLabel({ children, style }: ContextMenuLabelProps): React.JSX.Element;
1576
+ interface ContextMenuCheckboxItemProps {
1577
+ checked?: boolean;
1578
+ onCheckedChange?: (checked: boolean) => void;
1579
+ children?: React.ReactNode;
1580
+ disabled?: boolean;
1581
+ style?: StyleProp<ViewStyle>;
1582
+ checkIcon?: RenderIcon;
1583
+ }
1584
+ declare function ContextMenuCheckboxItem({ checked, onCheckedChange, children, disabled, style, checkIcon, }: ContextMenuCheckboxItemProps): React.JSX.Element;
1585
+ interface ContextMenuShortcutProps {
1586
+ children?: React.ReactNode;
1587
+ style?: StyleProp<TextStyle>;
1588
+ }
1589
+ declare function ContextMenuShortcut({ children, style, }: ContextMenuShortcutProps): React.JSX.Element;
1590
+
1591
+ declare function withAlpha(color: string, alpha: number): string;
1592
+
1593
+ export { Accordion, type AccordionAnimatedContentProps, type AccordionAnimatedIndicatorProps, type AccordionAnimationComponents, type AccordionIndicator, type AccordionIndicatorProps, type AccordionItem, type AccordionProps, Alert, type AlertAction, AlertDialog, type AlertDialogProps, type AlertDialogTone, type AlertProps, type AlertTone, type AlertVariant, AspectRatio, type AspectRatioProps, Attachment, type AttachmentDescriptionTone, type AttachmentLayout, type AttachmentProps, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, AvatarGroupCount, type AvatarGroupCountProps, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, BottomSheet, type BottomSheetProps, Box, type BoxProps, Breadcrumb, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Bubble, type BubbleAlign, BubbleContent, type BubbleContentProps, BubbleGroup, type BubbleGroupProps, type BubbleProps, BubbleReactions, type BubbleReactionsProps, type BubbleVariant, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, ButtonGroupSeparator, type ButtonGroupSeparatorProps, ButtonGroupText, type ButtonGroupTextProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonTone, type ButtonVariant, Calendar, type CalendarDayData, type CalendarDayMarking, type CalendarProps, Card, type CardProps, Carousel, type CarouselButtonProps, CarouselContent, type CarouselContentProps, CarouselItem, type CarouselItemProps, CarouselNext, CarouselPrevious, type CarouselProps, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, type ColorSchemePreference, Combobox, ComboboxContent, type ComboboxContentProps, ComboboxEmpty, type ComboboxEmptyProps, ComboboxInput, type ComboboxInputProps, ComboboxItem, type ComboboxItemProps, ComboboxList, type ComboboxListProps, type ComboboxProps, Command, type CommandItem, type CommandProps, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, type ContextMenuContentProps, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, type ContextMenuProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuShortcut, type ContextMenuShortcutProps, ContextMenuTrigger, type ContextMenuTriggerProps, DataList, DataListItem, type DataListItemProps, DataListLabel, type DataListLabelProps, type DataListProps, DataListValue, type DataListValueProps, type DeepPartial, Divider, type DividerProps, DropdownMenu, type DropdownMenuAlign, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemVariant, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuShortcut, type DropdownMenuShortcutProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Empty, EmptyContent, type EmptyContentProps, EmptyDescription, type EmptyDescriptionProps, EmptyHeader, type EmptyHeaderProps, EmptyMedia, type EmptyMediaProps, type EmptyMediaVariant, type EmptyProps, EmptyTitle, type EmptyTitleProps, FloatingActionButton, type FloatingActionButtonPlacement, type FloatingActionButtonProps, type FloatingActionButtonSize, FormControl, type FormControlProps, FormDescription, type FormDescriptionProps, FormField, type FormFieldContextValue, type FormFieldProps, FormLabel, type FormLabelProps, FormMessage, type FormMessageProps, HoverCard, type HoverCardAlign, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerMode, type HoverCardTriggerProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonTone, type IconButtonVariant, Input, InputGroup, InputGroupAddon, type InputGroupAddonAlign, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupButtonSize, InputGroupInput, type InputGroupInputProps, type InputGroupOrientation, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps, InputOTP, InputOTPContext, type InputOTPContextValue, InputOTPGroup, type InputOTPGroupProps, type InputOTPProps, InputOTPSeparator, type InputOTPSeparatorProps, InputOTPSlot, type InputOTPSlotProps, type InputOTPSlotState, type InputProps, type InputSize, type InputType, Item, ItemActions, type ItemActionsProps, ItemContent, type ItemContentProps, ItemDescription, type ItemDescriptionProps, ItemFooter, type ItemFooterProps, ItemGroup, type ItemGroupProps, ItemHeader, type ItemHeaderProps, ItemMedia, type ItemMediaProps, type ItemMediaVariant, type ItemProps, ItemSeparator, type ItemSeparatorProps, type ItemSize, ItemTitle, type ItemTitleProps, type ItemVariant, KeyboardAvoiding, type KeyboardAvoidingProps, Label, type LabelProps, MetricCard, type MetricCardProps, Pagination, type PaginationProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Progress, type ProgressProps, RadioGroup, type RadioGroupContextValue, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type RenderIcon, Select, type SelectOption, type SelectProps, Sheet, SheetDescription, type SheetDescriptionProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, SheetTitle, type SheetTitleProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderTone, Stepper, type StepperProps, Switch, type SwitchProps, Table, TableCell, type TableCellProps, TableHead, type TableHeadProps, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, type TabsContentProps, type TabsContextValue, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Text, type TextProps, Textarea, type TextareaProps, type Theme, type ThemeColorName, type ThemeColors, type ThemeComponents, type ThemeContextValue, type ThemeFonts, type ThemeInput, type ThemeMode, type ThemeNamedStyles, ThemeProvider, type ThemeProviderProps, type ThemeRadii, type ThemeShadow, type ThemeShadows, type ThemeSpacing, type ThemeStorage, type ThemeStyleFactory, Timeline, TimelineDescription, type TimelineDescriptionProps, TimelineItem, type TimelineItemProps, type TimelineProps, TimelineTitle, type TimelineTitleProps, Toast, ToastAction, ToastAction as ToastActionConfig, type ToastActionProps, ToastClose, type ToastCloseProps, ToastContent, type ToastContentProps, ToastContext, type ToastContextValue, ToastDescription, type ToastDescriptionProps, type ToastOptions, type ToastPlacement, type ToastProps, ToastProvider, type ToastProviderProps, type ToastRecord, ToastTitle, type ToastTitleProps, type ToastTone, ToastViewport, type ToastViewportProps, type TypographyVariant, createTheme, darkTheme, defaultThemes, fonts, lightTheme, mergeTheme, radii, spacing, typography, useCarousel, useCollapsible, useCombobox, useContextMenu, useDropdownMenu, useFormField, useHoverCard, useTheme, useThemeStyles, useToast, withAlpha };