@tuwaio/nova-connect 0.2.8 → 0.2.10

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.
@@ -1,15 +1,183 @@
1
- import { Dialog, DialogContent, StarsBackground } from '@tuwaio/nova-core';
2
- import { TargetAndTransition, VariantLabels, LegacyAnimationControls, Transition, AnyResolvedKeyframe, HTMLMotionProps, Variants, Easing, motion } from 'framer-motion';
1
+ import { Variants, TargetAndTransition, VariantLabels, LegacyAnimationControls, Transition, AnyResolvedKeyframe, HTMLMotionProps, Easing, motion } from 'framer-motion';
3
2
  import * as React$1 from 'react';
4
- import React__default, { ComponentType, ReactNode, ComponentPropsWithoutRef } from 'react';
5
- import { I as InitialChains, B as ButtonTxStatus, b as NovaConnectProviderProps, h as useNovaConnectLabels, q as NativeBalanceResult, a as ConnectedContentType, C as ConnectContentType } from './useWalletNativeBalance-DR8XONYI.js';
6
- import { BaseConnector } from '@tuwaio/satellite-core';
3
+ import React__default, { ComponentPropsWithoutRef, ComponentType, ReactNode } from 'react';
7
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
5
  import * as Select from '@radix-ui/react-select';
6
+ import { I as InitialChains, B as ButtonTxStatus, b as NovaConnectProviderProps, h as useNovaConnectLabels, q as NativeBalanceResult, a as ConnectedContentType, C as ConnectContentType } from './useWalletNativeBalance-DR8XONYI.js';
7
+ import { BaseConnector } from '@tuwaio/satellite-core';
8
+ import { Dialog, DialogContent, StarsBackground } from '@tuwaio/nova-core';
9
9
  import { Transaction } from '@tuwaio/pulsar-core';
10
10
  import { ConnectorType, OrbitAdapter, RecentlyConnectedConnectorData } from '@tuwaio/orbit-core';
11
11
  import { Connector } from '@tuwaio/satellite-react';
12
12
 
13
+ /**
14
+ * @file BalanceDisplay component with comprehensive customization options.
15
+ * Exported for use in ConnectedModal and external applications for displaying token balances.
16
+ */
17
+
18
+ /**
19
+ * Balance data structure
20
+ */
21
+ type BalanceData = {
22
+ /** Balance value (formatted string) */
23
+ value: string;
24
+ /** Token symbol (e.g., ETH, USDC) */
25
+ symbol: string;
26
+ /** Optional icon URL or ReactNode */
27
+ icon?: string | React__default.ReactNode;
28
+ };
29
+ /**
30
+ * Labels for accessibility
31
+ */
32
+ type BalanceDisplayLabels = {
33
+ loading?: string;
34
+ walletBalance?: string;
35
+ refreshBalance?: string;
36
+ noBalanceAvailable?: string;
37
+ };
38
+ /**
39
+ * Props for RefreshButton sub-component
40
+ */
41
+ type RefreshButtonProps = {
42
+ isLoading: boolean;
43
+ showSuccess: boolean;
44
+ onRefetch: () => void;
45
+ labels: Required<BalanceDisplayLabels>;
46
+ className?: string;
47
+ };
48
+ /**
49
+ * Props for LoadingState sub-component
50
+ */
51
+ type LoadingStateProps = {
52
+ labels: Required<BalanceDisplayLabels>;
53
+ className?: string;
54
+ };
55
+ /**
56
+ * Props for BalanceValue sub-component
57
+ */
58
+ type BalanceValueProps = {
59
+ balance: BalanceData;
60
+ labels: Required<BalanceDisplayLabels>;
61
+ className?: string;
62
+ };
63
+ /**
64
+ * Props for EmptyState sub-component
65
+ */
66
+ type EmptyStateProps$2 = {
67
+ labels: Required<BalanceDisplayLabels>;
68
+ className?: string;
69
+ };
70
+ /**
71
+ * Customization options for BalanceDisplay component
72
+ */
73
+ type BalanceDisplayCustomization = {
74
+ /** Override root container props */
75
+ containerProps?: Partial<Omit<ComponentPropsWithoutRef<'div'>, 'popover' | 'onDrag' | 'onDragEnd' | 'onDragExit' | 'onDragStart' | 'onDragStartCapture' | 'onAnimationStart' | 'onAnimationEnd' | 'onAnimationStartCapture' | 'onAnimationEndCapture' | 'onAnimationIteration' | 'onAnimationIterationCapture'>>;
76
+ /** Custom components */
77
+ components?: {
78
+ /** Custom refresh button component */
79
+ RefreshButton?: ComponentType<RefreshButtonProps>;
80
+ /** Custom loading state component */
81
+ LoadingState?: ComponentType<LoadingStateProps>;
82
+ /** Custom balance value component */
83
+ BalanceValue?: ComponentType<BalanceValueProps>;
84
+ /** Custom empty state component */
85
+ EmptyState?: ComponentType<EmptyStateProps$2>;
86
+ };
87
+ /** Custom class name generators */
88
+ classNames?: {
89
+ /** Function to generate container classes */
90
+ container?: (params: {
91
+ isLoading: boolean;
92
+ hasBalance: boolean;
93
+ }) => string;
94
+ /** Function to generate loading state classes */
95
+ loadingState?: () => string;
96
+ /** Function to generate balance value wrapper classes */
97
+ balanceValueWrapper?: () => string;
98
+ /** Function to generate balance value classes */
99
+ balanceValue?: () => string;
100
+ /** Function to generate balance symbol classes */
101
+ balanceSymbol?: () => string;
102
+ /** Function to generate balance icon classes */
103
+ balanceIcon?: () => string;
104
+ /** Function to generate refresh button classes */
105
+ refreshButton?: (params: {
106
+ isLoading: boolean;
107
+ showSuccess: boolean;
108
+ }) => string;
109
+ /** Function to generate refresh icon classes */
110
+ refreshIcon?: () => string;
111
+ /** Function to generate success icon classes */
112
+ successIcon?: () => string;
113
+ /** Function to generate empty state classes */
114
+ emptyState?: () => string;
115
+ };
116
+ /** Custom animation variants */
117
+ variants?: {
118
+ /** Loading state animation variants */
119
+ loading?: Variants;
120
+ /** Success indicator animation variants */
121
+ success?: Variants;
122
+ /** Refresh icon animation variants */
123
+ refresh?: Variants;
124
+ };
125
+ /** Configuration options */
126
+ config?: {
127
+ /** Whether to show refresh button */
128
+ showRefreshButton?: boolean;
129
+ /** Whether to show icon */
130
+ showIcon?: boolean;
131
+ /** Success indicator duration in ms */
132
+ successDuration?: number;
133
+ /** Whether to disable animations */
134
+ disableAnimation?: boolean;
135
+ };
136
+ };
137
+ /**
138
+ * Props for the BalanceDisplay component
139
+ */
140
+ interface BalanceDisplayProps$1 {
141
+ /** Balance data to display */
142
+ balance: BalanceData | null;
143
+ /** Whether balance is loading */
144
+ isLoading?: boolean;
145
+ /** Function to refetch balance */
146
+ onRefetch?: () => void;
147
+ /** Custom labels for accessibility */
148
+ labels?: BalanceDisplayLabels;
149
+ /** Additional className for container */
150
+ className?: string;
151
+ /** Customization options */
152
+ customization?: BalanceDisplayCustomization;
153
+ /** Test ID for testing */
154
+ 'data-testid'?: string;
155
+ }
156
+ /**
157
+ * BalanceDisplay component for showing token balances with optional refresh functionality.
158
+ * Fully customizable through the customization prop.
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * <BalanceDisplay
163
+ * balance={{ value: '1,234.56', symbol: 'USDC' }}
164
+ * isLoading={false}
165
+ * onRefetch={() => refetchBalance()}
166
+ * customization={{
167
+ * classNames: {
168
+ * container: () => 'flex items-center gap-2',
169
+ * balanceValue: () => 'text-lg font-bold',
170
+ * refreshButton: () => 'hover:bg-accent/10',
171
+ * },
172
+ * config: {
173
+ * showRefreshButton: true,
174
+ * },
175
+ * }}
176
+ * />
177
+ * ```
178
+ */
179
+ declare const BalanceDisplay: React__default.FC<BalanceDisplayProps$1>;
180
+
13
181
  /**
14
182
  * @file Highly customizable chain list renderer with comprehensive styling and behavior control.
15
183
  * @module ChainListRenderer
@@ -39,6 +207,16 @@ interface CustomChainContentProps {
39
207
  icon: ReactNode;
40
208
  children?: ReactNode;
41
209
  }
210
+ /**
211
+ * Props for custom active indicator wrapper component
212
+ */
213
+ interface CustomActiveIndicatorWrapperProps {
214
+ isActive: boolean;
215
+ isMobile: boolean;
216
+ indicator: ReactNode;
217
+ children?: ReactNode;
218
+ className?: string;
219
+ }
42
220
  /**
43
221
  * Props for custom active indicator component
44
222
  */
@@ -74,6 +252,8 @@ interface ChainListRendererCustomization {
74
252
  ChainIcon?: ComponentType<CustomChainIconProps>;
75
253
  /** Custom chain content layout component */
76
254
  ChainContent?: ComponentType<CustomChainContentProps>;
255
+ /** Custom active indicator wrapper component */
256
+ ActiveIndicatorWrapper?: ComponentType<CustomActiveIndicatorWrapperProps>;
77
257
  /** Custom active indicator component */
78
258
  ActiveIndicator?: ComponentType<CustomActiveIndicatorProps>;
79
259
  };
@@ -105,6 +285,11 @@ interface ChainListRendererCustomization {
105
285
  isActive: boolean;
106
286
  isMobile: boolean;
107
287
  }) => string;
288
+ /** Active indicator wrapper classes */
289
+ activeIndicatorWrapper?: (params: {
290
+ isActive: boolean;
291
+ isMobile: boolean;
292
+ }) => string;
108
293
  /** Active indicator classes */
109
294
  activeIndicator?: (params: {
110
295
  isMobile: boolean;
@@ -643,6 +828,19 @@ type CustomMobileSelectorProps = {
643
828
  /** ARIA label */
644
829
  'aria-label': string;
645
830
  };
831
+ /**
832
+ * Props for a custom close button component.
833
+ */
834
+ type CustomCloseButtonProps = {
835
+ /** Close handler */
836
+ onClose: () => void;
837
+ /** CSS class */
838
+ className?: string;
839
+ /** ARIA label */
840
+ 'aria-label': string;
841
+ /** Icon element */
842
+ icon: ReactNode;
843
+ };
646
844
  /**
647
845
  * Props for a custom dialog header component.
648
846
  */
@@ -653,6 +851,17 @@ type CustomDialogHeaderProps = {
653
851
  onClose: () => void;
654
852
  /** CSS class */
655
853
  className?: string;
854
+ /** Close button customization */
855
+ closeButton?: {
856
+ /** Close button component */
857
+ Component?: ComponentType<CustomCloseButtonProps>;
858
+ /** Close button props */
859
+ props?: Partial<ComponentPropsWithoutRef<'button'>>;
860
+ /** Close button classes */
861
+ className?: string;
862
+ /** Close button icon classes */
863
+ iconClassName?: string;
864
+ };
656
865
  };
657
866
  /**
658
867
  * Animation easing parameters for framer-motion.
@@ -767,6 +976,12 @@ type ChainSelectorCustomization = {
767
976
  }) => string;
768
977
  /** Classes for the dialog inner container */
769
978
  dialogInnerContainer?: () => string;
979
+ /** Classes for the dialog header */
980
+ dialogHeader?: () => string;
981
+ /** Classes for the dialog header title */
982
+ dialogHeaderTitle?: () => string;
983
+ /** Classes for the dialog header close button wrapper */
984
+ dialogHeaderCloseButtonWrapper?: () => string;
770
985
  };
771
986
  /** Custom event handlers */
772
987
  handlers?: {
@@ -775,6 +990,18 @@ type ChainSelectorCustomization = {
775
990
  /** Wrapper for the dialog close handler */
776
991
  onDialogClose?: (originalHandler: () => void) => void;
777
992
  };
993
+ /** Dialog header customization */
994
+ dialogHeader?: {
995
+ /** Close button customization */
996
+ closeButton?: {
997
+ /** Close button props */
998
+ props?: Partial<ComponentPropsWithoutRef<'button'>>;
999
+ /** Close button classes */
1000
+ className?: string;
1001
+ /** Close button icon classes */
1002
+ iconClassName?: string;
1003
+ };
1004
+ };
778
1005
  /** Customization for sub-components */
779
1006
  triggerButton?: ChainTriggerButtonCustomization;
780
1007
  /** Customization for the Select content */
@@ -798,9 +1025,6 @@ interface ChainSelectorProps extends InitialChains {
798
1025
  /**
799
1026
  * The main chain selector component.
800
1027
  * Supports both desktop (dropdown) and mobile (dialog modal) interfaces.
801
- *
802
- * @param props - Props for the ChainSelector component
803
- * @returns The chain selector component or null if no wallet is connected
804
1028
  */
805
1029
  declare function ChainSelector({ appChains, solanaRPCUrls, customization, className, 'aria-label': ariaLabel, }: ChainSelectorProps): react_jsx_runtime.JSX.Element | null;
806
1030
 
@@ -875,7 +1099,7 @@ type WalletAvatarCustomization = {
875
1099
  /** Custom background color generator function */
876
1100
  generateBgColor?: (address: string) => string;
877
1101
  /** Custom address formatter function */
878
- formatAddress?: (address: string, labels: any) => string;
1102
+ formatAddress?: (address: string, labels: Record<string, string>) => string;
879
1103
  };
880
1104
  };
881
1105
  interface WalletAvatarProps extends Omit<ComponentPropsWithoutRef<'div'>, 'role'> {
@@ -1131,10 +1355,6 @@ type ConnectedContentCustomization = {
1131
1355
  balanceContainer?: (params: {
1132
1356
  formattedBalance: string;
1133
1357
  }) => string;
1134
- /** Function to generate balance text classes */
1135
- balanceText?: (params: {
1136
- formattedBalance: string;
1137
- }) => string;
1138
1358
  /** Function to generate balance divider classes */
1139
1359
  balanceDivider?: () => string;
1140
1360
  /** Function to generate main content classes */
@@ -1456,7 +1676,7 @@ type NavigationProps$1 = {
1456
1676
  role?: string;
1457
1677
  buttonData: ConnectButtonData;
1458
1678
  } & React__default.RefAttributes<HTMLElement>;
1459
- type ContainerProps$8 = {
1679
+ type ContainerProps$a = {
1460
1680
  className?: string;
1461
1681
  children: React__default.ReactNode;
1462
1682
  buttonData: ConnectButtonData;
@@ -1485,7 +1705,7 @@ type ConnectButtonCustomization = {
1485
1705
  /** Custom navigation wrapper */
1486
1706
  Navigation?: ComponentType<NavigationProps$1>;
1487
1707
  /** Custom container div */
1488
- Container?: ComponentType<ContainerProps$8>;
1708
+ Container?: ComponentType<ContainerProps$a>;
1489
1709
  /** Custom button container with motion */
1490
1710
  ButtonContainer?: ComponentType<ButtonContainerProps>;
1491
1711
  /** Custom button element */
@@ -1917,6 +2137,8 @@ type BalanceDisplayProps = {
1917
2137
  refetch: () => void;
1918
2138
  labels: Record<string, string>;
1919
2139
  className?: string;
2140
+ /** Customization for the BalanceDisplay component */
2141
+ customization?: BalanceDisplayCustomization;
1920
2142
  };
1921
2143
  type ScreenReaderFeedbackProps = {
1922
2144
  isCopied: boolean;
@@ -1973,18 +2195,8 @@ type ConnectedModalNameAndBalanceCustomization = {
1973
2195
  copyIcon?: () => string;
1974
2196
  /** Function to generate check icon classes */
1975
2197
  checkIcon?: () => string;
1976
- /** Function to generate balance container classes */
2198
+ /** Function to generate balance container wrapper classes */
1977
2199
  balanceContainer?: () => string;
1978
- /** Function to generate balance loading classes */
1979
- balanceLoading?: () => string;
1980
- /** Function to generate balance display classes */
1981
- balanceDisplay?: () => string;
1982
- /** Function to generate balance value classes */
1983
- balanceValue?: () => string;
1984
- /** Function to generate balance symbol classes */
1985
- balanceSymbol?: () => string;
1986
- /** Function to generate no balance classes */
1987
- noBalance?: () => string;
1988
2200
  /** Function to generate screen reader feedback classes */
1989
2201
  screenReaderFeedback?: () => string;
1990
2202
  /** Function to generate live region classes */
@@ -2064,6 +2276,11 @@ type ConnectedModalNameAndBalanceCustomization = {
2064
2276
  liveRegion?: string;
2065
2277
  };
2066
2278
  };
2279
+ /** Child component customizations */
2280
+ childCustomizations?: {
2281
+ /** Customization for BalanceDisplay component */
2282
+ balanceDisplay?: BalanceDisplayCustomization;
2283
+ };
2067
2284
  };
2068
2285
  /**
2069
2286
  * Props for the ConnectedModalNameAndBalance component
@@ -2144,6 +2361,7 @@ declare const ConnectedModalNameAndBalance: React__default.ForwardRefExoticCompo
2144
2361
  type CustomLoadingOverlayProps$1 = {
2145
2362
  size: number;
2146
2363
  isLoading: boolean;
2364
+ className?: string;
2147
2365
  };
2148
2366
  type CustomErrorIndicatorProps = {
2149
2367
  walletName: string;
@@ -2185,6 +2403,11 @@ type WalletIconCustomization = {
2185
2403
  showLoading: boolean;
2186
2404
  hasError: boolean;
2187
2405
  }) => string;
2406
+ /** Function to generate loading overlay classes */
2407
+ loadingOverlay?: (params: {
2408
+ isLoading: boolean;
2409
+ size: number;
2410
+ }) => string;
2188
2411
  };
2189
2412
  };
2190
2413
  interface WalletIconProps$1 extends Omit<ComponentPropsWithoutRef<'div'>, 'role'> {
@@ -2496,6 +2719,12 @@ type AvatarSectionProps = {
2496
2719
  onSwitchWallet: () => void;
2497
2720
  onSwitchNetwork: () => void;
2498
2721
  className?: string;
2722
+ /** Customization for switch wallet IconButton */
2723
+ switchWalletButtonProps?: Partial<IconButtonProps>;
2724
+ /** Customization for switch network IconButton */
2725
+ switchNetworkButtonProps?: Partial<IconButtonProps>;
2726
+ /** Customization for WalletAvatar component */
2727
+ walletAvatarCustomization?: WalletAvatarCustomization;
2499
2728
  };
2500
2729
  type InfoSectionProps = {
2501
2730
  balanceLoading: boolean;
@@ -2504,6 +2733,7 @@ type InfoSectionProps = {
2504
2733
  ensNameAbbreviated: string | undefined;
2505
2734
  labels: Record<string, string>;
2506
2735
  className?: string;
2736
+ nameAndBalanceCustomization?: ConnectedModalNameAndBalanceCustomization;
2507
2737
  };
2508
2738
  type TransactionsSectionProps = {
2509
2739
  walletTransactions: Transaction[];
@@ -2512,6 +2742,8 @@ type TransactionsSectionProps = {
2512
2742
  onViewTransactions: () => void;
2513
2743
  showPendingIndicators?: boolean;
2514
2744
  className?: string;
2745
+ /** Custom className for the transactions button */
2746
+ buttonClassName?: string;
2515
2747
  };
2516
2748
  type NoTransactionsIndicatorProps = {
2517
2749
  className?: string;
@@ -2587,6 +2819,10 @@ type ConnectedModalMainContentCustomization = {
2587
2819
  pendingSpinner?: () => string;
2588
2820
  /** Function to generate no transactions classes */
2589
2821
  noTransactions?: () => string;
2822
+ /** Function to generate extra balances container classes */
2823
+ extraBalancesContainer?: () => string;
2824
+ /** Function to generate custom content container classes */
2825
+ customContentContainer?: () => string;
2590
2826
  };
2591
2827
  /** Custom animation variants */
2592
2828
  variants?: {
@@ -2651,7 +2887,7 @@ type ConnectedModalMainContentCustomization = {
2651
2887
  /** Customization for ConnectedModalNameAndBalance component */
2652
2888
  nameAndBalance?: ConnectedModalNameAndBalanceCustomization;
2653
2889
  /** Customization for WalletAvatar component */
2654
- walletAvatar?: Partial<WalletAvatarProps>;
2890
+ walletAvatar?: WalletAvatarCustomization;
2655
2891
  /** Customization for switch wallet IconButton */
2656
2892
  switchWalletButton?: Partial<IconButtonProps>;
2657
2893
  /** Customization for switch network IconButton */
@@ -2677,6 +2913,10 @@ type ConnectedModalMainContentCustomization = {
2677
2913
  noTransactions?: string;
2678
2914
  };
2679
2915
  };
2916
+ /** Render slot for extra balances (tokens like USDC, ETH) - rendered after native balance */
2917
+ renderExtraBalances?: () => ReactNode;
2918
+ /** Render slot for custom content (like Telegram bot button) - rendered after transactions button */
2919
+ renderCustomContent?: () => ReactNode;
2680
2920
  };
2681
2921
  /**
2682
2922
  * Props for the ConnectedModalMainContent component
@@ -2792,15 +3032,90 @@ declare const ConnectedModalMainContent: React__default.ForwardRefExoticComponen
2792
3032
  * @file ConnectedModalTxHistory component with comprehensive customization options for transaction history display.
2793
3033
  */
2794
3034
 
3035
+ /**
3036
+ * Local customization options for TransactionsHistory component.
3037
+ * This is a copy of the type from @tuwaio/nova-transactions to avoid
3038
+ * breaking dynamic import logic.
3039
+ */
3040
+ type LocalTransactionsHistoryCustomization = {
3041
+ /** Custom title for the transactions history section */
3042
+ title?: string;
3043
+ /** Custom class name generators */
3044
+ classNames?: {
3045
+ /** Classes for the outer container */
3046
+ container?: string;
3047
+ /** Classes for the title element */
3048
+ titleText?: string;
3049
+ /** Classes for the list wrapper container */
3050
+ listWrapper?: string;
3051
+ /** Classes for the placeholder container */
3052
+ placeholderContainer?: string;
3053
+ /** Classes for the placeholder title */
3054
+ placeholderTitle?: string;
3055
+ /** Classes for the placeholder message */
3056
+ placeholderMessage?: string;
3057
+ /** Classes for individual transaction item container */
3058
+ itemContainer?: string;
3059
+ /** Classes for the icon wrapper */
3060
+ itemIconWrapper?: string;
3061
+ /** Classes for the icon itself */
3062
+ itemIcon?: string;
3063
+ /** Classes for the content wrapper */
3064
+ itemContentWrapper?: string;
3065
+ /** Classes for the title text */
3066
+ itemTitle?: string;
3067
+ /** Classes for the timestamp text */
3068
+ itemTimestamp?: string;
3069
+ /** Classes for the description text */
3070
+ itemDescription?: string;
3071
+ /** Classes for the status badge container */
3072
+ itemStatusBadge?: string;
3073
+ /** Classes for the status badge icon */
3074
+ itemStatusBadgeIcon?: string;
3075
+ /** Classes for the status badge label */
3076
+ itemStatusBadgeLabel?: string;
3077
+ /** Classes for the transaction key container */
3078
+ itemTxKeyContainer?: string;
3079
+ /** Classes for the default hash link label */
3080
+ itemHashLabel?: string;
3081
+ /** Classes for the default hash link */
3082
+ itemHashLink?: string;
3083
+ /** Classes for the default hash copy button */
3084
+ itemHashCopyButton?: string;
3085
+ /** Classes for the original hash link label (replaced transactions) */
3086
+ itemOriginalHashLabel?: string;
3087
+ /** Classes for the original hash link (replaced transactions) */
3088
+ itemOriginalHashLink?: string;
3089
+ /** Classes for the original hash copy button (replaced transactions) */
3090
+ itemOriginalHashCopyButton?: string;
3091
+ };
3092
+ };
2795
3093
  type CustomLoadingContainerProps = {
2796
3094
  labels: Record<string, string>;
2797
3095
  className?: string;
3096
+ /** Granular classNames for sub-elements */
3097
+ classNames?: {
3098
+ spinner?: string;
3099
+ text?: string;
3100
+ };
2798
3101
  };
2799
3102
  type CustomErrorContainerProps = {
2800
3103
  className?: string;
3104
+ /** Granular classNames for sub-elements */
3105
+ classNames?: {
3106
+ iconContainer?: string;
3107
+ icon?: string;
3108
+ content?: string;
3109
+ title?: string;
3110
+ description?: string;
3111
+ };
2801
3112
  };
2802
3113
  type CustomNoWalletContainerProps = {
2803
3114
  className?: string;
3115
+ /** Granular classNames for sub-elements */
3116
+ classNames?: {
3117
+ text?: string;
3118
+ };
2804
3119
  };
2805
3120
  type CustomTransactionsHistoryWrapperProps = {
2806
3121
  children: ReactNode;
@@ -2934,6 +3249,11 @@ type ConnectedModalTxHistoryCustomization = {
2934
3249
  transactionsHistory?: string;
2935
3250
  };
2936
3251
  };
3252
+ /**
3253
+ * Customization for the TransactionsHistory component (from @tuwaio/nova-transactions).
3254
+ * Passed through to the dynamically loaded component.
3255
+ */
3256
+ transactionsHistory?: LocalTransactionsHistoryCustomization;
2937
3257
  };
2938
3258
  /**
2939
3259
  * Props for the ConnectedModalTxHistory component
@@ -3034,11 +3354,22 @@ type CustomActiveSectionProps = {
3034
3354
  children: ReactNode;
3035
3355
  count: number;
3036
3356
  labels?: Record<string, string>;
3357
+ /** Granular classNames for sub-elements */
3358
+ classNames?: {
3359
+ title?: string;
3360
+ wrapper?: string;
3361
+ };
3037
3362
  };
3038
3363
  type CustomRecentSectionProps = {
3039
3364
  className?: string;
3040
3365
  children: ReactNode;
3366
+ count?: number;
3041
3367
  labels?: Record<string, string>;
3368
+ /** Granular classNames for sub-elements */
3369
+ classNames?: {
3370
+ title?: string;
3371
+ list?: string;
3372
+ };
3042
3373
  };
3043
3374
  type CustomActiveRowProps = {
3044
3375
  connectorType: ConnectorType;
@@ -3053,6 +3384,23 @@ type CustomActiveRowProps = {
3053
3384
  isCopied?: boolean;
3054
3385
  onCopy?: () => void;
3055
3386
  onExplorer?: () => void;
3387
+ displayName?: string;
3388
+ /** Granular classNames for sub-elements */
3389
+ classNames?: {
3390
+ container?: string;
3391
+ badge?: string;
3392
+ content?: string;
3393
+ walletName?: string;
3394
+ connectorName?: string;
3395
+ actionsContainer?: string;
3396
+ copyButton?: string;
3397
+ copyIcon?: string;
3398
+ explorerButton?: string;
3399
+ explorerIcon?: string;
3400
+ disconnectButton?: string;
3401
+ iconWrapper?: string;
3402
+ iconBadge?: string;
3403
+ };
3056
3404
  };
3057
3405
  type CustomConnectedRowProps = {
3058
3406
  connectorType: ConnectorType;
@@ -3064,6 +3412,19 @@ type CustomConnectedRowProps = {
3064
3412
  icon?: string;
3065
3413
  labels?: Record<string, string>;
3066
3414
  isHovered?: boolean;
3415
+ /** Granular classNames for sub-elements */
3416
+ classNames?: {
3417
+ container?: string;
3418
+ switchIndicator?: string;
3419
+ switchIcon?: string;
3420
+ content?: string;
3421
+ walletName?: string;
3422
+ connectorName?: string;
3423
+ disconnectButton?: string;
3424
+ disconnectIcon?: string;
3425
+ iconWrapper?: string;
3426
+ iconBadge?: string;
3427
+ };
3067
3428
  };
3068
3429
  type CustomRecentRowProps = {
3069
3430
  connectorType: ConnectorType;
@@ -3075,6 +3436,20 @@ type CustomRecentRowProps = {
3075
3436
  icon?: string;
3076
3437
  isConnecting?: boolean;
3077
3438
  labels?: Record<string, string>;
3439
+ /** Granular classNames for sub-elements */
3440
+ classNames?: {
3441
+ container?: string;
3442
+ content?: string;
3443
+ walletName?: string;
3444
+ connectorName?: string;
3445
+ actionsContainer?: string;
3446
+ connectButton?: string;
3447
+ connectSpinner?: string;
3448
+ removeButton?: string;
3449
+ removeIcon?: string;
3450
+ iconWrapper?: string;
3451
+ iconBadge?: string;
3452
+ };
3078
3453
  };
3079
3454
  type CustomActionButtonProps = {
3080
3455
  onClick: (e: React.MouseEvent) => void;
@@ -3096,6 +3471,11 @@ type CustomAddWalletButtonProps = {
3096
3471
  type CustomEmptyStateProps = {
3097
3472
  message: string;
3098
3473
  className?: string;
3474
+ /** Granular classNames for sub-elements */
3475
+ classNames?: {
3476
+ container?: string;
3477
+ message?: string;
3478
+ };
3099
3479
  };
3100
3480
  /**
3101
3481
  * Customization options for ConnectionsContent component
@@ -3134,45 +3514,108 @@ type ConnectionsContentCustomization = {
3134
3514
  connectionsCount: number;
3135
3515
  recentCount: number;
3136
3516
  }) => string;
3137
- /** Function to generate section header classes */
3138
- sectionHeader?: (params: {
3139
- sectionType: 'active' | 'recent';
3140
- }) => string;
3141
- /** Function to generate active section classes */
3517
+ /** Function to generate empty state classes */
3518
+ emptyState?: () => string;
3519
+ /** Function to generate empty state message classes */
3520
+ emptyStateMessage?: () => string;
3521
+ /** Function to generate active section wrapper classes */
3142
3522
  activeSection?: (params: {
3143
3523
  count: number;
3144
3524
  }) => string;
3145
- /** Function to generate recent section classes */
3525
+ /** Function to generate active section title classes */
3526
+ activeSectionTitle?: () => string;
3527
+ /** Function to generate active section content wrapper classes */
3528
+ activeSectionWrapper?: () => string;
3529
+ /** Function to generate recent section wrapper classes */
3146
3530
  recentSection?: (params: {
3147
3531
  count: number;
3148
3532
  }) => string;
3149
- /** Function to generate active row classes */
3150
- activeRow?: (params: {
3533
+ /** Function to generate recent section title classes */
3534
+ recentSectionTitle?: () => string;
3535
+ /** Function to generate recent section list container classes */
3536
+ recentSectionList?: () => string;
3537
+ /** Function to generate active row container classes */
3538
+ activeRowContainer?: (params: {
3151
3539
  connectorType: ConnectorType;
3152
3540
  hasExplorer: boolean;
3153
3541
  }) => string;
3154
- /** Function to generate connected row classes */
3155
- connectedRow?: (params: {
3542
+ /** Function to generate active badge classes */
3543
+ activeRowBadge?: () => string;
3544
+ /** Function to generate active row content wrapper classes */
3545
+ activeRowContent?: () => string;
3546
+ /** Function to generate wallet name/address classes */
3547
+ activeRowWalletName?: () => string;
3548
+ /** Function to generate connector name classes */
3549
+ activeRowConnectorName?: () => string;
3550
+ /** Function to generate actions container classes */
3551
+ activeRowActionsContainer?: () => string;
3552
+ /** Function to generate copy button classes */
3553
+ activeRowCopyButton?: (params: {
3554
+ isCopied: boolean;
3555
+ }) => string;
3556
+ /** Function to generate copy icon classes */
3557
+ activeRowCopyIcon?: () => string;
3558
+ /** Function to generate explorer button classes */
3559
+ activeRowExplorerButton?: () => string;
3560
+ /** Function to generate explorer icon classes */
3561
+ activeRowExplorerIcon?: () => string;
3562
+ /** Function to generate disconnect button classes */
3563
+ activeRowDisconnectButton?: () => string;
3564
+ /** Function to generate connected row container classes */
3565
+ connectedRowContainer?: (params: {
3156
3566
  connectorType: ConnectorType;
3157
- isHovered: boolean;
3158
3567
  }) => string;
3159
- /** Function to generate recent row classes */
3160
- recentRow?: (params: {
3568
+ /** Function to generate switch indicator classes */
3569
+ connectedRowSwitchIndicator?: () => string;
3570
+ /** Function to generate switch icon classes */
3571
+ connectedRowSwitchIcon?: () => string;
3572
+ /** Function to generate content wrapper classes */
3573
+ connectedRowContent?: () => string;
3574
+ /** Function to generate wallet address classes */
3575
+ connectedRowWalletName?: () => string;
3576
+ /** Function to generate connector name classes */
3577
+ connectedRowConnectorName?: () => string;
3578
+ /** Function to generate disconnect button classes */
3579
+ connectedRowDisconnectButton?: () => string;
3580
+ /** Function to generate disconnect icon classes */
3581
+ connectedRowDisconnectIcon?: () => string;
3582
+ /** Function to generate recent row container classes */
3583
+ recentRowContainer?: (params: {
3161
3584
  connectorType: ConnectorType;
3162
3585
  isConnecting: boolean;
3163
3586
  }) => string;
3164
- /** Function to generate action button classes */
3165
- actionButton?: (params: {
3166
- variant?: 'primary' | 'secondary' | 'danger';
3167
- disabled?: boolean;
3168
- loading?: boolean;
3587
+ /** Function to generate recent row content wrapper classes */
3588
+ recentRowContent?: () => string;
3589
+ /** Function to generate wallet address classes */
3590
+ recentRowWalletName?: () => string;
3591
+ /** Function to generate connector name classes */
3592
+ recentRowConnectorName?: () => string;
3593
+ /** Function to generate actions wrapper classes */
3594
+ recentRowActionsContainer?: () => string;
3595
+ /** Function to generate connect button classes */
3596
+ recentRowConnectButton?: (params: {
3597
+ isConnecting: boolean;
3598
+ }) => string;
3599
+ /** Function to generate connect button spinner classes */
3600
+ recentRowConnectSpinner?: () => string;
3601
+ /** Function to generate remove button classes */
3602
+ recentRowRemoveButton?: (params: {
3603
+ isConnecting: boolean;
3604
+ }) => string;
3605
+ /** Function to generate remove icon classes */
3606
+ recentRowRemoveIcon?: () => string;
3607
+ /** Function to generate connector icon wrapper classes */
3608
+ connectorIconWrapper?: (params: {
3609
+ size: number;
3610
+ }) => string;
3611
+ /** Function to generate network badge wrapper classes */
3612
+ connectorIconBadge?: (params: {
3613
+ badgeSize: number;
3169
3614
  }) => string;
3170
3615
  /** Function to generate add wallet button classes */
3171
3616
  addWalletButton?: (params: {
3172
3617
  disabled?: boolean;
3173
3618
  }) => string;
3174
- /** Function to generate empty state classes */
3175
- emptyState?: () => string;
3176
3619
  };
3177
3620
  /** Custom event handlers */
3178
3621
  handlers?: {
@@ -3291,44 +3734,94 @@ type ConnectionsContentCustomization = {
3291
3734
  * @file ConnectedModal component with comprehensive customization options for all child components.
3292
3735
  */
3293
3736
 
3294
- type HeaderProps = {
3295
- contentType: ConnectedContentType;
3737
+ /**
3738
+ * Props for custom DialogTitle component
3739
+ * DialogTitle is the main title element that includes back button and title text
3740
+ */
3741
+ type DialogTitleProps = {
3742
+ /** Current title text */
3296
3743
  title: string;
3744
+ /** Current content type for conditional rendering */
3745
+ contentType: ConnectedContentType;
3746
+ /** Handler for back button click */
3297
3747
  onBack: () => void;
3298
- onClose: () => void;
3748
+ /** Localized labels */
3299
3749
  labels: Record<string, string>;
3750
+ /** Additional CSS classes */
3300
3751
  className?: string;
3301
3752
  };
3753
+ /**
3754
+ * Props for custom BackButton component
3755
+ */
3302
3756
  type BackButtonProps$1 = {
3757
+ /** Handler for back button click */
3303
3758
  onBack: () => void;
3759
+ /** Localized labels */
3304
3760
  labels: Record<string, string>;
3761
+ /** Additional CSS classes */
3305
3762
  className?: string;
3306
3763
  };
3307
- type TitleProps$6 = {
3308
- title: string;
3764
+ /**
3765
+ * Props for custom CloseButton component
3766
+ */
3767
+ type CloseButtonProps$1 = {
3768
+ /** Handler for close button click */
3769
+ onClose: () => void;
3770
+ /** Localized labels */
3771
+ labels: Record<string, string>;
3772
+ /** Additional CSS classes */
3309
3773
  className?: string;
3310
3774
  };
3311
- type CloseButtonProps$1 = {
3775
+ /**
3776
+ * Props for custom Header component
3777
+ * Header wraps DialogTitle and CloseButton together
3778
+ */
3779
+ type HeaderProps = {
3780
+ /** Current content type */
3781
+ contentType: ConnectedContentType;
3782
+ /** Current title text */
3783
+ title: string;
3784
+ /** Handler for back button click */
3785
+ onBack: () => void;
3786
+ /** Handler for close button click */
3312
3787
  onClose: () => void;
3788
+ /** Localized labels */
3313
3789
  labels: Record<string, string>;
3790
+ /** Additional CSS classes */
3314
3791
  className?: string;
3315
3792
  };
3793
+ /**
3794
+ * Props for custom MainContent component
3795
+ */
3316
3796
  type MainContentProps$1 = Pick<NovaConnectProviderProps, 'transactionPool' | 'pulsarAdapter'> & {
3797
+ /** Current content type */
3317
3798
  contentType: ConnectedContentType;
3799
+ /** Native balance result */
3318
3800
  balance: NativeBalanceResult | null;
3801
+ /** Refetch balance function */
3319
3802
  refetch: () => void;
3803
+ /** Abbreviated ENS name or address */
3320
3804
  ensNameAbbreviated: string | undefined;
3805
+ /** Whether avatar is loading */
3321
3806
  avatarIsLoading: boolean;
3807
+ /** Whether balance is loading */
3322
3808
  balanceLoading: boolean;
3809
+ /** ENS avatar URL */
3323
3810
  ensAvatar: string | null;
3811
+ /** List of available chains */
3324
3812
  chainsList: (string | number)[];
3813
+ /** Handler for chain change */
3325
3814
  onChainChange: (chainId: string) => void;
3815
+ /** Handler for back navigation */
3326
3816
  onBack: () => void;
3817
+ /** Function to get chain data */
3327
3818
  getChainData: (chain: string | number) => {
3328
3819
  formattedChainId: string | number;
3329
3820
  chain: string | number;
3330
3821
  };
3822
+ /** Additional CSS classes */
3331
3823
  className?: string;
3824
+ /** Child component customizations */
3332
3825
  childCustomizations?: ConnectedModalCustomization['childCustomizations'];
3333
3826
  };
3334
3827
  type WalletNameConfig = {
@@ -3347,23 +3840,27 @@ type ConnectedModalCustomization = {
3347
3840
  dialogContentProps?: Partial<ComponentPropsWithoutRef<typeof DialogContent>>;
3348
3841
  /** Custom components */
3349
3842
  components?: {
3350
- /** Custom dialog component */
3843
+ /** Custom dialog component (root modal wrapper) */
3351
3844
  Dialog?: ComponentType<ComponentPropsWithoutRef<typeof Dialog>>;
3352
- /** Custom dialog content component */
3845
+ /** Custom dialog content component (modal content wrapper) */
3353
3846
  DialogContent?: ComponentType<ComponentPropsWithoutRef<typeof DialogContent>>;
3354
- /** Custom dialog header component */
3355
- DialogHeader?: ComponentType<ComponentPropsWithoutRef<'div'>>;
3356
- /** Custom dialog title component */
3357
- DialogTitle?: ComponentType<ComponentPropsWithoutRef<'h2'>>;
3358
- /** Custom header component */
3847
+ /**
3848
+ * Custom dialog title component
3849
+ * Includes back button (when not on main view) and title text
3850
+ * Use this to customize the entire title area
3851
+ */
3852
+ DialogTitle?: ComponentType<DialogTitleProps>;
3853
+ /**
3854
+ * Custom header component
3855
+ * Wraps DialogTitle and CloseButton together
3856
+ * Use this to customize the entire header layout
3857
+ */
3359
3858
  Header?: ComponentType<HeaderProps>;
3360
- /** Custom back button component */
3859
+ /** Custom back button component (chevron left icon button) */
3361
3860
  BackButton?: ComponentType<BackButtonProps$1>;
3362
- /** Custom title component */
3363
- Title?: ComponentType<TitleProps$6>;
3364
- /** Custom close button component */
3861
+ /** Custom close button component (X icon button) */
3365
3862
  CloseButton?: ComponentType<CloseButtonProps$1>;
3366
- /** Custom main content component */
3863
+ /** Custom main content component (renders different views based on contentType) */
3367
3864
  MainContent?: ComponentType<MainContentProps$1>;
3368
3865
  /** Custom main content renderer for main view */
3369
3866
  MainContentRenderer?: ComponentType<ConnectedModalMainContentProps>;
@@ -3373,7 +3870,7 @@ type ConnectedModalCustomization = {
3373
3870
  ChainsContentRenderer?: ComponentType<ScrollableChainListProps>;
3374
3871
  /** Custom footer component */
3375
3872
  Footer?: ComponentType<ConnectedModalFooterProps>;
3376
- /** Custom motion container */
3873
+ /** Custom motion container for animations */
3377
3874
  MotionContainer?: ComponentType<ComponentPropsWithoutRef<typeof motion.div>>;
3378
3875
  };
3379
3876
  /** Custom class name generators */
@@ -3395,12 +3892,12 @@ type ConnectedModalCustomization = {
3395
3892
  header?: (params: {
3396
3893
  contentType: ConnectedContentType;
3397
3894
  }) => string;
3398
- /** Function to generate back button classes */
3399
- backButton?: () => string;
3400
- /** Function to generate title classes */
3401
- title?: (params: {
3895
+ /** Function to generate dialog title classes */
3896
+ dialogTitle?: (params: {
3402
3897
  contentType: ConnectedContentType;
3403
3898
  }) => string;
3899
+ /** Function to generate back button classes */
3900
+ backButton?: () => string;
3404
3901
  /** Function to generate close button classes */
3405
3902
  closeButton?: () => string;
3406
3903
  /** Function to generate main content classes */
@@ -3465,11 +3962,11 @@ type ConnectedModalCustomization = {
3465
3962
  /** Customization for ConnectionsContent component */
3466
3963
  connections?: ConnectionsContentCustomization;
3467
3964
  /** Customization for ConnectedModalTxHistory component */
3468
- txHistory?: Record<string, unknown>;
3965
+ txHistory?: ConnectedModalTxHistoryCustomization;
3469
3966
  /** Customization for ScrollableChainList component */
3470
- chainList?: Record<string, unknown>;
3967
+ chainList?: ScrollableChainListCustomization;
3471
3968
  /** Customization for ConnectedModalFooter component */
3472
- footer?: Record<string, unknown>;
3969
+ footer?: ConnectedModalFooterCustomization;
3473
3970
  };
3474
3971
  /** Configuration options */
3475
3972
  config?: {
@@ -3530,6 +4027,28 @@ interface ConnectedModalProps extends Omit<ConnectButtonProps, 'className' | 'cu
3530
4027
  * store={store}
3531
4028
  * />
3532
4029
  * ```
4030
+ *
4031
+ * @example Customizing DialogTitle
4032
+ * ```tsx
4033
+ * <ConnectedModal
4034
+ * customization={{
4035
+ * components: {
4036
+ * DialogTitle: ({ title, contentType, onBack, labels }) => (
4037
+ * <div className="custom-title">
4038
+ * {contentType !== 'main' && (
4039
+ * <button onClick={onBack}>{labels.back}</button>
4040
+ * )}
4041
+ * <h2>{title}</h2>
4042
+ * </div>
4043
+ * ),
4044
+ * },
4045
+ * classNames: {
4046
+ * dialogTitle: ({ contentType }) =>
4047
+ * contentType === 'main' ? 'main-title' : 'sub-title',
4048
+ * },
4049
+ * }}
4050
+ * />
4051
+ * ```
3533
4052
  */
3534
4053
  declare const ConnectedModal: React__default.ForwardRefExoticComponent<ConnectedModalProps & React__default.RefAttributes<HTMLDivElement>>;
3535
4054
 
@@ -3544,6 +4063,36 @@ type SlideConfig = {
3544
4063
  descriptionKey: keyof Record<string, string>;
3545
4064
  };
3546
4065
  type SlideDirection = -1 | 0 | 1;
4066
+ type AboutWalletsClassNames = {
4067
+ section?: () => string;
4068
+ slideContainer?: () => string;
4069
+ slide?: (params: {
4070
+ slideIndex: number;
4071
+ totalSlides: number;
4072
+ }) => string;
4073
+ imageSection?: (params: {
4074
+ slideIndex: number;
4075
+ }) => string;
4076
+ image?: (params: {
4077
+ slideIndex: number;
4078
+ imageLoaded: boolean;
4079
+ }) => string;
4080
+ contentSection?: (params: {
4081
+ slideIndex: number;
4082
+ }) => string;
4083
+ title?: (params: {
4084
+ slideIndex: number;
4085
+ }) => string;
4086
+ description?: (params: {
4087
+ slideIndex: number;
4088
+ }) => string;
4089
+ navigation?: () => string;
4090
+ indicator?: (params: {
4091
+ index: number;
4092
+ isActive: boolean;
4093
+ }) => string;
4094
+ status?: () => string;
4095
+ };
3547
4096
  type SectionProps = {
3548
4097
  className?: string;
3549
4098
  children: React__default.ReactNode;
@@ -3571,6 +4120,15 @@ type SlideProps = {
3571
4120
  labels: Record<string, string>;
3572
4121
  slideVariants?: Variants;
3573
4122
  slideTransition?: Transition;
4123
+ imageVariants?: Variants;
4124
+ imageTransition?: Transition;
4125
+ /** ClassNames for nested customization */
4126
+ classNames?: AboutWalletsClassNames;
4127
+ /** Custom components */
4128
+ components?: {
4129
+ ImageSection?: ComponentType<ImageSectionProps>;
4130
+ ContentSection?: ComponentType<ContentSectionProps$2>;
4131
+ };
3574
4132
  };
3575
4133
  type ImageSectionProps = {
3576
4134
  slide: SlideConfig;
@@ -3580,12 +4138,18 @@ type ImageSectionProps = {
3580
4138
  slideIndex: number;
3581
4139
  className?: string;
3582
4140
  labels: Record<string, string>;
4141
+ imageVariants?: Variants;
4142
+ imageTransition?: Transition;
4143
+ /** ClassNames for nested customization */
4144
+ classNames?: AboutWalletsClassNames;
3583
4145
  };
3584
4146
  type ContentSectionProps$2 = {
3585
4147
  slide: SlideConfig;
3586
4148
  slideIndex: number;
3587
4149
  className?: string;
3588
4150
  labels: Record<string, string>;
4151
+ /** ClassNames for nested customization */
4152
+ classNames?: AboutWalletsClassNames;
3589
4153
  };
3590
4154
  type NavigationProps = {
3591
4155
  slides: SlideConfig[];
@@ -3593,6 +4157,10 @@ type NavigationProps = {
3593
4157
  onSlideChange: (index: number) => void;
3594
4158
  className?: string;
3595
4159
  labels: Record<string, string>;
4160
+ /** ClassNames for nested customization */
4161
+ classNames?: AboutWalletsClassNames;
4162
+ /** Custom indicator component */
4163
+ IndicatorComponent?: ComponentType<IndicatorProps$1>;
3596
4164
  };
3597
4165
  type IndicatorProps$1 = {
3598
4166
  slide: SlideConfig;
@@ -3640,47 +4208,7 @@ type AboutWalletsCustomization = {
3640
4208
  MotionDiv?: ComponentType<ComponentPropsWithoutRef<typeof motion.div>>;
3641
4209
  };
3642
4210
  /** Custom class name generators */
3643
- classNames?: {
3644
- /** Function to generate section classes */
3645
- section?: () => string;
3646
- /** Function to generate slide container classes */
3647
- slideContainer?: () => string;
3648
- /** Function to generate slide classes */
3649
- slide?: (params: {
3650
- slideIndex: number;
3651
- totalSlides: number;
3652
- }) => string;
3653
- /** Function to generate image section classes */
3654
- imageSection?: (params: {
3655
- slideIndex: number;
3656
- }) => string;
3657
- /** Function to generate image classes */
3658
- image?: (params: {
3659
- slideIndex: number;
3660
- imageLoaded: boolean;
3661
- }) => string;
3662
- /** Function to generate content section classes */
3663
- contentSection?: (params: {
3664
- slideIndex: number;
3665
- }) => string;
3666
- /** Function to generate title classes */
3667
- title?: (params: {
3668
- slideIndex: number;
3669
- }) => string;
3670
- /** Function to generate description classes */
3671
- description?: (params: {
3672
- slideIndex: number;
3673
- }) => string;
3674
- /** Function to generate navigation classes */
3675
- navigation?: () => string;
3676
- /** Function to generate indicator classes */
3677
- indicator?: (params: {
3678
- index: number;
3679
- isActive: boolean;
3680
- }) => string;
3681
- /** Function to generate status classes */
3682
- status?: () => string;
3683
- };
4211
+ classNames?: AboutWalletsClassNames;
3684
4212
  /** Custom animation variants */
3685
4213
  variants?: {
3686
4214
  /** Slide animation variants */
@@ -3766,9 +4294,220 @@ interface AboutWalletsProps {
3766
4294
  * ```tsx
3767
4295
  * <AboutWallets />
3768
4296
  * ```
4297
+ *
4298
+ * @example With customization via provider
4299
+ * ```tsx
4300
+ * <AboutWallets
4301
+ * customization={{
4302
+ * classNames: {
4303
+ * section: () => 'my-custom-section',
4304
+ * title: ({ slideIndex }) => slideIndex === 0 ? 'text-blue-500' : 'text-green-500',
4305
+ * description: () => 'text-gray-400',
4306
+ * imageSection: () => 'bg-gradient-to-r from-purple-500 to-pink-500',
4307
+ * indicator: ({ isActive }) => isActive ? 'bg-blue-500 w-8' : 'bg-gray-300',
4308
+ * },
4309
+ * }}
4310
+ * />
4311
+ * ```
3769
4312
  */
3770
4313
  declare const AboutWallets: React__default.ForwardRefExoticComponent<AboutWalletsProps & React__default.RefAttributes<HTMLElement>>;
3771
4314
 
4315
+ /**
4316
+ * @file RecentBadge component with comprehensive customization options and animated gradient border.
4317
+ */
4318
+
4319
+ /**
4320
+ * Animation configuration for the gradient border effect
4321
+ */
4322
+ interface BadgeAnimationConfig {
4323
+ /** Animation duration in seconds */
4324
+ duration: number;
4325
+ /** Animation easing function - using valid framer-motion easing values */
4326
+ ease: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'circIn' | 'circOut' | 'circInOut' | 'backIn' | 'backOut' | 'backInOut' | 'anticipate';
4327
+ /** Whether animation should repeat infinitely */
4328
+ repeat: boolean;
4329
+ /** Initial background position */
4330
+ initialPosition: string;
4331
+ /** Final background position */
4332
+ finalPosition: string;
4333
+ }
4334
+ /**
4335
+ * Gradient configuration for the border effect
4336
+ */
4337
+ interface BadgeGradientConfig {
4338
+ /** Direction of the gradient (e.g., '90deg', '45deg') */
4339
+ direction: string;
4340
+ /** Color stops for the gradient */
4341
+ stops: Array<{
4342
+ /** Position percentage (0-100) */
4343
+ position: number;
4344
+ /** Color value (CSS color, CSS variable, or rgba) */
4345
+ color: string;
4346
+ }>;
4347
+ /** Background size for animation effect */
4348
+ backgroundSize: string;
4349
+ }
4350
+ type ContainerProps$9 = {
4351
+ className?: string;
4352
+ children: React__default.ReactNode;
4353
+ role?: string;
4354
+ 'aria-label'?: string;
4355
+ } & React__default.RefAttributes<HTMLSpanElement>;
4356
+ type AnimatedGradientProps = {
4357
+ className?: string;
4358
+ animated: boolean;
4359
+ animationConfig: BadgeAnimationConfig;
4360
+ gradientConfig: BadgeGradientConfig;
4361
+ };
4362
+ type BackgroundOverlayProps = {
4363
+ className?: string;
4364
+ };
4365
+ type ContentProps = {
4366
+ className?: string;
4367
+ children: React__default.ReactNode;
4368
+ };
4369
+ /**
4370
+ * Customization options for RecentBadge component
4371
+ */
4372
+ type RecentBadgeCustomization = {
4373
+ /** Custom components */
4374
+ components?: {
4375
+ /** Custom container wrapper */
4376
+ Container?: ComponentType<ContainerProps$9>;
4377
+ /** Custom animated gradient component */
4378
+ AnimatedGradient?: ComponentType<AnimatedGradientProps>;
4379
+ /** Custom background overlay */
4380
+ BackgroundOverlay?: ComponentType<BackgroundOverlayProps>;
4381
+ /** Custom content wrapper */
4382
+ Content?: ComponentType<ContentProps>;
4383
+ };
4384
+ /** Custom class name generators */
4385
+ classNames?: {
4386
+ /** Function to generate container classes */
4387
+ container?: (params: {
4388
+ isTouch: boolean;
4389
+ animated: boolean;
4390
+ }) => string;
4391
+ /** Function to generate animated gradient classes */
4392
+ animatedGradient?: () => string;
4393
+ /** Function to generate background overlay classes */
4394
+ backgroundOverlay?: () => string;
4395
+ /** Function to generate content classes */
4396
+ content?: () => string;
4397
+ };
4398
+ /** Custom event handlers */
4399
+ handlers?: {
4400
+ /** Custom handler for animation start */
4401
+ onAnimationStart?: () => void;
4402
+ /** Custom handler for animation complete */
4403
+ onAnimationComplete?: () => void;
4404
+ /** Custom handler for component mount */
4405
+ onMount?: () => void;
4406
+ /** Custom handler for component unmount */
4407
+ onUnmount?: () => void;
4408
+ };
4409
+ /** Configuration options */
4410
+ config?: {
4411
+ /** Custom animation configuration */
4412
+ animation?: Partial<BadgeAnimationConfig>;
4413
+ /** Custom gradient configuration */
4414
+ gradient?: Partial<BadgeGradientConfig>;
4415
+ /** Custom ARIA labels */
4416
+ ariaLabels?: {
4417
+ container?: string;
4418
+ };
4419
+ /** Touch device detection override */
4420
+ touchDevice?: boolean;
4421
+ };
4422
+ };
4423
+ /**
4424
+ * Props for the RecentBadge component
4425
+ */
4426
+ interface RecentBadgeProps {
4427
+ /** Custom CSS classes for styling the container */
4428
+ className?: string;
4429
+ /** Content to display inside the badge */
4430
+ children?: React__default.ReactNode;
4431
+ /** Whether the gradient animation should be enabled */
4432
+ animated?: boolean;
4433
+ /** Custom ARIA label for accessibility */
4434
+ 'aria-label'?: string;
4435
+ /** Customization options */
4436
+ customization?: RecentBadgeCustomization;
4437
+ }
4438
+ /**
4439
+ * Badge component with animated gradient border effect and comprehensive customization
4440
+ *
4441
+ * This component provides a visually appealing badge with:
4442
+ * - Animated gradient border effect with customizable timing and colors
4443
+ * - Touch-device responsive sizing for optimal mobile experience
4444
+ * - Full accessibility support with proper ARIA labeling
4445
+ * - Performance optimizations with memoized calculations
4446
+ * - Customizable animations and gradient configurations
4447
+ * - Full customization of all child components
4448
+ * - Proper semantic HTML structure
4449
+ *
4450
+ * Visual features:
4451
+ * - Smooth animated gradient border effect
4452
+ * - Touch-responsive sizing (smaller on touch devices)
4453
+ * - Customizable gradient colors and direction
4454
+ * - Configurable animation timing and easing
4455
+ * - Proper z-index layering for visual effects
4456
+ *
4457
+ * Accessibility features:
4458
+ * - Proper ARIA role and labels
4459
+ * - Screen reader friendly content structure
4460
+ * - Semantic HTML with appropriate roles
4461
+ * - Motion reduction respect (can be controlled via customization)
4462
+ *
4463
+ * @example Basic usage
4464
+ * ```tsx
4465
+ * <RecentBadge>Recent</RecentBadge>
4466
+ * ```
4467
+ *
4468
+ * @example With custom animation
4469
+ * ```tsx
4470
+ * <RecentBadge
4471
+ * animated={false}
4472
+ * customization={{
4473
+ * config: {
4474
+ * animation: {
4475
+ * duration: 2,
4476
+ * ease: 'easeInOut'
4477
+ * }
4478
+ * }
4479
+ * }}
4480
+ * >
4481
+ * Custom
4482
+ * </RecentBadge>
4483
+ * ```
4484
+ *
4485
+ * @example With full customization
4486
+ * ```tsx
4487
+ * <RecentBadge
4488
+ * customization={{
4489
+ * components: {
4490
+ * AnimatedGradient: CustomGradient,
4491
+ * Content: CustomContent
4492
+ * },
4493
+ * config: {
4494
+ * gradient: {
4495
+ * direction: '45deg',
4496
+ * stops: [
4497
+ * { position: 0, color: 'transparent' },
4498
+ * { position: 50, color: 'rgba(59, 130, 246, 0.8)' },
4499
+ * { position: 100, color: 'transparent' }
4500
+ * ]
4501
+ * }
4502
+ * }
4503
+ * }}
4504
+ * >
4505
+ * Premium
4506
+ * </RecentBadge>
4507
+ * ```
4508
+ */
4509
+ declare const RecentBadge: React__default.NamedExoticComponent<RecentBadgeProps & React__default.RefAttributes<HTMLSpanElement>>;
4510
+
3772
4511
  /**
3773
4512
  * @file ConnectCard component with comprehensive customization options for wallet connection cards.
3774
4513
  */
@@ -4029,6 +4768,8 @@ type ConnectCardCustomization = {
4029
4768
  };
4030
4769
  /** NetworkIcons customization */
4031
4770
  networkIcons?: NetworkIconsCustomization;
4771
+ /** RecentBadge customization */
4772
+ recentBadge?: RecentBadgeCustomization;
4032
4773
  };
4033
4774
  /**
4034
4775
  * Props for the ConnectCard component
@@ -4148,7 +4889,7 @@ interface ConnectorItemData {
4148
4889
  /** Item index in the list */
4149
4890
  index: number;
4150
4891
  }
4151
- type ContainerProps$7 = {
4892
+ type ContainerProps$8 = {
4152
4893
  className?: string;
4153
4894
  children: React__default.ReactNode;
4154
4895
  role?: string;
@@ -4194,7 +4935,7 @@ type ConnectorsBlockCustomization = {
4194
4935
  /** Custom components */
4195
4936
  components?: {
4196
4937
  /** Custom container wrapper */
4197
- Container?: ComponentType<ContainerProps$7>;
4938
+ Container?: ComponentType<ContainerProps$8>;
4198
4939
  /** Custom title component */
4199
4940
  Title?: ComponentType<TitleProps$4>;
4200
4941
  /** Custom connectors list */
@@ -4268,6 +5009,8 @@ type ConnectorsBlockCustomization = {
4268
5009
  };
4269
5010
  /** ConnectCard customization for each connector card */
4270
5011
  connectCard?: ConnectCardCustomization;
5012
+ /** WalletIcon customization for wallet icons */
5013
+ walletIcon?: WalletIconCustomization;
4271
5014
  };
4272
5015
  /**
4273
5016
  * Props for the ConnectorsBlock component
@@ -4344,33 +5087,255 @@ interface ConnectorsBlockProps extends Pick<ConnectorsSelectionsProps, 'setIsOpe
4344
5087
  * isOnlyOneNetwork={true}
4345
5088
  * onClick={(group) => initiateConnection(group)}
4346
5089
  * customization={{
4347
- * components: {
4348
- * Container: CustomConnectorsContainer,
4349
- * Title: CustomSectionTitle
4350
- * },
5090
+ * components: {
5091
+ * Container: CustomConnectorsContainer,
5092
+ * Title: CustomSectionTitle
5093
+ * },
5094
+ * classNames: {
5095
+ * connectorsList: ({ blockData }) =>
5096
+ * blockData.isTouch ? 'horizontal-scroll' : 'vertical-stack',
5097
+ * connectorItem: ({ itemData, blockData }) =>
5098
+ * itemData.isRecent ? 'recent-connector' : 'standard-connector'
5099
+ * },
5100
+ * handlers: {
5101
+ * onConnectorClick: (itemData, blockData, originalHandler) => {
5102
+ * analytics.track('connector_clicked', { wallet: itemData.name });
5103
+ * originalHandler(itemData.group);
5104
+ * }
5105
+ * },
5106
+ * connectCard: {
5107
+ * classNames: {
5108
+ * container: ({ cardData }) =>
5109
+ * cardData.isRecent ? 'bg-accent' : 'bg-default'
5110
+ * }
5111
+ * }
5112
+ * }}
5113
+ * />
5114
+ * ```
5115
+ */
5116
+ declare const ConnectorsBlock: React__default.NamedExoticComponent<ConnectorsBlockProps & React__default.RefAttributes<HTMLElement>>;
5117
+
5118
+ /**
5119
+ * @file Disclaimer component with comprehensive customization options.
5120
+ */
5121
+
5122
+ /**
5123
+ * Type definition for button actions
5124
+ * Can be either a URL string for external links or a callback function
5125
+ */
5126
+ type ButtonAction = string | (() => void);
5127
+ type ContainerProps$7 = {
5128
+ className?: string;
5129
+ children: React__default.ReactNode;
5130
+ role?: string;
5131
+ 'aria-label'?: string;
5132
+ 'aria-describedby'?: string;
5133
+ 'data-testid'?: string;
5134
+ 'aria-live'?: 'polite' | 'assertive' | 'off';
5135
+ } & React__default.RefAttributes<HTMLDivElement>;
5136
+ type ContentSectionProps$1 = {
5137
+ className?: string;
5138
+ children: React__default.ReactNode;
5139
+ role?: string;
5140
+ 'aria-labelledby'?: string;
5141
+ };
5142
+ type TitleProps$3 = {
5143
+ id: string;
5144
+ className?: string;
5145
+ children: React__default.ReactNode;
5146
+ role?: string;
5147
+ 'aria-level'?: number;
5148
+ };
5149
+ type DescriptionProps$1 = {
5150
+ id: string;
5151
+ className?: string;
5152
+ children: React__default.ReactNode;
5153
+ role?: string;
5154
+ };
5155
+ type AdditionalContentProps = {
5156
+ className?: string;
5157
+ children: React__default.ReactNode;
5158
+ role?: string;
5159
+ 'aria-label'?: string;
5160
+ };
5161
+ type ActionsProps = {
5162
+ className?: string;
5163
+ children: React__default.ReactNode;
5164
+ role?: string;
5165
+ 'aria-label'?: string;
5166
+ };
5167
+ type ButtonProps = {
5168
+ action: ButtonAction;
5169
+ children: React__default.ReactNode;
5170
+ 'aria-label'?: string;
5171
+ className?: string;
5172
+ 'data-testid'?: string;
5173
+ };
5174
+ type StatusProps = {
5175
+ className?: string;
5176
+ children?: React__default.ReactNode;
5177
+ 'aria-live'?: 'polite' | 'assertive' | 'off';
5178
+ 'aria-atomic'?: boolean;
5179
+ role?: string;
5180
+ };
5181
+ /**
5182
+ * Customization options for Disclaimer component
5183
+ */
5184
+ type DisclaimerCustomization = {
5185
+ /** Custom components */
5186
+ components?: {
5187
+ /** Custom container wrapper */
5188
+ Container?: ComponentType<ContainerProps$7>;
5189
+ /** Custom content section */
5190
+ ContentSection?: ComponentType<ContentSectionProps$1>;
5191
+ /** Custom title component */
5192
+ Title?: ComponentType<TitleProps$3>;
5193
+ /** Custom description component */
5194
+ Description?: ComponentType<DescriptionProps$1>;
5195
+ /** Custom additional content wrapper */
5196
+ AdditionalContent?: ComponentType<AdditionalContentProps>;
5197
+ /** Custom actions section */
5198
+ Actions?: ComponentType<ActionsProps>;
5199
+ /** Custom link button */
5200
+ LinkButton?: ComponentType<ButtonProps>;
5201
+ /** Custom action button */
5202
+ ActionButton?: ComponentType<ButtonProps>;
5203
+ /** Custom status component */
5204
+ Status?: ComponentType<StatusProps>;
5205
+ };
5206
+ /** Custom class name generators */
5207
+ classNames?: {
5208
+ /** Function to generate container classes */
5209
+ container?: (params: {
5210
+ compact: boolean;
5211
+ }) => string;
5212
+ /** Function to generate content section classes */
5213
+ contentSection?: (params: {
5214
+ compact: boolean;
5215
+ }) => string;
5216
+ /** Function to generate title classes */
5217
+ title?: (params: {
5218
+ compact: boolean;
5219
+ }) => string;
5220
+ /** Function to generate description classes */
5221
+ description?: () => string;
5222
+ /** Function to generate additional content classes */
5223
+ additionalContent?: () => string;
5224
+ /** Function to generate actions classes */
5225
+ actions?: () => string;
5226
+ /** Function to generate button classes */
5227
+ button?: (params: {
5228
+ isLink: boolean;
5229
+ isPrimary: boolean;
5230
+ }) => string;
5231
+ /** Function to generate status classes */
5232
+ status?: () => string;
5233
+ };
5234
+ /** Custom event handlers */
5235
+ handlers?: {
5236
+ /** Custom handler for primary button action */
5237
+ onLearnMoreAction?: () => void;
5238
+ /** Custom handler for secondary button action */
5239
+ onListAction?: () => void;
5240
+ /** Custom handler for component mount */
5241
+ onMount?: () => void;
5242
+ /** Custom handler for component unmount */
5243
+ onUnmount?: () => void;
5244
+ };
5245
+ /** Configuration options */
5246
+ config?: {
5247
+ /** Custom button labels */
5248
+ buttonLabels?: {
5249
+ learnMore?: string;
5250
+ listAction?: string;
5251
+ };
5252
+ /** Custom ARIA labels */
5253
+ ariaLabels?: {
5254
+ container?: string;
5255
+ contentSection?: string;
5256
+ actions?: string;
5257
+ additionalContent?: string;
5258
+ };
5259
+ };
5260
+ };
5261
+ /**
5262
+ * Props for the Disclaimer component
5263
+ */
5264
+ interface DisclaimerProps {
5265
+ /** Main title text for the disclaimer */
5266
+ title: string;
5267
+ /** Descriptive text explaining the disclaimer content */
5268
+ description: string;
5269
+ /** Action for the primary "Learn More" button - can be URL or callback */
5270
+ learnMoreAction: ButtonAction;
5271
+ /** Optional action for the secondary "List of Networks" button */
5272
+ listAction?: ButtonAction;
5273
+ /** Custom CSS classes for styling the disclaimer container */
5274
+ className?: string;
5275
+ /** Optional custom ARIA label for enhanced accessibility */
5276
+ 'aria-label'?: string;
5277
+ /** Whether to show the disclaimer in compact mode */
5278
+ compact?: boolean;
5279
+ /** Additional content to display below the description */
5280
+ children?: React__default.ReactNode;
5281
+ /** Custom test ID for testing purposes */
5282
+ 'data-testid'?: string;
5283
+ /** Whether the disclaimer should be announced to screen readers */
5284
+ announceToScreenReader?: boolean;
5285
+ /** Customization options */
5286
+ customization?: DisclaimerCustomization;
5287
+ }
5288
+ /**
5289
+ * Educational disclaimer component with call-to-action buttons
5290
+ *
5291
+ * This component provides educational content with actionable buttons for:
5292
+ * - Informational disclaimers about wallets, networks, or other concepts
5293
+ * - Educational content with "Learn More" functionality
5294
+ * - Network information with optional "List of Networks" access
5295
+ * - Responsive layout with proper spacing and visual hierarchy
5296
+ * - Full WCAG accessibility compliance with screen reader support
5297
+ * - Keyboard navigation with proper focus management
5298
+ * - Semantic HTML structure with comprehensive ARIA labeling
5299
+ * - Internationalization support for button labels
5300
+ * - Support for both internal callbacks and external links
5301
+ * - Flexible content areas with optional children support
5302
+ * - Full customization of all child components
5303
+ *
5304
+ * The component automatically handles different action types:
5305
+ * - **String actions**: Rendered as external links with security attributes
5306
+ * - **Function actions**: Rendered as buttons with callback execution
5307
+ * - **Mixed actions**: Can combine both types for different buttons
5308
+ *
5309
+ * @example Basic usage
5310
+ * ```tsx
5311
+ * <Disclaimer
5312
+ * title="What is a wallet?"
5313
+ * description="Wallets are essential for managing your crypto..."
5314
+ * learnMoreAction={() => setContentType('about')}
5315
+ * listAction="https://example.com/networks"
5316
+ * />
5317
+ * ```
5318
+ *
5319
+ * @example With customization
5320
+ * ```tsx
5321
+ * <Disclaimer
5322
+ * title="Network Information"
5323
+ * description="Choose the right network for your transactions"
5324
+ * learnMoreAction={handleLearnMore}
5325
+ * compact
5326
+ * customization={{
4351
5327
  * classNames: {
4352
- * connectorsList: ({ blockData }) =>
4353
- * blockData.isTouch ? 'horizontal-scroll' : 'vertical-stack',
4354
- * connectorItem: ({ itemData, blockData }) =>
4355
- * itemData.isRecent ? 'recent-connector' : 'standard-connector'
4356
- * },
4357
- * handlers: {
4358
- * onConnectorClick: (itemData, blockData, originalHandler) => {
4359
- * analytics.track('connector_clicked', { wallet: itemData.name });
4360
- * originalHandler(itemData.group);
4361
- * }
5328
+ * container: ({ compact }) => compact ? 'custom-compact' : 'custom-full',
5329
+ * title: () => 'custom-title-styling'
4362
5330
  * },
4363
- * connectCard: {
4364
- * classNames: {
4365
- * container: ({ cardData }) =>
4366
- * cardData.isRecent ? 'bg-accent' : 'bg-default'
4367
- * }
5331
+ * components: {
5332
+ * LinkButton: CustomLinkButton
4368
5333
  * }
4369
5334
  * }}
4370
5335
  * />
4371
5336
  * ```
4372
5337
  */
4373
- declare const ConnectorsBlock: React__default.NamedExoticComponent<ConnectorsBlockProps & React__default.RefAttributes<HTMLElement>>;
5338
+ declare const Disclaimer: React__default.ForwardRefExoticComponent<DisclaimerProps & React__default.RefAttributes<HTMLDivElement>>;
4374
5339
 
4375
5340
  /**
4376
5341
  * @file ConnectorsSelections component with comprehensive customization options and categorized connector display.
@@ -4478,7 +5443,7 @@ type ConnectorsSelectionsCustomization = {
4478
5443
  ImpersonateTitle?: ComponentType<ImpersonateTitleProps>;
4479
5444
  /** Custom empty state */
4480
5445
  EmptyState?: ComponentType<EmptyStateProps>;
4481
- /** Custom disclaimer section */
5446
+ /** Custom disclaimer section wrapper */
4482
5447
  DisclaimerSection?: ComponentType<DisclaimerSectionProps>;
4483
5448
  };
4484
5449
  /** Custom class name generators */
@@ -4520,6 +5485,8 @@ type ConnectorsSelectionsCustomization = {
4520
5485
  onImpersonateClick?: (impersonateData: ImpersonateSectionData, selectionsData: ConnectorsSelectionsData, originalHandler: () => void) => void;
4521
5486
  /** Custom empty state action handler */
4522
5487
  onEmptyStateAction?: (selectionsData: ConnectorsSelectionsData) => void;
5488
+ /** Custom disclaimer learn more action handler */
5489
+ onDisclaimerLearnMore?: (selectionsData: ConnectorsSelectionsData, originalHandler: () => void) => void;
4523
5490
  };
4524
5491
  /** Configuration options */
4525
5492
  config?: {
@@ -4559,6 +5526,8 @@ type ConnectorsSelectionsCustomization = {
4559
5526
  };
4560
5527
  /** ConnectCard customization for impersonate card */
4561
5528
  impersonateCard?: ConnectCardCustomization;
5529
+ /** Disclaimer customization */
5530
+ disclaimer?: DisclaimerCustomization;
4562
5531
  };
4563
5532
  /**
4564
5533
  * Props for the ConnectorsSelections component
@@ -4639,7 +5608,7 @@ interface ConnectorsSelectionsProps extends Pick<NovaConnectProviderProps, 'with
4639
5608
  * />
4640
5609
  * ```
4641
5610
  *
4642
- * @example With full customization
5611
+ * @example With full customization including disclaimer
4643
5612
  * ```tsx
4644
5613
  * <ConnectorsSelections
4645
5614
  * selectedAdapter={undefined}
@@ -4659,19 +5628,21 @@ interface ConnectorsSelectionsProps extends Pick<NovaConnectProviderProps, 'with
4659
5628
  * classNames: {
4660
5629
  * connectorsArea: ({ selectionsData }) =>
4661
5630
  * selectionsData.isTouch ? 'horizontal-scroll' : 'vertical-stack',
4662
- * impersonateSection: ({ impersonateData }) =>
4663
- * impersonateData.isTouch ? 'touch-impersonate' : 'mouse-impersonate'
4664
5631
  * },
4665
5632
  * handlers: {
4666
- * onImpersonateClick: (impersonateData, selectionsData, originalHandler) => {
4667
- * analytics.track('impersonate_clicked');
5633
+ * onDisclaimerLearnMore: (selectionsData, originalHandler) => {
5634
+ * analytics.track('disclaimer_learn_more_clicked');
4668
5635
  * originalHandler();
4669
5636
  * }
4670
5637
  * },
4671
- * connectorsBlock: {
4672
- * installed: {
4673
- * classNames: {
4674
- * title: () => 'custom-installed-title'
5638
+ * disclaimer: {
5639
+ * classNames: {
5640
+ * container: ({ compact }) => 'custom-disclaimer-container',
5641
+ * title: ({ compact }) => 'custom-disclaimer-title'
5642
+ * },
5643
+ * config: {
5644
+ * buttonLabels: {
5645
+ * learnMore: 'Read More'
4675
5646
  * }
4676
5647
  * }
4677
5648
  * }
@@ -4767,18 +5738,18 @@ type WalletIconProps = {
4767
5738
  enableAnimations: boolean;
4768
5739
  className?: string;
4769
5740
  };
4770
- type ContentSectionProps$1 = {
5741
+ type ContentSectionProps = {
4771
5742
  className?: string;
4772
5743
  children: React__default.ReactNode;
4773
5744
  role?: string;
4774
5745
  };
4775
- type TitleProps$3 = {
5746
+ type TitleProps$2 = {
4776
5747
  className?: string;
4777
5748
  children: React__default.ReactNode;
4778
5749
  role?: string;
4779
5750
  'aria-level'?: number;
4780
5751
  };
4781
- type DescriptionProps$1 = {
5752
+ type DescriptionProps = {
4782
5753
  className?: string;
4783
5754
  children: React__default.ReactNode;
4784
5755
  role?: string;
@@ -4806,11 +5777,11 @@ type GetWalletCustomization = {
4806
5777
  /** Custom wallet icon display */
4807
5778
  WalletIcon?: ComponentType<WalletIconProps>;
4808
5779
  /** Custom content section */
4809
- ContentSection?: ComponentType<ContentSectionProps$1>;
5780
+ ContentSection?: ComponentType<ContentSectionProps>;
4810
5781
  /** Custom title component */
4811
- Title?: ComponentType<TitleProps$3>;
5782
+ Title?: ComponentType<TitleProps$2>;
4812
5783
  /** Custom description component */
4813
- Description?: ComponentType<DescriptionProps$1>;
5784
+ Description?: ComponentType<DescriptionProps>;
4814
5785
  /** Custom screen reader component */
4815
5786
  ScreenReader?: ComponentType<ScreenReaderProps>;
4816
5787
  };
@@ -4999,6 +5970,15 @@ type ErrorMessageProps$2 = {
4999
5970
  role?: string;
5000
5971
  'aria-live'?: 'polite' | 'assertive';
5001
5972
  } & React__default.RefAttributes<HTMLParagraphElement>;
5973
+ type ResolvingStatusProps = {
5974
+ isResolving: boolean;
5975
+ domainType: 'ENS' | 'SNS' | '';
5976
+ className?: string;
5977
+ };
5978
+ type ResolvedAddressProps = {
5979
+ resolvedAddress: string;
5980
+ className?: string;
5981
+ };
5002
5982
  /**
5003
5983
  * Customization options for ImpersonateForm component
5004
5984
  */
@@ -5013,6 +5993,10 @@ type ImpersonateFormCustomization = {
5013
5993
  Input?: ComponentType<InputProps>;
5014
5994
  /** Custom error message component */
5015
5995
  ErrorMessage?: ComponentType<ErrorMessageProps$2>;
5996
+ /** Custom resolving status component */
5997
+ ResolvingStatus?: ComponentType<ResolvingStatusProps>;
5998
+ /** Custom resolved address display component */
5999
+ ResolvedAddress?: ComponentType<ResolvedAddressProps>;
5016
6000
  };
5017
6001
  /** Custom class name generators */
5018
6002
  classNames?: {
@@ -5027,6 +6011,10 @@ type ImpersonateFormCustomization = {
5027
6011
  }) => string;
5028
6012
  /** Function to generate error message classes */
5029
6013
  errorMessage?: () => string;
6014
+ /** Function to generate resolving status classes */
6015
+ resolvingStatus?: () => string;
6016
+ /** Function to generate resolved address classes */
6017
+ resolvedAddress?: () => string;
5030
6018
  };
5031
6019
  /** Custom event handlers */
5032
6020
  handlers?: {
@@ -5085,226 +6073,206 @@ interface ImpersonateFormProps {
5085
6073
  declare const ImpersonateForm: React__default.ForwardRefExoticComponent<ImpersonateFormProps & React__default.RefAttributes<HTMLDivElement>>;
5086
6074
 
5087
6075
  /**
5088
- * @file Disclaimer component with comprehensive customization options.
5089
- */
5090
-
6076
+ * Legal disclaimer data for customization context
6077
+ */
6078
+ interface LegalDisclaimerData {
6079
+ /** Whether terms URL is available */
6080
+ hasTerms: boolean;
6081
+ /** Whether privacy URL is available */
6082
+ hasPrivacy: boolean;
6083
+ /** Whether both URLs are available */
6084
+ hasBoth: boolean;
6085
+ /** Terms URL */
6086
+ termsUrl?: string;
6087
+ /** Privacy URL */
6088
+ privacyUrl?: string;
6089
+ }
5091
6090
  /**
5092
- * Type definition for button actions
5093
- * Can be either a URL string for external links or a callback function
6091
+ * Props for custom container component
5094
6092
  */
5095
- type ButtonAction = string | (() => void);
5096
6093
  type ContainerProps$3 = {
5097
6094
  className?: string;
5098
- children: React__default.ReactNode;
6095
+ children: ReactNode;
6096
+ disclaimerData: LegalDisclaimerData;
5099
6097
  role?: string;
5100
6098
  'aria-label'?: string;
5101
- 'aria-describedby'?: string;
5102
- 'data-testid'?: string;
5103
- 'aria-live'?: 'polite' | 'assertive' | 'off';
5104
- } & React__default.RefAttributes<HTMLDivElement>;
5105
- type ContentSectionProps = {
5106
- className?: string;
5107
- children: React__default.ReactNode;
5108
- role?: string;
5109
- 'aria-labelledby'?: string;
5110
- };
5111
- type TitleProps$2 = {
5112
- id: string;
5113
- className?: string;
5114
- children: React__default.ReactNode;
5115
- role?: string;
5116
- 'aria-level'?: number;
5117
- };
5118
- type DescriptionProps = {
5119
- id: string;
5120
- className?: string;
5121
- children: React__default.ReactNode;
5122
- role?: string;
5123
6099
  };
5124
- type AdditionalContentProps = {
6100
+ /**
6101
+ * Props for custom text component
6102
+ */
6103
+ type TextProps = {
5125
6104
  className?: string;
5126
- children: React__default.ReactNode;
5127
- role?: string;
5128
- 'aria-label'?: string;
6105
+ children: ReactNode;
6106
+ disclaimerData: LegalDisclaimerData;
5129
6107
  };
5130
- type ActionsProps = {
6108
+ /**
6109
+ * Props for custom terms link component
6110
+ */
6111
+ type TermsLinkProps = {
5131
6112
  className?: string;
5132
- children: React__default.ReactNode;
5133
- role?: string;
5134
- 'aria-label'?: string;
6113
+ href: string;
6114
+ children: ReactNode;
6115
+ disclaimerData: LegalDisclaimerData;
6116
+ target?: string;
6117
+ rel?: string;
6118
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
5135
6119
  };
5136
- type ButtonProps = {
5137
- action: ButtonAction;
5138
- children: React__default.ReactNode;
5139
- 'aria-label'?: string;
6120
+ /**
6121
+ * Props for custom privacy link component
6122
+ */
6123
+ type PrivacyLinkProps = {
5140
6124
  className?: string;
5141
- 'data-testid'?: string;
6125
+ href: string;
6126
+ children: ReactNode;
6127
+ disclaimerData: LegalDisclaimerData;
6128
+ target?: string;
6129
+ rel?: string;
6130
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
5142
6131
  };
5143
- type StatusProps = {
6132
+ /**
6133
+ * Props for custom separator component
6134
+ */
6135
+ type SeparatorProps = {
5144
6136
  className?: string;
5145
- children?: React__default.ReactNode;
5146
- 'aria-live'?: 'polite' | 'assertive' | 'off';
5147
- 'aria-atomic'?: boolean;
5148
- role?: string;
6137
+ children?: ReactNode;
6138
+ disclaimerData: LegalDisclaimerData;
5149
6139
  };
5150
6140
  /**
5151
- * Customization options for Disclaimer component
6141
+ * Customization options for LegalDisclaimer component
5152
6142
  */
5153
- type DisclaimerCustomization = {
6143
+ type LegalDisclaimerCustomization = {
5154
6144
  /** Custom components */
5155
6145
  components?: {
5156
6146
  /** Custom container wrapper */
5157
6147
  Container?: ComponentType<ContainerProps$3>;
5158
- /** Custom content section */
5159
- ContentSection?: ComponentType<ContentSectionProps>;
5160
- /** Custom title component */
5161
- Title?: ComponentType<TitleProps$2>;
5162
- /** Custom description component */
5163
- Description?: ComponentType<DescriptionProps>;
5164
- /** Custom additional content wrapper */
5165
- AdditionalContent?: ComponentType<AdditionalContentProps>;
5166
- /** Custom actions section */
5167
- Actions?: ComponentType<ActionsProps>;
5168
- /** Custom link button */
5169
- LinkButton?: ComponentType<ButtonProps>;
5170
- /** Custom action button */
5171
- ActionButton?: ComponentType<ButtonProps>;
5172
- /** Custom status component */
5173
- Status?: ComponentType<StatusProps>;
6148
+ /** Custom text component */
6149
+ Text?: ComponentType<TextProps>;
6150
+ /** Custom terms link component */
6151
+ TermsLink?: ComponentType<TermsLinkProps>;
6152
+ /** Custom privacy link component */
6153
+ PrivacyLink?: ComponentType<PrivacyLinkProps>;
6154
+ /** Custom separator component between terms and privacy */
6155
+ Separator?: ComponentType<SeparatorProps>;
5174
6156
  };
5175
6157
  /** Custom class name generators */
5176
6158
  classNames?: {
5177
6159
  /** Function to generate container classes */
5178
6160
  container?: (params: {
5179
- compact: boolean;
6161
+ disclaimerData: LegalDisclaimerData;
5180
6162
  }) => string;
5181
- /** Function to generate content section classes */
5182
- contentSection?: (params: {
5183
- compact: boolean;
6163
+ /** Function to generate text classes */
6164
+ text?: (params: {
6165
+ disclaimerData: LegalDisclaimerData;
5184
6166
  }) => string;
5185
- /** Function to generate title classes */
5186
- title?: (params: {
5187
- compact: boolean;
6167
+ /** Function to generate terms link classes */
6168
+ termsLink?: (params: {
6169
+ disclaimerData: LegalDisclaimerData;
5188
6170
  }) => string;
5189
- /** Function to generate description classes */
5190
- description?: () => string;
5191
- /** Function to generate additional content classes */
5192
- additionalContent?: () => string;
5193
- /** Function to generate actions classes */
5194
- actions?: () => string;
5195
- /** Function to generate button classes */
5196
- button?: (params: {
5197
- isLink: boolean;
5198
- isPrimary: boolean;
6171
+ /** Function to generate privacy link classes */
6172
+ privacyLink?: (params: {
6173
+ disclaimerData: LegalDisclaimerData;
6174
+ }) => string;
6175
+ /** Function to generate separator classes */
6176
+ separator?: (params: {
6177
+ disclaimerData: LegalDisclaimerData;
5199
6178
  }) => string;
5200
- /** Function to generate status classes */
5201
- status?: () => string;
5202
6179
  };
5203
6180
  /** Custom event handlers */
5204
6181
  handlers?: {
5205
- /** Custom handler for primary button action */
5206
- onLearnMoreAction?: () => void;
5207
- /** Custom handler for secondary button action */
5208
- onListAction?: () => void;
5209
- /** Custom handler for component mount */
5210
- onMount?: () => void;
5211
- /** Custom handler for component unmount */
5212
- onUnmount?: () => void;
6182
+ /** Custom click handler for terms link */
6183
+ onTermsClick?: (disclaimerData: LegalDisclaimerData, originalHandler: (url: string) => void) => void;
6184
+ /** Custom click handler for privacy link */
6185
+ onPrivacyClick?: (disclaimerData: LegalDisclaimerData, originalHandler: (url: string) => void) => void;
5213
6186
  };
5214
6187
  /** Configuration options */
5215
6188
  config?: {
5216
- /** Custom button labels */
5217
- buttonLabels?: {
5218
- learnMore?: string;
5219
- listAction?: string;
5220
- };
5221
6189
  /** Custom ARIA labels */
5222
6190
  ariaLabels?: {
5223
- container?: string;
5224
- contentSection?: string;
5225
- actions?: string;
5226
- additionalContent?: string;
6191
+ container?: (disclaimerData: LegalDisclaimerData) => string;
6192
+ };
6193
+ /** Link behavior configuration */
6194
+ links?: {
6195
+ /** Whether to open links in new tab */
6196
+ openInNewTab?: boolean;
6197
+ /** Custom rel attribute for security */
6198
+ rel?: string;
6199
+ };
6200
+ /** Display configuration */
6201
+ display?: {
6202
+ /** Show terms link */
6203
+ showTerms?: boolean;
6204
+ /** Show privacy link */
6205
+ showPrivacy?: boolean;
6206
+ /** Custom separator text */
6207
+ separatorText?: string;
5227
6208
  };
5228
6209
  };
5229
6210
  };
5230
6211
  /**
5231
- * Props for the Disclaimer component
6212
+ * Props for LegalDisclaimer component
5232
6213
  */
5233
- interface DisclaimerProps {
5234
- /** Main title text for the disclaimer */
5235
- title: string;
5236
- /** Descriptive text explaining the disclaimer content */
5237
- description: string;
5238
- /** Action for the primary "Learn More" button - can be URL or callback */
5239
- learnMoreAction: ButtonAction;
5240
- /** Optional action for the secondary "List of Networks" button */
5241
- listAction?: ButtonAction;
5242
- /** Custom CSS classes for styling the disclaimer container */
5243
- className?: string;
5244
- /** Optional custom ARIA label for enhanced accessibility */
5245
- 'aria-label'?: string;
5246
- /** Whether to show the disclaimer in compact mode */
5247
- compact?: boolean;
5248
- /** Additional content to display below the description */
5249
- children?: React__default.ReactNode;
5250
- /** Custom test ID for testing purposes */
5251
- 'data-testid'?: string;
5252
- /** Whether the disclaimer should be announced to screen readers */
5253
- announceToScreenReader?: boolean;
6214
+ interface LegalDisclaimerProps {
5254
6215
  /** Customization options */
5255
- customization?: DisclaimerCustomization;
6216
+ customization?: LegalDisclaimerCustomization;
5256
6217
  }
5257
6218
  /**
5258
- * Educational disclaimer component with call-to-action buttons
6219
+ * LegalDisclaimer component - Displays Terms of Service and Privacy Policy links with full customization.
5259
6220
  *
5260
- * This component provides educational content with actionable buttons for:
5261
- * - Informational disclaimers about wallets, networks, or other concepts
5262
- * - Educational content with "Learn More" functionality
5263
- * - Network information with optional "List of Networks" access
5264
- * - Responsive layout with proper spacing and visual hierarchy
5265
- * - Full WCAG accessibility compliance with screen reader support
5266
- * - Keyboard navigation with proper focus management
5267
- * - Semantic HTML structure with comprehensive ARIA labeling
5268
- * - Internationalization support for button labels
5269
- * - Support for both internal callbacks and external links
5270
- * - Flexible content areas with optional children support
5271
- * - Full customization of all child components
6221
+ * Renders legal disclaimer text with links based on the `legal` configuration
6222
+ * passed to NovaConnectProvider. Returns null if neither termsUrl nor privacyUrl
6223
+ * is provided.
5272
6224
  *
5273
- * The component automatically handles different action types:
5274
- * - **String actions**: Rendered as external links with security attributes
5275
- * - **Function actions**: Rendered as buttons with callback execution
5276
- * - **Mixed actions**: Can combine both types for different buttons
6225
+ * Features:
6226
+ * - Customizable container, text, and link components
6227
+ * - Dynamic styling through classNames generators
6228
+ * - Custom event handlers for link clicks
6229
+ * - Configurable link behavior and display options
6230
+ * - Full accessibility support with ARIA labels
6231
+ * - Screen reader friendly content structure
5277
6232
  *
5278
6233
  * @example Basic usage
5279
6234
  * ```tsx
5280
- * <Disclaimer
5281
- * title="What is a wallet?"
5282
- * description="Wallets are essential for managing your crypto..."
5283
- * learnMoreAction={() => setContentType('about')}
5284
- * listAction="https://example.com/networks"
5285
- * />
6235
+ * <LegalDisclaimer />
5286
6236
  * ```
5287
6237
  *
5288
- * @example With customization
6238
+ * @example With full customization
5289
6239
  * ```tsx
5290
- * <Disclaimer
5291
- * title="Network Information"
5292
- * description="Choose the right network for your transactions"
5293
- * learnMoreAction={handleLearnMore}
5294
- * compact
6240
+ * <LegalDisclaimer
5295
6241
  * customization={{
6242
+ * components: {
6243
+ * Container: CustomContainer,
6244
+ * TermsLink: CustomTermsLink
6245
+ * },
5296
6246
  * classNames: {
5297
- * container: ({ compact }) => compact ? 'custom-compact' : 'custom-full',
5298
- * title: () => 'custom-title-styling'
6247
+ * termsLink: ({ disclaimerData }) =>
6248
+ * 'text-blue-500 font-semibold',
6249
+ * privacyLink: ({ disclaimerData }) =>
6250
+ * 'text-blue-500 font-semibold'
5299
6251
  * },
5300
- * components: {
5301
- * LinkButton: CustomLinkButton
6252
+ * handlers: {
6253
+ * onTermsClick: (disclaimerData, originalHandler) => {
6254
+ * analytics.track('terms_clicked');
6255
+ * originalHandler(disclaimerData.termsUrl!);
6256
+ * }
6257
+ * },
6258
+ * config: {
6259
+ * display: {
6260
+ * separatorText: ' | '
6261
+ * },
6262
+ * links: {
6263
+ * openInNewTab: true
6264
+ * }
5302
6265
  * }
5303
6266
  * }}
5304
6267
  * />
5305
6268
  * ```
6269
+ *
6270
+ * @public
5306
6271
  */
5307
- declare const Disclaimer: React__default.ForwardRefExoticComponent<DisclaimerProps & React__default.RefAttributes<HTMLDivElement>>;
6272
+ declare function LegalDisclaimer({ customization }: LegalDisclaimerProps): react_jsx_runtime.JSX.Element | null;
6273
+ declare namespace LegalDisclaimer {
6274
+ var displayName: string;
6275
+ }
5308
6276
 
5309
6277
  /**
5310
6278
  * @file NetworkSelections component with comprehensive customization options for network selection.
@@ -6117,6 +7085,8 @@ type ConnectModalCustomization = {
6117
7085
  networkSelections?: NetworkSelectionsCustomization;
6118
7086
  /** NetworkTabs customization */
6119
7087
  networkTabs?: NetworkTabsCustomization;
7088
+ /** LegalDisclaimer customization */
7089
+ legalDisclaimer?: LegalDisclaimerCustomization;
6120
7090
  };
6121
7091
  };
6122
7092
 
@@ -6322,6 +7292,8 @@ type ConnectingCustomization = {
6322
7292
  }>;
6323
7293
  };
6324
7294
  };
7295
+ /** WalletIcon customization (for the wallet icon shown during connection) */
7296
+ walletIcon?: WalletIconCustomization;
6325
7297
  };
6326
7298
  /**
6327
7299
  * Connection status component props interface
@@ -6499,4 +7471,4 @@ interface ToastErrorProps extends Omit<ComponentPropsWithoutRef<'div'>, 'role' |
6499
7471
  */
6500
7472
  declare const ToastError: React$1.ForwardRefExoticComponent<ToastErrorProps & React$1.RefAttributes<HTMLDivElement>>;
6501
7473
 
6502
- export { type ConnectorsBlockData as $, type ConnectedModalMainContentCustomization as A, type ConnectedModalMainContentProps as B, type ChainListRendererCustomization as C, ConnectedModalMainContent as D, type ConnectedModalNameAndBalanceCustomization as E, type ConnectedModalNameAndBalanceProps as F, ConnectedModalNameAndBalance as G, type ConnectedModalTxHistoryCustomization as H, type ConnectedModalTxHistoryProps as I, ConnectedModalTxHistory as J, type IconButtonCustomization as K, type IconButtonProps as L, IconButton as M, type AboutWalletsCustomization as N, type AboutWalletsProps as O, AboutWallets as P, type ConnectCardData as Q, type NetworkIconsCustomization as R, type ScrollableChainListCustomization as S, type ConnectCardCustomization as T, ConnectCard as U, type ConnectionState as V, type WaitForConnectionContentCustomization as W, type ConnectingStatusData as X, type ConnectingCustomization as Y, type ConnectingProps as Z, Connecting as _, type ChainListRendererProps as a, type ConnectorItemData as a0, type ConnectorsBlockCustomization as a1, ConnectorsBlock as a2, type ConnectorsSelectionsData as a3, type ImpersonateSectionData as a4, type ConnectorsSelectionsCustomization as a5, type ConnectorsSelectionsProps as a6, ConnectorsSelections as a7, type DisclaimerCustomization as a8, type DisclaimerProps as a9, type ToTopButtonProps as aA, ToTopButton as aB, type WalletAvatarSize as aC, type WalletAvatarCustomization as aD, type WalletAvatarProps as aE, WalletAvatar as aF, type WalletIconCustomization as aG, type WalletIconProps$1 as aH, WalletIcon as aI, type ConnectModalCustomization as aJ, Disclaimer as aa, type WalletIconConfig as ab, type GetWalletCustomization as ac, type GetWalletProps as ad, GetWallet as ae, type ValidationConfig as af, type ImpersonateFormCustomization as ag, type ImpersonateFormProps as ah, ImpersonateForm as ai, type NetworkSelectionsData as aj, type NetworkSelectionsCustomization as ak, NetworkSelections as al, type AnimationConfig as am, type NetworkTabData as an, type NetworkTabsCustomization as ao, type NetworkTabsProps as ap, NetworkTabs as aq, type SelectContentAnimatedProps as ar, SelectContentAnimated as as, type ToastErrorCustomization as at, type ToastErrorProps as au, ToastError as av, type ToBottomButtonCustomization as aw, type ToBottomButtonProps as ax, ToBottomButton as ay, type ToTopButtonCustomization as az, ChainListRenderer as b, type ChainTriggerButtonCustomization as c, type ChainSelectorCustomization as d, type ChainSelectorProps as e, ChainSelector as f, type ScrollableChainListProps as g, ScrollableChainList as h, type ConnectButtonData as i, type ConnectButtonCustomization as j, type ConnectButtonProps as k, ConnectButton as l, type ConnectedContentCustomization as m, type ConnectedContentProps as n, ConnectedContent as o, type StatusIconCustomization as p, type StatusIconProps$1 as q, StatusIcon as r, type WaitForConnectionContentProps as s, WaitForConnectionContent as t, type ConnectedModalCustomization as u, type ConnectedModalProps as v, ConnectedModal as w, type ConnectedModalFooterCustomization as x, type ConnectedModalFooterProps as y, ConnectedModalFooter as z };
7474
+ export { type AboutWalletsCustomization as $, WaitForConnectionContent as A, type BalanceData as B, type ConnectModalCustomization as C, type ConnectedModalProps as D, type EmptyStateProps$2 as E, ConnectedModal as F, type ConnectedModalFooterCustomization as G, type ConnectedModalFooterProps as H, ConnectedModalFooter as I, type ConnectedModalMainContentCustomization as J, type ConnectedModalMainContentProps as K, type LoadingStateProps as L, ConnectedModalMainContent as M, type ConnectedModalNameAndBalanceCustomization as N, type ConnectedModalNameAndBalanceProps as O, ConnectedModalNameAndBalance as P, type LocalTransactionsHistoryCustomization as Q, type RefreshButtonProps as R, type ScrollableChainListCustomization as S, type ToastErrorCustomization as T, type ConnectedModalTxHistoryCustomization as U, type ConnectedModalTxHistoryProps as V, type WaitForConnectionContentCustomization as W, ConnectedModalTxHistory as X, type IconButtonCustomization as Y, type IconButtonProps as Z, IconButton as _, type ConnectedModalCustomization as a, type WalletIconProps$1 as a$, type AboutWalletsProps as a0, AboutWallets as a1, type ConnectCardData as a2, type NetworkIconsCustomization as a3, type ConnectCardCustomization as a4, ConnectCard as a5, type ConnectionState as a6, type ConnectingStatusData as a7, type ConnectingCustomization as a8, type ConnectingProps as a9, type NetworkSelectionsCustomization as aA, NetworkSelections as aB, type AnimationConfig as aC, type NetworkTabData as aD, type NetworkTabsCustomization as aE, type NetworkTabsProps as aF, NetworkTabs as aG, type BadgeAnimationConfig as aH, type BadgeGradientConfig as aI, type RecentBadgeCustomization as aJ, type RecentBadgeProps as aK, RecentBadge as aL, type SelectContentAnimatedProps as aM, SelectContentAnimated as aN, type ToastErrorProps as aO, ToastError as aP, type ToBottomButtonCustomization as aQ, type ToBottomButtonProps as aR, ToBottomButton as aS, type ToTopButtonCustomization as aT, type ToTopButtonProps as aU, ToTopButton as aV, type WalletAvatarSize as aW, type WalletAvatarCustomization as aX, type WalletAvatarProps as aY, WalletAvatar as aZ, type WalletIconCustomization as a_, Connecting as aa, type ConnectorsBlockData as ab, type ConnectorItemData as ac, type ConnectorsBlockCustomization as ad, ConnectorsBlock as ae, type ConnectorsSelectionsData as af, type ImpersonateSectionData as ag, type ConnectorsSelectionsCustomization as ah, type ConnectorsSelectionsProps as ai, ConnectorsSelections as aj, type DisclaimerCustomization as ak, type DisclaimerProps as al, Disclaimer as am, type WalletIconConfig as an, type GetWalletCustomization as ao, type GetWalletProps as ap, GetWallet as aq, type ValidationConfig as ar, type ImpersonateFormCustomization as as, type ImpersonateFormProps as at, ImpersonateForm as au, type LegalDisclaimerData as av, type LegalDisclaimerCustomization as aw, type LegalDisclaimerProps as ax, LegalDisclaimer as ay, type NetworkSelectionsData as az, type BalanceDisplayLabels as b, WalletIcon as b0, type BalanceValueProps as c, type BalanceDisplayCustomization as d, type BalanceDisplayProps$1 as e, BalanceDisplay as f, type ChainListRendererCustomization as g, type ChainListRendererProps as h, ChainListRenderer as i, type ChainTriggerButtonCustomization as j, type ChainSelectorCustomization as k, type ChainSelectorProps as l, ChainSelector as m, type ScrollableChainListProps as n, ScrollableChainList as o, type ConnectButtonData as p, type ConnectButtonCustomization as q, type ConnectButtonProps as r, ConnectButton as s, type ConnectedContentCustomization as t, type ConnectedContentProps as u, ConnectedContent as v, type StatusIconCustomization as w, type StatusIconProps$1 as x, StatusIcon as y, type WaitForConnectionContentProps as z };