@blinkdotnew/mobile-ui 2.0.0-alpha.9 → 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 +570 -99
- package/dist/index.d.ts +570 -99
- package/dist/index.js +2645 -405
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2596 -398
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -2
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, TamaguiProvider as BlinkProvider, 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, createTamagui, styled, useMedia, useTheme, useThemeName, withStaticProperties } from 'tamagui';
|
|
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
4
|
export { defaultConfig as tamaguiDefaultConfig } from '@tamagui/config/v5';
|
|
5
|
-
import * as react from 'react';
|
|
6
|
-
import { ReactNode } from 'react';
|
|
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,7 +334,7 @@ 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 = {
|
|
@@ -307,7 +355,7 @@ type BlinkToastContextType = {
|
|
|
307
355
|
declare const toast: (title: string, options?: BlinkToastOptions | BlinkToastVariant) => void;
|
|
308
356
|
declare function BlinkToastProvider({ children }: {
|
|
309
357
|
children: ReactNode;
|
|
310
|
-
}):
|
|
358
|
+
}): JSX.Element;
|
|
311
359
|
declare function useBlinkToast(): BlinkToastContextType;
|
|
312
360
|
|
|
313
361
|
type FormFieldProps = {
|
|
@@ -317,14 +365,29 @@ type FormFieldProps = {
|
|
|
317
365
|
required?: boolean;
|
|
318
366
|
children: ReactNode;
|
|
319
367
|
};
|
|
320
|
-
declare function FormField({ label, error, helperText, required, children }: FormFieldProps):
|
|
368
|
+
declare function FormField({ label, error, helperText, required, children }: FormFieldProps): JSX.Element;
|
|
321
369
|
|
|
322
370
|
type TooltipProps = {
|
|
323
371
|
content: string;
|
|
324
372
|
children: ReactNode;
|
|
325
373
|
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
326
374
|
};
|
|
327
|
-
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;
|
|
328
391
|
|
|
329
392
|
type StepPageProps = {
|
|
330
393
|
title: string;
|
|
@@ -332,9 +395,9 @@ type StepPageProps = {
|
|
|
332
395
|
children: ReactNode;
|
|
333
396
|
bottom?: ReactNode;
|
|
334
397
|
};
|
|
335
|
-
declare function StepPageLayout({ title, description, children, bottom }: StepPageProps):
|
|
398
|
+
declare function StepPageLayout({ title, description, children, bottom }: StepPageProps): JSX.Element;
|
|
336
399
|
|
|
337
|
-
declare const ScreenLayout: tamagui.TamaguiComponent<
|
|
400
|
+
declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
|
|
338
401
|
elevation?: number | tamagui.SizeTokens | undefined;
|
|
339
402
|
inset?: number | tamagui.SizeTokens | {
|
|
340
403
|
top?: number;
|
|
@@ -346,7 +409,7 @@ declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any
|
|
|
346
409
|
padded?: boolean | undefined;
|
|
347
410
|
centered?: boolean | undefined;
|
|
348
411
|
safe?: boolean | undefined;
|
|
349
|
-
},
|
|
412
|
+
}, _tamagui_core.StaticConfigPublic>;
|
|
350
413
|
|
|
351
414
|
type SectionProps = {
|
|
352
415
|
title?: string;
|
|
@@ -354,7 +417,7 @@ type SectionProps = {
|
|
|
354
417
|
children: ReactNode;
|
|
355
418
|
gap?: GetProps<typeof YStack>['gap'];
|
|
356
419
|
};
|
|
357
|
-
declare function Section({ title, description, children, gap }: SectionProps):
|
|
420
|
+
declare function Section({ title, description, children, gap }: SectionProps): JSX.Element;
|
|
358
421
|
|
|
359
422
|
type ListItemProps = {
|
|
360
423
|
icon?: ReactNode;
|
|
@@ -363,24 +426,24 @@ type ListItemProps = {
|
|
|
363
426
|
right?: ReactNode;
|
|
364
427
|
onPress?: () => void;
|
|
365
428
|
};
|
|
366
|
-
declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps):
|
|
429
|
+
declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps): JSX.Element;
|
|
367
430
|
|
|
368
431
|
type DividerProps = {
|
|
369
432
|
label?: string;
|
|
370
433
|
};
|
|
371
|
-
declare function Divider({ label }: DividerProps):
|
|
434
|
+
declare function Divider({ label }: DividerProps): JSX.Element;
|
|
372
435
|
|
|
373
436
|
type KeyboardStickyFooterProps = {
|
|
374
437
|
children: ReactNode;
|
|
375
438
|
offset?: number;
|
|
376
439
|
};
|
|
377
|
-
declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps):
|
|
440
|
+
declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps): JSX.Element;
|
|
378
441
|
|
|
379
442
|
type SafeAreaProps = {
|
|
380
443
|
children: ReactNode;
|
|
381
444
|
edges?: ('top' | 'bottom' | 'left' | 'right')[];
|
|
382
445
|
};
|
|
383
|
-
declare function SafeArea({ children, edges }: SafeAreaProps):
|
|
446
|
+
declare function SafeArea({ children, edges }: SafeAreaProps): JSX.Element;
|
|
384
447
|
|
|
385
448
|
type GridProps = {
|
|
386
449
|
children: ReactNode;
|
|
@@ -393,43 +456,97 @@ type ContainerProps = {
|
|
|
393
456
|
centered?: boolean;
|
|
394
457
|
padding?: string;
|
|
395
458
|
};
|
|
396
|
-
declare function Grid({ children, columns, gap }: GridProps):
|
|
397
|
-
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;
|
|
398
461
|
|
|
399
462
|
type PlanOption = {
|
|
400
463
|
id: string;
|
|
401
464
|
name: string;
|
|
402
465
|
price: string;
|
|
403
466
|
period: string;
|
|
404
|
-
|
|
467
|
+
tagline?: string;
|
|
468
|
+
pricePerWeek?: string;
|
|
469
|
+
savings?: string;
|
|
405
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;
|
|
406
494
|
};
|
|
407
495
|
type PaywallScreenProps = {
|
|
496
|
+
variant?: PaywallVariant;
|
|
497
|
+
eyebrow?: string;
|
|
408
498
|
title?: string;
|
|
409
499
|
subtitle?: string;
|
|
500
|
+
features?: PaywallFeature[];
|
|
410
501
|
plans: PlanOption[];
|
|
411
502
|
selectedPlan?: string;
|
|
412
503
|
onSelectPlan?: (planId: string) => void;
|
|
413
504
|
onContinue?: () => void;
|
|
505
|
+
onClose?: () => void;
|
|
414
506
|
onRestore?: () => void;
|
|
507
|
+
onTerms?: () => void;
|
|
508
|
+
onPrivacy?: () => void;
|
|
415
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
|
+
}[];
|
|
416
524
|
};
|
|
417
|
-
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;
|
|
418
526
|
|
|
527
|
+
type OnboardingVariant = 'default' | 'calm-gradient' | 'card-tilt' | 'editorial' | 'selection-step' | 'permission-prompt';
|
|
419
528
|
type OnboardingStep = {
|
|
420
529
|
title: string;
|
|
421
530
|
description: string;
|
|
422
531
|
icon?: ReactNode;
|
|
532
|
+
hero?: ReactNode;
|
|
533
|
+
eyebrow?: string;
|
|
534
|
+
ctaLabel?: string;
|
|
535
|
+
background?: ReactNode;
|
|
423
536
|
};
|
|
424
537
|
type OnboardingCarouselProps = {
|
|
425
538
|
steps: OnboardingStep[];
|
|
539
|
+
variant?: OnboardingVariant;
|
|
540
|
+
brand?: ReactNode;
|
|
541
|
+
topLeading?: ReactNode;
|
|
426
542
|
onComplete?: () => void;
|
|
427
543
|
onSkip?: () => void;
|
|
428
544
|
completeLabel?: string;
|
|
429
545
|
skipLabel?: string;
|
|
430
546
|
nextLabel?: string;
|
|
547
|
+
footerSlot?: ReactNode;
|
|
431
548
|
};
|
|
432
|
-
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;
|
|
433
550
|
|
|
434
551
|
type ChatMessage = {
|
|
435
552
|
id: string;
|
|
@@ -443,7 +560,7 @@ type ChatBubbleProps = {
|
|
|
443
560
|
message: ChatMessage;
|
|
444
561
|
showAvatar?: boolean;
|
|
445
562
|
};
|
|
446
|
-
declare function ChatBubble({ message, showAvatar }: ChatBubbleProps):
|
|
563
|
+
declare function ChatBubble({ message, showAvatar }: ChatBubbleProps): JSX.Element;
|
|
447
564
|
|
|
448
565
|
type SettingsItem = {
|
|
449
566
|
id: string;
|
|
@@ -464,7 +581,7 @@ type SettingsScreenProps = {
|
|
|
464
581
|
sections: SettingsSection[];
|
|
465
582
|
header?: ReactNode;
|
|
466
583
|
};
|
|
467
|
-
declare function SettingsScreen({ sections, header }: SettingsScreenProps):
|
|
584
|
+
declare function SettingsScreen({ sections, header }: SettingsScreenProps): JSX.Element;
|
|
468
585
|
|
|
469
586
|
type EmptyStateProps = {
|
|
470
587
|
icon?: ReactNode;
|
|
@@ -473,7 +590,7 @@ type EmptyStateProps = {
|
|
|
473
590
|
actionLabel?: string;
|
|
474
591
|
onAction?: () => void;
|
|
475
592
|
};
|
|
476
|
-
declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps):
|
|
593
|
+
declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps): JSX.Element;
|
|
477
594
|
|
|
478
595
|
type ProfileHeaderProps = {
|
|
479
596
|
name: string;
|
|
@@ -485,7 +602,7 @@ type ProfileHeaderProps = {
|
|
|
485
602
|
}[];
|
|
486
603
|
actions?: ReactNode;
|
|
487
604
|
};
|
|
488
|
-
declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps):
|
|
605
|
+
declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps): JSX.Element;
|
|
489
606
|
|
|
490
607
|
type AppHeaderVariant = 'simple' | 'back' | 'profile' | 'centered';
|
|
491
608
|
type AppHeaderProps = {
|
|
@@ -499,7 +616,7 @@ type AppHeaderProps = {
|
|
|
499
616
|
transparent?: boolean;
|
|
500
617
|
borderless?: boolean;
|
|
501
618
|
};
|
|
502
|
-
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;
|
|
503
620
|
|
|
504
621
|
type BottomSheetProps = {
|
|
505
622
|
open: boolean;
|
|
@@ -510,19 +627,29 @@ type BottomSheetProps = {
|
|
|
510
627
|
dismissOnSnapToBottom?: boolean;
|
|
511
628
|
showHandle?: boolean;
|
|
512
629
|
showClose?: boolean;
|
|
630
|
+
zIndex?: number;
|
|
513
631
|
};
|
|
514
|
-
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;
|
|
515
633
|
|
|
634
|
+
type AuthProviderBrand = 'google' | 'apple' | 'github' | 'microsoft' | 'custom';
|
|
635
|
+
type LoginScreenVariant = 'default' | 'editorial' | 'centered-card';
|
|
516
636
|
type AuthProvider = {
|
|
517
637
|
id: string;
|
|
518
638
|
name: string;
|
|
519
639
|
icon?: ReactNode;
|
|
640
|
+
brand?: AuthProviderBrand;
|
|
641
|
+
description?: string;
|
|
520
642
|
};
|
|
521
643
|
type LoginScreenProps = {
|
|
644
|
+
variant?: LoginScreenVariant;
|
|
522
645
|
title?: string;
|
|
523
646
|
subtitle?: string;
|
|
524
647
|
logo?: ReactNode;
|
|
525
648
|
providers?: AuthProvider[];
|
|
649
|
+
hero?: ReactNode;
|
|
650
|
+
backgroundSlot?: ReactNode;
|
|
651
|
+
footerSlot?: ReactNode;
|
|
652
|
+
providerButtonStyle?: 'neutral' | 'brand';
|
|
526
653
|
onProviderPress?: (id: string) => void;
|
|
527
654
|
showEmailForm?: boolean;
|
|
528
655
|
onEmailSubmit?: (email: string, password: string) => void;
|
|
@@ -532,7 +659,7 @@ type LoginScreenProps = {
|
|
|
532
659
|
onPrivacy?: () => void;
|
|
533
660
|
loading?: boolean;
|
|
534
661
|
};
|
|
535
|
-
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;
|
|
536
663
|
|
|
537
664
|
type TabBarItem = {
|
|
538
665
|
id: string;
|
|
@@ -545,7 +672,7 @@ type TabBarProps = {
|
|
|
545
672
|
onTabPress: (id: string) => void;
|
|
546
673
|
showLabels?: boolean;
|
|
547
674
|
};
|
|
548
|
-
declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps):
|
|
675
|
+
declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps): JSX.Element;
|
|
549
676
|
|
|
550
677
|
type SearchBarProps = {
|
|
551
678
|
value: string;
|
|
@@ -555,7 +682,7 @@ type SearchBarProps = {
|
|
|
555
682
|
onCancel?: () => void;
|
|
556
683
|
autoFocus?: boolean;
|
|
557
684
|
};
|
|
558
|
-
declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps):
|
|
685
|
+
declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps): JSX.Element;
|
|
559
686
|
|
|
560
687
|
type FABProps = {
|
|
561
688
|
icon?: ReactNode;
|
|
@@ -564,7 +691,7 @@ type FABProps = {
|
|
|
564
691
|
position?: 'bottom-right' | 'bottom-center' | 'bottom-left';
|
|
565
692
|
size?: 'sm' | 'md' | 'lg';
|
|
566
693
|
};
|
|
567
|
-
declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps):
|
|
694
|
+
declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps): JSX.Element;
|
|
568
695
|
|
|
569
696
|
type ActionSheetItem = {
|
|
570
697
|
id: string;
|
|
@@ -579,8 +706,9 @@ type ActionSheetProps = {
|
|
|
579
706
|
items: ActionSheetItem[];
|
|
580
707
|
onSelect: (id: string) => void;
|
|
581
708
|
cancelLabel?: string;
|
|
709
|
+
zIndex?: number;
|
|
582
710
|
};
|
|
583
|
-
declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel }: ActionSheetProps):
|
|
711
|
+
declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel, zIndex }: ActionSheetProps): JSX.Element;
|
|
584
712
|
|
|
585
713
|
type SkeletonProps = {
|
|
586
714
|
width?: number | string;
|
|
@@ -588,7 +716,7 @@ type SkeletonProps = {
|
|
|
588
716
|
borderRadius?: number;
|
|
589
717
|
variant?: 'text' | 'circular' | 'rectangular';
|
|
590
718
|
};
|
|
591
|
-
declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps):
|
|
719
|
+
declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps): JSX.Element;
|
|
592
720
|
|
|
593
721
|
type NotificationBannerProps = {
|
|
594
722
|
title: string;
|
|
@@ -598,14 +726,14 @@ type NotificationBannerProps = {
|
|
|
598
726
|
onDismiss?: () => void;
|
|
599
727
|
icon?: ReactNode;
|
|
600
728
|
};
|
|
601
|
-
declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps):
|
|
729
|
+
declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps): JSX.Element;
|
|
602
730
|
|
|
603
731
|
type ProgressStepsProps = {
|
|
604
732
|
steps: string[];
|
|
605
733
|
currentStep: number;
|
|
606
734
|
variant?: 'dots' | 'bar' | 'numbered';
|
|
607
735
|
};
|
|
608
|
-
declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps):
|
|
736
|
+
declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps): JSX.Element;
|
|
609
737
|
|
|
610
738
|
type SwipeAction = {
|
|
611
739
|
id: string;
|
|
@@ -618,7 +746,7 @@ type SwipeableRowProps = {
|
|
|
618
746
|
leftActions?: SwipeAction[];
|
|
619
747
|
rightActions?: SwipeAction[];
|
|
620
748
|
};
|
|
621
|
-
declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps):
|
|
749
|
+
declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps): JSX.Element;
|
|
622
750
|
|
|
623
751
|
type MediaCardProps = {
|
|
624
752
|
image: string;
|
|
@@ -629,7 +757,7 @@ type MediaCardProps = {
|
|
|
629
757
|
onPress?: () => void;
|
|
630
758
|
badge?: string;
|
|
631
759
|
};
|
|
632
|
-
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;
|
|
633
761
|
|
|
634
762
|
type CarouselProps = {
|
|
635
763
|
children: ReactNode;
|
|
@@ -637,13 +765,356 @@ type CarouselProps = {
|
|
|
637
765
|
snapToInterval?: number;
|
|
638
766
|
showIndicators?: boolean;
|
|
639
767
|
};
|
|
640
|
-
declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps):
|
|
768
|
+
declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps): JSX.Element;
|
|
641
769
|
|
|
642
770
|
type PullToRefreshProps = {
|
|
643
771
|
children: ReactNode;
|
|
644
772
|
onRefresh: () => void;
|
|
645
773
|
refreshing?: boolean;
|
|
646
774
|
};
|
|
647
|
-
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;
|
|
648
1119
|
|
|
649
|
-
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, type BlinkToastOptions, 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 };
|