@blinkdotnew/mobile-ui 0.1.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,104 +1,20 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React, { ReactNode } from 'react';
3
- import { ViewStyle, TextStyle, ImageStyle, ImageSourcePropType, DimensionValue, PressableProps, EasingFunction, StyleProp } from 'react-native';
3
+ import { vars } from 'nativewind';
4
+ import { ClassValue } from 'clsx';
5
+ import { PressableProps, ViewStyle, TextProps, ImageSourcePropType, TextInputProps, EasingFunction, ScrollViewProps, Animated } from 'react-native';
6
+ import { ActionSheetRef } from 'react-native-actions-sheet';
7
+ import { Ionicons } from '@expo/vector-icons';
4
8
 
5
- interface ColorPalette {
6
- primary: string;
7
- primaryDark: string;
8
- primaryLight: string;
9
- primaryTint: string;
10
- accent: string;
11
- background: string;
12
- surface: string;
13
- surfaceElevated: string;
14
- card: string;
15
- text: string;
16
- textSecondary: string;
17
- textMuted: string;
18
- textInverse: string;
19
- border: string;
20
- borderLight: string;
21
- error: string;
22
- errorLight: string;
23
- success: string;
24
- successLight: string;
25
- warning: string;
26
- warningLight: string;
27
- overlay: string;
28
- highlight: string;
29
- }
30
- interface SpacingScale {
31
- xs: number;
32
- sm: number;
33
- md: number;
34
- lg: number;
35
- xl: number;
36
- xxl: number;
37
- xxxl: number;
38
- }
39
- interface TypographyStyle {
40
- fontSize: number;
41
- lineHeight: number;
42
- fontWeight: '400' | '500' | '600' | '700' | '800';
43
- letterSpacing?: number;
44
- }
45
- interface TypographyScale {
46
- display: TypographyStyle;
47
- h1: TypographyStyle;
48
- h2: TypographyStyle;
49
- h3: TypographyStyle;
50
- h4: TypographyStyle;
51
- body: TypographyStyle;
52
- bodySmall: TypographyStyle;
53
- caption: TypographyStyle;
54
- small: TypographyStyle;
55
- tiny: TypographyStyle;
56
- }
57
- interface ShadowStyle {
58
- shadowColor: string;
59
- shadowOffset: {
60
- width: number;
61
- height: number;
62
- };
63
- shadowOpacity: number;
64
- shadowRadius: number;
65
- elevation: number;
66
- }
67
- interface ShadowScale {
68
- none: ShadowStyle;
69
- xs: ShadowStyle;
70
- sm: ShadowStyle;
71
- md: ShadowStyle;
72
- lg: ShadowStyle;
73
- xl: ShadowStyle;
74
- }
75
- interface BorderRadiusScale {
76
- xs: number;
77
- sm: number;
78
- md: number;
79
- lg: number;
80
- xl: number;
81
- xxl: number;
82
- full: number;
83
- }
84
- interface ThemeTokens {
85
- colors: ColorPalette;
86
- dark: ColorPalette;
87
- spacing: SpacingScale;
88
- typography: TypographyScale;
89
- shadows: ShadowScale;
90
- borderRadius: BorderRadiusScale;
91
- touchTargets: {
92
- ios: number;
93
- android: number;
94
- };
95
- }
96
9
  type PaletteName = 'ocean' | 'coral' | 'violet' | 'midnight' | 'rose' | 'neon';
97
10
  type ColorScheme = 'light' | 'dark' | 'system';
11
+ interface PaletteSet {
12
+ light: ReturnType<typeof vars>;
13
+ dark: ReturnType<typeof vars>;
14
+ }
15
+ declare const palettes: Record<PaletteName, PaletteSet>;
98
16
 
99
17
  interface BlinkMobileUIContextValue {
100
- tokens: ThemeTokens;
101
- colors: ColorPalette;
102
18
  palette: PaletteName;
103
19
  colorScheme: ColorScheme;
104
20
  isDark: boolean;
@@ -106,361 +22,786 @@ interface BlinkMobileUIContextValue {
106
22
  setColorScheme: (s: ColorScheme) => void;
107
23
  }
108
24
  declare function useBlinkMobileUI(): BlinkMobileUIContextValue;
109
- declare function useThemeColors(): ColorPalette;
110
- interface Props {
25
+ interface BlinkMobileUIProviderProps {
111
26
  children: React.ReactNode;
112
27
  palette?: PaletteName;
113
28
  colorScheme?: ColorScheme;
114
29
  }
115
- declare function BlinkMobileUIProvider({ children, palette: initialPalette, colorScheme: initialScheme, }: Props): react_jsx_runtime.JSX.Element;
30
+ declare function BlinkMobileUIProvider({ children, palette: initPalette, colorScheme: initScheme, }: BlinkMobileUIProviderProps): react_jsx_runtime.JSX.Element;
116
31
 
117
- declare const palettes: Record<string, ThemeTokens>;
118
- declare const defaultPalette: ThemeTokens;
32
+ declare function cn(...inputs: ClassValue[]): string;
119
33
 
120
- type Style = ViewStyle | TextStyle | ImageStyle;
121
- declare function mergeStyles(...styles: (Style | Style[] | undefined | null | false)[]): Style;
122
-
123
- declare function applyShadow(shadow: ShadowStyle): object;
124
- declare const shadowPresets: {
125
- card: (isDark?: boolean) => object;
126
- elevated: (isDark?: boolean) => object;
34
+ declare function useAnimColors(): {
35
+ text: string;
36
+ placeholder: string;
37
+ bg: string;
38
+ border: string;
39
+ primary: string;
40
+ highlight: string;
41
+ error: string;
42
+ secondary: string;
43
+ icon: string;
127
44
  };
128
45
 
129
- declare const isIOS: boolean;
130
- declare const isAndroid: boolean;
131
- declare const isWeb: boolean;
132
- declare const SCREEN_WIDTH: number;
133
- declare const SCREEN_HEIGHT: number;
134
- declare const platformTouchTarget: number;
135
- declare function platformValue<T>(ios: T, android: T, web?: T): T;
136
- declare const hapticAvailable: boolean;
137
-
138
- type VariantKey = 'display' | 'h1' | 'h2' | 'h3' | 'h4' | 'body' | 'bodySmall' | 'caption' | 'small' | 'tiny';
139
- interface TextProps {
140
- variant?: VariantKey;
141
- color?: string;
142
- weight?: '400' | '500' | '600' | '700' | '800';
143
- center?: boolean;
144
- muted?: boolean;
145
- inverse?: boolean;
146
- numberOfLines?: number;
147
- children?: React.ReactNode;
148
- style?: TextStyle;
149
- onPress?: () => void;
46
+ interface BlinkPressableProps extends Omit<PressableProps, 'style'> {
47
+ className?: string;
48
+ activeClassName?: string;
49
+ style?: ViewStyle;
50
+ }
51
+ declare function BlinkPressable({ className, activeClassName, style, children, ...props }: BlinkPressableProps): react_jsx_runtime.JSX.Element;
52
+
53
+ type TextVariant = 'body' | 'heading' | 'subheading' | 'caption' | 'label' | 'title';
54
+ type TextWeight = 'normal' | 'medium' | 'semibold' | 'bold';
55
+ interface BlinkTextProps extends TextProps {
56
+ variant?: TextVariant;
57
+ weight?: TextWeight;
58
+ className?: string;
59
+ children: React.ReactNode;
150
60
  }
151
- declare function Text({ variant, color, weight, center, muted, inverse, numberOfLines, children, style, onPress, }: TextProps): react_jsx_runtime.JSX.Element;
61
+ declare function BlinkText({ variant, weight, className, children, ...props }: BlinkTextProps): react_jsx_runtime.JSX.Element;
152
62
 
153
63
  type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
154
64
  type ButtonSize = 'sm' | 'md' | 'lg';
65
+ type ButtonRounded = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
155
66
  interface ButtonProps {
67
+ title?: string;
68
+ onPress?: () => void;
69
+ loading?: boolean;
156
70
  variant?: ButtonVariant;
157
71
  size?: ButtonSize;
158
- loading?: boolean;
72
+ rounded?: ButtonRounded;
73
+ className?: string;
74
+ textClassName?: string;
159
75
  disabled?: boolean;
160
- iconLeft?: React.ReactNode;
161
- iconRight?: React.ReactNode;
162
- fullWidth?: boolean;
76
+ iconStart?: React.ReactNode;
77
+ iconEnd?: React.ReactNode;
163
78
  children?: React.ReactNode;
164
- onPress?: () => void;
165
- style?: ViewStyle;
166
- }
167
- declare function Button({ variant, size, loading, disabled, iconLeft, iconRight, fullWidth, children, onPress, style, }: ButtonProps): react_jsx_runtime.JSX.Element;
168
-
169
- type IconButtonVariant = 'primary' | 'secondary' | 'ghost';
170
- type IconButtonSize = 'sm' | 'md' | 'lg';
171
- interface IconButtonProps {
172
- variant?: IconButtonVariant;
173
- size?: IconButtonSize;
174
- disabled?: boolean;
175
- onPress?: () => void;
176
- style?: ViewStyle;
177
- children: React.ReactNode;
178
79
  }
179
- declare function IconButton({ variant, size, disabled, onPress, style, children, }: IconButtonProps): react_jsx_runtime.JSX.Element;
80
+ declare function Button({ title, onPress, loading, variant, size, rounded, className, textClassName, disabled, iconStart, iconEnd, children, }: ButtonProps): react_jsx_runtime.JSX.Element;
180
81
 
181
- type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
182
- type StatusDot = 'online' | 'offline' | 'busy' | 'away';
82
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
183
83
  interface AvatarProps {
184
- uri?: string;
185
- initials?: string;
84
+ src?: string;
85
+ name?: string;
186
86
  size?: AvatarSize;
187
- badge?: StatusDot;
87
+ className?: string;
88
+ }
89
+ declare function Avatar({ src, name, size, className }: AvatarProps): react_jsx_runtime.JSX.Element;
90
+
91
+ type CardVariant = 'elevated' | 'outlined' | 'filled' | 'ghost';
92
+ interface CardProps {
93
+ variant?: CardVariant;
94
+ className?: string;
188
95
  style?: ViewStyle;
96
+ onPress?: () => void;
97
+ children?: React.ReactNode;
98
+ }
99
+ declare function Card({ variant, className, style, onPress, children }: CardProps): react_jsx_runtime.JSX.Element;
100
+ declare namespace Card {
101
+ var Header: typeof CardHeader;
102
+ var Body: typeof CardBody;
103
+ var Footer: typeof CardFooter;
104
+ var Image: typeof CardImage;
105
+ var Title: typeof CardTitle;
106
+ var Description: typeof CardDescription;
107
+ }
108
+ interface CardHeaderProps {
109
+ className?: string;
110
+ children: React.ReactNode;
111
+ }
112
+ declare function CardHeader({ className, children }: CardHeaderProps): react_jsx_runtime.JSX.Element;
113
+ interface CardBodyProps {
114
+ className?: string;
115
+ children: React.ReactNode;
116
+ }
117
+ declare function CardBody({ className, children }: CardBodyProps): react_jsx_runtime.JSX.Element;
118
+ interface CardFooterProps {
119
+ className?: string;
120
+ children: React.ReactNode;
121
+ }
122
+ declare function CardFooter({ className, children }: CardFooterProps): react_jsx_runtime.JSX.Element;
123
+ interface CardImageProps {
124
+ source: string | ImageSourcePropType;
125
+ height?: number;
126
+ className?: string;
127
+ }
128
+ declare function CardImage({ source, height, className }: CardImageProps): react_jsx_runtime.JSX.Element;
129
+ interface CardTitleProps {
130
+ className?: string;
131
+ children: React.ReactNode;
189
132
  }
190
- declare function Avatar({ uri, initials, size, badge, style }: AvatarProps): react_jsx_runtime.JSX.Element;
133
+ declare function CardTitle({ className, children }: CardTitleProps): react_jsx_runtime.JSX.Element;
134
+ interface CardDescriptionProps {
135
+ className?: string;
136
+ numberOfLines?: number;
137
+ children: React.ReactNode;
138
+ }
139
+ declare function CardDescription({ className, numberOfLines, children }: CardDescriptionProps): react_jsx_runtime.JSX.Element;
191
140
 
192
- type ChipVariant = 'default' | 'primary' | 'secondary';
141
+ type ChipVariant = 'filled' | 'outlined' | 'tinted';
142
+ type ChipSize = 'sm' | 'md';
193
143
  interface ChipProps {
194
144
  label: string;
195
- selected?: boolean;
196
145
  variant?: ChipVariant;
197
- icon?: React.ReactNode;
146
+ size?: ChipSize;
147
+ selected?: boolean;
198
148
  onPress?: () => void;
199
- onRemove?: () => void;
200
- disabled?: boolean;
201
- style?: ViewStyle;
149
+ iconStart?: React.ReactNode;
150
+ iconEnd?: React.ReactNode;
151
+ className?: string;
202
152
  }
203
- declare function Chip({ label, selected, variant, icon, onPress, onRemove, disabled, style, }: ChipProps): react_jsx_runtime.JSX.Element;
153
+ declare function Chip({ label, variant, size, selected, onPress, iconStart, iconEnd, className, }: ChipProps): react_jsx_runtime.JSX.Element;
204
154
 
205
- type BadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
155
+ type BadgeVariant = 'default' | 'primary' | 'success' | 'error' | 'warning';
206
156
  type BadgeSize = 'sm' | 'md';
207
157
  interface BadgeProps {
208
- label?: string;
158
+ label: string;
209
159
  variant?: BadgeVariant;
210
160
  size?: BadgeSize;
211
- dot?: boolean;
212
- style?: ViewStyle;
161
+ className?: string;
213
162
  }
214
- declare function Badge({ label, variant, size, dot, style }: BadgeProps): react_jsx_runtime.JSX.Element;
163
+ declare function Badge({ label, variant, size, className }: BadgeProps): react_jsx_runtime.JSX.Element;
215
164
 
216
- type CardVariant = 'flat' | 'elevated' | 'outlined';
217
- interface CardProps {
218
- variant?: CardVariant;
219
- onPress?: () => void;
220
- style?: ViewStyle;
221
- children?: React.ReactNode;
222
- }
223
- interface CardImageProps {
224
- source: ImageSourcePropType;
225
- height?: number;
226
- style?: ImageStyle;
227
- }
228
- interface SubViewProps {
229
- children?: React.ReactNode;
230
- style?: ViewStyle;
231
- }
232
- declare function CardImage({ source, height, style }: CardImageProps): react_jsx_runtime.JSX.Element;
233
- declare function CardHeader({ children, style }: SubViewProps): react_jsx_runtime.JSX.Element;
234
- declare function CardContent({ children, style }: SubViewProps): react_jsx_runtime.JSX.Element;
235
- declare function CardFooter({ children, style }: SubViewProps): react_jsx_runtime.JSX.Element;
236
- declare function Card({ variant, onPress, style, children }: CardProps): react_jsx_runtime.JSX.Element;
237
- declare namespace Card {
238
- var Image: typeof CardImage;
239
- var Header: typeof CardHeader;
240
- var Content: typeof CardContent;
241
- var Footer: typeof CardFooter;
165
+ type IconContainerVariant = 'plain' | 'bordered' | 'contained';
166
+ type IconContainerSize = 'sm' | 'md' | 'lg';
167
+ interface IconContainerProps {
168
+ variant?: IconContainerVariant;
169
+ size?: IconContainerSize;
170
+ className?: string;
171
+ children: React.ReactNode;
242
172
  }
173
+ declare function IconContainer({ variant, size, className, children, }: IconContainerProps): react_jsx_runtime.JSX.Element;
243
174
 
175
+ type DividerOrientation = 'horizontal' | 'vertical';
244
176
  interface DividerProps {
245
- orientation?: 'horizontal' | 'vertical';
246
- spacing?: number;
177
+ orientation?: DividerOrientation;
247
178
  label?: string;
248
- style?: ViewStyle;
249
- }
250
- declare function Divider({ orientation, spacing, label, style }: DividerProps): react_jsx_runtime.JSX.Element;
251
-
252
- interface IconProps {
253
- name: string;
254
- size?: number;
255
- color?: string;
256
- strokeWidth?: number;
179
+ className?: string;
257
180
  }
258
- declare function Icon({ name, size, color, strokeWidth }: IconProps): react_jsx_runtime.JSX.Element | null;
181
+ declare function Divider({ orientation, label, className }: DividerProps): react_jsx_runtime.JSX.Element;
259
182
 
260
183
  type SkeletonVariant = 'rect' | 'circle' | 'text';
261
184
  interface SkeletonProps {
262
185
  variant?: SkeletonVariant;
263
- width?: DimensionValue;
264
- height?: number;
265
- borderRadius?: number;
266
- style?: ViewStyle;
267
- lines?: number;
186
+ width?: number | string;
187
+ height?: number | string;
188
+ className?: string;
268
189
  }
269
- declare function Skeleton({ variant, width, height, borderRadius, style, lines, }: SkeletonProps): react_jsx_runtime.JSX.Element;
190
+ declare function Skeleton({ variant, width, height, className }: SkeletonProps): react_jsx_runtime.JSX.Element;
270
191
 
192
+ type ProgressBarSize = 'sm' | 'md' | 'lg';
193
+ type ProgressBarVariant = 'primary' | 'success' | 'warning' | 'error';
271
194
  interface ProgressBarProps {
272
- value?: number;
273
- indeterminate?: boolean;
274
- height?: number;
275
- color?: string;
276
- trackColor?: string;
277
- borderRadius?: number;
278
- style?: ViewStyle;
195
+ progress: number;
196
+ variant?: ProgressBarVariant;
197
+ size?: ProgressBarSize;
198
+ className?: string;
279
199
  }
280
- declare function ProgressBar({ value, indeterminate, height, color, trackColor, borderRadius, style, }: ProgressBarProps): react_jsx_runtime.JSX.Element;
200
+ declare function ProgressBar({ progress, variant, size, className, }: ProgressBarProps): react_jsx_runtime.JSX.Element;
281
201
 
202
+ type ToggleSize = 'sm' | 'md';
282
203
  interface ToggleProps {
283
204
  value: boolean;
284
205
  onValueChange: (value: boolean) => void;
285
- label?: string;
206
+ size?: ToggleSize;
286
207
  disabled?: boolean;
287
- style?: ViewStyle;
208
+ className?: string;
288
209
  }
289
- declare function Toggle({ value, onValueChange, label, disabled, style }: ToggleProps): react_jsx_runtime.JSX.Element;
210
+ declare function Toggle({ value, onValueChange, size, disabled, className, }: ToggleProps): react_jsx_runtime.JSX.Element;
290
211
 
291
- type TagColor = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'purple';
212
+ type TagVariant = 'filled' | 'outlined' | 'tinted';
292
213
  interface TagProps {
293
214
  label: string;
294
- color?: TagColor;
295
- style?: ViewStyle;
215
+ variant?: TagVariant;
216
+ onRemove?: () => void;
217
+ className?: string;
296
218
  }
297
- declare function Tag({ label, color, style }: TagProps): react_jsx_runtime.JSX.Element;
219
+ declare function Tag({ label, variant, onRemove, className }: TagProps): react_jsx_runtime.JSX.Element;
298
220
 
299
- interface BlinkPressableProps extends Omit<PressableProps, 'style'> {
300
- activeScale?: number;
301
- haptic?: boolean;
302
- style?: ViewStyle | ViewStyle[];
303
- children?: React.ReactNode;
221
+ type IconButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline';
222
+ type IconButtonSize = 'sm' | 'md' | 'lg';
223
+ interface IconButtonProps {
224
+ onPress?: () => void;
225
+ variant?: IconButtonVariant;
226
+ size?: IconButtonSize;
227
+ rounded?: 'md' | 'lg' | 'full';
228
+ disabled?: boolean;
229
+ className?: string;
230
+ children: React.ReactNode;
304
231
  }
305
- declare function BlinkPressable({ activeScale, haptic, style, children, onPress, ...rest }: BlinkPressableProps): react_jsx_runtime.JSX.Element;
232
+ declare function IconButton({ onPress, variant, size, rounded, disabled, className, children, }: IconButtonProps): react_jsx_runtime.JSX.Element;
306
233
 
307
234
  interface SafeWrapperProps {
308
- children?: React.ReactNode;
309
- avoidKeyboard?: boolean;
235
+ children: React.ReactNode;
236
+ className?: string;
310
237
  style?: ViewStyle;
238
+ edges?: ('top' | 'bottom' | 'left' | 'right')[];
311
239
  }
312
- declare function SafeWrapper({ children, avoidKeyboard, style }: SafeWrapperProps): react_jsx_runtime.JSX.Element;
240
+ declare function SafeWrapper({ children, className, style, edges }: SafeWrapperProps): react_jsx_runtime.JSX.Element;
313
241
 
314
- type AnimationType = 'fadeIn' | 'scaleIn' | 'slideInBottom' | 'slideInRight' | 'slideInLeft' | 'slideInTop' | 'bounceIn' | 'flipInX' | 'zoomInRotate' | 'rotateIn' | 'slideOutBottom' | 'slideOutRight' | 'slideOutLeft' | 'slideOutTop' | 'scaleOut';
315
- interface AnimatedViewProps {
316
- children?: React.ReactNode;
317
- animation: AnimationType;
318
- duration?: number;
319
- delay?: number;
320
- easing?: EasingFunction;
321
- style?: StyleProp<ViewStyle>;
242
+ interface ContainerProps {
243
+ children: React.ReactNode;
244
+ scrollable?: boolean;
245
+ padded?: boolean;
322
246
  className?: string;
323
- playOnlyOnce?: boolean;
324
- triggerOnVisible?: boolean;
325
- visibilityThreshold?: number;
326
- shouldResetAnimation?: boolean;
247
+ style?: ViewStyle;
327
248
  }
328
- declare function AnimatedViewComponent({ children, animation, duration, delay, easing, style, className, playOnlyOnce, triggerOnVisible, visibilityThreshold, shouldResetAnimation, }: AnimatedViewProps): react_jsx_runtime.JSX.Element;
329
- declare const AnimatedView: React.MemoExoticComponent<typeof AnimatedViewComponent>;
249
+ declare function Container({ children, scrollable, padded, className, style, }: ContainerProps): react_jsx_runtime.JSX.Element;
330
250
 
331
- interface FabAction {
332
- icon: React.ReactNode;
333
- label: string;
334
- onPress: () => void;
335
- }
336
- interface AnimatedFabProps {
337
- icon: React.ReactNode;
338
- label?: string;
339
- onPress?: () => void;
340
- expanded?: boolean;
341
- actions?: FabAction[];
342
- style?: ViewStyle;
251
+ interface ThemeScrollerProps$1 {
252
+ selected: PaletteName;
253
+ onSelect: (palette: PaletteName) => void;
254
+ className?: string;
343
255
  }
344
- declare function AnimatedFab({ icon, label, onPress, expanded, actions, style }: AnimatedFabProps): react_jsx_runtime.JSX.Element;
345
256
 
346
- interface StepProps {
257
+ type SectionPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
258
+ type TitleSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
259
+ interface SectionProps {
260
+ children?: React.ReactNode;
347
261
  title?: string;
348
- children: ReactNode;
262
+ subtitle?: string;
263
+ header?: React.ReactNode;
264
+ footer?: React.ReactNode;
265
+ padding?: SectionPadding;
266
+ titleSize?: TitleSize;
267
+ link?: string;
268
+ linkText?: string;
269
+ onLinkPress?: () => void;
270
+ className?: string;
349
271
  }
350
- interface MultiStepProps {
351
- children: ReactNode;
352
- onComplete?: () => void;
353
- showProgress?: boolean;
354
- showSkip?: boolean;
355
- nextLabel?: string;
356
- completeLabel?: string;
272
+ declare function Section({ children, title, subtitle, header, footer, padding, titleSize, link, linkText, onLinkPress, className, }: SectionProps): react_jsx_runtime.JSX.Element;
273
+
274
+ type StackAlign = 'start' | 'center' | 'end' | 'stretch';
275
+ type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around';
276
+ interface StackProps {
277
+ children: React.ReactNode;
278
+ gap?: number;
279
+ align?: StackAlign;
280
+ justify?: StackJustify;
281
+ className?: string;
357
282
  style?: ViewStyle;
358
283
  }
359
- declare function MultiStep({ children, onComplete, showProgress, showSkip, nextLabel, completeLabel, style, }: MultiStepProps): react_jsx_runtime.JSX.Element | null;
360
- declare namespace MultiStep {
361
- var Step: any;
284
+ declare function VStack({ children, gap, align, justify, className, style }: StackProps): react_jsx_runtime.JSX.Element;
285
+ declare function HStack({ children, gap, align, justify, className, style }: StackProps): react_jsx_runtime.JSX.Element;
286
+ interface FlexStackProps extends StackProps {
287
+ direction?: 'vertical' | 'horizontal';
362
288
  }
289
+ declare function Stack({ children, direction, ...props }: FlexStackProps): react_jsx_runtime.JSX.Element;
363
290
 
364
- interface TransitionProps {
291
+ interface GridProps {
365
292
  children: React.ReactNode;
366
- duration?: number;
367
- delay?: number;
293
+ columns?: 2 | 3 | 4;
294
+ gap?: number;
295
+ className?: string;
368
296
  style?: ViewStyle;
369
297
  }
370
- declare const FadeIn: React.FC<TransitionProps>;
371
- declare const SlideUp: React.FC<TransitionProps>;
372
- interface SlideInProps extends TransitionProps {
373
- from?: 'left' | 'right' | 'bottom' | 'top';
374
- }
375
- declare const SlideIn: React.FC<SlideInProps>;
376
- declare const ScaleIn: React.FC<TransitionProps>;
298
+ declare function Grid({ children, columns, gap, className, style }: GridProps): react_jsx_runtime.JSX.Element;
377
299
 
378
- interface PlanOption {
379
- id: string;
380
- period: 'monthly' | 'annual' | 'weekly' | 'lifetime';
381
- price: string;
382
- priceSubtext?: string;
383
- badge?: string;
384
- trialDays?: number;
385
- }
386
- interface PlanCardProps {
387
- plan: PlanOption;
388
- selected: boolean;
389
- onSelect: () => void;
300
+ interface ListProps<T> {
301
+ data: T[];
302
+ renderItem: (item: T, index: number) => React.ReactNode;
303
+ keyExtractor?: (item: T, index: number) => string;
304
+ separator?: boolean;
305
+ className?: string;
306
+ style?: ViewStyle;
390
307
  }
391
- declare function PlanCard({ plan, selected, onSelect }: PlanCardProps): react_jsx_runtime.JSX.Element;
308
+ declare function List<T>({ data, renderItem, keyExtractor, separator, className, style, }: ListProps<T>): react_jsx_runtime.JSX.Element;
392
309
 
393
- interface FeatureItem {
394
- label: string;
395
- free?: boolean;
396
- pro: boolean;
397
- }
398
- interface PaywallScreenProps {
399
- appName: string;
400
- tagline?: string;
401
- features: FeatureItem[];
402
- plans: PlanOption[];
403
- onSubscribe: (planId: string) => void | Promise<void>;
404
- onDismiss?: () => void;
405
- loading?: boolean;
406
- selectedPlan?: string;
310
+ interface ListItemProps {
311
+ title: React.ReactNode;
312
+ subtitle?: React.ReactNode;
313
+ leading?: React.ReactNode;
314
+ trailing?: React.ReactNode;
315
+ onPress?: () => void;
316
+ disabled?: boolean;
317
+ className?: string;
407
318
  style?: ViewStyle;
408
319
  }
409
- declare function PaywallScreen({ appName, tagline, features, plans, onSubscribe, onDismiss, loading, selectedPlan: controlledPlan, style, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
410
-
411
- type PaywallSoftProps = Omit<PaywallScreenProps, 'onDismiss'> & {
412
- visible: boolean;
413
- onDismiss: () => void;
414
- };
415
- declare function PaywallSoft({ visible, onDismiss, ...rest }: PaywallSoftProps): react_jsx_runtime.JSX.Element;
320
+ declare function ListItem({ title, subtitle, leading, trailing, onPress, disabled, className, style, }: ListItemProps): react_jsx_runtime.JSX.Element;
416
321
 
417
- type PaywallHardProps = Omit<PaywallScreenProps, 'onDismiss'> & {
418
- visible: boolean;
419
- };
420
- declare function PaywallHard({ visible, ...rest }: PaywallHardProps): react_jsx_runtime.JSX.Element;
322
+ type SpacerSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
323
+ interface SpacerProps {
324
+ size?: SpacerSize;
325
+ flex?: boolean;
326
+ className?: string;
327
+ }
328
+ declare function Spacer({ size, flex, className }: SpacerProps): react_jsx_runtime.JSX.Element;
421
329
 
422
- interface ComparisonFeature {
423
- label: string;
424
- free?: boolean;
425
- pro: boolean;
426
- enterprise?: boolean;
330
+ type InputVariant = 'animated' | 'classic' | 'underlined';
331
+ interface InputProps extends Omit<TextInputProps, 'className'> {
332
+ label?: string;
333
+ error?: string;
334
+ hint?: string;
335
+ variant?: InputVariant;
336
+ left?: React.ReactNode;
337
+ right?: React.ReactNode;
338
+ clearable?: boolean;
339
+ disabled?: boolean;
340
+ className?: string;
427
341
  }
428
- interface PlanComparisonProps {
429
- features: ComparisonFeature[];
430
- plans?: string[];
342
+ declare function Input({ label, placeholder, value, onChangeText, error, hint, secureTextEntry, variant, left, right, clearable, multiline, disabled, className, ...props }: InputProps): react_jsx_runtime.JSX.Element;
343
+
344
+ interface TextAreaProps extends Omit<InputProps, 'multiline'> {
431
345
  }
432
- declare function PlanComparison({ features, plans }: PlanComparisonProps): react_jsx_runtime.JSX.Element;
346
+ declare function TextArea({ className, ...props }: TextAreaProps): react_jsx_runtime.JSX.Element;
433
347
 
434
- interface FeatureRowProps {
348
+ interface SearchInputProps {
349
+ value: string;
350
+ onChangeText: (text: string) => void;
351
+ placeholder?: string;
352
+ onClear?: () => void;
353
+ autoFocus?: boolean;
354
+ className?: string;
355
+ }
356
+ declare function SearchInput({ value, onChangeText, placeholder, onClear, autoFocus, className, }: SearchInputProps): react_jsx_runtime.JSX.Element;
357
+
358
+ interface SearchPillProps {
359
+ placeholder?: string;
360
+ onPress?: () => void;
361
+ className?: string;
362
+ }
363
+ declare function SearchPill({ placeholder, onPress, className, }: SearchPillProps): react_jsx_runtime.JSX.Element;
364
+
365
+ interface CheckboxProps {
366
+ checked?: boolean;
367
+ onToggle?: (checked: boolean) => void;
368
+ label?: string;
369
+ disabled?: boolean;
370
+ error?: string;
371
+ className?: string;
372
+ }
373
+ declare function Checkbox({ checked, onToggle, label, disabled, error, className, }: CheckboxProps): react_jsx_runtime.JSX.Element;
374
+
375
+ interface RadioOption {
376
+ value: string;
377
+ label: string;
378
+ disabled?: boolean;
379
+ }
380
+ interface RadioGroupProps {
381
+ options: RadioOption[];
382
+ value: string;
383
+ onChange: (value: string) => void;
384
+ direction?: 'vertical' | 'horizontal';
385
+ className?: string;
386
+ }
387
+ declare function RadioGroup({ options, value, onChange, direction, className, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
388
+
389
+ interface BlinkSwitchProps {
390
+ value?: boolean;
391
+ onValueChange?: (value: boolean) => void;
392
+ label?: string;
393
+ description?: string;
394
+ disabled?: boolean;
395
+ className?: string;
396
+ }
397
+ declare function BlinkSwitch({ value, onValueChange, label, description, disabled, className, }: BlinkSwitchProps): react_jsx_runtime.JSX.Element;
398
+
399
+ interface SliderProps {
400
+ value: number;
401
+ onValueChange: (v: number) => void;
402
+ min?: number;
403
+ max?: number;
404
+ step?: number;
405
+ showValue?: boolean;
406
+ className?: string;
407
+ }
408
+ declare function Slider({ value, onValueChange, min, max, step, showValue, className, }: SliderProps): react_jsx_runtime.JSX.Element;
409
+
410
+ interface SelectOption {
411
+ label: string;
412
+ value: string;
413
+ }
414
+ interface SelectProps {
415
+ options: SelectOption[];
416
+ value?: string;
417
+ onChange: (value: string) => void;
418
+ label?: string;
419
+ placeholder?: string;
420
+ error?: string;
421
+ variant?: InputVariant;
422
+ className?: string;
423
+ }
424
+ declare function Select({ options, value, onChange, label, placeholder, error, variant, className, }: SelectProps): react_jsx_runtime.JSX.Element;
425
+
426
+ interface CounterProps {
427
+ value?: number;
428
+ onChange?: (value: number) => void;
429
+ min?: number;
430
+ max?: number;
431
+ step?: number;
432
+ label?: string;
433
+ className?: string;
434
+ }
435
+ declare function Counter({ value: controlledValue, onChange, min, max, step, label, className, }: CounterProps): react_jsx_runtime.JSX.Element;
436
+
437
+ type HeaderVariant = 'default' | 'blurred' | 'transparent' | 'collapsible';
438
+ interface HeaderProps {
439
+ title?: string;
440
+ subtitle?: string;
441
+ left?: React.ReactNode;
442
+ right?: React.ReactNode;
443
+ variant?: HeaderVariant;
444
+ large?: boolean;
445
+ showBackButton?: boolean;
446
+ onBackPress?: () => void;
447
+ visible?: boolean;
448
+ children?: React.ReactNode;
449
+ className?: string;
450
+ }
451
+ declare function Header({ title, subtitle, left, right, variant, large, showBackButton, onBackPress, visible, children, className, }: HeaderProps): react_jsx_runtime.JSX.Element;
452
+
453
+ interface HeaderIconProps {
454
+ onPress?: () => void;
455
+ badge?: boolean;
456
+ children: React.ReactNode;
457
+ className?: string;
458
+ }
459
+ declare function HeaderIcon({ onPress, badge, children, className, }: HeaderIconProps): react_jsx_runtime.JSX.Element;
460
+
461
+ interface TabItem {
462
+ key: string;
463
+ label: string;
464
+ icon: React.ReactNode;
465
+ activeIcon?: React.ReactNode;
466
+ badge?: number;
467
+ }
468
+ interface TabBarProps {
469
+ tabs: TabItem[];
470
+ activeKey: string;
471
+ onChange: (key: string) => void;
472
+ className?: string;
473
+ }
474
+ declare function TabBar({ tabs, activeKey, onChange, className }: TabBarProps): react_jsx_runtime.JSX.Element;
475
+
476
+ interface TabButtonProps {
477
+ icon: React.ReactNode;
478
+ label: string;
479
+ active: boolean;
480
+ badge?: number;
481
+ onPress: () => void;
482
+ className?: string;
483
+ }
484
+ declare function TabButton({ icon, label, active, badge, onPress, className, }: TabButtonProps): react_jsx_runtime.JSX.Element;
485
+
486
+ interface Segment {
487
+ value: string;
488
+ label: string;
489
+ }
490
+ interface SegmentedControlProps {
491
+ segments: Segment[];
492
+ value: string;
493
+ onChange: (value: string) => void;
494
+ className?: string;
495
+ }
496
+ declare function SegmentedControl({ segments, value, onChange, className, }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
497
+
498
+ interface BottomSheetProps {
499
+ children: React.ReactNode;
500
+ title?: string;
501
+ className?: string;
502
+ }
503
+ declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<ActionSheetRef>>;
504
+
505
+ interface BlinkModalProps {
506
+ visible: boolean;
507
+ onClose: () => void;
508
+ title?: string;
509
+ description?: string;
510
+ children?: React.ReactNode;
511
+ showCloseButton?: boolean;
512
+ className?: string;
513
+ }
514
+ declare function BlinkModal({ visible, onClose, title, description, children, showCloseButton, className, }: BlinkModalProps): react_jsx_runtime.JSX.Element;
515
+
516
+ interface ConfirmationSheetProps {
517
+ title: string;
518
+ message?: string;
519
+ confirmLabel?: string;
520
+ cancelLabel?: string;
521
+ onConfirm: () => void;
522
+ onCancel: () => void;
523
+ destructive?: boolean;
524
+ className?: string;
525
+ }
526
+ declare function ConfirmationSheet({ title, message, confirmLabel, cancelLabel, onConfirm, onCancel, destructive, className, }: ConfirmationSheetProps): react_jsx_runtime.JSX.Element;
527
+ declare function useConfirmationSheet(): {
528
+ show: (p: ConfirmationSheetProps) => void;
529
+ Sheet: react_jsx_runtime.JSX.Element | null;
530
+ };
531
+
532
+ interface ActionItem {
533
+ label: string;
534
+ icon?: React.ReactNode;
535
+ onPress: () => void;
536
+ destructive?: boolean;
537
+ disabled?: boolean;
538
+ }
539
+ interface BlinkActionSheetProps {
540
+ title?: string;
541
+ items: ActionItem[];
542
+ cancelLabel?: string;
543
+ onClose?: () => void;
544
+ className?: string;
545
+ }
546
+ declare function BlinkActionSheet({ title, items, cancelLabel, onClose, className, }: BlinkActionSheetProps): react_jsx_runtime.JSX.Element;
547
+ declare function useActionSheet(): {
548
+ show: (p: BlinkActionSheetProps) => void;
549
+ Sheet: react_jsx_runtime.JSX.Element | null;
550
+ };
551
+
552
+ type ToastType = 'success' | 'error' | 'info' | 'warning';
553
+ type ToastPosition = 'top' | 'bottom';
554
+ interface ToastOptions {
555
+ message: string;
556
+ type?: ToastType;
557
+ duration?: number;
558
+ position?: ToastPosition;
559
+ }
560
+ declare const Toast: React.FC<{
561
+ className?: string;
562
+ }>;
563
+ declare const toast: {
564
+ show: (opts: ToastOptions) => void | undefined;
565
+ success: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
566
+ error: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
567
+ info: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
568
+ warning: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
569
+ };
570
+
571
+ interface PageLoaderProps {
572
+ message?: string;
573
+ transparent?: boolean;
574
+ className?: string;
575
+ }
576
+ declare function PageLoader({ message, transparent, className, }: PageLoaderProps): react_jsx_runtime.JSX.Element;
577
+
578
+ interface EmptyStateProps {
579
+ icon?: React.ReactNode;
580
+ title: string;
581
+ description?: string;
582
+ action?: {
583
+ label: string;
584
+ onPress: () => void;
585
+ };
586
+ className?: string;
587
+ }
588
+ declare function EmptyState({ icon, title, description, action, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
589
+
590
+ interface PlaceholderProps {
591
+ width?: number | string;
592
+ height?: number;
593
+ className?: string;
594
+ }
595
+ declare function Placeholder({ width, height, className, }: PlaceholderProps): react_jsx_runtime.JSX.Element;
596
+
597
+ interface TextSkeletonProps {
598
+ lines?: number;
599
+ className?: string;
600
+ }
601
+ declare function TextSkeleton({ lines, className }: TextSkeletonProps): react_jsx_runtime.JSX.Element;
602
+ interface CardSkeletonProps {
603
+ className?: string;
604
+ }
605
+ declare function CardSkeleton({ className }: CardSkeletonProps): react_jsx_runtime.JSX.Element;
606
+ interface ListSkeletonProps {
607
+ rows?: number;
608
+ className?: string;
609
+ }
610
+ declare function ListSkeleton({ rows, className }: ListSkeletonProps): react_jsx_runtime.JSX.Element;
611
+ interface ChatSkeletonProps {
612
+ className?: string;
613
+ }
614
+ declare function ChatSkeleton({ className }: ChatSkeletonProps): react_jsx_runtime.JSX.Element;
615
+ interface ArticleSkeletonProps {
616
+ className?: string;
617
+ }
618
+ declare function ArticleSkeleton({ className }: ArticleSkeletonProps): react_jsx_runtime.JSX.Element;
619
+ interface GridSkeletonProps {
620
+ columns?: number;
621
+ count?: number;
622
+ className?: string;
623
+ }
624
+ declare function GridSkeleton({ columns, count, className }: GridSkeletonProps): react_jsx_runtime.JSX.Element;
625
+ declare const SkeletonLoader: {
626
+ Text: typeof TextSkeleton;
627
+ Card: typeof CardSkeleton;
628
+ List: typeof ListSkeleton;
629
+ Chat: typeof ChatSkeleton;
630
+ Article: typeof ArticleSkeleton;
631
+ Grid: typeof GridSkeleton;
632
+ };
633
+
634
+ type AnimationType = 'fadeIn' | 'scaleIn' | 'slideInBottom' | 'slideInRight' | 'slideInLeft' | 'slideInTop' | 'bounceIn' | 'flipInX' | 'zoomInRotate' | 'rotateIn' | 'slideOutBottom' | 'slideOutRight' | 'slideOutLeft' | 'slideOutTop' | 'scaleOut';
635
+ interface AnimatedViewProps {
636
+ children?: React.ReactNode;
637
+ animation: AnimationType;
638
+ duration?: number;
639
+ delay?: number;
640
+ easing?: EasingFunction;
641
+ className?: string;
642
+ playOnlyOnce?: boolean;
643
+ triggerOnVisible?: boolean;
644
+ visibilityThreshold?: number;
645
+ shouldResetAnimation?: boolean;
646
+ }
647
+ declare function AnimatedViewComponent({ children, animation, duration, delay, easing, className, playOnlyOnce, triggerOnVisible, visibilityThreshold, shouldResetAnimation, }: AnimatedViewProps): react_jsx_runtime.JSX.Element;
648
+ declare const AnimatedView: React.MemoExoticComponent<typeof AnimatedViewComponent>;
649
+
650
+ interface FabAction {
651
+ icon: React.ReactNode;
652
+ label: string;
653
+ onPress: () => void;
654
+ }
655
+ interface AnimatedFabProps {
656
+ icon: React.ReactNode;
657
+ actions?: FabAction[];
658
+ onPress?: () => void;
659
+ className?: string;
660
+ }
661
+ declare function AnimatedFab({ icon, actions, onPress, className, }: AnimatedFabProps): react_jsx_runtime.JSX.Element;
662
+
663
+ interface StepProps {
664
+ title?: string;
665
+ children: ReactNode;
666
+ }
667
+ declare function Step({ children }: StepProps): react_jsx_runtime.JSX.Element;
668
+ interface MultiStepProps {
669
+ children: ReactNode;
670
+ onComplete?: () => void;
671
+ showProgress?: boolean;
672
+ showSkip?: boolean;
673
+ nextLabel?: string;
674
+ completeLabel?: string;
675
+ className?: string;
676
+ }
677
+ declare function MultiStepRoot({ children, onComplete, showProgress, showSkip, nextLabel, completeLabel, className, }: MultiStepProps): react_jsx_runtime.JSX.Element | null;
678
+ declare const MultiStep: typeof MultiStepRoot & {
679
+ Step: typeof Step;
680
+ };
681
+
682
+ interface TransitionProps {
683
+ children: React.ReactNode;
684
+ duration?: number;
685
+ delay?: number;
686
+ className?: string;
687
+ }
688
+ declare const FadeIn: React.FC<TransitionProps>;
689
+ declare const SlideUp: React.FC<TransitionProps>;
690
+ interface SlideInProps extends TransitionProps {
691
+ from?: 'left' | 'right' | 'bottom' | 'top';
692
+ }
693
+ declare const SlideIn: React.FC<SlideInProps>;
694
+ declare const ScaleIn: React.FC<TransitionProps>;
695
+
696
+ interface ThemeScrollerProps extends ScrollViewProps {
697
+ children: React.ReactNode;
698
+ topOffset?: number;
699
+ className?: string;
700
+ }
701
+ declare function ThemeScroller({ children, topOffset, className, contentContainerStyle, ...props }: ThemeScrollerProps): react_jsx_runtime.JSX.Element;
702
+
703
+ interface CardScrollerProps {
704
+ children: React.ReactNode;
705
+ cardWidth?: number;
706
+ gap?: number;
707
+ snapEnabled?: boolean;
708
+ className?: string;
709
+ }
710
+ declare function CardScroller({ children, cardWidth, gap, snapEnabled, className, }: CardScrollerProps): react_jsx_runtime.JSX.Element;
711
+
712
+ interface ImageCarouselProps {
713
+ images: string[];
714
+ height?: number;
715
+ borderRadius?: number;
716
+ onIndexChange?: (index: number) => void;
717
+ className?: string;
718
+ }
719
+ declare function ImageCarousel({ images, height, borderRadius, onIndexChange, className, }: ImageCarouselProps): react_jsx_runtime.JSX.Element;
720
+
721
+ interface PlanOption {
722
+ id: string;
723
+ label: string;
724
+ price: string;
725
+ period: string;
726
+ badge?: string;
727
+ savings?: string;
728
+ }
729
+ interface PlanCardProps {
730
+ plan: PlanOption;
731
+ selected: boolean;
732
+ onSelect: (plan: PlanOption) => void;
733
+ className?: string;
734
+ }
735
+ declare function PlanCard({ plan, selected, onSelect, className }: PlanCardProps): react_jsx_runtime.JSX.Element;
736
+
737
+ interface PaywallFeature {
738
+ label: string;
739
+ free?: boolean;
740
+ pro: boolean;
741
+ }
742
+ interface PaywallScreenProps {
743
+ appName: string;
744
+ tagline?: string;
745
+ features: PaywallFeature[];
746
+ plans: PlanOption[];
747
+ selectedPlan: string;
748
+ onSubscribe: (planId: string) => void;
749
+ onSelectPlan?: (plan: PlanOption) => void;
750
+ onDismiss?: () => void;
751
+ loading?: boolean;
752
+ ctaLabel?: string;
753
+ disclaimer?: string;
754
+ className?: string;
755
+ }
756
+ declare function PaywallScreen({ appName, tagline, features, plans, selectedPlan, onSubscribe, onSelectPlan, onDismiss, loading, ctaLabel, disclaimer, className, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
757
+
758
+ type PaywallSoftProps = Omit<PaywallScreenProps, 'onDismiss'> & {
759
+ onDismiss: () => void;
760
+ className?: string;
761
+ };
762
+ declare function PaywallSoft({ className, ...props }: PaywallSoftProps): react_jsx_runtime.JSX.Element;
763
+
764
+ type PaywallHardProps = Omit<PaywallScreenProps, 'onDismiss'> & {
765
+ className?: string;
766
+ };
767
+ declare function PaywallHard({ className, ...props }: PaywallHardProps): react_jsx_runtime.JSX.Element;
768
+
769
+ interface FeatureRowProps {
435
770
  label: string;
436
- available?: boolean;
437
- highlighted?: boolean;
771
+ free?: boolean;
772
+ pro?: boolean;
773
+ className?: string;
774
+ }
775
+ declare function FeatureRow({ label, free, pro, className }: FeatureRowProps): react_jsx_runtime.JSX.Element;
776
+
777
+ interface PlanComparisonProps {
778
+ features: Omit<FeatureRowProps, 'className'>[];
779
+ freeLabel?: string;
780
+ proLabel?: string;
781
+ className?: string;
438
782
  }
439
- declare function FeatureRow({ label, available, highlighted }: FeatureRowProps): react_jsx_runtime.JSX.Element;
783
+ declare function PlanComparison({ features, freeLabel, proLabel, className, }: PlanComparisonProps): react_jsx_runtime.JSX.Element;
440
784
 
441
785
  interface TrialBannerProps {
442
786
  days: number;
443
- onClaim?: () => void;
444
- dismissible?: boolean;
445
- style?: ViewStyle;
787
+ message?: string;
788
+ className?: string;
446
789
  }
447
- declare function TrialBanner({ days, onClaim, dismissible, style }: TrialBannerProps): react_jsx_runtime.JSX.Element | null;
790
+ declare function TrialBanner({ days, message, className }: TrialBannerProps): react_jsx_runtime.JSX.Element;
448
791
 
449
792
  interface SocialProofBarProps {
450
793
  userCount?: string;
451
794
  rating?: number;
452
795
  reviewCount?: string;
453
- logos?: React.ReactNode[];
454
- style?: ViewStyle;
796
+ className?: string;
455
797
  }
456
- declare function SocialProofBar({ userCount, rating, reviewCount, logos, style }: SocialProofBarProps): react_jsx_runtime.JSX.Element;
798
+ declare function SocialProofBar({ userCount, rating, reviewCount, className, }: SocialProofBarProps): react_jsx_runtime.JSX.Element;
457
799
 
458
800
  interface OnboardingSlide {
459
801
  id: string;
460
802
  title: string;
461
- description?: string;
462
- image?: React.ReactNode;
463
- backgroundColor?: string;
803
+ description: string;
804
+ visual?: React.ReactNode;
464
805
  }
465
806
  interface OnboardingCarouselProps {
466
807
  slides: OnboardingSlide[];
@@ -470,633 +811,479 @@ interface OnboardingCarouselProps {
470
811
  showDots?: boolean;
471
812
  nextLabel?: string;
472
813
  completeLabel?: string;
473
- autoPlay?: boolean;
474
- autoPlayInterval?: number;
475
- style?: ViewStyle;
814
+ className?: string;
476
815
  }
477
- declare function OnboardingCarousel({ slides, onComplete, onSkip, showSkip, showDots, nextLabel, completeLabel, autoPlay, autoPlayInterval, style, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
816
+ declare function OnboardingCarousel({ slides, onComplete, onSkip, showSkip, showDots, nextLabel, completeLabel, className, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
478
817
 
479
- interface SocialButton {
480
- icon: React.ReactNode;
481
- label: string;
482
- onPress: () => void;
818
+ interface ParallaxLayer {
819
+ content: React.ReactNode;
820
+ speed?: number;
821
+ }
822
+ interface ParallaxSlide {
823
+ id: string;
824
+ title: string;
825
+ description: string;
826
+ layers: ParallaxLayer[];
827
+ }
828
+ interface OnboardingParallaxProps {
829
+ slides: ParallaxSlide[];
830
+ onComplete: () => void;
831
+ onSkip?: () => void;
832
+ showSkip?: boolean;
833
+ completeLabel?: string;
834
+ nextLabel?: string;
835
+ className?: string;
483
836
  }
837
+ declare function OnboardingParallax({ slides, onComplete, onSkip, showSkip, completeLabel, nextLabel, className, }: OnboardingParallaxProps): react_jsx_runtime.JSX.Element;
838
+
484
839
  interface OnboardingHeroProps {
485
840
  title: string;
486
- subtitle?: string;
487
- description?: string;
841
+ description: string;
488
842
  visual?: React.ReactNode;
489
843
  ctaLabel?: string;
490
- onCta?: () => void;
844
+ onCta: () => void;
491
845
  secondaryLabel?: string;
492
846
  onSecondary?: () => void;
493
- socialButtons?: SocialButton[];
494
- style?: ViewStyle;
847
+ className?: string;
495
848
  }
496
- declare function OnboardingHero({ title, subtitle, description, visual, ctaLabel, onCta, secondaryLabel, onSecondary, socialButtons, style, }: OnboardingHeroProps): react_jsx_runtime.JSX.Element;
849
+ declare function OnboardingHero({ title, description, visual, ctaLabel, onCta, secondaryLabel, onSecondary, className, }: OnboardingHeroProps): react_jsx_runtime.JSX.Element;
497
850
 
498
851
  interface PermissionStepProps {
499
- icon?: React.ReactNode;
852
+ icon: React.ReactNode;
500
853
  title: string;
501
854
  description: string;
502
855
  allowLabel?: string;
503
856
  skipLabel?: string;
504
- onAllow: () => void | Promise<void>;
505
- onSkip?: () => void;
506
- loading?: boolean;
507
- style?: ViewStyle;
857
+ onAllow: () => void;
858
+ onSkip: () => void;
859
+ className?: string;
508
860
  }
509
- declare function PermissionStep({ icon, title, description, allowLabel, skipLabel, onAllow, onSkip, loading: externalLoading, style, }: PermissionStepProps): react_jsx_runtime.JSX.Element;
861
+ declare function PermissionStep({ icon, title, description, allowLabel, skipLabel, onAllow, onSkip, className, }: PermissionStepProps): react_jsx_runtime.JSX.Element;
510
862
 
511
863
  interface QuizOption {
512
- value: string;
864
+ id: string;
513
865
  label: string;
514
866
  icon?: React.ReactNode;
515
- description?: string;
516
867
  }
517
868
  interface QuizStepProps {
518
- question: string;
519
- subtitle?: string;
869
+ title: string;
870
+ description?: string;
520
871
  options: QuizOption[];
521
- value?: string | string[];
522
- onChange: (v: string | string[]) => void;
523
872
  multiSelect?: boolean;
524
- minSelect?: number;
525
- maxSelect?: number;
526
- style?: ViewStyle;
873
+ onSubmit: (selected: string[]) => void;
874
+ submitLabel?: string;
875
+ className?: string;
527
876
  }
528
- declare function QuizStep({ question, subtitle, options, value, onChange, multiSelect, maxSelect, style, }: QuizStepProps): react_jsx_runtime.JSX.Element;
877
+ declare function QuizStep({ title, description, options, multiSelect, onSubmit, submitLabel, className, }: QuizStepProps): react_jsx_runtime.JSX.Element;
529
878
 
530
- interface OnboardingStep {
879
+ interface OnboardingFlowStep {
531
880
  id: string;
532
881
  component: React.ReactNode;
533
882
  }
534
883
  interface OnboardingFlowProps {
535
- steps: OnboardingStep[];
884
+ steps: OnboardingFlowStep[];
536
885
  onComplete: () => void;
537
886
  showProgress?: boolean;
538
- style?: ViewStyle;
887
+ className?: string;
888
+ }
889
+ declare function OnboardingFlow({ steps, onComplete, showProgress, className, }: OnboardingFlowProps): react_jsx_runtime.JSX.Element;
890
+
891
+ interface AuthProvider {
892
+ id: 'google' | 'apple' | 'email' | string;
893
+ label?: string;
894
+ icon?: React.ReactNode;
895
+ }
896
+ interface AuthButtonsProps {
897
+ providers?: AuthProvider[];
898
+ onAuth: (providerId: string) => void;
899
+ className?: string;
539
900
  }
540
- declare function OnboardingFlow({ steps, onComplete, showProgress, style }: OnboardingFlowProps): react_jsx_runtime.JSX.Element;
901
+ declare function AuthButtons({ providers, onAuth, className, }: AuthButtonsProps): react_jsx_runtime.JSX.Element;
541
902
 
903
+ type SwipeDirection = 'left' | 'right' | 'up';
542
904
  interface SwipeDeckProps<T> {
543
905
  data: T[];
544
906
  renderCard: (item: T, index: number) => React.ReactNode;
545
907
  onSwipeLeft?: (item: T) => void;
546
908
  onSwipeRight?: (item: T) => void;
547
909
  onSwipeUp?: (item: T) => void;
548
- onEmpty?: () => void;
910
+ onEmpty?: () => React.ReactNode;
549
911
  swipeThreshold?: number;
550
912
  rotationFactor?: number;
551
913
  stackDepth?: number;
552
- style?: ViewStyle;
914
+ className?: string;
553
915
  }
554
- declare function SwipeDeck<T>(props: SwipeDeckProps<T>): react_jsx_runtime.JSX.Element;
916
+ declare function SwipeDeck<T>({ data, renderCard, onSwipeLeft, onSwipeRight, onSwipeUp, onEmpty, swipeThreshold, rotationFactor, stackDepth, className, }: SwipeDeckProps<T>): react_jsx_runtime.JSX.Element;
555
917
 
556
918
  interface SwipeCardProps {
557
919
  children: React.ReactNode;
558
- likeLabel?: string;
559
- nopeLabel?: string;
560
- superLabel?: string;
561
- swipeDirection?: 'left' | 'right' | 'up' | null;
562
- swipeIntensity?: number;
563
- style?: ViewStyle;
920
+ className?: string;
564
921
  }
565
- declare function SwipeCard({ children, swipeDirection, swipeIntensity, style, }: SwipeCardProps): react_jsx_runtime.JSX.Element;
922
+ declare function SwipeCard({ children, className }: SwipeCardProps): react_jsx_runtime.JSX.Element;
566
923
 
567
924
  interface SwipeActionsProps {
568
925
  onNope?: () => void;
569
- onLike?: () => void;
570
926
  onSuperLike?: () => void;
571
- onRewind?: () => void;
572
- style?: ViewStyle;
927
+ onLike?: () => void;
928
+ className?: string;
573
929
  }
574
- declare function SwipeActions({ onNope, onLike, onSuperLike, onRewind, style }: SwipeActionsProps): react_jsx_runtime.JSX.Element;
930
+ declare function SwipeActions({ onNope, onSuperLike, onLike, className }: SwipeActionsProps): react_jsx_runtime.JSX.Element;
575
931
 
576
932
  interface SwipeOverlayProps {
577
- direction: 'left' | 'right' | 'up' | null;
578
- intensity: number;
933
+ position: Animated.ValueXY;
934
+ swipeThreshold: number;
935
+ className?: string;
579
936
  }
580
- declare function SwipeOverlay({ direction, intensity }: SwipeOverlayProps): react_jsx_runtime.JSX.Element | null;
937
+ declare function SwipeOverlay({ position, swipeThreshold }: SwipeOverlayProps): react_jsx_runtime.JSX.Element;
581
938
 
582
939
  interface VerticalReelProps<T> {
583
940
  data: T[];
584
941
  renderItem: (item: T, index: number, isActive: boolean) => React.ReactNode;
585
942
  onActiveChange?: (index: number) => void;
586
- preloadCount?: number;
587
- style?: ViewStyle;
943
+ keyExtractor: (item: T, index: number) => string;
944
+ className?: string;
588
945
  }
589
- declare function VerticalReel<T extends {
590
- id?: string | number;
591
- }>({ data, renderItem, onActiveChange, preloadCount, style, }: VerticalReelProps<T>): react_jsx_runtime.JSX.Element;
946
+ declare function VerticalReel<T>({ data, renderItem, onActiveChange, keyExtractor, className, }: VerticalReelProps<T>): react_jsx_runtime.JSX.Element;
592
947
 
593
948
  interface ReelItemProps {
594
- background?: React.ReactNode;
595
- children?: React.ReactNode;
596
- style?: ViewStyle;
597
- }
598
- declare function ReelItem({ background, children, style }: ReelItemProps): react_jsx_runtime.JSX.Element;
599
-
600
- interface ReelOverlayProps {
601
- username?: string;
602
- avatar?: string;
603
- description?: string;
604
- rightActions?: React.ReactNode;
605
- bottomContent?: React.ReactNode;
606
- style?: ViewStyle;
607
- }
608
- declare function ReelOverlay({ username, avatar, description, rightActions, bottomContent, style, }: ReelOverlayProps): react_jsx_runtime.JSX.Element;
609
-
610
- interface GlassViewProps {
611
- children?: React.ReactNode;
612
- intensity?: number;
613
- tint?: 'light' | 'dark' | 'default' | 'extraLight' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial';
614
- borderRadius?: number;
615
- borderWidth?: number;
616
- borderColor?: string;
617
- style?: StyleProp<ViewStyle>;
618
- }
619
- declare function GlassView({ children, intensity, tint, borderRadius, borderWidth, borderColor, style, }: GlassViewProps): react_jsx_runtime.JSX.Element;
620
-
621
- interface GlassCardProps {
622
- children?: React.ReactNode;
623
- onPress?: () => void;
624
- intensity?: number;
625
- padding?: number;
626
- style?: StyleProp<ViewStyle>;
627
- }
628
- declare function GlassCard({ children, onPress, intensity, padding, style, }: GlassCardProps): react_jsx_runtime.JSX.Element;
629
-
630
- interface GlassHeaderProps {
631
- title?: string;
632
- left?: React.ReactNode;
633
- right?: React.ReactNode;
634
- intensity?: number;
635
- style?: StyleProp<ViewStyle>;
636
- }
637
- declare function GlassHeader({ title, left, right, intensity, style }: GlassHeaderProps): react_jsx_runtime.JSX.Element;
638
-
639
- interface GlassSheetProps {
640
- children: React.ReactNode;
641
- visible: boolean;
642
- onClose: () => void;
643
- title?: string;
644
- intensity?: number;
645
- snapPoints?: number[];
646
- style?: StyleProp<ViewStyle>;
647
- }
648
- declare function GlassSheet({ children, visible, onClose, title, intensity, style, }: GlassSheetProps): react_jsx_runtime.JSX.Element;
649
-
650
- interface TabItem$1 {
651
- key: string;
652
- label: string;
653
- icon: React.ReactNode;
654
- badge?: number;
655
- }
656
- interface GlassTabBarProps {
657
- tabs: TabItem$1[];
658
- activeKey: string;
659
- onChange: (key: string) => void;
660
- intensity?: number;
661
- style?: StyleProp<ViewStyle>;
662
- }
663
- declare function GlassTabBar({ tabs, activeKey, onChange, intensity, style }: GlassTabBarProps): react_jsx_runtime.JSX.Element;
664
-
665
- interface ChatBubbleProps {
666
- message: string;
667
- type: 'sent' | 'received';
668
- timestamp?: string;
669
- status?: 'sending' | 'sent' | 'delivered' | 'read';
670
- avatar?: string;
671
- style?: ViewStyle;
672
- }
673
- declare function ChatBubble({ message, type, timestamp, status, avatar, style }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
674
-
675
- interface ChatInputProps {
676
- value: string;
677
- onChangeText: (t: string) => void;
678
- onSend: () => void;
679
- onAttach?: () => void;
680
- onVoice?: () => void;
681
- placeholder?: string;
682
- disabled?: boolean;
683
- style?: ViewStyle;
684
- }
685
- declare function ChatInput({ value, onChangeText, onSend, onAttach, onVoice, placeholder, disabled, style, }: ChatInputProps): react_jsx_runtime.JSX.Element;
686
-
687
- interface ChatMessage {
688
- id: string;
689
- message: string;
690
- type: 'sent' | 'received';
691
- timestamp?: string;
692
- status?: 'sending' | 'sent' | 'delivered' | 'read';
693
- avatar?: string;
694
- }
695
- interface ChatListProps {
696
- messages: ChatMessage[];
697
- style?: ViewStyle;
698
- }
699
- declare function ChatList({ messages, style }: ChatListProps): react_jsx_runtime.JSX.Element;
700
-
701
- declare function TypingIndicator(): react_jsx_runtime.JSX.Element;
702
-
703
- interface ContainerProps {
704
- children: React.ReactNode;
705
- padded?: boolean;
706
- paddingHorizontal?: number;
707
- style?: ViewStyle;
708
- }
709
- declare const Container: React.FC<ContainerProps>;
710
-
711
- interface ScreenContentProps {
712
- children: React.ReactNode;
713
- onRefresh?: () => void;
714
- refreshing?: boolean;
715
- padded?: boolean;
716
- scrollEnabled?: boolean;
717
- style?: ViewStyle;
718
- contentStyle?: ViewStyle;
719
- }
720
- declare const ScreenContent: React.FC<ScreenContentProps>;
721
-
722
- interface SectionProps {
723
- title?: string;
724
- subtitle?: string;
725
- right?: React.ReactNode;
726
- children: React.ReactNode;
727
- spacing?: boolean;
728
- style?: ViewStyle;
729
- }
730
- declare const Section: React.FC<SectionProps>;
731
-
732
- type Align = 'start' | 'center' | 'end' | 'stretch';
733
- type Justify = 'start' | 'center' | 'end' | 'between' | 'around';
734
- interface StackProps {
735
- children: React.ReactNode;
736
- gap?: number;
737
- align?: Align;
738
- justify?: Justify;
739
- wrap?: boolean;
740
- style?: ViewStyle;
741
- }
742
- declare const VStack: React.FC<StackProps>;
743
- declare const HStack: React.FC<StackProps>;
744
- declare const Stack: React.FC<StackProps>;
745
-
746
- interface GridProps {
747
- children: React.ReactNode;
748
- columns?: number;
749
- gap?: number;
750
- style?: ViewStyle;
751
- }
752
- declare const Grid: React.FC<GridProps>;
753
-
754
- interface ListProps<T> {
755
- data: T[];
756
- renderItem: (item: T, index: number) => React.ReactNode;
757
- keyExtractor?: (item: T, index: number) => string;
758
- onRefresh?: () => void;
759
- refreshing?: boolean;
760
- emptyText?: string;
761
- emptyComponent?: React.ReactNode;
762
- style?: ViewStyle;
763
- contentStyle?: ViewStyle;
764
- separator?: boolean;
765
- }
766
- declare function List<T>({ data, renderItem, keyExtractor, onRefresh, refreshing, emptyText, emptyComponent, style, contentStyle, separator, }: ListProps<T>): react_jsx_runtime.JSX.Element;
767
-
768
- interface ListItemProps {
769
- title: string;
770
- subtitle?: string;
771
- left?: React.ReactNode;
772
- right?: React.ReactNode;
773
- onPress?: () => void;
774
- destructive?: boolean;
775
- style?: ViewStyle;
776
- }
777
- declare const ListItem: React.FC<ListItemProps>;
778
-
779
- interface SpacerProps {
780
- height?: number;
781
- width?: number;
782
- flex?: boolean;
783
- }
784
- declare const Spacer: React.FC<SpacerProps>;
785
-
786
- interface InputProps {
787
- label?: string;
788
- placeholder?: string;
789
- value?: string;
790
- onChangeText?: (text: string) => void;
791
- error?: string;
792
- hint?: string;
793
- left?: React.ReactNode;
794
- right?: React.ReactNode;
795
- clearable?: boolean;
796
- secureTextEntry?: boolean;
797
- multiline?: boolean;
798
- numberOfLines?: number;
799
- variant?: 'default' | 'filled' | 'underline';
800
- disabled?: boolean;
801
- style?: ViewStyle;
802
- inputStyle?: TextStyle;
803
- }
804
- declare const Input: React.FC<InputProps>;
805
-
806
- interface TextAreaProps extends Omit<InputProps, 'multiline' | 'numberOfLines'> {
807
- minHeight?: number;
808
- maxHeight?: number;
809
- style?: ViewStyle;
810
- inputStyle?: TextStyle;
811
- }
812
- declare const TextArea: React.FC<TextAreaProps>;
813
-
814
- interface SearchInputProps {
815
- value: string;
816
- onChangeText: (text: string) => void;
817
- placeholder?: string;
818
- onClear?: () => void;
819
- style?: ViewStyle;
820
- }
821
- declare const SearchInput: React.FC<SearchInputProps>;
822
-
823
- interface CheckboxProps {
824
- checked: boolean;
825
- onToggle: (v: boolean) => void;
826
- label?: string;
827
- disabled?: boolean;
828
- }
829
- declare const Checkbox: React.FC<CheckboxProps>;
830
-
831
- interface RadioOption {
832
- value: string;
833
- label: string;
834
- disabled?: boolean;
835
- }
836
- interface RadioGroupProps {
837
- options: RadioOption[];
838
- value: string;
839
- onChange: (v: string) => void;
840
- direction?: 'vertical' | 'horizontal';
841
- }
842
- declare const RadioGroup: React.FC<RadioGroupProps>;
843
-
844
- interface BlinkSwitchProps {
845
- value: boolean;
846
- onValueChange: (v: boolean) => void;
847
- label?: string;
848
- disabled?: boolean;
849
- }
850
- declare const BlinkSwitch: React.FC<BlinkSwitchProps>;
851
-
852
- interface SliderProps {
853
- value: number;
854
- onValueChange: (v: number) => void;
855
- min?: number;
856
- max?: number;
857
- step?: number;
858
- showValue?: boolean;
859
- style?: ViewStyle;
949
+ backgroundSource?: string | ImageSourcePropType;
950
+ backgroundColor?: string;
951
+ children?: React.ReactNode;
952
+ className?: string;
860
953
  }
861
- declare const Slider: React.FC<SliderProps>;
954
+ declare function ReelItem({ backgroundSource, backgroundColor, children, className, }: ReelItemProps): react_jsx_runtime.JSX.Element;
862
955
 
863
- interface SelectOption {
864
- label: string;
865
- value: string;
956
+ interface ReelAction {
957
+ key: string;
958
+ icon: React.ReactNode;
959
+ label?: string;
960
+ count?: number;
961
+ onPress?: () => void;
866
962
  }
867
- interface SelectProps {
868
- options: SelectOption[];
869
- value?: string;
870
- onChange: (value: string) => void;
871
- placeholder?: string;
872
- style?: ViewStyle;
963
+ interface ReelOverlayProps {
964
+ username: string;
965
+ description?: string;
966
+ actions?: ReelAction[];
967
+ avatar?: React.ReactNode;
968
+ children?: React.ReactNode;
969
+ className?: string;
873
970
  }
874
- declare const Select: React.FC<SelectProps>;
971
+ declare function ReelOverlay({ username, description, actions, avatar, children, className, }: ReelOverlayProps): react_jsx_runtime.JSX.Element;
875
972
 
876
- interface DatePickerProps {
877
- value?: Date;
878
- onChange: (date: Date) => void;
879
- placeholder?: string;
880
- mode?: 'date' | 'time' | 'datetime';
881
- style?: ViewStyle;
973
+ type GlassTint = 'light' | 'dark' | 'default' | 'extraLight' | 'prominent' | 'systemMaterial';
974
+ interface GlassViewProps {
975
+ intensity?: number;
976
+ tint?: GlassTint;
977
+ borderRadius?: number;
978
+ children?: React.ReactNode;
979
+ className?: string;
882
980
  }
883
- declare const DatePicker: React.FC<DatePickerProps>;
981
+ declare function GlassView({ intensity, tint, borderRadius, children, className, }: GlassViewProps): react_jsx_runtime.JSX.Element;
884
982
 
885
- interface CounterProps {
886
- value: number;
887
- onChange: (v: number) => void;
888
- min?: number;
889
- max?: number;
890
- step?: number;
983
+ interface GlassCardProps {
984
+ intensity?: number;
985
+ tint?: GlassTint;
986
+ onPress?: () => void;
987
+ style?: ViewStyle;
988
+ children?: React.ReactNode;
989
+ className?: string;
891
990
  }
892
- declare const Counter: React.FC<CounterProps>;
991
+ declare function GlassCard({ intensity, tint, onPress, style, children, className, }: GlassCardProps): react_jsx_runtime.JSX.Element;
893
992
 
894
- interface HeaderProps {
993
+ interface GlassHeaderProps {
895
994
  title?: string;
896
995
  subtitle?: string;
897
996
  left?: React.ReactNode;
898
997
  right?: React.ReactNode;
899
- variant?: 'default' | 'blurred' | 'transparent' | 'collapsible';
900
- large?: boolean;
901
- style?: ViewStyle;
998
+ intensity?: number;
999
+ tint?: GlassTint;
1000
+ showBackButton?: boolean;
1001
+ onBackPress?: () => void;
1002
+ backIcon?: React.ReactNode;
1003
+ children?: React.ReactNode;
1004
+ className?: string;
902
1005
  }
903
- declare const Header: React.FC<HeaderProps>;
1006
+ declare function GlassHeader({ title, subtitle, left, right, intensity, tint, showBackButton, onBackPress, backIcon, children, className, }: GlassHeaderProps): react_jsx_runtime.JSX.Element;
904
1007
 
905
- interface HeaderIconProps {
906
- icon: React.ReactNode;
907
- onPress?: () => void;
908
- label?: string;
1008
+ interface GlassSheetProps {
1009
+ visible: boolean;
1010
+ onClose: () => void;
1011
+ title?: string;
1012
+ height?: number;
1013
+ intensity?: number;
1014
+ tint?: GlassTint;
1015
+ children?: React.ReactNode;
1016
+ className?: string;
909
1017
  }
910
- declare const HeaderIcon: React.FC<HeaderIconProps>;
1018
+ declare function GlassSheet({ visible, onClose, title, height, intensity, tint, children, className, }: GlassSheetProps): react_jsx_runtime.JSX.Element;
911
1019
 
912
- interface TabItem {
1020
+ interface GlassTab {
913
1021
  key: string;
914
1022
  label: string;
915
1023
  icon: React.ReactNode;
916
1024
  activeIcon?: React.ReactNode;
1025
+ badge?: number;
917
1026
  }
918
- interface TabBarProps {
919
- tabs: TabItem[];
1027
+ interface GlassTabBarProps {
1028
+ tabs: GlassTab[];
920
1029
  activeKey: string;
921
1030
  onChange: (key: string) => void;
922
- style?: ViewStyle;
1031
+ intensity?: number;
1032
+ tint?: GlassTint;
1033
+ className?: string;
923
1034
  }
924
- declare const TabBar: React.FC<TabBarProps>;
1035
+ declare function GlassTabBar({ tabs, activeKey, onChange, intensity, tint, className, }: GlassTabBarProps): react_jsx_runtime.JSX.Element;
925
1036
 
926
- interface TabButtonProps {
927
- icon: React.ReactNode;
928
- label: string;
929
- active: boolean;
930
- onPress: () => void;
1037
+ type BubbleStatus = 'sending' | 'sent' | 'delivered' | 'read';
1038
+ interface ChatBubbleProps {
1039
+ content: string;
1040
+ variant: 'sent' | 'received';
1041
+ timestamp?: string;
1042
+ status?: BubbleStatus;
1043
+ renderMarkdown?: (content: string) => React.ReactNode;
1044
+ children?: React.ReactNode;
1045
+ className?: string;
931
1046
  }
932
- declare const TabButton: React.FC<TabButtonProps>;
1047
+ declare function ChatBubble({ content, variant, timestamp, status, renderMarkdown, children, className, }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
933
1048
 
934
- interface Segment {
935
- value: string;
936
- label: string;
1049
+ interface ChatInputProps {
1050
+ onSend?: (text: string) => void;
1051
+ placeholder?: string;
1052
+ attachButton?: React.ReactNode;
1053
+ voiceButton?: React.ReactNode;
1054
+ onAttach?: () => void;
1055
+ onVoice?: () => void;
1056
+ disabled?: boolean;
1057
+ className?: string;
937
1058
  }
938
- interface SegmentedControlProps {
939
- segments: Segment[];
940
- value: string;
941
- onChange: (v: string) => void;
942
- style?: ViewStyle;
1059
+ declare function ChatInput({ onSend, placeholder, attachButton, voiceButton, onAttach, onVoice, disabled, className, }: ChatInputProps): react_jsx_runtime.JSX.Element;
1060
+
1061
+ interface ChatMessage {
1062
+ id: string;
1063
+ type: 'sent' | 'received' | 'system';
1064
+ date?: string;
1065
+ }
1066
+ interface ChatListProps<T extends ChatMessage> {
1067
+ messages: T[];
1068
+ renderMessage: (item: T, index: number) => React.ReactNode;
1069
+ renderDateSeparator?: (date: string) => React.ReactNode;
1070
+ className?: string;
943
1071
  }
944
- declare const SegmentedControl: React.FC<SegmentedControlProps>;
1072
+ declare function ChatList<T extends ChatMessage>({ messages, renderMessage, renderDateSeparator, className, }: ChatListProps<T>): react_jsx_runtime.JSX.Element;
945
1073
 
946
- type BottomSheetRef = {
947
- show: () => void;
948
- hide: () => void;
949
- };
950
- interface BottomSheetProps {
951
- children: React.ReactNode;
952
- title?: string;
953
- snapPoints?: number[];
954
- style?: ViewStyle;
1074
+ interface TypingIndicatorProps {
1075
+ label?: React.ReactNode;
1076
+ className?: string;
955
1077
  }
956
- declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<BottomSheetRef>>;
957
- declare function useBottomSheet(): {
958
- ref: React.RefObject<BottomSheetRef>;
959
- show: () => void | undefined;
960
- hide: () => void | undefined;
961
- };
1078
+ declare function TypingIndicator({ label, className }: TypingIndicatorProps): react_jsx_runtime.JSX.Element;
962
1079
 
963
- interface BlinkModalProps {
964
- visible: boolean;
965
- onClose: () => void;
966
- title?: string;
967
- description?: string;
968
- children?: React.ReactNode;
969
- showCloseButton?: boolean;
970
- style?: ViewStyle;
1080
+ interface ListingCardProps {
1081
+ image: ImageSourcePropType | string;
1082
+ title: string;
1083
+ subtitle?: string;
1084
+ price: string;
1085
+ priceSuffix?: string;
1086
+ rating?: number;
1087
+ favorite?: boolean;
1088
+ badge?: string;
1089
+ imageHeight?: number;
1090
+ onPress?: () => void;
1091
+ onFavorite?: () => void;
1092
+ className?: string;
971
1093
  }
972
- declare const BlinkModal: React.FC<BlinkModalProps>;
1094
+ declare function ListingCard({ image, title, subtitle, price, priceSuffix, rating, favorite, badge, imageHeight, onPress, onFavorite, className, }: ListingCardProps): react_jsx_runtime.JSX.Element;
973
1095
 
974
- interface ConfirmationSheetProps {
1096
+ interface ProductCardProps {
1097
+ image: ImageSourcePropType | string;
975
1098
  title: string;
976
- message?: string;
977
- confirmLabel?: string;
978
- cancelLabel?: string;
979
- onConfirm: () => void;
980
- onCancel: () => void;
981
- destructive?: boolean;
1099
+ price: string;
1100
+ originalPrice?: string;
1101
+ badge?: string;
1102
+ favorite?: boolean;
1103
+ onPress?: () => void;
1104
+ onFavorite?: () => void;
1105
+ className?: string;
982
1106
  }
983
- declare const ConfirmationSheet: React.FC<ConfirmationSheetProps>;
984
- declare function useConfirmationSheet(): {
985
- show: (p: ConfirmationSheetProps) => void;
986
- Sheet: react_jsx_runtime.JSX.Element | null;
987
- };
1107
+ declare function ProductCard({ image, title, price, originalPrice, badge, favorite, onPress, onFavorite, className, }: ProductCardProps): react_jsx_runtime.JSX.Element;
988
1108
 
989
- interface ActionItem {
990
- label: string;
991
- icon?: React.ReactNode;
992
- onPress: () => void;
993
- destructive?: boolean;
994
- disabled?: boolean;
1109
+ interface CartItemProps {
1110
+ image: ImageSourcePropType | string;
1111
+ title: string;
1112
+ subtitle?: string;
1113
+ price: string;
1114
+ quantity: number;
1115
+ onIncrement?: () => void;
1116
+ onDecrement?: () => void;
1117
+ onRemove?: () => void;
1118
+ className?: string;
995
1119
  }
996
- interface BlinkActionSheetProps {
997
- title?: string;
998
- items: ActionItem[];
999
- cancelLabel?: string;
1000
- onClose?: () => void;
1120
+ declare function CartItem({ image, title, subtitle, price, quantity, onIncrement, onDecrement, onRemove, className, }: CartItemProps): react_jsx_runtime.JSX.Element;
1121
+
1122
+ interface PriceTagProps {
1123
+ price: string;
1124
+ originalPrice?: string;
1125
+ suffix?: string;
1126
+ className?: string;
1001
1127
  }
1002
- declare const BlinkActionSheet: React.FC<BlinkActionSheetProps>;
1003
- declare function useActionSheet(): {
1004
- show: (p: BlinkActionSheetProps) => void;
1005
- Sheet: react_jsx_runtime.JSX.Element | null;
1006
- };
1128
+ declare function PriceTag({ price, originalPrice, suffix, className }: PriceTagProps): react_jsx_runtime.JSX.Element;
1007
1129
 
1008
- type ToastType = 'success' | 'error' | 'info' | 'warning';
1009
- type ToastPosition = 'top' | 'bottom';
1010
- interface ToastOptions {
1011
- message: string;
1012
- type?: ToastType;
1013
- duration?: number;
1014
- position?: ToastPosition;
1130
+ interface RatingStarsProps {
1131
+ rating: number;
1132
+ maxStars?: number;
1133
+ count?: number;
1134
+ size?: number;
1135
+ className?: string;
1015
1136
  }
1016
- declare const Toast: React.FC;
1017
- declare const toast: {
1018
- show: (opts: ToastOptions) => void | undefined;
1019
- success: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
1020
- error: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
1021
- info: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
1022
- warning: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
1023
- };
1137
+ declare function RatingStars({ rating, maxStars, count, size, className, }: RatingStarsProps): react_jsx_runtime.JSX.Element;
1024
1138
 
1025
- interface PageLoaderProps {
1026
- message?: string;
1027
- transparent?: boolean;
1139
+ interface CategoryTileProps {
1140
+ icon: keyof typeof Ionicons.glyphMap;
1141
+ label: string;
1142
+ iconColor?: string;
1143
+ onPress?: () => void;
1144
+ className?: string;
1028
1145
  }
1029
- declare const PageLoader: React.FC<PageLoaderProps>;
1146
+ declare function CategoryTile({ icon, label, iconColor, onPress, className, }: CategoryTileProps): react_jsx_runtime.JSX.Element;
1030
1147
 
1031
- interface EmptyStateProps {
1032
- icon?: React.ReactNode;
1148
+ interface BalanceDisplayProps {
1149
+ label?: string;
1150
+ amount: string;
1151
+ currency?: string;
1152
+ changePercent?: number;
1153
+ className?: string;
1154
+ }
1155
+ declare function BalanceDisplay({ label, amount, currency, changePercent, className, }: BalanceDisplayProps): react_jsx_runtime.JSX.Element;
1156
+
1157
+ interface CardPreviewProps {
1158
+ cardNumber?: string;
1159
+ expiryDate?: string;
1160
+ brand?: string;
1161
+ gradientColors?: [string, string];
1162
+ className?: string;
1163
+ }
1164
+ declare function CardPreview({ cardNumber, expiryDate, brand, gradientColors, className, }: CardPreviewProps): react_jsx_runtime.JSX.Element;
1165
+
1166
+ interface TransactionItemProps {
1033
1167
  title: string;
1034
- description?: string;
1035
- action?: {
1036
- label: string;
1037
- onPress: () => void;
1038
- };
1039
- style?: ViewStyle;
1168
+ amount: string;
1169
+ time: string;
1170
+ method?: string;
1171
+ isIncome?: boolean;
1172
+ icon?: keyof typeof Ionicons.glyphMap;
1173
+ avatar?: ImageSourcePropType | string;
1174
+ onPress?: () => void;
1175
+ className?: string;
1040
1176
  }
1041
- declare const EmptyState: React.FC<EmptyStateProps>;
1177
+ declare function TransactionItem({ title, amount, time, method, isIncome, icon, avatar, onPress, className, }: TransactionItemProps): react_jsx_runtime.JSX.Element;
1042
1178
 
1043
- interface PlaceholderProps {
1044
- width?: number | string;
1045
- height?: number;
1046
- borderRadius?: number;
1047
- style?: ViewStyle;
1179
+ interface StoryCircleProps {
1180
+ image: ImageSourcePropType | string;
1181
+ size?: number;
1182
+ seen?: boolean;
1183
+ gradientColors?: string[];
1184
+ onPress?: () => void;
1185
+ className?: string;
1186
+ }
1187
+ declare function StoryCircle({ image, size, seen, gradientColors, onPress, className, }: StoryCircleProps): react_jsx_runtime.JSX.Element;
1188
+
1189
+ interface FeedCardProps {
1190
+ userName: string;
1191
+ userAvatar: ImageSourcePropType | string;
1192
+ timeAgo: string;
1193
+ content?: string;
1194
+ image?: ImageSourcePropType | string;
1195
+ liked?: boolean;
1196
+ likeCount?: number;
1197
+ commentCount?: number;
1198
+ bookmarked?: boolean;
1199
+ onLike?: () => void;
1200
+ onComment?: () => void;
1201
+ onShare?: () => void;
1202
+ onBookmark?: () => void;
1203
+ onMore?: () => void;
1204
+ onUserPress?: () => void;
1205
+ className?: string;
1048
1206
  }
1049
- declare const Placeholder: React.FC<PlaceholderProps>;
1207
+ declare function FeedCard({ userName, userAvatar, timeAgo, content, image, liked, likeCount, commentCount, bookmarked, onLike, onComment, onShare, onBookmark, onMore, onUserPress, className, }: FeedCardProps): react_jsx_runtime.JSX.Element;
1050
1208
 
1051
- interface TextSkeletonProps {
1052
- lines?: number;
1053
- style?: ViewStyle;
1209
+ interface ProviderCardProps {
1210
+ heroImage: ImageSourcePropType | string;
1211
+ avatar: ImageSourcePropType | string;
1212
+ name: string;
1213
+ rating?: number;
1214
+ location?: string;
1215
+ description?: string;
1216
+ onPress?: () => void;
1217
+ className?: string;
1054
1218
  }
1055
- interface CardSkeletonProps {
1056
- style?: ViewStyle;
1219
+ declare function ProviderCard({ heroImage, avatar, name, rating, location, description, onPress, className, }: ProviderCardProps): react_jsx_runtime.JSX.Element;
1220
+
1221
+ interface Reaction {
1222
+ emoji: string;
1223
+ count: number;
1224
+ active?: boolean;
1057
1225
  }
1058
- interface ListSkeletonProps {
1059
- rows?: number;
1060
- style?: ViewStyle;
1226
+ interface ReactionBarProps {
1227
+ reactions: Reaction[];
1228
+ onReact?: (emoji: string) => void;
1229
+ className?: string;
1061
1230
  }
1062
- interface AvatarSkeletonProps {
1063
- size?: number;
1064
- style?: ViewStyle;
1231
+ declare function ReactionBar({ reactions, onReact, className }: ReactionBarProps): react_jsx_runtime.JSX.Element;
1232
+
1233
+ interface SearchBarProps {
1234
+ placeholder?: string;
1235
+ value?: string;
1236
+ onChangeText?: (text: string) => void;
1237
+ onSubmit?: (text: string) => void;
1238
+ autoFocus?: boolean;
1239
+ /** When true, renders as a pressable pill that opens full-screen overlay */
1240
+ asTrigger?: boolean;
1241
+ className?: string;
1065
1242
  }
1066
- declare const SkeletonLoader: {
1067
- Text: React.FC<TextSkeletonProps>;
1068
- Card: React.FC<CardSkeletonProps>;
1069
- List: React.FC<ListSkeletonProps>;
1070
- Avatar: React.FC<AvatarSkeletonProps>;
1071
- };
1243
+ declare function SearchBar({ placeholder, value: controlledValue, onChangeText, onSubmit, autoFocus, asTrigger, className, }: SearchBarProps): react_jsx_runtime.JSX.Element;
1072
1244
 
1073
- interface HorizontalScrollerProps {
1074
- children: React.ReactNode;
1075
- snap?: boolean;
1076
- snapInterval?: number;
1077
- paddingHorizontal?: number;
1078
- gap?: number;
1079
- style?: ViewStyle;
1245
+ interface FilterChip {
1246
+ id: string;
1247
+ label: string;
1248
+ }
1249
+ interface FilterChipRowProps {
1250
+ chips: FilterChip[];
1251
+ activeId?: string;
1252
+ onSelect?: (id: string) => void;
1253
+ className?: string;
1080
1254
  }
1081
- declare const HorizontalScroller: React.FC<HorizontalScrollerProps>;
1255
+ declare function FilterChipRow({ chips, activeId, onSelect, className, }: FilterChipRowProps): react_jsx_runtime.JSX.Element;
1082
1256
 
1083
- interface CardScrollerProps {
1084
- children: React.ReactNode;
1085
- cardWidth?: number;
1086
- gap?: number;
1087
- snapEnabled?: boolean;
1088
- paddingHorizontal?: number;
1089
- style?: ViewStyle;
1257
+ type SectionTitleSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
1258
+ interface SectionHeaderProps {
1259
+ title: string;
1260
+ titleSize?: SectionTitleSize;
1261
+ linkText?: string;
1262
+ onLinkPress?: () => void;
1263
+ className?: string;
1090
1264
  }
1091
- declare const CardScroller: React.FC<CardScrollerProps>;
1265
+ declare function SectionHeader({ title, titleSize, linkText, onLinkPress, className, }: SectionHeaderProps): react_jsx_runtime.JSX.Element;
1092
1266
 
1093
- interface ImageCarouselProps {
1094
- images: string[];
1095
- height?: number;
1096
- borderRadius?: number;
1097
- onIndexChange?: (index: number) => void;
1098
- style?: ViewStyle;
1267
+ interface CheckoutStep {
1268
+ key: string;
1269
+ label: string;
1270
+ content: React.ReactNode;
1271
+ }
1272
+ interface CheckoutFlowProps {
1273
+ steps: CheckoutStep[];
1274
+ onComplete?: () => void;
1275
+ nextLabel?: string;
1276
+ completeLabel?: string;
1277
+ className?: string;
1278
+ }
1279
+ declare function CheckoutFlow({ steps, onComplete, nextLabel, completeLabel, className, }: CheckoutFlowProps): react_jsx_runtime.JSX.Element;
1280
+
1281
+ interface DateRangePickerProps {
1282
+ startDate?: Date;
1283
+ endDate?: Date;
1284
+ onSelect?: (start: Date, end: Date | null) => void;
1285
+ className?: string;
1099
1286
  }
1100
- declare const ImageCarousel: React.FC<ImageCarouselProps>;
1287
+ declare function DateRangePicker({ startDate: initialStart, endDate: initialEnd, onSelect, className, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1101
1288
 
1102
- export { type ActionItem, AnimatedFab, AnimatedView, AnimatedView as AnimatedViewNamed, type AnimationType, Avatar, type AvatarProps, Badge, type BadgeProps, BlinkActionSheet, type BlinkActionSheetProps, BlinkMobileUIProvider, BlinkModal, type BlinkModalProps, BlinkPressable, type BlinkPressableProps, BlinkSwitch, type BlinkSwitchProps, type BorderRadiusScale, BottomSheet, type BottomSheetProps, type BottomSheetRef, Button, type ButtonProps, Card, type CardProps, CardScroller, type CardScrollerProps, ChatBubble, ChatInput, ChatList, Checkbox, type CheckboxProps, Chip, type ChipProps, type ColorPalette, type ColorScheme, ConfirmationSheet, type ConfirmationSheetProps, Container, type ContainerProps, Counter, type CounterProps, DatePicker, type DatePickerProps, Divider, type DividerProps, EmptyState, type EmptyStateProps, FadeIn, FeatureRow, GlassCard, GlassHeader, GlassSheet, GlassTabBar, GlassView, Grid, type GridProps, HStack, Header, HeaderIcon, type HeaderIconProps, type HeaderProps, HorizontalScroller, type HorizontalScrollerProps, Icon, IconButton, type IconButtonProps, type IconProps, ImageCarousel, type ImageCarouselProps, Input, type InputProps, List, ListItem, type ListItemProps, type ListProps, MultiStep, type MultiStepProps, OnboardingCarousel, type OnboardingCarouselProps, OnboardingFlow, OnboardingHero, type OnboardingSlide, PageLoader, type PageLoaderProps, type PaletteName, PaywallHard, PaywallScreen, type PaywallScreenProps, PaywallSoft, PermissionStep, Placeholder, type PlaceholderProps, PlanCard, PlanComparison, type PlanOption, ProgressBar, type ProgressBarProps, type QuizOption, QuizStep, type QuizStepProps, RadioGroup, type RadioGroupProps, ReelItem, ReelOverlay, SCREEN_HEIGHT, SCREEN_WIDTH, SafeWrapper, type SafeWrapperProps, ScaleIn, ScreenContent, type ScreenContentProps, SearchInput, type SearchInputProps, Section, type SectionProps, SegmentedControl, type SegmentedControlProps, Select, type SelectProps, type ShadowScale, Skeleton, SkeletonLoader, type SkeletonProps, SlideIn, SlideUp, Slider, SocialProofBar, Spacer, type SpacerProps, type SpacingScale, Stack, type StackProps, type StepProps, SwipeActions, SwipeCard, SwipeDeck, SwipeOverlay, TabBar, type TabBarProps, TabButton, type TabButtonProps, Tag, type TagProps, Text, TextArea, type TextProps, type ThemeTokens, Toast, Toggle, type ToggleProps, TrialBanner, TypingIndicator, type TypographyScale, VStack, VerticalReel, applyShadow, mergeStyles as cn, defaultPalette, hapticAvailable, isAndroid, isIOS, isWeb, mergeStyles, palettes, platformTouchTarget, platformValue, shadowPresets, toast, useActionSheet, useBlinkMobileUI, useBottomSheet, useConfirmationSheet, useThemeColors };
1289
+ export { type ActionItem, AnimatedFab, AnimatedView, type AnimationType, AuthButtons, type AuthButtonsProps, type AuthProvider, Avatar, type AvatarProps, Badge, type BadgeProps, BalanceDisplay, type BalanceDisplayProps, BlinkActionSheet, type BlinkActionSheetProps, BlinkMobileUIProvider, BlinkModal, BlinkPressable, type BlinkPressableProps, BlinkSwitch, type BlinkSwitchProps, BlinkText, type BlinkTextProps, BottomSheet, Button, type ButtonProps, Card, type CardBodyProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardImageProps, CardPreview, type CardPreviewProps, type CardProps, CardScroller, type CardTitleProps, CartItem, type CartItemProps, CategoryTile, type CategoryTileProps, ChatBubble, type ChatBubbleProps, ChatInput, type ChatInputProps, ChatList, type ChatListProps, type ChatMessage, Checkbox, type CheckboxProps, CheckoutFlow, type CheckoutFlowProps, type CheckoutStep, Chip, type ChipProps, type ColorScheme, ConfirmationSheet, type ConfirmationSheetProps, Container, type ContainerProps, Counter, type CounterProps, DateRangePicker, type DateRangePickerProps, Divider, type DividerProps, EmptyState, FadeIn, FeatureRow, type FeatureRowProps, FeedCard, type FeedCardProps, type FilterChip, FilterChipRow, type FilterChipRowProps, type FlexStackProps, GlassCard, type GlassCardProps, GlassHeader, type GlassHeaderProps, GlassSheet, type GlassSheetProps, type GlassTab, GlassTabBar, type GlassTabBarProps, type GlassTint, GlassView, type GlassViewProps, Grid, type GridProps, HStack, Header, HeaderIcon, type HeaderIconProps, type HeaderProps, type HeaderVariant, IconButton, type IconButtonProps, IconContainer, type IconContainerProps, ImageCarousel, Input, type InputProps, type InputVariant, List, ListItem, type ListItemProps, type ListProps, ListingCard, type ListingCardProps, MultiStep, OnboardingCarousel, type OnboardingCarouselProps, OnboardingFlow, type OnboardingFlowProps, type OnboardingFlowStep, OnboardingHero, type OnboardingHeroProps, OnboardingParallax, type OnboardingParallaxProps, type OnboardingSlide, PageLoader, type PaletteName, type ParallaxLayer, type ParallaxSlide, type PaywallFeature, PaywallHard, type PaywallHardProps, PaywallScreen, type PaywallScreenProps, PaywallSoft, type PaywallSoftProps, PermissionStep, type PermissionStepProps, Placeholder, PlanCard, type PlanCardProps, PlanComparison, type PlanComparisonProps, type PlanOption, PriceTag, type PriceTagProps, ProductCard, type ProductCardProps, ProgressBar, type ProgressBarProps, ProviderCard, type ProviderCardProps, type QuizOption, QuizStep, type QuizStepProps, RadioGroup, type RadioGroupProps, type RadioOption, RatingStars, type RatingStarsProps, type Reaction, ReactionBar, type ReactionBarProps, type ReelAction, ReelItem, type ReelItemProps, ReelOverlay, type ReelOverlayProps, SafeWrapper, type SafeWrapperProps, ScaleIn, SearchBar, type SearchBarProps, SearchInput, type SearchInputProps, SearchPill, type SearchPillProps, Section, SectionHeader, type SectionHeaderProps, type SectionProps, type SectionTitleSize, type Segment, SegmentedControl, type SegmentedControlProps, Select, type SelectOption, type SelectProps, Skeleton, SkeletonLoader, type SkeletonProps, SlideIn, SlideUp, Slider, type SliderProps, SocialProofBar, type SocialProofBarProps, Spacer, type SpacerProps, Stack, type StackProps, StoryCircle, type StoryCircleProps, SwipeActions, type SwipeActionsProps, SwipeCard, type SwipeCardProps, SwipeDeck, type SwipeDeckProps, type SwipeDirection, SwipeOverlay, type SwipeOverlayProps, TabBar, type TabBarProps, TabButton, type TabButtonProps, type TabItem, Tag, type TagProps, TextArea, type TextAreaProps, ThemeScroller, type ThemeScrollerProps$1 as ThemeScrollerProps, Toast, Toggle, type ToggleProps, TransactionItem, type TransactionItemProps, TrialBanner, type TrialBannerProps, TypingIndicator, type TypingIndicatorProps, VStack, VerticalReel, type VerticalReelProps, cn, palettes, toast, useActionSheet, useAnimColors, useBlinkMobileUI, useConfirmationSheet };