@blinkdotnew/mobile-ui 1.0.1 → 2.0.0-alpha.2

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,1289 +1,368 @@
1
+ import * as tamagui from 'tamagui';
2
+ import { TamaguiInternalConfig, GetProps, YStack } from 'tamagui';
3
+ import * as react from 'react';
4
+ import { ReactNode } from 'react';
5
+ import * as _tamagui_core from '@tamagui/core';
6
+ import * as _tamagui_web from '@tamagui/web';
1
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React, { ReactNode } from 'react';
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';
8
-
9
- type PaletteName = 'ocean' | 'coral' | 'violet' | 'midnight' | 'rose' | 'neon';
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>;
16
-
17
- interface BlinkMobileUIContextValue {
18
- palette: PaletteName;
19
- colorScheme: ColorScheme;
20
- isDark: boolean;
21
- setPalette: (p: PaletteName) => void;
22
- setColorScheme: (s: ColorScheme) => void;
23
- }
24
- declare function useBlinkMobileUI(): BlinkMobileUIContextValue;
25
- interface BlinkMobileUIProviderProps {
26
- children: React.ReactNode;
27
- palette?: PaletteName;
28
- colorScheme?: ColorScheme;
29
- }
30
- declare function BlinkMobileUIProvider({ children, palette: initPalette, colorScheme: initScheme, }: BlinkMobileUIProviderProps): react_jsx_runtime.JSX.Element;
31
-
32
- declare function cn(...inputs: ClassValue[]): string;
33
-
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;
8
+ import * as react_native from 'react-native';
9
+
10
+ declare const blinkConfig: TamaguiInternalConfig;
11
+ type BlinkConfig = typeof blinkConfig;
12
+ declare module 'tamagui' {
13
+ interface TamaguiCustomConfig extends BlinkConfig {
14
+ }
15
+ }
16
+
17
+ declare const Button: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps & tamagui.TextContextStyles & {
18
+ textProps?: Partial<tamagui.SizableTextProps>;
19
+ noTextWrap?: boolean;
20
+ } & _tamagui_web.ThemeableProps & {
21
+ icon?: react.JSX.Element | react.FunctionComponent<{
22
+ color?: any;
23
+ size?: any;
24
+ }> | ((props: {
25
+ color?: any;
26
+ size?: any;
27
+ }) => any) | null;
28
+ iconAfter?: react.JSX.Element | react.FunctionComponent<{
29
+ color?: any;
30
+ size?: any;
31
+ }> | ((props: {
32
+ color?: any;
33
+ size?: any;
34
+ }) => any) | null;
35
+ scaleIcon?: number;
36
+ spaceFlex?: number | boolean;
37
+ scaleSpace?: number;
38
+ unstyled?: boolean;
39
+ }, _tamagui_web.StackStyleBase, {
40
+ size?: number | "sm" | "md" | "lg" | tamagui.SizeTokens | undefined;
41
+ disabled?: boolean | undefined;
42
+ elevation?: number | tamagui.SizeTokens | undefined;
43
+ variant?: "transparent" | "default" | "primary" | "outlined" | "floating" | "destructive" | undefined;
44
+ inset?: number | tamagui.SizeTokens | {
45
+ top?: number;
46
+ bottom?: number;
47
+ left?: number;
48
+ right?: number;
49
+ } | null | undefined;
50
+ unstyled?: boolean | undefined;
51
+ transparent?: boolean | undefined;
52
+ fullscreen?: boolean | undefined;
53
+ circular?: boolean | undefined;
54
+ hoverTheme?: boolean | undefined;
55
+ pressTheme?: boolean | undefined;
56
+ focusTheme?: boolean | undefined;
57
+ elevate?: boolean | undefined;
58
+ bordered?: number | boolean | undefined;
59
+ backgrounded?: boolean | undefined;
60
+ radiused?: boolean | undefined;
61
+ padded?: boolean | undefined;
62
+ chromeless?: boolean | "all" | undefined;
63
+ fullWidth?: boolean | undefined;
64
+ }, _tamagui_web.StaticConfigPublic>;
65
+ type ButtonProps = GetProps<typeof Button>;
66
+
67
+ declare const BlinkText: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
68
+ size?: tamagui.FontSizeTokens | undefined;
69
+ bold?: boolean | undefined;
70
+ variant?: "body" | "display" | "h1" | "h2" | "h3" | "h4" | "bodySmall" | "caption" | "small" | undefined;
71
+ unstyled?: boolean | undefined;
72
+ center?: boolean | undefined;
73
+ muted?: boolean | undefined;
74
+ secondary?: boolean | undefined;
75
+ }, _tamagui_web.StaticConfigPublic>;
76
+ type BlinkTextProps = GetProps<typeof BlinkText>;
77
+
78
+ declare const CardFrame: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
79
+ size?: "sm" | "md" | "lg" | undefined;
80
+ variant?: "outlined" | "flat" | "elevated" | undefined;
81
+ pressable?: boolean | undefined;
82
+ }, _tamagui_web.StaticConfigPublic>;
83
+ type CardProps = GetProps<typeof CardFrame>;
84
+ declare const Card: react.ForwardRefExoticComponent<Omit<_tamagui_core.RNTamaguiViewNonStyleProps, "size" | keyof _tamagui_web.StackStyleBase | "variant" | "pressable"> & _tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase> & {
85
+ size?: "sm" | "md" | "lg" | undefined;
86
+ variant?: "outlined" | "flat" | "elevated" | undefined;
87
+ pressable?: boolean | undefined;
88
+ } & _tamagui_web.WithShorthands<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase>> & _tamagui_web.WithPseudoProps<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase> & {
89
+ size?: "sm" | "md" | "lg" | undefined;
90
+ variant?: "outlined" | "flat" | "elevated" | undefined;
91
+ pressable?: boolean | undefined;
92
+ } & _tamagui_web.WithShorthands<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase>>> & _tamagui_web.WithMediaProps<_tamagui_web.WithThemeShorthandsAndPseudos<_tamagui_web.StackStyleBase, {
93
+ size?: "sm" | "md" | "lg" | undefined;
94
+ variant?: "outlined" | "flat" | "elevated" | undefined;
95
+ pressable?: boolean | undefined;
96
+ }>> & react.RefAttributes<tamagui.TamaguiElement>> & _tamagui_web.StaticComponentObject<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
97
+ size?: "sm" | "md" | "lg" | undefined;
98
+ variant?: "outlined" | "flat" | "elevated" | undefined;
99
+ pressable?: boolean | undefined;
100
+ }, _tamagui_web.StaticConfigPublic> & Omit<_tamagui_web.StaticConfigPublic, "staticConfig" | "extractable" | "styleable"> & {
101
+ __tama: [_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
102
+ size?: "sm" | "md" | "lg" | undefined;
103
+ variant?: "outlined" | "flat" | "elevated" | undefined;
104
+ pressable?: boolean | undefined;
105
+ }, _tamagui_web.StaticConfigPublic];
106
+ } & {
107
+ Header: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
108
+ Content: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
109
+ Footer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
44
110
  };
45
111
 
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;
60
- }
61
- declare function BlinkText({ variant, weight, className, children, ...props }: BlinkTextProps): react_jsx_runtime.JSX.Element;
62
-
63
- type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
64
- type ButtonSize = 'sm' | 'md' | 'lg';
65
- type ButtonRounded = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
66
- interface ButtonProps {
67
- title?: string;
68
- onPress?: () => void;
69
- loading?: boolean;
70
- variant?: ButtonVariant;
71
- size?: ButtonSize;
72
- rounded?: ButtonRounded;
73
- className?: string;
74
- textClassName?: string;
75
- disabled?: boolean;
76
- iconStart?: React.ReactNode;
77
- iconEnd?: React.ReactNode;
78
- children?: React.ReactNode;
79
- }
80
- declare function Button({ title, onPress, loading, variant, size, rounded, className, textClassName, disabled, iconStart, iconEnd, children, }: ButtonProps): react_jsx_runtime.JSX.Element;
81
-
82
- type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
83
- interface AvatarProps {
84
- src?: string;
85
- name?: string;
86
- size?: AvatarSize;
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;
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;
132
- }
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;
140
-
141
- type ChipVariant = 'filled' | 'outlined' | 'tinted';
142
- type ChipSize = 'sm' | 'md';
143
- interface ChipProps {
144
- label: string;
145
- variant?: ChipVariant;
146
- size?: ChipSize;
147
- selected?: boolean;
148
- onPress?: () => void;
149
- iconStart?: React.ReactNode;
150
- iconEnd?: React.ReactNode;
151
- className?: string;
152
- }
153
- declare function Chip({ label, variant, size, selected, onPress, iconStart, iconEnd, className, }: ChipProps): react_jsx_runtime.JSX.Element;
154
-
155
- type BadgeVariant = 'default' | 'primary' | 'success' | 'error' | 'warning';
156
- type BadgeSize = 'sm' | 'md';
157
- interface BadgeProps {
158
- label: string;
159
- variant?: BadgeVariant;
160
- size?: BadgeSize;
161
- className?: string;
162
- }
163
- declare function Badge({ label, variant, size, className }: BadgeProps): react_jsx_runtime.JSX.Element;
164
-
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;
172
- }
173
- declare function IconContainer({ variant, size, className, children, }: IconContainerProps): react_jsx_runtime.JSX.Element;
174
-
175
- type DividerOrientation = 'horizontal' | 'vertical';
176
- interface DividerProps {
177
- orientation?: DividerOrientation;
178
- label?: string;
179
- className?: string;
180
- }
181
- declare function Divider({ orientation, label, className }: DividerProps): react_jsx_runtime.JSX.Element;
182
-
183
- type SkeletonVariant = 'rect' | 'circle' | 'text';
184
- interface SkeletonProps {
185
- variant?: SkeletonVariant;
186
- width?: number | string;
187
- height?: number | string;
188
- className?: string;
189
- }
190
- declare function Skeleton({ variant, width, height, className }: SkeletonProps): react_jsx_runtime.JSX.Element;
191
-
192
- type ProgressBarSize = 'sm' | 'md' | 'lg';
193
- type ProgressBarVariant = 'primary' | 'success' | 'warning' | 'error';
194
- interface ProgressBarProps {
195
- progress: number;
196
- variant?: ProgressBarVariant;
197
- size?: ProgressBarSize;
198
- className?: string;
199
- }
200
- declare function ProgressBar({ progress, variant, size, className, }: ProgressBarProps): react_jsx_runtime.JSX.Element;
201
-
202
- type ToggleSize = 'sm' | 'md';
203
- interface ToggleProps {
204
- value: boolean;
205
- onValueChange: (value: boolean) => void;
206
- size?: ToggleSize;
207
- disabled?: boolean;
208
- className?: string;
209
- }
210
- declare function Toggle({ value, onValueChange, size, disabled, className, }: ToggleProps): react_jsx_runtime.JSX.Element;
211
-
212
- type TagVariant = 'filled' | 'outlined' | 'tinted';
213
- interface TagProps {
214
- label: string;
215
- variant?: TagVariant;
216
- onRemove?: () => void;
217
- className?: string;
218
- }
219
- declare function Tag({ label, variant, onRemove, className }: TagProps): react_jsx_runtime.JSX.Element;
220
-
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;
231
- }
232
- declare function IconButton({ onPress, variant, size, rounded, disabled, className, children, }: IconButtonProps): react_jsx_runtime.JSX.Element;
233
-
234
- interface SafeWrapperProps {
235
- children: React.ReactNode;
236
- className?: string;
237
- style?: ViewStyle;
238
- edges?: ('top' | 'bottom' | 'left' | 'right')[];
239
- }
240
- declare function SafeWrapper({ children, className, style, edges }: SafeWrapperProps): react_jsx_runtime.JSX.Element;
241
-
242
- interface ContainerProps {
243
- children: React.ReactNode;
244
- scrollable?: boolean;
245
- padded?: boolean;
246
- className?: string;
247
- style?: ViewStyle;
248
- }
249
- declare function Container({ children, scrollable, padded, className, style, }: ContainerProps): react_jsx_runtime.JSX.Element;
250
-
251
- interface ThemeScrollerProps$1 {
252
- selected: PaletteName;
253
- onSelect: (palette: PaletteName) => void;
254
- className?: string;
255
- }
256
-
257
- type SectionPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';
258
- type TitleSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
259
- interface SectionProps {
260
- children?: React.ReactNode;
261
- title?: string;
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;
271
- }
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;
282
- style?: ViewStyle;
283
- }
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';
288
- }
289
- declare function Stack({ children, direction, ...props }: FlexStackProps): react_jsx_runtime.JSX.Element;
290
-
291
- interface GridProps {
292
- children: React.ReactNode;
293
- columns?: 2 | 3 | 4;
294
- gap?: number;
295
- className?: string;
296
- style?: ViewStyle;
297
- }
298
- declare function Grid({ children, columns, gap, className, style }: GridProps): react_jsx_runtime.JSX.Element;
299
-
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;
307
- }
308
- declare function List<T>({ data, renderItem, keyExtractor, separator, className, style, }: ListProps<T>): react_jsx_runtime.JSX.Element;
309
-
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;
318
- style?: ViewStyle;
319
- }
320
- declare function ListItem({ title, subtitle, leading, trailing, onPress, disabled, className, style, }: ListItemProps): react_jsx_runtime.JSX.Element;
321
-
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;
329
-
330
- type InputVariant = 'animated' | 'classic' | 'underlined';
331
- interface InputProps extends Omit<TextInputProps, 'className'> {
112
+ declare const InputField: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, react_native.TextInput, _tamagui_web.TamaguiComponentPropsBaseBase & react_native.TextInputProps & tamagui.InputExtraProps, _tamagui_web.TextStylePropsBase & {
113
+ readonly placeholderTextColor?: Omit<tamagui.ColorTokens | _tamagui_web.ThemeValueFallbackColor, "unset"> | undefined;
114
+ readonly selectionColor?: Omit<tamagui.ColorTokens | _tamagui_web.ThemeValueFallbackColor, "unset"> | undefined;
115
+ }, {
116
+ size?: tamagui.SizeTokens | undefined;
117
+ disabled?: boolean | undefined;
118
+ variant?: "default" | "filled" | undefined;
119
+ unstyled?: boolean | undefined;
120
+ hasError?: boolean | undefined;
121
+ }, {
122
+ isInput: true;
123
+ accept: {
124
+ readonly placeholderTextColor: "color";
125
+ readonly selectionColor: "color";
126
+ };
127
+ } & _tamagui_web.StaticConfigPublic>;
128
+ type InputProps = GetProps<typeof InputField> & {
332
129
  label?: string;
333
130
  error?: string;
334
131
  hint?: string;
335
- variant?: InputVariant;
336
- left?: React.ReactNode;
337
- right?: React.ReactNode;
338
- clearable?: boolean;
339
- disabled?: boolean;
340
- className?: string;
341
- }
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'> {
345
- }
346
- declare function TextArea({ className, ...props }: TextAreaProps): react_jsx_runtime.JSX.Element;
347
-
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;
132
+ };
133
+ declare function Input({ label, error, hint, ...props }: InputProps): react_jsx_runtime.JSX.Element;
436
134
 
437
- type HeaderVariant = 'default' | 'blurred' | 'transparent' | 'collapsible';
438
- interface HeaderProps {
135
+ type SimpleSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
136
+ type AvatarProps = {
137
+ uri?: string;
138
+ name?: string;
139
+ size?: number | SimpleSize;
140
+ };
141
+ declare const Avatar: react.MemoExoticComponent<({ uri, name, size: sizeIn }: AvatarProps) => react_jsx_runtime.JSX.Element>;
142
+
143
+ declare const H1: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
144
+ size?: tamagui.FontSizeTokens | undefined;
145
+ unstyled?: boolean | undefined;
146
+ }, _tamagui_web.StaticConfigPublic>;
147
+ declare const H2: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
148
+ size?: tamagui.FontSizeTokens | undefined;
149
+ unstyled?: boolean | undefined;
150
+ }, _tamagui_web.StaticConfigPublic>;
151
+ declare const H3: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
152
+ size?: tamagui.FontSizeTokens | undefined;
153
+ unstyled?: boolean | undefined;
154
+ }, _tamagui_web.StaticConfigPublic>;
155
+ declare const H4: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
156
+ size?: tamagui.FontSizeTokens | undefined;
157
+ unstyled?: boolean | undefined;
158
+ }, _tamagui_web.StaticConfigPublic>;
159
+ declare const H5: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
160
+ size?: tamagui.FontSizeTokens | undefined;
161
+ unstyled?: boolean | undefined;
162
+ }, _tamagui_web.StaticConfigPublic>;
163
+ declare const H6: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
164
+ size?: tamagui.FontSizeTokens | undefined;
165
+ unstyled?: boolean | undefined;
166
+ }, _tamagui_web.StaticConfigPublic>;
167
+ declare const SubHeading: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
168
+ size?: tamagui.FontSizeTokens | undefined;
169
+ unstyled?: boolean | undefined;
170
+ }, _tamagui_web.StaticConfigPublic>;
171
+ declare function SepHeading({ children }: {
172
+ children: ReactNode;
173
+ }): react_jsx_runtime.JSX.Element;
174
+
175
+ declare const PageContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
176
+ elevation?: number | tamagui.SizeTokens | undefined;
177
+ inset?: number | tamagui.SizeTokens | {
178
+ top?: number;
179
+ bottom?: number;
180
+ left?: number;
181
+ right?: number;
182
+ } | null | undefined;
183
+ fullscreen?: boolean | undefined;
184
+ }, _tamagui_web.StaticConfigPublic>;
185
+ declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
186
+ elevation?: number | tamagui.SizeTokens | undefined;
187
+ inset?: number | tamagui.SizeTokens | {
188
+ top?: number;
189
+ bottom?: number;
190
+ left?: number;
191
+ right?: number;
192
+ } | null | undefined;
193
+ fullscreen?: boolean | undefined;
194
+ }, _tamagui_web.StaticConfigPublic>;
195
+
196
+ declare function DialogProvider({ children }: {
197
+ children: ReactNode;
198
+ }): react_jsx_runtime.JSX.Element;
199
+ declare const showError: (error: unknown, title?: string) => void;
200
+ declare const dialogConfirm: (props: {
439
201
  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;
202
+ description?: string;
203
+ }) => Promise<boolean>;
475
204
 
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;
205
+ declare const Pressable: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
485
206
 
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;
207
+ declare const Image: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, unknown, _tamagui_web.TamaguiComponentPropsBaseBase & Omit<Omit<_tamagui_web.GetFinalProps<_tamagui_web.TamaguiComponentPropsBaseBase & react_native.ImageProps, _tamagui_web.StackStyleBase, {}>, "borderRadius"> & {
208
+ borderRadius?: tamagui.RadiusTokens;
209
+ }, "style" | "onLayout" | "height" | "width" | "resizeMode"> & {
210
+ width?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
211
+ height?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
212
+ src?: string | (react_native.ImageSourcePropType | undefined);
213
+ resizeMode?: react_native.ImageResizeMode | undefined;
214
+ objectFit?: React.CSSProperties["objectFit"];
215
+ } & Omit<tamagui.StackProps, "theme" | "debug" | "space" | "zIndex" | "bottom" | "backgroundColor" | "content" | "alignContent" | "flexGrow" | "alignItems" | "justifyContent" | "left" | "margin" | "maxHeight" | "maxWidth" | "marginBottom" | "minHeight" | "minWidth" | "marginLeft" | "marginRight" | "marginTop" | "marginHorizontal" | "marginVertical" | "padding" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "paddingHorizontal" | "paddingVertical" | "right" | "borderRadius" | "userSelect" | "alignSelf" | "flexShrink" | "top" | "transform" | "background" | "borderColor" | "shadowColor" | "outlineColor" | "hitSlop" | "pointerEvents" | "display" | "children" | "target" | "htmlFor" | "asChild" | "dangerouslySetInnerHTML" | "disabled" | "className" | "themeShallow" | "themeInverse" | "id" | "tag" | "group" | "untilMeasured" | "componentName" | "tabIndex" | "role" | "disableOptimization" | "forceStyle" | "disableClassName" | "testID" | "nativeID" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "x" | "y" | "perspective" | "scale" | "scaleX" | "scaleY" | "skewX" | "skewY" | "matrix" | "rotate" | "rotateY" | "rotateX" | "rotateZ" | "transition" | "textWrap" | "contain" | "touchAction" | "cursor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "scrollbarWidth" | "transformOrigin" | "filter" | "mixBlendMode" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "backgroundClip" | "backgroundBlendMode" | "backgroundAttachment" | "clipPath" | "caretColor" | "transformStyle" | "mask" | "maskImage" | "textEmphasis" | "borderImage" | "float" | "overflowBlock" | "overflowInline" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridTemplateColumns" | "gridTemplateAreas" | "backdropFilter" | "containerType" | "blockSize" | "inlineSize" | "minBlockSize" | "maxBlockSize" | "objectFit" | "verticalAlign" | "minInlineSize" | "maxInlineSize" | "borderInlineColor" | "borderInlineStartColor" | "borderInlineEndColor" | "borderBlockWidth" | "borderBlockStartWidth" | "borderBlockEndWidth" | "borderInlineWidth" | "borderInlineStartWidth" | "borderInlineEndWidth" | "borderBlockStyle" | "borderBlockStartStyle" | "borderBlockEndStyle" | "borderInlineStyle" | "borderInlineStartStyle" | "borderInlineEndStyle" | "marginBlock" | "marginBlockStart" | "marginBlockEnd" | "marginInline" | "marginInlineStart" | "marginInlineEnd" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "insetBlock" | "insetBlockStart" | "insetBlockEnd" | "insetInline" | "insetInlineStart" | "insetInlineEnd" | "spaceDirection" | "separator" | "animation" | "animateOnly" | "animatePresence" | "passThrough" | "backfaceVisibility" | "borderBlockColor" | "borderBlockEndColor" | "borderBlockStartColor" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderLeftColor" | "borderRightColor" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStyle" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "opacity" | "aspectRatio" | "borderBottomWidth" | "borderEndWidth" | "borderLeftWidth" | "borderRightWidth" | "borderStartWidth" | "borderTopWidth" | "borderWidth" | "end" | "flex" | "flexBasis" | "flexDirection" | "rowGap" | "gap" | "columnGap" | "flexWrap" | "height" | "marginEnd" | "marginStart" | "overflow" | "paddingEnd" | "paddingStart" | "position" | "start" | "width" | "direction" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "transformMatrix" | "rotation" | "translateX" | "translateY" | `$${string}` | `$${number}` | _tamagui_web.GroupMediaKeys | `$theme-${string}` | `$theme-${number}` | keyof _tamagui_web.WithPseudoProps<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase> & _tamagui_web.WithShorthands<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase>>> | "onError" | "onLoad" | "onLoadEnd" | "onLoadStart" | "progressiveRenderingEnabled" | "resizeMode" | "resizeMethod" | "source" | "src" | "srcSet" | "loadingIndicatorSource" | "defaultSource" | "alt" | "crossOrigin" | "tintColor" | "referrerPolicy" | "blurRadius" | "capInsets" | "onProgress" | "onPartialLoad" | "fadeDuration">, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
497
216
 
498
- interface BottomSheetProps {
499
- children: React.ReactNode;
500
- title?: string;
501
- className?: string;
502
- }
503
- declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<ActionSheetRef>>;
217
+ declare const Separator: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
218
+ vertical?: boolean | undefined;
219
+ }, _tamagui_web.StaticConfigPublic>;
504
220
 
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;
221
+ type BadgeProps = {
222
+ children: ReactNode;
223
+ variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
224
+ };
225
+ declare function Badge({ children, variant }: BadgeProps): react_jsx_runtime.JSX.Element;
515
226
 
516
- interface ConfirmationSheetProps {
227
+ type StepPageProps = {
517
228
  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;
229
+ description?: string;
230
+ children: ReactNode;
231
+ bottom?: ReactNode;
530
232
  };
531
-
532
- interface ActionItem {
533
- label: string;
534
- icon?: React.ReactNode;
535
- onPress: () => void;
536
- destructive?: boolean;
537
- disabled?: boolean;
538
- }
539
- interface BlinkActionSheetProps {
233
+ declare function StepPageLayout({ title, description, children, bottom }: StepPageProps): react_jsx_runtime.JSX.Element;
234
+
235
+ declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
236
+ elevation?: number | tamagui.SizeTokens | undefined;
237
+ inset?: number | tamagui.SizeTokens | {
238
+ top?: number;
239
+ bottom?: number;
240
+ left?: number;
241
+ right?: number;
242
+ } | null | undefined;
243
+ fullscreen?: boolean | undefined;
244
+ padded?: boolean | undefined;
245
+ centered?: boolean | undefined;
246
+ safe?: boolean | undefined;
247
+ }, _tamagui_web.StaticConfigPublic>;
248
+
249
+ type SectionProps = {
540
250
  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;
251
+ description?: string;
252
+ children: ReactNode;
253
+ gap?: GetProps<typeof YStack>['gap'];
569
254
  };
255
+ declare function Section({ title, description, children, gap }: SectionProps): react_jsx_runtime.JSX.Element;
570
256
 
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;
257
+ type ListItemProps = {
258
+ icon?: ReactNode;
580
259
  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;
260
+ subtitle?: string;
261
+ right?: ReactNode;
262
+ onPress?: () => void;
632
263
  };
264
+ declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps): react_jsx_runtime.JSX.Element;
633
265
 
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;
266
+ type DividerProps = {
267
+ label?: string;
268
+ };
269
+ declare function Divider({ label }: DividerProps): react_jsx_runtime.JSX.Element;
662
270
 
663
- interface StepProps {
664
- title?: string;
271
+ type KeyboardStickyFooterProps = {
665
272
  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;
273
+ offset?: number;
680
274
  };
275
+ declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps): react_jsx_runtime.JSX.Element;
681
276
 
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 {
277
+ type PlanOption = {
722
278
  id: string;
723
- label: string;
279
+ name: string;
724
280
  price: string;
725
281
  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;
282
+ features: string[];
283
+ popular?: boolean;
761
284
  };
762
- declare function PaywallSoft({ className, ...props }: PaywallSoftProps): react_jsx_runtime.JSX.Element;
763
-
764
- type PaywallHardProps = Omit<PaywallScreenProps, 'onDismiss'> & {
765
- className?: string;
285
+ type PaywallScreenProps = {
286
+ title?: string;
287
+ subtitle?: string;
288
+ plans: PlanOption[];
289
+ selectedPlan?: string;
290
+ onSelectPlan?: (planId: string) => void;
291
+ onContinue?: () => void;
292
+ onRestore?: () => void;
293
+ continueLabel?: string;
766
294
  };
767
- declare function PaywallHard({ className, ...props }: PaywallHardProps): react_jsx_runtime.JSX.Element;
768
-
769
- interface FeatureRowProps {
770
- label: string;
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;
782
- }
783
- declare function PlanComparison({ features, freeLabel, proLabel, className, }: PlanComparisonProps): react_jsx_runtime.JSX.Element;
784
-
785
- interface TrialBannerProps {
786
- days: number;
787
- message?: string;
788
- className?: string;
789
- }
790
- declare function TrialBanner({ days, message, className }: TrialBannerProps): react_jsx_runtime.JSX.Element;
791
-
792
- interface SocialProofBarProps {
793
- userCount?: string;
794
- rating?: number;
795
- reviewCount?: string;
796
- className?: string;
797
- }
798
- declare function SocialProofBar({ userCount, rating, reviewCount, className, }: SocialProofBarProps): react_jsx_runtime.JSX.Element;
799
-
800
- interface OnboardingSlide {
801
- id: string;
802
- title: string;
803
- description: string;
804
- visual?: React.ReactNode;
805
- }
806
- interface OnboardingCarouselProps {
807
- slides: OnboardingSlide[];
808
- onComplete: () => void;
809
- onSkip?: () => void;
810
- showSkip?: boolean;
811
- showDots?: boolean;
812
- nextLabel?: string;
813
- completeLabel?: string;
814
- className?: string;
815
- }
816
- declare function OnboardingCarousel({ slides, onComplete, onSkip, showSkip, showDots, nextLabel, completeLabel, className, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
295
+ declare function PaywallScreen({ title, subtitle, plans, selectedPlan, onSelectPlan, onContinue, onRestore, continueLabel, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
817
296
 
818
- interface ParallaxLayer {
819
- content: React.ReactNode;
820
- speed?: number;
821
- }
822
- interface ParallaxSlide {
823
- id: string;
297
+ type OnboardingStep = {
824
298
  title: string;
825
299
  description: string;
826
- layers: ParallaxLayer[];
827
- }
828
- interface OnboardingParallaxProps {
829
- slides: ParallaxSlide[];
830
- onComplete: () => void;
300
+ icon?: ReactNode;
301
+ };
302
+ type OnboardingCarouselProps = {
303
+ steps: OnboardingStep[];
304
+ onComplete?: () => void;
831
305
  onSkip?: () => void;
832
- showSkip?: boolean;
833
306
  completeLabel?: string;
834
- nextLabel?: string;
835
- className?: string;
836
- }
837
- declare function OnboardingParallax({ slides, onComplete, onSkip, showSkip, completeLabel, nextLabel, className, }: OnboardingParallaxProps): react_jsx_runtime.JSX.Element;
838
-
839
- interface OnboardingHeroProps {
840
- title: string;
841
- description: string;
842
- visual?: React.ReactNode;
843
- ctaLabel?: string;
844
- onCta: () => void;
845
- secondaryLabel?: string;
846
- onSecondary?: () => void;
847
- className?: string;
848
- }
849
- declare function OnboardingHero({ title, description, visual, ctaLabel, onCta, secondaryLabel, onSecondary, className, }: OnboardingHeroProps): react_jsx_runtime.JSX.Element;
850
-
851
- interface PermissionStepProps {
852
- icon: React.ReactNode;
853
- title: string;
854
- description: string;
855
- allowLabel?: string;
856
307
  skipLabel?: string;
857
- onAllow: () => void;
858
- onSkip: () => void;
859
- className?: string;
860
- }
861
- declare function PermissionStep({ icon, title, description, allowLabel, skipLabel, onAllow, onSkip, className, }: PermissionStepProps): react_jsx_runtime.JSX.Element;
862
-
863
- interface QuizOption {
864
- id: string;
865
- label: string;
866
- icon?: React.ReactNode;
867
- }
868
- interface QuizStepProps {
869
- title: string;
870
- description?: string;
871
- options: QuizOption[];
872
- multiSelect?: boolean;
873
- onSubmit: (selected: string[]) => void;
874
- submitLabel?: string;
875
- className?: string;
876
- }
877
- declare function QuizStep({ title, description, options, multiSelect, onSubmit, submitLabel, className, }: QuizStepProps): react_jsx_runtime.JSX.Element;
308
+ nextLabel?: string;
309
+ };
310
+ declare function OnboardingCarousel({ steps, onComplete, onSkip, completeLabel, skipLabel, nextLabel, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
878
311
 
879
- interface OnboardingFlowStep {
312
+ type ChatMessage = {
880
313
  id: string;
881
- component: React.ReactNode;
882
- }
883
- interface OnboardingFlowProps {
884
- steps: OnboardingFlowStep[];
885
- onComplete: () => void;
886
- showProgress?: boolean;
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;
900
- }
901
- declare function AuthButtons({ providers, onAuth, className, }: AuthButtonsProps): react_jsx_runtime.JSX.Element;
902
-
903
- type SwipeDirection = 'left' | 'right' | 'up';
904
- interface SwipeDeckProps<T> {
905
- data: T[];
906
- renderCard: (item: T, index: number) => React.ReactNode;
907
- onSwipeLeft?: (item: T) => void;
908
- onSwipeRight?: (item: T) => void;
909
- onSwipeUp?: (item: T) => void;
910
- onEmpty?: () => React.ReactNode;
911
- swipeThreshold?: number;
912
- rotationFactor?: number;
913
- stackDepth?: number;
914
- className?: string;
915
- }
916
- declare function SwipeDeck<T>({ data, renderCard, onSwipeLeft, onSwipeRight, onSwipeUp, onEmpty, swipeThreshold, rotationFactor, stackDepth, className, }: SwipeDeckProps<T>): react_jsx_runtime.JSX.Element;
917
-
918
- interface SwipeCardProps {
919
- children: React.ReactNode;
920
- className?: string;
921
- }
922
- declare function SwipeCard({ children, className }: SwipeCardProps): react_jsx_runtime.JSX.Element;
923
-
924
- interface SwipeActionsProps {
925
- onNope?: () => void;
926
- onSuperLike?: () => void;
927
- onLike?: () => void;
928
- className?: string;
929
- }
930
- declare function SwipeActions({ onNope, onSuperLike, onLike, className }: SwipeActionsProps): react_jsx_runtime.JSX.Element;
931
-
932
- interface SwipeOverlayProps {
933
- position: Animated.ValueXY;
934
- swipeThreshold: number;
935
- className?: string;
936
- }
937
- declare function SwipeOverlay({ position, swipeThreshold }: SwipeOverlayProps): react_jsx_runtime.JSX.Element;
938
-
939
- interface VerticalReelProps<T> {
940
- data: T[];
941
- renderItem: (item: T, index: number, isActive: boolean) => React.ReactNode;
942
- onActiveChange?: (index: number) => void;
943
- keyExtractor: (item: T, index: number) => string;
944
- className?: string;
945
- }
946
- declare function VerticalReel<T>({ data, renderItem, onActiveChange, keyExtractor, className, }: VerticalReelProps<T>): react_jsx_runtime.JSX.Element;
947
-
948
- interface ReelItemProps {
949
- backgroundSource?: string | ImageSourcePropType;
950
- backgroundColor?: string;
951
- children?: React.ReactNode;
952
- className?: string;
953
- }
954
- declare function ReelItem({ backgroundSource, backgroundColor, children, className, }: ReelItemProps): react_jsx_runtime.JSX.Element;
955
-
956
- interface ReelAction {
957
- key: string;
958
- icon: React.ReactNode;
959
- label?: string;
960
- count?: number;
961
- onPress?: () => void;
962
- }
963
- interface ReelOverlayProps {
964
- username: string;
965
- description?: string;
966
- actions?: ReelAction[];
967
- avatar?: React.ReactNode;
968
- children?: React.ReactNode;
969
- className?: string;
970
- }
971
- declare function ReelOverlay({ username, description, actions, avatar, children, className, }: ReelOverlayProps): react_jsx_runtime.JSX.Element;
972
-
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;
980
- }
981
- declare function GlassView({ intensity, tint, borderRadius, children, className, }: GlassViewProps): react_jsx_runtime.JSX.Element;
982
-
983
- interface GlassCardProps {
984
- intensity?: number;
985
- tint?: GlassTint;
986
- onPress?: () => void;
987
- style?: ViewStyle;
988
- children?: React.ReactNode;
989
- className?: string;
990
- }
991
- declare function GlassCard({ intensity, tint, onPress, style, children, className, }: GlassCardProps): react_jsx_runtime.JSX.Element;
992
-
993
- interface GlassHeaderProps {
994
- title?: string;
995
- subtitle?: string;
996
- left?: React.ReactNode;
997
- right?: React.ReactNode;
998
- intensity?: number;
999
- tint?: GlassTint;
1000
- showBackButton?: boolean;
1001
- onBackPress?: () => void;
1002
- backIcon?: React.ReactNode;
1003
- children?: React.ReactNode;
1004
- className?: string;
1005
- }
1006
- declare function GlassHeader({ title, subtitle, left, right, intensity, tint, showBackButton, onBackPress, backIcon, children, className, }: GlassHeaderProps): react_jsx_runtime.JSX.Element;
1007
-
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;
1017
- }
1018
- declare function GlassSheet({ visible, onClose, title, height, intensity, tint, children, className, }: GlassSheetProps): react_jsx_runtime.JSX.Element;
1019
-
1020
- interface GlassTab {
1021
- key: string;
1022
- label: string;
1023
- icon: React.ReactNode;
1024
- activeIcon?: React.ReactNode;
1025
- badge?: number;
1026
- }
1027
- interface GlassTabBarProps {
1028
- tabs: GlassTab[];
1029
- activeKey: string;
1030
- onChange: (key: string) => void;
1031
- intensity?: number;
1032
- tint?: GlassTint;
1033
- className?: string;
1034
- }
1035
- declare function GlassTabBar({ tabs, activeKey, onChange, intensity, tint, className, }: GlassTabBarProps): react_jsx_runtime.JSX.Element;
1036
-
1037
- type BubbleStatus = 'sending' | 'sent' | 'delivered' | 'read';
1038
- interface ChatBubbleProps {
1039
- content: string;
1040
- variant: 'sent' | 'received';
314
+ text: string;
315
+ sender: 'user' | 'other';
1041
316
  timestamp?: string;
1042
- status?: BubbleStatus;
1043
- renderMarkdown?: (content: string) => React.ReactNode;
1044
- children?: React.ReactNode;
1045
- className?: string;
1046
- }
1047
- declare function ChatBubble({ content, variant, timestamp, status, renderMarkdown, children, className, }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
1048
-
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;
1058
- }
1059
- declare function ChatInput({ onSend, placeholder, attachButton, voiceButton, onAttach, onVoice, disabled, className, }: ChatInputProps): react_jsx_runtime.JSX.Element;
317
+ avatar?: string;
318
+ senderName?: string;
319
+ };
320
+ type ChatBubbleProps = {
321
+ message: ChatMessage;
322
+ showAvatar?: boolean;
323
+ };
324
+ declare function ChatBubble({ message, showAvatar }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
1060
325
 
1061
- interface ChatMessage {
326
+ type SettingsItem = {
1062
327
  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;
1071
- }
1072
- declare function ChatList<T extends ChatMessage>({ messages, renderMessage, renderDateSeparator, className, }: ChatListProps<T>): react_jsx_runtime.JSX.Element;
1073
-
1074
- interface TypingIndicatorProps {
1075
- label?: React.ReactNode;
1076
- className?: string;
1077
- }
1078
- declare function TypingIndicator({ label, className }: TypingIndicatorProps): react_jsx_runtime.JSX.Element;
1079
-
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;
1093
- }
1094
- declare function ListingCard({ image, title, subtitle, price, priceSuffix, rating, favorite, badge, imageHeight, onPress, onFavorite, className, }: ListingCardProps): react_jsx_runtime.JSX.Element;
1095
-
1096
- interface ProductCardProps {
1097
- image: ImageSourcePropType | string;
1098
- title: string;
1099
- price: string;
1100
- originalPrice?: string;
1101
- badge?: string;
1102
- favorite?: boolean;
1103
- onPress?: () => void;
1104
- onFavorite?: () => void;
1105
- className?: string;
1106
- }
1107
- declare function ProductCard({ image, title, price, originalPrice, badge, favorite, onPress, onFavorite, className, }: ProductCardProps): react_jsx_runtime.JSX.Element;
1108
-
1109
- interface CartItemProps {
1110
- image: ImageSourcePropType | string;
328
+ icon?: ReactNode;
1111
329
  title: string;
1112
330
  subtitle?: string;
1113
- price: string;
1114
- quantity: number;
1115
- onIncrement?: () => void;
1116
- onDecrement?: () => void;
1117
- onRemove?: () => void;
1118
- className?: string;
1119
- }
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;
1127
- }
1128
- declare function PriceTag({ price, originalPrice, suffix, className }: PriceTagProps): react_jsx_runtime.JSX.Element;
1129
-
1130
- interface RatingStarsProps {
1131
- rating: number;
1132
- maxStars?: number;
1133
- count?: number;
1134
- size?: number;
1135
- className?: string;
1136
- }
1137
- declare function RatingStars({ rating, maxStars, count, size, className, }: RatingStarsProps): react_jsx_runtime.JSX.Element;
1138
-
1139
- interface CategoryTileProps {
1140
- icon: keyof typeof Ionicons.glyphMap;
1141
- label: string;
1142
- iconColor?: string;
331
+ right?: ReactNode;
1143
332
  onPress?: () => void;
1144
- className?: string;
1145
- }
1146
- declare function CategoryTile({ icon, label, iconColor, onPress, className, }: CategoryTileProps): react_jsx_runtime.JSX.Element;
1147
-
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;
333
+ type?: 'navigate' | 'toggle';
334
+ value?: boolean;
335
+ onValueChange?: (value: boolean) => void;
336
+ };
337
+ type SettingsSection = {
338
+ title?: string;
339
+ items: SettingsItem[];
340
+ };
341
+ type SettingsScreenProps = {
342
+ sections: SettingsSection[];
343
+ header?: ReactNode;
344
+ };
345
+ declare function SettingsScreen({ sections, header }: SettingsScreenProps): react_jsx_runtime.JSX.Element;
1165
346
 
1166
- interface TransactionItemProps {
347
+ type EmptyStateProps = {
348
+ icon?: ReactNode;
1167
349
  title: string;
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;
1176
- }
1177
- declare function TransactionItem({ title, amount, time, method, isIncome, icon, avatar, onPress, className, }: TransactionItemProps): react_jsx_runtime.JSX.Element;
1178
-
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;
1206
- }
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;
1208
-
1209
- interface ProviderCardProps {
1210
- heroImage: ImageSourcePropType | string;
1211
- avatar: ImageSourcePropType | string;
1212
- name: string;
1213
- rating?: number;
1214
- location?: string;
1215
350
  description?: string;
1216
- onPress?: () => void;
1217
- className?: string;
1218
- }
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;
1225
- }
1226
- interface ReactionBarProps {
1227
- reactions: Reaction[];
1228
- onReact?: (emoji: string) => void;
1229
- className?: string;
1230
- }
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;
1242
- }
1243
- declare function SearchBar({ placeholder, value: controlledValue, onChangeText, onSubmit, autoFocus, asTrigger, className, }: SearchBarProps): react_jsx_runtime.JSX.Element;
1244
-
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;
1254
- }
1255
- declare function FilterChipRow({ chips, activeId, onSelect, className, }: FilterChipRowProps): react_jsx_runtime.JSX.Element;
1256
-
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;
1264
- }
1265
- declare function SectionHeader({ title, titleSize, linkText, onLinkPress, className, }: SectionHeaderProps): react_jsx_runtime.JSX.Element;
1266
-
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;
351
+ actionLabel?: string;
352
+ onAction?: () => void;
353
+ };
354
+ declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps): react_jsx_runtime.JSX.Element;
1280
355
 
1281
- interface DateRangePickerProps {
1282
- startDate?: Date;
1283
- endDate?: Date;
1284
- onSelect?: (start: Date, end: Date | null) => void;
1285
- className?: string;
1286
- }
1287
- declare function DateRangePicker({ startDate: initialStart, endDate: initialEnd, onSelect, className, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
356
+ type ProfileHeaderProps = {
357
+ name: string;
358
+ subtitle?: string;
359
+ avatar?: string;
360
+ stats?: {
361
+ label: string;
362
+ value: string;
363
+ }[];
364
+ actions?: ReactNode;
365
+ };
366
+ declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps): react_jsx_runtime.JSX.Element;
1288
367
 
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 };
368
+ export { Avatar, type AvatarProps, Badge, type BadgeProps, type BlinkConfig, BlinkText, type BlinkTextProps, Button, type ButtonProps, Card, type CardProps, ChatBubble, type ChatBubbleProps, type ChatMessage, DialogProvider, Divider, type DividerProps, EmptyState, type EmptyStateProps, H1, H2, H3, H4, H5, H6, Image, Input, type InputProps, KeyboardStickyFooter, type KeyboardStickyFooterProps, ListItem, type ListItemProps, OnboardingCarousel, type OnboardingCarouselProps, type OnboardingStep, PageContainer, PageMainContainer, PaywallScreen, type PaywallScreenProps, type PlanOption, Pressable, ProfileHeader, type ProfileHeaderProps, ScreenLayout, Section, type SectionProps, SepHeading, Separator, type SettingsItem, SettingsScreen, type SettingsScreenProps, type SettingsSection, StepPageLayout, type StepPageProps, SubHeading, blinkConfig, dialogConfirm, showError };