@blinkdotnew/mobile-ui 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +701 -822
- package/dist/index.d.ts +701 -822
- package/dist/index.js +4598 -5458
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +4495 -5340
- package/dist/index.mjs.map +1 -0
- package/package.json +32 -44
- package/tailwind.config.js +47 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,315 +1,327 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
1
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
3
|
import React, { ReactNode } from 'react';
|
|
3
|
-
import {
|
|
4
|
+
import { TextInputProps, EasingFunction, ScrollViewProps, Animated, ImageSourcePropType, ViewStyle } from 'react-native';
|
|
5
|
+
import { ActionSheetRef } from 'react-native-actions-sheet';
|
|
6
|
+
import { Ionicons } from '@expo/vector-icons';
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
primaryLight: string;
|
|
9
|
-
primaryTint: string;
|
|
10
|
-
accent: string;
|
|
11
|
-
background: string;
|
|
12
|
-
surface: string;
|
|
13
|
-
surfaceElevated: string;
|
|
14
|
-
card: string;
|
|
8
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
9
|
+
|
|
10
|
+
declare function useAnimColors(): {
|
|
15
11
|
text: string;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
textInverse: string;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
bg: string;
|
|
19
14
|
border: string;
|
|
20
|
-
|
|
21
|
-
error: string;
|
|
22
|
-
errorLight: string;
|
|
23
|
-
success: string;
|
|
24
|
-
successLight: string;
|
|
25
|
-
warning: string;
|
|
26
|
-
warningLight: string;
|
|
27
|
-
overlay: string;
|
|
15
|
+
primary: string;
|
|
28
16
|
highlight: string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
type PaletteName = 'ocean' | 'coral' | 'violet' | 'midnight' | 'rose' | 'neon';
|
|
97
|
-
type ColorScheme = 'light' | 'dark' | 'system';
|
|
98
|
-
|
|
99
|
-
interface BlinkMobileUIContextValue {
|
|
100
|
-
tokens: ThemeTokens;
|
|
101
|
-
colors: ColorPalette;
|
|
102
|
-
palette: PaletteName;
|
|
103
|
-
colorScheme: ColorScheme;
|
|
104
|
-
isDark: boolean;
|
|
105
|
-
setPalette: (p: PaletteName) => void;
|
|
106
|
-
setColorScheme: (s: ColorScheme) => void;
|
|
107
|
-
}
|
|
108
|
-
declare function useBlinkMobileUI(): BlinkMobileUIContextValue;
|
|
109
|
-
declare function useThemeColors(): ColorPalette;
|
|
110
|
-
interface Props {
|
|
111
|
-
children: React.ReactNode;
|
|
112
|
-
palette?: PaletteName;
|
|
113
|
-
colorScheme?: ColorScheme;
|
|
114
|
-
}
|
|
115
|
-
declare function BlinkMobileUIProvider({ children, palette: initialPalette, colorScheme: initialScheme, }: Props): react_jsx_runtime.JSX.Element;
|
|
17
|
+
error: string;
|
|
18
|
+
secondary: string;
|
|
19
|
+
icon: string;
|
|
20
|
+
};
|
|
116
21
|
|
|
117
|
-
|
|
118
|
-
|
|
22
|
+
type InputVariant = 'animated' | 'classic' | 'underlined';
|
|
23
|
+
interface InputProps extends Omit<TextInputProps, 'className'> {
|
|
24
|
+
label?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
hint?: string;
|
|
27
|
+
variant?: InputVariant;
|
|
28
|
+
left?: React.ReactNode;
|
|
29
|
+
right?: React.ReactNode;
|
|
30
|
+
clearable?: boolean;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
declare function Input({ label, placeholder, value, onChangeText, error, hint, secureTextEntry, variant, left, right, clearable, multiline, disabled, className, ...props }: InputProps): react_jsx_runtime.JSX.Element;
|
|
119
35
|
|
|
120
|
-
|
|
121
|
-
|
|
36
|
+
interface TextAreaProps extends Omit<InputProps, 'multiline'> {
|
|
37
|
+
}
|
|
38
|
+
declare function TextArea({ className, ...props }: TextAreaProps): react_jsx_runtime.JSX.Element;
|
|
122
39
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
40
|
+
interface SearchInputProps {
|
|
41
|
+
value: string;
|
|
42
|
+
onChangeText: (text: string) => void;
|
|
43
|
+
placeholder?: string;
|
|
44
|
+
onClear?: () => void;
|
|
45
|
+
autoFocus?: boolean;
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
declare function SearchInput({ value, onChangeText, placeholder, onClear, autoFocus, className, }: SearchInputProps): react_jsx_runtime.JSX.Element;
|
|
128
49
|
|
|
129
|
-
|
|
130
|
-
|
|
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;
|
|
50
|
+
interface SearchPillProps {
|
|
51
|
+
placeholder?: string;
|
|
149
52
|
onPress?: () => void;
|
|
53
|
+
className?: string;
|
|
150
54
|
}
|
|
151
|
-
declare function
|
|
55
|
+
declare function SearchPill({ placeholder, onPress, className, }: SearchPillProps): react_jsx_runtime.JSX.Element;
|
|
152
56
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
size?: ButtonSize;
|
|
158
|
-
loading?: boolean;
|
|
57
|
+
interface CheckboxProps {
|
|
58
|
+
checked?: boolean;
|
|
59
|
+
onToggle?: (checked: boolean) => void;
|
|
60
|
+
label?: string;
|
|
159
61
|
disabled?: boolean;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
fullWidth?: boolean;
|
|
163
|
-
children?: React.ReactNode;
|
|
164
|
-
onPress?: () => void;
|
|
165
|
-
style?: ViewStyle;
|
|
62
|
+
error?: string;
|
|
63
|
+
className?: string;
|
|
166
64
|
}
|
|
167
|
-
declare function
|
|
65
|
+
declare function Checkbox({ checked, onToggle, label, disabled, error, className, }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
168
66
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
variant?: IconButtonVariant;
|
|
173
|
-
size?: IconButtonSize;
|
|
67
|
+
interface RadioOption {
|
|
68
|
+
value: string;
|
|
69
|
+
label: string;
|
|
174
70
|
disabled?: boolean;
|
|
175
|
-
onPress?: () => void;
|
|
176
|
-
style?: ViewStyle;
|
|
177
|
-
children: React.ReactNode;
|
|
178
71
|
}
|
|
179
|
-
|
|
72
|
+
interface RadioGroupProps {
|
|
73
|
+
options: RadioOption[];
|
|
74
|
+
value: string;
|
|
75
|
+
onChange: (value: string) => void;
|
|
76
|
+
direction?: 'vertical' | 'horizontal';
|
|
77
|
+
className?: string;
|
|
78
|
+
}
|
|
79
|
+
declare function RadioGroup({ options, value, onChange, direction, className, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
|
|
180
80
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
81
|
+
interface BlinkSwitchProps {
|
|
82
|
+
value?: boolean;
|
|
83
|
+
onValueChange?: (value: boolean) => void;
|
|
84
|
+
label?: string;
|
|
85
|
+
description?: string;
|
|
86
|
+
disabled?: boolean;
|
|
87
|
+
className?: string;
|
|
88
|
+
}
|
|
89
|
+
declare function BlinkSwitch({ value, onValueChange, label, description, disabled, className, }: BlinkSwitchProps): react_jsx_runtime.JSX.Element;
|
|
90
|
+
|
|
91
|
+
interface SliderProps {
|
|
92
|
+
value: number;
|
|
93
|
+
onValueChange: (v: number) => void;
|
|
94
|
+
min?: number;
|
|
95
|
+
max?: number;
|
|
96
|
+
step?: number;
|
|
97
|
+
showValue?: boolean;
|
|
98
|
+
className?: string;
|
|
189
99
|
}
|
|
190
|
-
declare function
|
|
100
|
+
declare function Slider({ value, onValueChange, min, max, step, showValue, className, }: SliderProps): react_jsx_runtime.JSX.Element;
|
|
191
101
|
|
|
192
|
-
|
|
193
|
-
interface ChipProps {
|
|
102
|
+
interface SelectOption {
|
|
194
103
|
label: string;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
104
|
+
value: string;
|
|
105
|
+
}
|
|
106
|
+
interface SelectProps {
|
|
107
|
+
options: SelectOption[];
|
|
108
|
+
value?: string;
|
|
109
|
+
onChange: (value: string) => void;
|
|
110
|
+
label?: string;
|
|
111
|
+
placeholder?: string;
|
|
112
|
+
error?: string;
|
|
113
|
+
variant?: InputVariant;
|
|
114
|
+
className?: string;
|
|
202
115
|
}
|
|
203
|
-
declare function
|
|
116
|
+
declare function Select({ options, value, onChange, label, placeholder, error, variant, className, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
204
117
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
118
|
+
interface CounterProps {
|
|
119
|
+
value?: number;
|
|
120
|
+
onChange?: (value: number) => void;
|
|
121
|
+
min?: number;
|
|
122
|
+
max?: number;
|
|
123
|
+
step?: number;
|
|
208
124
|
label?: string;
|
|
209
|
-
|
|
210
|
-
size?: BadgeSize;
|
|
211
|
-
dot?: boolean;
|
|
212
|
-
style?: ViewStyle;
|
|
125
|
+
className?: string;
|
|
213
126
|
}
|
|
214
|
-
declare function
|
|
127
|
+
declare function Counter({ value: controlledValue, onChange, min, max, step, label, className, }: CounterProps): react_jsx_runtime.JSX.Element;
|
|
215
128
|
|
|
216
|
-
type
|
|
217
|
-
interface
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
129
|
+
type HeaderVariant = 'default' | 'blurred' | 'transparent' | 'collapsible';
|
|
130
|
+
interface HeaderProps {
|
|
131
|
+
title?: string;
|
|
132
|
+
subtitle?: string;
|
|
133
|
+
left?: React.ReactNode;
|
|
134
|
+
right?: React.ReactNode;
|
|
135
|
+
variant?: HeaderVariant;
|
|
136
|
+
large?: boolean;
|
|
137
|
+
showBackButton?: boolean;
|
|
138
|
+
onBackPress?: () => void;
|
|
139
|
+
visible?: boolean;
|
|
221
140
|
children?: React.ReactNode;
|
|
141
|
+
className?: string;
|
|
222
142
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
143
|
+
declare function Header({ title, subtitle, left, right, variant, large, showBackButton, onBackPress, visible, children, className, }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
144
|
+
|
|
145
|
+
interface HeaderIconProps {
|
|
146
|
+
onPress?: () => void;
|
|
147
|
+
badge?: boolean;
|
|
148
|
+
children: React.ReactNode;
|
|
149
|
+
className?: string;
|
|
227
150
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
151
|
+
declare function HeaderIcon({ onPress, badge, children, className, }: HeaderIconProps): react_jsx_runtime.JSX.Element;
|
|
152
|
+
|
|
153
|
+
interface TabItem {
|
|
154
|
+
key: string;
|
|
155
|
+
label: string;
|
|
156
|
+
icon: React.ReactNode;
|
|
157
|
+
activeIcon?: React.ReactNode;
|
|
158
|
+
badge?: number;
|
|
231
159
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
declare namespace Card {
|
|
238
|
-
var Image: typeof CardImage;
|
|
239
|
-
var Header: typeof CardHeader;
|
|
240
|
-
var Content: typeof CardContent;
|
|
241
|
-
var Footer: typeof CardFooter;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
interface DividerProps {
|
|
245
|
-
orientation?: 'horizontal' | 'vertical';
|
|
246
|
-
spacing?: number;
|
|
247
|
-
label?: string;
|
|
248
|
-
style?: ViewStyle;
|
|
160
|
+
interface TabBarProps {
|
|
161
|
+
tabs: TabItem[];
|
|
162
|
+
activeKey: string;
|
|
163
|
+
onChange: (key: string) => void;
|
|
164
|
+
className?: string;
|
|
249
165
|
}
|
|
250
|
-
declare function
|
|
166
|
+
declare function TabBar({ tabs, activeKey, onChange, className }: TabBarProps): react_jsx_runtime.JSX.Element;
|
|
251
167
|
|
|
252
|
-
interface
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
168
|
+
interface TabButtonProps {
|
|
169
|
+
icon: React.ReactNode;
|
|
170
|
+
label: string;
|
|
171
|
+
active: boolean;
|
|
172
|
+
badge?: number;
|
|
173
|
+
onPress: () => void;
|
|
174
|
+
className?: string;
|
|
257
175
|
}
|
|
258
|
-
declare function
|
|
176
|
+
declare function TabButton({ icon, label, active, badge, onPress, className, }: TabButtonProps): react_jsx_runtime.JSX.Element;
|
|
259
177
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
width?: DimensionValue;
|
|
264
|
-
height?: number;
|
|
265
|
-
borderRadius?: number;
|
|
266
|
-
style?: ViewStyle;
|
|
267
|
-
lines?: number;
|
|
178
|
+
interface Segment {
|
|
179
|
+
value: string;
|
|
180
|
+
label: string;
|
|
268
181
|
}
|
|
269
|
-
|
|
182
|
+
interface SegmentedControlProps {
|
|
183
|
+
segments: Segment[];
|
|
184
|
+
value: string;
|
|
185
|
+
onChange: (value: string) => void;
|
|
186
|
+
className?: string;
|
|
187
|
+
}
|
|
188
|
+
declare function SegmentedControl({ segments, value, onChange, className, }: SegmentedControlProps): react_jsx_runtime.JSX.Element;
|
|
270
189
|
|
|
271
|
-
interface
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
color?: string;
|
|
276
|
-
trackColor?: string;
|
|
277
|
-
borderRadius?: number;
|
|
278
|
-
style?: ViewStyle;
|
|
190
|
+
interface BottomSheetProps {
|
|
191
|
+
children: React.ReactNode;
|
|
192
|
+
title?: string;
|
|
193
|
+
className?: string;
|
|
279
194
|
}
|
|
280
|
-
declare
|
|
195
|
+
declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<ActionSheetRef>>;
|
|
281
196
|
|
|
282
|
-
interface
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
197
|
+
interface BlinkModalProps {
|
|
198
|
+
visible: boolean;
|
|
199
|
+
onClose: () => void;
|
|
200
|
+
title?: string;
|
|
201
|
+
description?: string;
|
|
202
|
+
children?: React.ReactNode;
|
|
203
|
+
showCloseButton?: boolean;
|
|
204
|
+
className?: string;
|
|
288
205
|
}
|
|
289
|
-
declare function
|
|
206
|
+
declare function BlinkModal({ visible, onClose, title, description, children, showCloseButton, className, }: BlinkModalProps): react_jsx_runtime.JSX.Element;
|
|
290
207
|
|
|
291
|
-
|
|
292
|
-
|
|
208
|
+
interface ConfirmationSheetProps {
|
|
209
|
+
title: string;
|
|
210
|
+
message?: string;
|
|
211
|
+
confirmLabel?: string;
|
|
212
|
+
cancelLabel?: string;
|
|
213
|
+
onConfirm: () => void;
|
|
214
|
+
onCancel: () => void;
|
|
215
|
+
destructive?: boolean;
|
|
216
|
+
className?: string;
|
|
217
|
+
}
|
|
218
|
+
declare function ConfirmationSheet({ title, message, confirmLabel, cancelLabel, onConfirm, onCancel, destructive, className, }: ConfirmationSheetProps): react_jsx_runtime.JSX.Element;
|
|
219
|
+
declare function useConfirmationSheet(): {
|
|
220
|
+
show: (p: ConfirmationSheetProps) => void;
|
|
221
|
+
Sheet: react_jsx_runtime.JSX.Element | null;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
interface ActionItem {
|
|
293
225
|
label: string;
|
|
294
|
-
|
|
295
|
-
|
|
226
|
+
icon?: React.ReactNode;
|
|
227
|
+
onPress: () => void;
|
|
228
|
+
destructive?: boolean;
|
|
229
|
+
disabled?: boolean;
|
|
230
|
+
}
|
|
231
|
+
interface BlinkActionSheetProps {
|
|
232
|
+
title?: string;
|
|
233
|
+
items: ActionItem[];
|
|
234
|
+
cancelLabel?: string;
|
|
235
|
+
onClose?: () => void;
|
|
236
|
+
className?: string;
|
|
296
237
|
}
|
|
297
|
-
declare function
|
|
238
|
+
declare function BlinkActionSheet({ title, items, cancelLabel, onClose, className, }: BlinkActionSheetProps): react_jsx_runtime.JSX.Element;
|
|
239
|
+
declare function useActionSheet(): {
|
|
240
|
+
show: (p: BlinkActionSheetProps) => void;
|
|
241
|
+
Sheet: react_jsx_runtime.JSX.Element | null;
|
|
242
|
+
};
|
|
298
243
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
244
|
+
type ToastType = 'success' | 'error' | 'info' | 'warning';
|
|
245
|
+
type ToastPosition = 'top' | 'bottom';
|
|
246
|
+
interface ToastOptions {
|
|
247
|
+
message: string;
|
|
248
|
+
type?: ToastType;
|
|
249
|
+
duration?: number;
|
|
250
|
+
position?: ToastPosition;
|
|
304
251
|
}
|
|
305
|
-
declare
|
|
252
|
+
declare const Toast: React.FC<{
|
|
253
|
+
className?: string;
|
|
254
|
+
}>;
|
|
255
|
+
declare const toast: {
|
|
256
|
+
show: (opts: ToastOptions) => void | undefined;
|
|
257
|
+
success: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
|
|
258
|
+
error: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
|
|
259
|
+
info: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
|
|
260
|
+
warning: (message: string, opts?: Partial<ToastOptions>) => void | undefined;
|
|
261
|
+
};
|
|
306
262
|
|
|
307
|
-
interface
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
263
|
+
interface PageLoaderProps {
|
|
264
|
+
message?: string;
|
|
265
|
+
transparent?: boolean;
|
|
266
|
+
className?: string;
|
|
267
|
+
}
|
|
268
|
+
declare function PageLoader({ message, transparent, className, }: PageLoaderProps): react_jsx_runtime.JSX.Element;
|
|
269
|
+
|
|
270
|
+
interface EmptyStateProps {
|
|
271
|
+
icon?: React.ReactNode;
|
|
272
|
+
title: string;
|
|
273
|
+
description?: string;
|
|
274
|
+
action?: {
|
|
275
|
+
label: string;
|
|
276
|
+
onPress: () => void;
|
|
277
|
+
};
|
|
278
|
+
className?: string;
|
|
279
|
+
}
|
|
280
|
+
declare function EmptyState({ icon, title, description, action, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
281
|
+
|
|
282
|
+
interface PlaceholderProps {
|
|
283
|
+
width?: number | string;
|
|
284
|
+
height?: number;
|
|
285
|
+
className?: string;
|
|
311
286
|
}
|
|
312
|
-
declare function
|
|
287
|
+
declare function Placeholder({ width, height, className, }: PlaceholderProps): react_jsx_runtime.JSX.Element;
|
|
288
|
+
|
|
289
|
+
interface TextSkeletonProps {
|
|
290
|
+
lines?: number;
|
|
291
|
+
className?: string;
|
|
292
|
+
}
|
|
293
|
+
declare function TextSkeleton({ lines, className }: TextSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
294
|
+
interface CardSkeletonProps {
|
|
295
|
+
className?: string;
|
|
296
|
+
}
|
|
297
|
+
declare function CardSkeleton({ className }: CardSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
298
|
+
interface ListSkeletonProps {
|
|
299
|
+
rows?: number;
|
|
300
|
+
className?: string;
|
|
301
|
+
}
|
|
302
|
+
declare function ListSkeleton({ rows, className }: ListSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
303
|
+
interface ChatSkeletonProps {
|
|
304
|
+
className?: string;
|
|
305
|
+
}
|
|
306
|
+
declare function ChatSkeleton({ className }: ChatSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
307
|
+
interface ArticleSkeletonProps {
|
|
308
|
+
className?: string;
|
|
309
|
+
}
|
|
310
|
+
declare function ArticleSkeleton({ className }: ArticleSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
311
|
+
interface GridSkeletonProps {
|
|
312
|
+
columns?: number;
|
|
313
|
+
count?: number;
|
|
314
|
+
className?: string;
|
|
315
|
+
}
|
|
316
|
+
declare function GridSkeleton({ columns, count, className }: GridSkeletonProps): react_jsx_runtime.JSX.Element;
|
|
317
|
+
declare const SkeletonLoader: {
|
|
318
|
+
Text: typeof TextSkeleton;
|
|
319
|
+
Card: typeof CardSkeleton;
|
|
320
|
+
List: typeof ListSkeleton;
|
|
321
|
+
Chat: typeof ChatSkeleton;
|
|
322
|
+
Article: typeof ArticleSkeleton;
|
|
323
|
+
Grid: typeof GridSkeleton;
|
|
324
|
+
};
|
|
313
325
|
|
|
314
326
|
type AnimationType = 'fadeIn' | 'scaleIn' | 'slideInBottom' | 'slideInRight' | 'slideInLeft' | 'slideInTop' | 'bounceIn' | 'flipInX' | 'zoomInRotate' | 'rotateIn' | 'slideOutBottom' | 'slideOutRight' | 'slideOutLeft' | 'slideOutTop' | 'scaleOut';
|
|
315
327
|
interface AnimatedViewProps {
|
|
@@ -318,14 +330,13 @@ interface AnimatedViewProps {
|
|
|
318
330
|
duration?: number;
|
|
319
331
|
delay?: number;
|
|
320
332
|
easing?: EasingFunction;
|
|
321
|
-
style?: StyleProp<ViewStyle>;
|
|
322
333
|
className?: string;
|
|
323
334
|
playOnlyOnce?: boolean;
|
|
324
335
|
triggerOnVisible?: boolean;
|
|
325
336
|
visibilityThreshold?: number;
|
|
326
337
|
shouldResetAnimation?: boolean;
|
|
327
338
|
}
|
|
328
|
-
declare function AnimatedViewComponent({ children, animation, duration, delay, easing,
|
|
339
|
+
declare function AnimatedViewComponent({ children, animation, duration, delay, easing, className, playOnlyOnce, triggerOnVisible, visibilityThreshold, shouldResetAnimation, }: AnimatedViewProps): react_jsx_runtime.JSX.Element;
|
|
329
340
|
declare const AnimatedView: React.MemoExoticComponent<typeof AnimatedViewComponent>;
|
|
330
341
|
|
|
331
342
|
interface FabAction {
|
|
@@ -335,18 +346,17 @@ interface FabAction {
|
|
|
335
346
|
}
|
|
336
347
|
interface AnimatedFabProps {
|
|
337
348
|
icon: React.ReactNode;
|
|
338
|
-
label?: string;
|
|
339
|
-
onPress?: () => void;
|
|
340
|
-
expanded?: boolean;
|
|
341
349
|
actions?: FabAction[];
|
|
342
|
-
|
|
350
|
+
onPress?: () => void;
|
|
351
|
+
className?: string;
|
|
343
352
|
}
|
|
344
|
-
declare function AnimatedFab({ icon,
|
|
353
|
+
declare function AnimatedFab({ icon, actions, onPress, className, }: AnimatedFabProps): react_jsx_runtime.JSX.Element;
|
|
345
354
|
|
|
346
355
|
interface StepProps {
|
|
347
356
|
title?: string;
|
|
348
357
|
children: ReactNode;
|
|
349
358
|
}
|
|
359
|
+
declare function Step({ children }: StepProps): react_jsx_runtime.JSX.Element;
|
|
350
360
|
interface MultiStepProps {
|
|
351
361
|
children: ReactNode;
|
|
352
362
|
onComplete?: () => void;
|
|
@@ -354,43 +364,69 @@ interface MultiStepProps {
|
|
|
354
364
|
showSkip?: boolean;
|
|
355
365
|
nextLabel?: string;
|
|
356
366
|
completeLabel?: string;
|
|
357
|
-
|
|
358
|
-
}
|
|
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;
|
|
367
|
+
className?: string;
|
|
362
368
|
}
|
|
369
|
+
declare function MultiStepRoot({ children, onComplete, showProgress, showSkip, nextLabel, completeLabel, className, }: MultiStepProps): react_jsx_runtime.JSX.Element | null;
|
|
370
|
+
declare const MultiStep: typeof MultiStepRoot & {
|
|
371
|
+
Step: typeof Step;
|
|
372
|
+
};
|
|
363
373
|
|
|
364
374
|
interface TransitionProps {
|
|
365
375
|
children: React.ReactNode;
|
|
366
376
|
duration?: number;
|
|
367
377
|
delay?: number;
|
|
368
|
-
|
|
378
|
+
className?: string;
|
|
369
379
|
}
|
|
370
380
|
declare const FadeIn: React.FC<TransitionProps>;
|
|
371
381
|
declare const SlideUp: React.FC<TransitionProps>;
|
|
372
382
|
interface SlideInProps extends TransitionProps {
|
|
373
383
|
from?: 'left' | 'right' | 'bottom' | 'top';
|
|
374
384
|
}
|
|
375
|
-
declare const SlideIn: React.FC<SlideInProps>;
|
|
376
|
-
declare const ScaleIn: React.FC<TransitionProps>;
|
|
385
|
+
declare const SlideIn: React.FC<SlideInProps>;
|
|
386
|
+
declare const ScaleIn: React.FC<TransitionProps>;
|
|
387
|
+
|
|
388
|
+
interface ThemeScrollerProps extends ScrollViewProps {
|
|
389
|
+
children: React.ReactNode;
|
|
390
|
+
topOffset?: number;
|
|
391
|
+
className?: string;
|
|
392
|
+
}
|
|
393
|
+
declare function ThemeScroller({ children, topOffset, className, contentContainerStyle, ...props }: ThemeScrollerProps): react_jsx_runtime.JSX.Element;
|
|
394
|
+
|
|
395
|
+
interface CardScrollerProps {
|
|
396
|
+
children: React.ReactNode;
|
|
397
|
+
cardWidth?: number;
|
|
398
|
+
gap?: number;
|
|
399
|
+
snapEnabled?: boolean;
|
|
400
|
+
className?: string;
|
|
401
|
+
}
|
|
402
|
+
declare function CardScroller({ children, cardWidth, gap, snapEnabled, className, }: CardScrollerProps): react_jsx_runtime.JSX.Element;
|
|
403
|
+
|
|
404
|
+
interface ImageCarouselProps {
|
|
405
|
+
images: string[];
|
|
406
|
+
height?: number;
|
|
407
|
+
borderRadius?: number;
|
|
408
|
+
onIndexChange?: (index: number) => void;
|
|
409
|
+
className?: string;
|
|
410
|
+
}
|
|
411
|
+
declare function ImageCarousel({ images, height, borderRadius, onIndexChange, className, }: ImageCarouselProps): react_jsx_runtime.JSX.Element;
|
|
377
412
|
|
|
378
413
|
interface PlanOption {
|
|
379
414
|
id: string;
|
|
380
|
-
|
|
415
|
+
label: string;
|
|
381
416
|
price: string;
|
|
382
|
-
|
|
417
|
+
period: string;
|
|
383
418
|
badge?: string;
|
|
384
|
-
|
|
419
|
+
savings?: string;
|
|
385
420
|
}
|
|
386
421
|
interface PlanCardProps {
|
|
387
422
|
plan: PlanOption;
|
|
388
423
|
selected: boolean;
|
|
389
|
-
onSelect: () => void;
|
|
424
|
+
onSelect: (plan: PlanOption) => void;
|
|
425
|
+
className?: string;
|
|
390
426
|
}
|
|
391
|
-
declare function PlanCard({ plan, selected, onSelect }: PlanCardProps): react_jsx_runtime.JSX.Element;
|
|
427
|
+
declare function PlanCard({ plan, selected, onSelect, className }: PlanCardProps): react_jsx_runtime.JSX.Element;
|
|
392
428
|
|
|
393
|
-
interface
|
|
429
|
+
interface PaywallFeature {
|
|
394
430
|
label: string;
|
|
395
431
|
free?: boolean;
|
|
396
432
|
pro: boolean;
|
|
@@ -398,69 +434,66 @@ interface FeatureItem {
|
|
|
398
434
|
interface PaywallScreenProps {
|
|
399
435
|
appName: string;
|
|
400
436
|
tagline?: string;
|
|
401
|
-
features:
|
|
437
|
+
features: PaywallFeature[];
|
|
402
438
|
plans: PlanOption[];
|
|
403
|
-
|
|
439
|
+
selectedPlan: string;
|
|
440
|
+
onSubscribe: (planId: string) => void;
|
|
441
|
+
onSelectPlan?: (plan: PlanOption) => void;
|
|
404
442
|
onDismiss?: () => void;
|
|
405
443
|
loading?: boolean;
|
|
406
|
-
|
|
407
|
-
|
|
444
|
+
ctaLabel?: string;
|
|
445
|
+
disclaimer?: string;
|
|
446
|
+
className?: string;
|
|
408
447
|
}
|
|
409
|
-
declare function PaywallScreen({ appName, tagline, features, plans, onSubscribe, onDismiss, loading,
|
|
448
|
+
declare function PaywallScreen({ appName, tagline, features, plans, selectedPlan, onSubscribe, onSelectPlan, onDismiss, loading, ctaLabel, disclaimer, className, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
|
|
410
449
|
|
|
411
450
|
type PaywallSoftProps = Omit<PaywallScreenProps, 'onDismiss'> & {
|
|
412
|
-
visible: boolean;
|
|
413
451
|
onDismiss: () => void;
|
|
452
|
+
className?: string;
|
|
414
453
|
};
|
|
415
|
-
declare function PaywallSoft({
|
|
454
|
+
declare function PaywallSoft({ className, ...props }: PaywallSoftProps): react_jsx_runtime.JSX.Element;
|
|
416
455
|
|
|
417
456
|
type PaywallHardProps = Omit<PaywallScreenProps, 'onDismiss'> & {
|
|
418
|
-
|
|
457
|
+
className?: string;
|
|
419
458
|
};
|
|
420
|
-
declare function PaywallHard({
|
|
459
|
+
declare function PaywallHard({ className, ...props }: PaywallHardProps): react_jsx_runtime.JSX.Element;
|
|
421
460
|
|
|
422
|
-
interface
|
|
461
|
+
interface FeatureRowProps {
|
|
423
462
|
label: string;
|
|
424
463
|
free?: boolean;
|
|
425
|
-
pro
|
|
426
|
-
|
|
427
|
-
}
|
|
428
|
-
interface PlanComparisonProps {
|
|
429
|
-
features: ComparisonFeature[];
|
|
430
|
-
plans?: string[];
|
|
464
|
+
pro?: boolean;
|
|
465
|
+
className?: string;
|
|
431
466
|
}
|
|
432
|
-
declare function
|
|
467
|
+
declare function FeatureRow({ label, free, pro, className }: FeatureRowProps): react_jsx_runtime.JSX.Element;
|
|
433
468
|
|
|
434
|
-
interface
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
469
|
+
interface PlanComparisonProps {
|
|
470
|
+
features: Omit<FeatureRowProps, 'className'>[];
|
|
471
|
+
freeLabel?: string;
|
|
472
|
+
proLabel?: string;
|
|
473
|
+
className?: string;
|
|
438
474
|
}
|
|
439
|
-
declare function
|
|
475
|
+
declare function PlanComparison({ features, freeLabel, proLabel, className, }: PlanComparisonProps): react_jsx_runtime.JSX.Element;
|
|
440
476
|
|
|
441
477
|
interface TrialBannerProps {
|
|
442
478
|
days: number;
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
style?: ViewStyle;
|
|
479
|
+
message?: string;
|
|
480
|
+
className?: string;
|
|
446
481
|
}
|
|
447
|
-
declare function TrialBanner({ days,
|
|
482
|
+
declare function TrialBanner({ days, message, className }: TrialBannerProps): react_jsx_runtime.JSX.Element;
|
|
448
483
|
|
|
449
484
|
interface SocialProofBarProps {
|
|
450
485
|
userCount?: string;
|
|
451
486
|
rating?: number;
|
|
452
487
|
reviewCount?: string;
|
|
453
|
-
|
|
454
|
-
style?: ViewStyle;
|
|
488
|
+
className?: string;
|
|
455
489
|
}
|
|
456
|
-
declare function SocialProofBar({ userCount, rating, reviewCount,
|
|
490
|
+
declare function SocialProofBar({ userCount, rating, reviewCount, className, }: SocialProofBarProps): react_jsx_runtime.JSX.Element;
|
|
457
491
|
|
|
458
492
|
interface OnboardingSlide {
|
|
459
493
|
id: string;
|
|
460
494
|
title: string;
|
|
461
|
-
description
|
|
462
|
-
|
|
463
|
-
backgroundColor?: string;
|
|
495
|
+
description: string;
|
|
496
|
+
visual?: React.ReactNode;
|
|
464
497
|
}
|
|
465
498
|
interface OnboardingCarouselProps {
|
|
466
499
|
slides: OnboardingSlide[];
|
|
@@ -470,633 +503,479 @@ interface OnboardingCarouselProps {
|
|
|
470
503
|
showDots?: boolean;
|
|
471
504
|
nextLabel?: string;
|
|
472
505
|
completeLabel?: string;
|
|
473
|
-
|
|
474
|
-
autoPlayInterval?: number;
|
|
475
|
-
style?: ViewStyle;
|
|
506
|
+
className?: string;
|
|
476
507
|
}
|
|
477
|
-
declare function OnboardingCarousel({ slides, onComplete, onSkip, showSkip, showDots, nextLabel, completeLabel,
|
|
508
|
+
declare function OnboardingCarousel({ slides, onComplete, onSkip, showSkip, showDots, nextLabel, completeLabel, className, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
|
|
478
509
|
|
|
479
|
-
interface
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
510
|
+
interface ParallaxLayer {
|
|
511
|
+
content: React.ReactNode;
|
|
512
|
+
speed?: number;
|
|
513
|
+
}
|
|
514
|
+
interface ParallaxSlide {
|
|
515
|
+
id: string;
|
|
516
|
+
title: string;
|
|
517
|
+
description: string;
|
|
518
|
+
layers: ParallaxLayer[];
|
|
519
|
+
}
|
|
520
|
+
interface OnboardingParallaxProps {
|
|
521
|
+
slides: ParallaxSlide[];
|
|
522
|
+
onComplete: () => void;
|
|
523
|
+
onSkip?: () => void;
|
|
524
|
+
showSkip?: boolean;
|
|
525
|
+
completeLabel?: string;
|
|
526
|
+
nextLabel?: string;
|
|
527
|
+
className?: string;
|
|
483
528
|
}
|
|
529
|
+
declare function OnboardingParallax({ slides, onComplete, onSkip, showSkip, completeLabel, nextLabel, className, }: OnboardingParallaxProps): react_jsx_runtime.JSX.Element;
|
|
530
|
+
|
|
484
531
|
interface OnboardingHeroProps {
|
|
485
532
|
title: string;
|
|
486
|
-
|
|
487
|
-
description?: string;
|
|
533
|
+
description: string;
|
|
488
534
|
visual?: React.ReactNode;
|
|
489
535
|
ctaLabel?: string;
|
|
490
|
-
onCta
|
|
536
|
+
onCta: () => void;
|
|
491
537
|
secondaryLabel?: string;
|
|
492
538
|
onSecondary?: () => void;
|
|
493
|
-
|
|
494
|
-
style?: ViewStyle;
|
|
539
|
+
className?: string;
|
|
495
540
|
}
|
|
496
|
-
declare function OnboardingHero({ title,
|
|
541
|
+
declare function OnboardingHero({ title, description, visual, ctaLabel, onCta, secondaryLabel, onSecondary, className, }: OnboardingHeroProps): react_jsx_runtime.JSX.Element;
|
|
497
542
|
|
|
498
543
|
interface PermissionStepProps {
|
|
499
|
-
icon
|
|
544
|
+
icon: React.ReactNode;
|
|
500
545
|
title: string;
|
|
501
546
|
description: string;
|
|
502
547
|
allowLabel?: string;
|
|
503
548
|
skipLabel?: string;
|
|
504
|
-
onAllow: () => void
|
|
505
|
-
onSkip
|
|
506
|
-
|
|
507
|
-
style?: ViewStyle;
|
|
549
|
+
onAllow: () => void;
|
|
550
|
+
onSkip: () => void;
|
|
551
|
+
className?: string;
|
|
508
552
|
}
|
|
509
|
-
declare function PermissionStep({ icon, title, description, allowLabel, skipLabel, onAllow, onSkip,
|
|
553
|
+
declare function PermissionStep({ icon, title, description, allowLabel, skipLabel, onAllow, onSkip, className, }: PermissionStepProps): react_jsx_runtime.JSX.Element;
|
|
510
554
|
|
|
511
555
|
interface QuizOption {
|
|
512
|
-
|
|
556
|
+
id: string;
|
|
513
557
|
label: string;
|
|
514
558
|
icon?: React.ReactNode;
|
|
515
|
-
description?: string;
|
|
516
559
|
}
|
|
517
560
|
interface QuizStepProps {
|
|
518
|
-
|
|
519
|
-
|
|
561
|
+
title: string;
|
|
562
|
+
description?: string;
|
|
520
563
|
options: QuizOption[];
|
|
521
|
-
value?: string | string[];
|
|
522
|
-
onChange: (v: string | string[]) => void;
|
|
523
564
|
multiSelect?: boolean;
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
565
|
+
onSubmit: (selected: string[]) => void;
|
|
566
|
+
submitLabel?: string;
|
|
567
|
+
className?: string;
|
|
527
568
|
}
|
|
528
|
-
declare function QuizStep({
|
|
569
|
+
declare function QuizStep({ title, description, options, multiSelect, onSubmit, submitLabel, className, }: QuizStepProps): react_jsx_runtime.JSX.Element;
|
|
529
570
|
|
|
530
|
-
interface
|
|
571
|
+
interface OnboardingFlowStep {
|
|
531
572
|
id: string;
|
|
532
573
|
component: React.ReactNode;
|
|
533
574
|
}
|
|
534
575
|
interface OnboardingFlowProps {
|
|
535
|
-
steps:
|
|
576
|
+
steps: OnboardingFlowStep[];
|
|
536
577
|
onComplete: () => void;
|
|
537
578
|
showProgress?: boolean;
|
|
538
|
-
|
|
579
|
+
className?: string;
|
|
539
580
|
}
|
|
540
|
-
declare function OnboardingFlow({ steps, onComplete, showProgress,
|
|
581
|
+
declare function OnboardingFlow({ steps, onComplete, showProgress, className, }: OnboardingFlowProps): react_jsx_runtime.JSX.Element;
|
|
541
582
|
|
|
583
|
+
interface AuthProvider {
|
|
584
|
+
id: 'google' | 'apple' | 'email' | string;
|
|
585
|
+
label?: string;
|
|
586
|
+
icon?: React.ReactNode;
|
|
587
|
+
}
|
|
588
|
+
interface AuthButtonsProps {
|
|
589
|
+
providers?: AuthProvider[];
|
|
590
|
+
onAuth: (providerId: string) => void;
|
|
591
|
+
className?: string;
|
|
592
|
+
}
|
|
593
|
+
declare function AuthButtons({ providers, onAuth, className, }: AuthButtonsProps): react_jsx_runtime.JSX.Element;
|
|
594
|
+
|
|
595
|
+
type SwipeDirection = 'left' | 'right' | 'up';
|
|
542
596
|
interface SwipeDeckProps<T> {
|
|
543
597
|
data: T[];
|
|
544
598
|
renderCard: (item: T, index: number) => React.ReactNode;
|
|
545
599
|
onSwipeLeft?: (item: T) => void;
|
|
546
600
|
onSwipeRight?: (item: T) => void;
|
|
547
601
|
onSwipeUp?: (item: T) => void;
|
|
548
|
-
onEmpty?: () =>
|
|
602
|
+
onEmpty?: () => React.ReactNode;
|
|
549
603
|
swipeThreshold?: number;
|
|
550
604
|
rotationFactor?: number;
|
|
551
605
|
stackDepth?: number;
|
|
552
|
-
|
|
606
|
+
className?: string;
|
|
553
607
|
}
|
|
554
|
-
declare function SwipeDeck<T>(
|
|
608
|
+
declare function SwipeDeck<T>({ data, renderCard, onSwipeLeft, onSwipeRight, onSwipeUp, onEmpty, swipeThreshold, rotationFactor, stackDepth, className, }: SwipeDeckProps<T>): react_jsx_runtime.JSX.Element;
|
|
555
609
|
|
|
556
610
|
interface SwipeCardProps {
|
|
557
611
|
children: React.ReactNode;
|
|
558
|
-
|
|
559
|
-
nopeLabel?: string;
|
|
560
|
-
superLabel?: string;
|
|
561
|
-
swipeDirection?: 'left' | 'right' | 'up' | null;
|
|
562
|
-
swipeIntensity?: number;
|
|
563
|
-
style?: ViewStyle;
|
|
612
|
+
className?: string;
|
|
564
613
|
}
|
|
565
|
-
declare function SwipeCard({ children,
|
|
614
|
+
declare function SwipeCard({ children, className }: SwipeCardProps): react_jsx_runtime.JSX.Element;
|
|
566
615
|
|
|
567
616
|
interface SwipeActionsProps {
|
|
568
617
|
onNope?: () => void;
|
|
569
|
-
onLike?: () => void;
|
|
570
618
|
onSuperLike?: () => void;
|
|
571
|
-
|
|
572
|
-
|
|
619
|
+
onLike?: () => void;
|
|
620
|
+
className?: string;
|
|
573
621
|
}
|
|
574
|
-
declare function SwipeActions({ onNope,
|
|
622
|
+
declare function SwipeActions({ onNope, onSuperLike, onLike, className }: SwipeActionsProps): react_jsx_runtime.JSX.Element;
|
|
575
623
|
|
|
576
624
|
interface SwipeOverlayProps {
|
|
577
|
-
|
|
578
|
-
|
|
625
|
+
position: Animated.ValueXY;
|
|
626
|
+
swipeThreshold: number;
|
|
627
|
+
className?: string;
|
|
579
628
|
}
|
|
580
|
-
declare function SwipeOverlay({
|
|
629
|
+
declare function SwipeOverlay({ position, swipeThreshold }: SwipeOverlayProps): react_jsx_runtime.JSX.Element;
|
|
581
630
|
|
|
582
631
|
interface VerticalReelProps<T> {
|
|
583
632
|
data: T[];
|
|
584
633
|
renderItem: (item: T, index: number, isActive: boolean) => React.ReactNode;
|
|
585
634
|
onActiveChange?: (index: number) => void;
|
|
586
|
-
|
|
587
|
-
|
|
635
|
+
keyExtractor: (item: T, index: number) => string;
|
|
636
|
+
className?: string;
|
|
588
637
|
}
|
|
589
|
-
declare function VerticalReel<T
|
|
590
|
-
id?: string | number;
|
|
591
|
-
}>({ data, renderItem, onActiveChange, preloadCount, style, }: VerticalReelProps<T>): react_jsx_runtime.JSX.Element;
|
|
638
|
+
declare function VerticalReel<T>({ data, renderItem, onActiveChange, keyExtractor, className, }: VerticalReelProps<T>): react_jsx_runtime.JSX.Element;
|
|
592
639
|
|
|
593
640
|
interface ReelItemProps {
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
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;
|
|
641
|
+
backgroundSource?: string | ImageSourcePropType;
|
|
642
|
+
backgroundColor?: string;
|
|
643
|
+
children?: React.ReactNode;
|
|
644
|
+
className?: string;
|
|
860
645
|
}
|
|
861
|
-
declare
|
|
646
|
+
declare function ReelItem({ backgroundSource, backgroundColor, children, className, }: ReelItemProps): react_jsx_runtime.JSX.Element;
|
|
862
647
|
|
|
863
|
-
interface
|
|
864
|
-
|
|
865
|
-
|
|
648
|
+
interface ReelAction {
|
|
649
|
+
key: string;
|
|
650
|
+
icon: React.ReactNode;
|
|
651
|
+
label?: string;
|
|
652
|
+
count?: number;
|
|
653
|
+
onPress?: () => void;
|
|
866
654
|
}
|
|
867
|
-
interface
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
655
|
+
interface ReelOverlayProps {
|
|
656
|
+
username: string;
|
|
657
|
+
description?: string;
|
|
658
|
+
actions?: ReelAction[];
|
|
659
|
+
avatar?: React.ReactNode;
|
|
660
|
+
children?: React.ReactNode;
|
|
661
|
+
className?: string;
|
|
873
662
|
}
|
|
874
|
-
declare
|
|
663
|
+
declare function ReelOverlay({ username, description, actions, avatar, children, className, }: ReelOverlayProps): react_jsx_runtime.JSX.Element;
|
|
875
664
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
665
|
+
type GlassTint = 'light' | 'dark' | 'default' | 'extraLight' | 'prominent' | 'systemMaterial';
|
|
666
|
+
interface GlassViewProps {
|
|
667
|
+
intensity?: number;
|
|
668
|
+
tint?: GlassTint;
|
|
669
|
+
borderRadius?: number;
|
|
670
|
+
children?: React.ReactNode;
|
|
671
|
+
className?: string;
|
|
882
672
|
}
|
|
883
|
-
declare
|
|
673
|
+
declare function GlassView({ intensity, tint, borderRadius, children, className, }: GlassViewProps): react_jsx_runtime.JSX.Element;
|
|
884
674
|
|
|
885
|
-
interface
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
675
|
+
interface GlassCardProps {
|
|
676
|
+
intensity?: number;
|
|
677
|
+
tint?: GlassTint;
|
|
678
|
+
onPress?: () => void;
|
|
679
|
+
style?: ViewStyle;
|
|
680
|
+
children?: React.ReactNode;
|
|
681
|
+
className?: string;
|
|
891
682
|
}
|
|
892
|
-
declare
|
|
683
|
+
declare function GlassCard({ intensity, tint, onPress, style, children, className, }: GlassCardProps): react_jsx_runtime.JSX.Element;
|
|
893
684
|
|
|
894
|
-
interface
|
|
685
|
+
interface GlassHeaderProps {
|
|
895
686
|
title?: string;
|
|
896
687
|
subtitle?: string;
|
|
897
688
|
left?: React.ReactNode;
|
|
898
689
|
right?: React.ReactNode;
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
690
|
+
intensity?: number;
|
|
691
|
+
tint?: GlassTint;
|
|
692
|
+
showBackButton?: boolean;
|
|
693
|
+
onBackPress?: () => void;
|
|
694
|
+
backIcon?: React.ReactNode;
|
|
695
|
+
children?: React.ReactNode;
|
|
696
|
+
className?: string;
|
|
902
697
|
}
|
|
903
|
-
declare
|
|
698
|
+
declare function GlassHeader({ title, subtitle, left, right, intensity, tint, showBackButton, onBackPress, backIcon, children, className, }: GlassHeaderProps): react_jsx_runtime.JSX.Element;
|
|
904
699
|
|
|
905
|
-
interface
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
700
|
+
interface GlassSheetProps {
|
|
701
|
+
visible: boolean;
|
|
702
|
+
onClose: () => void;
|
|
703
|
+
title?: string;
|
|
704
|
+
height?: number;
|
|
705
|
+
intensity?: number;
|
|
706
|
+
tint?: GlassTint;
|
|
707
|
+
children?: React.ReactNode;
|
|
708
|
+
className?: string;
|
|
909
709
|
}
|
|
910
|
-
declare
|
|
710
|
+
declare function GlassSheet({ visible, onClose, title, height, intensity, tint, children, className, }: GlassSheetProps): react_jsx_runtime.JSX.Element;
|
|
911
711
|
|
|
912
|
-
interface
|
|
712
|
+
interface GlassTab {
|
|
913
713
|
key: string;
|
|
914
714
|
label: string;
|
|
915
715
|
icon: React.ReactNode;
|
|
916
716
|
activeIcon?: React.ReactNode;
|
|
717
|
+
badge?: number;
|
|
917
718
|
}
|
|
918
|
-
interface
|
|
919
|
-
tabs:
|
|
719
|
+
interface GlassTabBarProps {
|
|
720
|
+
tabs: GlassTab[];
|
|
920
721
|
activeKey: string;
|
|
921
722
|
onChange: (key: string) => void;
|
|
922
|
-
|
|
723
|
+
intensity?: number;
|
|
724
|
+
tint?: GlassTint;
|
|
725
|
+
className?: string;
|
|
923
726
|
}
|
|
924
|
-
declare
|
|
727
|
+
declare function GlassTabBar({ tabs, activeKey, onChange, intensity, tint, className, }: GlassTabBarProps): react_jsx_runtime.JSX.Element;
|
|
925
728
|
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
729
|
+
type BubbleStatus = 'sending' | 'sent' | 'delivered' | 'read';
|
|
730
|
+
interface ChatBubbleProps {
|
|
731
|
+
content: string;
|
|
732
|
+
variant: 'sent' | 'received';
|
|
733
|
+
timestamp?: string;
|
|
734
|
+
status?: BubbleStatus;
|
|
735
|
+
renderMarkdown?: (content: string) => React.ReactNode;
|
|
736
|
+
children?: React.ReactNode;
|
|
737
|
+
className?: string;
|
|
931
738
|
}
|
|
932
|
-
declare
|
|
739
|
+
declare function ChatBubble({ content, variant, timestamp, status, renderMarkdown, children, className, }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
|
|
933
740
|
|
|
934
|
-
interface
|
|
935
|
-
|
|
936
|
-
|
|
741
|
+
interface ChatInputProps {
|
|
742
|
+
onSend?: (text: string) => void;
|
|
743
|
+
placeholder?: string;
|
|
744
|
+
attachButton?: React.ReactNode;
|
|
745
|
+
voiceButton?: React.ReactNode;
|
|
746
|
+
onAttach?: () => void;
|
|
747
|
+
onVoice?: () => void;
|
|
748
|
+
disabled?: boolean;
|
|
749
|
+
className?: string;
|
|
937
750
|
}
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
751
|
+
declare function ChatInput({ onSend, placeholder, attachButton, voiceButton, onAttach, onVoice, disabled, className, }: ChatInputProps): react_jsx_runtime.JSX.Element;
|
|
752
|
+
|
|
753
|
+
interface ChatMessage {
|
|
754
|
+
id: string;
|
|
755
|
+
type: 'sent' | 'received' | 'system';
|
|
756
|
+
date?: string;
|
|
757
|
+
}
|
|
758
|
+
interface ChatListProps<T extends ChatMessage> {
|
|
759
|
+
messages: T[];
|
|
760
|
+
renderMessage: (item: T, index: number) => React.ReactNode;
|
|
761
|
+
renderDateSeparator?: (date: string) => React.ReactNode;
|
|
762
|
+
className?: string;
|
|
943
763
|
}
|
|
944
|
-
declare
|
|
764
|
+
declare function ChatList<T extends ChatMessage>({ messages, renderMessage, renderDateSeparator, className, }: ChatListProps<T>): react_jsx_runtime.JSX.Element;
|
|
945
765
|
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
};
|
|
950
|
-
interface BottomSheetProps {
|
|
951
|
-
children: React.ReactNode;
|
|
952
|
-
title?: string;
|
|
953
|
-
snapPoints?: number[];
|
|
954
|
-
style?: ViewStyle;
|
|
766
|
+
interface TypingIndicatorProps {
|
|
767
|
+
label?: React.ReactNode;
|
|
768
|
+
className?: string;
|
|
955
769
|
}
|
|
956
|
-
declare
|
|
957
|
-
declare function useBottomSheet(): {
|
|
958
|
-
ref: React.RefObject<BottomSheetRef>;
|
|
959
|
-
show: () => void | undefined;
|
|
960
|
-
hide: () => void | undefined;
|
|
961
|
-
};
|
|
770
|
+
declare function TypingIndicator({ label, className }: TypingIndicatorProps): react_jsx_runtime.JSX.Element;
|
|
962
771
|
|
|
963
|
-
interface
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
772
|
+
interface ListingCardProps {
|
|
773
|
+
image: ImageSourcePropType | string;
|
|
774
|
+
title: string;
|
|
775
|
+
subtitle?: string;
|
|
776
|
+
price: string;
|
|
777
|
+
priceSuffix?: string;
|
|
778
|
+
rating?: number;
|
|
779
|
+
favorite?: boolean;
|
|
780
|
+
badge?: string;
|
|
781
|
+
imageHeight?: number;
|
|
782
|
+
onPress?: () => void;
|
|
783
|
+
onFavorite?: () => void;
|
|
784
|
+
className?: string;
|
|
971
785
|
}
|
|
972
|
-
declare
|
|
786
|
+
declare function ListingCard({ image, title, subtitle, price, priceSuffix, rating, favorite, badge, imageHeight, onPress, onFavorite, className, }: ListingCardProps): react_jsx_runtime.JSX.Element;
|
|
973
787
|
|
|
974
|
-
interface
|
|
788
|
+
interface ProductCardProps {
|
|
789
|
+
image: ImageSourcePropType | string;
|
|
975
790
|
title: string;
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
791
|
+
price: string;
|
|
792
|
+
originalPrice?: string;
|
|
793
|
+
badge?: string;
|
|
794
|
+
favorite?: boolean;
|
|
795
|
+
onPress?: () => void;
|
|
796
|
+
onFavorite?: () => void;
|
|
797
|
+
className?: string;
|
|
982
798
|
}
|
|
983
|
-
declare
|
|
984
|
-
declare function useConfirmationSheet(): {
|
|
985
|
-
show: (p: ConfirmationSheetProps) => void;
|
|
986
|
-
Sheet: react_jsx_runtime.JSX.Element | null;
|
|
987
|
-
};
|
|
799
|
+
declare function ProductCard({ image, title, price, originalPrice, badge, favorite, onPress, onFavorite, className, }: ProductCardProps): react_jsx_runtime.JSX.Element;
|
|
988
800
|
|
|
989
|
-
interface
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
801
|
+
interface CartItemProps {
|
|
802
|
+
image: ImageSourcePropType | string;
|
|
803
|
+
title: string;
|
|
804
|
+
subtitle?: string;
|
|
805
|
+
price: string;
|
|
806
|
+
quantity: number;
|
|
807
|
+
onIncrement?: () => void;
|
|
808
|
+
onDecrement?: () => void;
|
|
809
|
+
onRemove?: () => void;
|
|
810
|
+
className?: string;
|
|
995
811
|
}
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
812
|
+
declare function CartItem({ image, title, subtitle, price, quantity, onIncrement, onDecrement, onRemove, className, }: CartItemProps): react_jsx_runtime.JSX.Element;
|
|
813
|
+
|
|
814
|
+
interface PriceTagProps {
|
|
815
|
+
price: string;
|
|
816
|
+
originalPrice?: string;
|
|
817
|
+
suffix?: string;
|
|
818
|
+
className?: string;
|
|
1001
819
|
}
|
|
1002
|
-
declare
|
|
1003
|
-
declare function useActionSheet(): {
|
|
1004
|
-
show: (p: BlinkActionSheetProps) => void;
|
|
1005
|
-
Sheet: react_jsx_runtime.JSX.Element | null;
|
|
1006
|
-
};
|
|
820
|
+
declare function PriceTag({ price, originalPrice, suffix, className }: PriceTagProps): react_jsx_runtime.JSX.Element;
|
|
1007
821
|
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
position?: ToastPosition;
|
|
822
|
+
interface RatingStarsProps {
|
|
823
|
+
rating: number;
|
|
824
|
+
maxStars?: number;
|
|
825
|
+
count?: number;
|
|
826
|
+
size?: number;
|
|
827
|
+
className?: string;
|
|
1015
828
|
}
|
|
1016
|
-
declare
|
|
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
|
-
};
|
|
829
|
+
declare function RatingStars({ rating, maxStars, count, size, className, }: RatingStarsProps): react_jsx_runtime.JSX.Element;
|
|
1024
830
|
|
|
1025
|
-
interface
|
|
1026
|
-
|
|
1027
|
-
|
|
831
|
+
interface CategoryTileProps {
|
|
832
|
+
icon: keyof typeof Ionicons.glyphMap;
|
|
833
|
+
label: string;
|
|
834
|
+
iconColor?: string;
|
|
835
|
+
onPress?: () => void;
|
|
836
|
+
className?: string;
|
|
1028
837
|
}
|
|
1029
|
-
declare
|
|
838
|
+
declare function CategoryTile({ icon, label, iconColor, onPress, className, }: CategoryTileProps): react_jsx_runtime.JSX.Element;
|
|
1030
839
|
|
|
1031
|
-
interface
|
|
1032
|
-
|
|
840
|
+
interface BalanceDisplayProps {
|
|
841
|
+
label?: string;
|
|
842
|
+
amount: string;
|
|
843
|
+
currency?: string;
|
|
844
|
+
changePercent?: number;
|
|
845
|
+
className?: string;
|
|
846
|
+
}
|
|
847
|
+
declare function BalanceDisplay({ label, amount, currency, changePercent, className, }: BalanceDisplayProps): react_jsx_runtime.JSX.Element;
|
|
848
|
+
|
|
849
|
+
interface CardPreviewProps {
|
|
850
|
+
cardNumber?: string;
|
|
851
|
+
expiryDate?: string;
|
|
852
|
+
brand?: string;
|
|
853
|
+
gradientColors?: [string, string];
|
|
854
|
+
className?: string;
|
|
855
|
+
}
|
|
856
|
+
declare function CardPreview({ cardNumber, expiryDate, brand, gradientColors, className, }: CardPreviewProps): react_jsx_runtime.JSX.Element;
|
|
857
|
+
|
|
858
|
+
interface TransactionItemProps {
|
|
1033
859
|
title: string;
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
860
|
+
amount: string;
|
|
861
|
+
time: string;
|
|
862
|
+
method?: string;
|
|
863
|
+
isIncome?: boolean;
|
|
864
|
+
icon?: keyof typeof Ionicons.glyphMap;
|
|
865
|
+
avatar?: ImageSourcePropType | string;
|
|
866
|
+
onPress?: () => void;
|
|
867
|
+
className?: string;
|
|
1040
868
|
}
|
|
1041
|
-
declare
|
|
869
|
+
declare function TransactionItem({ title, amount, time, method, isIncome, icon, avatar, onPress, className, }: TransactionItemProps): react_jsx_runtime.JSX.Element;
|
|
1042
870
|
|
|
1043
|
-
interface
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
871
|
+
interface StoryCircleProps {
|
|
872
|
+
image: ImageSourcePropType | string;
|
|
873
|
+
size?: number;
|
|
874
|
+
seen?: boolean;
|
|
875
|
+
gradientColors?: string[];
|
|
876
|
+
onPress?: () => void;
|
|
877
|
+
className?: string;
|
|
878
|
+
}
|
|
879
|
+
declare function StoryCircle({ image, size, seen, gradientColors, onPress, className, }: StoryCircleProps): react_jsx_runtime.JSX.Element;
|
|
880
|
+
|
|
881
|
+
interface FeedCardProps {
|
|
882
|
+
userName: string;
|
|
883
|
+
userAvatar: ImageSourcePropType | string;
|
|
884
|
+
timeAgo: string;
|
|
885
|
+
content?: string;
|
|
886
|
+
image?: ImageSourcePropType | string;
|
|
887
|
+
liked?: boolean;
|
|
888
|
+
likeCount?: number;
|
|
889
|
+
commentCount?: number;
|
|
890
|
+
bookmarked?: boolean;
|
|
891
|
+
onLike?: () => void;
|
|
892
|
+
onComment?: () => void;
|
|
893
|
+
onShare?: () => void;
|
|
894
|
+
onBookmark?: () => void;
|
|
895
|
+
onMore?: () => void;
|
|
896
|
+
onUserPress?: () => void;
|
|
897
|
+
className?: string;
|
|
1048
898
|
}
|
|
1049
|
-
declare
|
|
899
|
+
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
900
|
|
|
1051
|
-
interface
|
|
1052
|
-
|
|
1053
|
-
|
|
901
|
+
interface ProviderCardProps {
|
|
902
|
+
heroImage: ImageSourcePropType | string;
|
|
903
|
+
avatar: ImageSourcePropType | string;
|
|
904
|
+
name: string;
|
|
905
|
+
rating?: number;
|
|
906
|
+
location?: string;
|
|
907
|
+
description?: string;
|
|
908
|
+
onPress?: () => void;
|
|
909
|
+
className?: string;
|
|
1054
910
|
}
|
|
1055
|
-
|
|
1056
|
-
|
|
911
|
+
declare function ProviderCard({ heroImage, avatar, name, rating, location, description, onPress, className, }: ProviderCardProps): react_jsx_runtime.JSX.Element;
|
|
912
|
+
|
|
913
|
+
interface Reaction {
|
|
914
|
+
emoji: string;
|
|
915
|
+
count: number;
|
|
916
|
+
active?: boolean;
|
|
1057
917
|
}
|
|
1058
|
-
interface
|
|
1059
|
-
|
|
1060
|
-
|
|
918
|
+
interface ReactionBarProps {
|
|
919
|
+
reactions: Reaction[];
|
|
920
|
+
onReact?: (emoji: string) => void;
|
|
921
|
+
className?: string;
|
|
1061
922
|
}
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
923
|
+
declare function ReactionBar({ reactions, onReact, className }: ReactionBarProps): react_jsx_runtime.JSX.Element;
|
|
924
|
+
|
|
925
|
+
interface SearchBarProps {
|
|
926
|
+
placeholder?: string;
|
|
927
|
+
value?: string;
|
|
928
|
+
onChangeText?: (text: string) => void;
|
|
929
|
+
onSubmit?: (text: string) => void;
|
|
930
|
+
autoFocus?: boolean;
|
|
931
|
+
/** When true, renders as a pressable pill that opens full-screen overlay */
|
|
932
|
+
asTrigger?: boolean;
|
|
933
|
+
className?: string;
|
|
1065
934
|
}
|
|
1066
|
-
declare
|
|
1067
|
-
Text: React.FC<TextSkeletonProps>;
|
|
1068
|
-
Card: React.FC<CardSkeletonProps>;
|
|
1069
|
-
List: React.FC<ListSkeletonProps>;
|
|
1070
|
-
Avatar: React.FC<AvatarSkeletonProps>;
|
|
1071
|
-
};
|
|
935
|
+
declare function SearchBar({ placeholder, value: controlledValue, onChangeText, onSubmit, autoFocus, asTrigger, className, }: SearchBarProps): react_jsx_runtime.JSX.Element;
|
|
1072
936
|
|
|
1073
|
-
interface
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
937
|
+
interface FilterChip {
|
|
938
|
+
id: string;
|
|
939
|
+
label: string;
|
|
940
|
+
}
|
|
941
|
+
interface FilterChipRowProps {
|
|
942
|
+
chips: FilterChip[];
|
|
943
|
+
activeId?: string;
|
|
944
|
+
onSelect?: (id: string) => void;
|
|
945
|
+
className?: string;
|
|
1080
946
|
}
|
|
1081
|
-
declare
|
|
947
|
+
declare function FilterChipRow({ chips, activeId, onSelect, className, }: FilterChipRowProps): react_jsx_runtime.JSX.Element;
|
|
1082
948
|
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
949
|
+
type SectionTitleSize = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
950
|
+
interface SectionHeaderProps {
|
|
951
|
+
title: string;
|
|
952
|
+
titleSize?: SectionTitleSize;
|
|
953
|
+
linkText?: string;
|
|
954
|
+
onLinkPress?: () => void;
|
|
955
|
+
className?: string;
|
|
1090
956
|
}
|
|
1091
|
-
declare
|
|
957
|
+
declare function SectionHeader({ title, titleSize, linkText, onLinkPress, className, }: SectionHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1092
958
|
|
|
1093
|
-
interface
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
959
|
+
interface CheckoutStep {
|
|
960
|
+
key: string;
|
|
961
|
+
label: string;
|
|
962
|
+
content: React.ReactNode;
|
|
963
|
+
}
|
|
964
|
+
interface CheckoutFlowProps {
|
|
965
|
+
steps: CheckoutStep[];
|
|
966
|
+
onComplete?: () => void;
|
|
967
|
+
nextLabel?: string;
|
|
968
|
+
completeLabel?: string;
|
|
969
|
+
className?: string;
|
|
970
|
+
}
|
|
971
|
+
declare function CheckoutFlow({ steps, onComplete, nextLabel, completeLabel, className, }: CheckoutFlowProps): react_jsx_runtime.JSX.Element;
|
|
972
|
+
|
|
973
|
+
interface DateRangePickerProps {
|
|
974
|
+
startDate?: Date;
|
|
975
|
+
endDate?: Date;
|
|
976
|
+
onSelect?: (start: Date, end: Date | null) => void;
|
|
977
|
+
className?: string;
|
|
1099
978
|
}
|
|
1100
|
-
declare
|
|
979
|
+
declare function DateRangePicker({ startDate: initialStart, endDate: initialEnd, onSelect, className, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
|
|
1101
980
|
|
|
1102
|
-
export { type ActionItem, AnimatedFab, AnimatedView,
|
|
981
|
+
export { type ActionItem, AnimatedFab, AnimatedView, type AnimationType, AuthButtons, type AuthButtonsProps, type AuthProvider, BalanceDisplay, type BalanceDisplayProps, BlinkActionSheet, type BlinkActionSheetProps, BlinkModal, BlinkSwitch, type BlinkSwitchProps, BottomSheet, CardPreview, type CardPreviewProps, CardScroller, 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, ConfirmationSheet, type ConfirmationSheetProps, Counter, type CounterProps, DateRangePicker, type DateRangePickerProps, EmptyState, FadeIn, FeatureRow, type FeatureRowProps, FeedCard, type FeedCardProps, type FilterChip, FilterChipRow, type FilterChipRowProps, GlassCard, type GlassCardProps, GlassHeader, type GlassHeaderProps, GlassSheet, type GlassSheetProps, type GlassTab, GlassTabBar, type GlassTabBarProps, type GlassTint, GlassView, type GlassViewProps, Header, HeaderIcon, type HeaderIconProps, type HeaderProps, type HeaderVariant, ImageCarousel, Input, type InputProps, type InputVariant, ListingCard, type ListingCardProps, MultiStep, OnboardingCarousel, type OnboardingCarouselProps, OnboardingFlow, type OnboardingFlowProps, type OnboardingFlowStep, OnboardingHero, type OnboardingHeroProps, OnboardingParallax, type OnboardingParallaxProps, type OnboardingSlide, PageLoader, 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, 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, ScaleIn, SearchBar, type SearchBarProps, SearchInput, type SearchInputProps, SearchPill, type SearchPillProps, SectionHeader, type SectionHeaderProps, type SectionTitleSize, type Segment, SegmentedControl, type SegmentedControlProps, Select, type SelectOption, type SelectProps, SkeletonLoader, SlideIn, SlideUp, Slider, type SliderProps, SocialProofBar, type SocialProofBarProps, 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, TextArea, type TextAreaProps, ThemeScroller, Toast, TransactionItem, type TransactionItemProps, TrialBanner, type TrialBannerProps, TypingIndicator, type TypingIndicatorProps, VerticalReel, type VerticalReelProps, cn, toast, useActionSheet, useAnimColors, useConfirmationSheet };
|