@unifold/ui-react 0.1.52 → 0.1.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AutoSwapResponse, ChainType, DepositEvent, Wallet, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
2
+ import { AutoSwapResponse, ChainType, DepositEvent, Wallet, ProductType, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
3
3
  export { ChainType } from '@unifold/core';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -131,7 +131,7 @@ interface EvmWalletProvider {
131
131
  removeListener?(event: string, callback: (...args: unknown[]) => void): void;
132
132
  }
133
133
 
134
- type DepositModalInitialScreen = "main" | "transfer" | "card" | "tracker";
134
+ type DepositModalInitialScreen = "main" | "transfer" | "card" | "cashapp" | "tracker";
135
135
  interface DepositModalProps {
136
136
  open: boolean;
137
137
  onOpenChange: (open: boolean) => void;
@@ -185,6 +185,8 @@ interface DepositModalProps {
185
185
  browserWalletAmountQuickSelect?: BrowserWalletAmountQuickSelect;
186
186
  /** Enable "Pay with Exchange" option. Overrides dashboard default. Defaults to dashboard value or true. */
187
187
  enablePayWithExchange?: boolean;
188
+ /** Enable "Pay with Cash App" option. Defaults to false. */
189
+ enableCashApp?: boolean;
188
190
  /** Deposit with Card — onramp step: hide the You use / You buy / You receive card. @default false */
189
191
  hideDepositFlowInfo?: boolean;
190
192
  /** Deposit with Card — onramp step: hide the temporary wallet address disclaimer. @default false */
@@ -206,7 +208,7 @@ interface DepositModalProps {
206
208
  /** First screen when the modal opens. Default `main` (deposit menu). */
207
209
  initialScreen?: DepositModalInitialScreen;
208
210
  }
209
- declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
211
+ declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
210
212
 
211
213
  interface DepositHeaderProps {
212
214
  title: string;
@@ -266,7 +268,9 @@ interface TransferCryptoSingleInputProps {
266
268
  chainType: string;
267
269
  chainId: string;
268
270
  tokenAddress: string;
271
+ decimals: number;
269
272
  minimumDepositAmountUsd: number;
273
+ isStablecoin: boolean;
270
274
  }) => void;
271
275
  /** Checkout mode: estimated source amount to send (from /public/quotes). Shown above the QR code. */
272
276
  checkoutQuote?: {
@@ -274,9 +278,16 @@ interface TransferCryptoSingleInputProps {
274
278
  sourceTokenDecimals: number;
275
279
  sourceTokenSymbol: string;
276
280
  sourceAmountUsd: string | null;
281
+ isStablecoin?: boolean;
277
282
  } | null;
283
+ /** When true, shows a skeleton for the "You send" row while the quote is loading. */
284
+ isCheckoutQuoteLoading?: boolean;
285
+ /** When true, keep showing "Checking for deposit" even after executions arrive (e.g. checkout sessions that require multiple deposits). */
286
+ persistCheckingIndicator?: boolean;
287
+ /** Product context sent to the API — "deposit" (default) or "payment". */
288
+ productType?: ProductType;
278
289
  }
279
- declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, }: TransferCryptoSingleInputProps): react_jsx_runtime.JSX.Element;
290
+ declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, isCheckoutQuoteLoading, persistCheckingIndicator, productType, }: TransferCryptoSingleInputProps): react_jsx_runtime.JSX.Element;
280
291
 
281
292
  interface TransferCryptoDoubleInputProps {
282
293
  userId: string;
@@ -429,22 +440,23 @@ interface DepositDetailContentProps {
429
440
  }
430
441
  declare function DepositDetailContent({ execution, className, variant, }: DepositDetailContentProps): react_jsx_runtime.JSX.Element;
431
442
 
432
- interface DepositPollingUiProps {
443
+ interface ManualDepositButtonProps {
433
444
  depositConfirmationMode: DepositConfirmationMode;
434
- /** Whether polling has been triggered and waiting UI should be visible */
435
445
  showWaitingUi: boolean;
436
- /** Whether at least one execution has been detected (hides the processing card) */
437
- hasExecution: boolean;
438
- /** Called when user clicks "I've made the deposit" in manual mode */
439
446
  onIveDeposited: () => void;
440
447
  }
441
448
  /**
442
- * Deposit polling UI that renders the correct element based on confirmation mode:
443
- * - manual (before click): "I've made the deposit" button
444
- * - auto_ui / manual (after click): "Processing deposit transactions" spinner card
445
- * - auto_silent: nothing (null)
449
+ * Renders the manual-mode "I've made the deposit" button.
450
+ * Returns null for auto modes or after the user has clicked.
451
+ */
452
+ declare function ManualDepositButton({ depositConfirmationMode, showWaitingUi, onIveDeposited, }: ManualDepositButtonProps): react_jsx_runtime.JSX.Element | null;
453
+ /**
454
+ * Inline "Checking for deposit" spinner for the footer row.
446
455
  */
447
- declare function DepositPollingUi({ depositConfirmationMode, showWaitingUi, hasExecution, onIveDeposited, }: DepositPollingUiProps): react_jsx_runtime.JSX.Element | null;
456
+ declare function CheckingForDepositIndicator({ showWaitingUi, hasExecution, }: {
457
+ showWaitingUi: boolean;
458
+ hasExecution: boolean;
459
+ }): react_jsx_runtime.JSX.Element | null;
448
460
 
449
461
  interface ConfirmingViewProps {
450
462
  isConfirming: boolean;
@@ -650,6 +662,8 @@ interface WithdrawConfirmingViewProps {
650
662
  }
651
663
  declare function WithdrawConfirmingView({ txInfo, executions, onClose, onViewTracker, }: WithdrawConfirmingViewProps): react_jsx_runtime.JSX.Element;
652
664
 
665
+ declare const HYPERCORE_CHAIN_ID = "1337";
666
+
653
667
  type DetectedWallet = {
654
668
  name: string;
655
669
  address: string;
@@ -676,7 +690,7 @@ declare function sendSolanaWithdraw(params: {
676
690
  amountBaseUnit: string;
677
691
  publishableKey: string;
678
692
  }): Promise<string>;
679
- declare const HYPERCORE_CHAIN_ID = "1337";
693
+
680
694
  declare function isHypercoreChain(chainId: string): boolean;
681
695
  declare function sendHypercoreWithdraw(params: {
682
696
  provider: EvmWalletProvider;
@@ -777,11 +791,11 @@ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrim
777
791
  interface AllowedCountryResult {
778
792
  /** Whether the user is in an allowed country/subdivision. null while loading. */
779
793
  isAllowed: boolean | null;
780
- /** ISO 3166-1 alpha-2 country code in lowercase (e.g., "us", "pt") */
794
+ /** ISO 3166-1 alpha-2 country code (e.g., "US", "PT") */
781
795
  alpha2: string | null;
782
796
  /** Full country name (e.g., "United States", "Portugal") */
783
797
  country: string | null;
784
- /** ISO 3166-2 subdivision code in lowercase (e.g., "ny", "43"), null if unavailable */
798
+ /** ISO 3166-2 subdivision code (e.g., "NY", "43"), null if unavailable */
785
799
  subdivisionCode: string | null;
786
800
  /** Whether the hook is still loading data */
787
801
  isLoading: boolean;
@@ -840,6 +854,10 @@ interface UseDepositQuoteParams {
840
854
  destinationChainType: string;
841
855
  destinationChainId: string;
842
856
  destinationTokenAddress: string;
857
+ /** When true, inflates source amount by expected slippage. Typically set by checkout flows. */
858
+ adjustForSlippage?: boolean;
859
+ /** When true and both tokens are stablecoins, returns a 1:1 quote without swap provider. */
860
+ stablecoinParity?: boolean;
843
861
  enabled?: boolean;
844
862
  }
845
863
  /**
@@ -886,6 +904,7 @@ interface UseSupportedDepositTokensOptions {
886
904
  destination_token_address?: string;
887
905
  destination_chain_id?: string;
888
906
  destination_chain_type?: string;
907
+ product_type?: ProductType;
889
908
  }
890
909
  /**
891
910
  * Hook to fetch supported deposit tokens with caching and deduplication via react-query.
@@ -1210,4 +1229,4 @@ declare function cn(...inputs: ClassValue[]): string;
1210
1229
  */
1211
1230
  declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
1212
1231
 
1213
- export { type AllowedCountryResult, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithCard, type BuyWithCardProps, type CardTokens, CheckoutModal, type CheckoutModalProps, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, type DepositModalProps, DepositPollingUi, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type InputTokens, type ListTokens, type ResolvedFonts, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, cn, colors, defaultColors, detectBrowserWallet, getColors, isHypercoreChain, mergeColors, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, truncateAddress, useAddressBalance, useAllowedCountry, useDepositPolling, useDepositQuote, usePaymentIntent, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };
1232
+ export { type AllowedCountryResult, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithCard, type BuyWithCardProps, type CardTokens, CheckingForDepositIndicator, CheckoutModal, type CheckoutModalProps, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, type DepositModalProps, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type InputTokens, type ListTokens, ManualDepositButton, type ResolvedFonts, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, cn, colors, defaultColors, detectBrowserWallet, getColors, isHypercoreChain, mergeColors, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, truncateAddress, useAddressBalance, useAllowedCountry, useDepositPolling, useDepositQuote, usePaymentIntent, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { AutoSwapResponse, ChainType, DepositEvent, Wallet, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
2
+ import { AutoSwapResponse, ChainType, DepositEvent, Wallet, ProductType, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
3
3
  export { ChainType } from '@unifold/core';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -131,7 +131,7 @@ interface EvmWalletProvider {
131
131
  removeListener?(event: string, callback: (...args: unknown[]) => void): void;
132
132
  }
133
133
 
134
- type DepositModalInitialScreen = "main" | "transfer" | "card" | "tracker";
134
+ type DepositModalInitialScreen = "main" | "transfer" | "card" | "cashapp" | "tracker";
135
135
  interface DepositModalProps {
136
136
  open: boolean;
137
137
  onOpenChange: (open: boolean) => void;
@@ -185,6 +185,8 @@ interface DepositModalProps {
185
185
  browserWalletAmountQuickSelect?: BrowserWalletAmountQuickSelect;
186
186
  /** Enable "Pay with Exchange" option. Overrides dashboard default. Defaults to dashboard value or true. */
187
187
  enablePayWithExchange?: boolean;
188
+ /** Enable "Pay with Cash App" option. Defaults to false. */
189
+ enableCashApp?: boolean;
188
190
  /** Deposit with Card — onramp step: hide the You use / You buy / You receive card. @default false */
189
191
  hideDepositFlowInfo?: boolean;
190
192
  /** Deposit with Card — onramp step: hide the temporary wallet address disclaimer. @default false */
@@ -206,7 +208,7 @@ interface DepositModalProps {
206
208
  /** First screen when the modal opens. Default `main` (deposit menu). */
207
209
  initialScreen?: DepositModalInitialScreen;
208
210
  }
209
- declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
211
+ declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableCashApp, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
210
212
 
211
213
  interface DepositHeaderProps {
212
214
  title: string;
@@ -266,7 +268,9 @@ interface TransferCryptoSingleInputProps {
266
268
  chainType: string;
267
269
  chainId: string;
268
270
  tokenAddress: string;
271
+ decimals: number;
269
272
  minimumDepositAmountUsd: number;
273
+ isStablecoin: boolean;
270
274
  }) => void;
271
275
  /** Checkout mode: estimated source amount to send (from /public/quotes). Shown above the QR code. */
272
276
  checkoutQuote?: {
@@ -274,9 +278,16 @@ interface TransferCryptoSingleInputProps {
274
278
  sourceTokenDecimals: number;
275
279
  sourceTokenSymbol: string;
276
280
  sourceAmountUsd: string | null;
281
+ isStablecoin?: boolean;
277
282
  } | null;
283
+ /** When true, shows a skeleton for the "You send" row while the quote is loading. */
284
+ isCheckoutQuoteLoading?: boolean;
285
+ /** When true, keep showing "Checking for deposit" even after executions arrive (e.g. checkout sessions that require multiple deposits). */
286
+ persistCheckingIndicator?: boolean;
287
+ /** Product context sent to the API — "deposit" (default) or "payment". */
288
+ productType?: ProductType;
278
289
  }
279
- declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, }: TransferCryptoSingleInputProps): react_jsx_runtime.JSX.Element;
290
+ declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, isCheckoutQuoteLoading, persistCheckingIndicator, productType, }: TransferCryptoSingleInputProps): react_jsx_runtime.JSX.Element;
280
291
 
281
292
  interface TransferCryptoDoubleInputProps {
282
293
  userId: string;
@@ -429,22 +440,23 @@ interface DepositDetailContentProps {
429
440
  }
430
441
  declare function DepositDetailContent({ execution, className, variant, }: DepositDetailContentProps): react_jsx_runtime.JSX.Element;
431
442
 
432
- interface DepositPollingUiProps {
443
+ interface ManualDepositButtonProps {
433
444
  depositConfirmationMode: DepositConfirmationMode;
434
- /** Whether polling has been triggered and waiting UI should be visible */
435
445
  showWaitingUi: boolean;
436
- /** Whether at least one execution has been detected (hides the processing card) */
437
- hasExecution: boolean;
438
- /** Called when user clicks "I've made the deposit" in manual mode */
439
446
  onIveDeposited: () => void;
440
447
  }
441
448
  /**
442
- * Deposit polling UI that renders the correct element based on confirmation mode:
443
- * - manual (before click): "I've made the deposit" button
444
- * - auto_ui / manual (after click): "Processing deposit transactions" spinner card
445
- * - auto_silent: nothing (null)
449
+ * Renders the manual-mode "I've made the deposit" button.
450
+ * Returns null for auto modes or after the user has clicked.
451
+ */
452
+ declare function ManualDepositButton({ depositConfirmationMode, showWaitingUi, onIveDeposited, }: ManualDepositButtonProps): react_jsx_runtime.JSX.Element | null;
453
+ /**
454
+ * Inline "Checking for deposit" spinner for the footer row.
446
455
  */
447
- declare function DepositPollingUi({ depositConfirmationMode, showWaitingUi, hasExecution, onIveDeposited, }: DepositPollingUiProps): react_jsx_runtime.JSX.Element | null;
456
+ declare function CheckingForDepositIndicator({ showWaitingUi, hasExecution, }: {
457
+ showWaitingUi: boolean;
458
+ hasExecution: boolean;
459
+ }): react_jsx_runtime.JSX.Element | null;
448
460
 
449
461
  interface ConfirmingViewProps {
450
462
  isConfirming: boolean;
@@ -650,6 +662,8 @@ interface WithdrawConfirmingViewProps {
650
662
  }
651
663
  declare function WithdrawConfirmingView({ txInfo, executions, onClose, onViewTracker, }: WithdrawConfirmingViewProps): react_jsx_runtime.JSX.Element;
652
664
 
665
+ declare const HYPERCORE_CHAIN_ID = "1337";
666
+
653
667
  type DetectedWallet = {
654
668
  name: string;
655
669
  address: string;
@@ -676,7 +690,7 @@ declare function sendSolanaWithdraw(params: {
676
690
  amountBaseUnit: string;
677
691
  publishableKey: string;
678
692
  }): Promise<string>;
679
- declare const HYPERCORE_CHAIN_ID = "1337";
693
+
680
694
  declare function isHypercoreChain(chainId: string): boolean;
681
695
  declare function sendHypercoreWithdraw(params: {
682
696
  provider: EvmWalletProvider;
@@ -777,11 +791,11 @@ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrim
777
791
  interface AllowedCountryResult {
778
792
  /** Whether the user is in an allowed country/subdivision. null while loading. */
779
793
  isAllowed: boolean | null;
780
- /** ISO 3166-1 alpha-2 country code in lowercase (e.g., "us", "pt") */
794
+ /** ISO 3166-1 alpha-2 country code (e.g., "US", "PT") */
781
795
  alpha2: string | null;
782
796
  /** Full country name (e.g., "United States", "Portugal") */
783
797
  country: string | null;
784
- /** ISO 3166-2 subdivision code in lowercase (e.g., "ny", "43"), null if unavailable */
798
+ /** ISO 3166-2 subdivision code (e.g., "NY", "43"), null if unavailable */
785
799
  subdivisionCode: string | null;
786
800
  /** Whether the hook is still loading data */
787
801
  isLoading: boolean;
@@ -840,6 +854,10 @@ interface UseDepositQuoteParams {
840
854
  destinationChainType: string;
841
855
  destinationChainId: string;
842
856
  destinationTokenAddress: string;
857
+ /** When true, inflates source amount by expected slippage. Typically set by checkout flows. */
858
+ adjustForSlippage?: boolean;
859
+ /** When true and both tokens are stablecoins, returns a 1:1 quote without swap provider. */
860
+ stablecoinParity?: boolean;
843
861
  enabled?: boolean;
844
862
  }
845
863
  /**
@@ -886,6 +904,7 @@ interface UseSupportedDepositTokensOptions {
886
904
  destination_token_address?: string;
887
905
  destination_chain_id?: string;
888
906
  destination_chain_type?: string;
907
+ product_type?: ProductType;
889
908
  }
890
909
  /**
891
910
  * Hook to fetch supported deposit tokens with caching and deduplication via react-query.
@@ -1210,4 +1229,4 @@ declare function cn(...inputs: ClassValue[]): string;
1210
1229
  */
1211
1230
  declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
1212
1231
 
1213
- export { type AllowedCountryResult, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithCard, type BuyWithCardProps, type CardTokens, CheckoutModal, type CheckoutModalProps, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, type DepositModalProps, DepositPollingUi, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type InputTokens, type ListTokens, type ResolvedFonts, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, cn, colors, defaultColors, detectBrowserWallet, getColors, isHypercoreChain, mergeColors, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, truncateAddress, useAddressBalance, useAllowedCountry, useDepositPolling, useDepositQuote, usePaymentIntent, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };
1232
+ export { type AllowedCountryResult, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithCard, type BuyWithCardProps, type CardTokens, CheckingForDepositIndicator, CheckoutModal, type CheckoutModalProps, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, type DepositModalProps, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type InputTokens, type ListTokens, ManualDepositButton, type ResolvedFonts, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, cn, colors, defaultColors, detectBrowserWallet, getColors, isHypercoreChain, mergeColors, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, truncateAddress, useAddressBalance, useAllowedCountry, useDepositPolling, useDepositQuote, usePaymentIntent, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };