@blinkdotnew/mobile-ui 2.0.0-alpha.13 → 2.0.0-alpha.15
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 +152 -7
- package/dist/index.d.ts +152 -7
- package/dist/index.js +682 -191
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +612 -126
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as tamagui from 'tamagui';
|
|
2
|
-
import { TamaguiInternalConfig, GetProps, YStack } from 'tamagui';
|
|
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
5
|
import * as react from 'react';
|
|
6
|
-
import { ReactNode } from 'react';
|
|
6
|
+
import react__default, { ReactNode } from 'react';
|
|
7
7
|
import * as _tamagui_core from '@tamagui/core';
|
|
8
8
|
import * as _tamagui_web from '@tamagui/web';
|
|
9
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
@@ -401,16 +401,40 @@ type PlanOption = {
|
|
|
401
401
|
name: string;
|
|
402
402
|
price: string;
|
|
403
403
|
period: string;
|
|
404
|
+
tagline?: string;
|
|
404
405
|
pricePerWeek?: string;
|
|
405
406
|
savings?: string;
|
|
406
407
|
popular?: boolean;
|
|
407
408
|
trial?: string;
|
|
408
409
|
features?: string[];
|
|
409
410
|
};
|
|
411
|
+
type PaywallVariant = 'default' | 'social-proof' | 'comparison' | 'creator-sheet' | 'immersive-dark';
|
|
412
|
+
type PaywallFeature = string | {
|
|
413
|
+
title: string;
|
|
414
|
+
description?: string;
|
|
415
|
+
icon?: ReactNode;
|
|
416
|
+
};
|
|
417
|
+
type PaywallComparisonRow = {
|
|
418
|
+
label: string;
|
|
419
|
+
free?: boolean;
|
|
420
|
+
premium?: boolean;
|
|
421
|
+
};
|
|
422
|
+
type PaywallTestimonial = {
|
|
423
|
+
quote: string;
|
|
424
|
+
author: string;
|
|
425
|
+
meta?: string;
|
|
426
|
+
};
|
|
427
|
+
type PaywallCreator = {
|
|
428
|
+
name: string;
|
|
429
|
+
meta?: string;
|
|
430
|
+
avatar?: ReactNode;
|
|
431
|
+
};
|
|
410
432
|
type PaywallScreenProps = {
|
|
433
|
+
variant?: PaywallVariant;
|
|
434
|
+
eyebrow?: string;
|
|
411
435
|
title?: string;
|
|
412
436
|
subtitle?: string;
|
|
413
|
-
features?:
|
|
437
|
+
features?: PaywallFeature[];
|
|
414
438
|
plans: PlanOption[];
|
|
415
439
|
selectedPlan?: string;
|
|
416
440
|
onSelectPlan?: (planId: string) => void;
|
|
@@ -425,23 +449,37 @@ type PaywallScreenProps = {
|
|
|
425
449
|
socialProof?: string;
|
|
426
450
|
countdownMinutes?: number;
|
|
427
451
|
badge?: string;
|
|
452
|
+
comparisonRows?: PaywallComparisonRow[];
|
|
453
|
+
testimonials?: PaywallTestimonial[];
|
|
454
|
+
creator?: PaywallCreator;
|
|
455
|
+
topSlot?: ReactNode;
|
|
456
|
+
footerSlot?: ReactNode;
|
|
428
457
|
};
|
|
429
|
-
declare function PaywallScreen({ title, subtitle, features, plans, selectedPlan, onSelectPlan, onContinue, onClose, onRestore, onTerms, onPrivacy, continueLabel, reassurance, hero, socialProof, countdownMinutes, badge, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
|
|
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;
|
|
430
459
|
|
|
460
|
+
type OnboardingVariant = 'default' | 'calm-gradient' | 'card-tilt' | 'editorial' | 'selection-step' | 'permission-prompt';
|
|
431
461
|
type OnboardingStep = {
|
|
432
462
|
title: string;
|
|
433
463
|
description: string;
|
|
434
464
|
icon?: ReactNode;
|
|
465
|
+
hero?: ReactNode;
|
|
466
|
+
eyebrow?: string;
|
|
467
|
+
ctaLabel?: string;
|
|
468
|
+
background?: ReactNode;
|
|
435
469
|
};
|
|
436
470
|
type OnboardingCarouselProps = {
|
|
437
471
|
steps: OnboardingStep[];
|
|
472
|
+
variant?: OnboardingVariant;
|
|
473
|
+
brand?: ReactNode;
|
|
474
|
+
topLeading?: ReactNode;
|
|
438
475
|
onComplete?: () => void;
|
|
439
476
|
onSkip?: () => void;
|
|
440
477
|
completeLabel?: string;
|
|
441
478
|
skipLabel?: string;
|
|
442
479
|
nextLabel?: string;
|
|
480
|
+
footerSlot?: ReactNode;
|
|
443
481
|
};
|
|
444
|
-
declare function OnboardingCarousel({ steps, onComplete, onSkip, completeLabel, skipLabel, nextLabel, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
|
|
482
|
+
declare function OnboardingCarousel({ steps, variant, brand, topLeading, onComplete, onSkip, completeLabel, skipLabel, nextLabel, footerSlot, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
|
|
445
483
|
|
|
446
484
|
type ChatMessage = {
|
|
447
485
|
id: string;
|
|
@@ -526,16 +564,25 @@ type BottomSheetProps = {
|
|
|
526
564
|
};
|
|
527
565
|
declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose, zIndex }: BottomSheetProps): react_jsx_runtime.JSX.Element;
|
|
528
566
|
|
|
567
|
+
type AuthProviderBrand = 'google' | 'apple' | 'github' | 'microsoft' | 'custom';
|
|
568
|
+
type LoginScreenVariant = 'default' | 'editorial' | 'centered-card';
|
|
529
569
|
type AuthProvider = {
|
|
530
570
|
id: string;
|
|
531
571
|
name: string;
|
|
532
572
|
icon?: ReactNode;
|
|
573
|
+
brand?: AuthProviderBrand;
|
|
574
|
+
description?: string;
|
|
533
575
|
};
|
|
534
576
|
type LoginScreenProps = {
|
|
577
|
+
variant?: LoginScreenVariant;
|
|
535
578
|
title?: string;
|
|
536
579
|
subtitle?: string;
|
|
537
580
|
logo?: ReactNode;
|
|
538
581
|
providers?: AuthProvider[];
|
|
582
|
+
hero?: ReactNode;
|
|
583
|
+
backgroundSlot?: ReactNode;
|
|
584
|
+
footerSlot?: ReactNode;
|
|
585
|
+
providerButtonStyle?: 'neutral' | 'brand';
|
|
539
586
|
onProviderPress?: (id: string) => void;
|
|
540
587
|
showEmailForm?: boolean;
|
|
541
588
|
onEmailSubmit?: (email: string, password: string) => void;
|
|
@@ -545,7 +592,7 @@ type LoginScreenProps = {
|
|
|
545
592
|
onPrivacy?: () => void;
|
|
546
593
|
loading?: boolean;
|
|
547
594
|
};
|
|
548
|
-
declare function LoginScreen({ title, subtitle, logo, providers, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading }: LoginScreenProps): react_jsx_runtime.JSX.Element;
|
|
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;
|
|
549
596
|
|
|
550
597
|
type TabBarItem = {
|
|
551
598
|
id: string;
|
|
@@ -901,4 +948,102 @@ type UserPreferencesProps = {
|
|
|
901
948
|
};
|
|
902
949
|
declare function UserPreferences({ sections }: UserPreferencesProps): react_jsx_runtime.JSX.Element;
|
|
903
950
|
|
|
904
|
-
|
|
951
|
+
type BlinkSelectItem = {
|
|
952
|
+
label: string;
|
|
953
|
+
value: string;
|
|
954
|
+
};
|
|
955
|
+
type BlinkSelectProps = {
|
|
956
|
+
items: BlinkSelectItem[];
|
|
957
|
+
value?: string;
|
|
958
|
+
onValueChange?: (value: string) => void;
|
|
959
|
+
placeholder?: string;
|
|
960
|
+
label?: string;
|
|
961
|
+
size?: GetProps<typeof Select.Trigger>['size'];
|
|
962
|
+
disabled?: boolean;
|
|
963
|
+
width?: string | number;
|
|
964
|
+
};
|
|
965
|
+
declare function BlinkSelect({ items, value, onValueChange, placeholder, label, size, disabled, width, }: BlinkSelectProps): react_jsx_runtime.JSX.Element;
|
|
966
|
+
|
|
967
|
+
type BlinkDialogProps = {
|
|
968
|
+
open?: boolean;
|
|
969
|
+
onOpenChange?: (open: boolean) => void;
|
|
970
|
+
trigger?: react__default.ReactNode;
|
|
971
|
+
title?: string;
|
|
972
|
+
description?: string;
|
|
973
|
+
children?: react__default.ReactNode;
|
|
974
|
+
confirmLabel?: string;
|
|
975
|
+
cancelLabel?: string;
|
|
976
|
+
onConfirm?: () => void;
|
|
977
|
+
onCancel?: () => void;
|
|
978
|
+
confirmTheme?: GetProps<typeof Button$1>['theme'];
|
|
979
|
+
};
|
|
980
|
+
declare function BlinkDialog({ open, onOpenChange, trigger, title, description, children, confirmLabel, cancelLabel, onConfirm, onCancel, confirmTheme, }: BlinkDialogProps): react_jsx_runtime.JSX.Element;
|
|
981
|
+
|
|
982
|
+
type BlinkPopoverProps = {
|
|
983
|
+
trigger: react__default.ReactNode;
|
|
984
|
+
children: react__default.ReactNode;
|
|
985
|
+
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
986
|
+
allowFlip?: boolean;
|
|
987
|
+
size?: string;
|
|
988
|
+
};
|
|
989
|
+
declare function BlinkPopover({ trigger, children, placement, allowFlip, size, }: BlinkPopoverProps): react_jsx_runtime.JSX.Element;
|
|
990
|
+
|
|
991
|
+
type ImmersiveMediaAction = {
|
|
992
|
+
id: string;
|
|
993
|
+
label?: string;
|
|
994
|
+
value?: string;
|
|
995
|
+
icon?: ReactNode;
|
|
996
|
+
onPress?: () => void;
|
|
997
|
+
};
|
|
998
|
+
type ImmersiveMediaScreenProps = {
|
|
999
|
+
variant?: 'story' | 'reel' | 'sheet';
|
|
1000
|
+
media: ReactNode;
|
|
1001
|
+
title?: string;
|
|
1002
|
+
subtitle?: string;
|
|
1003
|
+
topLeft?: ReactNode;
|
|
1004
|
+
topCenter?: ReactNode;
|
|
1005
|
+
topRight?: ReactNode;
|
|
1006
|
+
actions?: ImmersiveMediaAction[];
|
|
1007
|
+
bottomMeta?: ReactNode;
|
|
1008
|
+
inputPlaceholder?: string;
|
|
1009
|
+
onInputPress?: () => void;
|
|
1010
|
+
sheetContent?: ReactNode;
|
|
1011
|
+
};
|
|
1012
|
+
declare function ImmersiveMediaScreen({ variant, media, title, subtitle, topLeft, topCenter, topRight, actions, bottomMeta, inputPlaceholder, onInputPress, sheetContent, }: ImmersiveMediaScreenProps): react_jsx_runtime.JSX.Element;
|
|
1013
|
+
|
|
1014
|
+
type FinanceMetric = {
|
|
1015
|
+
label: string;
|
|
1016
|
+
value: string;
|
|
1017
|
+
change?: string;
|
|
1018
|
+
};
|
|
1019
|
+
type FinanceQuickAction = {
|
|
1020
|
+
id: string;
|
|
1021
|
+
label: string;
|
|
1022
|
+
icon?: ReactNode;
|
|
1023
|
+
onPress?: () => void;
|
|
1024
|
+
};
|
|
1025
|
+
type FinanceDashboardSection = {
|
|
1026
|
+
id?: string;
|
|
1027
|
+
title: string;
|
|
1028
|
+
rows: Array<{
|
|
1029
|
+
id: string;
|
|
1030
|
+
title: string;
|
|
1031
|
+
subtitle?: string;
|
|
1032
|
+
value?: string;
|
|
1033
|
+
leading?: ReactNode;
|
|
1034
|
+
}>;
|
|
1035
|
+
};
|
|
1036
|
+
type FinanceDashboardProps = {
|
|
1037
|
+
title?: string;
|
|
1038
|
+
balanceLabel?: string;
|
|
1039
|
+
balance: string;
|
|
1040
|
+
rangeLabel?: string;
|
|
1041
|
+
metrics?: FinanceMetric[];
|
|
1042
|
+
quickActions?: FinanceQuickAction[];
|
|
1043
|
+
sections?: FinanceDashboardSection[];
|
|
1044
|
+
chartSlot?: ReactNode;
|
|
1045
|
+
topRight?: ReactNode;
|
|
1046
|
+
};
|
|
1047
|
+
declare function FinanceDashboard({ title, balanceLabel, balance, rangeLabel, metrics, quickActions, sections, chartSlot, topRight, }: FinanceDashboardProps): react_jsx_runtime.JSX.Element;
|
|
1048
|
+
|
|
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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as tamagui from 'tamagui';
|
|
2
|
-
import { TamaguiInternalConfig, GetProps, YStack } from 'tamagui';
|
|
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
5
|
import * as react from 'react';
|
|
6
|
-
import { ReactNode } from 'react';
|
|
6
|
+
import react__default, { ReactNode } from 'react';
|
|
7
7
|
import * as _tamagui_core from '@tamagui/core';
|
|
8
8
|
import * as _tamagui_web from '@tamagui/web';
|
|
9
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
@@ -401,16 +401,40 @@ type PlanOption = {
|
|
|
401
401
|
name: string;
|
|
402
402
|
price: string;
|
|
403
403
|
period: string;
|
|
404
|
+
tagline?: string;
|
|
404
405
|
pricePerWeek?: string;
|
|
405
406
|
savings?: string;
|
|
406
407
|
popular?: boolean;
|
|
407
408
|
trial?: string;
|
|
408
409
|
features?: string[];
|
|
409
410
|
};
|
|
411
|
+
type PaywallVariant = 'default' | 'social-proof' | 'comparison' | 'creator-sheet' | 'immersive-dark';
|
|
412
|
+
type PaywallFeature = string | {
|
|
413
|
+
title: string;
|
|
414
|
+
description?: string;
|
|
415
|
+
icon?: ReactNode;
|
|
416
|
+
};
|
|
417
|
+
type PaywallComparisonRow = {
|
|
418
|
+
label: string;
|
|
419
|
+
free?: boolean;
|
|
420
|
+
premium?: boolean;
|
|
421
|
+
};
|
|
422
|
+
type PaywallTestimonial = {
|
|
423
|
+
quote: string;
|
|
424
|
+
author: string;
|
|
425
|
+
meta?: string;
|
|
426
|
+
};
|
|
427
|
+
type PaywallCreator = {
|
|
428
|
+
name: string;
|
|
429
|
+
meta?: string;
|
|
430
|
+
avatar?: ReactNode;
|
|
431
|
+
};
|
|
410
432
|
type PaywallScreenProps = {
|
|
433
|
+
variant?: PaywallVariant;
|
|
434
|
+
eyebrow?: string;
|
|
411
435
|
title?: string;
|
|
412
436
|
subtitle?: string;
|
|
413
|
-
features?:
|
|
437
|
+
features?: PaywallFeature[];
|
|
414
438
|
plans: PlanOption[];
|
|
415
439
|
selectedPlan?: string;
|
|
416
440
|
onSelectPlan?: (planId: string) => void;
|
|
@@ -425,23 +449,37 @@ type PaywallScreenProps = {
|
|
|
425
449
|
socialProof?: string;
|
|
426
450
|
countdownMinutes?: number;
|
|
427
451
|
badge?: string;
|
|
452
|
+
comparisonRows?: PaywallComparisonRow[];
|
|
453
|
+
testimonials?: PaywallTestimonial[];
|
|
454
|
+
creator?: PaywallCreator;
|
|
455
|
+
topSlot?: ReactNode;
|
|
456
|
+
footerSlot?: ReactNode;
|
|
428
457
|
};
|
|
429
|
-
declare function PaywallScreen({ title, subtitle, features, plans, selectedPlan, onSelectPlan, onContinue, onClose, onRestore, onTerms, onPrivacy, continueLabel, reassurance, hero, socialProof, countdownMinutes, badge, }: PaywallScreenProps): react_jsx_runtime.JSX.Element;
|
|
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;
|
|
430
459
|
|
|
460
|
+
type OnboardingVariant = 'default' | 'calm-gradient' | 'card-tilt' | 'editorial' | 'selection-step' | 'permission-prompt';
|
|
431
461
|
type OnboardingStep = {
|
|
432
462
|
title: string;
|
|
433
463
|
description: string;
|
|
434
464
|
icon?: ReactNode;
|
|
465
|
+
hero?: ReactNode;
|
|
466
|
+
eyebrow?: string;
|
|
467
|
+
ctaLabel?: string;
|
|
468
|
+
background?: ReactNode;
|
|
435
469
|
};
|
|
436
470
|
type OnboardingCarouselProps = {
|
|
437
471
|
steps: OnboardingStep[];
|
|
472
|
+
variant?: OnboardingVariant;
|
|
473
|
+
brand?: ReactNode;
|
|
474
|
+
topLeading?: ReactNode;
|
|
438
475
|
onComplete?: () => void;
|
|
439
476
|
onSkip?: () => void;
|
|
440
477
|
completeLabel?: string;
|
|
441
478
|
skipLabel?: string;
|
|
442
479
|
nextLabel?: string;
|
|
480
|
+
footerSlot?: ReactNode;
|
|
443
481
|
};
|
|
444
|
-
declare function OnboardingCarousel({ steps, onComplete, onSkip, completeLabel, skipLabel, nextLabel, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
|
|
482
|
+
declare function OnboardingCarousel({ steps, variant, brand, topLeading, onComplete, onSkip, completeLabel, skipLabel, nextLabel, footerSlot, }: OnboardingCarouselProps): react_jsx_runtime.JSX.Element;
|
|
445
483
|
|
|
446
484
|
type ChatMessage = {
|
|
447
485
|
id: string;
|
|
@@ -526,16 +564,25 @@ type BottomSheetProps = {
|
|
|
526
564
|
};
|
|
527
565
|
declare function BottomSheet({ open, onOpenChange, title, children, snapPoints, dismissOnSnapToBottom, showHandle, showClose, zIndex }: BottomSheetProps): react_jsx_runtime.JSX.Element;
|
|
528
566
|
|
|
567
|
+
type AuthProviderBrand = 'google' | 'apple' | 'github' | 'microsoft' | 'custom';
|
|
568
|
+
type LoginScreenVariant = 'default' | 'editorial' | 'centered-card';
|
|
529
569
|
type AuthProvider = {
|
|
530
570
|
id: string;
|
|
531
571
|
name: string;
|
|
532
572
|
icon?: ReactNode;
|
|
573
|
+
brand?: AuthProviderBrand;
|
|
574
|
+
description?: string;
|
|
533
575
|
};
|
|
534
576
|
type LoginScreenProps = {
|
|
577
|
+
variant?: LoginScreenVariant;
|
|
535
578
|
title?: string;
|
|
536
579
|
subtitle?: string;
|
|
537
580
|
logo?: ReactNode;
|
|
538
581
|
providers?: AuthProvider[];
|
|
582
|
+
hero?: ReactNode;
|
|
583
|
+
backgroundSlot?: ReactNode;
|
|
584
|
+
footerSlot?: ReactNode;
|
|
585
|
+
providerButtonStyle?: 'neutral' | 'brand';
|
|
539
586
|
onProviderPress?: (id: string) => void;
|
|
540
587
|
showEmailForm?: boolean;
|
|
541
588
|
onEmailSubmit?: (email: string, password: string) => void;
|
|
@@ -545,7 +592,7 @@ type LoginScreenProps = {
|
|
|
545
592
|
onPrivacy?: () => void;
|
|
546
593
|
loading?: boolean;
|
|
547
594
|
};
|
|
548
|
-
declare function LoginScreen({ title, subtitle, logo, providers, onProviderPress, showEmailForm, onEmailSubmit, onForgotPassword, onCreateAccount, onTerms, onPrivacy, loading }: LoginScreenProps): react_jsx_runtime.JSX.Element;
|
|
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;
|
|
549
596
|
|
|
550
597
|
type TabBarItem = {
|
|
551
598
|
id: string;
|
|
@@ -901,4 +948,102 @@ type UserPreferencesProps = {
|
|
|
901
948
|
};
|
|
902
949
|
declare function UserPreferences({ sections }: UserPreferencesProps): react_jsx_runtime.JSX.Element;
|
|
903
950
|
|
|
904
|
-
|
|
951
|
+
type BlinkSelectItem = {
|
|
952
|
+
label: string;
|
|
953
|
+
value: string;
|
|
954
|
+
};
|
|
955
|
+
type BlinkSelectProps = {
|
|
956
|
+
items: BlinkSelectItem[];
|
|
957
|
+
value?: string;
|
|
958
|
+
onValueChange?: (value: string) => void;
|
|
959
|
+
placeholder?: string;
|
|
960
|
+
label?: string;
|
|
961
|
+
size?: GetProps<typeof Select.Trigger>['size'];
|
|
962
|
+
disabled?: boolean;
|
|
963
|
+
width?: string | number;
|
|
964
|
+
};
|
|
965
|
+
declare function BlinkSelect({ items, value, onValueChange, placeholder, label, size, disabled, width, }: BlinkSelectProps): react_jsx_runtime.JSX.Element;
|
|
966
|
+
|
|
967
|
+
type BlinkDialogProps = {
|
|
968
|
+
open?: boolean;
|
|
969
|
+
onOpenChange?: (open: boolean) => void;
|
|
970
|
+
trigger?: react__default.ReactNode;
|
|
971
|
+
title?: string;
|
|
972
|
+
description?: string;
|
|
973
|
+
children?: react__default.ReactNode;
|
|
974
|
+
confirmLabel?: string;
|
|
975
|
+
cancelLabel?: string;
|
|
976
|
+
onConfirm?: () => void;
|
|
977
|
+
onCancel?: () => void;
|
|
978
|
+
confirmTheme?: GetProps<typeof Button$1>['theme'];
|
|
979
|
+
};
|
|
980
|
+
declare function BlinkDialog({ open, onOpenChange, trigger, title, description, children, confirmLabel, cancelLabel, onConfirm, onCancel, confirmTheme, }: BlinkDialogProps): react_jsx_runtime.JSX.Element;
|
|
981
|
+
|
|
982
|
+
type BlinkPopoverProps = {
|
|
983
|
+
trigger: react__default.ReactNode;
|
|
984
|
+
children: react__default.ReactNode;
|
|
985
|
+
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
986
|
+
allowFlip?: boolean;
|
|
987
|
+
size?: string;
|
|
988
|
+
};
|
|
989
|
+
declare function BlinkPopover({ trigger, children, placement, allowFlip, size, }: BlinkPopoverProps): react_jsx_runtime.JSX.Element;
|
|
990
|
+
|
|
991
|
+
type ImmersiveMediaAction = {
|
|
992
|
+
id: string;
|
|
993
|
+
label?: string;
|
|
994
|
+
value?: string;
|
|
995
|
+
icon?: ReactNode;
|
|
996
|
+
onPress?: () => void;
|
|
997
|
+
};
|
|
998
|
+
type ImmersiveMediaScreenProps = {
|
|
999
|
+
variant?: 'story' | 'reel' | 'sheet';
|
|
1000
|
+
media: ReactNode;
|
|
1001
|
+
title?: string;
|
|
1002
|
+
subtitle?: string;
|
|
1003
|
+
topLeft?: ReactNode;
|
|
1004
|
+
topCenter?: ReactNode;
|
|
1005
|
+
topRight?: ReactNode;
|
|
1006
|
+
actions?: ImmersiveMediaAction[];
|
|
1007
|
+
bottomMeta?: ReactNode;
|
|
1008
|
+
inputPlaceholder?: string;
|
|
1009
|
+
onInputPress?: () => void;
|
|
1010
|
+
sheetContent?: ReactNode;
|
|
1011
|
+
};
|
|
1012
|
+
declare function ImmersiveMediaScreen({ variant, media, title, subtitle, topLeft, topCenter, topRight, actions, bottomMeta, inputPlaceholder, onInputPress, sheetContent, }: ImmersiveMediaScreenProps): react_jsx_runtime.JSX.Element;
|
|
1013
|
+
|
|
1014
|
+
type FinanceMetric = {
|
|
1015
|
+
label: string;
|
|
1016
|
+
value: string;
|
|
1017
|
+
change?: string;
|
|
1018
|
+
};
|
|
1019
|
+
type FinanceQuickAction = {
|
|
1020
|
+
id: string;
|
|
1021
|
+
label: string;
|
|
1022
|
+
icon?: ReactNode;
|
|
1023
|
+
onPress?: () => void;
|
|
1024
|
+
};
|
|
1025
|
+
type FinanceDashboardSection = {
|
|
1026
|
+
id?: string;
|
|
1027
|
+
title: string;
|
|
1028
|
+
rows: Array<{
|
|
1029
|
+
id: string;
|
|
1030
|
+
title: string;
|
|
1031
|
+
subtitle?: string;
|
|
1032
|
+
value?: string;
|
|
1033
|
+
leading?: ReactNode;
|
|
1034
|
+
}>;
|
|
1035
|
+
};
|
|
1036
|
+
type FinanceDashboardProps = {
|
|
1037
|
+
title?: string;
|
|
1038
|
+
balanceLabel?: string;
|
|
1039
|
+
balance: string;
|
|
1040
|
+
rangeLabel?: string;
|
|
1041
|
+
metrics?: FinanceMetric[];
|
|
1042
|
+
quickActions?: FinanceQuickAction[];
|
|
1043
|
+
sections?: FinanceDashboardSection[];
|
|
1044
|
+
chartSlot?: ReactNode;
|
|
1045
|
+
topRight?: ReactNode;
|
|
1046
|
+
};
|
|
1047
|
+
declare function FinanceDashboard({ title, balanceLabel, balance, rangeLabel, metrics, quickActions, sections, chartSlot, topRight, }: FinanceDashboardProps): react_jsx_runtime.JSX.Element;
|
|
1048
|
+
|
|
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 };
|