@blinkdotnew/mobile-ui 2.0.0-alpha.8 → 2.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 +580 -103
- package/dist/index.d.ts +580 -103
- package/dist/index.js +2731 -439
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2707 -459
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as tamagui from 'tamagui';
|
|
2
|
-
import { TamaguiInternalConfig, GetProps, YStack } from 'tamagui';
|
|
3
|
-
export { Accordion, Adapt, AlertDialog, Anchor, Avatar, Button, Card, Checkbox, Circle, ColorTokens, Dialog, Fieldset, Form, GetProps, H1, H2, H3, H4, H5, H6, Input, Label, Paragraph, Popover, PortalProvider, Progress, RadioGroup, ScrollView, Select, Separator, Sheet, SizableText, SizeTokens, Slider, Spinner, Square, Switch, Tabs, Image as TamaguiImage, ListItem as TamaguiListItem, TamaguiProvider, Text, TextArea, Theme, ThemeTokens, ToggleGroup, Tooltip, TooltipSimple, Unspaced, View, VisuallyHidden, XGroup, XStack, YGroup, YStack, ZStack, styled, useMedia, useTheme, useThemeName, withStaticProperties } from 'tamagui';
|
|
4
|
-
export {
|
|
5
|
-
import * as react from 'react';
|
|
6
|
-
import { ReactNode } from 'react';
|
|
2
|
+
import { TamaguiInternalConfig, GetProps, YStack, Select, Button as Button$1 } from 'tamagui';
|
|
3
|
+
export { Accordion, Adapt, AlertDialog, Anchor, AnimatePresence, Article, Aside, Avatar, TamaguiProvider as BlinkProvider, Button, Card, Checkbox, Circle, ColorTokens, Dialog, EnsureFlexed, Fieldset, Footer, Form, Frame, GetProps, Group, H1, H2, H3, H4, H5, H6, Header, Heading, Input, Label, Main, Nav, Paragraph, Popover, Portal, PortalHost, PortalItem, PortalProvider, Progress, RadioGroup, ScrollView, Select, Separator, Sheet, SizableStack, SizableText, SizeTokens, Slider, Spacer, Spinner, Square, Stack, Switch, Tabs, Image as TamaguiImage, ListItem as TamaguiListItem, TamaguiProvider, Text, TextArea, Theme, ThemeTokens, ThemeableStack, ToggleGroup, Tooltip, TooltipSimple, Unspaced, View, VisuallyHidden, XGroup, XStack, YGroup, YStack, ZStack, addTheme, composeEventHandlers, composeRefs, createFont, createMedia, createStyledContext, createTamagui, createTheme, createTokens, createVariable, getConfig, getToken, getTokenValue, getTokens, isClient, isWeb, replaceTheme, styled, updateTheme, useComposedRefs, useControllableState, useDebounce, useDebounceValue, useDidFinishSSR, useEvent, useForceUpdate, useIsPresent, useIsomorphicLayoutEffect, useMedia, usePresence, useTheme, useThemeName, useWindowDimensions, withStaticProperties } from 'tamagui';
|
|
4
|
+
export { defaultConfig as tamaguiDefaultConfig } from '@tamagui/config/v5';
|
|
7
5
|
import * as _tamagui_core from '@tamagui/core';
|
|
8
|
-
import * as
|
|
9
|
-
import
|
|
6
|
+
import * as React$1 from 'react';
|
|
7
|
+
import React__default, { ReactNode } from 'react';
|
|
8
|
+
import * as react_native from 'react-native';
|
|
9
|
+
export * from '@tamagui/lucide-icons';
|
|
10
10
|
|
|
11
11
|
declare const blinkConfig: TamaguiInternalConfig;
|
|
12
12
|
type BlinkConfig = typeof blinkConfig;
|
|
@@ -15,39 +15,87 @@ declare module 'tamagui' {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Maps the 16 Blink platform design themes (from auto-engineer src/types/color-theme.ts)
|
|
20
|
+
* to Tamagui-compatible theme palettes via createThemes.
|
|
21
|
+
*
|
|
22
|
+
* Usage:
|
|
23
|
+
* import { createBlinkThemes, BLINK_DESIGN_THEMES } from '@blinkdotnew/mobile-ui'
|
|
24
|
+
* const themes = createBlinkThemes('ocean-teal')
|
|
25
|
+
* const config = createTamagui({ ...tamaguiDefaultConfig, themes })
|
|
26
|
+
*/
|
|
27
|
+
type BlinkDesignThemeId = 'mono' | 'ocean-teal' | 'warm-amber' | 'rose-coral' | 'lavender' | 'glacier' | 'forest' | 'obsidian' | 'solar' | 'orchid' | 'indigo' | 'cosmic-night' | 'soft-pop' | 'neo-brutalism' | 'vintage-paper' | 'modern-minimal' | 'bubblegum';
|
|
28
|
+
interface BlinkColorPalette {
|
|
29
|
+
primary: string;
|
|
30
|
+
primary_foreground: string;
|
|
31
|
+
secondary: string;
|
|
32
|
+
secondary_foreground: string;
|
|
33
|
+
accent: string;
|
|
34
|
+
background: string;
|
|
35
|
+
dark_mode: string;
|
|
36
|
+
}
|
|
37
|
+
interface BlinkDesignTheme {
|
|
38
|
+
id: BlinkDesignThemeId;
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
palette: BlinkColorPalette;
|
|
42
|
+
}
|
|
43
|
+
declare const BLINK_DESIGN_THEMES: Record<BlinkDesignThemeId, BlinkDesignTheme>;
|
|
44
|
+
/**
|
|
45
|
+
* Generates Tamagui-compatible theme config for createThemes from a platform design theme.
|
|
46
|
+
*
|
|
47
|
+
* Usage with createThemes:
|
|
48
|
+
* ```ts
|
|
49
|
+
* import { createThemes } from '@tamagui/theme-builder'
|
|
50
|
+
* import { getBlinkThemePalettes } from '@blinkdotnew/mobile-ui'
|
|
51
|
+
*
|
|
52
|
+
* const palettes = getBlinkThemePalettes('ocean-teal')
|
|
53
|
+
* const themes = createThemes({
|
|
54
|
+
* base: { palette: palettes.base },
|
|
55
|
+
* accent: { palette: palettes.accent },
|
|
56
|
+
* })
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
declare function getBlinkThemePalettes(themeId: BlinkDesignThemeId): {
|
|
60
|
+
base: {
|
|
61
|
+
light: string[];
|
|
62
|
+
dark: string[];
|
|
63
|
+
};
|
|
64
|
+
accent: {
|
|
65
|
+
light: string[];
|
|
66
|
+
dark: string[];
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* All available design theme IDs for enumeration.
|
|
71
|
+
*/
|
|
72
|
+
declare const BLINK_DESIGN_THEME_IDS: BlinkDesignThemeId[];
|
|
73
|
+
/**
|
|
74
|
+
* Get theme metadata (name, description) for UI pickers.
|
|
75
|
+
*/
|
|
76
|
+
declare function getBlinkDesignTheme(themeId: BlinkDesignThemeId): BlinkDesignTheme | undefined;
|
|
77
|
+
|
|
78
|
+
declare const Button: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps & tamagui.TextContextStyles & {
|
|
19
79
|
textProps?: Partial<tamagui.SizableTextProps>;
|
|
20
80
|
noTextWrap?: boolean;
|
|
21
|
-
} &
|
|
22
|
-
icon?:
|
|
23
|
-
|
|
24
|
-
size?: any;
|
|
25
|
-
}> | ((props: {
|
|
26
|
-
color?: any;
|
|
27
|
-
size?: any;
|
|
28
|
-
}) => any) | null;
|
|
29
|
-
iconAfter?: react.JSX.Element | react.FunctionComponent<{
|
|
30
|
-
color?: any;
|
|
31
|
-
size?: any;
|
|
32
|
-
}> | ((props: {
|
|
33
|
-
color?: any;
|
|
34
|
-
size?: any;
|
|
35
|
-
}) => any) | null;
|
|
81
|
+
} & _tamagui_core.ThemeableProps & {
|
|
82
|
+
icon?: any;
|
|
83
|
+
iconAfter?: any;
|
|
36
84
|
scaleIcon?: number;
|
|
37
85
|
spaceFlex?: number | boolean;
|
|
38
86
|
scaleSpace?: number;
|
|
39
87
|
unstyled?: boolean;
|
|
40
|
-
},
|
|
88
|
+
}, _tamagui_core.StackStyleBase, {
|
|
41
89
|
size?: number | "lg" | "md" | "sm" | tamagui.SizeTokens | undefined;
|
|
42
90
|
disabled?: boolean | undefined;
|
|
43
91
|
elevation?: number | tamagui.SizeTokens | undefined;
|
|
44
|
-
variant?: "transparent" | "default" | "primary" | "outlined" | "floating" | "destructive" | undefined;
|
|
45
92
|
inset?: number | tamagui.SizeTokens | {
|
|
46
93
|
top?: number;
|
|
47
94
|
bottom?: number;
|
|
48
95
|
left?: number;
|
|
49
96
|
right?: number;
|
|
50
97
|
} | null | undefined;
|
|
98
|
+
variant?: "transparent" | "default" | "primary" | "outlined" | "floating" | "destructive" | undefined;
|
|
51
99
|
unstyled?: boolean | undefined;
|
|
52
100
|
transparent?: boolean | undefined;
|
|
53
101
|
fullscreen?: boolean | undefined;
|
|
@@ -62,10 +110,10 @@ declare const Button: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tam
|
|
|
62
110
|
padded?: boolean | undefined;
|
|
63
111
|
chromeless?: boolean | "all" | undefined;
|
|
64
112
|
fullWidth?: boolean | undefined;
|
|
65
|
-
},
|
|
113
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
66
114
|
type ButtonProps = GetProps<typeof Button>;
|
|
67
115
|
|
|
68
|
-
declare const BlinkText: tamagui.TamaguiComponent<
|
|
116
|
+
declare const BlinkText: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_core.TextStylePropsBase, {
|
|
69
117
|
size?: tamagui.FontSizeTokens | undefined;
|
|
70
118
|
bold?: boolean | undefined;
|
|
71
119
|
variant?: "body" | "display" | "h1" | "h2" | "h3" | "h4" | "bodySmall" | "caption" | "small" | undefined;
|
|
@@ -73,46 +121,46 @@ declare const BlinkText: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, t
|
|
|
73
121
|
center?: boolean | undefined;
|
|
74
122
|
muted?: boolean | undefined;
|
|
75
123
|
secondary?: boolean | undefined;
|
|
76
|
-
},
|
|
124
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
77
125
|
type BlinkTextProps = GetProps<typeof BlinkText>;
|
|
78
126
|
|
|
79
|
-
declare const CardFrame: tamagui.TamaguiComponent<
|
|
127
|
+
declare const CardFrame: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
80
128
|
size?: "lg" | "md" | "sm" | undefined;
|
|
81
129
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
82
130
|
pressable?: boolean | undefined;
|
|
83
|
-
},
|
|
131
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
84
132
|
type CardProps = GetProps<typeof CardFrame>;
|
|
85
|
-
declare const Card:
|
|
133
|
+
declare const Card: React$1.ForwardRefExoticComponent<Omit<_tamagui_core.RNTamaguiViewNonStyleProps, "size" | keyof _tamagui_core.StackStyleBase | "variant" | "pressable"> & _tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase> & {
|
|
86
134
|
size?: "lg" | "md" | "sm" | undefined;
|
|
87
135
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
88
136
|
pressable?: boolean | undefined;
|
|
89
|
-
} &
|
|
137
|
+
} & _tamagui_core.WithShorthands<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase>> & _tamagui_core.WithPseudoProps<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase> & {
|
|
90
138
|
size?: "lg" | "md" | "sm" | undefined;
|
|
91
139
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
92
140
|
pressable?: boolean | undefined;
|
|
93
|
-
} &
|
|
141
|
+
} & _tamagui_core.WithShorthands<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase>>> & _tamagui_core.WithMediaProps<_tamagui_core.WithThemeShorthandsAndPseudos<_tamagui_core.StackStyleBase, {
|
|
94
142
|
size?: "lg" | "md" | "sm" | undefined;
|
|
95
143
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
96
144
|
pressable?: boolean | undefined;
|
|
97
|
-
}>> &
|
|
145
|
+
}>> & React$1.RefAttributes<tamagui.TamaguiElement>> & _tamagui_core.StaticComponentObject<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
98
146
|
size?: "lg" | "md" | "sm" | undefined;
|
|
99
147
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
100
148
|
pressable?: boolean | undefined;
|
|
101
|
-
},
|
|
102
|
-
__tama: [
|
|
149
|
+
}, _tamagui_core.StaticConfigPublic> & Omit<_tamagui_core.StaticConfigPublic, "staticConfig" | "extractable" | "styleable"> & {
|
|
150
|
+
__tama: [_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
103
151
|
size?: "lg" | "md" | "sm" | undefined;
|
|
104
152
|
variant?: "outlined" | "flat" | "elevated" | undefined;
|
|
105
153
|
pressable?: boolean | undefined;
|
|
106
|
-
},
|
|
154
|
+
}, _tamagui_core.StaticConfigPublic];
|
|
107
155
|
} & {
|
|
108
|
-
Header: tamagui.TamaguiComponent<
|
|
109
|
-
Content: tamagui.TamaguiComponent<
|
|
110
|
-
Footer: tamagui.TamaguiComponent<
|
|
156
|
+
Header: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
|
|
157
|
+
Content: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
|
|
158
|
+
Footer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
|
|
111
159
|
};
|
|
112
160
|
|
|
113
|
-
declare const InputField: tamagui.TamaguiComponent<
|
|
114
|
-
readonly placeholderTextColor?: Omit<tamagui.ColorTokens |
|
|
115
|
-
readonly selectionColor?: Omit<tamagui.ColorTokens |
|
|
161
|
+
declare const InputField: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, react_native.TextInput, _tamagui_core.TamaguiComponentPropsBaseBase & react_native.TextInputProps & tamagui.InputExtraProps, _tamagui_core.TextStylePropsBase & {
|
|
162
|
+
readonly placeholderTextColor?: Omit<tamagui.ColorTokens | _tamagui_core.ThemeValueFallbackColor, "unset"> | undefined;
|
|
163
|
+
readonly selectionColor?: Omit<tamagui.ColorTokens | _tamagui_core.ThemeValueFallbackColor, "unset"> | undefined;
|
|
116
164
|
}, {
|
|
117
165
|
size?: tamagui.SizeTokens | undefined;
|
|
118
166
|
disabled?: boolean | undefined;
|
|
@@ -125,13 +173,13 @@ declare const InputField: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, TextI
|
|
|
125
173
|
readonly placeholderTextColor: "color";
|
|
126
174
|
readonly selectionColor: "color";
|
|
127
175
|
};
|
|
128
|
-
} &
|
|
176
|
+
} & _tamagui_core.StaticConfigPublic>;
|
|
129
177
|
type InputProps = GetProps<typeof InputField> & {
|
|
130
178
|
label?: string;
|
|
131
179
|
error?: string;
|
|
132
180
|
hint?: string;
|
|
133
181
|
};
|
|
134
|
-
declare function Input({ label, error, hint, ...props }: InputProps):
|
|
182
|
+
declare function Input({ label, error, hint, ...props }: InputProps): JSX.Element;
|
|
135
183
|
|
|
136
184
|
type SimpleSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
137
185
|
type AvatarProps = {
|
|
@@ -139,17 +187,17 @@ type AvatarProps = {
|
|
|
139
187
|
name?: string;
|
|
140
188
|
size?: number | SimpleSize;
|
|
141
189
|
};
|
|
142
|
-
declare const Avatar:
|
|
190
|
+
declare const Avatar: React$1.MemoExoticComponent<({ uri, name, size: sizeIn }: AvatarProps) => JSX.Element>;
|
|
143
191
|
|
|
144
|
-
declare const SubHeading: tamagui.TamaguiComponent<
|
|
192
|
+
declare const SubHeading: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_core.TextStylePropsBase, {
|
|
145
193
|
size?: tamagui.FontSizeTokens | undefined;
|
|
146
194
|
unstyled?: boolean | undefined;
|
|
147
|
-
},
|
|
195
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
148
196
|
declare function SepHeading({ children }: {
|
|
149
197
|
children: ReactNode;
|
|
150
|
-
}):
|
|
198
|
+
}): JSX.Element;
|
|
151
199
|
|
|
152
|
-
declare const PageContainer: tamagui.TamaguiComponent<
|
|
200
|
+
declare const PageContainer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
153
201
|
elevation?: number | tamagui.SizeTokens | undefined;
|
|
154
202
|
inset?: number | tamagui.SizeTokens | {
|
|
155
203
|
top?: number;
|
|
@@ -158,8 +206,8 @@ declare const PageContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, an
|
|
|
158
206
|
right?: number;
|
|
159
207
|
} | null | undefined;
|
|
160
208
|
fullscreen?: boolean | undefined;
|
|
161
|
-
},
|
|
162
|
-
declare const PageMainContainer: tamagui.TamaguiComponent<
|
|
209
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
210
|
+
declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
163
211
|
elevation?: number | tamagui.SizeTokens | undefined;
|
|
164
212
|
inset?: number | tamagui.SizeTokens | {
|
|
165
213
|
top?: number;
|
|
@@ -168,34 +216,34 @@ declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer
|
|
|
168
216
|
right?: number;
|
|
169
217
|
} | null | undefined;
|
|
170
218
|
fullscreen?: boolean | undefined;
|
|
171
|
-
},
|
|
219
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
172
220
|
|
|
173
221
|
declare function DialogProvider({ children }: {
|
|
174
222
|
children: ReactNode;
|
|
175
|
-
}):
|
|
223
|
+
}): JSX.Element;
|
|
176
224
|
declare const showError: (error: unknown, title?: string) => void;
|
|
177
225
|
declare const dialogConfirm: (props: {
|
|
178
226
|
title?: string;
|
|
179
227
|
description?: string;
|
|
180
228
|
}) => Promise<boolean>;
|
|
181
229
|
|
|
182
|
-
declare const Pressable: tamagui.TamaguiComponent<
|
|
230
|
+
declare const Pressable: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
|
|
183
231
|
|
|
184
|
-
declare const Image: tamagui.TamaguiComponent<
|
|
232
|
+
declare const Image: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, unknown, _tamagui_core.TamaguiComponentPropsBaseBase & Omit<Omit<_tamagui_core.GetFinalProps<_tamagui_core.TamaguiComponentPropsBaseBase & react_native.ImageProps, _tamagui_core.StackStyleBase, {}>, "borderRadius"> & {
|
|
185
233
|
borderRadius?: tamagui.RadiusTokens;
|
|
186
|
-
}, "style" | "onLayout" | "
|
|
234
|
+
}, "style" | "onLayout" | "height" | "width" | "resizeMode"> & {
|
|
187
235
|
width?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
|
|
188
236
|
height?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
|
|
189
|
-
src?: string |
|
|
190
|
-
resizeMode?:
|
|
237
|
+
src?: string | (react_native.ImageSourcePropType | undefined);
|
|
238
|
+
resizeMode?: react_native.ImageResizeMode | undefined;
|
|
191
239
|
objectFit?: React.CSSProperties["objectFit"];
|
|
192
|
-
} & Omit<tamagui.StackProps, string | number |
|
|
240
|
+
} & 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" | "outlineColor" | "shadowColor" | "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" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "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" | "isolation" | "boxShadow" | "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" | "inset" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "transformMatrix" | "rotation" | "translateX" | "translateY" | `$${string}` | `$${number}` | _tamagui_core.GroupMediaKeys | `$theme-${string}` | `$theme-${number}` | keyof _tamagui_core.WithPseudoProps<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase> & _tamagui_core.WithShorthands<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase>>> | "source" | "onError" | "onLoad" | "onLoadEnd" | "onLoadStart" | "progressiveRenderingEnabled" | "resizeMode" | "resizeMethod" | "src" | "srcSet" | "loadingIndicatorSource" | "defaultSource" | "alt" | "crossOrigin" | "tintColor" | "referrerPolicy" | "blurRadius" | "capInsets" | "onProgress" | "onPartialLoad" | "fadeDuration">, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
|
|
193
241
|
|
|
194
242
|
type BadgeProps = {
|
|
195
243
|
children: ReactNode;
|
|
196
244
|
variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
|
|
197
245
|
};
|
|
198
|
-
declare function Badge({ children, variant }: BadgeProps):
|
|
246
|
+
declare function Badge({ children, variant }: BadgeProps): JSX.Element;
|
|
199
247
|
|
|
200
248
|
declare const ICONS: {
|
|
201
249
|
readonly home: "⌂";
|
|
@@ -250,7 +298,7 @@ type IconProps = {
|
|
|
250
298
|
size?: number;
|
|
251
299
|
color?: string;
|
|
252
300
|
};
|
|
253
|
-
declare function Icon({ name, size, color }: IconProps):
|
|
301
|
+
declare function Icon({ name, size, color }: IconProps): JSX.Element;
|
|
254
302
|
|
|
255
303
|
type BlinkAccordionItem = {
|
|
256
304
|
id: string;
|
|
@@ -262,7 +310,7 @@ type BlinkAccordionProps = {
|
|
|
262
310
|
defaultOpen?: string[];
|
|
263
311
|
allowMultiple?: boolean;
|
|
264
312
|
};
|
|
265
|
-
declare function BlinkAccordion({ items, defaultOpen, allowMultiple }: BlinkAccordionProps):
|
|
313
|
+
declare function BlinkAccordion({ items, defaultOpen, allowMultiple }: BlinkAccordionProps): JSX.Element;
|
|
266
314
|
|
|
267
315
|
type BlinkTabItem = {
|
|
268
316
|
key: string;
|
|
@@ -274,7 +322,7 @@ type BlinkTabsProps = {
|
|
|
274
322
|
onTabChange?: (key: string) => void;
|
|
275
323
|
variant?: 'underline' | 'pill';
|
|
276
324
|
};
|
|
277
|
-
declare function BlinkTabs({ tabs, activeTab, onTabChange, variant }: BlinkTabsProps):
|
|
325
|
+
declare function BlinkTabs({ tabs, activeTab, onTabChange, variant }: BlinkTabsProps): JSX.Element;
|
|
278
326
|
|
|
279
327
|
type BlinkToggleOption = {
|
|
280
328
|
value: string;
|
|
@@ -286,22 +334,28 @@ type BlinkToggleGroupProps = {
|
|
|
286
334
|
onValueChange: (value: string) => void;
|
|
287
335
|
size?: 'sm' | 'md' | 'lg';
|
|
288
336
|
};
|
|
289
|
-
declare function BlinkToggleGroup({ options, value, onValueChange, size }: BlinkToggleGroupProps):
|
|
337
|
+
declare function BlinkToggleGroup({ options, value, onValueChange, size }: BlinkToggleGroupProps): JSX.Element;
|
|
290
338
|
|
|
291
339
|
type BlinkToastVariant = 'default' | 'success' | 'error' | 'warning';
|
|
292
340
|
type BlinkToastData = {
|
|
293
341
|
id: string;
|
|
294
|
-
|
|
342
|
+
title: string;
|
|
343
|
+
message?: string;
|
|
344
|
+
variant?: BlinkToastVariant;
|
|
345
|
+
duration?: number;
|
|
346
|
+
};
|
|
347
|
+
type BlinkToastOptions = {
|
|
348
|
+
message?: string;
|
|
295
349
|
variant?: BlinkToastVariant;
|
|
296
350
|
duration?: number;
|
|
297
351
|
};
|
|
298
352
|
type BlinkToastContextType = {
|
|
299
|
-
show: (
|
|
353
|
+
show: (title: string, options?: BlinkToastOptions) => void;
|
|
300
354
|
};
|
|
301
|
-
declare const toast: (
|
|
355
|
+
declare const toast: (title: string, options?: BlinkToastOptions | BlinkToastVariant) => void;
|
|
302
356
|
declare function BlinkToastProvider({ children }: {
|
|
303
357
|
children: ReactNode;
|
|
304
|
-
}):
|
|
358
|
+
}): JSX.Element;
|
|
305
359
|
declare function useBlinkToast(): BlinkToastContextType;
|
|
306
360
|
|
|
307
361
|
type FormFieldProps = {
|
|
@@ -311,14 +365,29 @@ type FormFieldProps = {
|
|
|
311
365
|
required?: boolean;
|
|
312
366
|
children: ReactNode;
|
|
313
367
|
};
|
|
314
|
-
declare function FormField({ label, error, helperText, required, children }: FormFieldProps):
|
|
368
|
+
declare function FormField({ label, error, helperText, required, children }: FormFieldProps): JSX.Element;
|
|
315
369
|
|
|
316
370
|
type TooltipProps = {
|
|
317
371
|
content: string;
|
|
318
372
|
children: ReactNode;
|
|
319
373
|
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
320
374
|
};
|
|
321
|
-
declare function BlinkTooltip({ content, children, side }: TooltipProps):
|
|
375
|
+
declare function BlinkTooltip({ content, children, side }: TooltipProps): JSX.Element;
|
|
376
|
+
|
|
377
|
+
declare function GoogleLogo({ size }: {
|
|
378
|
+
size?: number;
|
|
379
|
+
}): JSX.Element;
|
|
380
|
+
declare function AppleLogo({ size, color }: {
|
|
381
|
+
size?: number;
|
|
382
|
+
color?: string;
|
|
383
|
+
}): JSX.Element;
|
|
384
|
+
declare function GitHubLogo({ size, color }: {
|
|
385
|
+
size?: number;
|
|
386
|
+
color?: string;
|
|
387
|
+
}): JSX.Element;
|
|
388
|
+
declare function MicrosoftLogo({ size }: {
|
|
389
|
+
size?: number;
|
|
390
|
+
}): JSX.Element;
|
|
322
391
|
|
|
323
392
|
type StepPageProps = {
|
|
324
393
|
title: string;
|
|
@@ -326,9 +395,9 @@ type StepPageProps = {
|
|
|
326
395
|
children: ReactNode;
|
|
327
396
|
bottom?: ReactNode;
|
|
328
397
|
};
|
|
329
|
-
declare function StepPageLayout({ title, description, children, bottom }: StepPageProps):
|
|
398
|
+
declare function StepPageLayout({ title, description, children, bottom }: StepPageProps): JSX.Element;
|
|
330
399
|
|
|
331
|
-
declare const ScreenLayout: tamagui.TamaguiComponent<
|
|
400
|
+
declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
332
401
|
elevation?: number | tamagui.SizeTokens | undefined;
|
|
333
402
|
inset?: number | tamagui.SizeTokens | {
|
|
334
403
|
top?: number;
|
|
@@ -340,7 +409,7 @@ declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any
|
|
|
340
409
|
padded?: boolean | undefined;
|
|
341
410
|
centered?: boolean | undefined;
|
|
342
411
|
safe?: boolean | undefined;
|
|
343
|
-
},
|
|
412
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
344
413
|
|
|
345
414
|
type SectionProps = {
|
|
346
415
|
title?: string;
|
|
@@ -348,7 +417,7 @@ type SectionProps = {
|
|
|
348
417
|
children: ReactNode;
|
|
349
418
|
gap?: GetProps<typeof YStack>['gap'];
|
|
350
419
|
};
|
|
351
|
-
declare function Section({ title, description, children, gap }: SectionProps):
|
|
420
|
+
declare function Section({ title, description, children, gap }: SectionProps): JSX.Element;
|
|
352
421
|
|
|
353
422
|
type ListItemProps = {
|
|
354
423
|
icon?: ReactNode;
|
|
@@ -357,24 +426,24 @@ type ListItemProps = {
|
|
|
357
426
|
right?: ReactNode;
|
|
358
427
|
onPress?: () => void;
|
|
359
428
|
};
|
|
360
|
-
declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps):
|
|
429
|
+
declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps): JSX.Element;
|
|
361
430
|
|
|
362
431
|
type DividerProps = {
|
|
363
432
|
label?: string;
|
|
364
433
|
};
|
|
365
|
-
declare function Divider({ label }: DividerProps):
|
|
434
|
+
declare function Divider({ label }: DividerProps): JSX.Element;
|
|
366
435
|
|
|
367
436
|
type KeyboardStickyFooterProps = {
|
|
368
437
|
children: ReactNode;
|
|
369
438
|
offset?: number;
|
|
370
439
|
};
|
|
371
|
-
declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps):
|
|
440
|
+
declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps): JSX.Element;
|
|
372
441
|
|
|
373
442
|
type SafeAreaProps = {
|
|
374
443
|
children: ReactNode;
|
|
375
444
|
edges?: ('top' | 'bottom' | 'left' | 'right')[];
|
|
376
445
|
};
|
|
377
|
-
declare function SafeArea({ children, edges }: SafeAreaProps):
|
|
446
|
+
declare function SafeArea({ children, edges }: SafeAreaProps): JSX.Element;
|
|
378
447
|
|
|
379
448
|
type GridProps = {
|
|
380
449
|
children: ReactNode;
|
|
@@ -387,43 +456,97 @@ type ContainerProps = {
|
|
|
387
456
|
centered?: boolean;
|
|
388
457
|
padding?: string;
|
|
389
458
|
};
|
|
390
|
-
declare function Grid({ children, columns, gap }: GridProps):
|
|
391
|
-
declare function Container({ children, maxWidth, centered, padding }: ContainerProps):
|
|
459
|
+
declare function Grid({ children, columns, gap }: GridProps): JSX.Element;
|
|
460
|
+
declare function Container({ children, maxWidth, centered, padding }: ContainerProps): JSX.Element;
|
|
392
461
|
|
|
393
462
|
type PlanOption = {
|
|
394
463
|
id: string;
|
|
395
464
|
name: string;
|
|
396
465
|
price: string;
|
|
397
466
|
period: string;
|
|
398
|
-
|
|
467
|
+
tagline?: string;
|
|
468
|
+
pricePerWeek?: string;
|
|
469
|
+
savings?: string;
|
|
399
470
|
popular?: boolean;
|
|
471
|
+
trial?: string;
|
|
472
|
+
features?: string[];
|
|
473
|
+
};
|
|
474
|
+
type PaywallVariant = 'default' | 'social-proof' | 'comparison' | 'creator-sheet' | 'immersive-dark';
|
|
475
|
+
type PaywallFeature = string | {
|
|
476
|
+
title: string;
|
|
477
|
+
description?: string;
|
|
478
|
+
icon?: ReactNode;
|
|
479
|
+
};
|
|
480
|
+
type PaywallComparisonRow = {
|
|
481
|
+
label: string;
|
|
482
|
+
free?: boolean;
|
|
483
|
+
premium?: boolean;
|
|
484
|
+
};
|
|
485
|
+
type PaywallTestimonial = {
|
|
486
|
+
quote: string;
|
|
487
|
+
author: string;
|
|
488
|
+
meta?: string;
|
|
489
|
+
};
|
|
490
|
+
type PaywallCreator = {
|
|
491
|
+
name: string;
|
|
492
|
+
meta?: string;
|
|
493
|
+
avatar?: ReactNode;
|
|
400
494
|
};
|
|
401
495
|
type PaywallScreenProps = {
|
|
496
|
+
variant?: PaywallVariant;
|
|
497
|
+
eyebrow?: string;
|
|
402
498
|
title?: string;
|
|
403
499
|
subtitle?: string;
|
|
500
|
+
features?: PaywallFeature[];
|
|
404
501
|
plans: PlanOption[];
|
|
405
502
|
selectedPlan?: string;
|
|
406
503
|
onSelectPlan?: (planId: string) => void;
|
|
407
504
|
onContinue?: () => void;
|
|
505
|
+
onClose?: () => void;
|
|
408
506
|
onRestore?: () => void;
|
|
507
|
+
onTerms?: () => void;
|
|
508
|
+
onPrivacy?: () => void;
|
|
409
509
|
continueLabel?: string;
|
|
510
|
+
reassurance?: string;
|
|
511
|
+
hero?: ReactNode;
|
|
512
|
+
socialProof?: string;
|
|
513
|
+
countdownMinutes?: number;
|
|
514
|
+
badge?: string;
|
|
515
|
+
comparisonRows?: PaywallComparisonRow[];
|
|
516
|
+
testimonials?: PaywallTestimonial[];
|
|
517
|
+
creator?: PaywallCreator;
|
|
518
|
+
topSlot?: ReactNode;
|
|
519
|
+
footerSlot?: ReactNode;
|
|
520
|
+
trustBadges?: {
|
|
521
|
+
icon?: ReactNode;
|
|
522
|
+
label: string;
|
|
523
|
+
}[];
|
|
410
524
|
};
|
|
411
|
-
declare function PaywallScreen({ title, subtitle, plans, selectedPlan, onSelectPlan, onContinue, onRestore, continueLabel, }: PaywallScreenProps):
|
|
525
|
+
declare function PaywallScreen({ variant, eyebrow, title, subtitle, features, plans, selectedPlan, onSelectPlan, onContinue, onClose, onRestore, onTerms, onPrivacy, continueLabel, reassurance, hero, socialProof, countdownMinutes, badge, comparisonRows, testimonials, creator, topSlot, footerSlot, trustBadges, }: PaywallScreenProps): JSX.Element;
|
|
412
526
|
|
|
527
|
+
type OnboardingVariant = 'default' | 'calm-gradient' | 'card-tilt' | 'editorial' | 'selection-step' | 'permission-prompt';
|
|
413
528
|
type OnboardingStep = {
|
|
414
529
|
title: string;
|
|
415
530
|
description: string;
|
|
416
531
|
icon?: ReactNode;
|
|
532
|
+
hero?: ReactNode;
|
|
533
|
+
eyebrow?: string;
|
|
534
|
+
ctaLabel?: string;
|
|
535
|
+
background?: ReactNode;
|
|
417
536
|
};
|
|
418
537
|
type OnboardingCarouselProps = {
|
|
419
538
|
steps: OnboardingStep[];
|
|
539
|
+
variant?: OnboardingVariant;
|
|
540
|
+
brand?: ReactNode;
|
|
541
|
+
topLeading?: ReactNode;
|
|
420
542
|
onComplete?: () => void;
|
|
421
543
|
onSkip?: () => void;
|
|
422
544
|
completeLabel?: string;
|
|
423
545
|
skipLabel?: string;
|
|
424
546
|
nextLabel?: string;
|
|
547
|
+
footerSlot?: ReactNode;
|
|
425
548
|
};
|
|
426
|
-
declare function OnboardingCarousel({ steps, onComplete, onSkip, completeLabel, skipLabel, nextLabel, }: OnboardingCarouselProps):
|
|
549
|
+
declare function OnboardingCarousel({ steps, variant, brand, topLeading, onComplete, onSkip, completeLabel, skipLabel, nextLabel, footerSlot, }: OnboardingCarouselProps): JSX.Element;
|
|
427
550
|
|
|
428
551
|
type ChatMessage = {
|
|
429
552
|
id: string;
|
|
@@ -437,7 +560,7 @@ type ChatBubbleProps = {
|
|
|
437
560
|
message: ChatMessage;
|
|
438
561
|
showAvatar?: boolean;
|
|
439
562
|
};
|
|
440
|
-
declare function ChatBubble({ message, showAvatar }: ChatBubbleProps):
|
|
563
|
+
declare function ChatBubble({ message, showAvatar }: ChatBubbleProps): JSX.Element;
|
|
441
564
|
|
|
442
565
|
type SettingsItem = {
|
|
443
566
|
id: string;
|
|
@@ -458,7 +581,7 @@ type SettingsScreenProps = {
|
|
|
458
581
|
sections: SettingsSection[];
|
|
459
582
|
header?: ReactNode;
|
|
460
583
|
};
|
|
461
|
-
declare function SettingsScreen({ sections, header }: SettingsScreenProps):
|
|
584
|
+
declare function SettingsScreen({ sections, header }: SettingsScreenProps): JSX.Element;
|
|
462
585
|
|
|
463
586
|
type EmptyStateProps = {
|
|
464
587
|
icon?: ReactNode;
|
|
@@ -467,7 +590,7 @@ type EmptyStateProps = {
|
|
|
467
590
|
actionLabel?: string;
|
|
468
591
|
onAction?: () => void;
|
|
469
592
|
};
|
|
470
|
-
declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps):
|
|
593
|
+
declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps): JSX.Element;
|
|
471
594
|
|
|
472
595
|
type ProfileHeaderProps = {
|
|
473
596
|
name: string;
|
|
@@ -479,7 +602,7 @@ type ProfileHeaderProps = {
|
|
|
479
602
|
}[];
|
|
480
603
|
actions?: ReactNode;
|
|
481
604
|
};
|
|
482
|
-
declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps):
|
|
605
|
+
declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps): JSX.Element;
|
|
483
606
|
|
|
484
607
|
type AppHeaderVariant = 'simple' | 'back' | 'profile' | 'centered';
|
|
485
608
|
type AppHeaderProps = {
|
|
@@ -493,7 +616,7 @@ type AppHeaderProps = {
|
|
|
493
616
|
transparent?: boolean;
|
|
494
617
|
borderless?: boolean;
|
|
495
618
|
};
|
|
496
|
-
declare function AppHeader({ title, subtitle, variant, onBack, avatar, left, right, transparent, borderless }: AppHeaderProps):
|
|
619
|
+
declare function AppHeader({ title, subtitle, variant, onBack, avatar, left, right, transparent, borderless }: AppHeaderProps): JSX.Element;
|
|
497
620
|
|
|
498
621
|
type BottomSheetProps = {
|
|
499
622
|
open: boolean;
|
|
@@ -504,19 +627,29 @@ type BottomSheetProps = {
|
|
|
504
627
|
dismissOnSnapToBottom?: boolean;
|
|
505
628
|
showHandle?: boolean;
|
|
506
629
|
showClose?: boolean;
|
|
630
|
+
zIndex?: number;
|
|
507
631
|
};
|
|
508
|
-
declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose }: BottomSheetProps):
|
|
632
|
+
declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose, zIndex }: BottomSheetProps): JSX.Element;
|
|
509
633
|
|
|
634
|
+
type AuthProviderBrand = 'google' | 'apple' | 'github' | 'microsoft' | 'custom';
|
|
635
|
+
type LoginScreenVariant = 'default' | 'editorial' | 'centered-card';
|
|
510
636
|
type AuthProvider = {
|
|
511
637
|
id: string;
|
|
512
638
|
name: string;
|
|
513
639
|
icon?: ReactNode;
|
|
640
|
+
brand?: AuthProviderBrand;
|
|
641
|
+
description?: string;
|
|
514
642
|
};
|
|
515
643
|
type LoginScreenProps = {
|
|
644
|
+
variant?: LoginScreenVariant;
|
|
516
645
|
title?: string;
|
|
517
646
|
subtitle?: string;
|
|
518
647
|
logo?: ReactNode;
|
|
519
648
|
providers?: AuthProvider[];
|
|
649
|
+
hero?: ReactNode;
|
|
650
|
+
backgroundSlot?: ReactNode;
|
|
651
|
+
footerSlot?: ReactNode;
|
|
652
|
+
providerButtonStyle?: 'neutral' | 'brand';
|
|
520
653
|
onProviderPress?: (id: string) => void;
|
|
521
654
|
showEmailForm?: boolean;
|
|
522
655
|
onEmailSubmit?: (email: string, password: string) => void;
|
|
@@ -526,7 +659,7 @@ type LoginScreenProps = {
|
|
|
526
659
|
onPrivacy?: () => void;
|
|
527
660
|
loading?: boolean;
|
|
528
661
|
};
|
|
529
|
-
declare function LoginScreen({ title, subtitle, logo, providers, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading }: LoginScreenProps):
|
|
662
|
+
declare function LoginScreen({ variant, title, subtitle, logo, providers, hero, backgroundSlot, footerSlot, providerButtonStyle, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading, }: LoginScreenProps): JSX.Element;
|
|
530
663
|
|
|
531
664
|
type TabBarItem = {
|
|
532
665
|
id: string;
|
|
@@ -539,7 +672,7 @@ type TabBarProps = {
|
|
|
539
672
|
onTabPress: (id: string) => void;
|
|
540
673
|
showLabels?: boolean;
|
|
541
674
|
};
|
|
542
|
-
declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps):
|
|
675
|
+
declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps): JSX.Element;
|
|
543
676
|
|
|
544
677
|
type SearchBarProps = {
|
|
545
678
|
value: string;
|
|
@@ -549,7 +682,7 @@ type SearchBarProps = {
|
|
|
549
682
|
onCancel?: () => void;
|
|
550
683
|
autoFocus?: boolean;
|
|
551
684
|
};
|
|
552
|
-
declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps):
|
|
685
|
+
declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps): JSX.Element;
|
|
553
686
|
|
|
554
687
|
type FABProps = {
|
|
555
688
|
icon?: ReactNode;
|
|
@@ -558,7 +691,7 @@ type FABProps = {
|
|
|
558
691
|
position?: 'bottom-right' | 'bottom-center' | 'bottom-left';
|
|
559
692
|
size?: 'sm' | 'md' | 'lg';
|
|
560
693
|
};
|
|
561
|
-
declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps):
|
|
694
|
+
declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps): JSX.Element;
|
|
562
695
|
|
|
563
696
|
type ActionSheetItem = {
|
|
564
697
|
id: string;
|
|
@@ -573,8 +706,9 @@ type ActionSheetProps = {
|
|
|
573
706
|
items: ActionSheetItem[];
|
|
574
707
|
onSelect: (id: string) => void;
|
|
575
708
|
cancelLabel?: string;
|
|
709
|
+
zIndex?: number;
|
|
576
710
|
};
|
|
577
|
-
declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel }: ActionSheetProps):
|
|
711
|
+
declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel, zIndex }: ActionSheetProps): JSX.Element;
|
|
578
712
|
|
|
579
713
|
type SkeletonProps = {
|
|
580
714
|
width?: number | string;
|
|
@@ -582,7 +716,7 @@ type SkeletonProps = {
|
|
|
582
716
|
borderRadius?: number;
|
|
583
717
|
variant?: 'text' | 'circular' | 'rectangular';
|
|
584
718
|
};
|
|
585
|
-
declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps):
|
|
719
|
+
declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps): JSX.Element;
|
|
586
720
|
|
|
587
721
|
type NotificationBannerProps = {
|
|
588
722
|
title: string;
|
|
@@ -592,14 +726,14 @@ type NotificationBannerProps = {
|
|
|
592
726
|
onDismiss?: () => void;
|
|
593
727
|
icon?: ReactNode;
|
|
594
728
|
};
|
|
595
|
-
declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps):
|
|
729
|
+
declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps): JSX.Element;
|
|
596
730
|
|
|
597
731
|
type ProgressStepsProps = {
|
|
598
732
|
steps: string[];
|
|
599
733
|
currentStep: number;
|
|
600
734
|
variant?: 'dots' | 'bar' | 'numbered';
|
|
601
735
|
};
|
|
602
|
-
declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps):
|
|
736
|
+
declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps): JSX.Element;
|
|
603
737
|
|
|
604
738
|
type SwipeAction = {
|
|
605
739
|
id: string;
|
|
@@ -612,7 +746,7 @@ type SwipeableRowProps = {
|
|
|
612
746
|
leftActions?: SwipeAction[];
|
|
613
747
|
rightActions?: SwipeAction[];
|
|
614
748
|
};
|
|
615
|
-
declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps):
|
|
749
|
+
declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps): JSX.Element;
|
|
616
750
|
|
|
617
751
|
type MediaCardProps = {
|
|
618
752
|
image: string;
|
|
@@ -623,7 +757,7 @@ type MediaCardProps = {
|
|
|
623
757
|
onPress?: () => void;
|
|
624
758
|
badge?: string;
|
|
625
759
|
};
|
|
626
|
-
declare function MediaCard({ image, title, subtitle, overlay, aspectRatio, onPress, badge }: MediaCardProps):
|
|
760
|
+
declare function MediaCard({ image, title, subtitle, overlay, aspectRatio, onPress, badge }: MediaCardProps): JSX.Element;
|
|
627
761
|
|
|
628
762
|
type CarouselProps = {
|
|
629
763
|
children: ReactNode;
|
|
@@ -631,13 +765,356 @@ type CarouselProps = {
|
|
|
631
765
|
snapToInterval?: number;
|
|
632
766
|
showIndicators?: boolean;
|
|
633
767
|
};
|
|
634
|
-
declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps):
|
|
768
|
+
declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps): JSX.Element;
|
|
635
769
|
|
|
636
770
|
type PullToRefreshProps = {
|
|
637
771
|
children: ReactNode;
|
|
638
772
|
onRefresh: () => void;
|
|
639
773
|
refreshing?: boolean;
|
|
640
774
|
};
|
|
641
|
-
declare function PullToRefresh({ children, onRefresh, refreshing }: PullToRefreshProps):
|
|
775
|
+
declare function PullToRefresh({ children, onRefresh, refreshing }: PullToRefreshProps): JSX.Element;
|
|
776
|
+
|
|
777
|
+
type ProductCardProps = {
|
|
778
|
+
image: string;
|
|
779
|
+
title: string;
|
|
780
|
+
price: string;
|
|
781
|
+
originalPrice?: string;
|
|
782
|
+
rating?: number;
|
|
783
|
+
reviewCount?: number;
|
|
784
|
+
badge?: string;
|
|
785
|
+
onPress?: () => void;
|
|
786
|
+
onAddToCart?: () => void;
|
|
787
|
+
variant?: 'vertical' | 'horizontal';
|
|
788
|
+
};
|
|
789
|
+
declare function ProductCard({ image, title, price, originalPrice, rating, reviewCount, badge, onPress, onAddToCart, variant }: ProductCardProps): JSX.Element;
|
|
790
|
+
|
|
791
|
+
type PricingPlan = {
|
|
792
|
+
id: string;
|
|
793
|
+
name: string;
|
|
794
|
+
price: string;
|
|
795
|
+
period?: string;
|
|
796
|
+
description?: string;
|
|
797
|
+
features: {
|
|
798
|
+
label: string;
|
|
799
|
+
included: boolean;
|
|
800
|
+
}[];
|
|
801
|
+
popular?: boolean;
|
|
802
|
+
cta?: string;
|
|
803
|
+
trial?: string;
|
|
804
|
+
};
|
|
805
|
+
type PricingTableProps = {
|
|
806
|
+
plans: PricingPlan[];
|
|
807
|
+
selectedPlan?: string;
|
|
808
|
+
onSelectPlan?: (planId: string) => void;
|
|
809
|
+
annual?: boolean;
|
|
810
|
+
onToggleBilling?: (annual: boolean) => void;
|
|
811
|
+
onContinue?: () => void;
|
|
812
|
+
continueLabel?: string;
|
|
813
|
+
reassurance?: string;
|
|
814
|
+
};
|
|
815
|
+
declare function PricingTable({ plans, selectedPlan, onSelectPlan, annual, onToggleBilling, onContinue, continueLabel, reassurance }: PricingTableProps): JSX.Element;
|
|
816
|
+
|
|
817
|
+
type CountdownBannerProps = {
|
|
818
|
+
endTime?: Date;
|
|
819
|
+
minutes?: number;
|
|
820
|
+
label?: string;
|
|
821
|
+
onExpire?: () => void;
|
|
822
|
+
variant?: 'banner' | 'compact' | 'badge';
|
|
823
|
+
};
|
|
824
|
+
declare function CountdownBanner({ endTime, minutes, label, onExpire, variant }: CountdownBannerProps): JSX.Element | null;
|
|
825
|
+
|
|
826
|
+
type TestimonialCardProps = {
|
|
827
|
+
quote: string;
|
|
828
|
+
author: string;
|
|
829
|
+
role?: string;
|
|
830
|
+
avatar?: string;
|
|
831
|
+
rating?: number;
|
|
832
|
+
variant?: 'card' | 'minimal' | 'featured';
|
|
833
|
+
};
|
|
834
|
+
declare function TestimonialCard({ quote, author, role, avatar, rating, variant }: TestimonialCardProps): JSX.Element;
|
|
835
|
+
|
|
836
|
+
type ConfirmDialogProps = {
|
|
837
|
+
open: boolean;
|
|
838
|
+
onOpenChange: (open: boolean) => void;
|
|
839
|
+
title: string;
|
|
840
|
+
description?: string;
|
|
841
|
+
confirmLabel?: string;
|
|
842
|
+
cancelLabel?: string;
|
|
843
|
+
onConfirm?: () => void;
|
|
844
|
+
onCancel?: () => void;
|
|
845
|
+
destructive?: boolean;
|
|
846
|
+
icon?: ReactNode;
|
|
847
|
+
};
|
|
848
|
+
declare function ConfirmDialog({ open, onOpenChange, title, description, confirmLabel, cancelLabel, onConfirm, onCancel, destructive, icon, }: ConfirmDialogProps): JSX.Element;
|
|
849
|
+
|
|
850
|
+
type ChipProps = {
|
|
851
|
+
label: string;
|
|
852
|
+
selected?: boolean;
|
|
853
|
+
onPress?: () => void;
|
|
854
|
+
onRemove?: () => void;
|
|
855
|
+
variant?: 'filled' | 'outlined';
|
|
856
|
+
size?: 'sm' | 'md' | 'lg';
|
|
857
|
+
icon?: ReactNode;
|
|
858
|
+
color?: string;
|
|
859
|
+
};
|
|
860
|
+
type ChipGroupProps = {
|
|
861
|
+
chips: {
|
|
862
|
+
id: string;
|
|
863
|
+
label: string;
|
|
864
|
+
icon?: ReactNode;
|
|
865
|
+
}[];
|
|
866
|
+
selected?: string[];
|
|
867
|
+
onSelectionChange?: (selected: string[]) => void;
|
|
868
|
+
multiSelect?: boolean;
|
|
869
|
+
variant?: 'filled' | 'outlined';
|
|
870
|
+
size?: 'sm' | 'md' | 'lg';
|
|
871
|
+
};
|
|
872
|
+
declare function Chip({ label, selected, onPress, onRemove, variant, size, icon, color }: ChipProps): JSX.Element;
|
|
873
|
+
declare function ChipGroup({ chips, selected, onSelectionChange, multiSelect, variant, size }: ChipGroupProps): JSX.Element;
|
|
874
|
+
|
|
875
|
+
type OTPInputProps = {
|
|
876
|
+
length?: number;
|
|
877
|
+
value?: string;
|
|
878
|
+
onChange?: (value: string) => void;
|
|
879
|
+
onComplete?: (code: string) => void;
|
|
880
|
+
error?: boolean;
|
|
881
|
+
autoFocus?: boolean;
|
|
882
|
+
secureEntry?: boolean;
|
|
883
|
+
};
|
|
884
|
+
declare function OTPInput({ length, value, onChange, onComplete, error, autoFocus, secureEntry }: OTPInputProps): JSX.Element;
|
|
885
|
+
|
|
886
|
+
type PasswordInputProps = {
|
|
887
|
+
value?: string;
|
|
888
|
+
onChangeText?: (value: string) => void;
|
|
889
|
+
placeholder?: string;
|
|
890
|
+
label?: string;
|
|
891
|
+
error?: string;
|
|
892
|
+
size?: '$3' | '$4' | '$5';
|
|
893
|
+
strengthIndicator?: boolean;
|
|
894
|
+
};
|
|
895
|
+
declare function PasswordInput({ value, onChangeText, placeholder, label, error, size, strengthIndicator }: PasswordInputProps): JSX.Element;
|
|
896
|
+
|
|
897
|
+
type AvatarGroupProps = {
|
|
898
|
+
avatars: {
|
|
899
|
+
uri?: string;
|
|
900
|
+
name?: string;
|
|
901
|
+
color?: string;
|
|
902
|
+
}[];
|
|
903
|
+
max?: number;
|
|
904
|
+
size?: number;
|
|
905
|
+
overlap?: number;
|
|
906
|
+
};
|
|
907
|
+
declare function AvatarGroup({ avatars, max, size, overlap }: AvatarGroupProps): JSX.Element;
|
|
908
|
+
|
|
909
|
+
type SwipeCardItem = {
|
|
910
|
+
id: string;
|
|
911
|
+
[key: string]: any;
|
|
912
|
+
};
|
|
913
|
+
type SwipeCardsProps<T extends SwipeCardItem> = {
|
|
914
|
+
items: T[];
|
|
915
|
+
renderCard: (item: T) => ReactNode;
|
|
916
|
+
onSwipeLeft?: (item: T) => void;
|
|
917
|
+
onSwipeRight?: (item: T) => void;
|
|
918
|
+
onEmpty?: () => void;
|
|
919
|
+
leftLabel?: string;
|
|
920
|
+
rightLabel?: string;
|
|
921
|
+
emptyMessage?: string;
|
|
922
|
+
};
|
|
923
|
+
declare function SwipeCards<T extends SwipeCardItem>({ items, renderCard, onSwipeLeft, onSwipeRight, onEmpty, leftLabel, rightLabel, emptyMessage, }: SwipeCardsProps<T>): JSX.Element;
|
|
924
|
+
|
|
925
|
+
type GlassCardProps = {
|
|
926
|
+
children: ReactNode;
|
|
927
|
+
intensity?: 'light' | 'medium' | 'heavy';
|
|
928
|
+
tint?: 'light' | 'dark';
|
|
929
|
+
borderRadius?: number | string;
|
|
930
|
+
padding?: number | string;
|
|
931
|
+
elevated?: boolean;
|
|
932
|
+
};
|
|
933
|
+
declare function GlassCard({ children, intensity, tint, borderRadius, padding, elevated, }: GlassCardProps): JSX.Element;
|
|
934
|
+
|
|
935
|
+
type DataTableColumn<T> = {
|
|
936
|
+
key: string;
|
|
937
|
+
header: string;
|
|
938
|
+
render?: (value: any, row: T) => ReactNode;
|
|
939
|
+
sortable?: boolean;
|
|
940
|
+
width?: number | string;
|
|
941
|
+
};
|
|
942
|
+
type DataTableProps<T extends Record<string, any>> = {
|
|
943
|
+
columns: DataTableColumn<T>[];
|
|
944
|
+
data: T[];
|
|
945
|
+
onRowPress?: (row: T) => void;
|
|
946
|
+
emptyMessage?: string;
|
|
947
|
+
};
|
|
948
|
+
declare function StatusBadge({ status }: {
|
|
949
|
+
status: string;
|
|
950
|
+
}): JSX.Element;
|
|
951
|
+
declare function DataTable<T extends Record<string, any>>({ columns, data, onRowPress, emptyMessage }: DataTableProps<T>): JSX.Element;
|
|
952
|
+
|
|
953
|
+
type DatePickerProps = {
|
|
954
|
+
value?: Date;
|
|
955
|
+
onDateChange?: (date: Date) => void;
|
|
956
|
+
minDate?: Date;
|
|
957
|
+
maxDate?: Date;
|
|
958
|
+
startDay?: 0 | 1;
|
|
959
|
+
placeholder?: string;
|
|
960
|
+
};
|
|
961
|
+
declare function DatePicker({ value, onDateChange, minDate, maxDate, startDay }: DatePickerProps): JSX.Element;
|
|
962
|
+
|
|
963
|
+
type EventCardProps = {
|
|
964
|
+
title: string;
|
|
965
|
+
subtitle?: string;
|
|
966
|
+
time?: string;
|
|
967
|
+
location?: string;
|
|
968
|
+
label?: string;
|
|
969
|
+
participants?: number;
|
|
970
|
+
maxParticipants?: number;
|
|
971
|
+
theme?: 'purple' | 'green' | 'blue' | 'orange' | 'red' | 'pink';
|
|
972
|
+
onPress?: () => void;
|
|
973
|
+
actions?: ReactNode;
|
|
974
|
+
};
|
|
975
|
+
declare function EventCard({ theme, ...props }: EventCardProps): JSX.Element;
|
|
976
|
+
|
|
977
|
+
type PreferenceItem = {
|
|
978
|
+
type: 'toggle';
|
|
979
|
+
id: string;
|
|
980
|
+
title: string;
|
|
981
|
+
description?: string;
|
|
982
|
+
value: boolean;
|
|
983
|
+
onValueChange: (v: boolean) => void;
|
|
984
|
+
} | {
|
|
985
|
+
type: 'select';
|
|
986
|
+
id: string;
|
|
987
|
+
title: string;
|
|
988
|
+
description?: string;
|
|
989
|
+
value: string;
|
|
990
|
+
options: {
|
|
991
|
+
label: string;
|
|
992
|
+
value: string;
|
|
993
|
+
}[];
|
|
994
|
+
onValueChange: (v: string) => void;
|
|
995
|
+
} | {
|
|
996
|
+
type: 'slider';
|
|
997
|
+
id: string;
|
|
998
|
+
title: string;
|
|
999
|
+
description?: string;
|
|
1000
|
+
value: number;
|
|
1001
|
+
min?: number;
|
|
1002
|
+
max?: number;
|
|
1003
|
+
onValueChange: (v: number) => void;
|
|
1004
|
+
} | {
|
|
1005
|
+
type: 'action';
|
|
1006
|
+
id: string;
|
|
1007
|
+
title: string;
|
|
1008
|
+
description?: string;
|
|
1009
|
+
onPress: () => void;
|
|
1010
|
+
destructive?: boolean;
|
|
1011
|
+
};
|
|
1012
|
+
type PreferenceSection = {
|
|
1013
|
+
title: string;
|
|
1014
|
+
description?: string;
|
|
1015
|
+
items: PreferenceItem[];
|
|
1016
|
+
};
|
|
1017
|
+
type UserPreferencesProps = {
|
|
1018
|
+
sections: PreferenceSection[];
|
|
1019
|
+
};
|
|
1020
|
+
declare function UserPreferences({ sections }: UserPreferencesProps): JSX.Element;
|
|
1021
|
+
|
|
1022
|
+
type BlinkSelectItem = {
|
|
1023
|
+
label: string;
|
|
1024
|
+
value: string;
|
|
1025
|
+
};
|
|
1026
|
+
type BlinkSelectProps = {
|
|
1027
|
+
items: BlinkSelectItem[];
|
|
1028
|
+
value?: string;
|
|
1029
|
+
onValueChange?: (value: string) => void;
|
|
1030
|
+
placeholder?: string;
|
|
1031
|
+
label?: string;
|
|
1032
|
+
size?: GetProps<typeof Select.Trigger>['size'];
|
|
1033
|
+
disabled?: boolean;
|
|
1034
|
+
width?: string | number;
|
|
1035
|
+
};
|
|
1036
|
+
declare function BlinkSelect({ items, value, onValueChange, placeholder, label, size, disabled, width, }: BlinkSelectProps): JSX.Element;
|
|
1037
|
+
|
|
1038
|
+
type BlinkDialogProps = {
|
|
1039
|
+
open?: boolean;
|
|
1040
|
+
onOpenChange?: (open: boolean) => void;
|
|
1041
|
+
trigger?: React__default.ReactNode;
|
|
1042
|
+
title?: string;
|
|
1043
|
+
description?: string;
|
|
1044
|
+
children?: React__default.ReactNode;
|
|
1045
|
+
confirmLabel?: string;
|
|
1046
|
+
cancelLabel?: string;
|
|
1047
|
+
onConfirm?: () => void;
|
|
1048
|
+
onCancel?: () => void;
|
|
1049
|
+
confirmTheme?: GetProps<typeof Button$1>['theme'];
|
|
1050
|
+
};
|
|
1051
|
+
declare function BlinkDialog({ open, onOpenChange, trigger, title, description, children, confirmLabel, cancelLabel, onConfirm, onCancel, confirmTheme, }: BlinkDialogProps): JSX.Element;
|
|
1052
|
+
|
|
1053
|
+
type BlinkPopoverProps = {
|
|
1054
|
+
trigger: React__default.ReactNode;
|
|
1055
|
+
children: React__default.ReactNode;
|
|
1056
|
+
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
1057
|
+
allowFlip?: boolean;
|
|
1058
|
+
size?: string;
|
|
1059
|
+
};
|
|
1060
|
+
declare function BlinkPopover({ trigger, children, placement, allowFlip, size, }: BlinkPopoverProps): JSX.Element;
|
|
1061
|
+
|
|
1062
|
+
type ImmersiveMediaAction = {
|
|
1063
|
+
id: string;
|
|
1064
|
+
label?: string;
|
|
1065
|
+
value?: string;
|
|
1066
|
+
icon?: ReactNode;
|
|
1067
|
+
onPress?: () => void;
|
|
1068
|
+
};
|
|
1069
|
+
type ImmersiveMediaScreenProps = {
|
|
1070
|
+
variant?: 'story' | 'reel' | 'sheet';
|
|
1071
|
+
media: ReactNode;
|
|
1072
|
+
title?: string;
|
|
1073
|
+
subtitle?: string;
|
|
1074
|
+
topLeft?: ReactNode;
|
|
1075
|
+
topCenter?: ReactNode;
|
|
1076
|
+
topRight?: ReactNode;
|
|
1077
|
+
actions?: ImmersiveMediaAction[];
|
|
1078
|
+
bottomMeta?: ReactNode;
|
|
1079
|
+
inputPlaceholder?: string;
|
|
1080
|
+
onInputPress?: () => void;
|
|
1081
|
+
sheetContent?: ReactNode;
|
|
1082
|
+
};
|
|
1083
|
+
declare function ImmersiveMediaScreen({ variant, media, title, subtitle, topLeft, topCenter, topRight, actions, bottomMeta, inputPlaceholder, onInputPress, sheetContent, }: ImmersiveMediaScreenProps): JSX.Element;
|
|
1084
|
+
|
|
1085
|
+
type FinanceMetric = {
|
|
1086
|
+
label: string;
|
|
1087
|
+
value: string;
|
|
1088
|
+
change?: string;
|
|
1089
|
+
};
|
|
1090
|
+
type FinanceQuickAction = {
|
|
1091
|
+
id: string;
|
|
1092
|
+
label: string;
|
|
1093
|
+
icon?: ReactNode;
|
|
1094
|
+
onPress?: () => void;
|
|
1095
|
+
};
|
|
1096
|
+
type FinanceDashboardSection = {
|
|
1097
|
+
id?: string;
|
|
1098
|
+
title: string;
|
|
1099
|
+
rows: Array<{
|
|
1100
|
+
id: string;
|
|
1101
|
+
title: string;
|
|
1102
|
+
subtitle?: string;
|
|
1103
|
+
value?: string;
|
|
1104
|
+
leading?: ReactNode;
|
|
1105
|
+
}>;
|
|
1106
|
+
};
|
|
1107
|
+
type FinanceDashboardProps = {
|
|
1108
|
+
title?: string;
|
|
1109
|
+
balanceLabel?: string;
|
|
1110
|
+
balance: string;
|
|
1111
|
+
rangeLabel?: string;
|
|
1112
|
+
metrics?: FinanceMetric[];
|
|
1113
|
+
quickActions?: FinanceQuickAction[];
|
|
1114
|
+
sections?: FinanceDashboardSection[];
|
|
1115
|
+
chartSlot?: ReactNode;
|
|
1116
|
+
topRight?: ReactNode;
|
|
1117
|
+
};
|
|
1118
|
+
declare function FinanceDashboard({ title, balanceLabel, balance, rangeLabel, metrics, quickActions, sections, chartSlot, topRight, }: FinanceDashboardProps): JSX.Element;
|
|
642
1119
|
|
|
643
|
-
export { ActionSheet, type ActionSheetItem, type ActionSheetProps, AppHeader, type AppHeaderProps, type AppHeaderVariant, type AuthProvider, Badge, type BadgeProps, BlinkAccordion, type BlinkAccordionItem, type BlinkAccordionProps, Avatar as BlinkAvatar, type AvatarProps as BlinkAvatarProps, Button as BlinkButton, type ButtonProps as BlinkButtonProps, Card as BlinkCard, type CardProps as BlinkCardProps, type BlinkConfig, Input as BlinkInput, type InputProps as BlinkInputProps, type BlinkTabItem, BlinkTabs, type BlinkTabsProps, BlinkText, type BlinkTextProps, type BlinkToastContextType, type BlinkToastData, BlinkToastProvider, type BlinkToastVariant, BlinkToggleGroup, type BlinkToggleGroupProps, type BlinkToggleOption, BlinkTooltip, BottomSheet, type BottomSheetProps, Carousel, type CarouselProps, ChatBubble, type ChatBubbleProps, type ChatMessage, Container, type ContainerProps, DialogProvider, Divider, type DividerProps, EmptyState, type EmptyStateProps, type FABProps, FloatingActionButton, FormField, type FormFieldProps, Grid, type GridProps, ICONS, Icon, type IconName, type IconProps, Image, KeyboardStickyFooter, type KeyboardStickyFooterProps, ListItem, type ListItemProps, LoginScreen, type LoginScreenProps, MediaCard, type MediaCardProps, NotificationBanner, type NotificationBannerProps, OnboardingCarousel, type OnboardingCarouselProps, type OnboardingStep, PageContainer, PageMainContainer, PaywallScreen, type PaywallScreenProps, type PlanOption, Pressable, ProfileHeader, type ProfileHeaderProps, ProgressSteps, type ProgressStepsProps, PullToRefresh, type PullToRefreshProps, SafeArea, type SafeAreaProps, ScreenLayout, SearchBar, type SearchBarProps, Section, type SectionProps, SepHeading, type SettingsItem, SettingsScreen, type SettingsScreenProps, type SettingsSection, Skeleton, type SkeletonProps, StepPageLayout, type StepPageProps, SubHeading, type SwipeAction, SwipeableRow, type SwipeableRowProps, TabBar, type TabBarItem, type TabBarProps, type TooltipProps, blinkConfig, dialogConfirm, showError, toast, useBlinkToast };
|
|
1120
|
+
export { ActionSheet, type ActionSheetItem, type ActionSheetProps, AppHeader, type AppHeaderProps, type AppHeaderVariant, AppleLogo, type AuthProvider, type AuthProviderBrand, AvatarGroup, type AvatarGroupProps, BLINK_DESIGN_THEMES, BLINK_DESIGN_THEME_IDS, Badge, type BadgeProps, BlinkAccordion, type BlinkAccordionItem, type BlinkAccordionProps, Avatar as BlinkAvatar, type AvatarProps as BlinkAvatarProps, Button as BlinkButton, type ButtonProps as BlinkButtonProps, Card as BlinkCard, type CardProps as BlinkCardProps, type BlinkColorPalette, type BlinkConfig, type BlinkDesignTheme, type BlinkDesignThemeId, BlinkDialog, type BlinkDialogProps, Input as BlinkInput, type InputProps as BlinkInputProps, BlinkPopover, type BlinkPopoverProps, BlinkSelect, type BlinkSelectItem, type BlinkSelectProps, type BlinkTabItem, BlinkTabs, type BlinkTabsProps, BlinkText, type BlinkTextProps, type BlinkToastContextType, type BlinkToastData, type BlinkToastOptions, BlinkToastProvider, type BlinkToastVariant, BlinkToggleGroup, type BlinkToggleGroupProps, type BlinkToggleOption, BlinkTooltip, BottomSheet, type BottomSheetProps, Carousel, type CarouselProps, ChatBubble, type ChatBubbleProps, type ChatMessage, Chip, ChipGroup, type ChipGroupProps, type ChipProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, CountdownBanner, type CountdownBannerProps, DataTable, type DataTableColumn, type DataTableProps, DatePicker, type DatePickerProps, DialogProvider, Divider, type DividerProps, EmptyState, type EmptyStateProps, EventCard, type EventCardProps, type FABProps, FinanceDashboard, type FinanceDashboardProps, type FinanceDashboardSection, type FinanceMetric, type FinanceQuickAction, FloatingActionButton, FormField, type FormFieldProps, GitHubLogo, GlassCard, type GlassCardProps, GoogleLogo, Grid, type GridProps, ICONS, Icon, type IconName, type IconProps, Image, type ImmersiveMediaAction, ImmersiveMediaScreen, type ImmersiveMediaScreenProps, KeyboardStickyFooter, type KeyboardStickyFooterProps, ListItem, type ListItemProps, LoginScreen, type LoginScreenProps, type LoginScreenVariant, MediaCard, type MediaCardProps, MicrosoftLogo, NotificationBanner, type NotificationBannerProps, OTPInput, type OTPInputProps, OnboardingCarousel, type OnboardingCarouselProps, type OnboardingStep, type OnboardingVariant, PageContainer, PageMainContainer, PasswordInput, type PasswordInputProps, type PaywallComparisonRow, type PaywallCreator, type PaywallFeature, PaywallScreen, type PaywallScreenProps, type PaywallTestimonial, type PaywallVariant, type PlanOption, type PreferenceItem, type PreferenceSection, Pressable, type PricingPlan, PricingTable, type PricingTableProps, ProductCard, type ProductCardProps, ProfileHeader, type ProfileHeaderProps, ProgressSteps, type ProgressStepsProps, PullToRefresh, type PullToRefreshProps, SafeArea, type SafeAreaProps, ScreenLayout, SearchBar, type SearchBarProps, Section, type SectionProps, SepHeading, type SettingsItem, SettingsScreen, type SettingsScreenProps, type SettingsSection, Skeleton, type SkeletonProps, StatusBadge, StepPageLayout, type StepPageProps, SubHeading, type SwipeAction, type SwipeCardItem, SwipeCards, type SwipeCardsProps, SwipeableRow, type SwipeableRowProps, TabBar, type TabBarItem, type TabBarProps, TestimonialCard, type TestimonialCardProps, type TooltipProps, UserPreferences, type UserPreferencesProps, blinkConfig, dialogConfirm, getBlinkDesignTheme, getBlinkThemePalettes, showError, toast, useBlinkToast };
|