@unifold/ui-react 0.1.53 → 0.1.55

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,11 +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;
278
287
  /** Product context sent to the API — "deposit" (default) or "payment". */
279
- productType?: "deposit" | "payment";
288
+ productType?: ProductType;
280
289
  }
281
- declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, productType, }: 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;
282
291
 
283
292
  interface TransferCryptoDoubleInputProps {
284
293
  userId: string;
@@ -431,22 +440,23 @@ interface DepositDetailContentProps {
431
440
  }
432
441
  declare function DepositDetailContent({ execution, className, variant, }: DepositDetailContentProps): react_jsx_runtime.JSX.Element;
433
442
 
434
- interface DepositPollingUiProps {
443
+ interface ManualDepositButtonProps {
435
444
  depositConfirmationMode: DepositConfirmationMode;
436
- /** Whether polling has been triggered and waiting UI should be visible */
437
445
  showWaitingUi: boolean;
438
- /** Whether at least one execution has been detected (hides the processing card) */
439
- hasExecution: boolean;
440
- /** Called when user clicks "I've made the deposit" in manual mode */
441
446
  onIveDeposited: () => void;
442
447
  }
443
448
  /**
444
- * Deposit polling UI that renders the correct element based on confirmation mode:
445
- * - manual (before click): "I've made the deposit" button
446
- * - auto_ui / manual (after click): "Processing deposit transactions" spinner card
447
- * - 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.
448
455
  */
449
- 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;
450
460
 
451
461
  interface ConfirmingViewProps {
452
462
  isConfirming: boolean;
@@ -652,6 +662,8 @@ interface WithdrawConfirmingViewProps {
652
662
  }
653
663
  declare function WithdrawConfirmingView({ txInfo, executions, onClose, onViewTracker, }: WithdrawConfirmingViewProps): react_jsx_runtime.JSX.Element;
654
664
 
665
+ declare const HYPERCORE_CHAIN_ID = "1337";
666
+
655
667
  type DetectedWallet = {
656
668
  name: string;
657
669
  address: string;
@@ -678,7 +690,7 @@ declare function sendSolanaWithdraw(params: {
678
690
  amountBaseUnit: string;
679
691
  publishableKey: string;
680
692
  }): Promise<string>;
681
- declare const HYPERCORE_CHAIN_ID = "1337";
693
+
682
694
  declare function isHypercoreChain(chainId: string): boolean;
683
695
  declare function sendHypercoreWithdraw(params: {
684
696
  provider: EvmWalletProvider;
@@ -779,11 +791,11 @@ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrim
779
791
  interface AllowedCountryResult {
780
792
  /** Whether the user is in an allowed country/subdivision. null while loading. */
781
793
  isAllowed: boolean | null;
782
- /** 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") */
783
795
  alpha2: string | null;
784
796
  /** Full country name (e.g., "United States", "Portugal") */
785
797
  country: string | null;
786
- /** 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 */
787
799
  subdivisionCode: string | null;
788
800
  /** Whether the hook is still loading data */
789
801
  isLoading: boolean;
@@ -844,6 +856,8 @@ interface UseDepositQuoteParams {
844
856
  destinationTokenAddress: string;
845
857
  /** When true, inflates source amount by expected slippage. Typically set by checkout flows. */
846
858
  adjustForSlippage?: boolean;
859
+ /** When true and both tokens are stablecoins, returns a 1:1 quote without swap provider. */
860
+ stablecoinParity?: boolean;
847
861
  enabled?: boolean;
848
862
  }
849
863
  /**
@@ -890,7 +904,7 @@ interface UseSupportedDepositTokensOptions {
890
904
  destination_token_address?: string;
891
905
  destination_chain_id?: string;
892
906
  destination_chain_type?: string;
893
- product_type?: "deposit" | "payment";
907
+ product_type?: ProductType;
894
908
  }
895
909
  /**
896
910
  * Hook to fetch supported deposit tokens with caching and deduplication via react-query.
@@ -1215,4 +1229,4 @@ declare function cn(...inputs: ClassValue[]): string;
1215
1229
  */
1216
1230
  declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
1217
1231
 
1218
- 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,11 +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;
278
287
  /** Product context sent to the API — "deposit" (default) or "payment". */
279
- productType?: "deposit" | "payment";
288
+ productType?: ProductType;
280
289
  }
281
- declare function TransferCryptoSingleInput({ userId, publishableKey, clientSecret, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, depositConfirmationMode, onExecutionsChange, onDepositSuccess, onDepositError, wallets: externalWallets, onSourceTokenChange, checkoutQuote, productType, }: 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;
282
291
 
283
292
  interface TransferCryptoDoubleInputProps {
284
293
  userId: string;
@@ -431,22 +440,23 @@ interface DepositDetailContentProps {
431
440
  }
432
441
  declare function DepositDetailContent({ execution, className, variant, }: DepositDetailContentProps): react_jsx_runtime.JSX.Element;
433
442
 
434
- interface DepositPollingUiProps {
443
+ interface ManualDepositButtonProps {
435
444
  depositConfirmationMode: DepositConfirmationMode;
436
- /** Whether polling has been triggered and waiting UI should be visible */
437
445
  showWaitingUi: boolean;
438
- /** Whether at least one execution has been detected (hides the processing card) */
439
- hasExecution: boolean;
440
- /** Called when user clicks "I've made the deposit" in manual mode */
441
446
  onIveDeposited: () => void;
442
447
  }
443
448
  /**
444
- * Deposit polling UI that renders the correct element based on confirmation mode:
445
- * - manual (before click): "I've made the deposit" button
446
- * - auto_ui / manual (after click): "Processing deposit transactions" spinner card
447
- * - 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.
448
455
  */
449
- 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;
450
460
 
451
461
  interface ConfirmingViewProps {
452
462
  isConfirming: boolean;
@@ -652,6 +662,8 @@ interface WithdrawConfirmingViewProps {
652
662
  }
653
663
  declare function WithdrawConfirmingView({ txInfo, executions, onClose, onViewTracker, }: WithdrawConfirmingViewProps): react_jsx_runtime.JSX.Element;
654
664
 
665
+ declare const HYPERCORE_CHAIN_ID = "1337";
666
+
655
667
  type DetectedWallet = {
656
668
  name: string;
657
669
  address: string;
@@ -678,7 +690,7 @@ declare function sendSolanaWithdraw(params: {
678
690
  amountBaseUnit: string;
679
691
  publishableKey: string;
680
692
  }): Promise<string>;
681
- declare const HYPERCORE_CHAIN_ID = "1337";
693
+
682
694
  declare function isHypercoreChain(chainId: string): boolean;
683
695
  declare function sendHypercoreWithdraw(params: {
684
696
  provider: EvmWalletProvider;
@@ -779,11 +791,11 @@ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrim
779
791
  interface AllowedCountryResult {
780
792
  /** Whether the user is in an allowed country/subdivision. null while loading. */
781
793
  isAllowed: boolean | null;
782
- /** 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") */
783
795
  alpha2: string | null;
784
796
  /** Full country name (e.g., "United States", "Portugal") */
785
797
  country: string | null;
786
- /** 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 */
787
799
  subdivisionCode: string | null;
788
800
  /** Whether the hook is still loading data */
789
801
  isLoading: boolean;
@@ -844,6 +856,8 @@ interface UseDepositQuoteParams {
844
856
  destinationTokenAddress: string;
845
857
  /** When true, inflates source amount by expected slippage. Typically set by checkout flows. */
846
858
  adjustForSlippage?: boolean;
859
+ /** When true and both tokens are stablecoins, returns a 1:1 quote without swap provider. */
860
+ stablecoinParity?: boolean;
847
861
  enabled?: boolean;
848
862
  }
849
863
  /**
@@ -890,7 +904,7 @@ interface UseSupportedDepositTokensOptions {
890
904
  destination_token_address?: string;
891
905
  destination_chain_id?: string;
892
906
  destination_chain_type?: string;
893
- product_type?: "deposit" | "payment";
907
+ product_type?: ProductType;
894
908
  }
895
909
  /**
896
910
  * Hook to fetch supported deposit tokens with caching and deduplication via react-query.
@@ -1215,4 +1229,4 @@ declare function cn(...inputs: ClassValue[]): string;
1215
1229
  */
1216
1230
  declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
1217
1231
 
1218
- 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 };