@blinkdotnew/mobile-ui 2.0.0-alpha.16 → 2.0.0-alpha.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -2,11 +2,10 @@ import * as tamagui from 'tamagui';
2
2
  import { TamaguiInternalConfig, GetProps, YStack, Select, Button as Button$1 } from 'tamagui';
3
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 react__default, { ReactNode } from 'react';
7
5
  import * as _tamagui_core from '@tamagui/core';
8
- import * as _tamagui_web from '@tamagui/web';
9
- import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as React$1 from 'react';
7
+ import React__default, { ReactNode } from 'react';
8
+ import * as react_native from 'react-native';
10
9
 
11
10
  declare const blinkConfig: TamaguiInternalConfig;
12
11
  type BlinkConfig = typeof blinkConfig;
@@ -15,39 +14,87 @@ declare module 'tamagui' {
15
14
  }
16
15
  }
17
16
 
18
- declare const Button: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps & tamagui.TextContextStyles & {
17
+ /**
18
+ * Maps the 16 Blink platform design themes (from auto-engineer src/types/color-theme.ts)
19
+ * to Tamagui-compatible theme palettes via createThemes.
20
+ *
21
+ * Usage:
22
+ * import { createBlinkThemes, BLINK_DESIGN_THEMES } from '@blinkdotnew/mobile-ui'
23
+ * const themes = createBlinkThemes('ocean-teal')
24
+ * const config = createTamagui({ ...tamaguiDefaultConfig, themes })
25
+ */
26
+ 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';
27
+ interface BlinkColorPalette {
28
+ primary: string;
29
+ primary_foreground: string;
30
+ secondary: string;
31
+ secondary_foreground: string;
32
+ accent: string;
33
+ background: string;
34
+ dark_mode: string;
35
+ }
36
+ interface BlinkDesignTheme {
37
+ id: BlinkDesignThemeId;
38
+ name: string;
39
+ description: string;
40
+ palette: BlinkColorPalette;
41
+ }
42
+ declare const BLINK_DESIGN_THEMES: Record<BlinkDesignThemeId, BlinkDesignTheme>;
43
+ /**
44
+ * Generates Tamagui-compatible theme config for createThemes from a platform design theme.
45
+ *
46
+ * Usage with createThemes:
47
+ * ```ts
48
+ * import { createThemes } from '@tamagui/theme-builder'
49
+ * import { getBlinkThemePalettes } from '@blinkdotnew/mobile-ui'
50
+ *
51
+ * const palettes = getBlinkThemePalettes('ocean-teal')
52
+ * const themes = createThemes({
53
+ * base: { palette: palettes.base },
54
+ * accent: { palette: palettes.accent },
55
+ * })
56
+ * ```
57
+ */
58
+ declare function getBlinkThemePalettes(themeId: BlinkDesignThemeId): {
59
+ base: {
60
+ light: string[];
61
+ dark: string[];
62
+ };
63
+ accent: {
64
+ light: string[];
65
+ dark: string[];
66
+ };
67
+ };
68
+ /**
69
+ * All available design theme IDs for enumeration.
70
+ */
71
+ declare const BLINK_DESIGN_THEME_IDS: BlinkDesignThemeId[];
72
+ /**
73
+ * Get theme metadata (name, description) for UI pickers.
74
+ */
75
+ declare function getBlinkDesignTheme(themeId: BlinkDesignThemeId): BlinkDesignTheme | undefined;
76
+
77
+ declare const Button: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps & tamagui.TextContextStyles & {
19
78
  textProps?: Partial<tamagui.SizableTextProps>;
20
79
  noTextWrap?: boolean;
21
- } & _tamagui_web.ThemeableProps & {
22
- icon?: react.JSX.Element | react.FunctionComponent<{
23
- color?: any;
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;
80
+ } & _tamagui_core.ThemeableProps & {
81
+ icon?: any;
82
+ iconAfter?: any;
36
83
  scaleIcon?: number;
37
84
  spaceFlex?: number | boolean;
38
85
  scaleSpace?: number;
39
86
  unstyled?: boolean;
40
- }, _tamagui_web.StackStyleBase, {
87
+ }, _tamagui_core.StackStyleBase, {
41
88
  size?: number | "lg" | "md" | "sm" | tamagui.SizeTokens | undefined;
42
89
  disabled?: boolean | undefined;
43
90
  elevation?: number | tamagui.SizeTokens | undefined;
44
- variant?: "transparent" | "default" | "primary" | "outlined" | "floating" | "destructive" | undefined;
45
91
  inset?: number | tamagui.SizeTokens | {
46
92
  top?: number;
47
93
  bottom?: number;
48
94
  left?: number;
49
95
  right?: number;
50
96
  } | null | undefined;
97
+ variant?: "transparent" | "default" | "primary" | "outlined" | "floating" | "destructive" | undefined;
51
98
  unstyled?: boolean | undefined;
52
99
  transparent?: boolean | undefined;
53
100
  fullscreen?: boolean | undefined;
@@ -62,10 +109,10 @@ declare const Button: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tam
62
109
  padded?: boolean | undefined;
63
110
  chromeless?: boolean | "all" | undefined;
64
111
  fullWidth?: boolean | undefined;
65
- }, _tamagui_web.StaticConfigPublic>;
112
+ }, _tamagui_core.StaticConfigPublic>;
66
113
  type ButtonProps = GetProps<typeof Button>;
67
114
 
68
- declare const BlinkText: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
115
+ declare const BlinkText: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_core.TextStylePropsBase, {
69
116
  size?: tamagui.FontSizeTokens | undefined;
70
117
  bold?: boolean | undefined;
71
118
  variant?: "body" | "display" | "h1" | "h2" | "h3" | "h4" | "bodySmall" | "caption" | "small" | undefined;
@@ -73,46 +120,46 @@ declare const BlinkText: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, t
73
120
  center?: boolean | undefined;
74
121
  muted?: boolean | undefined;
75
122
  secondary?: boolean | undefined;
76
- }, _tamagui_web.StaticConfigPublic>;
123
+ }, _tamagui_core.StaticConfigPublic>;
77
124
  type BlinkTextProps = GetProps<typeof BlinkText>;
78
125
 
79
- declare const CardFrame: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
126
+ declare const CardFrame: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
80
127
  size?: "lg" | "md" | "sm" | undefined;
81
128
  variant?: "outlined" | "flat" | "elevated" | undefined;
82
129
  pressable?: boolean | undefined;
83
- }, _tamagui_web.StaticConfigPublic>;
130
+ }, _tamagui_core.StaticConfigPublic>;
84
131
  type CardProps = GetProps<typeof CardFrame>;
85
- declare const Card: react.ForwardRefExoticComponent<Omit<_tamagui_core.RNTamaguiViewNonStyleProps, keyof _tamagui_web.StackStyleBase> & _tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase> & {
132
+ declare const Card: React$1.ForwardRefExoticComponent<Omit<_tamagui_core.RNTamaguiViewNonStyleProps, "size" | keyof _tamagui_core.StackStyleBase | "variant" | "pressable"> & _tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase> & {
86
133
  size?: "lg" | "md" | "sm" | undefined;
87
134
  variant?: "outlined" | "flat" | "elevated" | undefined;
88
135
  pressable?: boolean | undefined;
89
- } & _tamagui_web.WithShorthands<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase>> & _tamagui_web.WithPseudoProps<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase> & {
136
+ } & _tamagui_core.WithShorthands<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase>> & _tamagui_core.WithPseudoProps<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase> & {
90
137
  size?: "lg" | "md" | "sm" | undefined;
91
138
  variant?: "outlined" | "flat" | "elevated" | undefined;
92
139
  pressable?: boolean | undefined;
93
- } & _tamagui_web.WithShorthands<_tamagui_web.WithThemeValues<_tamagui_web.StackStyleBase>>> & _tamagui_web.WithMediaProps<_tamagui_web.WithThemeShorthandsAndPseudos<_tamagui_web.StackStyleBase, {
140
+ } & _tamagui_core.WithShorthands<_tamagui_core.WithThemeValues<_tamagui_core.StackStyleBase>>> & _tamagui_core.WithMediaProps<_tamagui_core.WithThemeShorthandsAndPseudos<_tamagui_core.StackStyleBase, {
94
141
  size?: "lg" | "md" | "sm" | undefined;
95
142
  variant?: "outlined" | "flat" | "elevated" | undefined;
96
143
  pressable?: boolean | undefined;
97
- }>> & react.RefAttributes<any>> & _tamagui_web.StaticComponentObject<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
144
+ }>> & React$1.RefAttributes<tamagui.TamaguiElement>> & _tamagui_core.StaticComponentObject<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
98
145
  size?: "lg" | "md" | "sm" | undefined;
99
146
  variant?: "outlined" | "flat" | "elevated" | undefined;
100
147
  pressable?: boolean | undefined;
101
- }, _tamagui_web.StaticConfigPublic> & Omit<_tamagui_web.StaticConfigPublic, "staticConfig" | "extractable" | "styleable"> & {
102
- __tama: [_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
148
+ }, _tamagui_core.StaticConfigPublic> & Omit<_tamagui_core.StaticConfigPublic, "staticConfig" | "extractable" | "styleable"> & {
149
+ __tama: [_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
103
150
  size?: "lg" | "md" | "sm" | undefined;
104
151
  variant?: "outlined" | "flat" | "elevated" | undefined;
105
152
  pressable?: boolean | undefined;
106
- }, _tamagui_web.StaticConfigPublic];
153
+ }, _tamagui_core.StaticConfigPublic];
107
154
  } & {
108
- Header: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
109
- Content: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
110
- Footer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
155
+ Header: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
156
+ Content: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
157
+ Footer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
111
158
  };
112
159
 
113
- declare const InputField: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, TextInput, any, _tamagui_web.TextStylePropsBase & {
114
- readonly placeholderTextColor?: Omit<tamagui.ColorTokens | _tamagui_web.ThemeValueFallbackColor, "unset"> | undefined;
115
- readonly selectionColor?: Omit<tamagui.ColorTokens | _tamagui_web.ThemeValueFallbackColor, "unset"> | undefined;
160
+ declare const InputField: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, react_native.TextInput, _tamagui_core.TamaguiComponentPropsBaseBase & react_native.TextInputProps & tamagui.InputExtraProps, _tamagui_core.TextStylePropsBase & {
161
+ readonly placeholderTextColor?: Omit<tamagui.ColorTokens | _tamagui_core.ThemeValueFallbackColor, "unset"> | undefined;
162
+ readonly selectionColor?: Omit<tamagui.ColorTokens | _tamagui_core.ThemeValueFallbackColor, "unset"> | undefined;
116
163
  }, {
117
164
  size?: tamagui.SizeTokens | undefined;
118
165
  disabled?: boolean | undefined;
@@ -125,13 +172,13 @@ declare const InputField: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, TextI
125
172
  readonly placeholderTextColor: "color";
126
173
  readonly selectionColor: "color";
127
174
  };
128
- } & _tamagui_web.StaticConfigPublic>;
175
+ } & _tamagui_core.StaticConfigPublic>;
129
176
  type InputProps = GetProps<typeof InputField> & {
130
177
  label?: string;
131
178
  error?: string;
132
179
  hint?: string;
133
180
  };
134
- declare function Input({ label, error, hint, ...props }: InputProps): react_jsx_runtime.JSX.Element;
181
+ declare function Input({ label, error, hint, ...props }: InputProps): JSX.Element;
135
182
 
136
183
  type SimpleSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
137
184
  type AvatarProps = {
@@ -139,17 +186,17 @@ type AvatarProps = {
139
186
  name?: string;
140
187
  size?: number | SimpleSize;
141
188
  };
142
- declare const Avatar: react.MemoExoticComponent<({ uri, name, size: sizeIn }: AvatarProps) => react_jsx_runtime.JSX.Element>;
189
+ declare const Avatar: React$1.MemoExoticComponent<({ uri, name, size: sizeIn }: AvatarProps) => JSX.Element>;
143
190
 
144
- declare const SubHeading: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, tamagui.TextNonStyleProps, _tamagui_web.TextStylePropsBase, {
191
+ declare const SubHeading: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiTextElement, tamagui.TextNonStyleProps, _tamagui_core.TextStylePropsBase, {
145
192
  size?: tamagui.FontSizeTokens | undefined;
146
193
  unstyled?: boolean | undefined;
147
- }, _tamagui_web.StaticConfigPublic>;
194
+ }, _tamagui_core.StaticConfigPublic>;
148
195
  declare function SepHeading({ children }: {
149
196
  children: ReactNode;
150
- }): react_jsx_runtime.JSX.Element;
197
+ }): JSX.Element;
151
198
 
152
- declare const PageContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
199
+ declare const PageContainer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
153
200
  elevation?: number | tamagui.SizeTokens | undefined;
154
201
  inset?: number | tamagui.SizeTokens | {
155
202
  top?: number;
@@ -158,8 +205,8 @@ declare const PageContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, an
158
205
  right?: number;
159
206
  } | null | undefined;
160
207
  fullscreen?: boolean | undefined;
161
- }, _tamagui_web.StaticConfigPublic>;
162
- declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
208
+ }, _tamagui_core.StaticConfigPublic>;
209
+ declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
163
210
  elevation?: number | tamagui.SizeTokens | undefined;
164
211
  inset?: number | tamagui.SizeTokens | {
165
212
  top?: number;
@@ -168,34 +215,34 @@ declare const PageMainContainer: tamagui.TamaguiComponent<_tamagui_web.TamaDefer
168
215
  right?: number;
169
216
  } | null | undefined;
170
217
  fullscreen?: boolean | undefined;
171
- }, _tamagui_web.StaticConfigPublic>;
218
+ }, _tamagui_core.StaticConfigPublic>;
172
219
 
173
220
  declare function DialogProvider({ children }: {
174
221
  children: ReactNode;
175
- }): react_jsx_runtime.JSX.Element;
222
+ }): JSX.Element;
176
223
  declare const showError: (error: unknown, title?: string) => void;
177
224
  declare const dialogConfirm: (props: {
178
225
  title?: string;
179
226
  description?: string;
180
227
  }) => Promise<boolean>;
181
228
 
182
- declare const Pressable: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
229
+ declare const Pressable: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {}, _tamagui_core.StaticConfigPublic>;
183
230
 
184
- declare const Image: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, unknown, _tamagui_web.TamaguiComponentPropsBaseBase & Omit<Omit<_tamagui_web.GetFinalProps<any, _tamagui_web.StackStyleBase, {}>, "borderRadius"> & {
231
+ 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
232
  borderRadius?: tamagui.RadiusTokens;
186
- }, "style" | "onLayout" | "width" | "height" | "resizeMode"> & {
233
+ }, "style" | "onLayout" | "height" | "width" | "resizeMode"> & {
187
234
  width?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
188
235
  height?: string | number | tamagui.SizeTokens | tamagui.ThemeValueFallback;
189
- src?: string | any;
190
- resizeMode?: any;
236
+ src?: string | (react_native.ImageSourcePropType | undefined);
237
+ resizeMode?: react_native.ImageResizeMode | undefined;
191
238
  objectFit?: React.CSSProperties["objectFit"];
192
- } & Omit<tamagui.StackProps, string | number | symbol>, _tamagui_web.StackStyleBase, {}, _tamagui_web.StaticConfigPublic>;
239
+ } & 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
240
 
194
241
  type BadgeProps = {
195
242
  children: ReactNode;
196
243
  variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
197
244
  };
198
- declare function Badge({ children, variant }: BadgeProps): react_jsx_runtime.JSX.Element;
245
+ declare function Badge({ children, variant }: BadgeProps): JSX.Element;
199
246
 
200
247
  declare const ICONS: {
201
248
  readonly home: "⌂";
@@ -250,7 +297,7 @@ type IconProps = {
250
297
  size?: number;
251
298
  color?: string;
252
299
  };
253
- declare function Icon({ name, size, color }: IconProps): react_jsx_runtime.JSX.Element;
300
+ declare function Icon({ name, size, color }: IconProps): JSX.Element;
254
301
 
255
302
  type BlinkAccordionItem = {
256
303
  id: string;
@@ -262,7 +309,7 @@ type BlinkAccordionProps = {
262
309
  defaultOpen?: string[];
263
310
  allowMultiple?: boolean;
264
311
  };
265
- declare function BlinkAccordion({ items, defaultOpen, allowMultiple }: BlinkAccordionProps): react_jsx_runtime.JSX.Element;
312
+ declare function BlinkAccordion({ items, defaultOpen, allowMultiple }: BlinkAccordionProps): JSX.Element;
266
313
 
267
314
  type BlinkTabItem = {
268
315
  key: string;
@@ -274,7 +321,7 @@ type BlinkTabsProps = {
274
321
  onTabChange?: (key: string) => void;
275
322
  variant?: 'underline' | 'pill';
276
323
  };
277
- declare function BlinkTabs({ tabs, activeTab, onTabChange, variant }: BlinkTabsProps): react_jsx_runtime.JSX.Element;
324
+ declare function BlinkTabs({ tabs, activeTab, onTabChange, variant }: BlinkTabsProps): JSX.Element;
278
325
 
279
326
  type BlinkToggleOption = {
280
327
  value: string;
@@ -286,7 +333,7 @@ type BlinkToggleGroupProps = {
286
333
  onValueChange: (value: string) => void;
287
334
  size?: 'sm' | 'md' | 'lg';
288
335
  };
289
- declare function BlinkToggleGroup({ options, value, onValueChange, size }: BlinkToggleGroupProps): react_jsx_runtime.JSX.Element;
336
+ declare function BlinkToggleGroup({ options, value, onValueChange, size }: BlinkToggleGroupProps): JSX.Element;
290
337
 
291
338
  type BlinkToastVariant = 'default' | 'success' | 'error' | 'warning';
292
339
  type BlinkToastData = {
@@ -307,7 +354,7 @@ type BlinkToastContextType = {
307
354
  declare const toast: (title: string, options?: BlinkToastOptions | BlinkToastVariant) => void;
308
355
  declare function BlinkToastProvider({ children }: {
309
356
  children: ReactNode;
310
- }): react_jsx_runtime.JSX.Element;
357
+ }): JSX.Element;
311
358
  declare function useBlinkToast(): BlinkToastContextType;
312
359
 
313
360
  type FormFieldProps = {
@@ -317,14 +364,29 @@ type FormFieldProps = {
317
364
  required?: boolean;
318
365
  children: ReactNode;
319
366
  };
320
- declare function FormField({ label, error, helperText, required, children }: FormFieldProps): react_jsx_runtime.JSX.Element;
367
+ declare function FormField({ label, error, helperText, required, children }: FormFieldProps): JSX.Element;
321
368
 
322
369
  type TooltipProps = {
323
370
  content: string;
324
371
  children: ReactNode;
325
372
  side?: 'top' | 'bottom' | 'left' | 'right';
326
373
  };
327
- declare function BlinkTooltip({ content, children, side }: TooltipProps): react_jsx_runtime.JSX.Element;
374
+ declare function BlinkTooltip({ content, children, side }: TooltipProps): JSX.Element;
375
+
376
+ declare function GoogleLogo({ size }: {
377
+ size?: number;
378
+ }): JSX.Element;
379
+ declare function AppleLogo({ size, color }: {
380
+ size?: number;
381
+ color?: string;
382
+ }): JSX.Element;
383
+ declare function GitHubLogo({ size, color }: {
384
+ size?: number;
385
+ color?: string;
386
+ }): JSX.Element;
387
+ declare function MicrosoftLogo({ size }: {
388
+ size?: number;
389
+ }): JSX.Element;
328
390
 
329
391
  type StepPageProps = {
330
392
  title: string;
@@ -332,9 +394,9 @@ type StepPageProps = {
332
394
  children: ReactNode;
333
395
  bottom?: ReactNode;
334
396
  };
335
- declare function StepPageLayout({ title, description, children, bottom }: StepPageProps): react_jsx_runtime.JSX.Element;
397
+ declare function StepPageLayout({ title, description, children, bottom }: StepPageProps): JSX.Element;
336
398
 
337
- declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_web.StackStyleBase, {
399
+ declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_core.TamaDefer, tamagui.TamaguiElement, _tamagui_core.RNTamaguiViewNonStyleProps, _tamagui_core.StackStyleBase, {
338
400
  elevation?: number | tamagui.SizeTokens | undefined;
339
401
  inset?: number | tamagui.SizeTokens | {
340
402
  top?: number;
@@ -346,7 +408,7 @@ declare const ScreenLayout: tamagui.TamaguiComponent<_tamagui_web.TamaDefer, any
346
408
  padded?: boolean | undefined;
347
409
  centered?: boolean | undefined;
348
410
  safe?: boolean | undefined;
349
- }, _tamagui_web.StaticConfigPublic>;
411
+ }, _tamagui_core.StaticConfigPublic>;
350
412
 
351
413
  type SectionProps = {
352
414
  title?: string;
@@ -354,7 +416,7 @@ type SectionProps = {
354
416
  children: ReactNode;
355
417
  gap?: GetProps<typeof YStack>['gap'];
356
418
  };
357
- declare function Section({ title, description, children, gap }: SectionProps): react_jsx_runtime.JSX.Element;
419
+ declare function Section({ title, description, children, gap }: SectionProps): JSX.Element;
358
420
 
359
421
  type ListItemProps = {
360
422
  icon?: ReactNode;
@@ -363,24 +425,24 @@ type ListItemProps = {
363
425
  right?: ReactNode;
364
426
  onPress?: () => void;
365
427
  };
366
- declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps): react_jsx_runtime.JSX.Element;
428
+ declare function ListItem({ icon, title, subtitle, right, onPress }: ListItemProps): JSX.Element;
367
429
 
368
430
  type DividerProps = {
369
431
  label?: string;
370
432
  };
371
- declare function Divider({ label }: DividerProps): react_jsx_runtime.JSX.Element;
433
+ declare function Divider({ label }: DividerProps): JSX.Element;
372
434
 
373
435
  type KeyboardStickyFooterProps = {
374
436
  children: ReactNode;
375
437
  offset?: number;
376
438
  };
377
- declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps): react_jsx_runtime.JSX.Element;
439
+ declare function KeyboardStickyFooter({ children, offset }: KeyboardStickyFooterProps): JSX.Element;
378
440
 
379
441
  type SafeAreaProps = {
380
442
  children: ReactNode;
381
443
  edges?: ('top' | 'bottom' | 'left' | 'right')[];
382
444
  };
383
- declare function SafeArea({ children, edges }: SafeAreaProps): react_jsx_runtime.JSX.Element;
445
+ declare function SafeArea({ children, edges }: SafeAreaProps): JSX.Element;
384
446
 
385
447
  type GridProps = {
386
448
  children: ReactNode;
@@ -393,8 +455,8 @@ type ContainerProps = {
393
455
  centered?: boolean;
394
456
  padding?: string;
395
457
  };
396
- declare function Grid({ children, columns, gap }: GridProps): react_jsx_runtime.JSX.Element;
397
- declare function Container({ children, maxWidth, centered, padding }: ContainerProps): react_jsx_runtime.JSX.Element;
458
+ declare function Grid({ children, columns, gap }: GridProps): JSX.Element;
459
+ declare function Container({ children, maxWidth, centered, padding }: ContainerProps): JSX.Element;
398
460
 
399
461
  type PlanOption = {
400
462
  id: string;
@@ -454,8 +516,12 @@ type PaywallScreenProps = {
454
516
  creator?: PaywallCreator;
455
517
  topSlot?: ReactNode;
456
518
  footerSlot?: ReactNode;
519
+ trustBadges?: {
520
+ icon?: ReactNode;
521
+ label: string;
522
+ }[];
457
523
  };
458
- 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, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
524
+ 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;
459
525
 
460
526
  type OnboardingVariant = 'default' | 'calm-gradient' | 'card-tilt' | 'editorial' | 'selection-step' | 'permission-prompt';
461
527
  type OnboardingStep = {
@@ -479,7 +545,7 @@ type OnboardingCarouselProps = {
479
545
  nextLabel?: string;
480
546
  footerSlot?: ReactNode;
481
547
  };
482
- declare function OnboardingCarousel({ steps, variant, brand, topLeading, onComplete, onSkip, completeLabel, skipLabel, nextLabel, footerSlot, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
548
+ declare function OnboardingCarousel({ steps, variant, brand, topLeading, onComplete, onSkip, completeLabel, skipLabel, nextLabel, footerSlot, }: OnboardingCarouselProps): JSX.Element;
483
549
 
484
550
  type ChatMessage = {
485
551
  id: string;
@@ -493,7 +559,7 @@ type ChatBubbleProps = {
493
559
  message: ChatMessage;
494
560
  showAvatar?: boolean;
495
561
  };
496
- declare function ChatBubble({ message, showAvatar }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
562
+ declare function ChatBubble({ message, showAvatar }: ChatBubbleProps): JSX.Element;
497
563
 
498
564
  type SettingsItem = {
499
565
  id: string;
@@ -514,7 +580,7 @@ type SettingsScreenProps = {
514
580
  sections: SettingsSection[];
515
581
  header?: ReactNode;
516
582
  };
517
- declare function SettingsScreen({ sections, header }: SettingsScreenProps): react_jsx_runtime.JSX.Element;
583
+ declare function SettingsScreen({ sections, header }: SettingsScreenProps): JSX.Element;
518
584
 
519
585
  type EmptyStateProps = {
520
586
  icon?: ReactNode;
@@ -523,7 +589,7 @@ type EmptyStateProps = {
523
589
  actionLabel?: string;
524
590
  onAction?: () => void;
525
591
  };
526
- declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps): react_jsx_runtime.JSX.Element;
592
+ declare function EmptyState({ icon, title, description, actionLabel, onAction }: EmptyStateProps): JSX.Element;
527
593
 
528
594
  type ProfileHeaderProps = {
529
595
  name: string;
@@ -535,7 +601,7 @@ type ProfileHeaderProps = {
535
601
  }[];
536
602
  actions?: ReactNode;
537
603
  };
538
- declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps): react_jsx_runtime.JSX.Element;
604
+ declare function ProfileHeader({ name, subtitle, avatar, stats, actions }: ProfileHeaderProps): JSX.Element;
539
605
 
540
606
  type AppHeaderVariant = 'simple' | 'back' | 'profile' | 'centered';
541
607
  type AppHeaderProps = {
@@ -549,7 +615,7 @@ type AppHeaderProps = {
549
615
  transparent?: boolean;
550
616
  borderless?: boolean;
551
617
  };
552
- declare function AppHeader({ title, subtitle, variant, onBack, avatar, left, right, transparent, borderless }: AppHeaderProps): react_jsx_runtime.JSX.Element;
618
+ declare function AppHeader({ title, subtitle, variant, onBack, avatar, left, right, transparent, borderless }: AppHeaderProps): JSX.Element;
553
619
 
554
620
  type BottomSheetProps = {
555
621
  open: boolean;
@@ -562,7 +628,7 @@ type BottomSheetProps = {
562
628
  showClose?: boolean;
563
629
  zIndex?: number;
564
630
  };
565
- declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose, zIndex }: BottomSheetProps): react_jsx_runtime.JSX.Element;
631
+ declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose, zIndex }: BottomSheetProps): JSX.Element;
566
632
 
567
633
  type AuthProviderBrand = 'google' | 'apple' | 'github' | 'microsoft' | 'custom';
568
634
  type LoginScreenVariant = 'default' | 'editorial' | 'centered-card';
@@ -592,7 +658,7 @@ type LoginScreenProps = {
592
658
  onPrivacy?: () => void;
593
659
  loading?: boolean;
594
660
  };
595
- declare function LoginScreen({ variant, title, subtitle, logo, providers, hero, backgroundSlot, footerSlot, providerButtonStyle, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading, }: LoginScreenProps): react_jsx_runtime.JSX.Element;
661
+ declare function LoginScreen({ variant, title, subtitle, logo, providers, hero, backgroundSlot, footerSlot, providerButtonStyle, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading, }: LoginScreenProps): JSX.Element;
596
662
 
597
663
  type TabBarItem = {
598
664
  id: string;
@@ -605,7 +671,7 @@ type TabBarProps = {
605
671
  onTabPress: (id: string) => void;
606
672
  showLabels?: boolean;
607
673
  };
608
- declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps): react_jsx_runtime.JSX.Element;
674
+ declare function TabBar({ tabs, activeTab, onTabPress, showLabels }: TabBarProps): JSX.Element;
609
675
 
610
676
  type SearchBarProps = {
611
677
  value: string;
@@ -615,7 +681,7 @@ type SearchBarProps = {
615
681
  onCancel?: () => void;
616
682
  autoFocus?: boolean;
617
683
  };
618
- declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps): react_jsx_runtime.JSX.Element;
684
+ declare function SearchBar({ value, onChangeText, placeholder, onFilter, onCancel, autoFocus }: SearchBarProps): JSX.Element;
619
685
 
620
686
  type FABProps = {
621
687
  icon?: ReactNode;
@@ -624,7 +690,7 @@ type FABProps = {
624
690
  position?: 'bottom-right' | 'bottom-center' | 'bottom-left';
625
691
  size?: 'sm' | 'md' | 'lg';
626
692
  };
627
- declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps): react_jsx_runtime.JSX.Element;
693
+ declare function FloatingActionButton({ icon, label, onPress, position, size }: FABProps): JSX.Element;
628
694
 
629
695
  type ActionSheetItem = {
630
696
  id: string;
@@ -641,7 +707,7 @@ type ActionSheetProps = {
641
707
  cancelLabel?: string;
642
708
  zIndex?: number;
643
709
  };
644
- declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel, zIndex }: ActionSheetProps): react_jsx_runtime.JSX.Element;
710
+ declare function ActionSheet({ open, onOpenChange, title, items, onSelect, cancelLabel, zIndex }: ActionSheetProps): JSX.Element;
645
711
 
646
712
  type SkeletonProps = {
647
713
  width?: number | string;
@@ -649,7 +715,7 @@ type SkeletonProps = {
649
715
  borderRadius?: number;
650
716
  variant?: 'text' | 'circular' | 'rectangular';
651
717
  };
652
- declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps): react_jsx_runtime.JSX.Element;
718
+ declare function Skeleton({ width, height, borderRadius, variant }: SkeletonProps): JSX.Element;
653
719
 
654
720
  type NotificationBannerProps = {
655
721
  title: string;
@@ -659,14 +725,14 @@ type NotificationBannerProps = {
659
725
  onDismiss?: () => void;
660
726
  icon?: ReactNode;
661
727
  };
662
- declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps): react_jsx_runtime.JSX.Element;
728
+ declare function NotificationBanner({ title, message, variant, onPress, onDismiss, icon }: NotificationBannerProps): JSX.Element;
663
729
 
664
730
  type ProgressStepsProps = {
665
731
  steps: string[];
666
732
  currentStep: number;
667
733
  variant?: 'dots' | 'bar' | 'numbered';
668
734
  };
669
- declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps): react_jsx_runtime.JSX.Element;
735
+ declare function ProgressSteps({ steps, currentStep, variant }: ProgressStepsProps): JSX.Element;
670
736
 
671
737
  type SwipeAction = {
672
738
  id: string;
@@ -679,7 +745,7 @@ type SwipeableRowProps = {
679
745
  leftActions?: SwipeAction[];
680
746
  rightActions?: SwipeAction[];
681
747
  };
682
- declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps): react_jsx_runtime.JSX.Element;
748
+ declare function SwipeableRow({ children, leftActions, rightActions }: SwipeableRowProps): JSX.Element;
683
749
 
684
750
  type MediaCardProps = {
685
751
  image: string;
@@ -690,7 +756,7 @@ type MediaCardProps = {
690
756
  onPress?: () => void;
691
757
  badge?: string;
692
758
  };
693
- declare function MediaCard({ image, title, subtitle, overlay, aspectRatio, onPress, badge }: MediaCardProps): react_jsx_runtime.JSX.Element;
759
+ declare function MediaCard({ image, title, subtitle, overlay, aspectRatio, onPress, badge }: MediaCardProps): JSX.Element;
694
760
 
695
761
  type CarouselProps = {
696
762
  children: ReactNode;
@@ -698,14 +764,14 @@ type CarouselProps = {
698
764
  snapToInterval?: number;
699
765
  showIndicators?: boolean;
700
766
  };
701
- declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps): react_jsx_runtime.JSX.Element;
767
+ declare function Carousel({ children, gap, snapToInterval, showIndicators }: CarouselProps): JSX.Element;
702
768
 
703
769
  type PullToRefreshProps = {
704
770
  children: ReactNode;
705
771
  onRefresh: () => void;
706
772
  refreshing?: boolean;
707
773
  };
708
- declare function PullToRefresh({ children, onRefresh, refreshing }: PullToRefreshProps): react_jsx_runtime.JSX.Element;
774
+ declare function PullToRefresh({ children, onRefresh, refreshing }: PullToRefreshProps): JSX.Element;
709
775
 
710
776
  type ProductCardProps = {
711
777
  image: string;
@@ -719,7 +785,7 @@ type ProductCardProps = {
719
785
  onAddToCart?: () => void;
720
786
  variant?: 'vertical' | 'horizontal';
721
787
  };
722
- declare function ProductCard({ image, title, price, originalPrice, rating, reviewCount, badge, onPress, onAddToCart, variant }: ProductCardProps): react_jsx_runtime.JSX.Element;
788
+ declare function ProductCard({ image, title, price, originalPrice, rating, reviewCount, badge, onPress, onAddToCart, variant }: ProductCardProps): JSX.Element;
723
789
 
724
790
  type PricingPlan = {
725
791
  id: string;
@@ -733,6 +799,7 @@ type PricingPlan = {
733
799
  }[];
734
800
  popular?: boolean;
735
801
  cta?: string;
802
+ trial?: string;
736
803
  };
737
804
  type PricingTableProps = {
738
805
  plans: PricingPlan[];
@@ -740,8 +807,11 @@ type PricingTableProps = {
740
807
  onSelectPlan?: (planId: string) => void;
741
808
  annual?: boolean;
742
809
  onToggleBilling?: (annual: boolean) => void;
810
+ onContinue?: () => void;
811
+ continueLabel?: string;
812
+ reassurance?: string;
743
813
  };
744
- declare function PricingTable({ plans, selectedPlan, onSelectPlan, annual, onToggleBilling }: PricingTableProps): react_jsx_runtime.JSX.Element;
814
+ declare function PricingTable({ plans, selectedPlan, onSelectPlan, annual, onToggleBilling, onContinue, continueLabel, reassurance }: PricingTableProps): JSX.Element;
745
815
 
746
816
  type CountdownBannerProps = {
747
817
  endTime?: Date;
@@ -750,7 +820,7 @@ type CountdownBannerProps = {
750
820
  onExpire?: () => void;
751
821
  variant?: 'banner' | 'compact' | 'badge';
752
822
  };
753
- declare function CountdownBanner({ endTime, minutes, label, onExpire, variant }: CountdownBannerProps): react_jsx_runtime.JSX.Element | null;
823
+ declare function CountdownBanner({ endTime, minutes, label, onExpire, variant }: CountdownBannerProps): JSX.Element | null;
754
824
 
755
825
  type TestimonialCardProps = {
756
826
  quote: string;
@@ -760,7 +830,7 @@ type TestimonialCardProps = {
760
830
  rating?: number;
761
831
  variant?: 'card' | 'minimal' | 'featured';
762
832
  };
763
- declare function TestimonialCard({ quote, author, role, avatar, rating, variant }: TestimonialCardProps): react_jsx_runtime.JSX.Element;
833
+ declare function TestimonialCard({ quote, author, role, avatar, rating, variant }: TestimonialCardProps): JSX.Element;
764
834
 
765
835
  type ConfirmDialogProps = {
766
836
  open: boolean;
@@ -774,7 +844,7 @@ type ConfirmDialogProps = {
774
844
  destructive?: boolean;
775
845
  icon?: ReactNode;
776
846
  };
777
- declare function ConfirmDialog({ open, onOpenChange, title, description, confirmLabel, cancelLabel, onConfirm, onCancel, destructive, icon, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
847
+ declare function ConfirmDialog({ open, onOpenChange, title, description, confirmLabel, cancelLabel, onConfirm, onCancel, destructive, icon, }: ConfirmDialogProps): JSX.Element;
778
848
 
779
849
  type ChipProps = {
780
850
  label: string;
@@ -798,8 +868,8 @@ type ChipGroupProps = {
798
868
  variant?: 'filled' | 'outlined';
799
869
  size?: 'sm' | 'md' | 'lg';
800
870
  };
801
- declare function Chip({ label, selected, onPress, onRemove, variant, size, icon, color }: ChipProps): react_jsx_runtime.JSX.Element;
802
- declare function ChipGroup({ chips, selected, onSelectionChange, multiSelect, variant, size }: ChipGroupProps): react_jsx_runtime.JSX.Element;
871
+ declare function Chip({ label, selected, onPress, onRemove, variant, size, icon, color }: ChipProps): JSX.Element;
872
+ declare function ChipGroup({ chips, selected, onSelectionChange, multiSelect, variant, size }: ChipGroupProps): JSX.Element;
803
873
 
804
874
  type OTPInputProps = {
805
875
  length?: number;
@@ -810,7 +880,7 @@ type OTPInputProps = {
810
880
  autoFocus?: boolean;
811
881
  secureEntry?: boolean;
812
882
  };
813
- declare function OTPInput({ length, value, onChange, onComplete, error, autoFocus, secureEntry }: OTPInputProps): react_jsx_runtime.JSX.Element;
883
+ declare function OTPInput({ length, value, onChange, onComplete, error, autoFocus, secureEntry }: OTPInputProps): JSX.Element;
814
884
 
815
885
  type PasswordInputProps = {
816
886
  value?: string;
@@ -821,7 +891,7 @@ type PasswordInputProps = {
821
891
  size?: '$3' | '$4' | '$5';
822
892
  strengthIndicator?: boolean;
823
893
  };
824
- declare function PasswordInput({ value, onChangeText, placeholder, label, error, size, strengthIndicator }: PasswordInputProps): react_jsx_runtime.JSX.Element;
894
+ declare function PasswordInput({ value, onChangeText, placeholder, label, error, size, strengthIndicator }: PasswordInputProps): JSX.Element;
825
895
 
826
896
  type AvatarGroupProps = {
827
897
  avatars: {
@@ -833,7 +903,7 @@ type AvatarGroupProps = {
833
903
  size?: number;
834
904
  overlap?: number;
835
905
  };
836
- declare function AvatarGroup({ avatars, max, size, overlap }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
906
+ declare function AvatarGroup({ avatars, max, size, overlap }: AvatarGroupProps): JSX.Element;
837
907
 
838
908
  type SwipeCardItem = {
839
909
  id: string;
@@ -849,7 +919,7 @@ type SwipeCardsProps<T extends SwipeCardItem> = {
849
919
  rightLabel?: string;
850
920
  emptyMessage?: string;
851
921
  };
852
- declare function SwipeCards<T extends SwipeCardItem>({ items, renderCard, onSwipeLeft, onSwipeRight, onEmpty, leftLabel, rightLabel, emptyMessage, }: SwipeCardsProps<T>): react_jsx_runtime.JSX.Element;
922
+ declare function SwipeCards<T extends SwipeCardItem>({ items, renderCard, onSwipeLeft, onSwipeRight, onEmpty, leftLabel, rightLabel, emptyMessage, }: SwipeCardsProps<T>): JSX.Element;
853
923
 
854
924
  type GlassCardProps = {
855
925
  children: ReactNode;
@@ -859,7 +929,7 @@ type GlassCardProps = {
859
929
  padding?: number | string;
860
930
  elevated?: boolean;
861
931
  };
862
- declare function GlassCard({ children, intensity, tint, borderRadius, padding, elevated, }: GlassCardProps): react_jsx_runtime.JSX.Element;
932
+ declare function GlassCard({ children, intensity, tint, borderRadius, padding, elevated, }: GlassCardProps): JSX.Element;
863
933
 
864
934
  type DataTableColumn<T> = {
865
935
  key: string;
@@ -876,8 +946,8 @@ type DataTableProps<T extends Record<string, any>> = {
876
946
  };
877
947
  declare function StatusBadge({ status }: {
878
948
  status: string;
879
- }): react_jsx_runtime.JSX.Element;
880
- declare function DataTable<T extends Record<string, any>>({ columns, data, onRowPress, emptyMessage }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
949
+ }): JSX.Element;
950
+ declare function DataTable<T extends Record<string, any>>({ columns, data, onRowPress, emptyMessage }: DataTableProps<T>): JSX.Element;
881
951
 
882
952
  type DatePickerProps = {
883
953
  value?: Date;
@@ -887,7 +957,7 @@ type DatePickerProps = {
887
957
  startDay?: 0 | 1;
888
958
  placeholder?: string;
889
959
  };
890
- declare function DatePicker({ value, onDateChange, minDate, maxDate, startDay }: DatePickerProps): react_jsx_runtime.JSX.Element;
960
+ declare function DatePicker({ value, onDateChange, minDate, maxDate, startDay }: DatePickerProps): JSX.Element;
891
961
 
892
962
  type EventCardProps = {
893
963
  title: string;
@@ -901,7 +971,7 @@ type EventCardProps = {
901
971
  onPress?: () => void;
902
972
  actions?: ReactNode;
903
973
  };
904
- declare function EventCard({ theme, ...props }: EventCardProps): react_jsx_runtime.JSX.Element;
974
+ declare function EventCard({ theme, ...props }: EventCardProps): JSX.Element;
905
975
 
906
976
  type PreferenceItem = {
907
977
  type: 'toggle';
@@ -946,7 +1016,7 @@ type PreferenceSection = {
946
1016
  type UserPreferencesProps = {
947
1017
  sections: PreferenceSection[];
948
1018
  };
949
- declare function UserPreferences({ sections }: UserPreferencesProps): react_jsx_runtime.JSX.Element;
1019
+ declare function UserPreferences({ sections }: UserPreferencesProps): JSX.Element;
950
1020
 
951
1021
  type BlinkSelectItem = {
952
1022
  label: string;
@@ -962,31 +1032,31 @@ type BlinkSelectProps = {
962
1032
  disabled?: boolean;
963
1033
  width?: string | number;
964
1034
  };
965
- declare function BlinkSelect({ items, value, onValueChange, placeholder, label, size, disabled, width, }: BlinkSelectProps): react_jsx_runtime.JSX.Element;
1035
+ declare function BlinkSelect({ items, value, onValueChange, placeholder, label, size, disabled, width, }: BlinkSelectProps): JSX.Element;
966
1036
 
967
1037
  type BlinkDialogProps = {
968
1038
  open?: boolean;
969
1039
  onOpenChange?: (open: boolean) => void;
970
- trigger?: react__default.ReactNode;
1040
+ trigger?: React__default.ReactNode;
971
1041
  title?: string;
972
1042
  description?: string;
973
- children?: react__default.ReactNode;
1043
+ children?: React__default.ReactNode;
974
1044
  confirmLabel?: string;
975
1045
  cancelLabel?: string;
976
1046
  onConfirm?: () => void;
977
1047
  onCancel?: () => void;
978
1048
  confirmTheme?: GetProps<typeof Button$1>['theme'];
979
1049
  };
980
- declare function BlinkDialog({ open, onOpenChange, trigger, title, description, children, confirmLabel, cancelLabel, onConfirm, onCancel, confirmTheme, }: BlinkDialogProps): react_jsx_runtime.JSX.Element;
1050
+ declare function BlinkDialog({ open, onOpenChange, trigger, title, description, children, confirmLabel, cancelLabel, onConfirm, onCancel, confirmTheme, }: BlinkDialogProps): JSX.Element;
981
1051
 
982
1052
  type BlinkPopoverProps = {
983
- trigger: react__default.ReactNode;
984
- children: react__default.ReactNode;
1053
+ trigger: React__default.ReactNode;
1054
+ children: React__default.ReactNode;
985
1055
  placement?: 'top' | 'bottom' | 'left' | 'right';
986
1056
  allowFlip?: boolean;
987
1057
  size?: string;
988
1058
  };
989
- declare function BlinkPopover({ trigger, children, placement, allowFlip, size, }: BlinkPopoverProps): react_jsx_runtime.JSX.Element;
1059
+ declare function BlinkPopover({ trigger, children, placement, allowFlip, size, }: BlinkPopoverProps): JSX.Element;
990
1060
 
991
1061
  type ImmersiveMediaAction = {
992
1062
  id: string;
@@ -1009,7 +1079,7 @@ type ImmersiveMediaScreenProps = {
1009
1079
  onInputPress?: () => void;
1010
1080
  sheetContent?: ReactNode;
1011
1081
  };
1012
- declare function ImmersiveMediaScreen({ variant, media, title, subtitle, topLeft, topCenter, topRight, actions, bottomMeta, inputPlaceholder, onInputPress, sheetContent, }: ImmersiveMediaScreenProps): react_jsx_runtime.JSX.Element;
1082
+ declare function ImmersiveMediaScreen({ variant, media, title, subtitle, topLeft, topCenter, topRight, actions, bottomMeta, inputPlaceholder, onInputPress, sheetContent, }: ImmersiveMediaScreenProps): JSX.Element;
1013
1083
 
1014
1084
  type FinanceMetric = {
1015
1085
  label: string;
@@ -1044,6 +1114,6 @@ type FinanceDashboardProps = {
1044
1114
  chartSlot?: ReactNode;
1045
1115
  topRight?: ReactNode;
1046
1116
  };
1047
- declare function FinanceDashboard({ title, balanceLabel, balance, rangeLabel, metrics, quickActions, sections, chartSlot, topRight, }: FinanceDashboardProps): react_jsx_runtime.JSX.Element;
1117
+ declare function FinanceDashboard({ title, balanceLabel, balance, rangeLabel, metrics, quickActions, sections, chartSlot, topRight, }: FinanceDashboardProps): JSX.Element;
1048
1118
 
1049
- export { ActionSheet, type ActionSheetItem, type ActionSheetProps, AppHeader, type AppHeaderProps, type AppHeaderVariant, type AuthProvider, type AuthProviderBrand, AvatarGroup, type AvatarGroupProps, 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, 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, GlassCard, type GlassCardProps, 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, 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, showError, toast, useBlinkToast };
1119
+ 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 };